diff options
Diffstat (limited to 'rs/java/android/renderscript/ProgramRaster.java')
| -rw-r--r-- | rs/java/android/renderscript/ProgramRaster.java | 171 | 
1 files changed, 171 insertions, 0 deletions
| diff --git a/rs/java/android/renderscript/ProgramRaster.java b/rs/java/android/renderscript/ProgramRaster.java new file mode 100644 index 000000000000..e294b05ade7c --- /dev/null +++ b/rs/java/android/renderscript/ProgramRaster.java @@ -0,0 +1,171 @@ +/* + * Copyright (C) 2008 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + *      http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package android.renderscript; + + +import android.util.Log; + + +/** + * @hide + * @deprecated in API 16 + * Program raster is primarily used to specify whether point sprites are enabled and to control + * the culling mode. By default, back faces are culled. + **/ +public class ProgramRaster extends BaseObj { + +    /** +     * @deprecated in API 16 +     **/ +    public enum CullMode { +        /** +         * @deprecated in API 16 +         **/ +        BACK (0), +        /** +         * @deprecated in API 16 +         **/ +        FRONT (1), +        /** +         * @deprecated in API 16 +         **/ +        NONE (2); + +        int mID; +        CullMode(int id) { +            mID = id; +        } +    } + +    boolean mPointSprite; +    CullMode mCullMode; + +    ProgramRaster(long id, RenderScript rs) { +        super(id, rs); + +        mPointSprite = false; +        mCullMode = CullMode.BACK; +    } + +    /** +     * @deprecated in API 16 +     * Specifies whether vertices are rendered as screen aligned +     * elements of a specified size +     * @return whether point sprites are enabled +     */ +    public boolean isPointSpriteEnabled() { +        return mPointSprite; +    } + +    /** +     * @deprecated in API 16 +     * Specifies how triangles are culled based on their orientation +     * @return cull mode +     */ +    public CullMode getCullMode() { +        return mCullMode; +    } + +    /** +     * @deprecated in API 16 +     */ +    public static ProgramRaster CULL_BACK(RenderScript rs) { +        if(rs.mProgramRaster_CULL_BACK == null) { +            ProgramRaster.Builder builder = new ProgramRaster.Builder(rs); +            builder.setCullMode(CullMode.BACK); +            rs.mProgramRaster_CULL_BACK = builder.create(); +        } +        return rs.mProgramRaster_CULL_BACK; +    } + +    /** +     * @deprecated in API 16 +     */ +    public static ProgramRaster CULL_FRONT(RenderScript rs) { +        if(rs.mProgramRaster_CULL_FRONT == null) { +            ProgramRaster.Builder builder = new ProgramRaster.Builder(rs); +            builder.setCullMode(CullMode.FRONT); +            rs.mProgramRaster_CULL_FRONT = builder.create(); +        } +        return rs.mProgramRaster_CULL_FRONT; +    } + +    /** +     * @deprecated in API 16 +     */ +    public static ProgramRaster CULL_NONE(RenderScript rs) { +        if(rs.mProgramRaster_CULL_NONE == null) { +            ProgramRaster.Builder builder = new ProgramRaster.Builder(rs); +            builder.setCullMode(CullMode.NONE); +            rs.mProgramRaster_CULL_NONE = builder.create(); +        } +        return rs.mProgramRaster_CULL_NONE; +    } + +    /** +     * @deprecated in API 16 +     */ +    public static class Builder { +        RenderScript mRS; +        boolean mPointSprite; +        CullMode mCullMode; + +        /** +         * @deprecated in API 16 +         */ +        public Builder(RenderScript rs) { +            mRS = rs; +            mPointSprite = false; +            mCullMode = CullMode.BACK; +        } + +        /** +         * @deprecated in API 16 +         */ +        public Builder setPointSpriteEnabled(boolean enable) { +            mPointSprite = enable; +            return this; +        } + +        /** +         * @deprecated in API 16 +         */ +        public Builder setCullMode(CullMode m) { +            mCullMode = m; +            return this; +        } + +        /** +         * @deprecated in API 16 +         */ +        public ProgramRaster create() { +            mRS.validate(); +            long id = mRS.nProgramRasterCreate(mPointSprite, mCullMode.mID); +            ProgramRaster programRaster = new ProgramRaster(id, mRS); +            programRaster.mPointSprite = mPointSprite; +            programRaster.mCullMode = mCullMode; +            return programRaster; +        } +    } + +} + + + + + + | 
