#include <loengine.h>
Inheritance diagram for ICULayoutEngine::
Public Methods | |
virtual | ~ICULayoutEngine () |
The destructor. More... | |
int32_t | layoutChars (const UChar chars[], int32_t startOffset, int32_t endOffset, int32_t maxOffset, UBool rightToLeft, float x, float y, UErrorCode &success) |
This method computes the glyph, character index and position arrays for the input characters. More... | |
int32_t | layoutString (const UnicodeString &str, int32_t startOffset, int32_t endOffset, UBool rightToLeft, float x, float y, UErrorCode &success) |
This method computes the glyph, character index and position arrays for the input characters. More... | |
int32_t | countGlyphs () const |
This method returns the number of glyphs in the glyph array. More... | |
void | getGlyphs (uint32_t glyphs[], UErrorCode &success) |
This method copies the glyph array into a caller supplied array. More... | |
void | getCharIndices (int32_t charIndices[], UErrorCode &success) |
This method copies the character index array into a caller supplied array. More... | |
void | getCharIndices (int32_t charIndices[], int32_t indexBase, UErrorCode &success) |
This method copies the character index array into a caller supplied array. More... | |
void | getGlyphPositions (float positions[], UErrorCode &success) |
This method copies the position array into a caller supplied array. More... | |
void | getGlyphPosition (int32_t glyphIndex, float &x, float &y, UErrorCode &success) |
This method returns the X and Y position of the glyph at the given index. More... | |
virtual UClassID | getDynamicClassID () const |
ICU "poor man's RTTI", returns a UClassID for the actual class. More... | |
Static Public Methods | |
ICULayoutEngine * | createInstance (const LEFontInstance *fontInstance, UScriptCode scriptCode, Locale &locale, UErrorCode &success) |
This method returns an ICULayoutEngine capable of laying out text in the given font, script and langauge. More... | |
UClassID | getStaticClassID () |
ICU "poor man's RTTI", returns a UClassID for this class. More... | |
Private Methods | |
ICULayoutEngine () | |
This no argument constructor is private so that clients can't envoke it. More... | |
ICULayoutEngine (LayoutEngine *layoutEngine) | |
The main constructor. More... | |
Private Attributes | |
LayoutEngine * | fLayoutEngine |
This holds the instance of LayoutEngine that does all the work. More... | |
Static Private Attributes | |
const char | fgClassID |
The address of this static class variable serves as this class's ID for ICU "poor man's RTTI". More... |
(LayoutEngine was developed seperately from ICU and the same source is used in non-ICU environments, so it cannot be changed to match ICU coding conventions).
This class is designed for clients who wish to use LayoutEngine to layout complex text. If you need to subclass LayoutEngine, you'll need to use the LayoutEngine interfaces directly.
Basically, it creates an instance of LayoutEngine, stashes it in fLayoutEngine, and uses it to implement the layout functionality.
Use the createInstance method to create an ICULayoutEngine. Use delete to destroy it. The layoutChars method computes the glyphs and positions, and saves them in the ICULayoutEngine object. Use getGlyphs, getPositions and getCharIndices to retreive this data.
You'll also need an implementation of LEFontInstance for your platform.
Definition at line 51 of file loengine.h.
|
This no argument constructor is private so that clients can't envoke it. Clients should use createInstance.
Definition at line 268 of file loengine.h. Referenced by createInstance().
|
|
The main constructor. It is defined as private to stop clients from invoking it. Clients should use createInstance.
Definition at line 273 of file loengine.h. |
|
The destructor. At least on Windows it needs to be virtual to ensure that it deletes the object from the same heap that createInstance will allocate it from. We don't know why this is...
Definition at line 279 of file loengine.h. |
|
This method returns the number of glyphs in the glyph array. Note that the number of glyphs will be greater than or equal to the number of characters used to create the LayoutEngine.
Definition at line 322 of file loengine.h. |
|
This method returns an ICULayoutEngine capable of laying out text in the given font, script and langauge.
Definition at line 352 of file loengine.h. |
|
This method copies the character index array into a caller supplied array. The caller must ensure that the array is large enough to hold a character index for each glyph.
Definition at line 337 of file loengine.h. |
|
This method copies the character index array into a caller supplied array. The caller must ensure that the array is large enough to hold a character index for each glyph.
Definition at line 332 of file loengine.h. |
|
ICU "poor man's RTTI", returns a UClassID for the actual class.
Reimplemented from UObject. Definition at line 250 of file loengine.h. |
|
This method returns the X and Y position of the glyph at the given index. Input parameters:
Definition at line 347 of file loengine.h. |
|
This method copies the position array into a caller supplied array. The caller must ensure that the array is large enough to hold an X and Y position for each glyph, plus an extra X and Y for the advance of the last glyph.
Definition at line 342 of file loengine.h. |
|
This method copies the glyph array into a caller supplied array. The caller must ensure that the array is large enough to hold all the glyphs.
Definition at line 327 of file loengine.h. |
|
ICU "poor man's RTTI", returns a UClassID for this class.
Definition at line 257 of file loengine.h. |
|
This method computes the glyph, character index and position arrays for the input characters.
Definition at line 285 of file loengine.h. |
|
This method computes the glyph, character index and position arrays for the input characters.
Definition at line 304 of file loengine.h. |
|
This holds the instance of LayoutEngine that does all the work.
Definition at line 57 of file loengine.h. |
|
The address of this static class variable serves as this class's ID for ICU "poor man's RTTI".
Definition at line 265 of file loengine.h. |