diff options
author | Alex Sakhartchouk <alexst@google.com> | 2010-06-24 17:15:34 -0700 |
---|---|---|
committer | Alex Sakhartchouk <alexst@google.com> | 2010-06-24 17:15:34 -0700 |
commit | 9b949fce39f0f39ce9275b71d7c347210775e7a8 (patch) | |
tree | 76b739126b5b3f10e8fd0bc63071dd22a105e227 /libs/rs/java/ModelViewer | |
parent | 8f31bd6b68c796d4a4176721a6e13bfdba2166e0 (diff) | |
download | frameworks_base-9b949fce39f0f39ce9275b71d7c347210775e7a8.zip frameworks_base-9b949fce39f0f39ce9275b71d7c347210775e7a8.tar.gz frameworks_base-9b949fce39f0f39ce9275b71d7c347210775e7a8.tar.bz2 |
Adding freetype font rendering to renderscript.
Change-Id: I3a10ffe27092a41df156341c9cb3f7aa19c49f19
Diffstat (limited to 'libs/rs/java/ModelViewer')
-rw-r--r-- | libs/rs/java/ModelViewer/res/raw/modelviewer.rs | 17 | ||||
-rw-r--r-- | libs/rs/java/ModelViewer/res/raw/modelviewer_bc.bc | bin | 1688 -> 6220 bytes | |||
-rw-r--r-- | libs/rs/java/ModelViewer/src/com/android/modelviewer/ModelViewerRS.java | 16 | ||||
-rw-r--r-- | libs/rs/java/ModelViewer/src/com/android/modelviewer/ModelViewerView.java | 1 | ||||
-rw-r--r-- | libs/rs/java/ModelViewer/src/com/android/modelviewer/ScriptC_Modelviewer.java | 22 |
5 files changed, 53 insertions, 3 deletions
diff --git a/libs/rs/java/ModelViewer/res/raw/modelviewer.rs b/libs/rs/java/ModelViewer/res/raw/modelviewer.rs index 6a98f90..91194e8 100644 --- a/libs/rs/java/ModelViewer/res/raw/modelviewer.rs +++ b/libs/rs/java/ModelViewer/res/raw/modelviewer.rs @@ -14,6 +14,8 @@ #pragma version(1) +#pragma rs java_package_name(com.android.modelviewer) + #include "../../../../scriptc/rs_types.rsh" #include "../../../../scriptc/rs_math.rsh" #include "../../../../scriptc/rs_graphics.rsh" @@ -28,7 +30,13 @@ rs_program_store gPFSBackground; float gRotate; -#pragma rs export_var(gPVBackground, gPFBackground, gTGrid, gTestMesh, gPFSBackground, gRotate) +rs_font gItalic; +rs_allocation gTextAlloc; + +#pragma rs export_var(gPVBackground, gPFBackground, gTGrid, gTestMesh, gPFSBackground, gRotate, gItalic, gTextAlloc) + +float gDT; +int64_t gLastTime; void init() { gRotate = 0.0f; @@ -50,10 +58,17 @@ int root(int launchID) { // Position our model on the screen rsMatrixTranslate(&matrix, 0.0f, -0.3f, 1.2f); rsMatrixScale(&matrix, 0.2f, 0.2f, 0.2f); + rsMatrixRotate(&matrix, -25.0f, 1.0f, 0.0f, 0.0f); rsMatrixRotate(&matrix, gRotate, 0.0f, 1.0f, 0.0f); rsgProgramVertexLoadModelMatrix(&matrix); rsgDrawSimpleMesh(gTestMesh); + color(0.3f, 0.3f, 0.3f, 1.0f); + rsgDrawText("Renderscript model test", 30, 695); + + rsgBindFont(gItalic); + rsgDrawText(gTextAlloc, 30, 730); + return 10; } diff --git a/libs/rs/java/ModelViewer/res/raw/modelviewer_bc.bc b/libs/rs/java/ModelViewer/res/raw/modelviewer_bc.bc Binary files differindex 367a3f4..a64e725 100644 --- a/libs/rs/java/ModelViewer/res/raw/modelviewer_bc.bc +++ b/libs/rs/java/ModelViewer/res/raw/modelviewer_bc.bc diff --git a/libs/rs/java/ModelViewer/src/com/android/modelviewer/ModelViewerRS.java b/libs/rs/java/ModelViewer/src/com/android/modelviewer/ModelViewerRS.java index e581520..b6485dc 100644 --- a/libs/rs/java/ModelViewer/src/com/android/modelviewer/ModelViewerRS.java +++ b/libs/rs/java/ModelViewer/src/com/android/modelviewer/ModelViewerRS.java @@ -57,6 +57,9 @@ public class ModelViewerRS { private SimpleMesh mMesh; + private Font mItalic; + private Allocation mTextAlloc; + private ScriptC_Modelviewer mScript; int mLastX; @@ -123,11 +126,17 @@ public class ModelViewerRS { private void loadImage() { mGridImage = Allocation.createFromBitmapResourceBoxed(mRS, mRes, R.drawable.robot, Element.RGB_565(mRS), true); - mGridImage.uploadToTexture(1); + mGridImage.uploadToTexture(0); mScript.set_gTGrid(mGridImage); } + private void initTextAllocation() { + String allocString = "Displaying file: R.raw.robot"; + mTextAlloc = Allocation.createFromString(mRS, allocString); + mScript.set_gTextAlloc(mTextAlloc); + } + private void initRS() { mScript = new ScriptC_Modelviewer(mRS, mRes, R.raw.modelviewer_bc, true); @@ -148,6 +157,11 @@ public class ModelViewerRS { mScript.set_gTestMesh(mMesh); } + mItalic = Font.create(mRS, mRes, "DroidSerif-Italic.ttf", 10); + mScript.set_gItalic(mItalic); + + initTextAllocation(); + mRS.contextBindRootScript(mScript); } } diff --git a/libs/rs/java/ModelViewer/src/com/android/modelviewer/ModelViewerView.java b/libs/rs/java/ModelViewer/src/com/android/modelviewer/ModelViewerView.java index ce76e1a..061cf8e 100644 --- a/libs/rs/java/ModelViewer/src/com/android/modelviewer/ModelViewerView.java +++ b/libs/rs/java/ModelViewer/src/com/android/modelviewer/ModelViewerView.java @@ -86,7 +86,6 @@ public class ModelViewerView extends RSSurfaceView { ret = false; } - Log.v("rs", "Values " + (int)ev.getX() + " " + (int)ev.getY()); mRender.touchEvent((int)ev.getX(), (int)ev.getY()); return ret; } diff --git a/libs/rs/java/ModelViewer/src/com/android/modelviewer/ScriptC_Modelviewer.java b/libs/rs/java/ModelViewer/src/com/android/modelviewer/ScriptC_Modelviewer.java index 7a965b8..d3a2a29 100644 --- a/libs/rs/java/ModelViewer/src/com/android/modelviewer/ScriptC_Modelviewer.java +++ b/libs/rs/java/ModelViewer/src/com/android/modelviewer/ScriptC_Modelviewer.java @@ -92,5 +92,27 @@ public class ScriptC_Modelviewer extends ScriptC { return mExportVar_gRotate; } + private final static int mExportVarIdx_gItalic = 6; + private Font mExportVar_gItalic; + public void set_gItalic(Font v) { + mExportVar_gItalic = v; + setVar(mExportVarIdx_gItalic, (v == null) ? 0 : v.getID()); + } + + public Font get_gItalic() { + return mExportVar_gItalic; + } + + private final static int mExportVarIdx_gTextAlloc = 7; + private Allocation mExportVar_gTextAlloc; + public void set_gTextAlloc(Allocation v) { + mExportVar_gTextAlloc = v; + setVar(mExportVarIdx_gTextAlloc, (v == null) ? 0 : v.getID()); + } + + public Allocation get_gTextAlloc() { + return mExportVar_gTextAlloc; + } + } |