1#ifndef OT_LAYOUT_GPOS_ANCHORFORMAT1_HH
2#define OT_LAYOUT_GPOS_ANCHORFORMAT1_HH
3
4namespace OT {
5namespace Layout {
6namespace GPOS_impl {
7
8struct AnchorFormat1
9{
10 protected:
11 HBUINT16 format; /* Format identifier--format = 1 */
12 FWORD xCoordinate; /* Horizontal value--in design units */
13 FWORD yCoordinate; /* Vertical value--in design units */
14 public:
15 DEFINE_SIZE_STATIC (6);
16
17 bool sanitize (hb_sanitize_context_t *c) const
18 {
19 TRACE_SANITIZE (this);
20 return_trace (c->check_struct (this));
21 }
22
23 void get_anchor (hb_ot_apply_context_t *c, hb_codepoint_t glyph_id HB_UNUSED,
24 float *x, float *y) const
25 {
26 hb_font_t *font = c->font;
27 *x = font->em_fscale_x (xCoordinate);
28 *y = font->em_fscale_y (yCoordinate);
29 }
30
31 AnchorFormat1* copy (hb_serialize_context_t *c) const
32 {
33 TRACE_SERIALIZE (this);
34 AnchorFormat1* out = c->embed<AnchorFormat1> (this);
35 if (!out) return_trace (out);
36 out->format = 1;
37 return_trace (out);
38 }
39};
40
41
42}
43}
44}
45
46#endif // OT_LAYOUT_GPOS_ANCHORFORMAT1_HH
47