summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Alex Sakhartchouk <alexst@google.com> 2011-02-25 09:34:33 -0800
committer Alex Sakhartchouk <alexst@google.com> 2011-02-25 09:34:33 -0800
commitebd65bbb848b2f3ee8dc55e485d201c681361d15 (patch)
tree113712ff8f643c5647e6a283b5708769ca75dc97
parent563db5343f93fec6897304443b501e397292401b (diff)
Moving dependency includes out of librs headers.
When we want to use it on the host, we shouldn't need to go hunting for every external dependency Change-Id: I885262acdcdf5ede4a9392235f35d5e2f7038e8b
-rw-r--r--libs/rs/rsFont.cpp24
-rw-r--r--libs/rs/rsFont.h38
-rw-r--r--libs/rs/rsScriptC.cpp2
-rw-r--r--libs/rs/rsScriptC.h4
4 files changed, 39 insertions, 29 deletions
diff --git a/libs/rs/rsFont.cpp b/libs/rs/rsFont.cpp
index 8a5ab99e8bad..1c1bc989e0c4 100644
--- a/libs/rs/rsFont.cpp
+++ b/libs/rs/rsFont.cpp
@@ -20,6 +20,9 @@
#include "rsFont.h"
#include "rsProgramFragment.h"
#include <cutils/properties.h>
+
+#include <ft2build.h>
+#include FT_FREETYPE_H
#include FT_BITMAP_H
#include <GLES/gl.h>
@@ -208,7 +211,7 @@ void Font::renderUTF(const char *text, uint32_t len, int32_t x, int32_t y,
}
}
- penX += (cachedGlyph->mAdvance.x >> 6);
+ penX += (cachedGlyph->mAdvanceX >> 6);
// If we were given a specific number of glyphs, decrement
if (numGlyphs > 0) {
@@ -238,7 +241,8 @@ void Font::updateGlyphCache(CachedGlyphInfo *glyph) {
return;
}
- glyph->mAdvance = mFace->glyph->advance;
+ glyph->mAdvanceX = mFace->glyph->advance.x;
+ glyph->mAdvanceY = mFace->glyph->advance.y;
glyph->mBitmapLeft = mFace->glyph->bitmap_left;
glyph->mBitmapTop = mFace->glyph->bitmap_top;
@@ -803,6 +807,22 @@ void FontState::deinit(Context *rsc) {
}
}
+bool FontState::CacheTextureLine::fitBitmap(FT_Bitmap_ *bitmap, uint32_t *retOriginX, uint32_t *retOriginY) {
+ if ((uint32_t)bitmap->rows > mMaxHeight) {
+ return false;
+ }
+
+ if (mCurrentCol + (uint32_t)bitmap->width < mMaxWidth) {
+ *retOriginX = mCurrentCol;
+ *retOriginY = mCurrentRow;
+ mCurrentCol += bitmap->width;
+ mDirty = true;
+ return true;
+ }
+
+ return false;
+}
+
namespace android {
namespace renderscript {
diff --git a/libs/rs/rsFont.h b/libs/rs/rsFont.h
index 48209992e9b1..91a5da90d067 100644
--- a/libs/rs/rsFont.h
+++ b/libs/rs/rsFont.h
@@ -23,8 +23,9 @@
#include <utils/Vector.h>
#include <utils/KeyedVector.h>
-#include <ft2build.h>
-#include FT_FREETYPE_H
+struct FT_LibraryRec_;
+struct FT_FaceRec_;
+struct FT_Bitmap_;
// ---------------------------------------------------------------------------
namespace android {
@@ -105,11 +106,12 @@ protected:
float mBitmapMaxU;
float mBitmapMaxV;
// Minimize how much we call freetype
- FT_UInt mGlyphIndex;
- FT_Vector mAdvance;
+ int32_t mGlyphIndex;
+ int32_t mAdvanceX;
+ int32_t mAdvanceY;
// Values below contain a glyph's origin in the bitmap
- FT_Int mBitmapLeft;
- FT_Int mBitmapTop;
+ int32_t mBitmapLeft;
+ int32_t mBitmapTop;
};
String8 mFontName;
@@ -120,7 +122,7 @@ protected:
bool init(const char *name, float fontSize, uint32_t dpi, const void *data = NULL, uint32_t dataLen = 0);
virtual void preDestroy() const;
- FT_Face mFace;
+ FT_FaceRec_ *mFace;
bool mInitialized;
bool mHasKerning;
@@ -173,21 +175,7 @@ protected:
mCurrentCol(currentCol), mDirty(false) {
}
- bool fitBitmap(FT_Bitmap *bitmap, uint32_t *retOriginX, uint32_t *retOriginY) {
- if ((uint32_t)bitmap->rows > mMaxHeight) {
- return false;
- }
-
- if (mCurrentCol + (uint32_t)bitmap->width < mMaxWidth) {
- *retOriginX = mCurrentCol;
- *retOriginY = mCurrentRow;
- mCurrentCol += bitmap->width;
- mDirty = true;
- return true;
- }
-
- return false;
- }
+ bool fitBitmap(FT_Bitmap_ *bitmap, uint32_t *retOriginX, uint32_t *retOriginY);
};
Vector<CacheTextureLine*> mCacheLines;
@@ -211,8 +199,8 @@ protected:
float mWhiteThreshold;
// Free type library, we only need one copy
- FT_Library mLibrary;
- FT_Library getLib();
+ FT_LibraryRec_ *mLibrary;
+ FT_LibraryRec_ *getLib();
Vector<Font*> mActiveFonts;
// Render state for the font
@@ -229,7 +217,7 @@ protected:
return (uint8_t*)mTextTexture->getPtr();
}
- bool cacheBitmap(FT_Bitmap *bitmap, uint32_t *retOriginX, uint32_t *retOriginY);
+ bool cacheBitmap(FT_Bitmap_ *bitmap, uint32_t *retOriginX, uint32_t *retOriginY);
const Type* getCacheTextureType() {
return mTextTexture->getType();
}
diff --git a/libs/rs/rsScriptC.cpp b/libs/rs/rsScriptC.cpp
index 445a4e4edeee..e12926b0a641 100644
--- a/libs/rs/rsScriptC.cpp
+++ b/libs/rs/rsScriptC.cpp
@@ -26,6 +26,8 @@ extern "C" {
#include <GLES/gl.h>
#include <GLES/glext.h>
+#include <bcc/bcc.h>
+
using namespace android;
using namespace android::renderscript;
diff --git a/libs/rs/rsScriptC.h b/libs/rs/rsScriptC.h
index e794feb10edb..2c74b5b3ef4e 100644
--- a/libs/rs/rsScriptC.h
+++ b/libs/rs/rsScriptC.h
@@ -21,7 +21,7 @@
#include "RenderScriptEnv.h"
-#include <bcc/bcc.h>
+struct BCCOpaqueScript;
// ---------------------------------------------------------------------------
namespace android {
@@ -50,7 +50,7 @@ public:
Program_t mProgram;
- BCCScriptRef mBccScript;
+ BCCOpaqueScript *mBccScript;
const Allocation *ptrToAllocation(const void *) const;