/rs/java/android/renderscript/ProgramRaster.java
https://github.com/aizuzi/platform_frameworks_base · Java · 171 lines · 76 code · 27 blank · 68 comment · 6 complexity · 88c0799479f6f6a477465f4f8162e7b1 MD5 · raw file
- /*
- * 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;
- }
- }
- }