InDesign SDK  20.5
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
Facade::ITransformFacade Class Referenceabstract
Inheritance diagram for Facade::ITransformFacade:
IPMUnknown

Public Types

enum  { kDefaultIID = IID_ITRANSFORMFACADE }
 

Public Member Functions

virtual bool16 ItemsHaveTransformValues (const UIDList &items, const Transform::CoordinateSpace &coordinateSpace, uint32 valuesOfInterest) const =0
 
virtual bool16 CanChangeItemsTransformValues (const UIDList &items, const Transform::CoordinateSpace &coordinateSpace, uint32 valuesOfInterest) const =0
 
virtual void GetItemsScale (const UIDList &items, const Transform::CoordinateSpace &coordinateSpace, K2Vector< PMReal > *xResults, K2Vector< PMReal > *yResults) const =0
 
virtual void GetItemsScale (const UIDList &items, const Transform::CoordinateSpace &coordinateSpace, K2Vector< PMPoint > &results) const =0
 
virtual void GetItemsSkewAngle (const UIDList &items, const Transform::CoordinateSpace &coordinateSpace, K2Vector< PMReal > &results) const =0
 
virtual void GetItemsRotationAngle (const UIDList &items, const Transform::CoordinateSpace &coordinateSpace, K2Vector< PMReal > &results) const =0
 
virtual void GetItemsTranslation (const UIDList &items, const Transform::CoordinateSpace &coordinateSpace, K2Vector< PMReal > *xResults, K2Vector< PMReal > *yResults) const =0
 
virtual void GetItemsTranslation (const UIDList &items, const Transform::CoordinateSpace &coordinateSpace, K2Vector< PMPoint > &results) const =0
 
virtual void GetItemsTransform (const UIDList &items, const Transform::CoordinateSpace &coordinateSpace, K2Vector< PMMatrix > &results) const =0
 
virtual ErrorCode TransformItems (const UIDList &items, const Transform::CoordinateSpace &coordinateSpace, const Transform::TransformOrigin &referencePoint, const Transform::TransformValue &xform, Transform::ScaleMethod scaleMethod=Transform::ConsultScalingPreference())=0
 
virtual ErrorCode TransformPathPoints (const PathSelectionList &pathPoints, const Transform::CoordinateSpace &coordinateSpace, const Transform::TransformOrigin &referencePoint, const Transform::TransformValue &xform)=0
 
virtual ErrorCode ConstructTransformScriptMethod (IScriptRequestData *scriptRequestData, const Transform::CoordinateSpace &coordinateSpace, const Transform::TransformOrigin &referencePoint, const Transform::TransformValue &xform)=0
 
virtual int32 GetTransformItemsCount (const UIDList &items) const =0
 
virtual bool16 CanRedefineItemsScaling (const UIDList &items) const =0
 
virtual bool16 CanRedefineItemsScalingAs (const UIDList &items, PMReal xScale, PMReal yScale) const =0
 
virtual ErrorCode RedefineItemsScaling (const UIDList &items)=0
 
virtual ErrorCode RedefineItemsScalingAs (IScaleObject::ScaleContext *optionalContext, const UIDList &items, PMReal xScale, PMReal yScale)=0
 
virtual bool16 CanRemoveItemsTransformations (const UIDList &items, const Transform::CoordinateSpace &coordinateSpace) const =0
 
virtual ErrorCode RemoveItemsTransformations (const UIDList &items, const Transform::CoordinateSpace &coordinateSpace)=0
 
virtual ErrorCode ProcessTransformAgainSentinelCommand (IDataBase *iDataBase)=0
 
virtual void EnableTransformAgainSelectionObserver (ISelectionManager *)=0
 
virtual void DisableTransformAgainSelectionObserver (ISelectionManager *)=0
 
- Public Member Functions inherited from IPMUnknown
virtual IPMUnknownQueryInterface (PMIID interfaceID) const =0
 
virtual void AddRef () const =0
 
virtual void Release () const =0
 

Member Function Documentation

virtual bool16 Facade::ITransformFacade::CanChangeItemsTransformValues (const UIDListitems,
const Transform::CoordinateSpacecoordinateSpace,
uint32 valuesOfInterest 
) const
pure virtual

Can the page items requested transform values be changed

