[HB] Add hb_font_funcs_make_immutable()

This commit is contained in:
Behdad Esfahbod 2009-08-10 23:50:51 -04:00
parent 3284d05da2
commit 8d70312c7b
3 changed files with 22 additions and 2 deletions

View File

@ -43,6 +43,8 @@ HB_BEGIN_DECLS
struct _hb_font_funcs_t {
hb_reference_count_t ref_count;
hb_bool_t immutable;
/*
hb_font_get_glyph_func_t glyph_func;
hb_font_get_contour_point_func_t contour_point_func;
@ -51,6 +53,8 @@ struct _hb_font_funcs_t {
*/
};
HB_INTERNAL hb_font_funcs_t
_hb_font_funcs_nil;
/*
* hb_face_t

View File

@ -37,8 +37,11 @@
* hb_font_funcs_t
*/
static hb_font_funcs_t _hb_font_funcs_nil = {
HB_REFERENCE_COUNT_INVALID /* ref_count */
hb_font_funcs_t _hb_font_funcs_nil = {
HB_REFERENCE_COUNT_INVALID, /* ref_count */
TRUE /* immutable */
/*
hb_font_get_glyph_func_t glyph_func;
hb_font_get_contour_point_func_t contour_point_func;
@ -90,10 +93,20 @@ hb_font_funcs_copy (hb_font_funcs_t *other_ffuncs)
/* re-init refcount */
HB_OBJECT_DO_INIT (ffuncs);
ffuncs->immutable = FALSE;
return ffuncs;
}
void
hb_font_funcs_make_immutable (hb_font_funcs_t *ffuncs)
{
if (HB_OBJECT_IS_INERT (ffuncs))
return;
ffuncs->immutable = TRUE;
}
/*

View File

@ -91,6 +91,9 @@ hb_font_funcs_destroy (hb_font_funcs_t *ffuncs);
hb_font_funcs_t *
hb_font_funcs_copy (hb_font_funcs_t *ffuncs);
void
hb_font_funcs_make_immutable (hb_font_funcs_t *ffuncs);
/*
void