From 288c8711a64893acb3f4a31caf69153be9809d17 Mon Sep 17 00:00:00 2001 From: Jim Shuma Date: Wed, 7 Jul 2010 14:24:21 -0700 Subject: [PATCH] Making Program*.Builder classes' setters return 'this' This is for better correspondence with the Builder pattern. See also: Effective Java, 2nd edition. Change-Id: Iecccd42be49dea2ed8e4b8cc38ce96379cf3c11c --- graphics/java/android/renderscript/Program.java | 6 ++++-- .../android/renderscript/ProgramFragment.java | 6 ++++-- .../java/android/renderscript/ProgramRaster.java | 9 ++++++--- .../java/android/renderscript/ProgramStore.java | 15 ++++++++++----- .../java/android/renderscript/ProgramVertex.java | 3 ++- 5 files changed, 26 insertions(+), 13 deletions(-) diff --git a/graphics/java/android/renderscript/Program.java b/graphics/java/android/renderscript/Program.java index 1614ec590cbd0..b16dac1f1e5bb 100644 --- a/graphics/java/android/renderscript/Program.java +++ b/graphics/java/android/renderscript/Program.java @@ -91,8 +91,9 @@ public class Program extends BaseObj { mTextureCount = 0; } - public void setShader(String s) { + public BaseProgramBuilder setShader(String s) { mShader = s; + return this; } public void addInput(Element e) throws IllegalStateException { @@ -120,12 +121,13 @@ public class Program extends BaseObj { return mConstantCount++; } - public void setTextureCount(int count) throws IllegalArgumentException { + public BaseProgramBuilder setTextureCount(int count) throws IllegalArgumentException { // Should check for consistant and non-conflicting names... if(count >= MAX_CONSTANT) { throw new IllegalArgumentException("Max texture count exceeded."); } mTextureCount = count; + return this; } protected void initProgram(Program p) { diff --git a/graphics/java/android/renderscript/ProgramFragment.java b/graphics/java/android/renderscript/ProgramFragment.java index 5e04f0c57526f..d06d768ef4231 100644 --- a/graphics/java/android/renderscript/ProgramFragment.java +++ b/graphics/java/android/renderscript/ProgramFragment.java @@ -106,16 +106,18 @@ public class ProgramFragment extends Program { mPointSpriteEnable = false; } - public void setTexture(EnvMode env, Format fmt, int slot) + public Builder setTexture(EnvMode env, Format fmt, int slot) throws IllegalArgumentException { if((slot < 0) || (slot >= MAX_TEXTURE)) { throw new IllegalArgumentException("MAX_TEXTURE exceeded."); } mSlots[slot] = new Slot(env, fmt); + return this; } - public void setPointSpriteTexCoordinateReplacement(boolean enable) { + public Builder setPointSpriteTexCoordinateReplacement(boolean enable) { mPointSpriteEnable = enable; + return this; } public ProgramFragment create() { diff --git a/graphics/java/android/renderscript/ProgramRaster.java b/graphics/java/android/renderscript/ProgramRaster.java index c3ab4819a6da3..55e6586f9664f 100644 --- a/graphics/java/android/renderscript/ProgramRaster.java +++ b/graphics/java/android/renderscript/ProgramRaster.java @@ -89,16 +89,19 @@ public class ProgramRaster extends BaseObj { mPointSprite = false; } - public void setPointSpriteEnable(boolean enable) { + public Builder setPointSpriteEnable(boolean enable) { mPointSprite = enable; + return this; } - public void setPointSmoothEnable(boolean enable) { + public Builder setPointSmoothEnable(boolean enable) { mPointSmooth = enable; + return this; } - public void setLineSmoothEnable(boolean enable) { + public Builder setLineSmoothEnable(boolean enable) { mLineSmooth = enable; + return this; } static synchronized ProgramRaster internalCreate(RenderScript rs, Builder b) { diff --git a/graphics/java/android/renderscript/ProgramStore.java b/graphics/java/android/renderscript/ProgramStore.java index f558117e10c25..a92cbb6bc925f 100644 --- a/graphics/java/android/renderscript/ProgramStore.java +++ b/graphics/java/android/renderscript/ProgramStore.java @@ -114,28 +114,33 @@ public class ProgramStore extends BaseObj { } - public void setDepthFunc(DepthFunc func) { + public Builder setDepthFunc(DepthFunc func) { mDepthFunc = func; + return this; } - public void setDepthMask(boolean enable) { + public Builder setDepthMask(boolean enable) { mDepthMask = enable; + return this; } - public void setColorMask(boolean r, boolean g, boolean b, boolean a) { + public Builder setColorMask(boolean r, boolean g, boolean b, boolean a) { mColorMaskR = r; mColorMaskG = g; mColorMaskB = b; mColorMaskA = a; + return this; } - public void setBlendFunc(BlendSrcFunc src, BlendDstFunc dst) { + public Builder setBlendFunc(BlendSrcFunc src, BlendDstFunc dst) { mBlendSrc = src; mBlendDst = dst; + return this; } - public void setDitherEnable(boolean enable) { + public Builder setDitherEnable(boolean enable) { mDither = enable; + return this; } static synchronized ProgramStore internalCreate(RenderScript rs, Builder b) { diff --git a/graphics/java/android/renderscript/ProgramVertex.java b/graphics/java/android/renderscript/ProgramVertex.java index 1b155d7c4bf83..ec377e24b924d 100644 --- a/graphics/java/android/renderscript/ProgramVertex.java +++ b/graphics/java/android/renderscript/ProgramVertex.java @@ -47,8 +47,9 @@ public class ProgramVertex extends Program { mRS = rs; } - public void setTextureMatrixEnable(boolean enable) { + public Builder setTextureMatrixEnable(boolean enable) { mTextureMatrixEnable = enable; + return this; } public ProgramVertex create() {