[HB] Use OffsetTo<> in more places
authorBehdad Esfahbod <behdad@behdad.org>
Sun, 17 May 2009 04:15:51 +0000 (00:15 -0400)
committerBehdad Esfahbod <behdad@behdad.org>
Mon, 2 Nov 2009 19:40:09 +0000 (14:40 -0500)
src/hb-ot-layout-gdef-private.h
src/hb-ot-layout-open-private.h

index 33cda08..fdff435 100644 (file)
@@ -34,9 +34,7 @@
 
 #define DEFINE_INDIRECT_GLYPH_ARRAY_LOOKUP(Type, name) \
   inline const Type& name (hb_codepoint_t glyph) { \
-    const Coverage &c = get_coverage (); \
-    unsigned int c_index = c.get_coverage (glyph); \
-    return (*this)[c_index]; \
+    return (*this)[(this+coverage)(glyph)]; \
   }
 
 
@@ -78,10 +76,10 @@ struct AttachList {
   private:
   /* AttachPoint tables, in Coverage Index order */
   DEFINE_OFFSET_ARRAY_TYPE (AttachPoint, attachPoint, glyphCount);
-  DEFINE_GET_ACCESSOR (Coverage, coverage, coverage);
 
  private:
-  Offset       coverage;               /* Offset to Coverage table -- from
+  OffsetTo<Coverage>
+               coverage;               /* Offset to Coverage table -- from
                                         * beginning of AttachList table */
   USHORT       glyphCount;             /* Number of glyphs with attachment
                                         * points */
@@ -199,10 +197,10 @@ struct LigCaretList {
   private:
   /* LigGlyph tables, in Coverage Index order */
   DEFINE_OFFSET_ARRAY_TYPE (LigGlyph, ligGlyph, ligGlyphCount);
-  DEFINE_GET_ACCESSOR (Coverage, coverage, coverage);
 
   private:
-  Offset       coverage;               /* Offset to Coverage table--from
+  OffsetTo<Coverage>
+               coverage;               /* Offset to Coverage table--from
                                         * beginning of LigCaretList table */
   USHORT       ligGlyphCount;          /* Number of ligature glyphs */
   Offset       ligGlyph[];             /* Array of offsets to LigGlyph
index 0c648ef..9ef810b 100644 (file)
@@ -800,6 +800,10 @@ struct Coverage {
     }
   }
 
+  unsigned int operator() (hb_codepoint_t glyph_id) const {
+    return get_coverage (glyph_id);
+  }
+
   private:
   union {
   USHORT               coverageFormat; /* Format identifier */