home *** CD-ROM | disk | FTP | other *** search
Text File | 1996-09-17 | 7.5 KB | 276 lines | [TEXT/MPS ] |
- //========================================================================================
- //
- // File: SLMaping.h
- // Release Version: $ ODF 2 $
- //
- // Copyright: (c) 1993 - 1996 by Apple Computer, Inc., all rights reserved.
- //
- //========================================================================================
-
- #ifndef SLMAPING_H
- #define SLMAPING_H
-
- #ifndef SLPTRECT_H
- #include "SLPtRect.h"
- #endif
-
- #ifndef SLGDEV_H
- #include "SLGDev.h"
- #endif
-
- #ifndef FWSTDDEF_H
- #include "FWStdDef.h"
- #endif
-
- //========================================================================================
- // Forward Class Declarations
- //========================================================================================
-
- class ODShape;
- class ODTransform;
-
- //========================================================================================
- // Constants
- //========================================================================================
-
- enum FW_EMappingModes
- {
- FW_kCentimeter,
- FW_kInch,
- FW_kPoint,
- FW_kDevice,
- FW_kCustomConstrained,
- FW_kCustomUnconstrained
- };
-
- //========================================================================================
- // STRUCT FW_SMapping
- //========================================================================================
-
- struct FW_SMapping
- {
- FW_EMappingModes fMappingMode;
-
- FW_SPoint fLogicalExtent;
- FW_SPoint fDeviceExtent;
-
- FW_SPoint fDeviceOrg;
- FW_SPoint fLogicalOrg;
-
- FW_PlatformPoint fOriginOffset;
-
- // ----- Cache -----
- FW_HGDevice fRecentDevice;
- ODTransform* fRecentODTransform;
-
- FW_Boolean fHaveTransforms;
-
- ODTransform* fLogicalToContentTransform;
- ODTransform* fContentToDeviceTransform;
- ODTransform* fLogicalToDeviceTransform;
- };
-
- //========================================================================================
- // Mapping functions
- //========================================================================================
-
- // Export or Import functions for CFM-68K [sfu]
-
- #if defined(FW_ODFLIB_IMPORT)
- #pragma import on
- #elif defined(FW_ODFLIB)
- #pragma export on
- #endif
-
- FW_EXTERN_C_BEGIN
-
- // Init/destroy
-
- void SL_API FW_PrivMapping_Init(FW_SMapping& mapping, FW_EMappingModes mappingMode);
- void SL_API FW_PrivMapping_InitFromCopy(FW_SMapping& mapping, const FW_SMapping& mapping2);
- void SL_API FW_PrivMapping_Term(FW_SMapping& mapping, Environment* ev);
-
- // Set/get mapping
-
- void SL_API FW_PrivMapping_Reset(FW_SMapping& mapping, Environment* ev);
- void SL_API FW_PrivMapping_SetMode(FW_SMapping& mapping, Environment* ev, FW_EMappingModes newMappingMode);
- void SL_API FW_PrivMapping_SetExtents(
- FW_SMapping& mapping,
- Environment* ev,
- const FW_SPoint& logicalExtent,
- const FW_SPoint& deviceExtent);
-
- void SL_API FW_PrivMapping_SetDeviceOrigin(FW_SMapping& mapping, Environment* ev, FW_Fixed x, FW_Fixed y);
- void SL_API FW_PrivMapping_SetLogicalOrigin(FW_SMapping& mapping, Environment* ev, FW_Fixed x, FW_Fixed y);
-
- void SL_API FW_PrivMapping_GetOriginOffset(
- const FW_SMapping& mapping,
- Environment* ev,
- FW_PlatformPoint& offset,
- FW_HGDevice device,
- ODTransform* transform);
-
- // Conversion
-
- // ----- Logical ---> Content
-
- void SL_API FW_PrivMapping_LogicalToContentPoint(
- const FW_SMapping& mapping,
- Environment* ev,
- const FW_SPoint& ptFrom,
- FW_SPoint& ptTo,
- FW_HGDevice device,
- ODTransform* transform);
-
- void SL_API FW_PrivMapping_LogicalToContentRect(
- const FW_SMapping& mapping,
- Environment* ev,
- const FW_SRect& rectFrom,
- FW_SRect& rectTo,
- FW_HGDevice device,
- ODTransform* transform);
-
- ODShape* SL_API FW_PrivMapping_LogicalToContentShape(
- const FW_SMapping& mapping,
- Environment* ev,
- ODShape* shape,
- FW_HGDevice device,
- ODTransform* transform);
-
- // ----- Logical ---> Device
-
- void SL_API FW_PrivMapping_LogicalToDevicePoint(
- const FW_SMapping& mapping,
- Environment* ev,
- const FW_SPoint& ptFrom,
- FW_PlatformPoint& ptTo,
- FW_HGDevice device,
- ODTransform* transform);
-
- void SL_API FW_PrivMapping_LogicalToDeviceRect(
- const FW_SMapping& mapping,
- Environment* ev,
- const FW_SRect& rectFrom,
- FW_PlatformRect& rectTo,
- FW_HGDevice device,
- ODTransform* transform);
-
- ODShape* SL_API FW_PrivMapping_LogicalToDeviceShape(
- const FW_SMapping& mapping,
- Environment* ev,
- ODShape* shape,
- FW_HGDevice device,
- ODTransform* transform);
-
- // ----- Device ---> Logical
-
- void SL_API FW_PrivMapping_DeviceToLogicalPoint(
- const FW_SMapping& mapping,
- Environment* ev,
- const FW_PlatformPoint& ptFrom,
- FW_SPoint& ptTo,
- FW_HGDevice device,
- ODTransform* transform);
-
- void SL_API FW_PrivMapping_DeviceToLogicalRect(
- const FW_SMapping& mapping,
- Environment* ev,
- const FW_PlatformRect& rectFrom,
- FW_SRect& rectTo,
- FW_HGDevice device,
- ODTransform* transform);
-
- ODShape* SL_API FW_PrivMapping_DeviceToLogicalShape(
- const FW_SMapping& mapping,
- Environment* ev,
- ODShape* shape,
- FW_HGDevice device,
- ODTransform* transform);
-
- // ----- Device ---> Content
-
- void SL_API FW_PrivMapping_DeviceToContentPoint(
- const FW_SMapping& mapping,
- Environment* ev,
- const FW_PlatformPoint& ptFrom,
- FW_SPoint& ptTo,
- FW_HGDevice device,
- ODTransform* transform);
-
- void SL_API FW_PrivMapping_DeviceToContentRect(
- const FW_SMapping& mapping,
- Environment* ev,
- const FW_PlatformRect& rectFrom,
- FW_SRect& rectTo,
- FW_HGDevice device,
- ODTransform* transform);
-
- ODShape* SL_API FW_PrivMapping_DeviceToContentShape(
- const FW_SMapping& mapping,
- Environment* ev,
- ODShape* shape,
- FW_HGDevice device,
- ODTransform* transform);
-
- // ----- Content ---> Logical
-
- void SL_API FW_PrivMapping_ContentToLogicalPoint(
- const FW_SMapping& mapping,
- Environment* ev,
- const FW_SPoint& ptFrom,
- FW_SPoint& ptTo,
- FW_HGDevice device,
- ODTransform* transform);
-
- void SL_API FW_PrivMapping_ContentToLogicalRect(
- const FW_SMapping& mapping,
- Environment* ev,
- const FW_SRect& rectFrom,
- FW_SRect& rectTo,
- FW_HGDevice device,
- ODTransform* transform);
-
- ODShape* SL_API FW_PrivMapping_ContentToLogicalShape(
- const FW_SMapping& mapping,
- Environment* ev,
- ODShape* shape,
- FW_HGDevice device,
- ODTransform* transform);
-
- // ----- Content ---> Device
-
- void SL_API FW_PrivMapping_ContentToDevicePoint(
- const FW_SMapping& mapping,
- Environment* ev,
- const FW_SPoint& ptFrom,
- FW_PlatformPoint& ptTo,
- FW_HGDevice device,
- ODTransform* transform);
-
- void SL_API FW_PrivMapping_ContentToDeviceRect(
- const FW_SMapping& mapping,
- Environment* ev,
- const FW_SRect& rectFrom,
- FW_PlatformRect& rectTo,
- FW_HGDevice device,
- ODTransform* transform);
-
- ODShape* SL_API FW_PrivMapping_ContentToDeviceShape(
- const FW_SMapping& mapping,
- Environment* ev,
- ODShape* shape,
- FW_HGDevice device,
- ODTransform* transform);
-
- FW_EXTERN_C_END
-
- // For CFM-68K [sfu]
-
- #if defined(FW_ODFLIB_IMPORT)
- #pragma import off
- #elif defined(FW_ODFLIB)
- #pragma export off
- #endif
-
- #endif // SLMAPING_H
-