summaryrefslogtreecommitdiffstats
path: root/include/minikin/FontCollection.h
diff options
context:
space:
mode:
authorSteve Kondik <steve@cyngn.com>2015-02-26 20:54:24 +0100
committerSteve Kondik <steve@cyngn.com>2015-02-26 20:54:47 +0100
commitc5d47d11e65f603a3e37ee876bc74751a30df592 (patch)
treef33a9530b7ac9b2a9c915a65d0a3844b5fb09b96 /include/minikin/FontCollection.h
parent4e4ab1a6c8347e977245d1126d10e48a3412d35d (diff)
downloadandroid_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
* 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.h12
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;