RetroArch
Public Member Functions | Public Attributes | List of all members
DWRITE_GLYPH_RUN Struct Reference

The interface implemented by the text analyzer's client to provide text to the analyzer. It allows the separation between the logical view of text as a continuous stream of characters identifiable by unique text positions, and the actual memory layout of potentially discrete blocks of text in the client's backing store. More...

#include <dwrite.h>

Public Member Functions

 _Field_size_ (glyphCount) UINT16 const *glyphIndices
 The indices to render. More...
 
 _Field_size_opt_ (glyphCount) FLOAT const *glyphAdvances
 Glyph advance widths. More...
 
 _Field_size_opt_ (glyphCount) DWRITE_GLYPH_OFFSET const *glyphOffsets
 Glyph offsets. More...
 

Public Attributes

_Notnull_ IDWriteFontFacefontFace
 The physical font face to draw with. More...
 
FLOAT fontEmSize
 Logical size of the font in DIPs, not points (equals 1/96 inch). More...
 
UINT32 glyphCount
 The number of glyphs. More...
 
BOOL isSideways
 If true, specifies that glyphs are rotated 90 degrees to the left and vertical metrics are used. Vertical writing is achieved by specifying isSideways = true and rotating the entire run 90 degrees to the right via a rotate transform. More...
 
UINT32 bidiLevel
 The implicit resolved bidi level of the run. Odd levels indicate right-to-left languages like Hebrew and Arabic, while even levels indicate left-to-right languages like English and Japanese (when written horizontally). For right-to-left languages, the text origin is on the right, and text should be drawn to the left. More...
 

Detailed Description

The interface implemented by the text analyzer's client to provide text to the analyzer. It allows the separation between the logical view of text as a continuous stream of characters identifiable by unique text positions, and the actual memory layout of potentially discrete blocks of text in the client's backing store.

If any of these callbacks returns an error, the analysis functions will stop prematurely and return a callback error. Rather than return E_NOTIMPL, an application should stub the method and return a constant/null and S_OK.

The interface implemented by the text analyzer's client to receive the output of a given text analysis. The Text analyzer disregards any current state of the analysis sink, therefore a Set method call on a range overwrites the previously set analysis result of the same range.

Analyzes various text properties for complex script processing.

The DWRITE_GLYPH_RUN structure contains the information needed by renderers to draw glyph runs. All coordinates are in device independent pixels (DIPs).

Member Function Documentation

◆ _Field_size_()

DWRITE_GLYPH_RUN::_Field_size_ ( glyphCount  ) const

The indices to render.

◆ _Field_size_opt_() [1/2]

DWRITE_GLYPH_RUN::_Field_size_opt_ ( glyphCount  ) const

Glyph advance widths.

◆ _Field_size_opt_() [2/2]

DWRITE_GLYPH_RUN::_Field_size_opt_ ( glyphCount  ) const

Glyph offsets.

Member Data Documentation

◆ bidiLevel

UINT32 DWRITE_GLYPH_RUN::bidiLevel

The implicit resolved bidi level of the run. Odd levels indicate right-to-left languages like Hebrew and Arabic, while even levels indicate left-to-right languages like English and Japanese (when written horizontally). For right-to-left languages, the text origin is on the right, and text should be drawn to the left.

◆ fontEmSize

FLOAT DWRITE_GLYPH_RUN::fontEmSize

Logical size of the font in DIPs, not points (equals 1/96 inch).

◆ fontFace

_Notnull_ IDWriteFontFace* DWRITE_GLYPH_RUN::fontFace

The physical font face to draw with.

◆ glyphCount

UINT32 DWRITE_GLYPH_RUN::glyphCount

The number of glyphs.

◆ isSideways

BOOL DWRITE_GLYPH_RUN::isSideways

If true, specifies that glyphs are rotated 90 degrees to the left and vertical metrics are used. Vertical writing is achieved by specifying isSideways = true and rotating the entire run 90 degrees to the right via a rotate transform.


The documentation for this struct was generated from the following file: