home *** CD-ROM | disk | FTP | other *** search
/ Power GUI Programming with VisualAge C++ / powergui.iso / trialva / ibmcppw / include / igstring.hpp < prev    next >
Encoding:
C/C++ Source or Header  |  1996-02-22  |  3.6 KB  |  118 lines

  1. #ifndef _IGSTRING_
  2. #define _IGSTRING_
  3. /*******************************************************************************
  4. * FILE NAME: igstring.hpp                                                      *
  5. *                                                                              *
  6. * DESCRIPTION:                                                                 *
  7. *   Declaration of the classes:                                                *
  8. *     IGString                                                                 *
  9. *                                                                              *
  10. * COPYRIGHT:                                                                   *
  11. *   IBM Open Class Library                                                     *
  12. *   (C) Copyright International Business Machines Corporation 1992, 1996       *
  13. *   Licensed Material - Program-Property of IBM - All Rights Reserved.         *
  14. *   US Government Users Restricted Rights - Use, duplication, or disclosure    *
  15. *   restricted by GSA ADP Schedule Contract with IBM Corp.                     *
  16. *                                                                              *
  17. *******************************************************************************/
  18.  
  19. #include <igraphic.hpp>
  20. #include <istring.hpp>
  21. #include <ipoint.hpp>
  22.  
  23.  
  24. #pragma pack(4)
  25.  
  26. class IResourceId;
  27. class IFont;
  28. class IGraphicContext;
  29.  
  30. class IGString : public IGraphic {
  31. typedef IGraphic
  32.   Inherited;
  33.  
  34. public:
  35. /*------------------------------- Constructors -------------------------------*/
  36.   IGString   ( const IString&  string,
  37.                const IPoint&   point = IPoint() );
  38.  
  39.   IGString   ( const IString&  string,
  40.                const IPoint&   point,
  41.                const IFont&    font             );
  42.  
  43.   IGString   ( const IGString& graphicString    );
  44.  
  45. IGString
  46.   &operator= ( const IGString& graphicString    );
  47.  
  48. virtual
  49.   ~IGString  ( );
  50.  
  51. /*--------------------------------- Drawing ----------------------------------*/
  52. virtual IGString
  53.   &drawOn            ( IGraphicContext& graphicContext );
  54.  
  55. /*---------------------------------- Text ------------------------------------*/
  56. virtual IGString
  57.   &setText           ( const char*        text ),
  58.   &setText           ( const IResourceId& text );
  59.  
  60. virtual IString
  61.   text               ( ) const;
  62.  
  63. /*---------------------------------- Font ------------------------------------*/
  64. virtual IGString
  65.   &setFont           ( const IFont& font );
  66.  
  67. virtual IFont
  68.   font               ( ) const;
  69.  
  70. virtual IBase::Boolean
  71.   hasFont            ( ) const;
  72.  
  73. virtual IGString
  74.   &removeFont        ( );
  75.  
  76. /*----------------------------- Text Positioning -----------------------------*/
  77. virtual IGString
  78.   &moveTo            ( const IPoint& point );
  79.  
  80. virtual IPoint
  81.   position           ( ) const;
  82.  
  83. /*---------------------------- Clipping Rectangle ----------------------------*/
  84. virtual IGString
  85.   &setClippingRect   ( const IRectangle& rectangle );
  86.  
  87. virtual IRectangle
  88.   clippingRect       ( ) const;
  89.  
  90. virtual IGString
  91.   &resetClippingRect ( );
  92.  
  93. virtual IBase::Boolean
  94.   isClippingRectSet  ( ) const;
  95.  
  96.  
  97. /*-------------------------------- Comparison --------------------------------*/
  98. IBase::Boolean
  99.   operator== ( const IGString& graphicString ) const,
  100.   operator!= ( const IGString& graphicString ) const;
  101.  
  102. private:
  103. /*-------------------------------- Private -----------------------------------*/
  104. IGString();
  105. IString
  106.   fString;
  107. IPoint
  108.   fLocation;
  109. IFont
  110.  *fFont;
  111. IRectangle
  112.  *fClip;
  113. }; // IGString
  114.  
  115. #pragma pack()
  116.  
  117. #endif // _IGSTRING_
  118.