Parameters
items- the items to check
valuesOfInterest- one or more of {Transform::kScaleXValue, Transform::kScaleYValue, Transform::kSkewValue, Transform::kRotationValue, Transform::kTranslationXValue, Transform::kTranslationYValue} OR'd together
Returns
whether the items can have all of the requested transform values changed
virtual bool16 Facade::ITransformFacade::CanRedefineItemsScaling (const UIDListitems) const
pure virtual

Can the item(s) have their scaling reset to 100% by moving the scale effect onto the item's content?

Parameters
items- the items in question
Returns
True if some of the selected items (or their children) have non-100% scaling transforms
virtual bool16 Facade::ITransformFacade::CanRedefineItemsScalingAs (const UIDListitems,
PMReal xScale,
PMReal yScale 
) const
pure virtual

Can the item(s) have their scaling reset to (xScale,yScale) by moving the scale effect onto the item's content?

Parameters
items- the items in question
Returns
True if some of the selected items (or their children) have non-(xScale,yScale) scaling transforms
virtual bool16 Facade::ITransformFacade::CanRemoveItemsTransformations (const UIDListitems,
const Transform::CoordinateSpacecoordinateSpace 
) const
pure virtual

Can the item(s) have their transform reset to identity (remove rotation, skew and scaling)?

Parameters
items- the items in question
Returns
True if some of the selected items can be rotated, skewed, or scaled.
virtual ErrorCode Facade::ITransformFacade::ConstructTransformScriptMethod (IScriptRequestDatascriptRequestData,
const Transform::CoordinateSpacecoordinateSpace,
const Transform::TransformOriginreferencePoint,
const Transform::TransformValuexform 
)
pure virtual

Construct a script event for the given transform parameters.

Parameters
scriptRequestData- a newly created IScriptRequestData
coordinateSpace- see TransformItems
referencePoint- see TransformItems
xform- see TransformItems
virtual void Facade::ITransformFacade::DisableTransformAgainSelectionObserver (ISelectionManager)
pure virtual

Private use only

virtual void Facade::ITransformFacade::EnableTransformAgainSelectionObserver (ISelectionManager)
pure virtual

Private use only

virtual void Facade::ITransformFacade::GetItemsRotationAngle (const UIDListitems,
const Transform::CoordinateSpacecoordinateSpace,
K2Vector< PMReal > & results 
) const
pure virtual

Return the rotation angles of items.

Parameters
items- the items to check
coordinateSpace- one of Transform::PasteboardCoordinates(), Transform::ParentCoordinates(), Transform::InnerCoordinates()
results[OUT] the rotation angles in degrees
virtual void Facade::ITransformFacade::GetItemsScale (const UIDListitems,
const Transform::CoordinateSpacecoordinateSpace,
K2Vector< PMReal > * xResults,
K2Vector< PMReal > * yResults 
) const
pure virtual

Return the x and y scale factors of items.

Parameters
items- the items to check
coordinateSpace- one of Transform::PasteboardCoordinates(), Transform::ParentCoordinates(), Transform::InnerCoordinates()
xResults[OUT] the x scale factors
yResults[OUT] the y scale factors
virtual void Facade::ITransformFacade::GetItemsScale (const UIDListitems,
const Transform::CoordinateSpacecoordinateSpace,
K2Vector< PMPoint > & results 
) const
pure virtual

Return the x and y scale factors of items.

Parameters
items- the items to check
coordinateSpace- one of Transform::PasteboardCoordinates(), Transform::ParentCoordinates(), Transform::InnerCoordinates()
results- the x and y scale factors returned as PMPoint data"
virtual void Facade::ITransformFacade::GetItemsSkewAngle (const UIDListitems,
const Transform::CoordinateSpacecoordinateSpace,
K2Vector< PMReal > & results 
) const
pure virtual

Return the skew angles of items.

Parameters
items- the items to check
coordinateSpace- one of Transform::PasteboardCoordinates(), Transform::ParentCoordinates(), Transform::InnerCoordinates()
results[OUT] the skew angles in degrees
virtual void Facade::ITransformFacade::GetItemsTransform (const UIDListitems,
const Transform::CoordinateSpacecoordinateSpace,
K2Vector< PMMatrix > & results 
) const
pure virtual

Return the transformation matrices of items.

