Hide internals of lookup accelerators
authorBehdad Esfahbod <behdad@behdad.org>
Thu, 29 Jan 2015 04:55:42 +0000 (20:55 -0800)
committerBehdad Esfahbod <behdad@behdad.org>
Wed, 25 Feb 2015 23:43:25 +0000 (15:43 -0800)
src/hb-ot-layout-gsub-table.hh
src/hb-ot-layout-private.hh
src/hb-ot-layout.cc

index 5d67be0..aaf3b51 100644 (file)
@@ -1195,11 +1195,12 @@ struct SubstLookup : Lookup
     }
   }
 
-  inline bool would_apply (hb_would_apply_context_t *c, const hb_set_digest_t *digest) const
+  inline bool would_apply (hb_would_apply_context_t *c,
+                          const hb_ot_layout_lookup_accelerator_t *accel) const
   {
     TRACE_WOULD_APPLY (this);
     if (unlikely (!c->len))  return TRACE_RETURN (false);
-    if (!digest->may_have (c->glyphs[0]))  return TRACE_RETURN (false);
+    if (!accel->may_have (c->glyphs[0]))  return TRACE_RETURN (false);
       return TRACE_RETURN (dispatch (c));
   }
 
index 3f7c858..47fecd2 100644 (file)
@@ -130,6 +130,11 @@ struct hb_ot_layout_lookup_accelerator_t
   {
   }
 
+  inline bool may_have (hb_codepoint_t g) const {
+    return digest.may_have (g);
+  }
+
+  private:
   hb_set_digest_t digest;
 };
 
index 602b94e..46809fc 100644 (file)
@@ -699,7 +699,7 @@ hb_ot_layout_lookup_would_substitute_fast (hb_face_t            *face,
 
   const OT::SubstLookup& l = hb_ot_layout_from_face (face)->gsub->get_lookup (lookup_index);
 
-  return l.would_apply (&c, &hb_ot_layout_from_face (face)->gsub_accels[lookup_index].digest);
+  return l.would_apply (&c, &hb_ot_layout_from_face (face)->gsub_accels[lookup_index]);
 }
 
 void
@@ -861,7 +861,7 @@ apply_string (OT::hb_apply_context_t *c,
 
     while (buffer->idx < buffer->len)
     {
-      if (accel.digest.may_have (buffer->cur().codepoint) &&
+      if (accel.may_have (buffer->cur().codepoint) &&
          (buffer->cur().mask & c->lookup_mask) &&
          apply_once (c, lookup))
        ret = true;
@@ -884,7 +884,7 @@ apply_string (OT::hb_apply_context_t *c,
     buffer->idx = buffer->len - 1;
     do
     {
-      if (accel.digest.may_have (buffer->cur().codepoint) &&
+      if (accel.may_have (buffer->cur().codepoint) &&
          (buffer->cur().mask & c->lookup_mask) &&
          apply_once (c, lookup))
        ret = true;