Lines Matching refs:ffuncs
244 hb_font_funcs_t *ffuncs; in hb_font_funcs_create() local
246 if (!(ffuncs = hb_object_create<hb_font_funcs_t> ())) in hb_font_funcs_create()
249 ffuncs->get = _hb_font_funcs_nil.get; in hb_font_funcs_create()
251 return ffuncs; in hb_font_funcs_create()
280 hb_font_funcs_reference (hb_font_funcs_t *ffuncs) in hb_font_funcs_reference() argument
282 return hb_object_reference (ffuncs); in hb_font_funcs_reference()
294 hb_font_funcs_destroy (hb_font_funcs_t *ffuncs) in hb_font_funcs_destroy() argument
296 if (!hb_object_destroy (ffuncs)) return; in hb_font_funcs_destroy()
298 #define HB_FONT_FUNC_IMPLEMENT(name) if (ffuncs->destroy.name) \ in hb_font_funcs_destroy()
299 ffuncs->destroy.name (ffuncs->user_data.name); in hb_font_funcs_destroy()
303 free (ffuncs); in hb_font_funcs_destroy()
321 hb_font_funcs_set_user_data (hb_font_funcs_t *ffuncs, in hb_font_funcs_set_user_data() argument
327 return hb_object_set_user_data (ffuncs, key, data, destroy, replace); in hb_font_funcs_set_user_data()
342 hb_font_funcs_get_user_data (hb_font_funcs_t *ffuncs, in hb_font_funcs_get_user_data() argument
345 return hb_object_get_user_data (ffuncs, key); in hb_font_funcs_get_user_data()
358 hb_font_funcs_make_immutable (hb_font_funcs_t *ffuncs) in hb_font_funcs_make_immutable() argument
360 if (unlikely (hb_object_is_inert (ffuncs))) in hb_font_funcs_make_immutable()
363 ffuncs->immutable = true; in hb_font_funcs_make_immutable()
377 hb_font_funcs_is_immutable (hb_font_funcs_t *ffuncs) in hb_font_funcs_is_immutable() argument
379 return ffuncs->immutable; in hb_font_funcs_is_immutable()
386 hb_font_funcs_set_##name##_func (hb_font_funcs_t *ffuncs, \
391 if (ffuncs->immutable) { \
397 if (ffuncs->destroy.name) \
398 ffuncs->destroy.name (ffuncs->user_data.name); \
401 ffuncs->get.name = func; \
402 ffuncs->user_data.name = user_data; \
403 ffuncs->destroy.name = destroy; \
405 ffuncs->get.name = hb_font_get_##name##_nil; \
406 ffuncs->user_data.name = NULL; \
407 ffuncs->destroy.name = NULL; \