diff options
author | Chris Wilson <chris@chris-wilson.co.uk> | 2010-01-22 16:14:53 +0000 |
---|---|---|
committer | Chris Wilson <chris@chris-wilson.co.uk> | 2010-01-22 23:01:52 +0000 |
commit | 05bb43a00770f17566c80f28faf684597d1b6afb (patch) | |
tree | 415e884c3bd26c5371d72fb471bbcd3127893c5f /src/cairo-types-private.h | |
parent | 9c98656fb1ac10a6085c5db5731b6b986af26165 (diff) | |
download | cairo-05bb43a00770f17566c80f28faf684597d1b6afb.tar.gz |
types: Move cairo_scaled_glyph_t to cairo-types-private.h
Another step in bringing some sanity to our headers.
Diffstat (limited to 'src/cairo-types-private.h')
-rw-r--r-- | src/cairo-types-private.h | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/src/cairo-types-private.h b/src/cairo-types-private.h index ca41c1a1f..f3d14b319 100644 --- a/src/cairo-types-private.h +++ b/src/cairo-types-private.h @@ -396,4 +396,29 @@ typedef union { cairo_gradient_pattern_union_t gradient; } cairo_pattern_union_t; +/* + * A #cairo_unscaled_font_t is just an opaque handle we use in the + * glyph cache. + */ +typedef struct _cairo_unscaled_font { + cairo_hash_entry_t hash_entry; + cairo_reference_count_t ref_count; + const cairo_unscaled_font_backend_t *backend; +} cairo_unscaled_font_t; + +typedef struct _cairo_scaled_glyph { + cairo_hash_entry_t hash_entry; + + cairo_text_extents_t metrics; /* user-space metrics */ + cairo_text_extents_t fs_metrics; /* font-space metrics */ + cairo_box_t bbox; /* device-space bounds */ + int16_t x_advance; /* device-space rounded X advance */ + int16_t y_advance; /* device-space rounded Y advance */ + + cairo_image_surface_t *surface; /* device-space image */ + cairo_path_fixed_t *path; /* device-space outline */ + cairo_surface_t *recording_surface; /* device-space recording-surface */ + + void *surface_private; /* for the surface backend */ +} cairo_scaled_glyph_t; #endif /* CAIRO_TYPES_PRIVATE_H */ |