15 #include <unordered_map>
19 struct hb_glyph_position_t;
20 struct hb_glyph_info_t;
26 struct DtObserverRenderData;
49 hb_glyph_position_t *getGlyphPositions(
unsigned int* glyph_count)
const;
52 hb_glyph_info_t* getGlyphInfos(
unsigned int* glyph_count)
const;
91 const DtPen& pen =
DtPen(),
unsigned int pos = 0,
int len = -1)
const;
93 virtual bool isShaped(
void)
const{
return true; }
102 ,
const std::unordered_map<unsigned int, int>& mapTextureIdToTextureIndex);
106 ,
const std::unordered_map<unsigned int, int>& mapTextureIdToTextureIndex);
123 color[0] = color[1] = color[2] = color[3] = 1.0;
126 advance(orig.advance),
offset(orig.
offset), glyphIndex(orig.glyphIndex), changeColor(orig.changeColor),
127 glyphDefined(orig.glyphDefined) { memcpy(color, orig.
color,
sizeof(color)); };
143 margin(orig.margin), alignment(orig.alignment), characters(orig.characters) {};
150 typedef std::vector<LineInformation>
Lines;
Generic base class for text layout renderers.
Definition: DtTextLayoutInterface.h:26
virtual bool isShaped(void) const
Definition: DtTextLayout.h:93
A unicode string. DtUnicode stores a UTF-16 encoded unicode string. Code Point, a Unicode character...
Definition: DtUnicode.h:33
std::vector< std::string > myFontFilePaths
Members that are used to store information about the last font/point size used. Used for efficiency...
Definition: DtTextLayout.h:113
std::vector< LineInformation > Lines
Definition: DtTextLayout.h:150
unsigned short glyphIndex
Definition: DtTextLayout.h:132
hb_font_t * myHarfBuzzFont
Definition: DtTextLayout.h:55
A 2D point.
Definition: DtBoundingBox.h:19
Contains the makVrv::DtTextLayoutInterface class declaration.
bool glyphDefined
Definition: DtTextLayout.h:134
A glyph renderer which renders the texture associated with a glyph.
Definition: DtTexturedGlyphRenderer.h:28
A class for controlling text owned by the TextRenderer.
Definition: DtTextProxy.h:33
Abstract class for handling glyph rendering.
Definition: DtGlyphRenderer.h:21
unsigned int alignment
Definition: DtTextLayout.h:146
bool changeColor
Definition: DtTextLayout.h:133
LineInformation()
Definition: DtTextLayout.h:141
Lines myLines
Definition: DtTextLayout.h:151
std::vector< CharacterInformation > characters
Definition: DtTextLayout.h:147
float color[4]
Definition: DtTextLayout.h:127
double myLineLength
Definition: DtTextLayout.h:153
DtUnicode myLastStringRendered
Definition: DtTextLayout.h:115
hb_buffer_t * myHarfBuzzBuffer
Definition: DtTextLayout.h:56
Dt2dPoint advance
Definition: DtTextLayout.h:130
#define DT_DLL_VRVGRAPHICS
Contains DLL export macros.
Definition: vrvGraphics.h:19
DtUnicode myRenderedText
Definition: DtTextLayout.h:116
A class with encapsulated a font loaded from disk with a given size.
Definition: DtFontInterface.h:22
CharacterInformation()
Definition: DtTextLayout.h:121
A class for rendering text objects using harfbuzz layout for right to left and left to right text sha...
Definition: DtTextLayout.h:30
Structure that contains information about the layout of a line of text. The margin is measure from th...
Definition: DtTextLayout.h:139
Dt2dPoint offset
Definition: DtTextLayout.h:131
Definition: DtCommonRenderData.h:20
HarfBuzzShaper myShaper
Definition: DtTextLayout.h:109
A pen object with parameters on how to draw text.
Definition: DtBoundingBox.h:80
unsigned int myPointSize
Definition: DtTextLayout.h:114
bool myRightToLeftLayout
Definition: DtTextLayout.h:154
Definition: DtTextLayout.h:33
CharacterInformation(const CharacterInformation &orig)
Definition: DtTextLayout.h:125
voidpf uLong offset
Definition: ioapi.h:42
LineInformation(const LineInformation &orig)
Definition: DtTextLayout.h:142
Definition: DtCommonRenderData.h:33
A simple bounding box.
Definition: DtBoundingBox.h:101
Structure that contains information about a particular character, color change or simple line/charact...
Definition: DtTextLayout.h:119