Parameters
items- the items to check
coordinateSpace- one of Transform::PasteboardCoordinates(), Transform::ParentCoordinates(), Transform::InnerCoordinates()
results[OUT] the transformation matrices
virtual void Facade::ITransformFacade::GetItemsTranslation (const UIDListitems,
const Transform::CoordinateSpacecoordinateSpace,
K2Vector< PMReal > * xResults,
K2Vector< PMReal > * yResults 
) const
pure virtual

Return the location of the inner origins of items.

Parameters
items- the items to check
coordinateSpace- one of Transform::PasteboardCoordinates(), Transform::ParentCoordinates(), Transform::InnerCoordinates()
xResults[OUT] the x locations
yResults[OUT] the y locations
virtual void Facade::ITransformFacade::GetItemsTranslation (const UIDListitems,
const Transform::CoordinateSpacecoordinateSpace,
K2Vector< PMPoint > & results 
) const
pure virtual

Return the location of the inner origins of items.

Parameters
items- the items to check
coordinateSpace- one of Transform::PasteboardCoordinates(), Transform::ParentCoordinates(), Transform::InnerCoordinates()
results[OUT] the (x,y) locations
virtual int32 Facade::ITransformFacade::GetTransformItemsCount (const UIDListitems) const
pure virtual

Return the number of items that will be affected by a transform

Parameters
items- the items in question
Returns
Resulting number of items
virtual bool16 Facade::ITransformFacade::ItemsHaveTransformValues (const UIDListitems,
const Transform::CoordinateSpacecoordinateSpace,
uint32 valuesOfInterest 
) const
pure virtual

Do the page items have the requested transform values

Parameters
items- the items to check
valuesOfInterest- one or more of {Transform::kScaleXValue, Transform::kScaleYValue, Transform::kSkewValue, Transform::kRotationValue, Transform::kTranslationXValue, Transform::kTranslationYValue} OR'd together
Returns
whether the items have all of the requested transform values
virtual ErrorCode Facade::ITransformFacade::ProcessTransformAgainSentinelCommand (IDataBaseiDataBase)
pure virtual

Add a Transform Again Sentinel Command on the stack - private use only

Parameters
iDataBase- target for the command
Returns
ErrorCode
virtual ErrorCode Facade::ITransformFacade::RedefineItemsScaling (const UIDListitems)
pure virtual

Reset scaling to 100% by moving the scale effect onto the item's content.

Parameters
items- the items to modify
Returns
Command processing result
virtual ErrorCode Facade::ITransformFacade::RedefineItemsScalingAs (IScaleObject::ScaleContextoptionalContext,
const UIDListitems,
PMReal xScale,
PMReal yScale 
)
pure virtual

Reset selected items to to the specified scaling – a generalization of RedefineItemsScaling.

Parameters
optionalContext- for internal use only, pass in nil
items- the items to modify
xScale- the target horizontal factor
yScale- the target vertical factor
Returns
Command processing result
virtual ErrorCode Facade::ITransformFacade::RemoveItemsTransformations (const UIDListitems,
const Transform::CoordinateSpacecoordinateSpace 
)
pure virtual

Reset selected items to identity transform matrix (remove rotation, skew and scaling).

Parameters
items- the items to modify
Returns
Command processing result
virtual ErrorCode Facade::ITransformFacade::TransformItems (const UIDListitems,
const Transform::CoordinateSpacecoordinateSpace,
const Transform::TransformOriginreferencePoint,
const Transform::TransformValuexform,
Transform::ScaleMethod scaleMethod = Transform::ConsultScalingPreference() 
)
pure virtual

Transform page items.

Parameters
items- the page items to transform
coordinateSpace- one of Transform::PasteboardCoordinates(), Transform::ParentCoordinates(), Transform::InnerCoordinates()
referencePoint- temporary origin during the transformation
xform- one of the values defined in TransformTypes.h e.g. Transform::ScaleBy( xscale, yscale)
virtual ErrorCode Facade::ITransformFacade::TransformPathPoints (const PathSelectionListpathPoints,
const Transform::CoordinateSpacecoordinateSpace,
const Transform::TransformOriginreferencePoint,
const Transform::TransformValuexform 
)
pure virtual

Transform path points.

Parameters
pathPoints- the path points to transform
coordinateSpace- one of Transform::PasteboardCoordinates(), Transform::ParentCoordinates(), Transform::InnerCoordinates()
referencePoint- temporary origin during the transformation
xform- one of the values defined in TransformTypes.h e.g. Transform::ScaleBy( xscale, yscale)