Lines Matching refs:shape_plan
210 hb_shape_plan_t *shape_plan; in hb_shape_plan_create2() local
214 if (!(shape_plan = hb_object_create<hb_shape_plan_t> ())) in hb_shape_plan_create2()
220 shape_plan->face_unsafe = face; in hb_shape_plan_create2()
222 if (unlikely (!shape_plan->key.init (true, in hb_shape_plan_create2()
232 if (unlikely (!shape_plan->ot.init0 (face, &shape_plan->key))) in hb_shape_plan_create2()
236 return shape_plan; in hb_shape_plan_create2()
241 shape_plan->key.free (); in hb_shape_plan_create2()
243 free (shape_plan); in hb_shape_plan_create2()
274 hb_shape_plan_reference (hb_shape_plan_t *shape_plan) in hb_shape_plan_reference() argument
276 return hb_object_reference (shape_plan); in hb_shape_plan_reference()
288 hb_shape_plan_destroy (hb_shape_plan_t *shape_plan) in hb_shape_plan_destroy() argument
290 if (!hb_object_destroy (shape_plan)) return; in hb_shape_plan_destroy()
293 shape_plan->ot.fini (); in hb_shape_plan_destroy()
295 shape_plan->key.free (); in hb_shape_plan_destroy()
296 free (shape_plan); in hb_shape_plan_destroy()
314 hb_shape_plan_set_user_data (hb_shape_plan_t *shape_plan, in hb_shape_plan_set_user_data() argument
320 return hb_object_set_user_data (shape_plan, key, data, destroy, replace); in hb_shape_plan_set_user_data()
335 hb_shape_plan_get_user_data (hb_shape_plan_t *shape_plan, in hb_shape_plan_get_user_data() argument
338 return hb_object_get_user_data (shape_plan, key); in hb_shape_plan_get_user_data()
352 hb_shape_plan_get_shaper (hb_shape_plan_t *shape_plan) in hb_shape_plan_get_shaper() argument
354 return shape_plan->key.shaper_name; in hb_shape_plan_get_shaper()
373 hb_shape_plan_execute (hb_shape_plan_t *shape_plan, in hb_shape_plan_execute() argument
379 DEBUG_MSG_FUNC (SHAPE_PLAN, shape_plan, in hb_shape_plan_execute()
382 shape_plan->key.shaper_func, in hb_shape_plan_execute()
383 shape_plan->key.shaper_name); in hb_shape_plan_execute()
391 if (unlikely (hb_object_is_inert (shape_plan))) in hb_shape_plan_execute()
394 assert (shape_plan->face_unsafe == font->face); in hb_shape_plan_execute()
395 assert (hb_segment_properties_equal (&shape_plan->key.props, &buffer->props)); in hb_shape_plan_execute()
400 _hb_##shaper##_shape (shape_plan, font, buffer, features, num_features); \ in hb_shape_plan_execute()
406 else if (shape_plan->key.shaper_func == _hb_##shaper##_shape) \ in hb_shape_plan_execute()
482 if (node->shape_plan->key.equal (&key)) in hb_shape_plan_create_cached2()
484 DEBUG_MSG_FUNC (SHAPE_PLAN, node->shape_plan, "fulfilled from cache"); in hb_shape_plan_create_cached2()
485 return hb_shape_plan_reference (node->shape_plan); in hb_shape_plan_create_cached2()
489 hb_shape_plan_t *shape_plan = hb_shape_plan_create2 (face, props, in hb_shape_plan_create_cached2() local
495 return shape_plan; in hb_shape_plan_create_cached2()
499 return shape_plan; in hb_shape_plan_create_cached2()
501 node->shape_plan = shape_plan; in hb_shape_plan_create_cached2()
506 hb_shape_plan_destroy (shape_plan); in hb_shape_plan_create_cached2()
510 DEBUG_MSG_FUNC (SHAPE_PLAN, shape_plan, "inserted into cache"); in hb_shape_plan_create_cached2()
512 return hb_shape_plan_reference (shape_plan); in hb_shape_plan_create_cached2()