═══ 1. 2D Graphic Classes ═══ Provide support for the 2D graphic elements used by the applications you develop. ═══ 1.1. Class Hierarchy ═══ IBase ├─IGraphicBundle ├─IHandle │ └─IRegionHandle ├─ITransformMatrix └─IVBase ├─IGList::Cursor ├─IFont::FaceNameCursor ├─IFont ├─IGraphic │ ├─IG3PointArc │ ├─IGArc │ ├─IGBitmap │ ├─IGEllipse │ ├─IGLine │ ├─IGList │ ├─IGPie │ │ └─IGChord │ ├─IGPolyline │ │ └─IGPolygon │ ├─IGRectangle │ ├─IGRegion │ └─IGString ├─IGraphicContext └─IFont::PointSizeCursor ═══ 1.2. IFont ═══ Description Derivation Constructors Public Functions Protected Data Nested Types To close all the panels in a chapter, double click on this panel's system menu. ═══ Derivation - IFont ═══ IBase │ IVBase │ IFont Inherited by none. ═══ Class Description - IFont ═══ ifont.hpp Objects of the IFont class manage the use of fonts. Use these objects to select a font through the IFont functions. You can also use the font dialog to:  Get font information  Set the font when drawing text IFont attempts to match the requested font. If it cannot find an exact match, IFont uses the nearest match. Note: An IFont object represents a particular font that is available on the system. It does not represent:  A font actually being used by a control  The currently selected font for a presentation space IWindow::setFont changes the font used to draw text in a control. beginUsingFont causes all subsequent text drawn to the specified presentation space to be in the font represented by the IFont object. You can use beginUsingFont in conjunction with an IPaintHandler object. Portability Considerations If you are porting an OS/2 Presentation Manager program to Motif, be aware that the font names vary between these systems. The only fonts that you can be reasonably sure of finding on both Motif and Presentation Manager are Courier and Helvetica. On either system, if you try to construct an IFont object for a nonexistent font, you will get Courier as the default font. Presentation Manager Information Some of the set and use functions (such as setCharHeight and useBitmapOnly) accept an optional parameter of type IPresSpaceHandle. If you are are using IFont to represent printer fonts, you should provide this parameter. If you do not specify a presentation space, IFont uses the presentation space of the desktop. Motif Information Some of the set and use functions, such as setCharHeight and useBitmapOnly, accept an optional parameter of type IPresSpaceHandle. Because the AIX version of IFont does not support printer fonts, there is no need to supply the optional IPresSpaceHandle parameter. The functions in this class that refer to vector fonts use scalable fonts in the X/Motif environment. ═══ Public Functions - IFont ═══ Accessing Presentation Manager Structures Related to Font fattrs fontmetrics Constructors IFont operator = ~IFont Cursor-Related Functions faceNameAt pointSizeAt Drawing Functions beginUsingFont endUsingFont Font Types isBitmapOnly isNonPropOnly isVectorOnly useBitmapOnly useNonPropOnly useVectorOnly Geometry Accessors avgCharWidth avgLowercase avgUppercase charWidth externalLeading internalLeading maxAscender maxCharHeight maxDescender maxLowercaseAscender maxLowercaseDescender maxSize maxUppercaseSize minTextWidth subscriptOffset subscriptSize superscriptOffset superscriptSize textLines textWidth Getting Font Attributes isBitmap isFixed name pointSize Getting Font Style isBold isItalic isOutline isStrikeout isUnderscore Setting Font Direction setDirection Setting Font Style setAllEmphasis setBold setItalic setOutline setStrikeout setUnderscore Setting General Font Attributes setName setPointSize Setting Vector Font Attributes setCharHeight setCharSize setCharWidth setFontAngle setFontShear Setting Window Font setWindowFont Inherited Members IVBase asDebugInfo asString IBase asDebugInfo asString messageFile messageText setMessageFile version ═══ IFont - Accessing Presentation Manager Structures Related to Font ═══ Use these members to access Presentation Manager structures. ═══ IFont - Constructors ═══ Use these members to construct, copy, assign and destroy objects of this class. ═══ IFont - Cursor-Related Functions ═══ Use these members with a cursor to retrieve font information. ═══ IFont - Drawing Functions ═══ Use these members to draw text using a font. ═══ IFont - Font Types ═══ Use these members to query and set the types of fonts used by the IFont object. ═══ IFont - Geometry Accessors ═══ Use these members to query information about the size of the font. ═══ IFont - Getting Font Attributes ═══ Use these members to query the attributes of the current font. ═══ IFont - Getting Font Style ═══ Use these members to query the appearance of a font. ═══ IFont - Setting Font Direction ═══ Use these members to set the direction that the font is drawn in. ═══ IFont - Setting Font Style ═══ Use these members to change the appearance of a font. ═══ IFont - Setting General Font Attributes ═══ Use these members to set the attributes of any font being managed by the IFont class. ═══ IFont - Setting Vector Font Attributes ═══ Use these members to set the attributes of vector fonts. These members have no effect when applied to a bitmap font. ═══ IFont - Setting Window Font ═══ Use these members to apply the current font to an IWindow ═══ Protected Data - IFont ═══ Inherited Members IBase recoverable unrecoverable ═══ 1.2.1. IFont::avgCharWidth ═══ Returns the average character's width. public: unsigned long avgCharWidth() const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │Yes │ └────────────┴────────────┘ Used in samples: Tool Bar Sample 1: tbar1.cpp Tool Bar Sample 2: tbar2.cpp Lancelot - A Valiant Example: lmainwin.cpp ═══ 1.2.2. IFont::avgLowercase ═══ Returns the nominal height above the baseline for lowercase characters. public: unsigned long avgLowercase() const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │Yes │ └────────────┴────────────┘ ═══ 1.2.3. IFont::avgUppercase ═══ Returns the height of the Em square. This corresponds to the point size. public: unsigned long avgUppercase() const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │Yes │ └────────────┴────────────┘ Used in sample: Lancelot - A Valiant Example: linfonb.cpp ═══ 1.2.4. IFont::beginUsingFont ═══ Sets the presentation space to use the font. public: virtual IFont& beginUsingFont( const IPresSpaceHandle& presSpaceHandle); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │Yes │ └────────────┴────────────┘ Exceptions ┌────────────────────┬────────────────────────────────────────┐ │IAccessError │The operating system is unable to create│ │ │or set the font. │ └────────────────────┴────────────────────────────────────────┘ ═══ 1.2.5. IFont::charWidth ═══ Returns the width of a specific single-byte character. c A character. You can only specify SBCS characters. public: unsigned long charWidth(char c) const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │Yes │ └────────────┴────────────┘ Presentation Manager: This member function is not DBCS-enabled. Motif: This member function is not MBCS-enabled. ═══ 1.2.6. IFont::endUsingFont ═══ Restores the presentation space to the default font. public: virtual IFont& endUsingFont( const IPresSpaceHandle& presSpaceHandle); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │Yes │ └────────────┴────────────┘ ═══ 1.2.7. IFont::externalLeading ═══ Returns the amount of white space that should appear between adjacent rows of text. public: unsigned long externalLeading() const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │Yes │ └────────────┴────────────┘ ═══ 1.2.8. IFont::faceNameAt ═══ Queries a font face name for the current position of the specified cursor. public: static IString faceNameAt( const FaceNameCursor& faceNameCursor); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Used in samples: Tool Bar Sample 1: tbar1.cpp Tool Bar Sample 2: tbar2.cpp ═══ 1.2.9. IFont::fattrs ═══ Returns a pointer to the font's OS/2 Presentation Manager FATTRS structure. public: const struct _FATTRS* fattrs() const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.2.10. IFont::fontmetrics ═══ Returns a pointer to the font's OS/2 Presentation Manager FONTMETRICS structure. public: const struct _FONTMETRICS* fontmetrics() const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.2.11. IFont::IFont ═══ Use these members to construct, copy, assign and destroy objects of this class. Overload 1 public: IFont(const IFont& fntCopy); You can construct objects of this class from another IFont object. The parameter for this constructor is: fntCopy The font you want to copy. Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │Yes │ └────────────┴────────────┘ Used in sample: 2D Graphics Sample: 2d-draw.cpp Overload 2 public: IFont(const IWindow* window = 0); You can construct objects of this class using a window's font. This constructs a font from the current font being used in the window. Note: In OS/2, if the IWindow* is a multiple-line edit field (MLE), Presentation Manager returns the desktop presentation space instead of the MLE presentation space. In doing so, a different font is displayed. The parameter for this constructor is: window The window to query for the font to use. If you do not specify a window, the system default font is used. In the AIX release, if you do not specify a window, the default font of the current display is used. Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │Yes │ └────────────┴────────────┘ Used in samples: Hello World Sample - Version 3: ahellow3.cpp Hello World Sample - Version 4: ahellow4.cpp Hello World Sample - Version 5: ahellow5.cpp Hello World Sample - Version 6: ahellow6.cpp Multi-Line Entry Field Sample: amle.cpp Overload 3 public: IFont( const char* faceName, unsigned long pointSize = 0, Boolean useFixedFont = false, Boolean useVectorFont = false, const IPresSpaceHandle& presSpaceHandle = IPresSpaceHandle ( )); You can construct objects of this class by specifying the name and size of the font desired, along with additional parameters. The parameters for this constructor are the following: faceName The face name of the font you want. pointSize The specific point size you want for the font. useFixedFont Specify whether you want the font fixed or proportional. The default is proportional. useVectorFont Specify whether you want a vector or bit-map font. The default is a bit-map font. presSpaceHandle The presentation space handle. Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │Yes │ └────────────┴────────────┘ Used in samples: Notebook Sample: notebook.cpp DDE Client Sample: aclient.cpp Multimedia MMREMOTE Sample: mmremote.cpp Multimedia MMSTEREO Sample: mltcd.cpp Overload 4 public: IFont(const IPresSpaceHandle& presSpaceHandle); You can construct objects of this class using a presentation space. This constructs a font corresponding to the font used in the specified presentation space. The parameter for this constructor is: presSpaceHandle The presentation space handle. Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │Yes │ └────────────┴────────────┘ Used in sample: Tool Bar Sample 2: tbar2.cpp ═══ 1.2.12. IFont::internalLeading ═══ Returns the approximate position of the top of a row of characters. You can use this value to position the first line of a block of text by: 1. Subtracting the internalLeading value from the value returned by maxAscender. 2. Positioning the baseline of the first line of text below the item (such as text or graphics) that is above the text. Use the value you obtained in step 1 to do so. Note: There is no guarantee that the positioned characters will not write over the item that is above them. Test to see if anything is over-written and allocate additional space, if necessary. public: unsigned long internalLeading() const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │Yes │ └────────────┴────────────┘ ═══ 1.2.13. IFont::isBitmap ═══ If the IFont object uses a bit-map font, true is returned. If the IFont object uses a vector font, false is returned. public: Boolean isBitmap() const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │Yes │ └────────────┴────────────┘ ═══ 1.2.14. IFont::isBitmapOnly ═══ If the IFont object uses only bit-map fonts, true is returned. public: Boolean isBitmapOnly() const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │Yes │ └────────────┴────────────┘ ═══ 1.2.15. IFont::isBold ═══ If the IFont object uses a font that is bold, true is returned. public: Boolean isBold() const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │Yes │ └────────────┴────────────┘ Used in samples: Hello World Sample - Version 6: ahellow6.cpp Tool Bar Sample 2: tbar2.cpp ═══ 1.2.16. IFont::isFixed ═══ If the IFont object uses a fixed-size (that is, non-proportional) font, true is returned. public: Boolean isFixed() const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │Yes │ └────────────┴────────────┘ ═══ 1.2.17. IFont::isItalic ═══ If the IFont object uses an italicized font, true is returned. public: Boolean isItalic() const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │Yes │ └────────────┴────────────┘ Used in samples: Hello World Sample - Version 6: ahellow6.cpp Tool Bar Sample 2: tbar2.cpp ═══ 1.2.18. IFont::isNonPropOnly ═══ If the IFont object uses only non-proportional fonts, true is returned. public: Boolean isNonPropOnly() const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │Yes │ └────────────┴────────────┘ Used in sample: Hello World Sample - Version 6: ahellow6.cpp ═══ 1.2.19. IFont::isOutline ═══ If the IFont object uses a font that appears hollow, true is returned. public: Boolean isOutline() const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │Ignored │ └────────────┴────────────┘ ═══ 1.2.20. IFont::isStrikeout ═══ If the IFont object uses a font with a line drawn through the characters, true is returned. public: Boolean isStrikeout() const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │Ignored │ └────────────┴────────────┘ ═══ 1.2.21. IFont::isUnderscore ═══ If the IFont object uses a font with a line drawn under the characters, true is returned. public: Boolean isUnderscore() const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │Ignored │ └────────────┴────────────┘ Used in sample: Tool Bar Sample 2: tbar2.cpp ═══ 1.2.22. IFont::isVectorOnly ═══ If the IFont object uses only vector fonts, true is returned. public: Boolean isVectorOnly() const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │Yes │ └────────────┴────────────┘ Used in sample: Hello World Sample - Version 6: ahellow6.cpp ═══ 1.2.23. IFont::maxAscender ═══ Returns the height of the largest ascender above the baseline. public: unsigned long maxAscender() const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │Yes │ └────────────┴────────────┘ ═══ 1.2.24. IFont::maxCharHeight ═══ Returns the height portion of IFont::maxSize. public: unsigned long maxCharHeight() const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │Yes │ └────────────┴────────────┘ Used in samples: Hello World Sample - Version 3: ahellow3.cpp Hello World Sample - Version 4: ahellow4.cpp Hello World Sample - Version 5: ahellow5.cpp Hello World Sample - Version 6: ahellow6.cpp Tool Bar Sample 1: tbar1.cpp ═══ 1.2.25. IFont::maxDescender ═══ Returns the height of the largest descender below the baseline. public: unsigned long maxDescender() const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │Yes │ └────────────┴────────────┘ ═══ 1.2.26. IFont::maxLowercaseAscender ═══ Returns the height of the largest lowercase ascender. public: unsigned long maxLowercaseAscender() const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │Yes │ └────────────┴────────────┘ ═══ 1.2.27. IFont::maxLowercaseDescender ═══ Returns the height of the largest lowercase descender. public: unsigned long maxLowercaseDescender() const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │Yes │ └────────────┴────────────┘ ═══ 1.2.28. IFont::maxSize ═══ Returns the maximum width and height. public: ISize maxSize() const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │Yes │ └────────────┴────────────┘ ═══ 1.2.29. IFont::maxUppercaseSize ═══ Returns the maximum size for an uppercase character. public: ISize maxUppercaseSize() const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │Yes │ └────────────┴────────────┘ ═══ 1.2.30. IFont::minTextWidth ═══ Returns the width of the widest word. line Pointer to character string. You can only specify an SBCS string. public: unsigned long minTextWidth(const char* line) const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │Yes │ └────────────┴────────────┘ Presentation Manager: This member function is not DBCS-enabled. Motif: This member function is not MBCS-enabled. ═══ 1.2.31. IFont::name ═══ Returns the face name of the font. public: IString name() const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │Yes │ └────────────┴────────────┘ Used in samples: Hello World Sample - Version 6: ahellow6.cpp Tool Bar Sample 2: tbar2.cpp ═══ 1.2.32. IFont::operator = ═══ Assigns the value of one font object to another. public: IFont& operator =(const IFont& rhs); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │Yes │ └────────────┴────────────┘ Used in samples: Tool Bar Sample 2: tbar2.cpp 2D Graphics Sample: 2d-draw.cpp ═══ 1.2.33. IFont::pointSize ═══ Returns the point size of the font. public: unsigned long pointSize() const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │Yes │ └────────────┴────────────┘ Used in sample: Hello World Sample - Version 6: ahellow6.cpp ═══ 1.2.34. IFont::pointSizeAt ═══ Queries the point size of a font for the current position of the specified cursor. public: static long pointSizeAt( const PointSizeCursor& pointSizeCursor); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.2.35. IFont::setAllEmphasis ═══ If you specify true, all of the styles are set on. If you specify false, all of the styles are set off. public: virtual IFont& setAllEmphasis(Boolean turnOn = true); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │Yes │ └────────────┴────────────┘ ═══ 1.2.36. IFont::setBold ═══ Changes to bold font. public: virtual IFont& setBold(Boolean bold = true); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │Yes │ └────────────┴────────────┘ Used in samples: Hello World Sample - Version 6: ahellow6.cpp Tool Bar Sample 1: tbar1.cpp Tool Bar Sample 2: tbar2.cpp ═══ 1.2.37. IFont::setCharHeight ═══ Sets the height of the characters of a vector font. This function has no effect when applied to a bit-map font. public: virtual IFont& setCharHeight( unsigned long height, const IPresSpaceHandle& presSpaceHandle = IPresSpaceHandle ( )); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │Ignored │ └────────────┴────────────┘ ═══ 1.2.38. IFont::setCharSize ═══ Sets the size of the characters of a vector font. This function has no effect when applied to a bit-map font. public: virtual IFont& setCharSize( const ISize& size, const IPresSpaceHandle& presSpaceHandle = IPresSpaceHandle ( )); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │Ignored │ └────────────┴────────────┘ ═══ 1.2.39. IFont::setCharWidth ═══ Sets the width of the characters of a vector font. This function has no effect when applied to a bit-map font. public: virtual IFont& setCharWidth( unsigned long width, const IPresSpaceHandle& presSpaceHandle = IPresSpaceHandle ( )); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │Ignored │ └────────────┴────────────┘ ═══ 1.2.40. IFont::setDirection ═══ Sets the direction to draw the font in. direction Use the enumeration Direction to specify the direction. public: virtual IFont& setDirection(Direction direction); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │Ignored │ └────────────┴────────────┘ Motif: In the AIX release, the system locale information determines the font direction. ═══ 1.2.41. IFont::setFontAngle ═══ Sets the angle to draw the vector font with. This function has no effect when applied to a bit-map font. public: virtual IFont& setFontAngle( const IPoint& point, const IPresSpaceHandle& presSpaceHandle = IPresSpaceHandle ( )); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │Ignored │ └────────────┴────────────┘ ═══ 1.2.42. IFont::setFontShear ═══ Sets the amount of shear to apply to the vector font. This function has no effect when applied to a bit-map font. public: virtual IFont& setFontShear( const IPoint& point, const IPresSpaceHandle& presSpaceHandle = IPresSpaceHandle ( )); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │Ignored │ └────────────┴────────────┘ ═══ 1.2.43. IFont::setItalic ═══ Changes to italic font. public: virtual IFont& setItalic(Boolean italics = true); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │Yes │ └────────────┴────────────┘ Used in samples: Hello World Sample - Version 6: ahellow6.cpp Tool Bar Sample 1: tbar1.cpp Tool Bar Sample 2: tbar2.cpp ═══ 1.2.44. IFont::setName ═══ Sets the font's face name. public: virtual IFont& setName( const char* name, const IPresSpaceHandle& presSpaceHandle = IPresSpaceHandle ( )); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │Yes │ └────────────┴────────────┘ Used in samples: Hello World Sample - Version 6: ahellow6.cpp Tool Bar Sample 1: tbar1.cpp Tool Bar Sample 2: tbar2.cpp ═══ 1.2.45. IFont::setOutline ═══ Causes the font to appear hollow. public: virtual IFont& setOutline(Boolean outline = true); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │Ignored │ └────────────┴────────────┘ ═══ 1.2.46. IFont::setPointSize ═══ Sets the font's point size. public: virtual IFont& setPointSize( unsigned long size, const IPresSpaceHandle& presSpaceHandle = IPresSpaceHandle ( )); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │Yes │ └────────────┴────────────┘ Used in sample: Hello World Sample - Version 6: ahellow6.cpp ═══ 1.2.47. IFont::setStrikeout ═══ Draws a line through the characters. public: virtual IFont& setStrikeout(Boolean strikeout = true); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │Ignored │ └────────────┴────────────┘ ═══ 1.2.48. IFont::setUnderscore ═══ Draws a line under the characters. public: virtual IFont& setUnderscore(Boolean underscore = true); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │Ignored │ └────────────┴────────────┘ Used in samples: Tool Bar Sample 1: tbar1.cpp Tool Bar Sample 2: tbar2.cpp ═══ 1.2.49. IFont::setWindowFont ═══ Sets the font for the specified IWindow to the current font. If the font is successfully changed, true is returned. public: virtual Boolean setWindowFont(IWindow* window) const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │Yes │ └────────────┴────────────┘ Exceptions ┌────────────────────┬────────────────────────────────────────┐ │IAccessError │The operating system is unable to set │ │ │the font for the window. │ └────────────────────┴────────────────────────────────────────┘ Used in samples: Multimedia MMREMOTE Sample: mmremote.cpp Multimedia MMSTEREO Sample: mltcd.cpp Multimedia MMSTEREO Sample: mltvid.cpp Multimedia MMSTEREO Sample: mltwave.cpp Multimedia MMSTEREO Sample: mmstereo.cpp ═══ 1.2.50. IFont::subscriptOffset ═══ Returns the recommended size of the baseline X-Y offset for subscripts. public: ISize subscriptOffset() const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │Yes │ └────────────┴────────────┘ ═══ 1.2.51. IFont::subscriptSize ═══ Returns the recommended size for subscripts. public: ISize subscriptSize() const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │Yes │ └────────────┴────────────┘ ═══ 1.2.52. IFont::superscriptOffset ═══ Returns the recommended size of the baseline X-Y offset for superscripts. public: ISize superscriptOffset() const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │Yes │ └────────────┴────────────┘ ═══ 1.2.53. IFont::superscriptSize ═══ Returns the recommended size for superscripts. public: ISize superscriptSize() const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │Yes │ └────────────┴────────────┘ ═══ 1.2.54. IFont::textLines ═══ Returns the number of lines required to fit the specified text using the specified maximum line width. text Pointer to character string. You can only specify an SBCS string. lineWidth The maximum line width. public: unsigned long textLines( const char* text, unsigned long lineWidth) const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │Yes │ └────────────┴────────────┘ Presentation Manager: This member function is not DBCS-enabled. Motif: This member function is not MBCS-enabled. ═══ 1.2.55. IFont::textWidth ═══ Returns the width of the specified string. Warning: This member function is not DBCS-enabled. text Pointer to character string. You can only specify an SBCS string. public: unsigned long textWidth(const char* text) const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │Yes │ └────────────┴────────────┘ Presentation Manager: This member function is not DBCS-enabled. Motif: This member function is not MBCS-enabled. ═══ 1.2.56. IFont::useBitmapOnly ═══ Sets whether the IFont object uses only bit-map fonts. public: virtual IFont& useBitmapOnly( Boolean bitmapOnly = true, const IPresSpaceHandle& presSpaceHandle = IPresSpaceHandle ( )); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │Yes │ └────────────┴────────────┘ ═══ 1.2.57. IFont::useNonPropOnly ═══ Sets whether the IFont object uses only non-proportional fonts. public: virtual IFont& useNonPropOnly( Boolean nonProportionalOnly = true, const IPresSpaceHandle& presSpaceHandle = IPresSpaceHandle ( )); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │Yes │ └────────────┴────────────┘ Used in sample: Hello World Sample - Version 6: ahellow6.cpp ═══ 1.2.58. IFont::useVectorOnly ═══ Sets whether the IFont object uses only vector fonts. public: virtual IFont& useVectorOnly( Boolean vectorOnly = true, const IPresSpaceHandle& presSpaceHandle = IPresSpaceHandle ( )); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │Yes │ └────────────┴────────────┘ Used in samples: Hello World Sample - Version 6: ahellow6.cpp 2D Graphics Sample: 2d-menu.cpp ═══ 1.2.59. IFont::~IFont ═══ public: virtual ~IFont(); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │Yes │ └────────────┴────────────┘ ═══ Nested Types - IFont ═══ Classes IFont::FaceNameCursor IFont::PointSizeCursor Enumerations Direction ═══ Enums - Direction ═══ enum Direction { defaultDir, leftToRight, topToBottom, rightToLeft, bottomToTop, leftRight=leftToRight, topBottom=topToBottom, rightLeft=rightToLeft, bottomTop=bottomToTop }; Use these enumerators to specify the direction in which a font is drawn. You can use these enumerators as input to setDirection. defaultDir Draws the font in the default direction. leftRight Draws the font from left to right. topBottom Draws the font from top to bottom. rightLeft Draws the font from right to left. bottomTop Draws the font from bottom to top. Note: The following enumerators are obsolete, use their replacements instead: Obsolete Replacement bottomTop bottomToTop leftRight leftToRight rightLeft rightToLeft topBottom topToBottom ═══ 1.3. IFont::FaceNameCursor ═══ Description Derivation Constructors Public Functions Protected Data Nested Types To close all the panels in a chapter, double click on this panel's system menu. ═══ Derivation - IFont::FaceNameCursor ═══ IBase │ IVBase │ IFont::FaceNameCursor Inherited by none. ═══ Class Description - IFont::FaceNameCursor ═══ ifont.hpp Objects of the IFont::FaceNameCursor nested class iterate over the public and private fonts available for a presentation space. ═══ Public Functions - IFont::FaceNameCursor ═══ Constructors FaceNameCursor ~FaceNameCursor Overrides invalidate isValid setToFirst setToLast setToNext setToPrevious Inherited Members IVBase asDebugInfo asString IBase asDebugInfo asString messageFile messageText setMessageFile version ═══ IFont::FaceNameCursor - Constructors ═══ You can construct and destruct objects of this class. ═══ IFont::FaceNameCursor - Font Types ═══ Enumeration used to specify cursoring through which Font Types. ═══ IFont::FaceNameCursor - Overrides ═══ Use these members to iterate through the available font face names. ═══ Protected Data - IFont::FaceNameCursor ═══ Inherited Members IBase recoverable unrecoverable ═══ 1.3.1. IFont::FaceNameCursor::FaceNameCursor ═══ You can construct objects of this class using a FontType enumerator and a presentation space handle. Both parameters are optional. The FontType enumerator specifies which type you want to cursor through. If you do not specify a presentation space, the desktop presentation space is used. fontType Type of font to cursor through. presSpaceHandle (Optional) Presentation space handle used to query the available fonts. public: FaceNameCursor( FontType fontType = both, const IPresSpaceHandle& presSpaceHandle = IPresSpaceHandle ( )); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Used in samples: Tool Bar Sample 1: tbar1.cpp Tool Bar Sample 2: tbar2.cpp ═══ 1.3.2. IFont::FaceNameCursor::invalidate ═══ Marks the cursor as not valid. public: virtual void invalidate(); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.3.3. IFont::FaceNameCursor::isValid ═══ Returns true if the cursor is valid. public: virtual Boolean isValid() const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Used in samples: Tool Bar Sample 1: tbar1.cpp Tool Bar Sample 2: tbar2.cpp ═══ 1.3.4. IFont::FaceNameCursor::setToFirst ═══ Advances the cursor position to the first face name. public: virtual Boolean setToFirst(); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Used in samples: Tool Bar Sample 1: tbar1.cpp Tool Bar Sample 2: tbar2.cpp ═══ 1.3.5. IFont::FaceNameCursor::setToLast ═══ Advances the cursor position to the last face name. public: virtual Boolean setToLast(); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.3.6. IFont::FaceNameCursor::setToNext ═══ Advances the cursor position to the next face name. public: virtual Boolean setToNext(); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Used in samples: Tool Bar Sample 1: tbar1.cpp Tool Bar Sample 2: tbar2.cpp ═══ 1.3.7. IFont::FaceNameCursor::setToPrevious ═══ Advances the cursor position to the previous face name. public: virtual Boolean setToPrevious(); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.3.8. IFont::FaceNameCursor::~FaceNameCursor ═══ public: virtual ~FaceNameCursor(); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ Nested Types - IFont::FaceNameCursor ═══ Enumerations FontType ═══ Enums - FontType ═══ enum FontType { bitmap, vector, both }; Use this enumeration to specify which types of fonts (bit-map, vector, or both) you want to iterate through. ═══ 1.4. IFont::PointSizeCursor ═══ Description Derivation Constructors Public Functions Protected Data To close all the panels in a chapter, double click on this panel's system menu. ═══ Derivation - IFont::PointSizeCursor ═══ IBase │ IVBase │ IFont::PointSizeCursor Inherited by none. ═══ Class Description - IFont::PointSizeCursor ═══ ifont.hpp Objects of the IFont::PointSizeCursor nested class iterate over the point sizes available for a font. ═══ Public Functions - IFont::PointSizeCursor ═══ Constructors PointSizeCursor ~PointSizeCursor Overrides invalidate isValid setToFirst setToLast setToNext setToPrevious Inherited Members IVBase asDebugInfo asString IBase asDebugInfo asString messageFile messageText setMessageFile version ═══ IFont::PointSizeCursor - Constructors ═══ You can construct and destruct objects of this class. ═══ IFont::PointSizeCursor - Overrides ═══ Use these members to iterate through the available point sizes for a given font. ═══ Protected Data - IFont::PointSizeCursor ═══ Inherited Members IBase recoverable unrecoverable ═══ 1.4.1. IFont::PointSizeCursor::invalidate ═══ Marks the cursor as not valid. public: virtual void invalidate(); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.4.2. IFont::PointSizeCursor::isValid ═══ Returns true if the cursor is valid. public: virtual Boolean isValid() const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.4.3. IFont::PointSizeCursor::PointSizeCursor ═══ You can construct objects of this class from the font face name and a presentation space handle. The presentation space handle is optional. If you do not specify it, the desktop presentation space is used. facename Font face name. presSpaceHandle (Optional) Presentation space handle used to query the point sizes. public: PointSizeCursor( const char* facename, const IPresSpaceHandle& presSpaceHandle = IPresSpaceHandle ( )); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.4.4. IFont::PointSizeCursor::setToFirst ═══ Advances the cursor position to the first point size. public: virtual Boolean setToFirst(); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.4.5. IFont::PointSizeCursor::setToLast ═══ Advances the cursor position to the last point size. public: virtual Boolean setToLast(); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.4.6. IFont::PointSizeCursor::setToNext ═══ Advances the cursor position to the next point size. public: virtual Boolean setToNext(); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.4.7. IFont::PointSizeCursor::setToPrevious ═══ Advances the cursor position to the previous point size. public: virtual Boolean setToPrevious(); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.4.8. IFont::PointSizeCursor::~PointSizeCursor ═══ public: virtual ~PointSizeCursor(); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.5. IG3PointArc ═══ Description Derivation Constructors Public Functions Protected Functions Protected Data To close all the panels in a chapter, double click on this panel's system menu. ═══ Derivation - IG3PointArc ═══ IBase │ IVBase │ IGraphic │ IG3PointArc Inherited by none. ═══ Class Description - IG3PointArc ═══ igarc.hpp The IG3PointArc class is a graphic object class that allows you to create two-dimensional arcs by specifying three points the arc passes through. Unless you apply a transform to objects of this class, the three points will specify an arc of a circle. When you draw an IG3PointArc, the following graphic bundle attributes affect its appearance:  Pen color  Mix mode  Pen width  Pen type  Pen ending style ═══ Public Functions - IG3PointArc ═══ Comparisons operator != operator == Constructors IG3PointArc operator = ~IG3PointArc Data Access endingPoint intermediatePoint setEndingPoint setIntermediatePoint setStartingPoint startingPoint Drawing drawOn Inherited Members IGraphic boundingRect contains drawOn graphicBundle hasGraphicBundle hasTransformMatrix id isHitSelectable isHitSelected removeGraphicBundle resetTransformMatrix rotateBy scaleBy setGraphicBundle setHitSelectable setHitSelected setId setTransformMatrix setTransformMethod transformMatrix transformMethod translateBy IVBase asDebugInfo asString IBase asDebugInfo asString messageFile messageText setMessageFile version ═══ IG3PointArc - Comparisons ═══ Use these members to compare two IG3PointArc objects. ═══ IG3PointArc - Constructors ═══ You can construct, destruct, copy, and assign objects of the this class. ═══ IG3PointArc - Data Access ═══ Use these members to set and query the points that the arc passes through. ═══ IG3PointArc - Drawing ═══ Use these members to render the graphic object. ═══ Protected Functions - IG3PointArc ═══ Inherited Members IGraphic operator != operator = operator == ═══ Protected Data - IG3PointArc ═══ Inherited Members IBase recoverable unrecoverable ═══ 1.5.1. IG3PointArc::drawOn ═══ Draws the arc on the device associated with the graphic context. public: virtual IG3PointArc& drawOn( IGraphicContext& graphicContext); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.5.2. IG3PointArc::endingPoint ═══ Returns the ending point of the arc. public: virtual IPoint endingPoint() const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.5.3. IG3PointArc::IG3PointArc ═══ You can construct, destruct, copy, and assign objects of the this class. Overload 1 public: IG3PointArc(const IG3PointArc& arc); Use this function to construct a IG3PointArc object from another IG3PointArc object. arc Reference to another IG3PointArc object. Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Overload 2 public: IG3PointArc( const IPoint& starting, const IPoint& intermediate, const IPoint& ending); Use this function to construct a IG3PointArc object from three points. The first point defines the starting location of the arc, the second point defines an intermediate point along the arc, and the last point defines the end point of the arc. starting First point of the arc. intermediate Point on the arc between the starting and ending points. ending End point of the arc. Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Used in sample: 2D Graphics Sample: 2d-draw.cpp ═══ 1.5.4. IG3PointArc::intermediatePoint ═══ Returns the intermediate point of the arc. public: virtual IPoint intermediatePoint() const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.5.5. IG3PointArc::operator != ═══ Returns true if the arcs are not identical (includes the graphic bundle attributes and the transform matrix). public: IBase::Boolean operator !=(const IG3PointArc& arc) const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.5.6. IG3PointArc::operator = ═══ Use this function to assign a IG3PointArc object to another IG3PointArc object. public: IG3PointArc& operator =(const IG3PointArc& arc); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.5.7. IG3PointArc::operator == ═══ Returns true if the arcs are identical (includes the graphic bundle attributes and the transform matrix). public: IBase::Boolean operator ==(const IG3PointArc& arc) const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.5.8. IG3PointArc::setEndingPoint ═══ Sets the ending point of the arc. public: virtual IG3PointArc& setEndingPoint(const IPoint& point); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Used in sample: 2D Graphics Sample: 2d-draw.cpp ═══ 1.5.9. IG3PointArc::setIntermediatePoint ═══ Sets the intermediate point of the arc. public: virtual IG3PointArc& setIntermediatePoint( const IPoint& point); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Used in sample: 2D Graphics Sample: 2d-draw.cpp ═══ 1.5.10. IG3PointArc::setStartingPoint ═══ Sets the starting point of the arc. public: virtual IG3PointArc& setStartingPoint(const IPoint& point); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.5.11. IG3PointArc::startingPoint ═══ Returns the starting point of the arc. public: virtual IPoint startingPoint() const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Used in sample: 2D Graphics Sample: 2d-draw.cpp ═══ 1.5.12. IG3PointArc::~IG3PointArc ═══ public: virtual ~IG3PointArc(); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.6. IGArc ═══ Description Derivation Constructors Public Functions Protected Functions Protected Data Nested Types To close all the panels in a chapter, double click on this panel's system menu. ═══ Derivation - IGArc ═══ IBase │ IVBase │ IGraphic │ IGArc Inherited by none. ═══ Class Description - IGArc ═══ igarc.hpp The IGArc class is a graphic object class that allows you to create two-dimensional arcs by specifying a bounding rectangle, a start angle and a sweep angle. The rectangle you specify in the constructor is the enclosing rectangle of an ellipse. The start angle and sweep angles specify an arc section of this ellipse. When you draw an IGArc, the following graphic bundle attributes affect its appearance:  Pen color  Mix mode  Pen width  Pen type  Pen ending style ═══ Public Functions - IGArc ═══ Comparisons operator != operator == Constructors IGArc operator = ~IGArc Direction direction setDirection Drawing drawOn Enclosing Rectangle enclosingRect setEnclosingRect Start and Sweep Angles setStartAngle setSweepAngle startAngle sweepAngle Inherited Members IGraphic boundingRect contains drawOn graphicBundle hasGraphicBundle hasTransformMatrix id isHitSelectable isHitSelected removeGraphicBundle resetTransformMatrix rotateBy scaleBy setGraphicBundle setHitSelectable setHitSelected setId setTransformMatrix setTransformMethod transformMatrix transformMethod translateBy IVBase asDebugInfo asString IBase asDebugInfo asString messageFile messageText setMessageFile version ═══ IGArc - Comparisons ═══ Use these members to compare two IGArc objects. ═══ IGArc - Constructors ═══ You can construct, destruct, copy, and assign objects of this class. ═══ IGArc - Direction ═══ Use these members to set and query the direction that the arc is drawn in. The direction controls whether the sweep angle of the arc is drawn in a clockwise or counterclockwise direction. ═══ IGArc - Drawing ═══ Use these members to render the graphic object. ═══ IGArc - Enclosing Rectangle ═══ Use these members to set and query the enclosing rectangle of an ellipse. The arc is a section of this ellipse as specified by the start and sweep angles. The rectangle specifies an enclosing rectangle of an ellipse. The start and sweep angles define an arc section of the ellipse. ═══ IGArc - Start and Sweep Angles ═══ Use these members to set and query the start and sweep angles of the arc. The start angle specifies the angle where the arc begins. The sweep angle continues from the start angle, defining an arc section of the ellipse. ═══ Protected Functions - IGArc ═══ Inherited Members IGraphic operator != operator = operator == ═══ Protected Data - IGArc ═══ Inherited Members IBase recoverable unrecoverable ═══ 1.6.1. IGArc::direction ═══ Returns the direction the arc is drawn. The default direction is counterclockwise. public: virtual Direction direction() const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.6.2. IGArc::drawOn ═══ Draws the arc on the device associated with the graphic context. public: virtual IGArc& drawOn(IGraphicContext& graphicContext); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.6.3. IGArc::enclosingRect ═══ Returns the enclosing rectangle of the ellipse which the arc is a section of. public: virtual IRectangle enclosingRect() const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.6.4. IGArc::IGArc ═══ You can construct, destruct, copy, and assign objects of this class. Overload 1 public: IGArc( const IRectangle& rectangle, double startAngle, double sweepAngle); Use this function to construct a IGArc object from a IRectangle object and a start and sweep angle. The rectangle specifies an enclosing rectangle of an ellipse. The start and sweep angles define an arc section of the ellipse. rectangle Defines the enclosing rectangle of an ellipse. startAngle Defines the starting angle of an arc section of the ellipse defined by the IRectangle object. sweepAngle Defines the sweep angle of an arc section of the ellipse defined by the IRectangle object. Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Overload 2 public: IGArc(const IGArc& arc); Use this function to construct a IGArc object from another IGArc object. arc A reference to a IGArc object. Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.6.5. IGArc::operator != ═══ Returns true if the arcs are not identical (includes the graphic bundle attributes and the transform matrix). public: IBase::Boolean operator !=(const IGArc& arc) const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.6.6. IGArc::operator = ═══ Use this function to assign a IGArc object to another IGArc object. public: IGArc& operator =(const IGArc& arc); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.6.7. IGArc::operator == ═══ Returns true if the arcs are identical (includes the graphic bundle attributes and the transform matrix). public: IBase::Boolean operator ==(const IGArc& arc) const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.6.8. IGArc::setDirection ═══ Sets the direction the arc is drawn. public: virtual IGArc& setDirection( Direction direction = counterclockwise); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.6.9. IGArc::setEnclosingRect ═══ Sets the enclosing rectangle of an ellipse. The arc is a section of this ellipse. public: virtual IGArc& setEnclosingRect( const IRectangle& rectangle); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.6.10. IGArc::setStartAngle ═══ Sets the start angle, in degrees, of the arc (0<= angle <= 360). public: virtual IGArc& setStartAngle(double startAngle); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.6.11. IGArc::setSweepAngle ═══ Sets the sweep angle, in degrees, of the arc (0 <= angle <= 360). public: virtual IGArc& setSweepAngle(double sweepAngle); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.6.12. IGArc::startAngle ═══ Returns the start angle in degrees. public: virtual double startAngle() const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.6.13. IGArc::sweepAngle ═══ Returns the sweep angle in degrees. public: virtual double sweepAngle() const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.6.14. IGArc::~IGArc ═══ public: virtual ~IGArc(); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ Nested Types - IGArc ═══ Enumerations Direction ═══ Enums - Direction ═══ enum Direction { clockwise, counterclockwise }; ═══ 1.7. IGBitmap ═══ Description Derivation Constructors Public Functions Protected Functions Public Data Protected Data Nested Types Public Data includes Styles and Notification IDs if they exist. To close all the panels in a chapter, double click on this panel's system menu. ═══ Derivation - IGBitmap ═══ IBase │ IVBase │ IGraphic │ IGBitmap Inherited by none. ═══ Class Description - IGBitmap ═══ igbitmap.hpp The IGBitmap class is used to create, modify, and draw bitmaps. IGBitmap objects can be created from existing bitmap handles, from bitmap resources, from a rectangular area of a graphic context, or directly from an image file. Once a bitmap has been created, you can save the bitmap in any of the supported image file formats. If the bitmap is a color bitmap, none of the graphic bundle attributes affects the appearance of the bitmap. If the bitmap is a monochrome (1 bit-per-plane) bitmap, then the following graphic bundle attributes affect its appearance.  Pen color  Background color  Mix mode  Background mix mode ═══ Public Functions - IGBitmap ═══ Accessors asPointerHandle handle Bitmap Copying copy Bitmap Positioning moveTo position size sizeTo Bitmap Transparency hasTransparentColor resetTransparentColor setTransparentColor transparentColor Constructors IGBitmap ~IGBitmap Drawing drawOn Modifying a Bitmap reflectHorizontally reflectVertically rotateBy180 rotateBy270 rotateBy90 transposeXForY View Option setViewOption viewOption Writing to a File imageFormat writeToFile Inherited Members IGraphic boundingRect contains drawOn graphicBundle hasGraphicBundle hasTransformMatrix id isHitSelectable isHitSelected removeGraphicBundle resetTransformMatrix rotateBy scaleBy setGraphicBundle setHitSelectable setHitSelected setId setTransformMatrix setTransformMethod transformMatrix transformMethod translateBy IVBase asDebugInfo asString IBase asDebugInfo asString messageFile messageText setMessageFile version ═══ IGBitmap - Accessors ═══ Use the members to return the bitmap as an IBitmapHandle object or as an IPointerHandle object. ═══ IGBitmap - Bitmap Copying ═══ Use these members to make a copy of the bitmap. ═══ IGBitmap - Bitmap Positioning ═══ Use these members to set and query the size and position of the bitmap. The bitmap position information is not used during drawing if you use drawOn member, which accepts position arguments. ═══ IGBitmap - Bitmap Transparency ═══ Use these members to control transparency when you draw a bitmap on a graphic context. Bits whose color is the same as the transparency color are not visible. The object under the bitmap is visible for these bits. Use transparency when you want to mask out a section of the bitmap with the color you set as the transparency color. Note: These members do not modify the actual bitmap data. ═══ IGBitmap - Common Raster Operations ═══ The following list defines 16 common raster operations for combining a source bitmap, destination bitmap (screen), and the current set pattern. You can specify these raster options when drawing a bitmap. black 0 notSourceErase ~(Source | Destination) halftone (Pattern | Source) invert ~Source sourceErase Source & ~Destination destInvert ~Destination patternInvert Pattern ^ Destination sourceInvert Source ^ Destination sourceAnd Source & Destination mergePaint ~Source | Destination mergeCopy Pattern & Source normal Source sourcePaint Source | Destination patternCopy Pattern patternPaint Pattern | ~Source | Destination white 1 ═══ IGBitmap - Compress Mode ═══ The compress mode specifies how a bitmap will be stretched if the bitmap is stretched when drawn. The compress mode values are:  and Compresses the bitmap as necessary, using a logical OR operation on the eliminated rows and columns. This is useful for preserving the foreground when foreground bits are "0" and the background bits are "1."  or Compresses the bitmap as necessary, using a logical OR operation on the eliminated rows and columns. This is useful for preserving the foreground when foreground bits are "1" and the background bits are "0."  ignore Compresses the bitmap as necessary but ignores any eliminated rows or columns. This is useful for color bitmaps where the results of combining pels of different colors are unpredictable. ═══ IGBitmap - Constructors ═══ You can construct and destruct objects of this class. ═══ IGBitmap - Drawing ═══ Use these members to render a bitmap object on a device. ═══ IGBitmap - Image Formats ═══ The IGBitmap class allows you to load and save bitmaps in several popular image file formats. Two constructors allow you to create a bitmap from an image file. You can use IGBitmap::writeToFile to save a bitmap in any of the supported image file formats. The image formats this class supports are:  OS/2 and Windows Bitmaps. The file extensions .bmp, .vga, .bga, .rle, .dib, .rl4, and .rl8 are recognized as OS/2 1.1, 1.2, 2.0 or Windows 3.0 bitmaps. The newer multimedia Windows bitmap format that allows 16 and 32 bits-per-plane is not supported. The files are written in OS/2 2.0 and Windows 3.0 format.  CompuServe Graphics Interchange Format. The .gif file extension is recognized as a GIF file.  ZSoft PC Paintbrush Image File Format. The .pcx file extension is recognized as a Paintbrush file.  Microsoft/Aldus Tagged Image File Format The .tif and .tiff file extensions are recognized as TIFF files.  Truevision Targa/Vista Bitmap. The file extensions .tga, .vst, and .afi are recognized as Targa/Vista files. This class only supports 8-bit-per-plane and 24-bit-per-plane images.  Amiga IFF and ILBM Interleaved Bitmap Format. The file extensions .iff and .lbm are recognized as interleaved bitmap files.  X Windows Bitmap. The .xbm file extension is recognized as a X Bitmap file. This class supports X10 and X11 1-bit-per-plane bitmaps. Some .xbm files with text strings inside look to be sprites or icons and are not supported.  IBM Printer Page Segment. The file extensions .pse, .pseg, .pseg38pp and .pseg3820 are recognized as PSEG files. PSEG files are used to include image data in BookMaster documents. PSEG files only contain 1-bit-per-plane, which is always ink on paper, for example black on white. ═══ IGBitmap - Loading a Bitmap ═══ These static members load a bitmap from a resource file. ═══ IGBitmap - Modifying a Bitmap ═══ Use these members to modify the bitmap. The rotate functions are different from IGraphic::rotateBy in that the change to the bitmap is permanent. IGraphic::rotateBy modifies a model transform that is set before drawing the bitmap and is removed after the bitmap has been drawn and does not affect the actual bitmap data. The rotations are counterclockwise. ═══ IGBitmap - View Option ═══ Use these members to specify an algorithm to use when the image data is converted to a bitmap. The viewing options are as follows:  raw Indicates not to use any algorithm when converting the image data to a bitmap.  errorDiffused Indicates that an error diffusion algorithm is used when converting the image data to a bitmap. The actual image data is not affected, only what you see on the screen. Error diffusion takes longer than halftoning, but the bitmap is generally sharper, especially when viewing .gif files.  halftoned Indicates that a halftone algorithm is used when converting the image data to a bitmap. The actual image data is not affected, only what you see on the screen. Coverting the image data using the halftoned algorithm is generally quicker than using the error diffusion algorithm. ═══ IGBitmap - Writing to a File ═══ Use these members to save the bitmap in any of the supported image file formats and query the type of the image format. ═══ Protected Functions - IGBitmap ═══ Loading a Bitmap loadBitmap tryToLoadBitmap Inherited Members IGraphic operator != operator = operator == ═══ Public Data - IGBitmap ═══ Common Raster Operations black destInvert halftone invert mergeCopy mergePaint normal notSourceErase patternCopy patternInvert patternPaint sourceAnd sourceErase sourceInvert sourcePaint white ═══ Protected Data - IGBitmap ═══ Inherited Members IBase recoverable unrecoverable ═══ 1.7.1. IGBitmap::asPointerHandle ═══ Converts the bitmap to a pointer and returns a IPointerHandle object. It is your responsibility to delete the pointer. Note: The bitmap transparent color is not used when creating the pointer. public: virtual IPointerHandle asPointerHandle() const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.7.2. IGBitmap::black ═══ The target bitmap is black. public: static const long black; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.7.3. IGBitmap::copy ═══ Creates a copy of a bitmap. It is the caller's responsibility to delete the bitmap. This function is useful when you need to create a bitmap and "give it away" as in placing a bitmap on the clipboard. public: static IBitmapHandle copy( const IBitmapHandle& bitmapHandle); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Exceptions ┌────────────────────┬────────────────────────────────────────┐ │IAccessError │An error occurred while attempting to │ │ │copy the bitmap. Refer to the exception│ │ │text for specific error information. │ └────────────────────┴────────────────────────────────────────┘ ═══ 1.7.4. IGBitmap::destInvert ═══ The target bitmap is the inverse of the destination (screen) bitmap. public: static const long destInvert; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.7.5. IGBitmap::drawOn ═══ Overload 1 public: virtual IGBitmap& drawOn( IGraphicContext& graphicContext, const IPoint& targetBottomLeft, const IPoint& targetTopRight, const IPoint& sourceBottomLeft, const IPoint& sourceTopRight, long rasterOperation = normal, CompressMode compressMode = ignore); Draws the bitmap on the device associated with the graphic context. You can shrink or stretch the bitmap when drawing the bitmap. The first pair of points allows you to specify a target rectangle where the bitmap is drawn; the second pair of points allows you to specify a rectangular area of the bitmap to draw into the target rectangle. You can optionally specify a compress mode and raster operation that will be used when you draw the bitmap. Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Exceptions ┌────────────────────┬────────────────────────────────────────┐ │IAccessError │An error occurred while attempting to │ │ │draw the bitmap. Refer to the exception│ │ │text for specific error information. │ └────────────────────┴────────────────────────────────────────┘ Overload 2 public: virtual IGBitmap& drawOn(IGraphicContext& graphicContext); Draws the bitmap on the device associated with the graphic context. This function draws the bitmap at the bitmap's current position with a normal raster operation. Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Exceptions ┌────────────────────┬────────────────────────────────────────┐ │IAccessError │An error occurred while attempting to │ │ │draw the bitmap. Refer to the exception│ │ │text for specific error information. │ └────────────────────┴────────────────────────────────────────┘ Used in samples: 2D Bitmap Sample: 2d-bmap.cpp 2D Graphics Sample: 2d-draw.cpp Overload 3 public: virtual IGBitmap& drawOn( IGraphicContext& graphicContext, long rasterOperation); Draws the bitmap on the device associated with the graphic context. This function draws the bitmap at the bitmap's current position. You must specify a raster operation when using this function. Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Exceptions ┌────────────────────┬────────────────────────────────────────┐ │IAccessError │An error occurred while attempting to │ │ │draw the bitmap. Refer to the exception│ │ │text for specific error information. │ └────────────────────┴────────────────────────────────────────┘ ═══ 1.7.6. IGBitmap::halftone ═══ public: static const long halftone; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.7.7. IGBitmap::handle ═══ Returns the handle of the bitmap. public: virtual IBitmapHandle handle() const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Used in samples: Magnify Sample: magnify.cpp Direct Manipulation Sample 2: dmsamp2.cpp ═══ 1.7.8. IGBitmap::hasTransparentColor ═══ Returns true if a transparent color has been set; otherwise false is returned. public: virtual IBase::Boolean hasTransparentColor() const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.7.9. IGBitmap::IGBitmap ═══ You can construct and destruct objects of this class. Overload 1 public: IGBitmap( const IGraphicContext& graphicContext, const IRectangle& windowRectangle); Use this function to construct a IGBitmap object from a graphic context and a rectangle specifying an area of the graphic context in device space. graphicContext A IGraphicContext object. windowRectangle Area of the graphic context you want to create a bitmap of. Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Used in sample: Magnify Sample: magnify.cpp Overload 2 public: IGBitmap(const IBitmapHandle& bitmapHandle); Use this function to construct a IGBitmap object from a IBitmapHandle. This is useful for draw-item events where the bitmap handle is supplied. bitmapHandle Handle to a bitmap. Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Overload 3 public: IGBitmap(unsigned long bitmapIdentifier); Use this function to construct a IGBitmap object from a resource identifier. The bitmap is loaded from the resource file bound to the executable of from the user resource dynamic link library. bitmapIdentifier Resouce identifier. Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Used in sample: 2D Graphics Sample: 2d-draw.cpp Overload 4 public: IGBitmap(const IResourceId&resourceIdentifier); Use this function to construct a IGBitmap object from a IResourceId object. This allows you to specify a resource identifier that exists in another resource library. resourceIdentifier A IResourceId object. Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Overload 5 public: IGBitmap(const IString&imageFilename); Use this constructor to create a IGBitmap object from an image file name. The image format is determined by the file extension of the image file name. imageFilename Name of the image file you want to load. Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Used in samples: 2D Bitmap Sample: 2d-bmap.cpp 2D Graphics Sample: 2d-draw.cpp Direct Manipulation Sample 2: dmsamp2.cpp Overload 6 public: IGBitmap( const IString& imageFilename, ImageFormat imageFormat); Use this function to construct a IGBitmap object from an image file name and an image file format. This constructor is identical to the previous constructor except that you explicitly state the image file format. This is useful when you want to load an image from a file that does not have a file extension that matches an extension for a given image format. Refer to Image Formats for the file extensions that are associated with an image format. imageFilename Name of the image file you want to load. imageFormat Type of image format. Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Overload 7 public: IGBitmap( const IGBitmap& bitmap, const IRectangle& rectangle, long rasterOperation = normal); Use this function to construct a IGBitmap object from the rectangular portion of another IGBitmap object. You may optionally specify a raster operation that is used when the bitmap object is constructed. bitmap A reference to a IGBitmap object. rectangle Rectangle area of the bitmap to copy. rasterOperation Raster operation used when copying the bitmap. Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.7.10. IGBitmap::imageFormat ═══ Returns the type of the bitmap image format. public: virtual ImageFormat imageFormat() const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.7.11. IGBitmap::invert ═══ The target bitmap is determined by inverting the source bitmap. public: static const long invert; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.7.12. IGBitmap::loadBitmap ═══ Loads bitmaps from resource files. If you use the default for the size argument, the bitmap is not resized. protected: static unsigned long loadBitmap( unsigned long bitmapIdentifier, const IModuleHandle& moduleHandle, const ISize& bitmapSize = ISize ( 0 , 0 )); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.7.13. IGBitmap::mergeCopy ═══ The target bitmap is determined by ANDing the current pattern set with the source bitmap. public: static const long mergeCopy; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.7.14. IGBitmap::mergePaint ═══ The target bitmap is determined by ORing the destination (screen) bitmap with the inverse of the source bitmap. public: static const long mergePaint; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.7.15. IGBitmap::moveTo ═══ Sets the position of where the bitmap is drawn. public: virtual IGBitmap& moveTo(const IPoint& point); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Used in sample: 2D Graphics Sample: 2d-draw.cpp ═══ 1.7.16. IGBitmap::normal ═══ The target bitmap is the source bitmap. public: static const long normal; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.7.17. IGBitmap::notSourceErase ═══ The target bitmap is determined by ANDing the inverse of the destination (screen) bitmap with the inverse of the source bitmap. public: static const long notSourceErase; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.7.18. IGBitmap::patternCopy ═══ The target bitmap is the current pattern set. public: static const long patternCopy; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.7.19. IGBitmap::patternInvert ═══ The target bitmap is determined by XORing the current pattern set with the destination (screen) bitmap. public: static const long patternInvert; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.7.20. IGBitmap::patternPaint ═══ The target bitmap is determined by ORing the current pattern set with the destination (screen) bitmap with the inverse of the source bitmap. public: static const long patternPaint; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.7.21. IGBitmap::position ═══ Returns the position of where the bitmap is drawn. public: virtual IPoint position() const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.7.22. IGBitmap::reflectHorizontally ═══ Reflects the bitmap from left to right. public: virtual IGBitmap& reflectHorizontally(); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Exceptions ┌────────────────────┬────────────────────────────────────────┐ │IAccessError │An error occurred while attempting to │ │ │reflect the bitmap. Refer to the │ │ │exception text for specific error │ │ │information. │ └────────────────────┴────────────────────────────────────────┘ Used in sample: 2D Bitmap Sample: 2d-bmap.cpp ═══ 1.7.23. IGBitmap::reflectVertically ═══ Reflects the bitmap from top to bottom. public: virtual IGBitmap& reflectVertically(); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Exceptions ┌────────────────────┬────────────────────────────────────────┐ │IAccessError │An error occurred while attempting to │ │ │reflect the bitmap. Refer to the │ │ │exception text for specific error │ │ │information. │ └────────────────────┴────────────────────────────────────────┘ Used in sample: 2D Bitmap Sample: 2d-bmap.cpp ═══ 1.7.24. IGBitmap::resetTransparentColor ═══ Resets the bitmap so that no color is treated as transparent when drawing the bitmap. public: virtual IGBitmap& resetTransparentColor(); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.7.25. IGBitmap::rotateBy180 ═══ Rotates the bitmap by 180 degrees counterclockwise. public: virtual IGBitmap& rotateBy180(); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Exceptions ┌────────────────────┬────────────────────────────────────────┐ │IAccessError │An error occurred while attempting to │ │ │rotate the bitmap. Refer to the │ │ │exception text for specific error │ │ │information. │ └────────────────────┴────────────────────────────────────────┘ Used in sample: 2D Bitmap Sample: 2d-bmap.cpp ═══ 1.7.26. IGBitmap::rotateBy270 ═══ Rotates the bitmap by 270 degrees counterclockwise. public: virtual IGBitmap& rotateBy270(); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Exceptions ┌────────────────────┬────────────────────────────────────────┐ │IAccessError │An error occurred while attempting to │ │ │rotate the bitmap. Refer to the │ │ │exception text for specific error │ │ │information. │ └────────────────────┴────────────────────────────────────────┘ Used in sample: 2D Bitmap Sample: 2d-bmap.cpp ═══ 1.7.27. IGBitmap::rotateBy90 ═══ Rotates the bitmap by 90 degrees counterclockwise. public: virtual IGBitmap& rotateBy90(); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Exceptions ┌────────────────────┬────────────────────────────────────────┐ │IAccessError │An error occurred while attempting to │ │ │rotate the bitmap. Refer to the │ │ │exception text for specific error │ │ │information. │ └────────────────────┴────────────────────────────────────────┘ Used in sample: 2D Bitmap Sample: 2d-bmap.cpp ═══ 1.7.28. IGBitmap::setTransparentColor ═══ Sets the color to be treated as transparent when drawing the bitmap. public: virtual IGBitmap& setTransparentColor(const IColor& aColor); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Exceptions ┌────────────────────┬────────────────────────────────────────┐ │IAccessError │An error occurred while attempting to │ │ │set the bitmap transparency color. │ │ │Refer to the exception text for specific│ │ │error information. │ └────────────────────┴────────────────────────────────────────┘ ═══ 1.7.29. IGBitmap::setViewOption ═══ Sets the method used to convert the image data to a bitmap. public: virtual IGBitmap& setViewOption( ViewOption viewOption = raw); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Exceptions ┌────────────────────┬────────────────────────────────────────┐ │IAccessError │An error occurred while attempting to │ │ │change the view option. Refer to the │ │ │exception text for specific error │ │ │information. │ └────────────────────┴────────────────────────────────────────┘ ═══ 1.7.30. IGBitmap::size ═══ Returns the size of the bitmap. public: virtual ISize size() const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Used in sample: 2D Bitmap Sample: 2d-bmap.cpp ═══ 1.7.31. IGBitmap::sizeTo ═══ Resizes the bitmap to the argument size. public: virtual IGBitmap& sizeTo(const ISize& newSize); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Exceptions ┌────────────────────┬────────────────────────────────────────┐ │IAccessError │An error occurred while attempting to │ │ │resize the bitmap. Refer to the │ │ │exception text for specific error │ │ │information. │ └────────────────────┴────────────────────────────────────────┘ ═══ 1.7.32. IGBitmap::sourceAnd ═══ The target bitmap is determined by ANDing the destination (screen) bitmap with the source bitmap. public: static const long sourceAnd; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.7.33. IGBitmap::sourceErase ═══ The target bitmap is determined by ANDing the inverse of the destination (screen) bitmap with the source bitmap. public: static const long sourceErase; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.7.34. IGBitmap::sourceInvert ═══ The target bitmap is determined by XORing the destination (screen) bitmap with the source bitmap. public: static const long sourceInvert; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.7.35. IGBitmap::sourcePaint ═══ The target bitmap is determined by ORing the destination (screen) bitmap with the source bitmap. public: static const long sourcePaint; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.7.36. IGBitmap::transparentColor ═══ Returns the current transparent color. public: virtual IColor transparentColor() const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.7.37. IGBitmap::transposeXForY ═══ Transposes all X values for Y values. public: virtual IGBitmap& transposeXForY(); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Exceptions ┌────────────────────┬────────────────────────────────────────┐ │IAccessError │An error occurred while attempting to │ │ │transpose the bitmap. Refer to the │ │ │exception text for specific error │ │ │information. │ └────────────────────┴────────────────────────────────────────┘ Used in sample: 2D Bitmap Sample: 2d-bmap.cpp ═══ 1.7.38. IGBitmap::tryToLoadBitmap ═══ Load bitmaps from resource files. If you use the default for the size argument, the bitmap is not resized. This function differs from loadBitmap in that it does not throw an exception if the bitmap cannot be loaded. This allows you to attempt to load a bitmap without having to catch an exception if the load fails. protected: static unsigned long tryToLoadBitmap( unsigned long bitmapIdentifier, const IModuleHandle& moduleHandle, const ISize& bitmapSize = ISize ( 0 , 0 )); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.7.39. IGBitmap::viewOption ═══ Returns the method used to convert the image data to a bitmap. public: virtual ViewOption viewOption() const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.7.40. IGBitmap::white ═══ The target bitmap is white. public: static const long white; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.7.41. IGBitmap::writeToFile ═══ Saves a bitmap to a file in any of the supported image file formats. If the specified file already exists, the file is overwritten. public: virtual IGBitmap& writeToFile( const IString& imageFilename, ImageFormat imageFormat); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Exceptions ┌────────────────────┬────────────────────────────────────────┐ │IAccessError │An error occurred while attempting to │ │ │write the image file. Check the path │ │ │and filename. │ └────────────────────┴────────────────────────────────────────┘ ═══ 1.7.42. IGBitmap::~IGBitmap ═══ public: virtual ~IGBitmap(); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ Nested Types - IGBitmap ═══ Enumerations CompressMode ImageFormat ViewOption ═══ Enums - CompressMode ═══ enum CompressMode { and, or, ignore }; The compress mode allows to specify how a bitmap will stretched if the bitmap is stretched when drawn. The compress mode values are: and Compresses the bitmap as necessary, using a logical OR operation on the eliminated rows and columns. This is useful for preserving the foreground when foreground bits are "0" and the background bits are "1". or Compresses the bitmap as necessary, using a logical OR operation on the eliminated rows and columns. This is useful for preserving the foreground when foreground bits are "1" and the background bits are "0". ignore Compresses the bitmap as necessary, but ignores any elimanted rows or columns. This is useful for color bitmaps where the results of combining pels of different colors are unpredictable. ═══ Enums - ImageFormat ═══ enum ImageFormat { Bitmap, GIF, PCX, TIFF, Targa, Amiga, XBM, PSEG }; The IGBitmap class allows you to load and save bitmaps in several popular image file formats. There are two constructors that allow you to create a bitmap from an image file. You can use IGBitmap::writeToFile to save a bitmap in any of the supported image file formats. The image formats this class supports are: OS/2 and Windows Bitmaps The file extensions .BMP, .VGA, .BGA, .RLE, .DIB, .RL4, and .RL8 are recognized as OS/2 1.1, 1.2, 2.0 or Windows 3.0 bitmaps. The newer multimedia Windows bitmap format that allows 16 and 32 bits-per-plane is not supported. The files are written in OS/2 2.0/Windows 3.0 format. CompuServe Graphics Interchange Format The .GIF file extension is recognized as a GIF file. ZSoft PC Paintbrush Image File Format The .PCX file extension is recognized as a Paintbrush file. Microsoft/Aldus Tagged Image File Format The .TIF and .TIFF file extensions are recognized as TIFF files. Truevision Targa/Vista Bitmap The file extensions .TGA, .VST, and .AFI are recognized as Targa/Vista files. This class only supports 8 bit-per-plane and 24 bit-per-plane images. Amiga IFF/ILBM Interleaved Bitmap Format The file extensions .IFF and .LBM are recognized as interleaved bitmap files. X Windows Bitmap The .XBM file extension is recognized as a X Bitmap file. This class supports X10 and X11 1bpp bitmaps. Some .XBM files with text strings inside look to be sprites or icons and are not supported. IBM Printer Page Segment The following file extensions .PSE, .PSEG, .PSEG38PP and .PSEG3820 are recognized as PSEG files. PSEG files are used to include image data in BookMaster documents. PSEG files only contain 1 bit-per-plane, which is always ink on paper, ie: black on white. ═══ Enums - ViewOption ═══ enum ViewOption { raw, errorDiffused, halftoned }; The viewing options allow you to specify an algorithm to use when the image data is converted to a bitmap. The viewing options are:  raw This indicates not to use any algorithm when converting the image data to a bitmap.  errorDiffused Indicates that an error diffusion algorithm is used when converting the image data to a bitmap. The actual image data is not affected, only what you see on the screen. Error diffusion takes longer than halftoning, but the bitmap is generally sharper, especially when viewing .gif files.  halftoned Indicates that a halftoning algorithm is used when converting the image data to a bitmap. The actual image data is not affected, only what you see on the screen. Halftoning is generally quicker than error diffusion. Note: Error diffusion and halftoning have little affect when used on OS/2 and Windows bitmaps. ═══ 1.8. IGChord ═══ Description Derivation Constructors Public Functions Protected Functions Protected Data To close all the panels in a chapter, double click on this panel's system menu. ═══ Derivation - IGChord ═══ IBase │ IVBase │ IGraphic │ IGPie │ IGChord Inherited by none. ═══ Class Description - IGChord ═══ igpie.hpp The IGChord class is a graphic object class that allows you to create a two-dimensional closed figure created from the chord of an ellipse. The IGChord can be filled, framed, or filled and framed. The rectangle you specify in the constructor is the enclosing rectangle of an ellipse. The start angle and sweep angles specify a chord section of this ellipse. When you draw a IGChord, the following graphic bundle attributes affect its appearance:  Draw operation  Pen color  Fill color  Background color  Mix mode  Background mix mode  Pen width  Pen type  Pen ending style  Pen joining style  Pen pattern  Fill pattern  Pattern origin ═══ Public Functions - IGChord ═══ Constructors IGChord ~IGChord Drawing drawOn Inherited Members IGPie drawOn enclosingRect operator != operator = operator == setEnclosingRect setStartAngle setSweepAngle startAngle sweepAngle IGraphic boundingRect contains drawOn graphicBundle hasGraphicBundle hasTransformMatrix id isHitSelectable isHitSelected removeGraphicBundle resetTransformMatrix rotateBy scaleBy setGraphicBundle setHitSelectable setHitSelected setId setTransformMatrix setTransformMethod transformMatrix transformMethod translateBy IVBase asDebugInfo asString IBase asDebugInfo asString messageFile messageText setMessageFile version ═══ IGChord - Constructors ═══ You can construct, destruct, and copy objects of this class. ═══ IGChord - Drawing ═══ Use these members to render a IGChord object on a device. ═══ Protected Functions - IGChord ═══ Inherited Members IGraphic operator != operator = operator == ═══ Protected Data - IGChord ═══ Inherited Members IBase recoverable unrecoverable ═══ 1.8.1. IGChord::drawOn ═══ Draws the IGChord object on the device associated with the graphic context. public: virtual IGChord& drawOn(IGraphicContext& graphicContext); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.8.2. IGChord::IGChord ═══ You can construct, destruct, and copy objects of this class. Overload 1 public: IGChord( const IRectangle& rectangle, double startAngle, double sweepAngle); Use this function to construct a IGChord object from an IRectangle object specifying the enclosing rectangle, a start angle, and a sweep angle. The sweep angle is drawn counterclockwise. The rectangle specifies an enclosing rectangle of an ellipse with the start and sweep angles defining a chord section of this ellipse. rectangle Enclosing rectangle of an ellipse. startAngle Start angle of the ellipse. sweepAngle Sweep angle specifying a chord shaped section of the ellipse. Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Used in sample: 2D Graphics Sample: 2d-draw.cpp Overload 2 public: IGChord(const IGChord& chord); Use this function to construct a IGChord object from another IGChord object. chord A reference to a IGChord object. Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.8.3. IGChord::~IGChord ═══ public: virtual ~IGChord(); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.9. IGEllipse ═══ Description Derivation Constructors Public Functions Protected Functions Protected Data To close all the panels in a chapter, double click on this panel's system menu. ═══ Derivation - IGEllipse ═══ IBase │ IVBase │ IGraphic │ IGEllipse Inherited by none. ═══ Class Description - IGEllipse ═══ igelipse.hpp Objects of this class are used to draw two-dimensional ellipses. An IGEllipse can be filled, framed, or filled and framed. When you draw an IGEllipse, the following bundle attributes affect its appearance:  Draw operation  Pen color  Fill color  Background color  Mix mode  Background mix mode  Pen width  Pen type  Pen pattern  Fill pattern  Pattern origin ═══ Public Functions - IGEllipse ═══ Comparisons operator != operator == Constructors IGEllipse operator = ~IGEllipse Drawing drawOn Enclosing Rectangle enclosingRect setEnclosingRect Inherited Members IGraphic boundingRect contains drawOn graphicBundle hasGraphicBundle hasTransformMatrix id isHitSelectable isHitSelected removeGraphicBundle resetTransformMatrix rotateBy scaleBy setGraphicBundle setHitSelectable setHitSelected setId setTransformMatrix setTransformMethod transformMatrix transformMethod translateBy IVBase asDebugInfo asString IBase asDebugInfo asString messageFile messageText setMessageFile version ═══ IGEllipse - Comparisons ═══ Use these members to compare two IGEllipse objects. ═══ IGEllipse - Constructors ═══ You can construct, destruct, copy, and assign objects of the IGEllipse class. ═══ IGEllipse - Drawing ═══ Use these members to render an IGEllipse object on a device. ═══ IGEllipse - Enclosing Rectangle ═══ Use these members to specify a rectangle that contains an ellipse. ═══ Protected Functions - IGEllipse ═══ Inherited Members IGraphic operator != operator = operator == ═══ Protected Data - IGEllipse ═══ Inherited Members IBase recoverable unrecoverable ═══ 1.9.1. IGEllipse::drawOn ═══ Draw the ellipse on the device associated with the graphic context. public: virtual IGEllipse& drawOn(IGraphicContext& graphicContext); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.9.2. IGEllipse::enclosingRect ═══ Returns the enclosing rectangle that the IGEllipse is contained within. public: virtual IRectangle enclosingRect() const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Used in sample: 2D Graphics Sample: 2d-draw.cpp ═══ 1.9.3. IGEllipse::IGEllipse ═══ You can construct, destruct, copy, and assign objects of the IGEllipse class. Overload 1 public: IGEllipse(const IRectangle& rectangle); Use this function to construct a IGEllipse object from a IRectangle object specifying the enclosing rectangle of the ellipse. rectangle A IRectangle object specifying the enclosing rectangle of the ellipse. Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Used in sample: 2D Bitmap Sample: 2d-bmap.cpp Overload 2 public: IGEllipse(const IPoint& point, unsigned long radius); Use this function to construct a IGEllipse object from a IPoint object specifying the center of the ellipse and a radius indicating the length of the major and minor axes. point Center point of the ellipse. radius Radius of the ellipse. Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Used in sample: 2D Graphics Sample: 2d-draw.cpp Overload 3 public: IGEllipse( const IPoint& point, unsigned long xRadius, unsigned long yRadius); Use this function to construct a IGEllipse object from a IPoint object specifying the center of the ellipse and two values indicating the length of the horizontal and vetical radii respectively. point Center point of the ellipse. xRadius Horizontal radius of the ellipse. yRadius Vertical radius of the ellipse. Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Overload 4 public: IGEllipse(const IGEllipse& ellipse); Use this function to construct a IGEllipse object from another IGEllipse object. ellipse A Reference to a IGEllipse object. Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.9.4. IGEllipse::operator != ═══ Returns true if the ellipses are not identical (includes the graphic bundle attributes and the transform matrix). public: IBase::Boolean operator !=(const IGEllipse& ellipse) const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.9.5. IGEllipse::operator = ═══ Use this function to assign a IGEllipse object to another IGEllipse object. public: IGEllipse& operator =(const IGEllipse& ellipse); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.9.6. IGEllipse::operator == ═══ Returns true if the ellipses are identical (includes the graphic bundle attributes and the transform matrix). public: IBase::Boolean operator ==(const IGEllipse& ellipse) const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.9.7. IGEllipse::setEnclosingRect ═══ Sets the enclosing rectangle that the IGEllipse is contained within. public: virtual IGEllipse& setEnclosingRect( const IRectangle& rectangle); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Used in samples: 2D Bitmap Sample: 2d-bmap.cpp 2D Graphics Sample: 2d-draw.cpp ═══ 1.9.8. IGEllipse::~IGEllipse ═══ public: virtual ~IGEllipse(); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.10. IGLine ═══ Description Derivation Constructors Public Functions Protected Functions Protected Data To close all the panels in a chapter, double click on this panel's system menu. ═══ Derivation - IGLine ═══ IBase │ IVBase │ IGraphic │ IGLine Inherited by none. ═══ Class Description - IGLine ═══ igline.hpp The IGLine class is a graphic object class that allows you to create two-dimensional line segments. When you draw a IGLine, the following graphic bundle attributes affect its appearance:  Pen color  Mix mode  Pen width  Pen type  Pen ending style ═══ Public Functions - IGLine ═══ Comparisons operator != operator == Constructors IGLine operator = ~IGLine Data Access centerPoint endingPoint setEndingPoint setStartingPoint slope startingPoint Drawing drawOn Inherited Members IGraphic boundingRect contains drawOn graphicBundle hasGraphicBundle hasTransformMatrix id isHitSelectable isHitSelected removeGraphicBundle resetTransformMatrix rotateBy scaleBy setGraphicBundle setHitSelectable setHitSelected setId setTransformMatrix setTransformMethod transformMatrix transformMethod translateBy IVBase asDebugInfo asString IBase asDebugInfo asString messageFile messageText setMessageFile version ═══ IGLine - Comparisons ═══ Use these members to compare two IGLine objects. ═══ IGLine - Constructors ═══ You can construct, destruct, copy, and assign objects of this class. ═══ IGLine - Data Access ═══ Use these members to query and set the data points of the line as well as query the line's slope. ═══ IGLine - Drawing ═══ Use these members to render a IGLine object on a device. ═══ Protected Functions - IGLine ═══ Inherited Members IGraphic operator != operator = operator == ═══ Protected Data - IGLine ═══ Inherited Members IBase recoverable unrecoverable ═══ 1.10.1. IGLine::centerPoint ═══ Returns the center point of the line segment. public: virtual IPoint centerPoint() const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.10.2. IGLine::drawOn ═══ Draws the line segment on the device associated with the graphic context. public: virtual IGLine& drawOn(IGraphicContext& graphicContext); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Used in samples: 2D Graphics Sample: 2d-draw.cpp 2D Graphics Sample: 2d-menu.cpp ═══ 1.10.3. IGLine::endingPoint ═══ Returns the ending point of the line segment. public: virtual IPoint endingPoint() const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.10.4. IGLine::IGLine ═══ Overload 1 public: IGLine(const IGLine& line); Use this function to construct a IGLine object from another IGLine object. line A reference to a IGLine object. Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Overload 2 public: IGLine( const IPoint& startingPoint, const IPoint& endingPoint); Use this function to construct a IGLine object from two IPoint objects indicating the starting and ending points of the line. startingPoint Starting point of the line. endingPoint Ending point of the line. Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Used in samples: 2D Graphics Sample: 2d-draw.cpp 2D Graphics Sample: 2d-menu.cpp ═══ 1.10.5. IGLine::operator != ═══ Returns true if the lines are not identical (includes the graphic bundle attributes and the transform matrix). public: IBase::Boolean operator !=(const IGLine& line) const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.10.6. IGLine::operator = ═══ Use this function to assign a IGLine object to another IGLine object. public: IGLine& operator =(const IGLine& line); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.10.7. IGLine::operator == ═══ Returns true if the lines are identical (includes the graphic bundle attributes and the transform matrix). public: IBase::Boolean operator ==(const IGLine& line) const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.10.8. IGLine::setEndingPoint ═══ Sets the ending point of the line segment. public: virtual IGLine& setEndingPoint(const IPoint& point); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Used in sample: 2D Graphics Sample: 2d-draw.cpp ═══ 1.10.9. IGLine::setStartingPoint ═══ Sets the starting point of the line segment. public: virtual IGLine& setStartingPoint(const IPoint& point); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.10.10. IGLine::slope ═══ Returns the slope of the line segment (rise over run). public: double slope() const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.10.11. IGLine::startingPoint ═══ Returns the starting point of the line segment. public: virtual IPoint startingPoint() const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.10.12. IGLine::~IGLine ═══ public: virtual ~IGLine(); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.11. IGList ═══ Description Derivation Constructors Public Functions Protected Functions Protected Data Nested Types To close all the panels in a chapter, double click on this panel's system menu. ═══ Derivation - IGList ═══ IBase │ IVBase │ IGraphic │ IGList Inherited by none. ═══ Class Description - IGList ═══ iglist.hpp The IGList class is an ordered collection of IGraphic objects. The IGraphic objects are arranged so that each IGList has a first and a last IGraphic object, each IGraphic object except the last has a next IGraphic object, and each IGraphic object but the first has a previous IGraphic object. An IGList allows you to group simple IGraphic objects to compose a complex picture. At any time you can add additional IGraphic objects to the IGList or remove any IGraphic objects from it. You can also add the same IGraphic object to the list multiple times to replicate part of a picture. Because IGList inherits from IGraphic, you can add an IGList to an IGList. You can also use any of the transform functions inherited from IGraphic on an IGList. Transforms applied to an IGList affect all IGraphic objects in the IGList. You can easily construct complex pictures and transform them as a single entity. When you draw a IGList, it iterates through the graphic objects contained in the list. IGList recursively calls the drawOn function for all nested IGLists. When you draw an IGList, the attributes you use to draw the graphic objects contained in the list are those of the graphic bundle applied to the IGList with one exception. When a graphic object contains a graphic bundle that has the same attributes set, the graphic object's bundle attributes override the IGList's graphic bundle attributes. ═══ Public Functions - IGList ═══ Adding Graphic Objects addAsFirst addAsLast addAsNext addAsPrevious addAtPosition replaceAt Constructors IGList ~IGList Drawing drawOn Hit Testing bottomGraphicUnderPoint topGraphicUnderPoint Querying the List boundingRectAt firstGraphic graphicAt graphicAtPosition isEmpty isIGList lastGraphic numberOfGraphics Removing Graphic Objects removeAll removeAllWithId removeAt removeAtPosition removeFirst removeLast Reordering the List sort Inherited Members IGraphic boundingRect contains drawOn graphicBundle hasGraphicBundle hasTransformMatrix id isHitSelectable isHitSelected removeGraphicBundle resetTransformMatrix rotateBy scaleBy setGraphicBundle setHitSelectable setHitSelected setId setTransformMatrix setTransformMethod transformMatrix transformMethod translateBy IVBase asDebugInfo asString IBase asDebugInfo asString messageFile messageText setMessageFile version ═══ IGList - Adding Graphic Objects ═══ Use these members to add graphic objects to an IGList object. ═══ IGList - Constructors ═══ You can construct, destruct, and copy objects of this class. ═══ IGList - Drawing ═══ Use these members to render the graphic objects contained in an IGList on a device. ═══ IGList - Hit Testing ═══ Use these members to determine if a point is contained within one of the graphic objects contained in the IGList. Note: If you want to determine if more than one object is under a point, construct a Cursor object, which iterates through all objects that are under a specified point. ═══ IGList - Querying the List ═══ Use these members to query list information and to retrieve the graphic objects contained in the list. ═══ IGList - Removing Graphic Objects ═══ Use these members to remove graphic objects from the IGList object. ═══ IGList - Reordering the List ═══ Use these members to reorder the graphic objects in the IGList. ═══ Protected Functions - IGList ═══ Inherited Members IGraphic operator != operator = operator == ═══ Protected Data - IGList ═══ Inherited Members IBase recoverable unrecoverable ═══ 1.11.1. IGList::addAsFirst ═══ Adds a graphic object as the first item in the list. public: virtual IGList& addAsFirst(IGraphic& graphic); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.11.2. IGList::addAsLast ═══ Adds a graphic object as the last item in the list. public: virtual IGList& addAsLast(IGraphic& graphic); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Used in samples: 2D Graphics Sample: 2d-draw.cpp BIGCPP Sample: bigcpp.cpp Lancelot - A Valiant Example: ltimepie.cpp ═══ 1.11.3. IGList::addAsNext ═══ Adds a graphic object directly after the cursor location. public: virtual IGList& addAsNext( const Cursor& cursor, IGraphic& graphic); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.11.4. IGList::addAsPrevious ═══ Adds a graphic object directly before the cursor location. public: virtual IGList& addAsPrevious( const Cursor& cursor, IGraphic& graphic); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.11.5. IGList::addAtPosition ═══ Adds a graphic object at the 0-based offset from the beginning of the list. public: virtual IGList& addAtPosition( unsigned long position, IGraphic& graphic); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.11.6. IGList::bottomGraphicUnderPoint ═══ Returns the bottommost graphic object under the point specified. If a graphic object is not under the point specified, a null pointer is returned. public: virtual IGraphic* bottomGraphicUnderPoint( const IPoint& point, IGraphicContext& graphicContext); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.11.7. IGList::boundingRectAt ═══ Returns the smallest rectangle enclosing the graphic object at the cursor location. Use this function with a cursor constructed to locate objects under the mouse. The bounding rectangle returned takes into account cummulative transformations that may be set prior to drawing a graphic object in the list. public: virtual IRectangle boundingRectAt( const Cursor& cursor) const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.11.8. IGList::drawOn ═══ Iterates over the ordered collection calling each graphic object's drawOn function. public: virtual IGList& drawOn(IGraphicContext& graphicContext); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.11.9. IGList::firstGraphic ═══ Returns a pointer to the first graphic object in the list. If the list is empty, a null pointer is returned. public: virtual IGraphic* firstGraphic() const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.11.10. IGList::graphicAt ═══ Returns a reference to the graphic object at the cursor location. public: virtual IGraphic& graphicAt(const Cursor& cursor) const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Used in sample: 2D Graphics Sample: 2d-draw.cpp ═══ 1.11.11. IGList::graphicAtPosition ═══ Returns a reference to the graphic object at the given position in the list. Position 1 specifies the first graphic object. public: virtual IGraphic& graphicAtPosition( unsigned long position) const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.11.12. IGList::IGList ═══ You can construct, destruct, and copy objects of this class. Overload 1 public: IGList(IGraphic& graphic); Use this function to construct a IGList object from a IGraphic object. The object is added to the list. graphic A reference to a IGraphic object. This graphic is added to the list. Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Overload 2 public: IGList(); Use this function to construct a IGList object. The list is initially empty. Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Used in samples: 2D Graphics Sample: 2d-draw.cpp BIGCPP Sample: bigcpp.cpp Overload 3 public: IGList(const IGList& list); Use this function to construct a IGList object from another IGList object. A copy of the graphic object references is created. list A reference to a IGList object. All IGraphic objects in list are added to the new IGList. Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.11.13. IGList::isEmpty ═══ Returns true if the list is empty. public: virtual IBase::Boolean isEmpty() const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.11.14. IGList::isIGList ═══ Returns true if the graphic object at the cursor location is an IGList. public: virtual IBase::Boolean isIGList(const Cursor& cursor) const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.11.15. IGList::lastGraphic ═══ Returns a pointer to the last graphic object in the list. If the list is empty, a null pointer is returned. public: virtual IGraphic* lastGraphic() const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.11.16. IGList::numberOfGraphics ═══ Returns the count of the number of graphic objects in the list. public: virtual unsigned long numberOfGraphics() const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.11.17. IGList::removeAll ═══ Removes all graphic objects from the list. public: virtual IGList& removeAll(); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Used in sample: Lancelot - A Valiant Example: ltimepie.cpp ═══ 1.11.18. IGList::removeAllWithId ═══ Removes all graphic objects that have the specified identifier. public: virtual IGList& removeAllWithId(unsigned long identifier); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.11.19. IGList::removeAt ═══ Removes the graphic object at the cursor location. public: virtual IGList& removeAt(const Cursor& cursor); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.11.20. IGList::removeAtPosition ═══ Removes the graphic object at the 0-based offset from the beginning of the list. public: virtual IGList& removeAtPosition(unsigned long position); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.11.21. IGList::removeFirst ═══ Removes the first graphic object in the list. public: virtual IGList& removeFirst(); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.11.22. IGList::removeLast ═══ Removes the last graphic object in the list. public: virtual IGList& removeLast(); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.11.23. IGList::replaceAt ═══ Replaces a graphic object at the cursor location. public: virtual IGList& replaceAt( const Cursor& cursor, IGraphic& graphic); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.11.24. IGList::sort ═══ Reorders the graphics object contained in the graphic list. You need to write a C function with the following declaration: long MyGraphicCompare( IGraphic& graphic1, IGraphic& graphic2 ) { } The function should return a long value: Less than 0 The first object is less than the second object. 0 The first object is equal to the second object. Greater than 0 The first object is greater than the second object. The graphic objects are reordered in ascending order. public: virtual IGList& sort( long ( * comparisonFunction ) ( IGraphic * const & graphic1 , IGraphic * const & graphic2 )); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.11.25. IGList::topGraphicUnderPoint ═══ Returns the topmost graphic object under the point specified. If a graphic object is not under the point specified, a null pointer is returned. public: virtual IGraphic* topGraphicUnderPoint( const IPoint& point, IGraphicContext& graphicContext); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Used in sample: 2D Graphics Sample: 2d-draw.cpp ═══ 1.11.26. IGList::~IGList ═══ public: virtual ~IGList(); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ Nested Types - IGList ═══ Classes IGList::Cursor ═══ 1.12. IGList::Cursor ═══ Description Derivation Constructors Public Functions Protected Data To close all the panels in a chapter, double click on this panel's system menu. ═══ Derivation - IGList::Cursor ═══ IBase │ IVBase │ IGList::Cursor Inherited by none. ═══ Class Description - IGList::Cursor ═══ iglist.hpp The IGList::Cursor class is used to iterate through graphic objects contained in an IGList. The Cursor class has three constructors that control how to iterate through the IGList. The class iterates through top-level objects only. If you nest an IGList inside an IGList, the cursor does not iterate through the graphic objects contained within the nested IGList. The Cursor class iterates through all objects in an IGList, iterates through all objects with a specified identifier, or provides hit testing by iterating through all objects that are under a specified point. If you iterate by identifier, a match is determined by querying the object's identifier value that is set by the IGraphic::setId function. If you want to iterate through nested IGLists, you can obtain a reference to the nested IGList (or any other graphic object in the list) by calling IGList::graphicAtPosition. You can then create another cursor for this list. ═══ Public Functions - IGList::Cursor ═══ Constructors Cursor ~Cursor Cursor Positioning invalidate isValid setToFirst setToLast setToNext setToPrevious Inherited Members IVBase asDebugInfo asString IBase asDebugInfo asString messageFile messageText setMessageFile version ═══ IGList::Cursor - Constructors ═══ You can construct and destruct objects of this class. ═══ IGList::Cursor - Cursor Positioning ═══ Use these members to move the cursor through the list of graphic objects and to check the validity of the cursor. ═══ Protected Data - IGList::Cursor ═══ Inherited Members IBase recoverable unrecoverable ═══ 1.12.1. IGList::Cursor::Cursor ═══ Overload 1 public: Cursor(const IGList& list, unsigned long objectIdentifier); Use this function to construct a IGList::Cursor object from a IGList object and am object identifier. The cursor iterates through graphic objects that have the specified object identifier. list IGList to cursor through. objectIdentifier Graphic objects identifier. Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Overload 2 public: Cursor(const IGList& list); Use this function to construct a IGList::Cursor object from a IGList object. The cursor iterates through all graphic objects contained in the IGList. list IGList to cursor through. Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Used in sample: 2D Graphics Sample: 2d-draw.cpp Overload 3 public: Cursor( const IGList& list, IGraphicContext& graphicContext, const IPoint& hitPoint); Use this function to construct a IGList::Cursor object from a IGList object, a IGraphicContext object and a IPoint object. The cursor iterates through graphic objects that intersect or contain the point specified. list IGList to cursor through. graphicContext Graphic context used to determine a graphic objects location. hitPoint Position of the center of the hit aperture. Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Used in sample: 2D Graphics Sample: 2d-draw.cpp ═══ 1.12.2. IGList::Cursor::invalidate ═══ Marks the cursor as invalid. public: virtual void invalidate(); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.12.3. IGList::Cursor::isValid ═══ Returns true if the cursor is in a valid area. public: virtual IBase::Boolean isValid() const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Used in sample: 2D Graphics Sample: 2d-draw.cpp ═══ 1.12.4. IGList::Cursor::setToFirst ═══ Resets the cursor position to the first graphic object in the list. public: virtual IBase::Boolean setToFirst(); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Used in sample: 2D Graphics Sample: 2d-draw.cpp ═══ 1.12.5. IGList::Cursor::setToLast ═══ Resets the cursor position to the last graphic object in the list. public: virtual IBase::Boolean setToLast(); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.12.6. IGList::Cursor::setToNext ═══ Advances the cursor position to the next graphic object in the list. public: virtual IBase::Boolean setToNext(); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Used in sample: 2D Graphics Sample: 2d-draw.cpp ═══ 1.12.7. IGList::Cursor::setToPrevious ═══ Advances the cursor position to the previous graphic object in the list. public: virtual IBase::Boolean setToPrevious(); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.12.8. IGList::Cursor::~Cursor ═══ public: virtual ~Cursor(); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.13. IGPie ═══ Description Derivation Constructors Public Functions Protected Functions Protected Data To close all the panels in a chapter, double click on this panel's system menu. ═══ Derivation - IGPie ═══ IBase │ IVBase │ IGraphic │ IGPie Inherited by: IGChord ═══ Class Description - IGPie ═══ igpie.hpp The IGPie class is a graphic object class that allows you to create a two-dimensional pie slice of an ellipse. The IGPie can be filled, framed or filled and framed. The rectangle you specify in the constructor is the enclosing rectangle of an ellipse. The start angle and sweep angles specify a pie section of this ellipse. When you draw a IGPie, the following bundle attributes affect its appearance:  Draw operation  Pen color  Fill color  Background color  Mix mode  Background mix mode  Pen width  Pen type  Pen ending style  Pen joining style  Pen pattern  Fill pattern  Pattern origin ═══ Public Functions - IGPie ═══ Comparisons operator != operator == Constructors IGPie operator = ~IGPie Drawing drawOn Enclosing Rectangle enclosingRect setEnclosingRect Start and Sweep Angles setStartAngle setSweepAngle startAngle sweepAngle Inherited Members IGraphic boundingRect contains drawOn graphicBundle hasGraphicBundle hasTransformMatrix id isHitSelectable isHitSelected removeGraphicBundle resetTransformMatrix rotateBy scaleBy setGraphicBundle setHitSelectable setHitSelected setId setTransformMatrix setTransformMethod transformMatrix transformMethod translateBy IVBase asDebugInfo asString IBase asDebugInfo asString messageFile messageText setMessageFile version ═══ IGPie - Comparisons ═══ Use these members to compare two IGPie objects. ═══ IGPie - Constructors ═══ You can construct, destruct, copy, and assign objects of this class. ═══ IGPie - Drawing ═══ Use these members to render an IGPie object on a device. ═══ IGPie - Enclosing Rectangle ═══ Use these members to specify a rectangle that contains an ellipse. The start and sweep angle define a pie-shaped section of this ellipse. ═══ IGPie - Start and Sweep Angles ═══ Use these members to define a pie-shaped section of an ellipse contained within the enclosing rectangle. The start and sweep angles are expressed in degrees. ═══ Protected Functions - IGPie ═══ Inherited Members IGraphic operator != operator = operator == ═══ Protected Data - IGPie ═══ Inherited Members IBase recoverable unrecoverable ═══ 1.13.1. IGPie::drawOn ═══ Draws the pie-shaped figure on the device associated with the graphic context. public: virtual IGPie& drawOn(IGraphicContext& graphicContext); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.13.2. IGPie::enclosingRect ═══ Returns the enclosing rectangle of the ellipse that the pie is a section of. public: virtual IRectangle enclosingRect() const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Used in sample: 2D Graphics Sample: 2d-draw.cpp ═══ 1.13.3. IGPie::IGPie ═══ You can construct, destruct, copy, and assign objects of this class. Overload 1 public: IGPie(const IGPie& pie); Use this function to construct a IGPie object from another IGPie object. pie A reference to a IGPie object. Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Overload 2 public: IGPie( const IRectangle& rectangle, double startAngle, double sweepAngle); Use this function to construct a IGPie object from a IRectangle object specifying the enclosing rectangle, a start angle, and a sweep angle. The sweep angle is drawn counter clockwise. The rectangle specifies an enclosing rectangle of an ellipse with the start and sweep angles defining an pie section of this ellipse. rectangle Enclosing rectangle of an ellipse. startAngle Start angle of the ellipse. sweepAngle Sweep angle specifying a pie shaped section of the ellipse. Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Used in samples: 2D Bitmap Sample: 2d-bmap.cpp 2D Graphics Sample: 2d-draw.cpp Lancelot - A Valiant Example: ltimepie.cpp ═══ 1.13.4. IGPie::operator != ═══ Returns true if the pies are not identical (includes the graphic bundle attributes and the transform matrix). public: IBase::Boolean operator !=(const IGPie& pie) const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.13.5. IGPie::operator = ═══ Use this function to assign a IGPie object to another IGPie object. public: IGPie& operator =(const IGPie& pie); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.13.6. IGPie::operator == ═══ Returns true if the pies are identical (includes the graphic bundle attributes and the transform matrix). public: IBase::Boolean operator ==(const IGPie& pie) const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.13.7. IGPie::setEnclosingRect ═══ Sets the enclosing rectangle of an ellipse. The pie is a section of this ellipse. public: virtual IGPie& setEnclosingRect( const IRectangle& rectangle); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Used in samples: 2D Graphics Sample: 2d-draw.cpp Lancelot - A Valiant Example: ltimepie.cpp ═══ 1.13.8. IGPie::setStartAngle ═══ Sets the start angle of the pie (0 <= angle <= 360). public: virtual IGPie& setStartAngle(double startAngle); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Used in samples: 2D Bitmap Sample: 2d-bmap.cpp 2D Graphics Sample: 2d-draw.cpp ═══ 1.13.9. IGPie::setSweepAngle ═══ Sets the sweep angle of the pie (0 <= angle <= 360). The sweep angle is drawn in a counterclockwise direction. public: virtual IGPie& setSweepAngle(double sweepAngle); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Used in sample: 2D Graphics Sample: 2d-draw.cpp ═══ 1.13.10. IGPie::startAngle ═══ Returns the start angle of the pie. public: virtual double startAngle() const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Used in sample: 2D Graphics Sample: 2d-draw.cpp ═══ 1.13.11. IGPie::sweepAngle ═══ Returns the sweep angle of the pie. public: virtual double sweepAngle() const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.13.12. IGPie::~IGPie ═══ public: virtual ~IGPie(); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.14. IGPolygon ═══ Description Derivation Constructors Public Functions Protected Functions Protected Data Nested Types To close all the panels in a chapter, double click on this panel's system menu. ═══ Derivation - IGPolygon ═══ IBase │ IVBase │ IGraphic │ IGPolyline │ IGPolygon Inherited by none. ═══ Class Description - IGPolygon ═══ igpyline.hpp The IGPolygon class is a graphic object class that allows you to create a two-dimensional closed figure from a series of line segments. The series of line segments is drawn starting from the first point and connecting all remaining points. If the first and last points are not the same, this class draws a line from the last point to the first point to close the figure. You can optionally specify a fill mode to use when drawing the polygon. The default fill mode is alternate. Refer to the operating system graphic programming reference for an explanation of these fill modes. When you draw a IGPolygon, the following graphic bundle attributes affect its appearance:  Draw operation  Pen color  Fill color  Background color  Mix mode  Background mix mode  Pen width  Pen type  Pen ending style  Pen joining style  Pen pattern  Fill pattern  Pattern origin ═══ Public Functions - IGPolygon ═══ Comparisons operator != operator == Constructors IGPolygon operator = ~IGPolygon Drawing drawOn Fill Mode fillMode setFillMode Inherited Members IGPolyline addPoint drawOn insertPoint numberOfPoints operator != operator = operator == point pointArray removePoint reversePoints setPoint setPoints IGraphic boundingRect contains drawOn graphicBundle hasGraphicBundle hasTransformMatrix id isHitSelectable isHitSelected removeGraphicBundle resetTransformMatrix rotateBy scaleBy setGraphicBundle setHitSelectable setHitSelected setId setTransformMatrix setTransformMethod transformMatrix transformMethod translateBy IVBase asDebugInfo asString IBase asDebugInfo asString messageFile messageText setMessageFile version ═══ IGPolygon - Comparisons ═══ Use these members to compare two IGPolygon objects. ═══ IGPolygon - Constructors ═══ You can construct, destruct, copy, and assign objects of this class. ═══ IGPolygon - Drawing ═══ Use these members to render an IGPolygon object on a device. ═══ IGPolygon - Fill Mode ═══ Use these members to query and set the fill mode that you use when drawing the polygon. ═══ Protected Functions - IGPolygon ═══ Inherited Members IGraphic operator != operator = operator == ═══ Protected Data - IGPolygon ═══ Inherited Members IBase recoverable unrecoverable ═══ 1.14.1. IGPolygon::drawOn ═══ Draws the polygon on the device associated with the graphic context. public: virtual IGPolygon& drawOn(IGraphicContext& graphicContext); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Used in sample: BIGCPP Sample: bigcpp.cpp ═══ 1.14.2. IGPolygon::fillMode ═══ Returns the fill mode used when drawing the polygon. public: virtual FillMode fillMode() const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.14.3. IGPolygon::IGPolygon ═══ You can construct, destruct, copy, and assign objects of this class. Overload 1 public: IGPolygon(const IGPolygon& polygon); Use this function to construct a IGPolygon from another IGPolygon object. polygon A reference to a IGPolygon object. Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Overload 2 public: IGPolygon(const IPointArray& pointArray); Use this function to construct a IGPolygon object from a IPointArray object. The polygon is constructed by drawing line segments starting from the first point connecting the remaining points. If the first and last points are not the same, a line is drawn from the first point to the last point to close the figure. pointArray Array of data points. Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Used in sample: 2D Graphics Sample: 2d-draw.cpp ═══ 1.14.4. IGPolygon::operator != ═══ Returns true if the polygons are not identical (includes the graphic bundle attributes and the transform matrix). public: Boolean operator !=(const IGPolygon& polygon) const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.14.5. IGPolygon::operator = ═══ Use this function to assign a IGPolygon object to another IGPolygon object. public: IGPolygon& operator =(const IGPolygon& polygon); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.14.6. IGPolygon::operator == ═══ Returns true if the polygons are identical (includes the graphic bundle attributes and the transform matrix). public: Boolean operator ==(const IGPolygon& polygon) const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.14.7. IGPolygon::setFillMode ═══ Sets the fill mode used when you draw the polygon. public: virtual IGPolygon& setFillMode(FillMode fillmode); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.14.8. IGPolygon::~IGPolygon ═══ public: virtual ~IGPolygon(); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ Nested Types - IGPolygon ═══ Enumerations FillMode ═══ Enums - FillMode ═══ enum FillMode { alternate, winding }; ═══ 1.15. IGPolyline ═══ Description Derivation Constructors Public Functions Protected Functions Protected Data To close all the panels in a chapter, double click on this panel's system menu. ═══ Derivation - IGPolyline ═══ IBase │ IVBase │ IGraphic │ IGPolyline Inherited by: IGPolygon ═══ Class Description - IGPolyline ═══ igpyline.hpp The IGPolyline class is a graphic object class that allows you to create a series of two-dimensional line segments. The series of line segments is drawn starting from the first point and connecting all remaining points. When you draw a IGPolyline, the following graphic bundle attributes affect its appearance:  Pen color  Mix mode  Pen width  Pen type  Pen ending style ═══ Public Functions - IGPolyline ═══ Comparisons operator != operator == Constructors IGPolyline operator = ~IGPolyline Data Points addPoint insertPoint numberOfPoints point pointArray removePoint reversePoints setPoint setPoints Drawing drawOn Inherited Members IGraphic boundingRect contains drawOn graphicBundle hasGraphicBundle hasTransformMatrix id isHitSelectable isHitSelected removeGraphicBundle resetTransformMatrix rotateBy scaleBy setGraphicBundle setHitSelectable setHitSelected setId setTransformMatrix setTransformMethod transformMatrix transformMethod translateBy IVBase asDebugInfo asString IBase asDebugInfo asString messageFile messageText setMessageFile version ═══ IGPolyline - Comparisons ═══ Use these members to compare two IGPolyline objects. ═══ IGPolyline - Constructors ═══ You can construct, destruct, copy, and assign objects of this class. ═══ IGPolyline - Data Points ═══ Use these members to add, modify, and remove the points that define the polyline. ═══ IGPolyline - Drawing ═══ Use these members to render an IGPolyline object on a device. ═══ Protected Functions - IGPolyline ═══ Inherited Members IGraphic operator != operator = operator == ═══ Protected Data - IGPolyline ═══ Inherited Members IBase recoverable unrecoverable ═══ 1.15.1. IGPolyline::addPoint ═══ Adds a point to the end of the polyline. public: virtual IGPolyline& addPoint(const IPoint& point); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Used in sample: 2D Graphics Sample: 2d-draw.cpp ═══ 1.15.2. IGPolyline::drawOn ═══ Draws the polyline on the device associated with the graphic context. public: virtual IGPolyline& drawOn(IGraphicContext& graphicContext); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Used in sample: 2D Graphics Sample: 2d-draw.cpp ═══ 1.15.3. IGPolyline::IGPolyline ═══ You can construct, destruct, copy, and assign objects of this class. Overload 1 public: IGPolyline(const IGPolyline& polyline); Use this function to construct a IGPolyline object from another IGPolyline object. polyline A reference to a IGPolyline object. Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Overload 2 public: IGPolyline(const IPointArray& pointArray); Use this function to construct a IGPolyline object from a IPointArray object. The polyline is constructed by drawing line segments starting from the first point and connecting the remaining points. pointArray Array of data points. Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Used in sample: 2D Graphics Sample: 2d-draw.cpp ═══ 1.15.4. IGPolyline::insertPoint ═══ Adds a point to the polyline at the location before the specified index. The index is 0-based. public: virtual IGPolyline& insertPoint( unsigned long index, const IPoint& point); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.15.5. IGPolyline::numberOfPoints ═══ Returns the number of points defining the polyline. public: virtual unsigned long numberOfPoints() const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Used in sample: 2D Graphics Sample: 2d-draw.cpp ═══ 1.15.6. IGPolyline::operator != ═══ Returns true if the polylines are not identical (includes the graphic bundle attributes and the transform matrix). public: IBase::Boolean operator !=( const IGPolyline& polyline) const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.15.7. IGPolyline::operator = ═══ Use this function to assign a IGPolyline object to another IGPolyline object. public: IGPolyline& operator =(const IGPolyline& polyline); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.15.8. IGPolyline::operator == ═══ Returns true if the polylines are identical (includes the graphic bundle attributes and the transform matrix). public: IBase::Boolean operator ==( const IGPolyline& polyline) const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.15.9. IGPolyline::point ═══ Returns a constant reference to the point at the specified index. The index is 0-based. public: const IPoint& point(unsigned long index) const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.15.10. IGPolyline::pointArray ═══ Returns a constant reference to the array of points defining the polyline. public: const IPointArray& pointArray() const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Used in sample: BIGCPP Sample: bigcpp.cpp ═══ 1.15.11. IGPolyline::removePoint ═══ Removes a point for the polyline at the specified index. The index is 0-based. public: virtual IGPolyline& removePoint(unsigned long index); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Used in sample: 2D Graphics Sample: 2d-draw.cpp ═══ 1.15.12. IGPolyline::reversePoints ═══ Reverses all points in the polyline. The first point becomes the last and so on. public: virtual IGPolyline& reversePoints(); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.15.13. IGPolyline::setPoint ═══ Sets the point at the specified index to the argument point. The index is 0-based. public: virtual IGPolyline& setPoint( unsigned long index, const IPoint& point); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Used in sample: 2D Graphics Sample: 2d-draw.cpp ═══ 1.15.14. IGPolyline::setPoints ═══ Sets the points used to define the polyline. public: virtual IGPolyline& setPoints( const IPointArray& pointArray); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.15.15. IGPolyline::~IGPolyline ═══ public: virtual ~IGPolyline(); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.16. IGraphic ═══ Description Derivation Public Functions Protected Functions Protected Data Nested Types To close all the panels in a chapter, double click on this panel's system menu. ═══ Derivation - IGraphic ═══ IBase │ IVBase │ IGraphic Inherited by: IG3PointArc IGArc IGBitmap IGEllipse IGLine IGList IGPie IGPolyline IGRectangle IGRegion IGString ═══ Class Description - IGraphic ═══ igraphic.hpp IGraphic is an abstract base class that provides common behavior for all two-dimensional graphic classes. The common behavior includes bounding rectangle information, accessing bundle attributes, transforming a graphic object, detecting if a graphic object has been selected (hit testing), and identifying a graphic object. An IGraphic object can optionally contain an IGraphicBundle and an ITransformMatrix. You can set a graphic bundle on a graphic object so that the attributes set in the bundle are used when you draw a graphic object. If you use any of the world transform functions or set a transform matrix on a graphic object, then the transform matrix contained in the graphic object is used when you draw a graphic object. The drawOn function is a pure virtual function that is overridden by all classes derived from IGraphic. This function provides the drawing operations necessary for rendering a graphic object on a device. ═══ Public Functions - IGraphic ═══ Bounding Rectangle boundingRect Drawing drawOn Graphic Bundles graphicBundle hasGraphicBundle removeGraphicBundle setGraphicBundle Hit Testing contains isHitSelectable isHitSelected setHitSelectable setHitSelected Object Identifier id setId Protected Constructors ~IGraphic World Space Transformation hasTransformMatrix resetTransformMatrix rotateBy scaleBy setTransformMatrix setTransformMethod transformMatrix transformMethod translateBy Inherited Members IVBase asDebugInfo asString IBase asDebugInfo asString messageFile messageText setMessageFile version ═══ IGraphic - Bounding Rectangle ═══ Use these members to determine the smallest rectangle that contains the graphic object. The graphic object's current world space transform and attribute bundle are used to determine the bounding rectangle. ═══ IGraphic - Comparisons ═══ Use these members to compare two IGraphic objects. ═══ IGraphic - Drawing ═══ Use these members to render a graphic object on a device. Derived classes must override drawOn. ═══ IGraphic - Graphic Bundles ═══ Use these members to query, set, and remove the drawing attributes that you use when drawing the graphic object. ═══ IGraphic - Hit Testing ═══ Hit testing is the process of determining which graphic objects, if any, intersect an area of interest. When you want to select an area of interest on the screen, you usually move the pointer to the area of interest and signal (by clicking the mouse, for example) that this is the graphic object you want. The area of interest is a small rectangle centered at the hit point whose size is determined by the hit aperture size. Use the contains member to determine if a point lies on or within the graphic object. Use the remaining members when you are performing hit testing using the hit-testing members provided by the IGList class. When an object is determined to be under a point, its setHitSelected member is called with a true argument. Typically, you do not need to set or check the hit selection state of a graphic object because the IGList class returns the graphic objects under the specified point. You can, however, control whether you want a graphic object contained in an IGList to be selectable by calling setSelectable with a false argument. In this case, this graphic object is not considered when hit testing is performed. ═══ IGraphic - Object Identifier ═══ Use these members to associate an identifier with a graphic object. This is particularly useful when this object is part of an IGList (or any other collection) and you want to retrieve it later. By default, all object identifiers are zero. ═══ IGraphic - Protected Constructors ═══ You cannot construct, destruct, or copy an object of this class directly. ═══ IGraphic - World Space Transformation ═══ A transformation is an operation performed on a graphic object that changes the object in one of four ways: translation, rotation, scaling, and shearing. Transformations enable an application to control the location, orientation, size, and shape of graphic objects on an output device. The transformation of graphic objects can be conceptually divided into a series of distinct transformations applied from one logical stopping point to another. Coordinate spaces are used as a method of conceptualizing these logical stopping points. The coordinate spaces are concepts used to explain and manipulate the transformation process. The world coordinate space is where most drawing coordinates are specified. If you picture the presentation space as a blank canvas on which to draw, the world coordinate space is a Cartesian grid that provides a reference scale for what is being drawn. The components of a picture defined in world coordinate space are often defined to a scale convenient to only that component. Applications also can define each component, or subpicture, starting at the origin (0,0). This enables applications to define the scale of a subpicture and the location of the subpicture separately. After subpictures are defined in world coordinate space, they undergo a process called transformation and then appear on an output device. If an application has not specifically applied a transformation on a subpicture, by default the identity transform is applied, which, in effect, makes no change to the subpicture. Both the OS/2 operating system and Windows provide multiple coordinate spaces and use transformations to move subpictures between the coordinate spaces. The transformations you apply to a graphic object transform an object's data points from one coordinate space to another. In the OS/2 operating system, the graphic object's transform matrix is used to map from world coordinate space to model coordinate space. In Windows, the graphic object's transform matrix is used to map from world coordinate space to page coordinate space. The transformation matrix does not affect an object's data points. The matrix is used to map the object's data points from world coordinate space when you draw the graphic object or perform hit testing on the graphic object. When you draw a graphic object, the object's transform matrix is applied to the graphic context's current world transform matrix using the transform method. By default, an object's transform matrix replaces the graphic context's current transform matrix before drawing and restores the previous transform matrix after drawing. You can provide an accumulative effect on transform matrixes by using the leftMultiply or rightMultiply transform method. The leftMultiply transform method premultiplies the graphic object's transform matrix with the graphic context's world transform matrix before drawing the graphic object. The rightMultiply transform method postmultiplies the graphic object's transform matrix with the graphic context's world transform matrix before drawing the graphic object. ═══ Protected Functions - IGraphic ═══ Comparisons operator != operator == Protected Constructors IGraphic operator = ═══ Protected Data - IGraphic ═══ Inherited Members IBase recoverable unrecoverable ═══ 1.16.1. IGraphic::boundingRect ═══ Determines the smallest rectangle enclosing the graphic object. Graphic bundle attributes and the graphic object's current world transform matrix are used to determine the bounding rectangle. public: virtual IRectangle boundingRect( IGraphicContext& graphicContext); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Used in sample: 2D Graphics Sample: 2d-draw.cpp ═══ 1.16.2. IGraphic::contains ═══ Returns true if the point lies on or within the object. This function uses drawOn( IGraphicContext& ) to determine if the object contains the point. public: virtual IBase::Boolean contains( IGraphicContext& graphicContext, const IPoint& point); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.16.3. IGraphic::drawOn ═══ Provides the necessary drawing instructions for rendering the graphic object. This is a pure virtual function that must be overridden by all classes derived from IGraphic. public: virtual IGraphic& drawOn( IGraphicContext& graphicContext) = 0; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Used in sample: 2D Graphics Sample: 2d-draw.cpp ═══ 1.16.4. IGraphic::graphicBundle ═══ Returns a copy of the graphic bundle currently set for this graphic object. If you do not set a graphic bundle for the graphic object, a graphic bundle with no attributes is returned. public: virtual IGraphicBundle graphicBundle() const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Used in sample: BIGCPP Sample: bigcpp.cpp ═══ 1.16.5. IGraphic::hasGraphicBundle ═══ Returns true if you set a graphic bundle on this graphic object. public: virtual IBase::Boolean hasGraphicBundle() const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Used in sample: BIGCPP Sample: bigcpp.cpp ═══ 1.16.6. IGraphic::hasTransformMatrix ═══ Returns true if the graphic object's transform matrix is not the identity transform matrix. public: virtual IBase::Boolean hasTransformMatrix() const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Used in sample: BIGCPP Sample: bigcpp.cpp ═══ 1.16.7. IGraphic::id ═══ Returns the graphic object's identifier. public: virtual unsigned long id() const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.16.8. IGraphic::IGraphic ═══ Overload 1 protected: IGraphic(); Use the default constructor when you want to create an IGraphic object that does not contain an attribute bundle and with its transformation matrix is initialized to the identity transform. Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Overload 2 protected: IGraphic(const IGraphic& graphic); Use this function when you want to create a IGraphic object from another IGraphic object. graphic Reference to another class derived from IGraphic. Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Overload 3 protected: IGraphic(const IGraphicBundle& graphicBundle); Use this function when you want to create a IGraphic object from an IGraphicBundle object. The IGraphic object make a copy of the argument IGraphicBundle object and initializes its transformation matrix to the identity transform. graphicBundle A IGraphicBundle object. The IGraphic object uses the attributes set in the graphic bundle when drawing. Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.16.9. IGraphic::isHitSelectable ═══ Returns true if you want the graphic object to be selectable when hit testing is performed on an IGList. public: virtual IBase::Boolean isHitSelectable() const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.16.10. IGraphic::isHitSelected ═══ Return trues if setHitSelected was set to true and if isHitSelectable is true. public: virtual IBase::Boolean isHitSelected() const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Used in sample: BIGCPP Sample: bigcpp.cpp ═══ 1.16.11. IGraphic::operator != ═══ Returns true if the graphics are not identical (includes the graphic bundle and the transform matrix). protected: IBase::Boolean operator !=(const IGraphic& graphic) const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.16.12. IGraphic::operator = ═══ Use this function when you want to assign a IGraphic object to another IGraphic object. protected: IGraphic& operator =(const IGraphic& graphic); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.16.13. IGraphic::operator == ═══ Returns true if the graphics are identical (includes the graphic bundle and the transform matrix). protected: IBase::Boolean operator ==(const IGraphic& graphic) const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.16.14. IGraphic::removeGraphicBundle ═══ Removes the current graphic bundle. When you draw this graphic object, the attributes set in the graphic context are used instead of the attributes that were set in the graphic bundle. public: virtual IGraphic& removeGraphicBundle(); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.16.15. IGraphic::resetTransformMatrix ═══ Sets the graphic object's transform matrix to the identity transform matrix. public: virtual IGraphic& resetTransformMatrix(); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Used in sample: 2D Graphics Sample: 2d-draw.cpp ═══ 1.16.16. IGraphic::rotateBy ═══ Rotates the object by the angle, specified in degrees, around the point specified. public: virtual IGraphic& rotateBy( double angle, const IPoint& point = IPoint ( 0 , 0 )); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Exceptions ┌────────────────────┬────────────────────────────────────────┐ │IAccessError │The system could not perform the rotate │ │ │operation. Make sure the object is not │ │ │being accessed concurrently on another │ │ │thread. │ └────────────────────┴────────────────────────────────────────┘ Used in sample: 2D Graphics Sample: 2d-draw.cpp ═══ 1.16.17. IGraphic::scaleBy ═══ Scales the object using the x and y factors around the point specified. public: virtual IGraphic& scaleBy( double xScale, double yScale, const IPoint& point = IPoint ( 0 , 0 )); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Exceptions ┌────────────────────┬────────────────────────────────────────┐ │IAccessError │The system could not perform the scale │ │ │operation. Make sure the object is not │ │ │being accessed concurrently on another │ │ │thread. │ └────────────────────┴────────────────────────────────────────┘ ═══ 1.16.18. IGraphic::setGraphicBundle ═══ Makes a copy of the argument graphic bundle. The attributes you set in the bundle are used when you draw the graphic object. If this graphic object already has a graphic bundle set, the previous graphic bundle is deleted. public: virtual IGraphic& setGraphicBundle( const IGraphicBundle& graphicBundle); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Used in samples: 2D Graphics Sample: 2d-draw.cpp BIGCPP Sample: bigcpp.cpp Lancelot - A Valiant Example: ltimepie.cpp ═══ 1.16.19. IGraphic::setHitSelectable ═══ Indicate whether this graphic object is selectable. This is useful when performing hit testing. Set setSelectable to false for all objects that you do not want or need to be selected. The default is true. If you set setSelected to false, the IGList class does not attempt to determine if a point lies within this graphic object. public: virtual IGraphic& setHitSelectable( IBase::Boolean hitSelectable = true); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.16.20. IGraphic::setHitSelected ═══ Indicates that this graphic object is selected The default is false. This function is used by the IGList class to mark the graphic objects that have been selected. Before performing hit testing using the functions provided in IGList, each graphic objects hit selection state is reset to false. public: virtual IGraphic& setHitSelected( IBase::Boolean hitSelected = false); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Used in sample: BIGCPP Sample: bigcpp.cpp ═══ 1.16.21. IGraphic::setId ═══ Sets the graphic object's identifier. public: virtual IGraphic& setId(unsigned long identifier); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.16.22. IGraphic::setTransformMatrix ═══ Replaces the graphic object's transform matrix with the argument transform matrix. A copy of the argument transform matrix is created and the previous transform matrix is deleted. public: virtual IGraphic& setTransformMatrix( const ITransformMatrix& transformMatrix); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.16.23. IGraphic::setTransformMethod ═══ Sets the method used to combine the graphic object's transform matrix with the existing graphic context world transform matrix. public: virtual IGraphic& setTransformMethod( TransformMethod transformMethod = rightMultiply); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.16.24. IGraphic::transformMatrix ═══ This function returns the graphic object's transform matrix. If no transformations operations have been called, then the identity matrix is returned. public: const ITransformMatrix transformMatrix() const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Used in sample: BIGCPP Sample: bigcpp.cpp ═══ 1.16.25. IGraphic::transformMethod ═══ Returns the method used to combine world transform matrixes. public: IGraphic::TransformMethod transformMethod() const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Used in sample: BIGCPP Sample: bigcpp.cpp ═══ 1.16.26. IGraphic::translateBy ═══ Moves the object by the amount specified in the IPoint. public: virtual IGraphic& translateBy(const IPoint& point); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Exceptions ┌────────────────────┬────────────────────────────────────────┐ │IAccessError │The system could not perform the │ │ │translate operation. Make sure the │ │ │object is not being accessed │ │ │concurrently on another thread. │ └────────────────────┴────────────────────────────────────────┘ Used in sample: 2D Graphics Sample: 2d-draw.cpp ═══ 1.16.27. IGraphic::~IGraphic ═══ public: virtual ~IGraphic(); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ Nested Types - IGraphic ═══ Enumerations TransformMethod ═══ Enums - TransformMethod ═══ enum TransformMethod { replace, rightMultiply, leftMultiply }; ═══ 1.17. IGraphicBundle ═══ Description Derivation Constructors Public Functions Public Data Protected Data Nested Types Public Data includes Styles and Notification IDs if they exist. To close all the panels in a chapter, double click on this panel's system menu. ═══ Derivation - IGraphicBundle ═══ IBase │ IGraphicBundle Inherited by none. ═══ Class Description - IGraphicBundle ═══ igbundle.hpp The IGraphicBundle class allows you to set drawing attributes for graphic objects (such as IGLine, IGArc, and IGPolyline). There are cases where this class allows you to set an attribute for a graphic object that does not support the attribute. For example, you can set a fill color for a graphic bundle object. You then set the graphic bundle object on a IGLine object. The fill color has no effect when you draw the line because lines do not have fill colors. The graphic bundle class allows you to selectively change drawing attributes from the drawing attributes currently set for a graphic context. If a graphic object does not contain a graphic bundle, the current graphic context drawing attributes are used when you draw a graphic object. If you call a set attribute function of a graphic bundle object and set the graphic bundle on a graphic object, this graphic bundle's attributes override the drawing attributes for the graphic context when you draw the graphic object. For drawing attributes that you have not changed using a set attribute function, the current drawing attributes set in the graphic context are used when you draw a graphic object. Each drawing attribute has four functions associated with it: set, query, has, and reset. You use a set function to set a drawing attribute on the graphic bundle You use a query function to obtain a drawing attribute set on a graphic bundle. You use a has function to determine if a drawing attribute is set on a graphic object. And, there is a reset function to use the current graphic context drawing attribute. Thus, the drawing attribute set in the graphic bundle is no longer used when drawing a graphic object. ═══ Public Functions - IGraphicBundle ═══ Background Mix Mode backgroundMixMode hasBackgroundMixMode resetBackgroundMixMode setBackgroundMixMode Color Attributes backgroundColor fillColor hasBackgroundColor hasFillColor hasPenColor penColor resetBackgroundColor resetFillColor resetPenColor setBackgroundColor setFillColor setPenColor Comparisons operator != operator == Constructors IGraphicBundle operator = ~IGraphicBundle Draw Operations drawOperation hasDrawOperation resetDrawOperation setDrawOperation Mix Mode hasMixMode mixMode resetMixMode setMixMode Pattern Origin hasPatternOrigin patternOrigin resetPatternOrigin setPatternOrigin Pen and Fill Patterns fillPattern hasFillPattern hasPenPattern penPattern resetFillPattern resetPenPattern setFillPattern setPenPattern Pen Type hasPenType penType resetPenType setPenType Pen Width hasPenWidth penWidth resetPenWidth setPenWidth Pen-Ending Style hasPenEndingStyle penEndingStyle resetPenEndingStyle setPenEndingStyle Pen-Joining Style hasPenJoiningStyle penJoiningStyle resetPenJoiningStyle setPenJoiningStyle Inherited Members IBase asDebugInfo asString messageFile messageText setMessageFile version ═══ IGraphicBundle - Background Mix Mode ═══ Use these members to govern how the background color of a graphic object is combined with any existing drawing. The background of an object is the area between fill lines when you draw a closed figure using a nonsolid fill pattern, the area of a character box when you draw a graphic string, or the 0 bits when you draw a 1-bit-per-pel bitmap. The default background mix mode is backLeaveAlone. This background mix mode has no effect on the background color when you draw a graphic object. The following is a list of the supported background mix modes. backLeaveAlone The resulting color is determined by the display surface. backOverPaint The resulting color is determined by the background color. backOr The resulting color is determined by the bitwise OR of the background color and the color of the drawing surface. backXor The resulting color is determined by the bitwise XOR of the background color and the color of the drawing surface. ═══ IGraphicBundle - Color Attributes ═══ Use these members to control the use of pen, fill, and background colors for a graphic bundle. The pen color specifies the color used when you draw lines or when you frame a closed figure. You use the fill color to specify the color of the interior of a closed figure, such as an ellipse. The background color is used when you draw a closed figure, a graphic string, or a 1-bit-per-pel bitmap. If you set the fill pattern to IGraphicBundle::filled, the background color does not have an effect. If, however, you specify a fill pattern of IGraphicBundle::vertical, for example, the color between the vertical lines is the current background color. The default background mix mode is IGraphicBundle::backLeaveAlone; it specifies that the background color is not drawn. This means that for a nonsolid fill pattern, the drawing surface color shows through. The background color for nonsolid fill patterns appears only if the background mix mode is changed to IGraphicBundle::backOverPaint. When you draw a graphic string, you can use the background color to specify the color of the character box that each character is drawn in. When you draw a 1-bit-per-pel bitmap, the background color is used when drawing the bits that have a 0 value, whereas the pen color is used to draw the bits that have a 1 value. ═══ IGraphicBundle - Comparisons ═══ Use these members to compare two IGraphicBundle objects. ═══ IGraphicBundle - Constructors ═══ You can construct, destruct, copy, and assign objects of this class. ═══ IGraphicBundle - Draw Operations ═══ Use these members to control the method used to draw a closed graphic object (such as IGPie, IGChord, IGPolygon, IGRectangle, or IGEllipse). The draw operation's values are as follows: fill Only the interior of the graphic object is drawn. frame Only the frame of the graphic object is drawn. fillAndFrame The interior and the frame of the graphic object are drawn. ═══ IGraphicBundle - Mix Mode ═══ Use these member to govern how the pen and fill colors of a graphic object are combined with any existing drawing. The default mix mode is overPaint. When you draw a graphic object with this mix mode, the pen and fill colors used to draw the graphic object paint over any existing drawing in the same area on the drawing surface. The following is a list of the supported mix modes. Note: The description of each mix mode refers to the pen color, but the same description applies to the fill color as well. or Resulting color is determined by a bitwise OR of the pen color and the drawing surface. overPaint Resulting color is determined by pen color. This is the default for the pen mix attribute. xor Resulting color is determined by a bitwise XOR of the pen color and the drawing surface. This mode enables graphic objects to be drawn so that they can be removed easily by simply drawing them a second time using the xor mix mode. This is useful for graphic animation when an application must move a graphic object and completely restore the graphic objects that it originally overlapped. leaveAlone Resulting color is determined by the drawing surface. and Resulting color is determined by a bitwise AND of the pen color and the drawing surface. subtract Resulting color is determined by inverting the pen color and performing a bitwise AND with the drawing surface. maskSourceNot Resulting color is determined by inverting the surface color and performing a bitwise AND with the pen color. black Resulting color is black. notMergeSource Resulting color is the inverse of the or mix mode. notXorSource Resulting color is the inverse of the xor mix mode. invert Resulting color is the inverse of the drawing surface. mergeSourceNot Resulting color is determined by a bitwise OR of the pen color and the inverse color of the drawing surface. notCopySource Resulting color is the inverse of the pen color. mergeNotSource Resulting color is determined by the inverse of the pen color and by performing a bitwise AND of the drawing surface. notMaskSource Resulting color is the inverse of the "and" pen mix. white Resulting color is white. ═══ IGraphicBundle - Pattern Origin ═══ Use these members to define a point from which the pen and fill patterns spread horizontally and vertically. The lower-left corner is aligned on this point and is expressed in world coordinate space. ═══ IGraphicBundle - Pen and Fill Patterns ═══ Use these members to control the pattern used when you draw lines that have a pen width greater than 1 or when you fill a closed figure. Pen and Fill Patterns ═══ IGraphicBundle - Pen Type ═══ Use these members to define the way lines, arcs, polylines, and the frame on closed figures are drawn. The pen type can be solid, a series of dashes, a series of dots, or a combination of dashes and dots. If the pen width is greater than 1, graphic objects are drawn using a pen type of solid, regardless of the pen type set. The following is a list of the supported pen types: solid An uninterrupted line is drawn. This is the default pen type. dot A series of dots are drawn. shortDash A series of short dashes are drawn. dashDot A series of dash followed by a dot is drawn. longDash A series of long dashes are drawn. dashDoubleDot A series of a dash followed by two dots are drawn. alternate Alternate pels are drawn. invisible The pen is not visible. Pen Types ═══ IGraphicBundle - Pen Width ═══ Use these members to govern the width of the pen when you draw lines or the width of the frame when you draw a closed figure. The width specified is in world coordinate space and is subject to world space transforms. If you specify a pen width greater than 1, the pen type is always solid. ═══ IGraphicBundle - Pen-Ending Style ═══ Use these members to control the shape of the unattached end of a line. The pen width must be greater than 1 for the pen-ending style to have an effect. The following is a list of the supported pen-ending styles: flat Lines drawn with this style are flat, finishing flush with the end points of the line. square Lines drawn with this style are flat, finishing past the end of the line. The line is extended by a distance that is equal to half the pen width. round Lines drawn with this style are rounded, finishing past the end of the line. The rounded end is constructed by drawing a circle whose radius is half the pen width. Pen-Ending Styles ═══ IGraphicBundle - Pen-Joining Style ═══ Use these members to control the shaped formed by two intersecting lines. The pen width must be greater than 1 for the pen-joining style to have an effect. The following is a list of the supported pen-joining styles: bevel The joint has a diagonal corner. round The joint has a rounded corner. miter The joint has a 90-degree-angled corner. Pen-Joining Styles ═══ Public Data - IGraphicBundle ═══ Pen and Fill Patterns backwardDiag1 backwardDiag2 dense1 dense2 dense3 dense4 dense5 dense6 dense7 dense8 filled forewardDiag1 forewardDiag2 halftone hatched hatchedDiag hollow horizontal vertical ═══ Protected Data - IGraphicBundle ═══ Inherited Members IBase recoverable unrecoverable ═══ 1.17.1. IGraphicBundle::backgroundColor ═══ Returns the background color. If you have not set a background color, the default background color of the graphic context is returned. Unless you change it, the default is black. public: IColor backgroundColor() const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.17.2. IGraphicBundle::backgroundMixMode ═══ Returns the background mix mode. If you have not set a background mix mode on the graphic bundle, the default background mix mode of the graphic context is returned. public: BackgroundMixMode backgroundMixMode() const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.17.3. IGraphicBundle::backwardDiag1 ═══ Pattern used when you draw a line that have a width greater than 1 or when you fill a figure. public: static const unsigned long backwardDiag1; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.17.4. IGraphicBundle::backwardDiag2 ═══ Pattern used when you draw a line that have a width greater than 1 or when you fill a figure. public: static const unsigned long backwardDiag2; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.17.5. IGraphicBundle::dense1 ═══ Pattern used when you draw a line that have a width greater than 1 or when you fill a figure. public: static const unsigned long dense1; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.17.6. IGraphicBundle::dense2 ═══ Pattern used when you draw a line that have a width greater than 1 or when you fill a figure. public: static const unsigned long dense2; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.17.7. IGraphicBundle::dense3 ═══ Pattern used when you draw a line that have a width greater than 1 or when you fill a figure. public: static const unsigned long dense3; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.17.8. IGraphicBundle::dense4 ═══ Pattern used when you draw a line that have a width greater than 1 or when you fill a figure. public: static const unsigned long dense4; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.17.9. IGraphicBundle::dense5 ═══ Pattern used when you draw a line that have a width greater than 1 or when you fill a figure. public: static const unsigned long dense5; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.17.10. IGraphicBundle::dense6 ═══ Pattern used when you draw a line that have a width greater than 1 or when you fill a figure. public: static const unsigned long dense6; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.17.11. IGraphicBundle::dense7 ═══ Pattern used when you draw a line that have a width greater than 1 or when you fill a figure. public: static const unsigned long dense7; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.17.12. IGraphicBundle::dense8 ═══ Pattern used when you draw a line that have a width greater than 1 or when you fill a figure. public: static const unsigned long dense8; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.17.13. IGraphicBundle::drawOperation ═══ Returns the draw operation. If you have not set a draw operation, the default draw operation of the graphic context is returned. public: DrawOperation drawOperation() const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.17.14. IGraphicBundle::fillColor ═══ Returns the fill color. If you have not set a fill color, the default fill color of the graphic context is returned. Unless you change it, the default is black. public: IColor fillColor() const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.17.15. IGraphicBundle::filled ═══ public: static const unsigned long filled; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.17.16. IGraphicBundle::fillPattern ═══ Returns the fill pattern. If you have not set a fill pattern on the graphic bundle, the default fill pattern of the graphic context is returned. public: unsigned long fillPattern() const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.17.17. IGraphicBundle::forewardDiag1 ═══ Pattern used when you draw a line that have a width greater than 1 or when you fill a figure. public: static const unsigned long forewardDiag1; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.17.18. IGraphicBundle::forewardDiag2 ═══ Pattern used when you draw a line that have a width greater than 1 or when you fill a figure. **** Create figure to illustrate patterns **** public: static const unsigned long forewardDiag2; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.17.19. IGraphicBundle::halftone ═══ Pattern used when you draw a line that have a width greater than 1 or when you fill a figure. public: static const unsigned long halftone; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.17.20. IGraphicBundle::hasBackgroundColor ═══ Returns true if you have set the background color on the graphic bundle. public: IBase::Boolean hasBackgroundColor() const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.17.21. IGraphicBundle::hasBackgroundMixMode ═══ Returns true if you have set the background mix mode on the graphic bundle. public: IBase::Boolean hasBackgroundMixMode() const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.17.22. IGraphicBundle::hasDrawOperation ═══ Returns true if you have set the draw operation on the graphic bundle. public: IBase::Boolean hasDrawOperation() const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.17.23. IGraphicBundle::hasFillColor ═══ Returns true if you have set the fill color on the graphic bundle. public: IBase::Boolean hasFillColor() const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.17.24. IGraphicBundle::hasFillPattern ═══ Returns true if you have set the fill pattern on the graphic bundle. public: IBase::Boolean hasFillPattern() const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.17.25. IGraphicBundle::hasMixMode ═══ Returns true if you have set the mix mode on the graphic bundle. public: IBase::Boolean hasMixMode() const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.17.26. IGraphicBundle::hasPatternOrigin ═══ Returns true if you have set the pattern origin point on the graphic bundle. public: IBase::Boolean hasPatternOrigin() const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.17.27. IGraphicBundle::hasPenColor ═══ Returns true if you have set the pen color on the graphic bundle. public: IBase::Boolean hasPenColor() const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.17.28. IGraphicBundle::hasPenEndingStyle ═══ Returns true if you have set the pen-ending style on the graphic bundle. public: IBase::Boolean hasPenEndingStyle() const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.17.29. IGraphicBundle::hasPenJoiningStyle ═══ Returns true if you have set the pen-joining style on the graphic bundle. public: IBase::Boolean hasPenJoiningStyle() const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.17.30. IGraphicBundle::hasPenPattern ═══ Returns true if you have set the pen pattern on the graphic bundle. public: IBase::Boolean hasPenPattern() const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.17.31. IGraphicBundle::hasPenType ═══ Returns true if you have set the pen type on the graphic bundle. public: IBase::Boolean hasPenType() const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.17.32. IGraphicBundle::hasPenWidth ═══ Returns true if you set the pen width on the graphic bundle. public: IBase::Boolean hasPenWidth() const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.17.33. IGraphicBundle::hatched ═══ Pattern used when you draw a line that have a width greater than 1 or when you fill a figure. public: static const unsigned long hatched; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.17.34. IGraphicBundle::hatchedDiag ═══ Pattern used when you draw a line that have a width greater than 1 or when you fill a figure. public: static const unsigned long hatchedDiag; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.17.35. IGraphicBundle::hollow ═══ Pattern used when you draw a line that have a width greater than 1 or when you fill a figure. public: static const unsigned long hollow; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.17.36. IGraphicBundle::horizontal ═══ Pattern used when you draw a line that have a width greater than 1 or when you fill a figure. public: static const unsigned long horizontal; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.17.37. IGraphicBundle::IGraphicBundle ═══ You can construct, destruct, copy, and assign objects of this class. Overload 1 public: IGraphicBundle(const IGraphicContext& graphicContext); Use this function to construct a IGraphicBundle object from a IGraphicContext object. All drawing attributes in the graphic bundle object are set to the current graphic context drawing attributes. graphicContext A IGraphicContext object. Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Used in sample: BIGCPP Sample: bigcpp.cpp Overload 2 public: IGraphicBundle(); Use the default construct to create an IGraphicBundle object. Initially, no drawing attributes are set. Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Used in samples: BIGCPP Sample: bigcpp.cpp Lancelot - A Valiant Example: ltimepie.cpp Overload 3 public: IGraphicBundle(const IGraphicBundle& graphicBundle); Use this function to construct a IGraphicBundle object from another IGraphicBundle object. The drawing attributes set in the graphic bundle object are set in the new graphic bundle object. graphicBundle A IGraphicBundle object. Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.17.38. IGraphicBundle::mixMode ═══ Returns the mix mode. If you have not set a mix mode on the graphic bundle, the default mix mode of the graphic context is returned. public: MixMode mixMode() const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.17.39. IGraphicBundle::operator != ═══ Returns true if the drawing attributes are not identical. public: IBase::Boolean operator !=( const IGraphicBundle& graphicBundle); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.17.40. IGraphicBundle::operator = ═══ Use this function to assign a IGraphicBundle object to another IGraphicBundle object. public: IGraphicBundle& operator =( const IGraphicBundle& graphicBundle); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.17.41. IGraphicBundle::operator == ═══ Returns true if all drawing attributes are identical public: IBase::Boolean operator ==( const IGraphicBundle& graphicBundle); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.17.42. IGraphicBundle::patternOrigin ═══ Returns the origin point of the pen and fill patterns. If the pattern origin has not been set on the graphic bundle, the default pattern origin point of the graphic context is returned. public: IPoint patternOrigin() const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.17.43. IGraphicBundle::penColor ═══ Returns the pen color. If you have not set pen color, the default pen color of the graphic context is returned. Unless you change it, the default is black. public: IColor penColor() const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.17.44. IGraphicBundle::penEndingStyle ═══ Returns the pen-ending style. If you have not set the pen-ending style on the graphic bundle, the default pen-ending style of the graphic context is returned. public: PenEndingStyle penEndingStyle() const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.17.45. IGraphicBundle::penJoiningStyle ═══ Returns the pen-joining style. If you have not set the pen-joining style on the graphic bundle, the default pen joining style of the graphic context is returned. public: PenJoiningStyle penJoiningStyle() const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.17.46. IGraphicBundle::penPattern ═══ Returns the pen pattern. If you have not set a pen pattern on the graphic bundle, the default pen pattern of the graphic context is returned. public: unsigned long penPattern() const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.17.47. IGraphicBundle::penType ═══ Returns the pen type. If you have not set the pen on the graphic bundle, the default pen type of the graphic context is returned. public: PenType penType() const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.17.48. IGraphicBundle::penWidth ═══ Returns the pen width. If you have not set the pen width on the graphic bundle, the default pen width of the graphic context is returned. public: unsigned long penWidth() const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.17.49. IGraphicBundle::resetBackgroundColor ═══ Does not use the background color set in the graphic bundle when you draw graphic objects with this graphic bundle. The current graphic context background color is used. public: IGraphicBundle& resetBackgroundColor(); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.17.50. IGraphicBundle::resetBackgroundMixMode ═══ Does not use the background mix mode set in the graphic bundle when you draw graphic objects with this graphic bundle. The current graphic context background mix mode is used. public: IGraphicBundle& resetBackgroundMixMode(); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.17.51. IGraphicBundle::resetDrawOperation ═══ Does not use the draw operation set in the graphic bundle when you draw graphic objects with this graphic bundle. The current graphic context draw operation is used. public: IGraphicBundle& resetDrawOperation(); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.17.52. IGraphicBundle::resetFillColor ═══ Does not use the fill color set in the graphic bundle when you draw graphic objects with this graphic bundle. The current graphic context fill color is used. public: IGraphicBundle& resetFillColor(); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.17.53. IGraphicBundle::resetFillPattern ═══ Does not use the fill pattern set in the graphic bundle when you draw graphic objects with this graphic bundle. The current graphic context fill pattern is used. public: IGraphicBundle& resetFillPattern(); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.17.54. IGraphicBundle::resetMixMode ═══ Does not use the mix mode set in the graphic bundle when you draw graphic objects with this graphic bundle. The current graphic context mix mode is used. public: IGraphicBundle& resetMixMode(); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.17.55. IGraphicBundle::resetPatternOrigin ═══ Does not use the pattern origin point set in the graphic bundle when you draw graphic objects with this graphic bundle. The current graphic context pattern origin point is used. public: IGraphicBundle& resetPatternOrigin(); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.17.56. IGraphicBundle::resetPenColor ═══ Does not use the pen color set in the graphic bundle when you draw graphic objects with this graphic bundle. The current graphic context pen color is used. public: IGraphicBundle& resetPenColor(); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.17.57. IGraphicBundle::resetPenEndingStyle ═══ Does not use the pen-ending style set in the graphic bundle when you draw graphic objects with this graphic bundle. The current graphic context pen-ending style is used. public: IGraphicBundle& resetPenEndingStyle(); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.17.58. IGraphicBundle::resetPenJoiningStyle ═══ Does not use the pen-joining style set in the graphic bundle when you draw graphic objects with this graphic bundle. The current graphic context pen-joining style is used. public: IGraphicBundle& resetPenJoiningStyle(); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.17.59. IGraphicBundle::resetPenPattern ═══ Does not use the pen pattern set in the graphic bundle when you draw graphic objects with this graphic bundle. The current graphic context pen pattern is used. public: IGraphicBundle& resetPenPattern(); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.17.60. IGraphicBundle::resetPenType ═══ Does not use the pen type set in the graphic bundle when you draw graphic objects with this graphic bundle. The current graphic context pen type is used. public: IGraphicBundle& resetPenType(); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.17.61. IGraphicBundle::resetPenWidth ═══ Does not use the pen width set in the graphic bundle when you draw graphic objects with this graphic bundle. The current graphic context pen width is used. public: IGraphicBundle& resetPenWidth(); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.17.62. IGraphicBundle::setBackgroundColor ═══ Sets the current background color. public: IGraphicBundle& setBackgroundColor(const IColor& backColor); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.17.63. IGraphicBundle::setBackgroundMixMode ═══ Sets the background mix mode. public: IGraphicBundle& setBackgroundMixMode( BackgroundMixMode backgroundMixMode = backLeaveAlone); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.17.64. IGraphicBundle::setDrawOperation ═══ Sets the draw operation. This attribute only affects closed graphic objects. public: IGraphicBundle& setDrawOperation( DrawOperation drawOperation = fillAndFrame); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Used in samples: 2D Graphics Sample: 2d-draw.cpp 2D Graphics Sample: 2d-menu.cpp ═══ 1.17.65. IGraphicBundle::setFillColor ═══ Sets the current fill color. public: IGraphicBundle& setFillColor(const IColor& fillColor); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Used in samples: 2D Graphics Sample: 2d-draw.cpp 2D Graphics Sample: 2d-menu.cpp BIGCPP Sample: bigcpp.cpp Lancelot - A Valiant Example: ltimepie.cpp ═══ 1.17.66. IGraphicBundle::setFillPattern ═══ Sets the pattern used to fill a closed figure. You can also specify a bitmap handle that is used to fill a closed figure. The bitmap must be 8-by-8 and 1-bit-per-pel. public: IGraphicBundle& setFillPattern( unsigned long fillPattern = filled); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Used in samples: 2D Graphics Sample: 2d-menu.cpp BIGCPP Sample: bigcpp.cpp Lancelot - A Valiant Example: ltimepie.cpp ═══ 1.17.67. IGraphicBundle::setMixMode ═══ Sets the mix mode. public: IGraphicBundle& setMixMode(MixMode mixMode = overPaint); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Used in sample: 2D Graphics Sample: 2d-draw.cpp ═══ 1.17.68. IGraphicBundle::setPatternOrigin ═══ Sets the origin point to which the pen and fill patterns map. public: IGraphicBundle& setPatternOrigin( const IPoint& point = IPoint ( 0 , 0 )); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.17.69. IGraphicBundle::setPenColor ═══ Sets the current pen color. public: IGraphicBundle& setPenColor(const IColor& penColor); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Used in samples: 2D Graphics Sample: 2d-draw.cpp 2D Graphics Sample: 2d-menu.cpp BIGCPP Sample: bigcpp.cpp Lancelot - A Valiant Example: ltimepie.cpp ═══ 1.17.70. IGraphicBundle::setPenEndingStyle ═══ Sets the pen-ending style. The pen width must be greater than 1 for the pen-ending style to have an effect. public: IGraphicBundle& setPenEndingStyle( PenEndingStyle penEndingStyle = flat); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.17.71. IGraphicBundle::setPenJoiningStyle ═══ Sets the pen-joining style. The pen width must be greater than 1 for the pen-joining style to have an effect. public: IGraphicBundle& setPenJoiningStyle( PenJoiningStyle penJoiningStyle = bevel); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.17.72. IGraphicBundle::setPenPattern ═══ Sets the pattern used for the pen. The pen width must be greater than 1 for the pen pattern to have an effect. public: IGraphicBundle& setPenPattern( unsigned long penPattern = filled); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Used in sample: 2D Graphics Sample: 2d-menu.cpp ═══ 1.17.73. IGraphicBundle::setPenType ═══ Sets the current pen type. The pen width must be 1 for a pen type other than solid to be used. public: IGraphicBundle& setPenType(PenType penType = solid); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Used in sample: 2D Graphics Sample: 2d-menu.cpp ═══ 1.17.74. IGraphicBundle::setPenWidth ═══ Sets the width of the pen. If the value is greater than 1, the pen type is always solid. public: IGraphicBundle& setPenWidth(unsigned long lineWidth = 1); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Used in sample: 2D Graphics Sample: 2d-menu.cpp ═══ 1.17.75. IGraphicBundle::vertical ═══ Pattern used when you draw a line that have a width greater than 1 or when you fill a figure. public: static const unsigned long vertical; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.17.76. IGraphicBundle::~IGraphicBundle ═══ public: ~IGraphicBundle(); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ Nested Types - IGraphicBundle ═══ Enumerations DrawOperation BackgroundMixMode PenEndingStyle MixMode PenType PenJoiningStyle ═══ Enums - DrawOperation ═══ enum DrawOperation { fill, frame, fillAndFrame }; p. These functions control the method used to draw a closed graphic object (such as IGPie, IGChord, IGPolygon, IGRectangle, or IGEllipse). The draw operation's values are: fill Only the interior of the graphic object is drawn. frame Only the frame of the graphic object is drawn. fillAndFrame The interior and the frame of the graphic object are drawn. ═══ Enums - BackgroundMixMode ═══ enum BackgroundMixMode { backLeaveAlone, backOverPaint, backOr, backXor }; These functions govern how the background color of a graphic object is combined with any existing drawing. The background of an object is the area between fill lines when you draw a closed figure using a nonsolid fill pattern, the area of a character box when you draw a graphic string, or the 0 bits when you draw a 1-bit-per-pel bitmap. The default background mix mode is backLeaveAlone. This background mix mode has no effect on the background color when you draw a graphic object. The following is a list of the supported background mix modes. backLeaveAlone The resulting color is determined by the display surface. backOverPaint The resulting color is determined by the background color. backOr The resulting color is determined by the bitwise OR of the background color and the color of the drawing surface. backXor The resulting color is determined by the bitwise XOR of the background color and the color of the drawing surface. ═══ Enums - PenEndingStyle ═══ enum PenEndingStyle { flat, square, rounded }; These functions control the shape of the unattached end of a line. The pen width must be greater than 1 for the pen-ending style to have an effect. The following is a list of the supported pen-ending styles. flat Lines drawn with this style are flat, finishing flush with the end points of the line. square Lines drawn with this style are flat, finishing past the end of the line. The line is extended by a distance that is equal to half the pen width. round Lines drawn with this style are rounded, finishing past the end of the line. The rounded end is constructed by drawing a circle whose radius is half the pen width. ═══ Enums - MixMode ═══ enum MixMode { or, overPaint, xor, leaveAlone, and, subtract, maskSourceNot, black, notMergeSource, notXorSource, invert, mergeSourceNot, notCopySource, mergeNotSource, notMaskSource, white }; The functions govern how the pen and fill colors of a graphic object are combined with any existing drawing. The default mix mode is overPaint. When you draw a graphic object with this mix mode, the pen and fill colors used to draw the graphic object paints over any existing drawing in the same area on the drawing surface. The following is a list of the supported mix modes. Note: The description of each mix mode refers to the pen color, but the same description applies to the fill color as well. or Resulting color is determined by a bitwise OR of the pen color and the drawing surface. overPaint Resulting color is determined by pen color. This is the default for the pen mix attribute. xor Resulting color is determined by a bitwise XOR of the pen color and the drawing surface. This mode enables graphic objects to be drawn so that they can be removed easily by simply drawing them a second time using the xor mix mode. This is useful for graphic animation when an application must move a graphic object and completely restore the graphic objects that it originally overlapped. leaveAlone Resulting color is determined by the drawing surface. and Resulting color is determined by a bitwise AND of the pen color and the drawing surface. subtract Resulting color is determined by inverting the pen color and performing a bitwise AND with the drawing surface. maskSourceNot Resulting color is determined by inverting the surface color and performing a bitwise AND with the pen color. black Resulting color is black. notMergeSource Resulting color is the inverse of the or mix mode. notXorSource Resulting color is the inverse of the xor mix mode. invert Resulting color is the inverse of the drawing surface. mergeSourceNot Resulting color is determined by a bitwise OR of the pen color and the inverse color of the drawing surface. notCopySource Resulting color is the inverse of the pen color. mergeNotSource Resulting color is the determined by the inverse of the pen color and performing a bitwise AND of the drawing surface. notMaskSource Resulting color is the inverse of the and pen mix. white Resulting color is white. ═══ Enums - PenType ═══ enum PenType { solid, dot, shortDash, dashDot, doubleDot, longDash, dashDoubleDot, alternate, invisible }; These functions define the way lines, arcs, polylines, and the frame on closed figures are drawn. The pen type can be solid, a series of dashes, a series of dots, or a combination of dashes and dots. If the pen width is greater than 1, graphic objects are drawn using a pen type of solid regardless of the pen type set. The following is a list of the supported pen types. solid An uninterrupted line is drawn. This is the default pen type. dot A series of dots are drawn. shortDash A series of short dashes are drawn. dashDot A series of dash followed by a dot is drawn. longDash A series of long dashes are drawn. dashDoubleDot A series of a dash followed by two dots are drawn. alternate Alternate pels are drawn. invisible The pen is not visible. ═══ Enums - PenJoiningStyle ═══ enum PenJoiningStyle { bevel, round, miter }; These functions control the shaped formed by two intersecting lines. The pen width must be greater than 1 for the pen-joining style to have an affect. The following is a list of the supported pen-joining styles. bevel The joint has a diagonal corner. round The joint has a rounded corner. miter The joint has a 90 degree angled corner. ═══ 1.18. IGraphicContext ═══ Description Derivation Constructors Public Functions Protected Data Nested Types To close all the panels in a chapter, double click on this panel's system menu. ═══ Derivation - IGraphicContext ═══ IBase │ IVBase │ IGraphicContext Inherited by none. ═══ Class Description - IGraphicContext ═══ igrafctx.hpp The IGraphicContext class is used to render graphic objects on a device. IGraphicContext contains the graphic state information used when drawing graphics. The graphic state includes the current attribute bundle, the current world space transform matrix, and the current clip region. If you are familiar with the use of presentation spaces in Presentation Manager or device contexts in Windows, you can view IGraphicContext as a wrapper class for these data types. The IGraphicContext class also contains a static collection of default drawing attributes that initialize the attributes of the graphic context when you create it. You can change any of these default drawing attribute so that any graphic context created subsequently will be initialized with these new drawing attributes. You can at any time use other native graphic programming interfaces whose function has not been included in either this class or any of the IGraphic subclasses. You can do this by accessing either the presentation space handle or device context by using the handle member function as the first parameter to the graphic programming interface. ═══ Public Functions - IGraphicContext ═══ Boundary Accumulation startBoundaryAccumulation stopBoundaryAccumulation Constructors IGraphicContext ~IGraphicContext Conversions handle Current Drawing Position currentDrawingPosition setCurrentDrawingPosition Default Drawing Attributes defaultBackgroundColor defaultBackgroundMixMode defaultDrawOperation defaultFillColor defaultFillPattern defaultMixMode defaultPatternOrigin defaultPenColor defaultPenEndingStyle defaultPenJoiningStyle defaultPenPattern defaultPenType defaultPenWidth setDefaultBackgroundColor setDefaultBackgroundMixMode setDefaultDrawOperation setDefaultFillColor setDefaultFillPattern setDefaultMixMode setDefaultPatternOrigin setDefaultPenColor setDefaultPenEndingStyle setDefaultPenJoiningStyle setDefaultPenPattern setDefaultPenType setDefaultPenWidth Device Space Transformation pageSize setPageSize setViewPortRect viewPortRect Drawing draw Drawing Attributes backgroundColor backgroundMixMode drawOperation fillColor fillPattern graphicBundle mixMode patternOrigin penColor penEndingStyle penJoiningStyle penPattern penType penWidth setBackgroundColor setBackgroundMixMode setDrawOperation setFillColor setFillPattern setGraphicBundle setMixMode setPatternOrigin setPenColor setPenEndingStyle setPenJoiningStyle setPenPattern setPenType setPenWidth Font Operations currentFont hasFont resetFont setFont Hit Testing hitApertureSize hitPoint setHitApertureSize setHitPoint startHitTesting stopHitTesting Mapping Modes mappingMode setMappingMode Region Operations clearClipRegion clipRegion setClipRegion World Space Transformation setWorldTransformMatrix worldTransformMatrix Inherited Members IVBase asDebugInfo asString IBase asDebugInfo asString messageFile messageText setMessageFile version ═══ IGraphicContext - Boundary Accumulation ═══ Use these members to query a bounding rectangle of one or more graphic objects. Normally, you do not need to use these function. Instead, use IGraphic::boundingRect to query the bounding rectangle of a graphic object. ═══ IGraphicContext - Constructors ═══ You can construct and destruct objects of this class. ═══ IGraphicContext - Conversions ═══ Use these member to use the graphic context with native programming interfaces. ═══ IGraphicContext - Current Drawing Position ═══ Use these members to set and query the graphic context's current drawing position. These functions are useful when you are creating your own graphic object derived from IGraphic. ═══ IGraphicContext - Default Drawing Attributes ═══ Use these members to set and query the default drawing attributes that are used to initialize the drawing attributes of a graphic context when a graphic context is created. ═══ IGraphicContext - Device Space Transformation ═══ The device space is the coordinate space in which a picture is drawn before it appears in a display screen window or on the printer or plotter. The device space is defined in device-specific units. Depending upon the mapping mode used, device coordinate units can be pels, increments of an inch, increments of a meter, or they can be arbitrary. The device transformation is defined by two rectangles. The first rectangle is called the "presentation page" in the OS/2 operating system and the "window extent" in Windows. The second is called the "page viewport" in the OS/2 operating system and the "viewport extent" in Windows. The device transformation is established when the graphic context is created or resized. With the exception of the isotropic mapping mode, the page size and view port rectangle are fixed and are, therefore, predetermined. If you attempt to set the page size or viewport rectangle when the graphic context's mapping mode is not isotropic, the operations are ignored. ═══ IGraphicContext - Drawing ═══ Use these members to render the graphic objects on the device associated with the graphic context. Typically, you use the graphic object's drawOn member to render a graphic object. These functions are provided in this class to consolidate the native drawing operations. ═══ IGraphicContext - Drawing Attributes ═══ Use these members to set and query the current drawing attributes for the graphic context. ═══ IGraphicContext - Font Operations ═══ Use these members to set and query information for the font that is used by the graphic context when drawing text. ═══ IGraphicContext - Hit Testing ═══ Hit testing is the process of determining which graphic objects, if any, are contained within an area of interest. When you select an area of interest on the screen, you usually move the pointer to the applicable point and signal (by clicking the mouse, for example) that this is the graphic object you want. The area of interest is a small rectangle centered at the hit point; its size is determined by the hit aperture size. The hit testing process draws graphic objects without rendering them on the screen. Use these members to provide hit testing support for graphic objects in other classes. Normally, you do not need to call these functions to perform hit testing. Instead, use IGraphic::contains, or IGList::topGraphicUnderPoint, IGList::bottomGraphicUnderPoint, or use the IGList hit cursor to perform hit testing. ═══ IGraphicContext - Mapping Modes ═══ Use these members to define the unit of measure used to map between the page space and the device space. The supported mapping modes are as follows: pels Pel Coordinates. This is the default when the graphic context is created. lowMetric Units of 0.1 millimeter. highMetric Units of 0.01 millimeter. lowEnglish Units of 0.01 inch. highEnglish Units of 0.001 inch. twips Units of 1/1440 inch. isotropic Logical units in the x-direction and y-direction are equal when mapping between page space and device space. The aspect ratio is preserved. ═══ IGraphicContext - Region Operations ═══ Use these members to query and set a graphic context's clip region. A region is an area in device space that is defined by one or more rectangular areas. You can use a region to determine the clip area used when drawing on a device. When you use a region as a clip region, the areas that are included in a region allow graphics that are contained or intersect the region to be output to the device. Areas outside of the clip region are not output to the device. ═══ IGraphicContext - World Space Transformation ═══ Use these members to set and query the current world coordinate space transform matrix. ═══ Protected Data - IGraphicContext ═══ Inherited Members IBase recoverable unrecoverable ═══ 1.18.1. IGraphicContext::backgroundColor ═══ Returns the current background color. public: virtual IColor backgroundColor() const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.18.2. IGraphicContext::backgroundMixMode ═══ Returns the current background mix mode. public: virtual IGraphicBundle::BackgroundMixMode backgroundMixMode() const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.18.3. IGraphicContext::clearClipRegion ═══ Clears the current clip region. public: virtual IGraphicContext& clearClipRegion(); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Exceptions ┌────────────────────┬────────────────────────────────────────┐ │IAccessError │An error occurred while attempting to │ │ │clear the clip region. Make sure you │ │ │are not simultaneously using the graphic│ │ │context in another thread. │ └────────────────────┴────────────────────────────────────────┘ Used in sample: 2D Bitmap Sample: 2d-bmap.cpp ═══ 1.18.4. IGraphicContext::clipRegion ═══ Returns a handle to the current clip region. If you have not set a region as the clip region then a null handle is returned. public: virtual IRegionHandle clipRegion() const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Used in sample: 2D Bitmap Sample: 2d-bmap.cpp ═══ 1.18.5. IGraphicContext::currentDrawingPosition ═══ Returns the graphic context's current drawing position. public: virtual IPoint currentDrawingPosition() const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.18.6. IGraphicContext::currentFont ═══ Returns the font currently set in the graphic context. public: virtual IFont currentFont() const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.18.7. IGraphicContext::defaultBackgroundColor ═══ Returns the default background color. Unless you change it, the default background color is black. public: static IColor defaultBackgroundColor(); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.18.8. IGraphicContext::defaultBackgroundMixMode ═══ Returns the default background mix mode. Unless you change it, the default background mix mode is IGraphicBundle::backLeaveAlone. public: static IGraphicBundle::BackgroundMixMode defaultBackgroundMixMode(); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.18.9. IGraphicContext::defaultDrawOperation ═══ Returns the default drawing operation. Unless you change it, the default draw operation is IGraphicBundle::fillAndFrame. public: static IGraphicBundle::DrawOperation defaultDrawOperation(); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.18.10. IGraphicContext::defaultFillColor ═══ Returns the default fill color. Unless you change it, the default fill color is black. public: static IColor defaultFillColor(); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Used in sample: 2D Graphics Sample: 2d-draw.cpp ═══ 1.18.11. IGraphicContext::defaultFillPattern ═══ Returns the default fill pattern. Unless you change it, the default fill pattern is IGraphicBundle::solid. public: static unsigned long defaultFillPattern(); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.18.12. IGraphicContext::defaultMixMode ═══ Returns the default mix mode. Unless you change it, the default mix mode is IGraphicBundle::overPaint. public: static IGraphicBundle::MixMode defaultMixMode(); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Used in sample: 2D Graphics Sample: 2d-draw.cpp ═══ 1.18.13. IGraphicContext::defaultPatternOrigin ═══ Returns the default pattern origin point. Unless you change it, the default pattern origin is 0,0. public: static IPoint defaultPatternOrigin(); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.18.14. IGraphicContext::defaultPenColor ═══ Returns the default pen color. Unless you change it, the default pen color is black. public: static IColor defaultPenColor(); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Used in sample: 2D Graphics Sample: 2d-draw.cpp ═══ 1.18.15. IGraphicContext::defaultPenEndingStyle ═══ Returns the default pen-ending style. Unless you change it, the default pen-ending style is IGraphicBundle::flat. public: static IGraphicBundle::PenEndingStyle defaultPenEndingStyle(); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.18.16. IGraphicContext::defaultPenJoiningStyle ═══ Returns the default pen-joining style. Unless you change it, the default pen-joining style is IGraphicBundle::bevel. public: static IGraphicBundle::PenJoiningStyle defaultPenJoiningStyle(); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.18.17. IGraphicContext::defaultPenPattern ═══ Returns the default pen pattern. Unless you change it, the default pen pattern is IGraphicBundle::solid. public: static unsigned long defaultPenPattern(); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.18.18. IGraphicContext::defaultPenType ═══ Returns the default pen type. Unless you change it, the default pen type is IGraphicBundle::solid. public: static IGraphicBundle::PenType defaultPenType(); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.18.19. IGraphicContext::defaultPenWidth ═══ Returns the default pen width. Unless you change it, the default pen width is 1. public: static unsigned long defaultPenWidth(); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.18.20. IGraphicContext::draw ═══ Overload 1 public: virtual IGraphicContext& draw(const IG3PointArc& arc); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Exceptions ┌────────────────────┬────────────────────────────────────────┐ │IAccessError │An error occurred while attempting to │ │ │draw the graphic object. Refer to the │ │ │exception text for specific error │ │ │information. │ └────────────────────┴────────────────────────────────────────┘ Overload 2 public: virtual IGraphicContext& draw(const IGLine& line); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Exceptions ┌────────────────────┬────────────────────────────────────────┐ │IAccessError │An error occurred while attempting to │ │ │draw the graphic object. Refer to the │ │ │exception text for specific error │ │ │information. │ └────────────────────┴────────────────────────────────────────┘ Overload 3 public: virtual IGraphicContext& draw(const IGPolyline& polyline); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Exceptions ┌────────────────────┬────────────────────────────────────────┐ │IAccessError │An error occurred while attempting to │ │ │draw the graphic object. Refer to the │ │ │exception text for specific error │ │ │information. │ └────────────────────┴────────────────────────────────────────┘ Overload 4 public: virtual IGraphicContext& draw(const IGPolygon& polygon); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Exceptions ┌────────────────────┬────────────────────────────────────────┐ │IAccessError │An error occurred while attempting to │ │ │draw the graphic object. Refer to the │ │ │exception text for specific error │ │ │information. │ └────────────────────┴────────────────────────────────────────┘ Overload 5 public: virtual IGraphicContext& draw(const IGEllipse& geometry); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Exceptions ┌────────────────────┬────────────────────────────────────────┐ │IAccessError │An error occurred while attempting to │ │ │draw the graphic object. Refer to the │ │ │exception text for specific error │ │ │information. │ └────────────────────┴────────────────────────────────────────┘ Overload 6 public: virtual IGraphicContext& draw( const IGRectangle& graphicRectangle); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Exceptions ┌────────────────────┬────────────────────────────────────────┐ │IAccessError │An error occurred while attempting to │ │ │draw the graphic object. Refer to the │ │ │exception text for specific error │ │ │information. │ └────────────────────┴────────────────────────────────────────┘ Overload 7 public: virtual IGraphicContext& draw(const IGArc& arc); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Exceptions ┌────────────────────┬────────────────────────────────────────┐ │IAccessError │An error occurred while attempting to │ │ │draw the graphic object. Refer to the │ │ │exception text for specific error │ │ │information. │ └────────────────────┴────────────────────────────────────────┘ Overload 8 public: virtual IGraphicContext& draw(const IGPie& pie); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Exceptions ┌────────────────────┬────────────────────────────────────────┐ │IAccessError │An error occurred while attempting to │ │ │draw the graphic object. Refer to the │ │ │exception text for specific error │ │ │information. │ └────────────────────┴────────────────────────────────────────┘ Overload 9 public: virtual IGraphicContext& draw(const IGChord& chord); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Exceptions ┌────────────────────┬────────────────────────────────────────┐ │IAccessError │An error occurred while attempting to │ │ │draw the graphic object. Refer to the │ │ │exception text for specific error │ │ │information. │ └────────────────────┴────────────────────────────────────────┘ Overload 10 public: virtual IGraphicContext& draw( const IGString& graphicString); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Exceptions ┌────────────────────┬────────────────────────────────────────┐ │IAccessError │An error occurred while attempting to │ │ │draw the graphic object. Refer to the │ │ │exception text for specific error │ │ │information. │ └────────────────────┴────────────────────────────────────────┘ Overload 11 public: virtual IGraphicContext& draw(const IGList& list); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Exceptions ┌────────────────────┬────────────────────────────────────────┐ │IAccessError │An error occurred while attempting to │ │ │draw the graphic object. Refer to the │ │ │exception text for specific error │ │ │information. │ └────────────────────┴────────────────────────────────────────┘ Overload 12 public: virtual IGraphicContext& draw(const IGRegion& region); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Exceptions ┌────────────────────┬────────────────────────────────────────┐ │IAccessError │An error occurred while attempting to │ │ │draw the graphic object. Refer to the │ │ │exception text for specific error │ │ │information. │ └────────────────────┴────────────────────────────────────────┘ ═══ 1.18.21. IGraphicContext::drawOperation ═══ Returns the current draw operation. public: virtual IGraphicBundle::DrawOperation drawOperation() const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Used in sample: BIGCPP Sample: bigcpp.cpp ═══ 1.18.22. IGraphicContext::fillColor ═══ Returns the current fill color. public: virtual IColor fillColor() const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Used in sample: BIGCPP Sample: bigcpp.cpp ═══ 1.18.23. IGraphicContext::fillPattern ═══ Returns the current fill pattern. public: virtual unsigned long fillPattern() const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Used in sample: BIGCPP Sample: bigcpp.cpp ═══ 1.18.24. IGraphicContext::graphicBundle ═══ Queries the current attributes set for the graphic context and returns them as a bundle. public: virtual IGraphicBundle graphicBundle() const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.18.25. IGraphicContext::handle ═══ Returns the presentation space handle wrappered by the graphic context. public: IPresSpaceHandle handle() const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Used in sample: BIGCPP Sample: bigcpp.cpp ═══ 1.18.26. IGraphicContext::hasFont ═══ Returns true if a font has been set for the graphic context. If the default font is being used, the function returns false. public: virtual IBase::Boolean hasFont() const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.18.27. IGraphicContext::hitApertureSize ═══ Returns the current hit aperture size. public: virtual ISize hitApertureSize() const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.18.28. IGraphicContext::hitPoint ═══ Returns the current hit point. public: virtual IPoint hitPoint() const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.18.29. IGraphicContext::IGraphicContext ═══ You can construct and destruct objects of this class. Overload 1 public: IGraphicContext(const IWindowHandle& windowHandle); Use this function to create a IGraphicContext object from a IWindowHandle object. A graphic context is created that is compatible with the screen device that is associated with the window handle. windowHandle Window handle used to get a presentation space in OS/2 (or device context in Windows). Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Used in sample: Magnify Sample: magnify.cpp Overload 2 public: IGraphicContext(); Use the default constructor to create a graphic context. This creates a memory graphic context. A memory graphic context is used when you want to draw graphic objects in memory and subsequently create a bitmap from the drawn graphic objects. Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Overload 3 public: IGraphicContext(const IPresSpaceHandle& presSpaceHandle); Use this member to construct a IGraphicContext object from an IPresSpaceHandle object. You would typically use this member to construct a IGraphicContext object from the IPresSpaceHandle object provided during paint events. Note: If you construct a IGraphicContext object with this constructor, the IPresSpaceHandle is not be destroyed when the IGraphicContext is deleted. presSpaceHandle Handle of presentation space. Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Used in samples: 2D Bitmap Sample: 2d-bmap.cpp 2D Graphics Sample: 2d-menu.cpp Direct Manipulation Sample 2: dmsamp2.cpp Overload 4 public: IGraphicContext(const ISize& contextSize); Use this function to create a IGraphicContext object from a ISize object. This creates a memory graphic context and sets a bitmap into the graphic context with the dimensions specified in the ISize object. This allows you to draw into a bitmap. When you are finished drawing, you can create a IGBitmap object from the graphic context using the IGBitmap constructor which takes a IGraphicContext object and an IRectangle object as parameters. Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.18.30. IGraphicContext::mappingMode ═══ Retrieves the units defined for the graphic context. public: virtual MappingMode mappingMode() const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Exceptions ┌────────────────────┬────────────────────────────────────────┐ │IAccessError │An error occurred while attempting to │ │ │query the mapping mode. Refer to the │ │ │exception text for specific error │ │ │information. │ └────────────────────┴────────────────────────────────────────┘ ═══ 1.18.31. IGraphicContext::mixMode ═══ Returns the current pen mix mode. public: virtual IGraphicBundle::MixMode mixMode() const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Exceptions ┌────────────────────┬────────────────────────────────────────┐ │IAccessError │An error occured while attempting to set│ │ │the mix mode. Refer to the exception │ │ │text for specific error information. │ └────────────────────┴────────────────────────────────────────┘ ═══ 1.18.32. IGraphicContext::pageSize ═══ Returns the page size of the graphic context. public: virtual ISize pageSize() const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Presentation Manager: This function is equivalent to querying the presentation page size using GpiQueryPS. ═══ 1.18.33. IGraphicContext::patternOrigin ═══ Returns the current fill pattern origin point. The pattern origin defines a point from which the pen and fill patterns spread horizontally and vertically. The lower-left corner is aligned on this point and is expressed in world coordinate space. public: virtual IPoint patternOrigin() const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Exceptions ┌────────────────────┬────────────────────────────────────────┐ │IAccessError │An error occurred while attempting to │ │ │query the pattern origin. Refer to the │ │ │exception text for specific error │ │ │information. │ └────────────────────┴────────────────────────────────────────┘ ═══ 1.18.34. IGraphicContext::penColor ═══ Returns the current pen color. public: virtual IColor penColor() const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Exceptions ┌────────────────────┬────────────────────────────────────────┐ │IAccessError │An error occurred while attempting to │ │ │query the pen color. Refer to the │ │ │exception text for specific error │ │ │information. │ └────────────────────┴────────────────────────────────────────┘ Used in sample: BIGCPP Sample: bigcpp.cpp ═══ 1.18.35. IGraphicContext::penEndingStyle ═══ Returns the current pen-ending style. public: virtual IGraphicBundle::PenEndingStyle penEndingStyle() const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Exceptions ┌────────────────────┬────────────────────────────────────────┐ │IAccessError │An error occurred while attempting to │ │ │query the pen-ending style. Refer to │ │ │the exception text for specific error │ │ │information. │ └────────────────────┴────────────────────────────────────────┘ ═══ 1.18.36. IGraphicContext::penJoiningStyle ═══ Returns the current pen-joining style. public: virtual IGraphicBundle::PenJoiningStyle penJoiningStyle() const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Exceptions ┌────────────────────┬────────────────────────────────────────┐ │IAccessError │An error occurred while attempting to │ │ │query the pen-joining style. Refer to │ │ │the exception text for specific error │ │ │information. │ └────────────────────┴────────────────────────────────────────┘ ═══ 1.18.37. IGraphicContext::penPattern ═══ Returns the current pen pattern. public: virtual unsigned long penPattern() const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Exceptions ┌────────────────────┬────────────────────────────────────────┐ │IAccessError │An error occurred while attempting to │ │ │query the pen pattern. Refer to the │ │ │exception text for specific error │ │ │information. │ └────────────────────┴────────────────────────────────────────┘ Used in sample: BIGCPP Sample: bigcpp.cpp ═══ 1.18.38. IGraphicContext::penType ═══ Returns the current pen type. public: virtual IGraphicBundle::PenType penType() const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Exceptions ┌────────────────────┬────────────────────────────────────────┐ │IAccessError │An error occurred while attempting to │ │ │query the pen type. Refer to the │ │ │exception text for specific error │ │ │information. │ └────────────────────┴────────────────────────────────────────┘ Used in sample: BIGCPP Sample: bigcpp.cpp ═══ 1.18.39. IGraphicContext::penWidth ═══ Returns the current pen width. public: virtual unsigned long penWidth() const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Exceptions ┌────────────────────┬────────────────────────────────────────┐ │IAccessError │An error occurred while attempting to │ │ │query the pen width. Refer to the │ │ │exception text for specific error │ │ │information. │ └────────────────────┴────────────────────────────────────────┘ Used in sample: BIGCPP Sample: bigcpp.cpp ═══ 1.18.40. IGraphicContext::resetFont ═══ Sets the graphic context's current font to the system default font. public: virtual IGraphicContext& resetFont(); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Exceptions ┌────────────────────┬────────────────────────────────────────┐ │IAccessError │An error occurred while attempting to │ │ │reset the font. Refer to the exception │ │ │text for specific error information. │ └────────────────────┴────────────────────────────────────────┘ ═══ 1.18.41. IGraphicContext::setBackgroundColor ═══ Sets the current background color. public: virtual IGraphicContext& setBackgroundColor( const IColor& backgroundColor); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Exceptions ┌────────────────────┬────────────────────────────────────────┐ │IAccessError │An error occurred while attempting to │ │ │set the background color. Refer to the │ │ │exception text for specific error │ │ │information. │ └────────────────────┴────────────────────────────────────────┘ Used in sample: 2D Graphics Sample: 2d-menu.cpp ═══ 1.18.42. IGraphicContext::setBackgroundMixMode ═══ Sets the current background mix mode. public: virtual IGraphicContext& setBackgroundMixMode( IGraphicBundle::BackgroundMixMode backgroundMixMode); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Exceptions ┌────────────────────┬────────────────────────────────────────┐ │IAccessError │An error occurred while attempting to │ │ │set the background mix mode. Refer to │ │ │the exception text for specific error │ │ │information. │ └────────────────────┴────────────────────────────────────────┘ ═══ 1.18.43. IGraphicContext::setClipRegion ═══ Overload 1 public: virtual IGraphicContext& setClipRegion( const IGRegion& region); Sets the argument region as the new clip region for the graphic context. Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Exceptions ┌────────────────────┬────────────────────────────────────────┐ │IAccessError │An error occurred while attempting to │ │ │set the clipping region. Refer to the │ │ │exception text for specific error │ │ │information. │ └────────────────────┴────────────────────────────────────────┘ Used in sample: 2D Bitmap Sample: 2d-bmap.cpp Overload 2 public: virtual IGraphicContext& setClipRegion( const IRegionHandle& region); Sets the argument region as the new clip region for the graphic context. Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Exceptions ┌────────────────────┬────────────────────────────────────────┐ │IAccessError │An error occurred while attempting to │ │ │set the clipping region. Refer to the │ │ │exception text for specific error │ │ │information. │ └────────────────────┴────────────────────────────────────────┘ ═══ 1.18.44. IGraphicContext::setCurrentDrawingPosition ═══ Sets the graphic context's current drawing position to the point specified. public: virtual IGraphicContext& setCurrentDrawingPosition( const IPoint& point); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Exceptions ┌────────────────────┬────────────────────────────────────────┐ │IAccessError │An error occurred while attempting to │ │ │set the current drawing position. Refer│ │ │to the exception text for specific error│ │ │information. │ └────────────────────┴────────────────────────────────────────┘ ═══ 1.18.45. IGraphicContext::setDefaultBackgroundColor ═══ Sets the default background color. public: static void setDefaultBackgroundColor( const IColor& backgroundColor); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.18.46. IGraphicContext::setDefaultBackgroundMixMode ═══ Sets the default background mix mode. public: static void setDefaultBackgroundMixMode( IGraphicBundle::BackgroundMixMode backMixMode); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.18.47. IGraphicContext::setDefaultDrawOperation ═══ Sets the default draw operation. public: static void setDefaultDrawOperation( IGraphicBundle::DrawOperation drawOperation); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.18.48. IGraphicContext::setDefaultFillColor ═══ Sets the default fill color. public: static void setDefaultFillColor(const IColor& fillColor); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.18.49. IGraphicContext::setDefaultFillPattern ═══ Sets the default fill pattern. public: static void setDefaultFillPattern( unsigned long fillPattern); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.18.50. IGraphicContext::setDefaultMixMode ═══ Sets the default mix mode for the pen and fill operations. public: static void setDefaultMixMode( IGraphicBundle::MixMode mixMode); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.18.51. IGraphicContext::setDefaultPatternOrigin ═══ Sets the default pattern origin point. public: static void setDefaultPatternOrigin(const IPoint& point); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.18.52. IGraphicContext::setDefaultPenColor ═══ Sets the default pen color. public: static void setDefaultPenColor(const IColor& penColor); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.18.53. IGraphicContext::setDefaultPenEndingStyle ═══ Sets the default pen-ending style. The pen width must be greater than 1 for the pen-ending style to have an effect. public: static void setDefaultPenEndingStyle( IGraphicBundle::PenEndingStyle penEndingStyle); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.18.54. IGraphicContext::setDefaultPenJoiningStyle ═══ Sets the default pen-joining style. The pen width must be greater than 1 for the pen-joining style to have an affect. public: static void setDefaultPenJoiningStyle( IGraphicBundle::PenJoiningStyle penJoiningStyle); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.18.55. IGraphicContext::setDefaultPenPattern ═══ Sets the default pen pattern. public: static void setDefaultPenPattern(unsigned long penPattern); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.18.56. IGraphicContext::setDefaultPenType ═══ Sets the default pen type. The pen width must be 1 to use a nonsolid pen type. public: static void setDefaultPenType( IGraphicBundle::PenType penType); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.18.57. IGraphicContext::setDefaultPenWidth ═══ Sets the default pen width. public: static void setDefaultPenWidth(unsigned long penWidth); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.18.58. IGraphicContext::setDrawOperation ═══ Sets the current draw operation for closed figures (frame, fill, or fill and frame). public: virtual IGraphicContext& setDrawOperation( IGraphicBundle::DrawOperation drawOperation); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Exceptions ┌────────────────────┬────────────────────────────────────────┐ │IAccessError │An error occurred while attempting to │ │ │set draw operation. Refer to the │ │ │exception text for specific error │ │ │information. │ └────────────────────┴────────────────────────────────────────┘ Used in samples: 2D Graphics Sample: 2d-draw.cpp Direct Manipulation Sample 2: dmsamp2.cpp ═══ 1.18.59. IGraphicContext::setFillColor ═══ Sets the current fill color. public: virtual IGraphicContext& setFillColor( const IColor& fillColor); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Exceptions ┌────────────────────┬────────────────────────────────────────┐ │IAccessError │An error occurred while attempting to │ │ │set the fill color. Refer to the │ │ │exception text for specific error │ │ │information. │ └────────────────────┴────────────────────────────────────────┘ Used in samples: 2D Graphics Sample: 2d-draw.cpp 2D Graphics Sample: 2d-menu.cpp ═══ 1.18.60. IGraphicContext::setFillPattern ═══ Sets the current fill pattern. public: virtual IGraphicContext& setFillPattern( unsigned long fillPattern); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Exceptions ┌────────────────────┬────────────────────────────────────────┐ │IAccessError │An error occurred while attempting to │ │ │set the fill pattern. Refer to the │ │ │exception text for specific error │ │ │information. │ └────────────────────┴────────────────────────────────────────┘ Used in sample: 2D Graphics Sample: 2d-menu.cpp ═══ 1.18.61. IGraphicContext::setFont ═══ Sets the graphic context's current font to the font specified. public: virtual IGraphicContext& setFont(const IFont& font); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Exceptions ┌────────────────────┬────────────────────────────────────────┐ │IAccessError │An error occurred while attempting to │ │ │set the font. Refer to the exception │ │ │text for specific error information. │ └────────────────────┴────────────────────────────────────────┘ ═══ 1.18.62. IGraphicContext::setGraphicBundle ═══ Sets the drawing attributes for the graphic context to those you set in the graphic bundle. public: virtual IGraphicContext& setGraphicBundle( const IGraphicBundle& graphicBundle); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Used in sample: BIGCPP Sample: bigcpp.cpp ═══ 1.18.63. IGraphicContext::setHitApertureSize ═══ Sets the size of the area around the hit point to use for determining hit tests. public: virtual IGraphicContext& setHitApertureSize( const ISize& hitSize); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Exceptions ┌────────────────────┬────────────────────────────────────────┐ │IAccessError │An error occurred while attempting to │ │ │set the hit aperture size. Refer to the│ │ │exception text for specific error │ │ │information. │ └────────────────────┴────────────────────────────────────────┘ ═══ 1.18.64. IGraphicContext::setHitPoint ═══ Sets the current hit-point. Typically, this hit point is the point generated when the user presses a mouse button. public: virtual IGraphicContext& setHitPoint( const IPoint& hitPoint); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Exceptions ┌────────────────────┬────────────────────────────────────────┐ │IAccessError │An error occurred while attempting to │ │ │set the hit point. Refer to the │ │ │exception text for specific error │ │ │information. │ └────────────────────┴────────────────────────────────────────┘ ═══ 1.18.65. IGraphicContext::setMappingMode ═══ Sets the units for the graphic context. public: virtual IGraphicContext& setMappingMode( MappingMode mappingMode = pels); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Exceptions ┌────────────────────┬────────────────────────────────────────┐ │IAccessError │An error occurred while attempting to │ │ │set the mapping mode. Refer to the │ │ │exception text for specific error │ │ │information. │ └────────────────────┴────────────────────────────────────────┘ ═══ 1.18.66. IGraphicContext::setMixMode ═══ Sets the current mix mode. public: virtual IGraphicContext& setMixMode( IGraphicBundle::MixMode mixMode); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Exceptions ┌────────────────────┬────────────────────────────────────────┐ │IAccessError │An error occurred while attempting to │ │ │set the mix mode. Refer to the │ │ │exception text for specific error │ │ │information. │ └────────────────────┴────────────────────────────────────────┘ Used in samples: 2D Graphics Sample: 2d-draw.cpp Direct Manipulation Sample 2: dmsamp2.cpp ═══ 1.18.67. IGraphicContext::setPageSize ═══ Sets the page size of the graphic context. This function is ignored if the graphic context's mapping mode is not isotropic. public: virtual IGraphicContext& setPageSize(const ISize& pageSize); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Presentation Manager: The function is equivalent to setting the page size when using GpiCreatePS or GpiSetPS. ═══ 1.18.68. IGraphicContext::setPatternOrigin ═══ Sets the current fill pattern origin point. public: virtual IGraphicContext& setPatternOrigin( const IPoint& point); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Exceptions ┌────────────────────┬────────────────────────────────────────┐ │IAccessError │An error occurred while attempting to │ │ │set the pattern origin. Refer to the │ │ │exception text for specific error │ │ │information. │ └────────────────────┴────────────────────────────────────────┘ ═══ 1.18.69. IGraphicContext::setPenColor ═══ Sets the current pen color. public: virtual IGraphicContext& setPenColor( const IColor& penColor); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Exceptions ┌────────────────────┬────────────────────────────────────────┐ │IAccessError │An error occurred while attempting to │ │ │set the pen color. Refer to the │ │ │exception text for specific error │ │ │information. │ └────────────────────┴────────────────────────────────────────┘ Used in samples: 2D Graphics Sample: 2d-draw.cpp 2D Graphics Sample: 2d-menu.cpp BIGCPP Sample: bigcpp.cpp ═══ 1.18.70. IGraphicContext::setPenEndingStyle ═══ Sets the current pen-ending style. The pen width must be greater than 1 for the pen-ending style to have an effect. public: virtual IGraphicContext& setPenEndingStyle( IGraphicBundle::PenEndingStyle penEndingStyle); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Exceptions ┌────────────────────┬────────────────────────────────────────┐ │IAccessError │An error occurred while attempting to │ │ │set the pen-ending style. Refer to the │ │ │exception text for specific error │ │ │information. │ └────────────────────┴────────────────────────────────────────┘ ═══ 1.18.71. IGraphicContext::setPenJoiningStyle ═══ Sets the current pen-joining style. The pen width must be greater than 1 for the pen-joining style to have an effect. public: virtual IGraphicContext& setPenJoiningStyle( IGraphicBundle::PenJoiningStyle penJoiningStyle); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Exceptions ┌────────────────────┬────────────────────────────────────────┐ │IAccessError │An error occurred while attempting to │ │ │set the pen-joining style. Refer to the│ │ │exception text for specific error │ │ │information. │ └────────────────────┴────────────────────────────────────────┘ ═══ 1.18.72. IGraphicContext::setPenPattern ═══ Sets the current pen pattern. public: virtual IGraphicContext& setPenPattern( unsigned long penPattern); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Exceptions ┌────────────────────┬────────────────────────────────────────┐ │IAccessError │An error occurred while attempting to │ │ │set the pen pattern. Refer to the │ │ │exception text for specific error │ │ │information. │ └────────────────────┴────────────────────────────────────────┘ Used in samples: 2D Graphics Sample: 2d-menu.cpp BIGCPP Sample: bigcpp.cpp ═══ 1.18.73. IGraphicContext::setPenType ═══ Sets the current pen type. The pen width must be 1 for a pen type other than solid to be used. public: virtual IGraphicContext& setPenType( IGraphicBundle::PenType penType); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Exceptions ┌────────────────────┬────────────────────────────────────────┐ │IAccessError │An error occurred while attempting to │ │ │set the pen type. Refer to the │ │ │exception text for specific error │ │ │information. │ └────────────────────┴────────────────────────────────────────┘ Used in samples: 2D Graphics Sample: 2d-menu.cpp BIGCPP Sample: bigcpp.cpp ═══ 1.18.74. IGraphicContext::setPenWidth ═══ Sets the current pen width. public: virtual IGraphicContext& setPenWidth(unsigned long width); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Exceptions ┌────────────────────┬────────────────────────────────────────┐ │IAccessError │An error occurred while attempting to │ │ │set the pen width. Refer to the │ │ │exception text for specific error │ │ │information. │ └────────────────────┴────────────────────────────────────────┘ Used in sample: 2D Graphics Sample: 2d-menu.cpp ═══ 1.18.75. IGraphicContext::setViewPortRect ═══ Sets the viewport rectangle of the graphic context. This function is ignored if the graphic context's mapping mode is not isotropic. public: virtual IGraphicContext& setViewPortRect( const IRectangle& viewportRectangle); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Presentation Manager: This function is equivalent to setting the page viewport rectangle using GpiSetPageViewport. ═══ 1.18.76. IGraphicContext::setWorldTransformMatrix ═══ Sets the world coordinate space transform matrix using the specified transform method. public: virtual IGraphicContext& setWorldTransformMatrix( const ITransformMatrix& transformMatrix, IGraphic::TransformMethod method = IGraphic::replace); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Exceptions ┌────────────────────┬────────────────────────────────────────┐ │IAccessError │An error occurred while attempting to │ │ │set the world coordinate space transform│ │ │matrix. Refer to the exception text for│ │ │specific error information. │ └────────────────────┴────────────────────────────────────────┘ Used in sample: BIGCPP Sample: bigcpp.cpp ═══ 1.18.77. IGraphicContext::startBoundaryAccumulation ═══ Starts the boundary accumulation process, subsequent drawing operations are added to the bounding rectangle. Drawing operations are not visible when you are accumulating boundary data. public: virtual IGraphicContext& startBoundaryAccumulation(); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Exceptions ┌────────────────────┬────────────────────────────────────────┐ │IAccessError │An error occurred while attempting to │ │ │start boundary accumulation. Refer to │ │ │the exception text for specific error │ │ │information. │ └────────────────────┴────────────────────────────────────────┘ ═══ 1.18.78. IGraphicContext::startHitTesting ═══ Starts the hit-testing process. Any graphics drawn using this graphic context after this function has been called sets its selection state to true if the current hit point is contained within the graphic. Draw functions called after this function call are not visible. public: virtual IGraphicContext& startHitTesting(); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Exceptions ┌────────────────────┬────────────────────────────────────────┐ │IAccessError │An error occurred while attempting to │ │ │start hit-testing. Refer to the │ │ │exception text for specific error │ │ │information. │ └────────────────────┴────────────────────────────────────────┘ ═══ 1.18.79. IGraphicContext::stopBoundaryAccumulation ═══ Stops the boundary accumulation process and returns the bounding rectangle of all drawing operations that were made since calling the startBoundaryAccumulation function. Subsequent draw functions are visible. public: virtual IRectangle stopBoundaryAccumulation(); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Exceptions ┌────────────────────┬────────────────────────────────────────┐ │IAccessError │An error occurred while attempting to │ │ │stop boundary accumulation. Refer to │ │ │the exception text for specific error │ │ │information. │ └────────────────────┴────────────────────────────────────────┘ ═══ 1.18.80. IGraphicContext::stopHitTesting ═══ Stops the hit testing process. All subsequent draw functions are visible. public: virtual IGraphicContext& stopHitTesting(); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Exceptions ┌────────────────────┬────────────────────────────────────────┐ │IAccessError │An error occurred while attempting to │ │ │stop hit-testing. Refer to the │ │ │exception text for specific error │ │ │information. │ └────────────────────┴────────────────────────────────────────┘ ═══ 1.18.81. IGraphicContext::viewPortRect ═══ Returns the viewport rectangle. public: virtual IRectangle viewPortRect() const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Presentation Manager: This function is equivalent to querying the page viewport using GpiQueryPageViewport. ═══ 1.18.82. IGraphicContext::worldTransformMatrix ═══ Returns the current world coordinate space transform matrix. public: virtual ITransformMatrix worldTransformMatrix() const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Exceptions ┌────────────────────┬────────────────────────────────────────┐ │IAccessError │An error occurred while attempting to │ │ │query the world coordinate space │ │ │transform matrix. Refer to the │ │ │exception text for specific error │ │ │information. │ └────────────────────┴────────────────────────────────────────┘ Used in sample: BIGCPP Sample: bigcpp.cpp ═══ 1.18.83. IGraphicContext::~IGraphicContext ═══ public: virtual ~IGraphicContext(); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ Nested Types - IGraphicContext ═══ Enumerations MappingMode ═══ Enums - MappingMode ═══ enum MappingMode { pels, lowMetric, highMetric, lowEnglish, highEnglish, twips, isotropic }; ═══ 1.19. IGRectangle ═══ Description Derivation Constructors Public Functions Protected Functions Protected Data To close all the panels in a chapter, double click on this panel's system menu. ═══ Derivation - IGRectangle ═══ IBase │ IVBase │ IGraphic │ IGRectangle Inherited by none. ═══ Class Description - IGRectangle ═══ igrect.hpp Objects of this class are used to draw two-dimensional rectangles. An IGRectangle may be filled, framed or filled and framed. You can optionally round the corners of the rectangle by specifying the full length of the horizontal and vertical axes of an ellipse. The corners of the rectangle are rounded by a quarter of the ellipse. When you draw an IGRectangle, the following graphic bundle drawing attributes affect its appearance:  Draw operation  Pen color  Fill color  Background color  Mix mode  Background mix mode  Pen width  Pen type  Pen joining style  Pen pattern  Fill pattern  Pattern origin ═══ Public Functions - IGRectangle ═══ Comparisons operator != operator == Constructors IGRectangle operator = ~IGRectangle Corner Rounding rounding setRounding Drawing drawOn Enclosing Rectangle enclosingRect setEnclosingRect Inherited Members IGraphic boundingRect contains drawOn graphicBundle hasGraphicBundle hasTransformMatrix id isHitSelectable isHitSelected removeGraphicBundle resetTransformMatrix rotateBy scaleBy setGraphicBundle setHitSelectable setHitSelected setId setTransformMatrix setTransformMethod transformMatrix transformMethod translateBy IVBase asDebugInfo asString IBase asDebugInfo asString messageFile messageText setMessageFile version ═══ IGRectangle - Comparisons ═══ Use these members to compare two IGRectangle objects. ═══ IGRectangle - Constructors ═══ You can construct, destruct, copy, and assign objects of this class. ═══ IGRectangle - Corner Rounding ═══ Use these members to round the corners of the IGRectangle object. You control the corner rounding by specifying the full length of the horizontal and vertical axes of an ellipse. The corners of the box are rounded by a quarter of the ellipse. If the horizontal and vertical axes are equal, the rectangle is rounded by using a quarter circle. ═══ IGRectangle - Drawing ═══ Use these members to render an IGRectangle object on a device. ═══ IGRectangle - Enclosing Rectangle ═══ Use these members to define the size and position of the IGRectangle object. ═══ Protected Functions - IGRectangle ═══ Inherited Members IGraphic operator != operator = operator == ═══ Protected Data - IGRectangle ═══ Inherited Members IBase recoverable unrecoverable ═══ 1.19.1. IGRectangle::drawOn ═══ Draws the rectangle on the device associated with the graphic context. public: virtual IGRectangle& drawOn( IGraphicContext& graphicContext); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Used in samples: 2D Graphics Sample: 2d-draw.cpp 2D Graphics Sample: 2d-menu.cpp Direct Manipulation Sample 2: dmsamp2.cpp ═══ 1.19.2. IGRectangle::enclosingRect ═══ Returns the dimensions of the IGRectangle. public: virtual IRectangle enclosingRect() const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Used in sample: 2D Graphics Sample: 2d-draw.cpp ═══ 1.19.3. IGRectangle::IGRectangle ═══ You can construct, destruct, copy, and assign objects of this class. Overload 1 public: IGRectangle(const IGRectangle& gRectangle); Use this function to construct a IGRectangle object from another IGRectangle object. gRectangle A reference to a IGRectangle object. Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Overload 2 public: IGRectangle(const IRectangle& rectangle = IRectangle ( )); Use this function to construct a IGRectangle object from a IRectangle object. The position and size of the IGRectangle is set by the argument IRectangle. rectangle (Optional) A IRectangle object specifying size and position. Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Used in samples: 2D Bitmap Sample: 2d-bmap.cpp 2D Graphics Sample: 2d-draw.cpp 2D Graphics Sample: 2d-menu.cpp Direct Manipulation Sample 2: dmsamp2.cpp Lancelot - A Valiant Example: ltimepie.cpp ═══ 1.19.4. IGRectangle::operator != ═══ Returns true if the rectangles are not identical (includes the graphic bundle attributes and the transform matrix). public: IBase::Boolean operator !=( const IGRectangle& gRectangle) const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.19.5. IGRectangle::operator = ═══ Use this function to assign a IGRectangle object to another IGRectangle object. public: IGRectangle& operator =(const IGRectangle& gRectangle); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.19.6. IGRectangle::operator == ═══ Returns true if the rectangles are identical (includes the graphic bundle attributes and the transform matrix). public: IBase::Boolean operator ==( const IGRectangle& gRectangle) const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.19.7. IGRectangle::rounding ═══ Returns the full length of the horizontal and vertical axes used to determine corner rounding. By default, the corners of the rectangle are not rounded. public: virtual IPair rounding() const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.19.8. IGRectangle::setEnclosingRect ═══ Sets the dimensions of the IGRectangle. public: virtual IGRectangle& setEnclosingRect( const IRectangle& rectangle); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Used in samples: 2D Bitmap Sample: 2d-bmap.cpp 2D Graphics Sample: 2d-draw.cpp 2D Graphics Sample: 2d-menu.cpp Lancelot - A Valiant Example: ltimepie.cpp ═══ 1.19.9. IGRectangle::setRounding ═══ Sets the full length of the horizontal and vertical axes of the ellipse used to determine corner rounding. public: virtual IGRectangle& setRounding( const IPair& ellipseAxis = IPair ( 0 , 0 )); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.19.10. IGRectangle::~IGRectangle ═══ public: virtual ~IGRectangle(); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.20. IGRegion ═══ Description Derivation Constructors Public Functions Protected Functions Protected Data To close all the panels in a chapter, double click on this panel's system menu. ═══ Derivation - IGRegion ═══ IBase │ IVBase │ IGraphic │ IGRegion Inherited by none. ═══ Class Description - IGRegion ═══ igregion.hpp Objects of IGRegion are graphic objects that may be composed of one or more closed figures. You can use a IGRegion to construct a shape from one or more closed figures. You can draw the region on a graphic context or used as a clip region when drawing other graphic objects on a graphic context. When you draw a IGRegion, the following graphic bundle drawing attributes affect a region's appearance:  Pen color  Mix mode  Pen pattern  Pattern origin The coordinates you use to define a region are specified in device space. For this reason the world transform functions that are declared in IGraphic have no effect and are overridden as private functions in IGRegion. Constructing an IGRegion is a simple process that involves adding, subtracting, logical XORing or logical ANDing a closed figure or another IGRegion. ═══ Public Functions - IGRegion ═══ Constructors IGRegion operator = ~IGRegion Conversion operator const IRegionHandle Drawing drawOn Modifying a Region clear Operators with Closed Shapes operator &= operator += operator -= operator ^= Operators with Other IGRegions operator &= operator += operator -= operator ^= Positioning moveBy Inherited Members IGraphic boundingRect contains drawOn graphicBundle hasGraphicBundle hasTransformMatrix id isHitSelectable isHitSelected removeGraphicBundle resetTransformMatrix rotateBy scaleBy setGraphicBundle setHitSelectable setHitSelected setId setTransformMatrix setTransformMethod transformMatrix transformMethod translateBy IVBase asDebugInfo asString IBase asDebugInfo asString messageFile messageText setMessageFile version ═══ IGRegion - Constructors ═══ You can construct, destruct, copy, and assign objects of this class. ═══ IGRegion - Conversion ═══ Use these members to access the IGRegion as an IRegionHandle object. ═══ IGRegion - Drawing ═══ Use these members to render an IGRegion object on a device. ═══ IGRegion - Modifying a Region ═══ Use these members to modify the area of a region. ═══ IGRegion - Operators with Closed Shapes ═══ Use these members to combine a closed shape with a region. Combining Overlapping Regions Combining Disjoint Regions ═══ IGRegion - Operators with Other IGRegions ═══ Use these members to combine two IGRegions objects. Combining Overlapping Regions Combining Disjoint Regions ═══ IGRegion - Positioning ═══ Use these members to move an IGegion object in device space. ═══ Protected Functions - IGRegion ═══ Inherited Members IGraphic operator != operator = operator == ═══ Protected Data - IGRegion ═══ Inherited Members IBase recoverable unrecoverable ═══ 1.20.1. IGRegion::clear ═══ Sets the region to a null region. public: virtual IGRegion& clear(); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.20.2. IGRegion::drawOn ═══ Draws the the region on the device associated with the graphic context. public: virtual IGRegion& drawOn(IGraphicContext& graphicContext); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Exceptions ┌────────────────────┬────────────────────────────────────────┐ │IAccessError │An error occurred while attempting to │ │ │draw the region. Refer to the exception│ │ │text for specific error information. │ └────────────────────┴────────────────────────────────────────┘ ═══ 1.20.3. IGRegion::IGRegion ═══ You can construct, destruct, copy, and assign objects of this class. Overload 1 public: IGRegion(const IRegionHandle& regionHandle); Use this function to construct a IGRegion object from a IRegionHandle object. The IGRegion is initialized to the region defined by the region handle. regionHandle A handle to an existing region. Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Exceptions ┌────────────────────┬────────────────────────────────────────┐ │IAccessError │An error occurred while attempting to │ │ │create the region. Refer to the │ │ │exception text for specific error │ │ │information. │ └────────────────────┴────────────────────────────────────────┘ Used in sample: 2D Bitmap Sample: 2d-bmap.cpp Overload 2 public: IGRegion(); Use the default constructor to create a IGRegion object. The region is initially empty. Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Exceptions ┌────────────────────┬────────────────────────────────────────┐ │IAccessError │An error occurred while attempting to │ │ │create the region. Refer to the │ │ │exception text for specific error │ │ │information. │ └────────────────────┴────────────────────────────────────────┘ Used in sample: 2D Bitmap Sample: 2d-bmap.cpp Overload 3 public: IGRegion(const IGRegion& region); Use this function to construct a IGRegion object from another IGRegion object. region A reference to a IGRegion object. Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Exceptions ┌────────────────────┬────────────────────────────────────────┐ │IAccessError │An error occurred while attempting to │ │ │create the region. Refer to the │ │ │exception text for specific error │ │ │information. │ └────────────────────┴────────────────────────────────────────┘ Overload 4 public: IGRegion( const IGraphicContext& graphicContext, const IRectangle& rectangle); Use this function to create a IGRegion object from a IGraphicContext object and a IRectangle object. The region is created from the area specified by the rectangle in device coordinates for the argument graphic context. graphicContext A IGraphicContext object. rectangle Rectangular area in device coordinates. Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Exceptions ┌────────────────────┬────────────────────────────────────────┐ │IAccessError │An error occurred while attempting to │ │ │create the region. Refer to the │ │ │exception text for specific error │ │ │information. │ └────────────────────┴────────────────────────────────────────┘ Overload 5 public: IGRegion(const IWindowHandle& windowHandle); Use this function to construct a IGRegion object from a IWindowHandle object. The region is created from the windows update region. windowHandle Window handle from which the update region is created. Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Exceptions ┌────────────────────┬────────────────────────────────────────┐ │IAccessError │An error occurred while attempting to │ │ │create the region. Refer to the │ │ │exception text for specific error │ │ │information. │ └────────────────────┴────────────────────────────────────────┘ ═══ 1.20.4. IGRegion::moveBy ═══ Moves the region by the amount specified by the argument point. public: virtual IGRegion& moveBy(const IPoint& point); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Exceptions ┌────────────────────┬────────────────────────────────────────┐ │IAccessError │An error occurred while attempting to │ │ │move the region. Refer to the exception│ │ │text for specific error information. │ └────────────────────┴────────────────────────────────────────┘ ═══ 1.20.5. IGRegion::operator &= ═══ Overload 1 public: IGRegion& operator &=(const IGEllipse& ellipse); Sets the region to the area defined by the intersection of the region and the area of the ellipse. Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Exceptions ┌────────────────────┬────────────────────────────────────────┐ │IAccessError │An error occurred while attempting to │ │ │combine the area with the region. Refer│ │ │to the exception text for specific error│ │ │information. │ └────────────────────┴────────────────────────────────────────┘ Overload 2 public: IGRegion& operator &=(const IGRectangle& rect); Sets the region to the area defined by the intersection of the region and the area of the rectangle. Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Exceptions ┌────────────────────┬────────────────────────────────────────┐ │IAccessError │An error occurred while attempting to │ │ │combine the area with the region. Refer│ │ │to the exception text for specific error│ │ │information. │ └────────────────────┴────────────────────────────────────────┘ Overload 3 public: IGRegion& operator &=(const IGPie& pie); Sets the region to the area defined by the intersection of the region and the area of the pie. Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Exceptions ┌────────────────────┬────────────────────────────────────────┐ │IAccessError │An error occurred while attempting to │ │ │combine the area with the region. Refer│ │ │to the exception text for specific error│ │ │information. │ └────────────────────┴────────────────────────────────────────┘ Overload 4 public: IGRegion& operator &=(const IGChord& chord); Sets the region to the area defined by the intersection of the region and the area of the chord. Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Exceptions ┌────────────────────┬────────────────────────────────────────┐ │IAccessError │An error occurred while attempting to │ │ │combine the area with the region. Refer│ │ │to the exception text for specific error│ │ │information. │ └────────────────────┴────────────────────────────────────────┘ Overload 5 public: IGRegion& operator &=(const IGPolygon& polygon); Sets the region to the area defined by the intersection of the region and the area of the polygon. Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Exceptions ┌────────────────────┬────────────────────────────────────────┐ │IAccessError │An error occurred while attempting to │ │ │combine the area with the region. Refer│ │ │to the exception text for specific error│ │ │information. │ └────────────────────┴────────────────────────────────────────┘ Overload 6 public: IGRegion& operator &=(const IGRegion& region); Sets the region to the area defined by the intersection of the two regions. Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Exceptions ┌────────────────────┬────────────────────────────────────────┐ │IAccessError │An error occurred while attempting to │ │ │combine the regions. Refer to the │ │ │exception text for specific error │ │ │information. │ └────────────────────┴────────────────────────────────────────┘ Used in sample: 2D Bitmap Sample: 2d-bmap.cpp ═══ 1.20.6. IGRegion::operator += ═══ Overload 1 public: IGRegion& operator +=(const IGPie& pie); Sets the region to the area defined by the union of the region and the area of the pie. Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Exceptions ┌────────────────────┬────────────────────────────────────────┐ │IAccessError │An error occurred while attempting to │ │ │combine the area with the region. Refer│ │ │to the exception text for specific error│ │ │information. │ └────────────────────┴────────────────────────────────────────┘ Used in sample: 2D Bitmap Sample: 2d-bmap.cpp Overload 2 public: IGRegion& operator +=(const IGRectangle& rect); Sets the region to the area defined by the union of the region and the area of the rectangle. Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Exceptions ┌────────────────────┬────────────────────────────────────────┐ │IAccessError │An error occurred while attempting to │ │ │combine the area with the region. Refer│ │ │to the exception text for specific error│ │ │information. │ └────────────────────┴────────────────────────────────────────┘ Used in sample: 2D Bitmap Sample: 2d-bmap.cpp Overload 3 public: IGRegion& operator +=(const IGChord& chord); Sets the region to the area defined by the union of the region and the area of the chord. Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Exceptions ┌────────────────────┬────────────────────────────────────────┐ │IAccessError │An error occurred while attempting to │ │ │combine the area with the region. Refer│ │ │to the exception text for specific error│ │ │information. │ └────────────────────┴────────────────────────────────────────┘ Overload 4 public: IGRegion& operator +=(const IGPolygon& polygon); Sets the region to the area defined by the union of the region and the area of the polygon. Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Exceptions ┌────────────────────┬────────────────────────────────────────┐ │IAccessError │An error occurred while attempting to │ │ │combine the area with the region. Refer│ │ │to the exception text for specific error│ │ │information. │ └────────────────────┴────────────────────────────────────────┘ Overload 5 public: IGRegion& operator +=(const IGEllipse& ellipse); Sets the region to the area defined by the union of the region and the area of the ellipse. Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Exceptions ┌────────────────────┬────────────────────────────────────────┐ │IAccessError │An error occurred while attempting to │ │ │combine the area with the region. Refer│ │ │to the exception text for specific error│ │ │information. │ └────────────────────┴────────────────────────────────────────┘ Used in sample: 2D Bitmap Sample: 2d-bmap.cpp Overload 6 public: IGRegion& operator +=(const IGRegion& region); Sets the region to the area defined by the union of the two regions. Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Exceptions ┌────────────────────┬────────────────────────────────────────┐ │IAccessError │An error occurred while attempting to │ │ │combine the regions. Refer to the │ │ │exception text for specific error │ │ │information. │ └────────────────────┴────────────────────────────────────────┘ ═══ 1.20.7. IGRegion::operator -= ═══ Overload 1 public: IGRegion& operator -=(const IGEllipse& ellipse); Sets the region to the area defined by the region minus the area of the ellipse. Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Exceptions ┌────────────────────┬────────────────────────────────────────┐ │IAccessError │An error occurred while attempting to │ │ │combine the area with the region. Refer│ │ │to the exception text for specific error│ │ │information. │ └────────────────────┴────────────────────────────────────────┘ Used in sample: 2D Bitmap Sample: 2d-bmap.cpp Overload 2 public: IGRegion& operator -=(const IGRectangle& rect); Sets the region to the area defined by the region minus the area of the rectangle. Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Exceptions ┌────────────────────┬────────────────────────────────────────┐ │IAccessError │An error occurred while attempting to │ │ │combine the area with the region. Refer│ │ │to the exception text for specific error│ │ │information. │ └────────────────────┴────────────────────────────────────────┘ Used in sample: 2D Bitmap Sample: 2d-bmap.cpp Overload 3 public: IGRegion& operator -=(const IGPie& pie); Sets the region to the area defined by the region minus the area of the pie. Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Exceptions ┌────────────────────┬────────────────────────────────────────┐ │IAccessError │An error occurred while attempting to │ │ │combine the area with the region. Refer│ │ │to the exception text for specific error│ │ │information. │ └────────────────────┴────────────────────────────────────────┘ Overload 4 public: IGRegion& operator -=(const IGChord& chord); Sets the region to the area defined by the region minus the area of the chord. Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Exceptions ┌────────────────────┬────────────────────────────────────────┐ │IAccessError │An error occurred while attempting to │ │ │combine the area with the region. Refer│ │ │to the exception text for specific error│ │ │information. │ └────────────────────┴────────────────────────────────────────┘ Overload 5 public: IGRegion& operator -=(const IGPolygon& polygon); Sets the region to the area defined by the region minus the area of the polygon. Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Exceptions ┌────────────────────┬────────────────────────────────────────┐ │IAccessError │An error occurred while attempting to │ │ │combine the area with the region. Refer│ │ │to the exception text for specific error│ │ │information. │ └────────────────────┴────────────────────────────────────────┘ Overload 6 public: IGRegion& operator -=(const IGRegion& region); Sets the region to the area defined by the target region minus the area of the operand region. Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Exceptions ┌────────────────────┬────────────────────────────────────────┐ │IAccessError │An error occurred while attempting to │ │ │combine the regions. Refer to the │ │ │exception text for specific error │ │ │information. │ └────────────────────┴────────────────────────────────────────┘ ═══ 1.20.8. IGRegion::operator = ═══ Use this function to construct a IGRegion object from another IGRegion object. public: IGRegion& operator =(const IGRegion& region); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Used in sample: 2D Bitmap Sample: 2d-bmap.cpp ═══ 1.20.9. IGRegion::operator const IRegionHandle ═══ Returns a handle to the IGRegion. public: operator const IRegionHandle() const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.20.10. IGRegion::operator ^= ═══ Overload 1 public: IGRegion& operator ^=(const IGRegion& region); Sets the region to the area defined by the logical xor of the two regions. Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Exceptions ┌────────────────────┬────────────────────────────────────────┐ │IAccessError │An error occurred while attempting to │ │ │combine the regions. Refer to the │ │ │exception text for specific error │ │ │information. │ └────────────────────┴────────────────────────────────────────┘ Overload 2 public: IGRegion& operator ^=(const IGRectangle& rect); Sets the region to the area defined by the logical xor of the region and the rectangle. Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Exceptions ┌────────────────────┬────────────────────────────────────────┐ │IAccessError │An error occurred while attempting to │ │ │combine the area with the region. Refer│ │ │to the exception text for specific error│ │ │information. │ └────────────────────┴────────────────────────────────────────┘ Overload 3 public: IGRegion& operator ^=(const IGPie& pie); Sets the region to the area defined by the logical xor of the region and the pie. Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Exceptions ┌────────────────────┬────────────────────────────────────────┐ │IAccessError │An error occurred while attempting to │ │ │combine the area with the region. Refer│ │ │to the exception text for specific error│ │ │information. │ └────────────────────┴────────────────────────────────────────┘ Overload 4 public: IGRegion& operator ^=(const IGChord& chord); Sets the region to the area defined by the logical xor of the region and the chord. Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Exceptions ┌────────────────────┬────────────────────────────────────────┐ │IAccessError │An error occurred while attempting to │ │ │combine the area with the region. Refer│ │ │to the exception text for specific error│ │ │information. │ └────────────────────┴────────────────────────────────────────┘ Overload 5 public: IGRegion& operator ^=(const IGPolygon& polygon); Sets the region to the area defined by the logical xor of the region and the polygon. Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Exceptions ┌────────────────────┬────────────────────────────────────────┐ │IAccessError │An error occurred while attempting to │ │ │combine the area with the region. Refer│ │ │to the exception text for specific error│ │ │information. │ └────────────────────┴────────────────────────────────────────┘ Overload 6 public: IGRegion& operator ^=(const IGEllipse& ellipse); Sets the region to the area defined by the logical xor of the region and the ellipse. Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Exceptions ┌────────────────────┬────────────────────────────────────────┐ │IAccessError │An error occurred while attempting to │ │ │combine the area with the region. Refer│ │ │to the exception text for specific error│ │ │information. │ └────────────────────┴────────────────────────────────────────┘ ═══ 1.20.11. IGRegion::~IGRegion ═══ public: virtual ~IGRegion(); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.21. IGString ═══ Description Derivation Constructors Public Functions Protected Functions Protected Data To close all the panels in a chapter, double click on this panel's system menu. ═══ Derivation - IGString ═══ IBase │ IVBase │ IGraphic │ IGString Inherited by none. ═══ Class Description - IGString ═══ igstring.hpp The IGString class is a graphic object class that allows you to draw text. An IGString object can optionally have a font associated with it that is used when you draw the IGString object. If you do not supply a font object for the IGString object, the graphic context current font is used when you draw the IGString object. In all the constructors you provide a location point of where the text drawing starts. Text alignment and font direction determine where the text is positioned in relation to the location point you specify. When you draw a IGString object, the following graphic bundle drawing attributes affect its appearance:  Pen color  Background color  Mix mode  Background mix mode ═══ Public Functions - IGString ═══ Clipping Rectangle clippingRect isClippingRectSet resetClippingRect setClippingRect Comparisons operator != operator == Constructors IGString operator = ~IGString Drawing drawOn Font font hasFont removeFont setFont Text setText text Text Positioning moveTo position Inherited Members IGraphic boundingRect contains drawOn graphicBundle hasGraphicBundle hasTransformMatrix id isHitSelectable isHitSelected removeGraphicBundle resetTransformMatrix rotateBy scaleBy setGraphicBundle setHitSelectable setHitSelected setId setTransformMatrix setTransformMethod transformMatrix transformMethod translateBy IVBase asDebugInfo asString IBase asDebugInfo asString messageFile messageText setMessageFile version ═══ IGString - Clipping Rectangle ═══ Use these members to set, query, and remove the clipping rectangle used when drawing the text. If a clipping rectangle is set, the text is clipped to the boundary to the rectangle. ═══ IGString - Comparisons ═══ Use these members to compare two IGString objects. ═══ IGString - Constructors ═══ You can construct, destruct, copy, and assign object of this class. ═══ IGString - Drawing ═══ Use these members to render an IGString object on a device. ═══ IGString - Font ═══ Use these members to set, query, and remove the font used when you draw an IGString object. If you have not set a font for an IGString object, the graphic context's current font is used when you draw an IGString object. ═══ IGString - Text ═══ Use these members to set and query the text of an IGString object. ═══ IGString - Text Positioning ═══ Use these members to set and query the position of the text. ═══ Protected Functions - IGString ═══ Inherited Members IGraphic operator != operator = operator == ═══ Protected Data - IGString ═══ Inherited Members IBase recoverable unrecoverable ═══ 1.21.1. IGString::clippingRect ═══ Returns the clipping rectangle. If a clipping rectangle has not been set, a default rectangle (0,0,0,0) is returned. public: virtual IRectangle clippingRect() const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.21.2. IGString::drawOn ═══ Draws the string at the current position. The string is drawn using the object's font if set. If you have not specified a font for this object (either in the constructor or via the setFont function), then the text is drawn using the graphic context current font. public: virtual IGString& drawOn(IGraphicContext& graphicContext); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Used in sample: 2D Graphics Sample: 2d-draw.cpp ═══ 1.21.3. IGString::font ═══ Returns the current font being used to draw the text. If you did not set a font on the object or constructed the object with a font object, this function returns the system default font. public: virtual IFont font() const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.21.4. IGString::hasFont ═══ Returns true if a font was specified in the constructor or set using setFont function. public: virtual IBase::Boolean hasFont() const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.21.5. IGString::IGString ═══ You can construct, destruct, copy, and assign object of this class. Overload 1 public: IGString( const IString& string, const IPoint& point = IPoint ( )); Use this function to construct a IGString object from a IString object and optionally a IPoint object specifying where to draw the string string Characters to be drawn. point Location of where to draw the characters. Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Overload 2 public: IGString( const IString& string, const IPoint& point, const IFont& font); Use this function to construct a IGString object from a IString, a IPoint object specifying where to draw the string, and a IFont object specifying the font to use when you draw the IGString object. string Characters to be drawn. point Location of where to draw the characters. font (Optional) Font used when drawing the characters. Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Used in samples: 2D Graphics Sample: 2d-draw.cpp Lancelot - A Valiant Example: ltimepie.cpp Overload 3 public: IGString(const IGString& graphicString); Use this function to construct a IGString object from another IGString object. graphicString A reference to a IGString object. Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.21.6. IGString::isClippingRectSet ═══ Returns true if a clipping rectangle is set. public: virtual IBase::Boolean isClippingRectSet() const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.21.7. IGString::moveTo ═══ Sets the starting location of where the text is to be drawn. public: virtual IGString& moveTo(const IPoint& point); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Used in sample: Lancelot - A Valiant Example: ltimepie.cpp ═══ 1.21.8. IGString::operator != ═══ Returns true if the text objects are not identical (includes location, font, the graphic bundle attributes and the transform matrix). public: IBase::Boolean operator !=( const IGString& graphicString) const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.21.9. IGString::operator = ═══ Use this function to assign a IGString object to another IGString object. public: IGString& operator =(const IGString& graphicString); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.21.10. IGString::operator == ═══ Returns true if the text objects are identical (includes location, font, the graphic bundle attributes and the transform matrix). public: IBase::Boolean operator ==( const IGString& graphicString) const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.21.11. IGString::position ═══ Returns the starting location of where the text is to be drawn. public: virtual IPoint position() const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.21.12. IGString::removeFont ═══ Removes the font object from the graphic text. The font is deleted. public: virtual IGString& removeFont(); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.21.13. IGString::resetClippingRect ═══ Removes the clipping rectangle. public: virtual IGString& resetClippingRect(); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.21.14. IGString::setClippingRect ═══ Sets the clipping rectangle used when drawing the text. public: virtual IGString& setClippingRect( const IRectangle& rectangle); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.21.15. IGString::setFont ═══ Sets the font to be used when drawing the text. public: virtual IGString& setFont(const IFont& font); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.21.16. IGString::setText ═══ Sets the graphic object's text. Overload 1 public: virtual IGString& setText(const char* text); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Overload 2 public: virtual IGString& setText(const IResourceId& text); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.21.17. IGString::text ═══ Returns the graphic objects text. public: virtual IString text() const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.21.18. IGString::~IGString ═══ public: virtual ~IGString(); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.22. IRegionHandle ═══ Description Derivation Constructors Public Functions Protected Data To close all the panels in a chapter, double click on this panel's system menu. ═══ Derivation - IRegionHandle ═══ IBase │ IHandle │ IRegionHandle Inherited by none. ═══ Class Description - IRegionHandle ═══ ihandle.hpp Objects of the IRegionHandle class access a window's update region. Presentation Manager Information IRegionHandle is an alias for the OS/2 Programmer's Toolkit HRGN typedef. Motif Information The AIX release does not support this class. ═══ Public Functions - IRegionHandle ═══ Constructors IRegionHandle Inherited Members IHandle asDebugInfo asString asUnsigned operator Value IBase asDebugInfo asString messageFile messageText setMessageFile version ═══ IRegionHandle - Constructors ═══ You can construct objects of this class. ═══ Protected Data - IRegionHandle ═══ Inherited Members IHandle handle IBase recoverable unrecoverable ═══ 1.22.1. IRegionHandle::IRegionHandle ═══ You can construct objects of this class from a region handle (a value of type IHandle::Value), which defaults to 0. public: IRegionHandle(Value hregion = 0); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │Yes │ └────────────┴────────────┘ ═══ 1.23. ITransformMatrix ═══ Description Derivation Constructors Public Functions Protected Data To close all the panels in a chapter, double click on this panel's system menu. ═══ Derivation - ITransformMatrix ═══ IBase │ ITransformMatrix Inherited by none. ═══ Class Description - ITransformMatrix ═══ itrnsfrm.hpp The ITransformMatrix class is used to represent a 3x3 transformation matrix. You can use ITransformMatrix objects to quickly construct transformation matrixes for use with IGraphic::setTransformMatrix or with the native graphic programming interface. ═══ Public Functions - ITransformMatrix ═══ Comparisons operator != operator == Constructors ITransformMatrix operator = ~ITransformMatrix Matrix Elements asMATRIXLF asTagXFORM element11 element12 element21 element22 element31 element32 setElement11 setElement12 setElement21 setElement22 setElement31 setElement32 setToIdentity Scale, Rotate, and Translate rotateBy scaleBy translateBy Inherited Members IBase asDebugInfo asString messageFile messageText setMessageFile version ═══ ITransformMatrix - Comparisons ═══ Use these members to compare two ITransformMatrix objects. ═══ ITransformMatrix - Constructors ═══ You can construct, destruct, copy, and assign objects of this class. ═══ ITransformMatrix - Matrix Elements ═══ Use these members to set and query the elements of the transform matrix. In addition, there is a member that resets the transform matrix to the identity matrix (setToIdentity) and one that returns the transform matrix as an environment-specific structure (asMATRIXLF in the OS/2 operating system and asTagXFORM in Windows). ═══ ITransformMatrix - Scale, Rotate, and Translate ═══ Use these members to apply a transform to a matrix. ═══ Protected Data - ITransformMatrix ═══ Inherited Members IBase recoverable unrecoverable ═══ 1.23.1. ITransformMatrix::asMATRIXLF ═══ Renders the matrix as an OS/2 Developers Toolkit MATRIXLF structure. public: struct _MATRIXLF asMATRIXLF() const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.23.2. ITransformMatrix::asTagXFORM ═══ Renders the matrix as a Win32 tagXFORM structure. ═══ 1.23.3. ITransformMatrix::element11 ═══ Returns the value for the matrix element 1,1. public: double element11() const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.23.4. ITransformMatrix::element12 ═══ Returns the value for the matrix element 1,2. public: double element12() const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.23.5. ITransformMatrix::element21 ═══ Returns the value for the matrix element 2,1. public: double element21() const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.23.6. ITransformMatrix::element22 ═══ Returns the value for the matrix element 2,2. public: double element22() const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.23.7. ITransformMatrix::element31 ═══ Returns the value for the matrix element 3,1. public: long element31() const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.23.8. ITransformMatrix::element32 ═══ Returns the value for the matrix element 3,2. public: long element32() const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.23.9. ITransformMatrix::ITransformMatrix ═══ You can construct, destruct, copy, and assign objects of this class. Overload 1 public: ITransformMatrix( double element11, double element12, double element21, double element22, long element31, long element32); Use this function to construct a ITransformMatrix object from six of the nine elements in the matrix. The elements at 1,3, 2,3, and 3,3 default to 0, 0, and 1 respectively. element11 Matrix element 1,1 (Used to scale, rotate, and reflect). element12 Matrix element 1,2 (Used to scale and rotate). element21 Matrix element 2,1 (Used to scale and rotate). element22 Matrix element 2,2 (Used to scale, rotate, and reflect). element31 Matrix element 3,1 (Used to translate). element32 Matrix element 3,2 (Used to translate). Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Overload 2 public: ITransformMatrix(); Use the default construct to create a ITransformMatrix object that is initialized to the identity matrix. Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Overload 3 public: ITransformMatrix(const struct _MATRIXLF& matrixlf); Use this function to construct a ITransformMatrix object from a PM Toolkit MATRIXLF structure. matrixlf Presentation Manager MATRIXLF structure. Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Overload 5 public: ITransformMatrix(const ITransformMatrix& transformMatrix); Use this function to construct a ITransformMatrix object from another ITransformMatrix object. transformMatrix A ITransformMatrix object. Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Used in sample: BIGCPP Sample: bigcpp.cpp ═══ 1.23.10. ITransformMatrix::operator != ═══ Returns true if the transform matrixes are not equal. public: IBase::Boolean operator !=( const ITransformMatrix& transformMatrix) const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.23.11. ITransformMatrix::operator = ═══ Use this function to assign a ITransformMatrix object to another ITransformMatrix object. public: ITransformMatrix& operator =( const ITransformMatrix& matrix); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.23.12. ITransformMatrix::operator == ═══ Returns true if the transform matrixes are equal. public: IBase::Boolean operator ==( const ITransformMatrix& transformMatrix) const; Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.23.13. ITransformMatrix::rotateBy ═══ Applies a rotation transform to the matrix. A rotation transform rotates graphic objects. The last argument specifies the point around which the rotation occurs. public: ITransformMatrix& rotateBy( double angle, const IPoint& point = IPoint ( 0 , 0 )); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Exceptions ┌────────────────────┬────────────────────────────────────────┐ │IAccessError │Could not perform the rotate operation. │ │ │Make sure you not attempting to access │ │ │the object concurrently from another │ │ │thread. │ └────────────────────┴────────────────────────────────────────┘ ═══ 1.23.14. ITransformMatrix::scaleBy ═══ Applies a scaling transform to the matrix. A scaling transform reduces or increases the size of graphic objects. The last argument specifies the point around which the scale occurs. public: ITransformMatrix& scaleBy( double xScale, double yScale, const IPoint& point = IPoint ( 0 , 0 )); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Exceptions ┌────────────────────┬────────────────────────────────────────┐ │IAccessError │Could not perform the scale operation. │ │ │Make sure you not attempting to access │ │ │the object concurrently from another │ │ │thread. │ └────────────────────┴────────────────────────────────────────┘ ═══ 1.23.15. ITransformMatrix::setElement11 ═══ Sets the value for element 1,1 in the transformation matrix. public: ITransformMatrix& setElement11(double value); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.23.16. ITransformMatrix::setElement12 ═══ Sets the value for element 1,2 in the transformation matrix. public: ITransformMatrix& setElement12(double value); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.23.17. ITransformMatrix::setElement21 ═══ Sets the value for element 2,2 in the transformation matrix. public: ITransformMatrix& setElement21(double value); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.23.18. ITransformMatrix::setElement22 ═══ Sets the value for element 2,2 in the transformation matrix. public: ITransformMatrix& setElement22(double value); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.23.19. ITransformMatrix::setElement31 ═══ Sets the value for element 3,1 in the transformation matrix. public: ITransformMatrix& setElement31(long value); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.23.20. ITransformMatrix::setElement32 ═══ Sets the value for element 3,2 in the transformation matrix. public: ITransformMatrix& setElement32(long value); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.23.21. ITransformMatrix::setToIdentity ═══ Resets the transformation matrix to the identity matrix. public: ITransformMatrix& setToIdentity(); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ ═══ 1.23.22. ITransformMatrix::translateBy ═══ Applies a translation transform to the matrix. A translation transform moves graphic objects. public: ITransformMatrix& translateBy(const IPoint& point); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘ Exceptions ┌────────────────────┬────────────────────────────────────────┐ │IAccessError │Could not perform the translate │ │ │operation. Make sure you not attempting│ │ │to access the object concurrently from │ │ │another thread. │ └────────────────────┴────────────────────────────────────────┘ ═══ 1.23.23. ITransformMatrix::~ITransformMatrix ═══ public: ~ITransformMatrix(); Platform Support ┌────────────┬────────────┐ │PM │MOTIF │ ├────────────┼────────────┤ │Yes │No │ └────────────┴────────────┘