Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(225)

Side by Side Diff: third_party/harfbuzz-ng/src/hb-font-private.hh

Issue 2858683002: Roll HarfBuzz to 1.4.6 (Closed)
Patch Set: Rebase Created 3 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « third_party/harfbuzz-ng/src/hb-font.cc ('k') | third_party/harfbuzz-ng/src/hb-graphite2.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright © 2009 Red Hat, Inc. 2 * Copyright © 2009 Red Hat, Inc.
3 * Copyright © 2011 Google, Inc. 3 * Copyright © 2011 Google, Inc.
4 * 4 *
5 * This is part of HarfBuzz, a text shaping library. 5 * This is part of HarfBuzz, a text shaping library.
6 * 6 *
7 * Permission is hereby granted, without written agreement and without 7 * Permission is hereby granted, without written agreement and without
8 * license or royalty fees, to use, copy, modify, and distribute this 8 * license or royalty fees, to use, copy, modify, and distribute this
9 * software and its documentation for any purpose, provided that the 9 * software and its documentation for any purpose, provided that the
10 * above copyright notice and the following two paragraphs appear in 10 * above copyright notice and the following two paragraphs appear in
(...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after
109 unsigned int y_ppem; 109 unsigned int y_ppem;
110 110
111 /* Font variation coordinates. */ 111 /* Font variation coordinates. */
112 unsigned int num_coords; 112 unsigned int num_coords;
113 int *coords; 113 int *coords;
114 114
115 hb_font_funcs_t *klass; 115 hb_font_funcs_t *klass;
116 void *user_data; 116 void *user_data;
117 hb_destroy_func_t destroy; 117 hb_destroy_func_t destroy;
118 118
119 enum dirty_t {
120 NOTHING = 0x0000,
121 FACE = 0x0001,
122 PARENT = 0x0002,
123 FUNCS = 0x0004,
124 SCALE = 0x0008,
125 PPEM = 0x0010,
126 VARIATIONS = 0x0020,
127 } dirty;
128
119 struct hb_shaper_data_t shaper_data; 129 struct hb_shaper_data_t shaper_data;
120 130
121 131
122 /* Convert from font-space to user-space */ 132 /* Convert from font-space to user-space */
123 inline int dir_scale (hb_direction_t direction) 133 inline int dir_scale (hb_direction_t direction)
124 { return HB_DIRECTION_IS_VERTICAL(direction) ? y_scale : x_scale; } 134 { return HB_DIRECTION_IS_VERTICAL(direction) ? y_scale : x_scale; }
125 inline hb_position_t em_scale_x (int16_t v) { return em_scale (v, x_scale); } 135 inline hb_position_t em_scale_x (int16_t v) { return em_scale (v, x_scale); }
126 inline hb_position_t em_scale_y (int16_t v) { return em_scale (v, y_scale); } 136 inline hb_position_t em_scale_y (int16_t v) { return em_scale (v, y_scale); }
127 inline hb_position_t em_scalef_x (float v) { return em_scalef (v, this->x_scal e); } 137 inline hb_position_t em_scalef_x (float v) { return em_scalef (v, this->x_scal e); }
128 inline hb_position_t em_scalef_y (float v) { return em_scalef (v, this->y_scal e); } 138 inline hb_position_t em_scalef_y (float v) { return em_scalef (v, this->y_scal e); }
(...skipping 407 matching lines...) Expand 10 before | Expand all | Expand 10 after
536 int64_t scaled = v * (int64_t) scale; 546 int64_t scaled = v * (int64_t) scale;
537 scaled += scaled >= 0 ? upem/2 : -upem/2; /* Round. */ 547 scaled += scaled >= 0 ? upem/2 : -upem/2; /* Round. */
538 return (hb_position_t) (scaled / upem); 548 return (hb_position_t) (scaled / upem);
539 } 549 }
540 inline hb_position_t em_scalef (float v, int scale) 550 inline hb_position_t em_scalef (float v, int scale)
541 { 551 {
542 return (hb_position_t) (v * scale / face->get_upem ()); 552 return (hb_position_t) (v * scale / face->get_upem ());
543 } 553 }
544 }; 554 };
545 555
556 HB_MARK_AS_FLAG_T (hb_font_t::dirty_t);
557
546 #define HB_SHAPER_DATA_CREATE_FUNC_EXTRA_ARGS 558 #define HB_SHAPER_DATA_CREATE_FUNC_EXTRA_ARGS
547 #define HB_SHAPER_IMPLEMENT(shaper) HB_SHAPER_DATA_PROTOTYPE(shaper, font); 559 #define HB_SHAPER_IMPLEMENT(shaper) HB_SHAPER_DATA_PROTOTYPE(shaper, font);
548 #include "hb-shaper-list.hh" 560 #include "hb-shaper-list.hh"
549 #undef HB_SHAPER_IMPLEMENT 561 #undef HB_SHAPER_IMPLEMENT
550 #undef HB_SHAPER_DATA_CREATE_FUNC_EXTRA_ARGS 562 #undef HB_SHAPER_DATA_CREATE_FUNC_EXTRA_ARGS
551 563
552 564
553 #endif /* HB_FONT_PRIVATE_HH */ 565 #endif /* HB_FONT_PRIVATE_HH */
OLDNEW
« no previous file with comments | « third_party/harfbuzz-ng/src/hb-font.cc ('k') | third_party/harfbuzz-ng/src/hb-graphite2.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698