Fixing fonts to use constant color instead of variable.
Change-Id: Ia590dfed482f82b7bc748c25b7b1592efea5b68c
diff --git a/libs/rs/rsFont.cpp b/libs/rs/rsFont.cpp
index a741adc..833bee0 100644
--- a/libs/rs/rsFont.cpp
+++ b/libs/rs/rsFont.cpp
@@ -259,7 +259,7 @@
mCurrentQuadIndex = 0;
mRSC = NULL;
mLibrary = NULL;
- setFontColor(0.0f, 0.0f, 0.0f, 1.0f);
+ setFontColor(0.1f, 0.1f, 0.1f, 1.0f);
}
FontState::~FontState()
@@ -521,6 +521,11 @@
ObjectBaseRef<const ProgramStore> tmpPS(mRSC->getFragmentStore());
mRSC->setFragmentStore(mFontProgramStore.get());
+ if(mFontColorDirty) {
+ mFontShaderF->setConstantColor(mFontColor[0], mFontColor[1], mFontColor[2], mFontColor[3]);
+ mFontColorDirty = false;
+ }
+
if (!mRSC->setupCheck()) {
mRSC->setVertex((ProgramVertex *)tmpV.get());
mRSC->setRaster((ProgramRaster *)tmpR.get());
@@ -669,6 +674,13 @@
mFontColorDirty = true;
}
+void FontState::getFontColor(float *r, float *g, float *b, float *a) const {
+ *r = mFontColor[0];
+ *g = mFontColor[1];
+ *b = mFontColor[2];
+ *a = mFontColor[3];
+}
+
void FontState::deinit(Context *rsc)
{
mInitialized = false;