Mako 8.2.0 API
MakoCore SDK API Documentation
Loading...
Searching...
No Matches
idomglyphs.h
Go to the documentation of this file.
1/*
2 * Copyright (C) 2007-2025 Global Graphics Software Ltd. All rights reserved.
3 */
4
5#ifndef EDLIDOMGLYPHS_H
6#define EDLIDOMGLYPHS_H
7
8#include <edl/edltypes.h>
9#include <edl/edlgeom.h>
10#include <edl/idombrush.h>
12#include <edl/idomgroup.h>
13#include <edl/idomfont.h>
14#include <edl/idomglyph.h>
15#include <edl/idomnode.h>
16#include <edl/idomresources.h>
17#include <edl/idomtarget.h>
18#include <edl/idompath.h>
19#include <edl/iglyphsclusters.h>
22
24
25class IDOMGlyphs;
27
48class IDOMGlyphs : public IDOMNode
49{
50#define IDOMGlyphsClassID 0x26AA00B9, 0x290A4048, 0xA0D141C1, 0xEFCB15CE
51public:
52
58 typedef enum
59 {
60 eSSNone = 0x00,
61 eSSItalic = 0x01,
62 eSSBold = 0x02,
63#ifdef SWIG
64 eSSBoldItalic = 0x01 | 0x02
65#else
67#endif
69
87 static EDL_API IDOMGlyphsPtr create(IEDLClassFactory *pFactory,
88 const EDLString &unicodeString,
89 double size,
90 const FPoint &position,
91 const IDOMBrushPtr &brush,
92 const IDOMFontPtr &font,
93 uint32 fontIndex = 0,
94 eStyleSimulations styleSimulations = eSSNone,
95 const FMatrix renderTransform = FMatrix(),
96 const IDOMPathGeometryPtr &clip = IDOMPathGeometryPtr(),
97 float opacity = 1.0f);
98
99
104 class Data : public CClassParams
105 {
106 public:
109 opacity(1.0),
110 bidiLevel(0),
111 isSideways(false),
112 fontIndex(0),
114 isCharPath(false),
115 isInvisible(false),
116 originX (0.0),
117 originY (0.0),
119 overprintMode(false),
120 fillOverprint(false)
121 {}
126 uint32 fontIndex; // >= 0, number identifying font face number in TTC
133 float opacity;
135 IDOMFontPtr font;
136 IDOMTargetPtr ptrNavigateLink;
137 IDOMBrushPtr ptrOpacityMask;
138 IDOMPathGeometryPtr ptrClip;
139 IDOMBrushPtr ptrFill;
145 };
146
151 static const CClassID &classID()
152 {
153 static CClassID id(IDOMGlyphsClassID);
154 return id;
155 };
156
166 virtual uint8 getBidiLevel () const = 0;
167
177 virtual void setBidiLevel (uint8 bidiLevel) = 0;
178
198 virtual const EDLSysString &getCaretStops () const = 0;
199
229 virtual void setCaretStops (const EDLSysString& caretStops) = 0;
230
237 virtual const EDLString &getDeviceFontName () const = 0;
238
245 virtual void setDeviceFontName (const EDLString& name) = 0;
246
253 virtual double getFontRenderingEmSize () const = 0;
254
261 virtual void setFontRenderingEmSize (double emSize) = 0;
262
267 virtual IDOMFontPtr getFont () const = 0;
268
273 virtual void setFont (const IDOMFontPtr &font) = 0;
274
279 virtual uint32 getFontIndex () const = 0;
284 virtual void setFontIndex (uint32 index) = 0;
285
293 virtual double getOriginX () const = 0;
294
302 virtual void setOriginX (double originX) = 0;
303
311 virtual double getOriginY () const = 0;
312
320 virtual void setOriginY (double originY) = 0;
321
341 virtual bool getIsSideways () const = 0;
342
347 virtual void setIsSideways (bool isSideways) = 0;
348
353 virtual const EDLSysString &getIndices () const = 0;
354
360 virtual void setIndices (const EDLSysString& indices)= 0;
361
366 virtual const EDLString &getUnicodeString () const = 0;
367
372 virtual void setUnicodeString (const EDLString &unicodeString) = 0;
373
383 virtual IGlyphsClustersPtr getClusters () const = 0;
384
389 virtual void setClusters (const IGlyphsClustersPtr &clusters) = 0;
390
411
431 virtual void setStyleSimulations (eStyleSimulations styleSimulations) = 0;
432
441 virtual const FMatrix &getRenderTransform() const = 0;
442
451 virtual void setRenderTransform(const FMatrix &matrix) = 0;
452
461 virtual float getOpacity() const = 0;
462
471 virtual void setOpacity(float opc) = 0;
472
477 virtual eBlendMode getBlendMode() const = 0;
478
485 virtual void setBlendMode(eBlendMode blendMode) = 0;
486
491 virtual IDOMTargetPtr getNavigateLink () const = 0;
492
497 virtual void setNavigateLink (const IDOMTargetPtr &target) = 0;
498
509 virtual const EDLString &getLanguage () const = 0;
510
521 virtual void setLanguage (const EDLString &lang) = 0;
522
530 virtual IDOMBrushPtr getOpacityMask() const = 0;
531
540 virtual void setOpacityMask(const IDOMBrushPtr &ptrOpacityMask) = 0;
541
547 virtual IDOMPathGeometryPtr getClip() const = 0;
548
554 virtual void setClip(const IDOMPathGeometryPtr &ptrClip) = 0;
555
560 virtual IDOMBrushPtr getFill() const = 0;
561
566 virtual void setFill(const IDOMBrushPtr &ptrFill) = 0;
567
576
581 virtual bool getIsCharPath () const = 0;
582
587 virtual void setIsCharPath (bool isCharPath) = 0;
588
593 virtual bool getIsInvisible () const = 0;
594
599 virtual void setIsInvisible (bool isInvisible) = 0;
600
607 virtual IDOMPathNodePtr getEquivalentPath() const = 0;
608
637 virtual IDOMNodePtr split() const = 0;
638
657 virtual IDOMNodePtr hardSplit() const = 0;
658
674 virtual bool validateInstructions() const = 0;
675
683 virtual bool getFillOverprints() const = 0;
684
692 virtual void setFillOverprints(bool overprint = true) = 0;
693
703 virtual bool getOverprintMode() const = 0;
704
714 virtual void setOverprintMode(bool mode = true) = 0;
715
728
740 virtual void setRenderingIntent(eRenderingIntent intent) = 0;
741
753
765
766};
767#define edlobj2IDOMGlyphs(src) edl_cast((IDOMGlyphs *)NULL, src)
768#define dom2IDOMGlyphs(src) dom2NodeType<IDOMGlyphs, eDOMGlyphsNode>(src)
769
771
772#endif /* EDLIDOMGLYPHS_H */
An object to represent a 128-bit globally unique ID.
Definition objclassid.h:29
EDL Object Interface.
Definition iedlobject.h:31
CEDLVector< Data > CDOMGlyphDataVect
Definition idomglyph.h:153
IDOMBrushPtr ptrOpacityMask
Definition idomglyphs.h:137
Data()
Definition idomglyphs.h:107
double originX
Definition idomglyphs.h:127
IDOMTargetPtr ptrNavigateLink
Definition idomglyphs.h:136
EDLString unicodeString
Definition idomglyphs.h:130
EDLSysString caretStops
Definition idomglyphs.h:123
float opacity
Definition idomglyphs.h:133
double originY
Definition idomglyphs.h:127
IDOMPathGeometryPtr ptrClip
Definition idomglyphs.h:138
bool fillOverprint
Definition idomglyphs.h:144
eBlendMode blendMode
Definition idomglyphs.h:140
EDLString language
Definition idomglyphs.h:134
uint8 bidiLevel
Definition idomglyphs.h:122
EDLSysString indices
Definition idomglyphs.h:129
double fontRenderingEmSize
Definition idomglyphs.h:125
IDOMFontPtr font
Definition idomglyphs.h:135
EDLString deviceFontName
Definition idomglyphs.h:124
bool overprintMode
Definition idomglyphs.h:143
FMatrix renderTransform
Definition idomglyphs.h:132
eStyleSimulations styleSimulations
Definition idomglyphs.h:131
bool isInvisible
Definition idomglyphs.h:142
bool isSideways
Definition idomglyphs.h:128
uint32 fontIndex
Definition idomglyphs.h:126
IDOMBrushPtr ptrFill
Definition idomglyphs.h:139
bool isCharPath
Definition idomglyphs.h:141
An abstract class providing an interface to a "Glyphs" node. Glyphs nodes are used to represent a run...
Definition idomglyphs.h:49
virtual double getOriginY() const =0
Retrieves the y-coordinate of the first glyph in the run, in units of the effective coordinate space....
virtual double getFontRenderingEmSize() const =0
Retrieves the font rendering em size in drawing surface units. The font rendering em size is expresse...
virtual bool getIsInvisible() const =0
Retrieves a Boolean value which indicates if this Glyphs node is intended to be invisible.
virtual IDOMPathGeometryPtr getClip() const =0
Retrieves the clip for the Glyphs node. The clip limits the rendered region of the glyph.
virtual void setOriginY(double originY)=0
Sets the y-coordinate of the first glyph in the run, in units of the effective coordinate space....
virtual IGlyphsClustersPtr getClusters() const =0
Unpack the UnicodeString and Indices strings into a set of clusters representing the smallest units o...
virtual void setFill(const IDOMBrushPtr &ptrFill)=0
Sets the fill brush used to fill the shape of the rendered glyphs.
virtual double getOriginX() const =0
Retrieves the x-coordinate of the first glyph in the run, in units of the effective coordinate space....
virtual const EDLString & getUnicodeString() const =0
Gets the Unicode string that represents the text of the run of glyphs.
virtual void setClusters(const IGlyphsClustersPtr &clusters)=0
Populate the glyphs node UnicodeString and Indices from the given set of glyphs clusters.
virtual void setBidiLevel(uint8 bidiLevel)=0
Sets the bidiLevel for this run of text.
virtual void setIsCharPath(bool isCharPath)=0
Sets the flag to indicate if this glyph is intended to draw a path.
virtual IDOMGlyph::CDOMGlyphDataVect getFlattenedGlyphInfo() const =0
Retrieves the flattened glyph information, indicating every glyph that results from painting this gly...
virtual eStyleSimulations getStyleSimulations() const =0
Retrieves the style simulation value.
virtual IDOMTargetPtr getNavigateLink() const =0
Retrieves the target of a hyperlink.
virtual void setRenderingIntent(eRenderingIntent intent)=0
Set or clear the rendering intent for the node. The rendering intent is used whenever the node requir...
virtual void setOriginX(double originX)=0
Sets the x-coordinate of the first glyph in the run, in units of the effective coordinate space....
virtual void setUnicodeString(const EDLString &unicodeString)=0
Sets the Unicode string that represents the text of the run of glyphs.
virtual void setFontRenderingEmSize(double emSize)=0
Sets the font rendering em size in drawing surface units. The font rendering em size is expressed as ...
virtual void setFillOverprints(bool overprint=true)=0
Sets whether or not the fill should overprint. Overprinting is honored only for rendering,...
virtual bool getIsSideways() const =0
Indicates that a glyph is turned on its side, with the origin being defined as the top center of the ...
virtual uint32 getFontIndex() const =0
Retrieves the font index.
virtual const EDLString & getLanguage() const =0
Retrieves the default language of the Glyphs element and any of its children.
virtual void setOpacity(float opc)=0
Sets the opacity value of the Glyphs node. The opacity value defines the uniform transparency of the ...
virtual void setRenderTransform(const FMatrix &matrix)=0
Sets the render transform matrix of the Glyphs node and its children. The render transform establishe...
virtual const EDLString & getDeviceFontName() const =0
Retrieves the XPS-specific device font name. The device font name, which uniquely identifies a specif...
virtual void setOverprintMode(bool mode=true)=0
Sets whether or not overprint should obey PDF/PS overprint mode semantics. PDF and PostScript support...
virtual void setCaretStops(const EDLSysString &caretStops)=0
Sets the XPS-specific caret stop specification for a run of glyphs.
virtual float getOpacity() const =0
Retrieves the opacity value of the Glyphs node. The opacity value defines the uniform transparency of...
virtual IDOMNodePtr split() const =0
Split the glyphs node into a series of glyph nodes each consisting of the smallest possible unit.
static EDL_API IDOMGlyphsPtr create(IEDLClassFactory *pFactory, const EDLString &unicodeString, double size, const FPoint &position, const IDOMBrushPtr &brush, const IDOMFontPtr &font, uint32 fontIndex=0, eStyleSimulations styleSimulations=eSSNone, const FMatrix renderTransform=FMatrix(), const IDOMPathGeometryPtr &clip=IDOMPathGeometryPtr(), float opacity=1.0f)
Simplified creator for a glyphs object Throws an IEDLError on failure.
virtual IDOMBrushPtr getFill() const =0
Retrieves the fill brush used to fill the shape of the rendered glyphs.
virtual void setBlackPointCompensation(eBlackPointCompensation compensation)=0
Set the black point compensation for the node. The black point compensation setting is used whenever ...
virtual IDOMNodePtr hardSplit() const =0
Split the glyphs node into a series of glyph nodes each consisting of single glyphs.
virtual eBlendMode getBlendMode() const =0
Gets the blend mode to be used for rendering this node.
virtual IDOMPathNodePtr getEquivalentPath() const =0
Get a graphically equivalent path node for the glyphs node, with all glyphs converted to path geometr...
virtual void setStyleSimulations(eStyleSimulations styleSimulations)=0
Retrieves the style simulation value.
virtual void setClip(const IDOMPathGeometryPtr &ptrClip)=0
Sets the clip for the Glyphs node. The clip limits the rendered region of the glyph.
virtual IDOMFontPtr getFont() const =0
Retrieves a pointer to the font object describing the font in which the text is displayed.
virtual void setOpacityMask(const IDOMBrushPtr &ptrOpacityMask)=0
Sets the opacity mask for the node. The opacity mask specifies a mask of alpha values that is applied...
virtual void setIsSideways(bool isSideways)=0
Sets the IsSideways value. See getIsSideways for a description of the effects of IsSideways.
virtual bool getFillOverprints() const =0
Retrieves whether or not the fill should overprint. Overprinting is honored only for rendering,...
virtual void setLanguage(const EDLString &lang)=0
Sets the default language of the Glyphs element and any of its children.
virtual bool validateInstructions() const =0
Validate glyph instructions.
virtual bool getOverprintMode() const =0
Retrieves whether or not overprint should obey PDF/PS overprint mode semantics. PDF and PostScript su...
virtual uint8 getBidiLevel() const =0
Retrieves the bidiLevel of the text run.
virtual void setBlendMode(eBlendMode blendMode)=0
Sets the blend mode to be used for rendering this node. Note: modes other than Normal are not directl...
virtual const FMatrix & getRenderTransform() const =0
Retrieves the render transform matrix of the Glyphs node and its children. The render transform estab...
virtual eRenderingIntent getRenderingIntent() const =0
Get the rendering intent for the node if present. The rendering intent is used whenever the node requ...
virtual void setNavigateLink(const IDOMTargetPtr &target)=0
Sets the target of a hyperlink.
virtual void setIndices(const EDLSysString &indices)=0
Sets the glyphs indices.
virtual eBlackPointCompensation getBlackPointCompensation() const =0
Get the black point compensation for the node. The black point compensation setting is used whenever ...
static const CClassID & classID()
Retrieves class id of IDOM.
Definition idomglyphs.h:151
virtual void setDeviceFontName(const EDLString &name)=0
Sets the XPS-specific device font name The device font name, which uniquely identifies a specific dev...
virtual void setFontIndex(uint32 index)=0
Sets the font index.
virtual void setFont(const IDOMFontPtr &font)=0
Sets the font object to be used to display the text.
virtual bool getIsCharPath() const =0
Retrieves a Boolean value which indicates if this Glyphs node is intended to draw a path.
virtual const EDLSysString & getIndices() const =0
Retrieves a Unicode string that represents the text of the run of glyphs.
virtual void setIsInvisible(bool isInvisible)=0
Sets the flag to indicate if this glyph is intended to be invisible.
virtual IDOMBrushPtr getOpacityMask() const =0
Retrieves the opacity mask for the node. The opacity mask specifies a mask of alpha values that is ap...
virtual const EDLSysString & getCaretStops() const =0
Retrieves the XPS-specific caret stop specification for a run of glyphs.
@ eSSBoldItalic
Definition idomglyphs.h:66
@ eSSBold
Definition idomglyphs.h:62
@ eSSNone
Definition idomglyphs.h:60
@ eSSItalic
Definition idomglyphs.h:61
Abstract class providing the interface to basic DOM node functionality. IDOMNode is the base class fo...
Definition idomnode.h:139
EDL Factory Interface allows one part of the EDL infrastructure to register class creation methods id...
Definition iedlfactory.h:31
PointTmpl< double > FPoint
Definition edlgeom.h:102
CTransformMatrix< double > FMatrix
Definition edlgeom.h:1208
#define _END_EDL_DOM_NAMESPACE
Definition edlnamespaces.h:110
#define _BEGIN_EDL_DOM_NAMESPACE
Definition edlnamespaces.h:109
std::string EDLSysString
Definition edlstring.h:158
std::wstring EDLString
Definition edlstring.h:165
EDL "standard" types including known bit-length signed and unsigned integer type[def]s and definition...
unsigned int uint32
Definition edltypes.h:34
#define EDL_API
Definition edltypes.h:86
unsigned char uint8
Definition edltypes.h:32
eBlendMode
An enum for transparency blend modes.
Definition edlblend.h:25
@ eBlendModeNormal
Selects the source color, ignoring the backdrop.
Definition edlblend.h:27
eBlackPointCompensation
Black point compensation enumeration.
Definition edlblackpointcompensation.h:17
eRenderingIntent
Rendering intent enumeration.
Definition edlrenderingintent.h:17
eStyleSimulations
Specifies a style simulation for a glyphs node.
Definition idomglyphs.h:59
#define IDOMGlyphsClassID
Definition idomglyphs.h:50
IDOMResources interface.
#define DECL_SMART_PTR(cls)
Definition smartptr.h:211