1b1ea64edb0a8bcf23cfe04ec5f51f6ed867d9c74Stephen Hines/* 2b1ea64edb0a8bcf23cfe04ec5f51f6ed867d9c74Stephen Hines * Copyright (C) 2012 The Android Open Source Project 3b1ea64edb0a8bcf23cfe04ec5f51f6ed867d9c74Stephen Hines * 4b1ea64edb0a8bcf23cfe04ec5f51f6ed867d9c74Stephen Hines * Licensed under the Apache License, Version 2.0 (the "License"); 5b1ea64edb0a8bcf23cfe04ec5f51f6ed867d9c74Stephen Hines * you may not use this file except in compliance with the License. 6b1ea64edb0a8bcf23cfe04ec5f51f6ed867d9c74Stephen Hines * You may obtain a copy of the License at 7b1ea64edb0a8bcf23cfe04ec5f51f6ed867d9c74Stephen Hines * 8b1ea64edb0a8bcf23cfe04ec5f51f6ed867d9c74Stephen Hines * http://www.apache.org/licenses/LICENSE-2.0 9b1ea64edb0a8bcf23cfe04ec5f51f6ed867d9c74Stephen Hines * 10b1ea64edb0a8bcf23cfe04ec5f51f6ed867d9c74Stephen Hines * Unless required by applicable law or agreed to in writing, software 11b1ea64edb0a8bcf23cfe04ec5f51f6ed867d9c74Stephen Hines * distributed under the License is distributed on an "AS IS" BASIS, 12b1ea64edb0a8bcf23cfe04ec5f51f6ed867d9c74Stephen Hines * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13b1ea64edb0a8bcf23cfe04ec5f51f6ed867d9c74Stephen Hines * See the License for the specific language governing permissions and 14b1ea64edb0a8bcf23cfe04ec5f51f6ed867d9c74Stephen Hines * limitations under the License. 15b1ea64edb0a8bcf23cfe04ec5f51f6ed867d9c74Stephen Hines */ 16b1ea64edb0a8bcf23cfe04ec5f51f6ed867d9c74Stephen Hines 17b1ea64edb0a8bcf23cfe04ec5f51f6ed867d9c74Stephen Hinespackage com.android.rs.test; 18b1ea64edb0a8bcf23cfe04ec5f51f6ed867d9c74Stephen Hines 19b1ea64edb0a8bcf23cfe04ec5f51f6ed867d9c74Stephen Hinesimport android.content.Context; 20b1ea64edb0a8bcf23cfe04ec5f51f6ed867d9c74Stephen Hinesimport android.content.res.Resources; 21b1ea64edb0a8bcf23cfe04ec5f51f6ed867d9c74Stephen Hinesimport android.renderscript.*; 22b1ea64edb0a8bcf23cfe04ec5f51f6ed867d9c74Stephen Hines 23b1ea64edb0a8bcf23cfe04ec5f51f6ed867d9c74Stephen Hinespublic class UT_struct extends UnitTest { 24b1ea64edb0a8bcf23cfe04ec5f51f6ed867d9c74Stephen Hines private Resources mRes; 25b1ea64edb0a8bcf23cfe04ec5f51f6ed867d9c74Stephen Hines 26b1ea64edb0a8bcf23cfe04ec5f51f6ed867d9c74Stephen Hines protected UT_struct(RSTestCore rstc, Resources res, Context ctx) { 27b1ea64edb0a8bcf23cfe04ec5f51f6ed867d9c74Stephen Hines super(rstc, "Struct", ctx); 28b1ea64edb0a8bcf23cfe04ec5f51f6ed867d9c74Stephen Hines mRes = res; 29b1ea64edb0a8bcf23cfe04ec5f51f6ed867d9c74Stephen Hines } 30b1ea64edb0a8bcf23cfe04ec5f51f6ed867d9c74Stephen Hines 31b1ea64edb0a8bcf23cfe04ec5f51f6ed867d9c74Stephen Hines public void run() { 32b1ea64edb0a8bcf23cfe04ec5f51f6ed867d9c74Stephen Hines RenderScript pRS = RenderScript.create(mCtx); 3358b2b2412864891686bf0e2c9940ad2b58808822Stephen Hines ScriptC_struct s = new ScriptC_struct(pRS); 34b1ea64edb0a8bcf23cfe04ec5f51f6ed867d9c74Stephen Hines pRS.setMessageHandler(mRsMessage); 35b1ea64edb0a8bcf23cfe04ec5f51f6ed867d9c74Stephen Hines 36b1ea64edb0a8bcf23cfe04ec5f51f6ed867d9c74Stephen Hines ScriptField_Point2 p = new ScriptField_Point2(pRS, 1); 37b1ea64edb0a8bcf23cfe04ec5f51f6ed867d9c74Stephen Hines ScriptField_Point2.Item i = new ScriptField_Point2.Item(); 38b1ea64edb0a8bcf23cfe04ec5f51f6ed867d9c74Stephen Hines int val = 100; 39b1ea64edb0a8bcf23cfe04ec5f51f6ed867d9c74Stephen Hines i.x = val; 40b1ea64edb0a8bcf23cfe04ec5f51f6ed867d9c74Stephen Hines i.y = val; 41b1ea64edb0a8bcf23cfe04ec5f51f6ed867d9c74Stephen Hines p.set(i, 0, true); 42b1ea64edb0a8bcf23cfe04ec5f51f6ed867d9c74Stephen Hines s.bind_point2(p); 43b1ea64edb0a8bcf23cfe04ec5f51f6ed867d9c74Stephen Hines s.invoke_struct_test(val); 44b1ea64edb0a8bcf23cfe04ec5f51f6ed867d9c74Stephen Hines pRS.finish(); 45b1ea64edb0a8bcf23cfe04ec5f51f6ed867d9c74Stephen Hines waitForMessage(); 46b1ea64edb0a8bcf23cfe04ec5f51f6ed867d9c74Stephen Hines 47b1ea64edb0a8bcf23cfe04ec5f51f6ed867d9c74Stephen Hines val = 200; 48b1ea64edb0a8bcf23cfe04ec5f51f6ed867d9c74Stephen Hines p.set_x(0, val, true); 49b1ea64edb0a8bcf23cfe04ec5f51f6ed867d9c74Stephen Hines p.set_y(0, val, true); 50b1ea64edb0a8bcf23cfe04ec5f51f6ed867d9c74Stephen Hines s.invoke_struct_test(val); 51b1ea64edb0a8bcf23cfe04ec5f51f6ed867d9c74Stephen Hines pRS.finish(); 52b1ea64edb0a8bcf23cfe04ec5f51f6ed867d9c74Stephen Hines waitForMessage(); 53b1ea64edb0a8bcf23cfe04ec5f51f6ed867d9c74Stephen Hines pRS.destroy(); 54b1ea64edb0a8bcf23cfe04ec5f51f6ed867d9c74Stephen Hines } 55b1ea64edb0a8bcf23cfe04ec5f51f6ed867d9c74Stephen Hines} 56