1a89eef413da39b013f2e931c9f207ef2587eef01Tim Murray/* 2a89eef413da39b013f2e931c9f207ef2587eef01Tim Murray * Copyright (C) 2013 The Android Open Source Project 3a89eef413da39b013f2e931c9f207ef2587eef01Tim Murray * 4a89eef413da39b013f2e931c9f207ef2587eef01Tim Murray * Licensed under the Apache License, Version 2.0 (the "License"); 5a89eef413da39b013f2e931c9f207ef2587eef01Tim Murray * you may not use this file except in compliance with the License. 6a89eef413da39b013f2e931c9f207ef2587eef01Tim Murray * You may obtain a copy of the License at 7a89eef413da39b013f2e931c9f207ef2587eef01Tim Murray * 8a89eef413da39b013f2e931c9f207ef2587eef01Tim Murray * http://www.apache.org/licenses/LICENSE-2.0 9a89eef413da39b013f2e931c9f207ef2587eef01Tim Murray * 10a89eef413da39b013f2e931c9f207ef2587eef01Tim Murray * Unless required by applicable law or agreed to in writing, software 11a89eef413da39b013f2e931c9f207ef2587eef01Tim Murray * distributed under the License is distributed on an "AS IS" BASIS, 12a89eef413da39b013f2e931c9f207ef2587eef01Tim Murray * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13a89eef413da39b013f2e931c9f207ef2587eef01Tim Murray * See the License for the specific language governing permissions and 14a89eef413da39b013f2e931c9f207ef2587eef01Tim Murray * limitations under the License. 15a89eef413da39b013f2e931c9f207ef2587eef01Tim Murray */ 16a89eef413da39b013f2e931c9f207ef2587eef01Tim Murray 17a89eef413da39b013f2e931c9f207ef2587eef01Tim Murraypackage com.example.android.rs.hellocomputendk; 18a89eef413da39b013f2e931c9f207ef2587eef01Tim Murray 19a89eef413da39b013f2e931c9f207ef2587eef01Tim Murrayimport android.app.Activity; 20a89eef413da39b013f2e931c9f207ef2587eef01Tim Murrayimport android.os.Bundle; 21a89eef413da39b013f2e931c9f207ef2587eef01Tim Murrayimport android.graphics.BitmapFactory; 22a89eef413da39b013f2e931c9f207ef2587eef01Tim Murrayimport android.graphics.Bitmap; 23a89eef413da39b013f2e931c9f207ef2587eef01Tim Murrayimport android.widget.ImageView; 24a89eef413da39b013f2e931c9f207ef2587eef01Tim Murray 25a89eef413da39b013f2e931c9f207ef2587eef01Tim Murraypublic class HelloComputeNDK extends Activity { 26a89eef413da39b013f2e931c9f207ef2587eef01Tim Murray private Bitmap mBitmapIn; 27a89eef413da39b013f2e931c9f207ef2587eef01Tim Murray private Bitmap mBitmapOut; 28a89eef413da39b013f2e931c9f207ef2587eef01Tim Murray 29a89eef413da39b013f2e931c9f207ef2587eef01Tim Murray static { 30a89eef413da39b013f2e931c9f207ef2587eef01Tim Murray System.loadLibrary("hellocomputendk"); 31a89eef413da39b013f2e931c9f207ef2587eef01Tim Murray } 32a89eef413da39b013f2e931c9f207ef2587eef01Tim Murray 33db5de3870e9818879f1836687a10ce1cf586b38cTim Murray native void nativeMono(String cacheDir, int X, int Y, Bitmap in, Bitmap out); 34a89eef413da39b013f2e931c9f207ef2587eef01Tim Murray 35a89eef413da39b013f2e931c9f207ef2587eef01Tim Murray @Override 36a89eef413da39b013f2e931c9f207ef2587eef01Tim Murray protected void onCreate(Bundle savedInstanceState) { 37a89eef413da39b013f2e931c9f207ef2587eef01Tim Murray super.onCreate(savedInstanceState); 38a89eef413da39b013f2e931c9f207ef2587eef01Tim Murray setContentView(R.layout.main); 39a89eef413da39b013f2e931c9f207ef2587eef01Tim Murray 40a89eef413da39b013f2e931c9f207ef2587eef01Tim Murray mBitmapIn = loadBitmap(R.drawable.data); 41a89eef413da39b013f2e931c9f207ef2587eef01Tim Murray mBitmapOut = Bitmap.createBitmap(mBitmapIn.getWidth(), mBitmapIn.getHeight(), 42a89eef413da39b013f2e931c9f207ef2587eef01Tim Murray mBitmapIn.getConfig()); 43a89eef413da39b013f2e931c9f207ef2587eef01Tim Murray 44a89eef413da39b013f2e931c9f207ef2587eef01Tim Murray ImageView in = (ImageView) findViewById(R.id.displayin); 45a89eef413da39b013f2e931c9f207ef2587eef01Tim Murray in.setImageBitmap(mBitmapIn); 46a89eef413da39b013f2e931c9f207ef2587eef01Tim Murray 47a89eef413da39b013f2e931c9f207ef2587eef01Tim Murray ImageView out = (ImageView) findViewById(R.id.displayout); 48a89eef413da39b013f2e931c9f207ef2587eef01Tim Murray out.setImageBitmap(mBitmapOut); 49a89eef413da39b013f2e931c9f207ef2587eef01Tim Murray 50db5de3870e9818879f1836687a10ce1cf586b38cTim Murray nativeMono(this.getCacheDir().toString(), 51db5de3870e9818879f1836687a10ce1cf586b38cTim Murray mBitmapIn.getWidth(), mBitmapIn.getHeight(), 52db5de3870e9818879f1836687a10ce1cf586b38cTim Murray mBitmapIn, mBitmapOut); 53a89eef413da39b013f2e931c9f207ef2587eef01Tim Murray 54a89eef413da39b013f2e931c9f207ef2587eef01Tim Murray } 55a89eef413da39b013f2e931c9f207ef2587eef01Tim Murray 56a89eef413da39b013f2e931c9f207ef2587eef01Tim Murray private Bitmap loadBitmap(int resource) { 57a89eef413da39b013f2e931c9f207ef2587eef01Tim Murray final BitmapFactory.Options options = new BitmapFactory.Options(); 58a89eef413da39b013f2e931c9f207ef2587eef01Tim Murray options.inPreferredConfig = Bitmap.Config.ARGB_8888; 59a89eef413da39b013f2e931c9f207ef2587eef01Tim Murray return BitmapFactory.decodeResource(getResources(), resource, options); 60a89eef413da39b013f2e931c9f207ef2587eef01Tim Murray } 61a89eef413da39b013f2e931c9f207ef2587eef01Tim Murray} 62