home *** CD-ROM | disk | FTP | other *** search
Text File | 1996-08-16 | 5.9 KB | 204 lines | [TEXT/MPS ] |
- //========================================================================================
- //
- // File: FWODGeom.cpp
- // Release Version: $ ODF 1 $
- //
- // Copyright: (c) 1993 - 1996 by Apple Computer, Inc., all rights reserved.
- //
- //========================================================================================
-
- #include "FWOS.hpp"
-
- #ifndef FWODGEOM_H
- #include "FWODGeom.h"
- #endif
-
- #ifndef FWRECT_H
- #include "FWRect.h"
- #endif
-
- #ifndef FWACQUIR_H
- #include "FWAcquir.h"
- #endif
-
- // ----- OpenDoc Includes -----
-
- #ifndef SOM_ODShape_xh
- #include <Shape.xh>
- #endif
-
- #ifndef SOM_ODTransform_xh
- #include <Trnsform.xh>
- #endif
-
- #ifndef SOM_ODFrame_xh
- #include <Frame.xh>
- #endif
-
- //========================================================================================
- // Runtime Informations
- //========================================================================================
-
- #ifdef FW_BUILD_MAC
- #pragma segment fwodmisc
- #endif
-
- //========================================================================================
- // Globales Methods
- //========================================================================================
-
-
- //----------------------------------------------------------------------------------------
- // FW_GetShapeRegion
- //----------------------------------------------------------------------------------------
-
- ODRgnHandle FW_GetShapeRegion(Environment *ev, ODShape* odShape)
- {
- #ifdef FW_BUILD_MAC
- return odShape->GetQDRegion(ev);
- #endif
- #ifdef FW_BUILD_WIN
- return odShape->GetWinRegion(ev);
- #endif
- }
-
- //----------------------------------------------------------------------------------------
- // FW_SetShapeRegion
- //----------------------------------------------------------------------------------------
-
- void FW_SetShapeRegion(Environment *ev, ODShape* odShape, ODRgnHandle rgnHandle)
- {
- #ifdef FW_BUILD_MAC
- odShape->SetQDRegion(ev, rgnHandle);
- #endif
- #ifdef FW_BUILD_WIN
- odShape->SetWinRegion(ev, rgnHandle);
- #endif
- }
-
-
- //----------------------------------------------------------------------------------------
- // FW_GetShapeBoundingBox
- //----------------------------------------------------------------------------------------
-
- FW_CRect FW_GetShapeBoundingBox(Environment *ev, ODShape* odShape)
- {
- ODRect rect;
- odShape->GetBoundingBox(ev, &rect);
- return rect;
- }
-
- //----------------------------------------------------------------------------------------
- // FW_XorODShape
- //----------------------------------------------------------------------------------------
-
- ODShape* FW_XorODShape(Environment* ev, ODShape* a, ODShape* b)
- {
- ODShape* result = a->Copy(ev);
- result->Union(ev, b);
-
- FW_CAcquiredODShape aqIntersect(a->Copy(ev));
- aqIntersect->Intersect(ev, b);
-
- result->Subtract(ev, aqIntersect);
-
- return result;
- }
-
- //----------------------------------------------------------------------------------------
- // FW_NewODShape
- //----------------------------------------------------------------------------------------
-
- ODShape* FW_NewODShape(Environment* ev)
- {
- ODShape* shape = FW_PrivNewODShape_Empty (ev);
- FW_FailOnEvError(ev);
- return shape;
- }
-
- //----------------------------------------------------------------------------------------
- // FW_NewODShape
- //----------------------------------------------------------------------------------------
-
- ODShape* FW_NewODShape(Environment *ev, ODShape* otherShape)
- {
- return otherShape->Copy(ev);
- }
-
- //----------------------------------------------------------------------------------------
- // FW_NewODShape
- //----------------------------------------------------------------------------------------
-
- ODShape* FW_NewODShape(Environment *ev, const FW_CRect& rect)
- {
- ODShape* shape = FW_PrivNewODShape_Rect (ev, rect);
- FW_FailOnEvError(ev);
- return shape;
- }
-
- //----------------------------------------------------------------------------------------
- // FW_NewODShape
- //----------------------------------------------------------------------------------------
-
- ODShape* FW_NewODShape(Environment *ev, const FW_SPlatformRect& rect)
- {
- ODShape* shape = FW_PrivNewODShape_PlatformRect (ev, rect);
- FW_FailOnEvError(ev);
- return shape;
- }
-
- //----------------------------------------------------------------------------------------
- // FW_NewODShape
- //----------------------------------------------------------------------------------------
-
- ODShape* FW_NewODShape(Environment *ev, ODRgnHandle rgnHandleToAdopt)
- {
- ODShape* shape = FW_PrivNewODShape_Region (ev, rgnHandleToAdopt);
- FW_FailOnEvError(ev);
- return shape;
- }
-
-
- //----------------------------------------------------------------------------------------
- // FW_NewODTransform
- //----------------------------------------------------------------------------------------
-
- ODTransform* FW_NewODTransform(Environment* ev)
- {
- ODTransform* transform = FW_PrivNewODTransform_Empty (ev);
- FW_FailOnEvError(ev);
- return transform;
- }
-
- //----------------------------------------------------------------------------------------
- // FW_NewODTransform
- //----------------------------------------------------------------------------------------
-
- ODTransform* FW_NewODTransform(Environment *ev, ODTransform* otherTransform)
- {
- return otherTransform->Copy(ev);
- }
-
- //----------------------------------------------------------------------------------------
- // FW_NewODTransform
- //----------------------------------------------------------------------------------------
-
- ODTransform* FW_NewODTransform(Environment *ev, const FW_CPoint& offset)
- {
- ODTransform* transform = FW_PrivNewODTransform_Point (ev, offset);
- FW_FailOnEvError(ev);
- return transform;
- }
-
- //----------------------------------------------------------------------------------------
- // FW_NewODTransform
- //----------------------------------------------------------------------------------------
-
- ODTransform* FW_NewODTransform(Environment *ev, const FW_CPoint& offset, const FW_CPoint& scale)
- {
- ODTransform* transform = FW_PrivNewODTransform_Point2 (ev, offset, scale);
- FW_FailOnEvError(ev);
- return transform;
- }
-
-