InDesign SDK  20.5
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
IUnitOfMeasure Class Referenceabstract

#include <IUnitOfMeasure.h>

Inheritance diagram for IUnitOfMeasure:
IPMUnknownCUnitOfMeasureCstUniPoints

Public Types

enum  UnitFlags {
  kUnitIsXMeasure = 0x0001, kUnitIsYMeasure = 0x0002, kUnitIsTextMeasure = 0x0004, kUnitIsTextSizeMeasure = 0x0008,
  kUnitIsPrintMeasure = 0x0010, kUnitIsLineMeasure = 0x0020
}
 

Public Member Functions

virtual void GetName (PMString *pName)=0
 
virtual PMReal UnitsToPoints (const PMReal &units) const =0
 
virtual PMReal PointsToUnits (const PMReal &points) const =0
 
virtual void Format (const PMReal &units, PMString &str, PMString *fractionalPortionString=nil) const =0
 
virtual bool16 Parse (const PMString &str, PMReal &points, const bool16 alwaysUseEnglishAbbreviations=kFalse)=0
 
virtual PMReal GetSmallIncrement () const =0
 
virtual PMReal GetLargeIncrement () const =0
 
virtual RsrcSpec GetRulerSpecRsrcSpec () const =0
 
virtual UnitFlags GetUnitFlags () const =0
 
virtual ScriptID GetScriptID (const ScriptInfo::RequestContext &context) const =0
 
- Public Member Functions inherited from IPMUnknown
virtual IPMUnknownQueryInterface (PMIID interfaceID) const =0
 
virtual void AddRef () const =0
 
virtual void Release () const =0
 

Detailed Description

IUnitOfMeasure represents a unit of measurement in the measurement system.

See Also
IMeasurementSystem

Member Enumeration Documentation

Unit Type Flags
Enumerator
kUnitIsXMeasure 

use this unit in X measurements on spread

kUnitIsYMeasure 

use this unit in Y measurements on spread

kUnitIsTextMeasure 

use this unit in typographic distance measurements (excludes text size)

kUnitIsTextSizeMeasure 

use this unit in text size measurements

kUnitIsPrintMeasure 

use this unit in print dialog measurements

kUnitIsLineMeasure 

use this unit in line dialog measurements

Member Function Documentation

virtual void IUnitOfMeasure::Format (const PMRealunits,
PMStringstr,
PMStringfractionalPortionString = nil 
) const
pure virtual

Format a value in this unit as a string

Implemented in CstUni, and Points.

virtual PMReal IUnitOfMeasure::GetLargeIncrement () const
pure virtual

Get a reasonable large increment

Implemented in CstUni, and CUnitOfMeasure.

virtual void IUnitOfMeasure::GetName (PMStringpName)
pure virtual

Return the name of this unit

Implemented in CstUni, and Points.

virtual RsrcSpec IUnitOfMeasure::GetRulerSpecRsrcSpec () const
pure virtual

Get the ruler spec for this unit

Implemented in CstUni, and Points.

virtual ScriptID IUnitOfMeasure::GetScriptID (const ScriptInfo::RequestContextcontext) const
pure virtual

Returns the ScriptID associated with this unit of measure in the given scripting DOM

Implemented in CstUni, and Points.

virtual PMReal IUnitOfMeasure::GetSmallIncrement () const
pure virtual

Get a reasonable small increment

Implemented in CstUni, and CUnitOfMeasure.

virtual UnitFlags IUnitOfMeasure::GetUnitFlags () const
pure virtual

Get the unit flags for this unit

Implemented in CstUni, CUnitOfMeasure, and Points.

virtual bool16 IUnitOfMeasure::Parse (const PMStringstr,
PMRealpoints,
const bool16 alwaysUseEnglishAbbreviations = kFalse 
)
pure virtual

Parse a string like "1 in" into points. str IN, the string to be parsed

Parameters
pointsOUT, the resulting points alwaysUseEnglishAbbreviations IN, whether to always use the English abbreviations for units such as "in". If false then the translation of the string in the current locale is used.
Returns
bool16, Whether the parsing succeeded.

Implemented in CstUni, and Points.

virtual PMReal IUnitOfMeasure::PointsToUnits (const PMRealpoints) const
pure virtual

Convert a value in points to this unit

Implemented in CstUni, and Points.

virtual PMReal IUnitOfMeasure::UnitsToPoints (const PMRealunits) const
pure virtual

Convert a value in this unit to points

Implemented in CstUni, and Points.