1f15ed0124ea7f7f87e4188a1dd15cc4917a62ee9Jason Sams/* 2f15ed0124ea7f7f87e4188a1dd15cc4917a62ee9Jason Sams * Copyright (C) 2008 The Android Open Source Project 3f15ed0124ea7f7f87e4188a1dd15cc4917a62ee9Jason Sams * 4f15ed0124ea7f7f87e4188a1dd15cc4917a62ee9Jason Sams * Licensed under the Apache License, Version 2.0 (the "License"); 5f15ed0124ea7f7f87e4188a1dd15cc4917a62ee9Jason Sams * you may not use this file except in compliance with the License. 6f15ed0124ea7f7f87e4188a1dd15cc4917a62ee9Jason Sams * You may obtain a copy of the License at 7f15ed0124ea7f7f87e4188a1dd15cc4917a62ee9Jason Sams * 8f15ed0124ea7f7f87e4188a1dd15cc4917a62ee9Jason Sams * http://www.apache.org/licenses/LICENSE-2.0 9f15ed0124ea7f7f87e4188a1dd15cc4917a62ee9Jason Sams * 10f15ed0124ea7f7f87e4188a1dd15cc4917a62ee9Jason Sams * Unless required by applicable law or agreed to in writing, software 11f15ed0124ea7f7f87e4188a1dd15cc4917a62ee9Jason Sams * distributed under the License is distributed on an "AS IS" BASIS, 12f15ed0124ea7f7f87e4188a1dd15cc4917a62ee9Jason Sams * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13f15ed0124ea7f7f87e4188a1dd15cc4917a62ee9Jason Sams * See the License for the specific language governing permissions and 14f15ed0124ea7f7f87e4188a1dd15cc4917a62ee9Jason Sams * limitations under the License. 15f15ed0124ea7f7f87e4188a1dd15cc4917a62ee9Jason Sams */ 16f15ed0124ea7f7f87e4188a1dd15cc4917a62ee9Jason Sams 17f15ed0124ea7f7f87e4188a1dd15cc4917a62ee9Jason Samspackage android.renderscript; 18f15ed0124ea7f7f87e4188a1dd15cc4917a62ee9Jason Sams 19f15ed0124ea7f7f87e4188a1dd15cc4917a62ee9Jason Samsimport java.util.Vector; 20f15ed0124ea7f7f87e4188a1dd15cc4917a62ee9Jason Samsimport android.util.Log; 21f15ed0124ea7f7f87e4188a1dd15cc4917a62ee9Jason Sams 229c9ad3f8c218954e46aab81f9af7834cea5675caStephen Hines/** 23f15ed0124ea7f7f87e4188a1dd15cc4917a62ee9Jason Sams * @hide 24f15ed0124ea7f7f87e4188a1dd15cc4917a62ee9Jason Sams * 25f15ed0124ea7f7f87e4188a1dd15cc4917a62ee9Jason Sams */ 26f15ed0124ea7f7f87e4188a1dd15cc4917a62ee9Jason Samspublic class Path extends BaseObj { 27f15ed0124ea7f7f87e4188a1dd15cc4917a62ee9Jason Sams 28f15ed0124ea7f7f87e4188a1dd15cc4917a62ee9Jason Sams public enum Primitive { 29f15ed0124ea7f7f87e4188a1dd15cc4917a62ee9Jason Sams QUADRATIC_BEZIER(0), 30f15ed0124ea7f7f87e4188a1dd15cc4917a62ee9Jason Sams CUBIC_BEZIER(1); 31f15ed0124ea7f7f87e4188a1dd15cc4917a62ee9Jason Sams 32f15ed0124ea7f7f87e4188a1dd15cc4917a62ee9Jason Sams int mID; 33f15ed0124ea7f7f87e4188a1dd15cc4917a62ee9Jason Sams Primitive(int id) { 34f15ed0124ea7f7f87e4188a1dd15cc4917a62ee9Jason Sams mID = id; 35f15ed0124ea7f7f87e4188a1dd15cc4917a62ee9Jason Sams } 36f15ed0124ea7f7f87e4188a1dd15cc4917a62ee9Jason Sams } 37f15ed0124ea7f7f87e4188a1dd15cc4917a62ee9Jason Sams 38f15ed0124ea7f7f87e4188a1dd15cc4917a62ee9Jason Sams Allocation mVertexBuffer; 39f15ed0124ea7f7f87e4188a1dd15cc4917a62ee9Jason Sams Allocation mLoopBuffer; 40f15ed0124ea7f7f87e4188a1dd15cc4917a62ee9Jason Sams Primitive mPrimitive; 41f15ed0124ea7f7f87e4188a1dd15cc4917a62ee9Jason Sams float mQuality; 42f15ed0124ea7f7f87e4188a1dd15cc4917a62ee9Jason Sams boolean mCoverageToAlpha; 43f15ed0124ea7f7f87e4188a1dd15cc4917a62ee9Jason Sams 44f15ed0124ea7f7f87e4188a1dd15cc4917a62ee9Jason Sams Path(int id, RenderScript rs, Primitive p, Allocation vtx, Allocation loop, float q) { 45f15ed0124ea7f7f87e4188a1dd15cc4917a62ee9Jason Sams super(id, rs); 46f15ed0124ea7f7f87e4188a1dd15cc4917a62ee9Jason Sams mVertexBuffer = vtx; 47f15ed0124ea7f7f87e4188a1dd15cc4917a62ee9Jason Sams mLoopBuffer = loop; 48f15ed0124ea7f7f87e4188a1dd15cc4917a62ee9Jason Sams mPrimitive = p; 49f15ed0124ea7f7f87e4188a1dd15cc4917a62ee9Jason Sams mQuality = q; 50f15ed0124ea7f7f87e4188a1dd15cc4917a62ee9Jason Sams } 51f15ed0124ea7f7f87e4188a1dd15cc4917a62ee9Jason Sams 52f15ed0124ea7f7f87e4188a1dd15cc4917a62ee9Jason Sams public Allocation getVertexAllocation() { 53f15ed0124ea7f7f87e4188a1dd15cc4917a62ee9Jason Sams return mVertexBuffer; 54f15ed0124ea7f7f87e4188a1dd15cc4917a62ee9Jason Sams } 55f15ed0124ea7f7f87e4188a1dd15cc4917a62ee9Jason Sams 56f15ed0124ea7f7f87e4188a1dd15cc4917a62ee9Jason Sams public Allocation getLoopAllocation() { 57f15ed0124ea7f7f87e4188a1dd15cc4917a62ee9Jason Sams return mLoopBuffer; 58f15ed0124ea7f7f87e4188a1dd15cc4917a62ee9Jason Sams } 59f15ed0124ea7f7f87e4188a1dd15cc4917a62ee9Jason Sams 60f15ed0124ea7f7f87e4188a1dd15cc4917a62ee9Jason Sams public Primitive getPrimitive() { 61f15ed0124ea7f7f87e4188a1dd15cc4917a62ee9Jason Sams return mPrimitive; 62f15ed0124ea7f7f87e4188a1dd15cc4917a62ee9Jason Sams } 63f15ed0124ea7f7f87e4188a1dd15cc4917a62ee9Jason Sams 64f15ed0124ea7f7f87e4188a1dd15cc4917a62ee9Jason Sams @Override 65f15ed0124ea7f7f87e4188a1dd15cc4917a62ee9Jason Sams void updateFromNative() { 66f15ed0124ea7f7f87e4188a1dd15cc4917a62ee9Jason Sams } 67f15ed0124ea7f7f87e4188a1dd15cc4917a62ee9Jason Sams 68f15ed0124ea7f7f87e4188a1dd15cc4917a62ee9Jason Sams 69f15ed0124ea7f7f87e4188a1dd15cc4917a62ee9Jason Sams public static Path createStaticPath(RenderScript rs, Primitive p, float quality, Allocation vtx) { 70e07694b24f7d12d72b084b6651356681ebd0efd6Jason Sams int id = rs.nPathCreate(p.mID, false, vtx.getID(rs), 0, quality); 71f15ed0124ea7f7f87e4188a1dd15cc4917a62ee9Jason Sams Path newPath = new Path(id, rs, p, null, null, quality); 72f15ed0124ea7f7f87e4188a1dd15cc4917a62ee9Jason Sams return newPath; 73f15ed0124ea7f7f87e4188a1dd15cc4917a62ee9Jason Sams } 74f15ed0124ea7f7f87e4188a1dd15cc4917a62ee9Jason Sams 75f15ed0124ea7f7f87e4188a1dd15cc4917a62ee9Jason Sams public static Path createStaticPath(RenderScript rs, Primitive p, float quality, Allocation vtx, Allocation loops) { 76f15ed0124ea7f7f87e4188a1dd15cc4917a62ee9Jason Sams return null; 77f15ed0124ea7f7f87e4188a1dd15cc4917a62ee9Jason Sams } 78f15ed0124ea7f7f87e4188a1dd15cc4917a62ee9Jason Sams 79f15ed0124ea7f7f87e4188a1dd15cc4917a62ee9Jason Sams public static Path createDynamicPath(RenderScript rs, Primitive p, float quality, Allocation vtx) { 80f15ed0124ea7f7f87e4188a1dd15cc4917a62ee9Jason Sams return null; 81f15ed0124ea7f7f87e4188a1dd15cc4917a62ee9Jason Sams } 82f15ed0124ea7f7f87e4188a1dd15cc4917a62ee9Jason Sams 83f15ed0124ea7f7f87e4188a1dd15cc4917a62ee9Jason Sams public static Path createDynamicPath(RenderScript rs, Primitive p, float quality, Allocation vtx, Allocation loops) { 84f15ed0124ea7f7f87e4188a1dd15cc4917a62ee9Jason Sams return null; 85f15ed0124ea7f7f87e4188a1dd15cc4917a62ee9Jason Sams } 86f15ed0124ea7f7f87e4188a1dd15cc4917a62ee9Jason Sams 87f15ed0124ea7f7f87e4188a1dd15cc4917a62ee9Jason Sams 88f15ed0124ea7f7f87e4188a1dd15cc4917a62ee9Jason Sams} 89f15ed0124ea7f7f87e4188a1dd15cc4917a62ee9Jason Sams 90f15ed0124ea7f7f87e4188a1dd15cc4917a62ee9Jason Sams 91