Attach at given nesting level (not implemented)
Definition: Segment.h:91
GR2_API gr_segment * gr_make_seg(const gr_font *font, const gr_face *face, gr_uint32 script, const gr_feature_val *pFeats, enum gr_encform enc, const void *pStart, size_t nChars, int dir)
Creates and returns a segment.
GR2_API int gr_slot_before(const gr_slot *p)
Returns the gr_char_info index before us.
GR2_API int gr_cinfo_before(const gr_char_info *p)
Returns the slot index that before this character is before in the slot stream.
unsigned char gr_uint8
Definition: Types.h:31
GR2_API void gr_seg_destroy(gr_segment *p)
Destroys a segment, freeing the memory.
Definition: Segment.h:156
Collision flags.
Definition: Segment.h:131
gr_break_weight
Definition: Segment.h:37
GR2_API int gr_slot_can_insert_before(const gr_slot *p)
Returns whether text may be inserted before this glyph.
GR2_API int gr_cinfo_break_weight(const gr_char_info *p)
Returns breakweight for a charinfo.
GR2_API int gr_slot_original(const gr_slot *p)
Returns the original gr_char_info index this slot refers to.
GR2_API int gr_slot_attr(const gr_slot *p, const gr_segment *pSeg, enum gr_attrCode index, gr_uint8 subindex)
Return a slot attribute value.
GR2_API unsigned int gr_cinfo_unicode_char(const gr_char_info *p)
Returns Unicode character for a charinfo.
GR2_API float gr_slot_advance_Y(const gr_slot *p, const gr_face *face, const gr_font *font)
Returns the vertical advance for the glyph in the slot adjusted for kerning.
Amount this slot can stretch (not implemented)
Definition: Segment.h:115
GR2_API unsigned int gr_seg_n_cinfo(const gr_segment *pSeg)
Returns the number of gr_char_infos in the segment.
GR2_API float gr_seg_advance_X(const gr_segment *pSeg)
Returns the advance for the whole segment.
unsigned int gr_uint32
Definition: Types.h:36
Definition: Segment.h:155
GR2_API unsigned short gr_slot_gid(const gr_slot *p)
Returns glyph id of the slot.
gr_justFlags
Definition: Segment.h:53
adjusted glyph advance in y direction (usually 0) in design units
Definition: Segment.h:67
Collision constraint rectangle right (tr.x)
Definition: Segment.h:137
adjusted glyph advance in x direction in design units
Definition: Segment.h:65
Definition: Segment.h:160
Collision shift y.
Definition: Segment.h:143
returns 0. Deprecated.
Definition: Segment.h:69
Definition: Segment.h:161
Line break breakweight for this glyph.
Definition: Segment.h:93
Collision shift x.
Definition: Segment.h:141
Margin cost weight.
Definition: Segment.h:147
Definition: Segment.h:150
Definition: Segment.h:154
const GR2_API gr_slot * gr_slot_prev_in_segment(const gr_slot *p)
Returns the previous slot along in the segment.
struct gr_segment gr_segment
Definition: Segment.h:181
GR2_API float gr_slot_origin_X(const gr_slot *p)
Returns X offset of glyph from start of segment.
GR2_API float gr_seg_advance_Y(const gr_segment *pSeg)
Returns the height advance for the segment.
const GR2_API gr_slot * gr_seg_last_slot(gr_segment *pSeg)
Returns the last gr_slot in the segment.
Underlying paragraph direction is RTL.
Definition: Segment.h:171
Amount this slot can shrink (not implemented)
Definition: Segment.h:117
Indicates that this segment is a complete line.
Definition: Segment.h:55
Amount to shift glyph by in x-direction design units.
Definition: Segment.h:105
const GR2_API gr_slot * gr_slot_next_sibling_attachment(const gr_slot *p)
Returns the next slot attached to our attachment parent.
not implemented
Definition: Segment.h:166
Definition: Segment.h:157
Amount this slot mush shrink or stretch in design units.
Definition: Segment.h:123
Granularity by which this slot can stretch or shrink (not implemented)
Definition: Segment.h:119
SubSegment split point.
Definition: Segment.h:125
GR2_API unsigned int gr_seg_n_slots(const gr_segment *pSeg)
Returns the number of glyph gr_slots in the segment.
GR2_API void gr_slot_linebreak_before(gr_slot *p)
Breaks a segment into lines.
Collision margin.
Definition: Segment.h:145
Set this to not run the bidi pass internally, even if the font asks for it.
Definition: Segment.h:175
gr_bidirtl
Definition: Segment.h:169
const GR2_API gr_slot * gr_slot_first_attachment(const gr_slot *p)
Returns the first slot attached to this slot.
Collision constraint rectangle upper (tr.y)
Definition: Segment.h:139
Definition: Segment.h:159
struct gr_font gr_font
Definition: Font.h:41
Disable auto mirroring for rtl text.
Definition: Segment.h:177
attribute user1
Definition: Segment.h:109
Final positioned position of this glyph relative to its parent in x-direction in pixels.
Definition: Segment.h:101
Definition: Segment.h:158
x-direction adjustment from the given glyph point (not implemented)
Definition: Segment.h:77
GR2_API float gr_slot_origin_Y(const gr_slot *p)
Returns Y offset of glyph from start of segment.
struct gr_feature_val gr_feature_val
Definition: Font.h:43
Whether insertion is allowed before this glyph.
Definition: Segment.h:99
Adjustment to gr_slatWithGpt in x-direction (not implemented)
Definition: Segment.h:87
Where on this glyph should align with the attachment point on the parent glyph in the y-direction.
Definition: Segment.h:83
Definition: Segment.h:149
y-direction adjustment from the given glyph point (not implemented)
Definition: Segment.h:79
const GR2_API gr_slot * gr_slot_attached_to(const gr_slot *p)
Returns the attachment parent slot of this slot.
This slot attaches to its parent at the given glyph point (not implemented)
Definition: Segment.h:75
GR2_API size_t gr_cinfo_base(const gr_char_info *p)
Returns the code unit index of this character in the input string.
const GR2_API gr_char_info * gr_seg_cinfo(const gr_segment *pSeg, unsigned int index)
Returns a gr_char_info at a given index in the segment.
struct gr_char_info gr_char_info
Definition: Segment.h:180
This slot attaches to its parent at the given design units in the x direction.
Definition: Segment.h:71
Adjustment to gr_slatWithGpt in y-direction (not implemented)
Definition: Segment.h:89
gr_encform
Definition: Types.h:39
const GR2_API gr_slot * gr_slot_next_in_segment(const gr_slot *p)
Returns the next slot along in the segment.
gr_attrCode
Used for looking up slot attributes.
Definition: Segment.h:63
Which glyph point on this glyph should align with the attachment point on the parent glyph (not imple...
Definition: Segment.h:85
Indicates that the start of the slot list is not at the start of a line.
Definition: Segment.h:57
not implemented
Definition: Segment.h:113
Collision constraint rectangle lower (bl.y)
Definition: Segment.h:135
Final positioned position of this glyph relative to its parent in y-direction in pixels.
Definition: Segment.h:103
struct gr_slot gr_slot
Definition: Segment.h:182
User defined attribute, see subattr for user attr number.
Definition: Segment.h:127
not implemented
Definition: Segment.h:111
const GR2_API gr_slot * gr_seg_first_slot(gr_segment *pSeg)
Returns the first gr_slot in the segment.
GR2_API float gr_slot_advance_X(const gr_slot *p, const gr_face *face, const gr_font *font)
Returns the glyph advance for this glyph as adjusted for kerning.
GR2_API int gr_cinfo_after(const gr_char_info *p)
Returns the slot index that after this character is after in the slot stream.
GR2_API size_t gr_count_unicode_characters(enum gr_encform enc, const void *buffer_begin, const void *buffer_end, const void **pError)
Returns the number of unicode characters in a string.
not implemented
Definition: Segment.h:164
Justification weight for this glyph (not implemented)
Definition: Segment.h:121
GR2_API int gr_slot_after(const gr_slot *p)
Returns the gr_char_info index after us.
struct gr_face gr_face
Definition: Font.h:40
Ligature component reference (not implemented)
Definition: Segment.h:95
GR2_API float gr_seg_justify(gr_segment *pSeg, const gr_slot *pStart, const gr_font *pFont, double width, enum gr_justFlags flags, const gr_slot *pFirst, const gr_slot *pLast)
Justifies a linked list of slots for a line to a given width.
#define GR2_API
Definition: Types.h:77
Amount to shift glyph by in y-direction design units.
Definition: Segment.h:107
Bidi level.
Definition: Segment.h:129
Indicates that the end of the slot list is not at the end of a line.
Definition: Segment.h:59
Where on this glyph should align with the attachment point on the parent glyph in the x-direction.
Definition: Segment.h:81
GR2_API unsigned int gr_slot_index(const gr_slot *p)
Returns the index of this slot in the segment.
Definition: Segment.h:151
This slot attaches to its parent at the given design units in the y direction.
Definition: Segment.h:73
Definition: Segment.h:153
bidi directionality of this glyph (not implemented)
Definition: Segment.h:97
Collision constraint rectangle left (bl.x)
Definition: Segment.h:133