Lines Matching refs:shape_plan
206 hb_shape_plan_t *shape_plan; in hb_shape_plan_create2() local
210 if (!(shape_plan = hb_object_create<hb_shape_plan_t> ())) in hb_shape_plan_create2()
216 shape_plan->face_unsafe = face; in hb_shape_plan_create2()
218 if (unlikely (!shape_plan->key.init (true, in hb_shape_plan_create2()
227 if (unlikely (!shape_plan->ot.init0 (face, &shape_plan->key))) in hb_shape_plan_create2()
230 return shape_plan; in hb_shape_plan_create2()
233 shape_plan->key.free (); in hb_shape_plan_create2()
235 free (shape_plan); in hb_shape_plan_create2()
266 hb_shape_plan_reference (hb_shape_plan_t *shape_plan) in hb_shape_plan_reference() argument
268 return hb_object_reference (shape_plan); in hb_shape_plan_reference()
280 hb_shape_plan_destroy (hb_shape_plan_t *shape_plan) in hb_shape_plan_destroy() argument
282 if (!hb_object_destroy (shape_plan)) return; in hb_shape_plan_destroy()
284 shape_plan->ot.fini (); in hb_shape_plan_destroy()
285 shape_plan->key.free (); in hb_shape_plan_destroy()
286 free (shape_plan); in hb_shape_plan_destroy()
304 hb_shape_plan_set_user_data (hb_shape_plan_t *shape_plan, in hb_shape_plan_set_user_data() argument
310 return hb_object_set_user_data (shape_plan, key, data, destroy, replace); in hb_shape_plan_set_user_data()
325 hb_shape_plan_get_user_data (hb_shape_plan_t *shape_plan, in hb_shape_plan_get_user_data() argument
328 return hb_object_get_user_data (shape_plan, key); in hb_shape_plan_get_user_data()
342 hb_shape_plan_get_shaper (hb_shape_plan_t *shape_plan) in hb_shape_plan_get_shaper() argument
344 return shape_plan->key.shaper_name; in hb_shape_plan_get_shaper()
363 hb_shape_plan_execute (hb_shape_plan_t *shape_plan, in hb_shape_plan_execute() argument
369 DEBUG_MSG_FUNC (SHAPE_PLAN, shape_plan, in hb_shape_plan_execute()
372 shape_plan->key.shaper_func, in hb_shape_plan_execute()
373 shape_plan->key.shaper_name); in hb_shape_plan_execute()
381 if (unlikely (hb_object_is_inert (shape_plan))) in hb_shape_plan_execute()
384 assert (shape_plan->face_unsafe == font->face); in hb_shape_plan_execute()
385 assert (hb_segment_properties_equal (&shape_plan->key.props, &buffer->props)); in hb_shape_plan_execute()
390 _hb_##shaper##_shape (shape_plan, font, buffer, features, num_features); \ in hb_shape_plan_execute()
396 else if (shape_plan->key.shaper_func == _hb_##shaper##_shape) \ in hb_shape_plan_execute()
472 if (node->shape_plan->key.equal (&key)) in hb_shape_plan_create_cached2()
474 DEBUG_MSG_FUNC (SHAPE_PLAN, node->shape_plan, "fulfilled from cache"); in hb_shape_plan_create_cached2()
475 return hb_shape_plan_reference (node->shape_plan); in hb_shape_plan_create_cached2()
479 hb_shape_plan_t *shape_plan = hb_shape_plan_create2 (face, props, in hb_shape_plan_create_cached2() local
485 return shape_plan; in hb_shape_plan_create_cached2()
489 return shape_plan; in hb_shape_plan_create_cached2()
491 node->shape_plan = shape_plan; in hb_shape_plan_create_cached2()
496 hb_shape_plan_destroy (shape_plan); in hb_shape_plan_create_cached2()
500 DEBUG_MSG_FUNC (SHAPE_PLAN, shape_plan, "inserted into cache"); in hb_shape_plan_create_cached2()
502 return hb_shape_plan_reference (shape_plan); in hb_shape_plan_create_cached2()