Dynamic Part Demonstration: This part handler is being provided by IBM for several purposes: 1) For use in demos of OpenDoc and its capabilities 2) As sample source code demonstrating various programming techniques involved in developing OpenDoc part handlers 3) As an example of the cross-platform programming capabilities of OpenDoc. This part handler demonstrates various combinations of shear and rotation controlled by menu selections. It may be used either as a stand-alone application (as its own root part), or as a component of a larger document (when embedded within another part handler). How to Build: To build this part you will need the OpenDoc Release 1.1 toolkit. From the dynamicp source directory run nmake To register the part with OpenDoc, run nmake ForceRegistry Prerequisites: 1) SimplePart's runtime, iodsimpl.dll. 2) This code uses IBM OpenClass, and so must be compiled with IBM's VisualAge C++ compiler. Usage: To run the DynamicPart as a root part, issue the command: docshell -k DynamicPart Once the part is loaded, select the menu item "Dynamic Part->Rotation->Start" to make the part turn within its frame. Selecting the menu item "Dynamic Part->Rotation->Direction->Counter clockwise" will make the part turn in the opposite direction. You can similarly affect "Horizontal Shear" and "Vertical Shear". The menu item "Dynamic Part->Reset" will return the part to its initial state and orientation. To change the text that is scrolled, copy the new text to the clipboard and select Edit->Paste for the DynamicPart. Design Notes: This part subclasses from SimplePart. On Windows, this part also uses a modified version of the Focuslib utilities. The modified source is called "myfocus.cpp". From a programming standpoint, this part handler demonstrates the following features: - Platform independence using IBMs OpenClass libraries - OpenDoc transformation matrices, - Timers, - Window Clipping, - Frame Negotiation, - Menus, - Event Handling, and - Persistence. Known Restrictions: Some combinations of angles for Rotation, Horizontal shear and Vertical Shear will raise an exception within the part handler. On Windows, the DOCSHELL will simply exit without saving changes. OS/2 will first display a message box with a warning message. On Windows NT and 95, the Horizontal Shear and Vertical Shear menus are not installed. To install them, remove the #ifdef _PLATFORM_OS2_ statements and the corresponding #endifs from INSTLMNU.C and MADJMENU.C in DYNAMICP\BMENU, and recompile the part. On Windows95 rotating and shearing are not supported. Selecting the rotation menu item will cause the contents to be scaled and translated instead. The bitmap does not print on Windows NT and 95.