OLD | NEW |
1 /* | 1 /* |
2 * Copyright © 2012 Google, Inc. | 2 * Copyright © 2012 Google, Inc. |
3 * | 3 * |
4 * This is part of HarfBuzz, a text shaping library. | 4 * This is part of HarfBuzz, a text shaping library. |
5 * | 5 * |
6 * Permission is hereby granted, without written agreement and without | 6 * Permission is hereby granted, without written agreement and without |
7 * license or royalty fees, to use, copy, modify, and distribute this | 7 * license or royalty fees, to use, copy, modify, and distribute this |
8 * software and its documentation for any purpose, provided that the | 8 * software and its documentation for any purpose, provided that the |
9 * above copyright notice and the following two paragraphs appear in | 9 * above copyright notice and the following two paragraphs appear in |
10 * all copies of this software. | 10 * all copies of this software. |
(...skipping 21 matching lines...) Expand all Loading... |
32 #include "hb-object-private.hh" | 32 #include "hb-object-private.hh" |
33 #include "hb-shaper-private.hh" | 33 #include "hb-shaper-private.hh" |
34 | 34 |
35 | 35 |
36 struct hb_shape_plan_t | 36 struct hb_shape_plan_t |
37 { | 37 { |
38 hb_object_header_t header; | 38 hb_object_header_t header; |
39 ASSERT_POD (); | 39 ASSERT_POD (); |
40 | 40 |
41 hb_bool_t default_shaper_list; | 41 hb_bool_t default_shaper_list; |
42 hb_face_t *face; | 42 hb_face_t *face_unsafe; /* We don't carry a reference to face. */ |
43 hb_segment_properties_t props; | 43 hb_segment_properties_t props; |
44 | 44 |
45 hb_shape_func_t *shaper_func; | 45 hb_shape_func_t *shaper_func; |
46 const char *shaper_name; | 46 const char *shaper_name; |
47 | 47 |
48 struct hb_shaper_data_t shaper_data; | 48 struct hb_shaper_data_t shaper_data; |
49 }; | 49 }; |
50 | 50 |
51 #define HB_SHAPER_DATA_CREATE_FUNC_EXTRA_ARGS \ | 51 #define HB_SHAPER_DATA_CREATE_FUNC_EXTRA_ARGS \ |
52 , const hb_feature_t *user_features \ | 52 , const hb_feature_t *user_features \ |
53 , unsigned int num_user_features | 53 , unsigned int num_user_features |
54 #define HB_SHAPER_IMPLEMENT(shaper) HB_SHAPER_DATA_PROTOTYPE(shaper, shape_plan)
; | 54 #define HB_SHAPER_IMPLEMENT(shaper) HB_SHAPER_DATA_PROTOTYPE(shaper, shape_plan)
; |
55 #include "hb-shaper-list.hh" | 55 #include "hb-shaper-list.hh" |
56 #undef HB_SHAPER_IMPLEMENT | 56 #undef HB_SHAPER_IMPLEMENT |
57 #undef HB_SHAPER_DATA_CREATE_FUNC_EXTRA_ARGS | 57 #undef HB_SHAPER_DATA_CREATE_FUNC_EXTRA_ARGS |
58 | 58 |
59 | 59 |
60 #endif /* HB_SHAPE_PLAN_PRIVATE_HH */ | 60 #endif /* HB_SHAPE_PLAN_PRIVATE_HH */ |
OLD | NEW |