diff options
author | Matthias Clasen <mclasen@redhat.com> | 2022-06-24 23:00:58 -0400 |
---|---|---|
committer | Matthias Clasen <mclasen@redhat.com> | 2022-07-04 11:17:21 -0400 |
commit | 778df432eb9bba4441d4c47cdbfbcd385b1e9d42 (patch) | |
tree | 39b66234cc325aafdddcebd76ec888d0cc099aaa /pango/pango-glyph.h | |
parent | 249ce63ebb3d5666d5559184dd7c2c65e32695c2 (diff) | |
download | pango-778df432eb9bba4441d4c47cdbfbcd385b1e9d42.tar.gz |
Convert to the pango2 prefix
This makes pango 2 not just parallel-installable
with pango 1.x, but parallel-usable in the same
process.
Diffstat (limited to 'pango/pango-glyph.h')
-rw-r--r-- | pango/pango-glyph.h | 258 |
1 files changed, 129 insertions, 129 deletions
diff --git a/pango/pango-glyph.h b/pango/pango-glyph.h index 8dafd623..d2b0770b 100644 --- a/pango/pango-glyph.h +++ b/pango/pango-glyph.h @@ -25,38 +25,38 @@ G_BEGIN_DECLS -typedef struct _PangoGlyphGeometry PangoGlyphGeometry; -typedef struct _PangoGlyphVisAttr PangoGlyphVisAttr; -typedef struct _PangoGlyphInfo PangoGlyphInfo; -typedef struct _PangoGlyphString PangoGlyphString; +typedef struct _Pango2GlyphGeometry Pango2GlyphGeometry; +typedef struct _Pango2GlyphVisAttr Pango2GlyphVisAttr; +typedef struct _Pango2GlyphInfo Pango2GlyphInfo; +typedef struct _Pango2GlyphString Pango2GlyphString; /* 1024ths of a device unit */ /** - * PangoGlyphUnit: + * Pango2GlyphUnit: * - * The `PangoGlyphUnit` type is used to store dimensions within - * Pango. + * The `Pango2GlyphUnit` type is used to store dimensions within + * Pango2. * - * Dimensions are stored in 1/PANGO_SCALE of a device unit. + * Dimensions are stored in 1/PANGO2_SCALE of a device unit. * (A device unit might be a pixel for screen display, or - * a point on a printer.) PANGO_SCALE is currently 1024, and + * a point on a printer.) PANGO2_SCALE is currently 1024, and * may change in the future (unlikely though), but you should not * depend on its exact value. * - * The PANGO_PIXELS() macro can be used to convert from glyph units + * The PANGO2_PIXELS() macro can be used to convert from glyph units * into device units with correct rounding. */ -typedef gint32 PangoGlyphUnit; +typedef gint32 Pango2GlyphUnit; /* Positioning information about a glyph */ /** - * PangoGlyphGeometry: + * Pango2GlyphGeometry: * @width: the logical width to use for the the character. * @x_offset: horizontal offset from nominal character position. * @y_offset: vertical offset from nominal character position. * - * The `PangoGlyphGeometry` structure contains width and positioning + * The `Pango2GlyphGeometry` structure contains width and positioning * information for a single glyph. * * Note that @width is not guaranteed to be the same as the glyph @@ -72,21 +72,21 @@ typedef gint32 PangoGlyphUnit; * 3. Advance the current point to (x + width, y) * 4. Render the next glyph */ -struct _PangoGlyphGeometry +struct _Pango2GlyphGeometry { - PangoGlyphUnit width; - PangoGlyphUnit x_offset; - PangoGlyphUnit y_offset; + Pango2GlyphUnit width; + Pango2GlyphUnit x_offset; + Pango2GlyphUnit y_offset; }; /* Visual attributes of a glyph */ /** - * PangoGlyphVisAttr: + * Pango2GlyphVisAttr: * @is_cluster_start: set for the first logical glyph in each cluster. * @is_color: set if the the font will render this glyph with color. Since 1.50 * - * A `PangoGlyphVisAttr` structure communicates information between + * A `Pango2GlyphVisAttr` structure communicates information between * the shaping and rendering phases. * * Currently, it contains cluster start and color information. @@ -97,7 +97,7 @@ struct _PangoGlyphGeometry * that is, in Arabic text, accent glyphs follow the glyphs for the * base character. */ -struct _PangoGlyphVisAttr +struct _Pango2GlyphVisAttr { guint is_cluster_start : 1; guint is_color : 1; @@ -106,192 +106,192 @@ struct _PangoGlyphVisAttr /* A single glyph */ /** - * PangoGlyphInfo: + * Pango2GlyphInfo: * @glyph: the glyph itself. * @geometry: the positional information about the glyph. * @attr: the visual attributes of the glyph. * - * A `PangoGlyphInfo` structure represents a single glyph with + * A `Pango2GlyphInfo` structure represents a single glyph with * positioning information and visual attributes. */ -struct _PangoGlyphInfo +struct _Pango2GlyphInfo { - PangoGlyph glyph; - PangoGlyphGeometry geometry; - PangoGlyphVisAttr attr; + Pango2Glyph glyph; + Pango2GlyphGeometry geometry; + Pango2GlyphVisAttr attr; }; /** - * PangoGlyphString: + * Pango2GlyphString: * @num_glyphs: number of glyphs in this glyph string * @glyphs: (array length=num_glyphs): array of glyph information * @log_clusters: logical cluster info, indexed by the byte index * within the text corresponding to the glyph string * - * A `PangoGlyphString` is used to store strings of glyphs with geometry + * A `Pango2GlyphString` is used to store strings of glyphs with geometry * and visual attribute information. * * The storage for the glyph information is owned by the structure * which simplifies memory management. */ -struct _PangoGlyphString { +struct _Pango2GlyphString { int num_glyphs; - PangoGlyphInfo *glyphs; + Pango2GlyphInfo *glyphs; int *log_clusters; /*< private >*/ int space; }; -#define PANGO_TYPE_GLYPH_STRING (pango_glyph_string_get_type ()) - -PANGO_AVAILABLE_IN_ALL -GType pango_glyph_string_get_type (void) G_GNUC_CONST; - -PANGO_AVAILABLE_IN_ALL -PangoGlyphString * pango_glyph_string_new (void); -PANGO_AVAILABLE_IN_ALL -void pango_glyph_string_set_size (PangoGlyphString *string, - int new_len); - -PANGO_AVAILABLE_IN_ALL -PangoGlyphString * pango_glyph_string_copy (PangoGlyphString *string); -PANGO_AVAILABLE_IN_ALL -void pango_glyph_string_free (PangoGlyphString *string); - -PANGO_AVAILABLE_IN_ALL -void pango_glyph_string_extents (PangoGlyphString *glyphs, - PangoFont *font, - PangoRectangle *ink_rect, - PangoRectangle *logical_rect); -PANGO_AVAILABLE_IN_ALL -int pango_glyph_string_get_width (PangoGlyphString *glyphs); - -PANGO_AVAILABLE_IN_ALL -void pango_glyph_string_extents_range (PangoGlyphString *glyphs, - int start, - int end, - PangoFont *font, - PangoRectangle *ink_rect, - PangoRectangle *logical_rect); - -PANGO_AVAILABLE_IN_ALL -void pango_glyph_string_get_logical_widths (PangoGlyphString *glyphs, - const char *text, - int length, - int embedding_level, - int *logical_widths); - -PANGO_AVAILABLE_IN_ALL -void pango_glyph_string_index_to_x (PangoGlyphString *glyphs, - const char *text, - int length, - const PangoAnalysis *analysis, - int index_, - gboolean trailing, - int *x_pos); -PANGO_AVAILABLE_IN_ALL -void pango_glyph_string_x_to_index (PangoGlyphString *glyphs, - const char *text, - int length, - const PangoAnalysis *analysis, - int x_pos, - int *index_, - int *trailing); - -PANGO_AVAILABLE_IN_ALL -void pango_glyph_string_index_to_x_full (PangoGlyphString *glyphs, - const char *text, - int length, - const PangoAnalysis *analysis, - PangoLogAttr *attrs, - int index_, - gboolean trailing, - int *x_pos); - -G_DEFINE_AUTOPTR_CLEANUP_FUNC(PangoGlyphString, pango_glyph_string_free) +#define PANGO2_TYPE_GLYPH_STRING (pango2_glyph_string_get_type ()) + +PANGO2_AVAILABLE_IN_ALL +GType pango2_glyph_string_get_type (void) G_GNUC_CONST; + +PANGO2_AVAILABLE_IN_ALL +Pango2GlyphString * pango2_glyph_string_new (void); +PANGO2_AVAILABLE_IN_ALL +void pango2_glyph_string_set_size (Pango2GlyphString *string, + int new_len); + +PANGO2_AVAILABLE_IN_ALL +Pango2GlyphString * pango2_glyph_string_copy (Pango2GlyphString *string); +PANGO2_AVAILABLE_IN_ALL +void pango2_glyph_string_free (Pango2GlyphString *string); + +PANGO2_AVAILABLE_IN_ALL +void pango2_glyph_string_extents (Pango2GlyphString *glyphs, + Pango2Font *font, + Pango2Rectangle *ink_rect, + Pango2Rectangle *logical_rect); +PANGO2_AVAILABLE_IN_ALL +int pango2_glyph_string_get_width (Pango2GlyphString *glyphs); + +PANGO2_AVAILABLE_IN_ALL +void pango2_glyph_string_extents_range (Pango2GlyphString *glyphs, + int start, + int end, + Pango2Font *font, + Pango2Rectangle *ink_rect, + Pango2Rectangle *logical_rect); + +PANGO2_AVAILABLE_IN_ALL +void pango2_glyph_string_get_logical_widths (Pango2GlyphString *glyphs, + const char *text, + int length, + int embedding_level, + int *logical_widths); + +PANGO2_AVAILABLE_IN_ALL +void pango2_glyph_string_index_to_x (Pango2GlyphString *glyphs, + const char *text, + int length, + const Pango2Analysis *analysis, + int index_, + gboolean trailing, + int *x_pos); +PANGO2_AVAILABLE_IN_ALL +void pango2_glyph_string_x_to_index (Pango2GlyphString *glyphs, + const char *text, + int length, + const Pango2Analysis *analysis, + int x_pos, + int *index_, + int *trailing); + +PANGO2_AVAILABLE_IN_ALL +void pango2_glyph_string_index_to_x_full (Pango2GlyphString *glyphs, + const char *text, + int length, + const Pango2Analysis *analysis, + Pango2LogAttr *attrs, + int index_, + gboolean trailing, + int *x_pos); + +G_DEFINE_AUTOPTR_CLEANUP_FUNC(Pango2GlyphString, pango2_glyph_string_free) /* Shaping */ /** - * PangoShapeFlags: - * @PANGO_SHAPE_NONE: Default value - * @PANGO_SHAPE_ROUND_POSITIONS: Round glyph positions and widths to whole device units + * Pango2ShapeFlags: + * @PANGO2_SHAPE_NONE: Default value + * @PANGO2_SHAPE_ROUND_POSITIONS: Round glyph positions and widths to whole device units * This option should be set if the target renderer can't do subpixel positioning of glyphs * - * `PangoShapeFlags` influence the shaping process. + * `Pango2ShapeFlags` influence the shaping process. * - * These flags can be passed to [func@Pango.shape]. + * These flags can be passed to [func@Pango2.shape]. */ typedef enum { - PANGO_SHAPE_NONE = 0, - PANGO_SHAPE_ROUND_POSITIONS = 1 << 0, -} PangoShapeFlags; + PANGO2_SHAPE_NONE = 0, + PANGO2_SHAPE_ROUND_POSITIONS = 1 << 0, +} Pango2ShapeFlags; -PANGO_AVAILABLE_IN_ALL -void pango_shape (const char *item_text, +PANGO2_AVAILABLE_IN_ALL +void pango2_shape (const char *item_text, int item_length, const char *paragraph_text, int paragraph_length, - const PangoAnalysis *analysis, - PangoGlyphString *glyphs, - PangoShapeFlags flags); + const Pango2Analysis *analysis, + Pango2GlyphString *glyphs, + Pango2ShapeFlags flags); -PANGO_AVAILABLE_IN_ALL -void pango_shape_item (PangoItem *item, +PANGO2_AVAILABLE_IN_ALL +void pango2_shape_item (Pango2Item *item, const char *paragraph_text, int paragraph_length, - PangoLogAttr *log_attrs, - PangoGlyphString *glyphs, - PangoShapeFlags flags); + Pango2LogAttr *log_attrs, + Pango2GlyphString *glyphs, + Pango2ShapeFlags flags); /** - * PANGO_GLYPH_EMPTY: + * PANGO2_GLYPH_EMPTY: * - * A `PangoGlyph` value that indicates a zero-width empty glpyh. + * A `Pango2Glyph` value that indicates a zero-width empty glpyh. * * This is useful for example in shaper modules, to use as the glyph for * various zero-width Unicode characters (those passing [func@is_zero_width]). */ -#define PANGO_GLYPH_EMPTY ((PangoGlyph)0x0FFFFFFF) +#define PANGO2_GLYPH_EMPTY ((Pango2Glyph)0x0FFFFFFF) /** - * PANGO_GLYPH_INVALID_INPUT: + * PANGO2_GLYPH_INVALID_INPUT: * - * A `PangoGlyph` value for invalid input. + * A `Pango2Glyph` value for invalid input. * - * `PangoLayout` produces one such glyph per invalid input UTF-8 byte and such + * `Pango2Layout` produces one such glyph per invalid input UTF-8 byte and such * a glyph is rendered as a crossed box. * - * Note that this value is defined such that it has the %PANGO_GLYPH_UNKNOWN_FLAG + * Note that this value is defined such that it has the %PANGO2_GLYPH_UNKNOWN_FLAG * set. */ -#define PANGO_GLYPH_INVALID_INPUT ((PangoGlyph)0xFFFFFFFF) +#define PANGO2_GLYPH_INVALID_INPUT ((Pango2Glyph)0xFFFFFFFF) /** - * PANGO_GLYPH_UNKNOWN_FLAG: + * PANGO2_GLYPH_UNKNOWN_FLAG: * - * Flag used in `PangoGlyph` to turn a `gunichar` value of a valid Unicode + * Flag used in `Pango2Glyph` to turn a `gunichar` value of a valid Unicode * character into an unknown-character glyph for that `gunichar`. * * Such unknown-character glyphs may be rendered as a 'hex box'. */ -#define PANGO_GLYPH_UNKNOWN_FLAG ((PangoGlyph)0x10000000) +#define PANGO2_GLYPH_UNKNOWN_FLAG ((Pango2Glyph)0x10000000) /** - * PANGO_GET_UNKNOWN_GLYPH: + * PANGO2_GET_UNKNOWN_GLYPH: * @wc: a Unicode character * * The way this unknown glyphs are rendered is backend specific. For example, * a box with the hexadecimal Unicode code-point of the character written in it * is what is done in the most common backends. * - * Returns: a `PangoGlyph` value that means no glyph was found for @wc. + * Returns: a `Pango2Glyph` value that means no glyph was found for @wc. */ -#define PANGO_GET_UNKNOWN_GLYPH(wc) ((PangoGlyph)(wc)|PANGO_GLYPH_UNKNOWN_FLAG) +#define PANGO2_GET_UNKNOWN_GLYPH(wc) ((Pango2Glyph)(wc)|PANGO2_GLYPH_UNKNOWN_FLAG) G_END_DECLS |