12#ifndef GLYPHSCLUSTERS_H
13#define GLYPHSCLUSTERS_H
116 return ! (*
this == other);
215 virtual IGlyphsClustersPtr
clone()
const = 0;
273 virtual bool similar(
const IGlyphsClustersPtr &other,
float eps)
const = 0;
Definition edlvector.h:30
uint32_t size() const
Definition edlvector.h:106
A single cluster generated from the parallel Indices and Unicode strings present in an IDOMGlyphs nod...
Definition iglyphsclusters.h:141
CGlyphsCluster()
Definition iglyphsclusters.h:143
CIndicesGlyphList glyphs
The glyph information, if present.
Definition iglyphsclusters.h:150
CGlyphsCluster(uint32 codePoint)
Definition iglyphsclusters.h:144
bool similar(const CGlyphsCluster &other, float eps) const
Check to see if this cluster is similar to another with regard to metrics. Non-metrics information (s...
Definition iglyphsclusters.h:160
CEDLVector< uint32, 5 > unicode
The unicode information for the cluster as UTF-32, if present.
Definition iglyphsclusters.h:149
bool hasGlyphId
True if the glyphId entry is valid.
Definition iglyphsclusters.h:45
float advance
The advance, in hundredths of an em, if hasAdvance is true.
Definition iglyphsclusters.h:48
bool hasUOffset
True if the uOffset entry is valid.
Definition iglyphsclusters.h:49
bool hasAdvance
True if the advance entry is valid.
Definition iglyphsclusters.h:47
uint16 glyphId
The glyph ID of the glyph, if hasGlyphId is true.
Definition iglyphsclusters.h:46
bool operator==(const CIndicesGlyph &other) const
Definition iglyphsclusters.h:54
bool operator!=(const CIndicesGlyph &other) const
Definition iglyphsclusters.h:114
bool hasVOffset
True if the vOffset entry is valid.
Definition iglyphsclusters.h:51
bool similar(const CIndicesGlyph &other, float eps) const
Check to see if this indices glyph entry is similar to another with regard to metrics....
Definition iglyphsclusters.h:84
float uOffset
The u offset of the glyph, in hundredths of an em, if hasUOffset is true.
Definition iglyphsclusters.h:50
CIndicesGlyph()
Definition iglyphsclusters.h:34
float vOffset
The v offset of the glyph, in hundredths of an em, if hasVOffset is true.
Definition iglyphsclusters.h:52
Definition iglyphsclusters.h:196
virtual IGlyphsClustersPtr clone() const =0
Clone this clusters object.
static EDL_API IGlyphsClustersPtr create(const EDLString &unicodeString, const EDLSysString &indices)
Create a set of glyphs clusters based on the given unicode and indices strings.
virtual uint32 getNumClusters() const =0
Clear the number of clusters.
virtual ~IGlyphsClusters()
Definition iglyphsclusters.h:198
virtual void appendCluster(const CGlyphsCluster &cluster)=0
Append a cluster to the set.
static EDL_API IGlyphsClustersPtr create()
Create a new set of glyphs clusters.
virtual CGlyphsCluster & getCluster(uint32 index)=0
Obtain a reference to the cluster at the given index.
virtual void deleteCluster(uint32 index)=0
Remove a cluster at the given index.
virtual void clear()=0
Clear the clusters.
virtual bool similar(const IGlyphsClustersPtr &other, float eps) const =0
Check to see if these clusters are similar to another with regard to metrics. Non-metrics information...
virtual void insertCluster(uint32 index, const CGlyphsCluster &cluster)=0
Insert a cluster before the item at the given index.
virtual void populateUnicodeAndIndices(EDLString &unicodeString, EDLSysString &indices)=0
Populate a unicode string and indices from this set of clusters.
virtual CGlyphsCluster & newCluster()=0
Allocate a new cluster at the end of the set and return a reference to it.
Base class Interface for all Reference Counted objects.
Definition ircobject.h:35
(very thin) portability layer around operating system provided math functionality but also includes a...
#define _END_EDL_DOM_NAMESPACE
Definition edlnamespaces.h:110
#define _BEGIN_EDL_DOM_NAMESPACE
Definition edlnamespaces.h:109
EDLString and EDLSysString classes and associated EDL string manipulation functions.
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 short uint16
Definition edltypes.h:33
unsigned int uint32
Definition edltypes.h:34
#define EDL_API
Definition edltypes.h:86
Simple template vector class for general use.
CEDLVector< CIndicesGlyph, 2 > CIndicesGlyphList
Definition iglyphsclusters.h:121
Interface for Reference Counted Object.
#define DECL_SMART_PTR(cls)
Definition smartptr.h:211