home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / odtlktv4.zip / ODTLKT / TOOLKIT / IDL / SHAPEB.IDL < prev    next >
Text File  |  1995-12-13  |  4KB  |  127 lines

  1. /********************************************************************/
  2. /*  Licensed Materials - Property of IBM                            */
  3. /*                                                                  */
  4. /*                                                                  */
  5. /* Copyright (C) International Business Machines Corp., 1994.       */
  6. /* Copyright (C) Apple Computer, Inc., 1994                         */
  7. /*                                                                  */
  8. /*  US Government Users Restricted Rights -                         */
  9. /*  Use, duplication, or disclosure restricted                      */
  10. /*  by GSA ADP Schedule Contract with IBM Corp.                     */
  11. /*                                                                  */
  12. /*                                                                  */
  13. /********************************************************************/
  14.  
  15. #ifndef _SHAPEB_
  16. #define _SHAPEB_
  17.  
  18. #ifndef _REFCTOBJ_
  19. #include "RefCtObj.idl"
  20. #endif
  21.  
  22. //==============================================================================
  23. // Classes defined in this interface
  24. //==============================================================================
  25.  
  26. interface ODBaseShape;
  27.  
  28. //==============================================================================
  29. // Classes used in this interface
  30. //==============================================================================
  31.  
  32. interface ODShape;
  33. interface ODTransform;
  34. interface ODStorageUnit;
  35.  
  36. //=====================================================================================
  37. // Implementation Types
  38. //=====================================================================================
  39.  
  40.  
  41. //==============================================================================
  42. // ODBaseShape
  43. //==============================================================================
  44.  
  45. interface ODBaseShape :  ODRefCntObject
  46. {
  47.  
  48.   ODShape      NewShape();
  49.     ODShape      Copy();
  50.  
  51.   ODGeometryMode  GetGeometryMode();
  52.   void      SetGeometryMode(in ODGeometryMode mode);
  53.   void      GetBoundingBox(out ODRect bounds);
  54.   ODShape      SetRectangle(in ODRect rect);
  55.   void    CopyPolygon(out ODPolygon copy);       
  56.   ODShape      SetPolygon(in ODPolygon polygon);
  57.   ODPlatformShape  GetPlatformShape(in ODGraphicsSystem graphicsSystem);
  58.   void      SetPlatformShape(in ODGraphicsSystem graphicsSystem,
  59.                     in ODPlatformShape platformShape);
  60.   void      Reset();
  61.  
  62.   void      WriteShape(in ODStorageUnit storageUnit);
  63.   ODShape      ReadShape(in ODStorageUnit storageUnit);
  64.  
  65.   ODBoolean    IsSameAs(in ODShape compareShape);
  66.   ODBoolean    IsEmpty();
  67.   ODBoolean    ContainsPoint(in ODPoint point);
  68.   ODBoolean    IsRectangular();
  69.   ODBoolean    HasGeometry();
  70.  
  71.   void    CopyFrom(in ODShape sourceShape);
  72.   ODShape    Transform(in ODTransform transform);
  73.   ODShape    InverseTransform(in ODTransform transform);
  74.   ODShape    Subtract(in ODShape diffShape);
  75.   ODShape    Intersect(in ODShape sectShape);
  76.   ODShape    Union(in ODShape unionShape);
  77.   ODShape    Outset( in ODCoordinate distance );
  78.  
  79. #ifdef __SOMIDL__
  80.   implementation
  81.   {
  82.     override:
  83.       somInit,
  84.       somUninit,
  85.       Purge,
  86.       Release;
  87.  
  88.     releaseorder:
  89.       SetGeometryMode,
  90.       GetGeometryMode,
  91.       GetBoundingBox,
  92.       SetRectangle,
  93.       CopyPolygon,
  94.       SetPolygon,
  95.       GetPlatformShape,
  96.       SetPlatformShape,
  97.       WriteShape,
  98.       ReadShape,
  99.       IsSameAs,
  100.       IsEmpty,
  101.       ContainsPoint,
  102.       IsRectangular,
  103.       HasGeometry,
  104.       Copy,
  105.       CopyFrom,
  106.       Transform,
  107.       InverseTransform,
  108.       Subtract,
  109.       Intersect,
  110.       Union,
  111.       Outset,
  112.       NewShape,
  113.       Reset,
  114.       reserved1,
  115.       reserved2;
  116.  
  117.  
  118.     majorversion = 1; minorversion = 0;
  119.  
  120.     functionprefix = ODBaseShape__;
  121.  
  122.   };
  123. #endif
  124. };
  125.  
  126. #endif // _SHAPE_
  127.