Add hb_ot_shape_execute()

Not public yet.
This commit is contained in:
Behdad Esfahbod 2010-10-12 16:57:47 -04:00
parent 49baa1f69e
commit fd3d32d31c
2 changed files with 16 additions and 8 deletions

View File

@ -38,7 +38,8 @@ HB_BEGIN_DECLS
struct hb_ot_shape_context_t
{
/* Input to hb_ot_shape() */
/* Input to hb_ot_shape_execute() */
hb_ot_shape_plan_t *plan;
hb_font_t *font;
hb_face_t *face;
hb_buffer_t *buffer;
@ -49,8 +50,6 @@ struct hb_ot_shape_context_t
hb_direction_t original_direction;
hb_bool_t applied_substitute_complex;
hb_bool_t applied_position_complex;
hb_ot_shape_plan_t *plan;
};

View File

@ -270,7 +270,7 @@ hb_position_complex_fallback_visual (hb_ot_shape_context_t *c)
/* Do it! */
static void
hb_ot_shape_internal (hb_ot_shape_context_t *c)
hb_ot_shape_execute_internal (hb_ot_shape_context_t *c)
{
/* Save the original direction, we use it later. */
c->original_direction = c->buffer->props.direction;
@ -332,6 +332,18 @@ hb_ot_shape_plan_internal (hb_ot_shape_plan_t *plan,
plan->map.compile (face, props);
}
void
hb_ot_shape_execute (hb_ot_shape_plan_t *plan,
hb_font_t *font,
hb_face_t *face,
hb_buffer_t *buffer,
const hb_feature_t *user_features,
unsigned int num_user_features)
{
hb_ot_shape_context_t c = {plan, font, face, buffer, user_features, num_user_features};
hb_ot_shape_execute_internal (&c);
}
void
hb_ot_shape (hb_font_t *font,
hb_face_t *face,
@ -342,10 +354,7 @@ hb_ot_shape (hb_font_t *font,
hb_ot_shape_plan_t plan;
hb_ot_shape_plan_internal (&plan, face, &buffer->props, user_features, num_user_features);
hb_ot_shape_context_t c = {font, face, buffer, user_features, num_user_features};
c.plan = &plan;
hb_ot_shape_internal (&c);
hb_ot_shape_execute (&plan, font, face, buffer, user_features, num_user_features);
}