diff options
author | Steve Kondik <steve@cyngn.com> | 2015-02-26 20:54:24 +0100 |
---|---|---|
committer | Steve Kondik <steve@cyngn.com> | 2015-02-26 20:54:47 +0100 |
commit | c5d47d11e65f603a3e37ee876bc74751a30df592 (patch) | |
tree | f33a9530b7ac9b2a9c915a65d0a3844b5fb09b96 /include/minikin/FontCollection.h | |
parent | 4e4ab1a6c8347e977245d1126d10e48a3412d35d (diff) | |
download | android_frameworks_minikin-stable/cm-12.0-YNG3C.tar.gz android_frameworks_minikin-stable/cm-12.0-YNG3C.tar.bz2 android_frameworks_minikin-stable/cm-12.0-YNG3C.zip |
Revert "Move coverage bitmap from FontCollection to FontFamily"stable/cm-12.0-YNG4Nstable/cm-12.0-YNG3Cstable/cm-12.0-YNG1TAstable/cm-12.0-YNG1Tstable/cm-12.0-YNG1Icm-12.0
* Seeing sporadic crashes with this patch. Reverting for now.
This reverts commit 4e4ab1a6c8347e977245d1126d10e48a3412d35d.
Change-Id: Ibcda62e8268e9a5559c0517695fa61f36f0d34d0
Diffstat (limited to 'include/minikin/FontCollection.h')
-rw-r--r-- | include/minikin/FontCollection.h | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/include/minikin/FontCollection.h b/include/minikin/FontCollection.h index ffdb4d1..12700c6 100644 --- a/include/minikin/FontCollection.h +++ b/include/minikin/FontCollection.h @@ -21,6 +21,7 @@ #include <minikin/MinikinRefCounted.h> #include <minikin/MinikinFont.h> +#include <minikin/SparseBitSet.h> #include <minikin/FontFamily.h> namespace android { @@ -51,12 +52,17 @@ private: static const int kLogCharsPerPage = 8; static const int kPageMask = (1 << kLogCharsPerPage) - 1; + struct FontInstance { + SparseBitSet* mCoverage; + FontFamily* mFamily; + }; + struct Range { size_t start; size_t end; }; - FontFamily* getFamilyForChar(uint32_t ch, FontLanguage lang, int variant) const; + const FontInstance* getInstanceForChar(uint32_t ch, FontLanguage lang, int variant) const; // static for allocating unique id's static uint32_t sNextId; @@ -68,10 +74,10 @@ private: uint32_t mMaxChar; // This vector has ownership of the bitsets and typeface objects. - std::vector<FontFamily*> mFamilies; + std::vector<FontInstance> mInstances; // This vector contains pointers into mInstances - std::vector<FontFamily*> mFamilyVec; + std::vector<const FontInstance*> mInstanceVec; // These are offsets into mInstanceVec, one range per page std::vector<Range> mRanges; |