home *** CD-ROM | disk | FTP | other *** search
- /*
- File: Trnsform.h
-
- Contains: Definition of class XMPAbsTransform
-
- Written by: Joshua Susser & Sepp Friedrich & Jens Alfke
-
- Copyright: ⌐ 1993 by Apple Computer, Inc., all rights reserved.
-
- Change History (most recent first):
-
- <12> 2/16/94 JA Stop including Point.h.
- <11> 2/3/94 JA Tiger Team Makeover!
- <10> 10/14/93 JA Rewrote theory (get/setter copying now
- optional.)
- <9> 10/6/93 JA Include new "Point.h"
- <8> 9/23/93 JA Restored MoveBy.
- <7> 9/16/93 JA Added Read/WritePlatformTransform. Removed
- ExtractPlatformTransform and constructor
- with params.
- <6> 9/08/93 jpa Removed ExtractPlatformTransform, added more comments.
- <5> 7/6/93 JBS separate into abstract/concrete
- <4> 4/30/93 JBS 8.3 file names
- <3> 4/19/93 JBS further clean-ups
- <2> 4/14/93 JBS clean up; add ExtractPlatformTransform()
- <1> 4/14/93 JBS first checked in
- */
-
- #ifndef _TRNSFORM_
- #define _TRNSFORM_
-
- #ifndef _XMPTYPES_
- #include "XMPTypes.h"
- #endif
-
- #ifndef _XMPOBJ_
- #include "XMPObj.h" // base class
- #endif
-
-
- //==============================================================================
- // Classes defined in this interface
- //==============================================================================
-
- class XMPAbsTransform;
-
- //==============================================================================
- // Classes used in this interface
- //==============================================================================
-
- class XMPTransform;
- class XMPStorageUnit;
-
- //==============================================================================
- // XMPAbsTransform
- //==============================================================================
-
- class XMPAbsTransform : public XMPObject
- {
-
- public:
-
- //---------------------------------
- // overrides
-
- // XMPVMethod XMPSize Purge(XMPSize size); // override from XMPObject
-
- //---------------------------------
- // constructor/destructor
-
- XMPAbsTransform() {}
-
- XMPVMethod ~XMPAbsTransform() {}
-
- //---------------------------------
- // getters/setters:
-
- XMPMethod XMPGraphicsSystem GetGraphicsSystem()
- = 0;
- XMPMethod XMPPlatformTransform GetPlatformTransform()
- = 0;
- XMPMethod void SetPlatformTransform(XMPGraphicsSystem graphicsSystem,
- XMPPlatformTransform platformTransform)
- = 0;
- XMPMethod XMPPlatformTransform ConvertTransform(XMPGraphicsSystem graphicsSystem)
- = 0;
-
- //---------------------------------
- // input / output:
-
- XMPMethod void WritePlatformTransform( XMPStorageUnit* )
- = 0;
- XMPMethod void ReadPlatformTransform( XMPStorageUnit* )
- = 0;
-
- //---------------------------------
- // geometry operations with transforms
-
- XMPMethod XMPTransform* Reset()
- = 0;
- XMPMethod XMPTransform* Invert()
- = 0;
- XMPMethod XMPTransform* CopyFrom(XMPTransform* sourceTransform)
- = 0;
- XMPMethod XMPBoolean IsSameAs(XMPTransform* compareTransform)
- = 0;
- XMPMethod XMPTransform* PreCompose(XMPTransform* transform)
- = 0;
- XMPMethod XMPTransform* PostCompose(XMPTransform* transform)
- = 0;
- XMPVMethod XMPTransform* MoveBy( XMPPoint )
- = 0;
-
- //---------------------------------
- // geometry operations with points
-
- XMPMethod XMPPoint TransformPoint(XMPPoint point)
- = 0;
- XMPMethod XMPPoint InvertPoint(XMPPoint point)
- = 0;
- };
-
- #if PLATFORM_MACINTOSH
- #ifndef _TRNSFRMM_
- #include "TrnsfrmM.h"
- #endif
- #endif
-
- #endif // _TRNSFORM_
-