home *** CD-ROM | disk | FTP | other *** search
/ The Developer Connection…ice Driver Kit for OS/2 3 / DEV3-D1.ISO / source / bento / headers / trnsform.h < prev    next >
Encoding:
C/C++ Source or Header  |  1994-03-02  |  3.4 KB  |  130 lines

  1. /*
  2.     File:        Trnsform.h
  3.  
  4.     Contains:    Definition of class XMPAbsTransform
  5.  
  6.     Written by:    Joshua Susser & Sepp Friedrich & Jens Alfke
  7.  
  8.     Copyright:    ⌐ 1993 by Apple Computer, Inc., all rights reserved.
  9.  
  10.     Change History (most recent first):
  11.  
  12.         <12>     2/16/94    JA        Stop including Point.h.
  13.         <11>      2/3/94    JA        Tiger Team Makeover!
  14.         <10>    10/14/93    JA        Rewrote theory (get/setter copying now
  15.                                     optional.)
  16.          <9>     10/6/93    JA        Include new "Point.h"
  17.          <8>     9/23/93    JA        Restored MoveBy.
  18.          <7>     9/16/93    JA        Added Read/WritePlatformTransform. Removed
  19.                                     ExtractPlatformTransform and constructor
  20.                                     with params.
  21.          <6>     9/08/93    jpa        Removed ExtractPlatformTransform, added more comments.
  22.          <5>      7/6/93    JBS        separate into abstract/concrete
  23.          <4>     4/30/93    JBS        8.3 file names
  24.          <3>     4/19/93    JBS        further clean-ups
  25.          <2>     4/14/93    JBS        clean up; add ExtractPlatformTransform()
  26.          <1>     4/14/93    JBS        first checked in
  27. */
  28.  
  29. #ifndef _TRNSFORM_
  30. #define _TRNSFORM_
  31.  
  32. #ifndef _XMPTYPES_
  33. #include "XMPTypes.h"
  34. #endif
  35.  
  36. #ifndef _XMPOBJ_
  37. #include "XMPObj.h"            // base class
  38. #endif
  39.  
  40.  
  41. //==============================================================================
  42. // Classes defined in this interface
  43. //==============================================================================
  44.  
  45. class XMPAbsTransform;
  46.  
  47. //==============================================================================
  48. // Classes used in this interface
  49. //==============================================================================
  50.  
  51. class XMPTransform;
  52. class XMPStorageUnit;
  53.  
  54. //==============================================================================
  55. // XMPAbsTransform
  56. //==============================================================================
  57.  
  58. class XMPAbsTransform : public XMPObject
  59. {
  60.     
  61. public:
  62.  
  63.     //---------------------------------
  64.     // overrides
  65.  
  66. //    XMPVMethod XMPSize Purge(XMPSize size);        // override from XMPObject
  67.  
  68.     //---------------------------------
  69.     // constructor/destructor
  70.     
  71.     XMPAbsTransform() {}
  72.  
  73.     XMPVMethod ~XMPAbsTransform() {}
  74.     
  75.     //---------------------------------
  76.     // getters/setters:
  77.  
  78.     XMPMethod XMPGraphicsSystem GetGraphicsSystem()
  79.         = 0;
  80.     XMPMethod XMPPlatformTransform GetPlatformTransform()
  81.         = 0;
  82.     XMPMethod void SetPlatformTransform(XMPGraphicsSystem graphicsSystem,
  83.                                            XMPPlatformTransform platformTransform)
  84.         = 0;
  85.     XMPMethod XMPPlatformTransform ConvertTransform(XMPGraphicsSystem graphicsSystem)
  86.         = 0;
  87.  
  88.     //---------------------------------
  89.     // input / output:
  90.     
  91.     XMPMethod void WritePlatformTransform( XMPStorageUnit* )
  92.         = 0;
  93.     XMPMethod void ReadPlatformTransform( XMPStorageUnit* )
  94.         = 0;
  95.  
  96.     //---------------------------------
  97.     // geometry operations with transforms
  98.  
  99.     XMPMethod XMPTransform*    Reset()
  100.         = 0;
  101.     XMPMethod XMPTransform*    Invert()
  102.         = 0;
  103.     XMPMethod XMPTransform*    CopyFrom(XMPTransform* sourceTransform)
  104.         = 0;
  105.     XMPMethod XMPBoolean IsSameAs(XMPTransform* compareTransform)
  106.         = 0;
  107.     XMPMethod XMPTransform*    PreCompose(XMPTransform* transform)
  108.         = 0;
  109.     XMPMethod XMPTransform*    PostCompose(XMPTransform* transform)
  110.         = 0;
  111.     XMPVMethod XMPTransform* MoveBy( XMPPoint )
  112.         = 0;
  113.  
  114.     //---------------------------------
  115.     // geometry operations with points
  116.  
  117.     XMPMethod XMPPoint TransformPoint(XMPPoint point)
  118.         = 0;
  119.     XMPMethod XMPPoint InvertPoint(XMPPoint point)
  120.         = 0;
  121. };
  122.  
  123. #if PLATFORM_MACINTOSH
  124. #ifndef _TRNSFRMM_
  125. #include "TrnsfrmM.h"
  126. #endif
  127. #endif
  128.  
  129. #endif // _TRNSFORM_
  130.