#ifndef HB_H_IN
#error "Include <hb.h> instead."
#endif
#ifndef HB_SHAPE_PLAN_H
#define HB_SHAPE_PLAN_H
#include "hb-common.h"
#include "hb-font.h"
HB_BEGIN_DECLS
typedef struct hb_shape_plan_t hb_shape_plan_t;
hb_shape_plan_t *
hb_shape_plan_create (hb_face_t *face,
const hb_segment_properties_t *props,
const hb_feature_t *user_features,
unsigned int num_user_features,
const char * const *shaper_list);
hb_shape_plan_t *
hb_shape_plan_create_cached (hb_face_t *face,
const hb_segment_properties_t *props,
const hb_feature_t *user_features,
unsigned int num_user_features,
const char * const *shaper_list);
hb_shape_plan_t *
hb_shape_plan_get_empty (void);
hb_shape_plan_t *
hb_shape_plan_reference (hb_shape_plan_t *shape_plan);
void
hb_shape_plan_destroy (hb_shape_plan_t *shape_plan);
hb_bool_t
hb_shape_plan_set_user_data (hb_shape_plan_t *shape_plan,
hb_user_data_key_t *key,
void * data,
hb_destroy_func_t destroy,
hb_bool_t replace);
void *
hb_shape_plan_get_user_data (hb_shape_plan_t *shape_plan,
hb_user_data_key_t *key);
hb_bool_t
hb_shape_plan_execute (hb_shape_plan_t *shape_plan,
hb_font_t *font,
hb_buffer_t *buffer,
const hb_feature_t *features,
unsigned int num_features);
const char *
hb_shape_plan_get_shaper (hb_shape_plan_t *shape_plan);
HB_END_DECLS
#endif