| OLD | NEW | 
|---|
| 1 /* | 1 /* | 
| 2  * Copyright 2006 The Android Open Source Project | 2  * Copyright 2006 The Android Open Source Project | 
| 3  * | 3  * | 
| 4  * Use of this source code is governed by a BSD-style license that can be found 
     in the LICENSE file. | 4  * Use of this source code is governed by a BSD-style license that can be found 
     in the LICENSE file. | 
| 5  */ | 5  */ | 
| 6 | 6 | 
| 7 #ifndef SkGlyphCache_DEFINED | 7 #ifndef SkGlyphCache_DEFINED | 
| 8 #define SkGlyphCache_DEFINED | 8 #define SkGlyphCache_DEFINED | 
| 9 | 9 | 
| 10 #include "SkBitmap.h" | 10 #include "SkBitmap.h" | 
| (...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 70     unsigned getGlyphCount() const; | 70     unsigned getGlyphCount() const; | 
| 71 | 71 | 
| 72     /** Return the number of glyphs currently cached. */ | 72     /** Return the number of glyphs currently cached. */ | 
| 73     int countCachedGlyphs() const; | 73     int countCachedGlyphs() const; | 
| 74 | 74 | 
| 75     /** Return the image associated with the glyph. If it has not been generated
      this will | 75     /** Return the image associated with the glyph. If it has not been generated
      this will | 
| 76         trigger that. | 76         trigger that. | 
| 77     */ | 77     */ | 
| 78     const void* findImage(const SkGlyph&); | 78     const void* findImage(const SkGlyph&); | 
| 79 | 79 | 
|  | 80     /** If the advance axis intersects the glyph's path, append the positions sc
     aled and offset | 
|  | 81         to the array (if non-null), and set the count to the updated array lengt
     h. | 
|  | 82     */ | 
|  | 83     void findIntercepts(const SkScalar bounds[2], SkScalar scale, SkScalar xPos, | 
|  | 84                         bool yAxis, SkGlyph* , SkScalar* array, int* count); | 
|  | 85 | 
| 80     /** Return the Path associated with the glyph. If it has not been generated 
     this will trigger | 86     /** Return the Path associated with the glyph. If it has not been generated 
     this will trigger | 
| 81         that. | 87         that. | 
| 82     */ | 88     */ | 
| 83     const SkPath* findPath(const SkGlyph&); | 89     const SkPath* findPath(const SkGlyph&); | 
| 84 | 90 | 
| 85     /** Return the vertical metrics for this strike. | 91     /** Return the vertical metrics for this strike. | 
| 86     */ | 92     */ | 
| 87     const SkPaint::FontMetrics& getFontMetrics() const { | 93     const SkPaint::FontMetrics& getFontMetrics() const { | 
| 88         return fFontMetrics; | 94         return fFontMetrics; | 
| 89     } | 95     } | 
| (...skipping 135 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 225 | 231 | 
| 226     static bool DetachProc(const SkGlyphCache*, void*) { return true; } | 232     static bool DetachProc(const SkGlyphCache*, void*) { return true; } | 
| 227 | 233 | 
| 228     // The id arg is a combined id generated by MakeID. | 234     // The id arg is a combined id generated by MakeID. | 
| 229     CharGlyphRec* getCharGlyphRec(PackedUnicharID id); | 235     CharGlyphRec* getCharGlyphRec(PackedUnicharID id); | 
| 230 | 236 | 
| 231     void invokeAndRemoveAuxProcs(); | 237     void invokeAndRemoveAuxProcs(); | 
| 232 | 238 | 
| 233     inline static SkGlyphCache* FindTail(SkGlyphCache* head); | 239     inline static SkGlyphCache* FindTail(SkGlyphCache* head); | 
| 234 | 240 | 
|  | 241     static void OffsetResults(const SkGlyph::Intercept* intercept, SkScalar scal
     e, | 
|  | 242                               SkScalar xPos, SkScalar* array, int* count); | 
|  | 243     static void AddInterval(SkScalar val, SkGlyph::Intercept* intercept); | 
|  | 244     static void AddPoints(const SkPoint* pts, int ptCount, const SkScalar bounds
     [2], | 
|  | 245                           bool yAxis, SkGlyph::Intercept* intercept); | 
|  | 246     static void AddLine(const SkPoint pts[2], SkScalar axis, bool yAxis, | 
|  | 247                         SkGlyph::Intercept* intercept); | 
|  | 248     static void AddQuad(const SkPoint pts[2], SkScalar axis, bool yAxis, | 
|  | 249                         SkGlyph::Intercept* intercept); | 
|  | 250     static void AddCubic(const SkPoint pts[3], SkScalar axis, bool yAxis, | 
|  | 251                          SkGlyph::Intercept* intercept); | 
|  | 252     static const SkGlyph::Intercept* MatchBounds(const SkGlyph* glyph, | 
|  | 253                                                  const SkScalar bounds[2]); | 
|  | 254 | 
| 235     SkGlyphCache*          fNext; | 255     SkGlyphCache*          fNext; | 
| 236     SkGlyphCache*          fPrev; | 256     SkGlyphCache*          fPrev; | 
| 237     SkDescriptor* const    fDesc; | 257     SkDescriptor* const    fDesc; | 
| 238     SkScalerContext* const fScalerContext; | 258     SkScalerContext* const fScalerContext; | 
| 239     SkPaint::FontMetrics   fFontMetrics; | 259     SkPaint::FontMetrics   fFontMetrics; | 
| 240 | 260 | 
| 241     // Map from a combined GlyphID and sub-pixel position to a SkGlyph. | 261     // Map from a combined GlyphID and sub-pixel position to a SkGlyph. | 
| 242     SkTHashTable<SkGlyph, PackedGlyphID, SkGlyph::HashTraits> fGlyphMap; | 262     SkTHashTable<SkGlyph, PackedGlyphID, SkGlyph::HashTraits> fGlyphMap; | 
| 243 | 263 | 
| 244     SkChunkAlloc           fGlyphAlloc; | 264     SkChunkAlloc           fGlyphAlloc; | 
| (...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 315                             const SkMatrix* matrix) { | 335                             const SkMatrix* matrix) { | 
| 316         fCache = paint.detachCache(surfaceProps, matrix, true); | 336         fCache = paint.detachCache(surfaceProps, matrix, true); | 
| 317     } | 337     } | 
| 318 | 338 | 
| 319 private: | 339 private: | 
| 320     SkAutoGlyphCacheNoGamma() : SkAutoGlyphCacheBase() {} | 340     SkAutoGlyphCacheNoGamma() : SkAutoGlyphCacheBase() {} | 
| 321 }; | 341 }; | 
| 322 #define SkAutoGlyphCacheNoGamma(...) SK_REQUIRE_LOCAL_VAR(SkAutoGlyphCacheNoGamm
     a) | 342 #define SkAutoGlyphCacheNoGamma(...) SK_REQUIRE_LOCAL_VAR(SkAutoGlyphCacheNoGamm
     a) | 
| 323 | 343 | 
| 324 #endif | 344 #endif | 
| OLD | NEW | 
|---|