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

  1. #ifndef _IGRECT_
  2. #define _IGRECT_
  3. /*******************************************************************************
  4. * FILE NAME: igrect.hpp                                                        *
  5. *                                                                              *
  6. * DESCRIPTION:                                                                 *
  7. *   Declaration of the classes:                                                *
  8. *     IGRectangle                                                              *
  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 <irect.hpp>
  21.  
  22.  
  23. class IGraphicContext;
  24.  
  25. #pragma pack(4)
  26.  
  27. class IGRectangle : public IGraphic {
  28. typedef IGraphic
  29.   Inherited;
  30.  
  31. public:
  32. /*------------------------------- Constructors -------------------------------*/
  33.   IGRectangle ( const IRectangle&  rectangle = IRectangle() );
  34.  
  35.   IGRectangle ( const IGRectangle& gRectangle );
  36.  
  37. IGRectangle&
  38.   operator=   ( const IGRectangle& gRectangle );
  39.  
  40. virtual
  41.   ~IGRectangle ();
  42.  
  43. /*-------------------------------- Drawing -----------------------------------*/
  44. virtual IGRectangle
  45.   &drawOn            ( IGraphicContext& graphicContext );
  46.  
  47. /*---------------------------- Corner Rounding -------------------------------*/
  48. virtual IGRectangle
  49.   &setRounding       ( const IPair& ellipseAxis = IPair(0,0) );
  50.  
  51. virtual IPair
  52.   rounding           ( ) const;
  53.  
  54. /*-------------------------- Enclosing Rectangle -----------------------------*/
  55. virtual IGRectangle
  56.   &setEnclosingRect  ( const IRectangle& rectangle );
  57.  
  58. virtual IRectangle
  59.   enclosingRect      ( ) const;
  60.  
  61. /*-------------------------------- Comparison --------------------------------*/
  62. IBase::Boolean
  63.   operator==       ( const IGRectangle& gRectangle ) const,
  64.   operator!=       ( const IGRectangle& gRectangle ) const;
  65.  
  66. private:
  67. /*------------------------------- Private ------------------------------------*/
  68. IRectangle
  69.   fRect;
  70. IPair
  71.   fRounding;
  72. }; // IGRectangle
  73.  
  74. #pragma pack()
  75.  
  76. #endif // _IGRECT_
  77.