1a5a08d7642a1fdf961b057cc90e76c4c93103c15Sascha Haeberling/* 2a5a08d7642a1fdf961b057cc90e76c4c93103c15Sascha Haeberling * Copyright (C) 2013 The Android Open Source Project 3a5a08d7642a1fdf961b057cc90e76c4c93103c15Sascha Haeberling * 4a5a08d7642a1fdf961b057cc90e76c4c93103c15Sascha Haeberling * Licensed under the Apache License, Version 2.0 (the "License"); 5a5a08d7642a1fdf961b057cc90e76c4c93103c15Sascha Haeberling * you may not use this file except in compliance with the License. 6a5a08d7642a1fdf961b057cc90e76c4c93103c15Sascha Haeberling * You may obtain a copy of the License at 7a5a08d7642a1fdf961b057cc90e76c4c93103c15Sascha Haeberling * 8a5a08d7642a1fdf961b057cc90e76c4c93103c15Sascha Haeberling * http://www.apache.org/licenses/LICENSE-2.0 9a5a08d7642a1fdf961b057cc90e76c4c93103c15Sascha Haeberling * 10a5a08d7642a1fdf961b057cc90e76c4c93103c15Sascha Haeberling * Unless required by applicable law or agreed to in writing, software 11a5a08d7642a1fdf961b057cc90e76c4c93103c15Sascha Haeberling * distributed under the License is distributed on an "AS IS" BASIS, 12a5a08d7642a1fdf961b057cc90e76c4c93103c15Sascha Haeberling * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13a5a08d7642a1fdf961b057cc90e76c4c93103c15Sascha Haeberling * See the License for the specific language governing permissions and 14a5a08d7642a1fdf961b057cc90e76c4c93103c15Sascha Haeberling * limitations under the License. 15a5a08d7642a1fdf961b057cc90e76c4c93103c15Sascha Haeberling */ 16a5a08d7642a1fdf961b057cc90e76c4c93103c15Sascha Haeberling 17a5a08d7642a1fdf961b057cc90e76c4c93103c15Sascha Haeberlingpackage com.android.camera.tinyplanet; 18a5a08d7642a1fdf961b057cc90e76c4c93103c15Sascha Haeberling 19a5a08d7642a1fdf961b057cc90e76c4c93103c15Sascha Haeberlingimport android.graphics.Bitmap; 20a5a08d7642a1fdf961b057cc90e76c4c93103c15Sascha Haeberling 21a5a08d7642a1fdf961b057cc90e76c4c93103c15Sascha Haeberling/** 22a5a08d7642a1fdf961b057cc90e76c4c93103c15Sascha Haeberling * TinyPlanet native interface. 23a5a08d7642a1fdf961b057cc90e76c4c93103c15Sascha Haeberling */ 24a5a08d7642a1fdf961b057cc90e76c4c93103c15Sascha Haeberlingpublic class TinyPlanetNative { 25a5a08d7642a1fdf961b057cc90e76c4c93103c15Sascha Haeberling static { 26a5a08d7642a1fdf961b057cc90e76c4c93103c15Sascha Haeberling System.loadLibrary("jni_tinyplanet"); 27a5a08d7642a1fdf961b057cc90e76c4c93103c15Sascha Haeberling } 28a5a08d7642a1fdf961b057cc90e76c4c93103c15Sascha Haeberling 29a5a08d7642a1fdf961b057cc90e76c4c93103c15Sascha Haeberling /** 30a5a08d7642a1fdf961b057cc90e76c4c93103c15Sascha Haeberling * Create a tiny planet. 31a5a08d7642a1fdf961b057cc90e76c4c93103c15Sascha Haeberling * 32a5a08d7642a1fdf961b057cc90e76c4c93103c15Sascha Haeberling * @param in the 360 degree stereographically mapped panoramic input image. 33a5a08d7642a1fdf961b057cc90e76c4c93103c15Sascha Haeberling * @param width the width of the input image. 34a5a08d7642a1fdf961b057cc90e76c4c93103c15Sascha Haeberling * @param height the height of the input image. 35a5a08d7642a1fdf961b057cc90e76c4c93103c15Sascha Haeberling * @param out the resulting tiny planet. 36a5a08d7642a1fdf961b057cc90e76c4c93103c15Sascha Haeberling * @param outputSize the width and height of the square output image. 37a5a08d7642a1fdf961b057cc90e76c4c93103c15Sascha Haeberling * @param scale the scale factor (used for fast previews). 38a5a08d7642a1fdf961b057cc90e76c4c93103c15Sascha Haeberling * @param angleRadians the angle of the tiny planet in radians. 39a5a08d7642a1fdf961b057cc90e76c4c93103c15Sascha Haeberling */ 40a5a08d7642a1fdf961b057cc90e76c4c93103c15Sascha Haeberling public static native void process(Bitmap in, int width, int height, Bitmap out, int outputSize, 41a5a08d7642a1fdf961b057cc90e76c4c93103c15Sascha Haeberling float scale, float angleRadians); 42a5a08d7642a1fdf961b057cc90e76c4c93103c15Sascha Haeberling} 43