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