OSDN Git Service

am 8fd2a1e8: am 0efc1133: am 7bd60250: Added stub for applying geometry flip.
[android-x86/packages-apps-Gallery2.git] / jni / filters / geometry.c
1 /*
2  * Copyright (C) 2012 The Android Open Source Project
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16
17 #include "filters.h"
18
19 void JNIFUNCF(ImageFilterGeometry, nativeApplyFilterFlip, jobject src, jint srcWidth, jint srcHeight, jobject dst, jint dstWidth, jint dstHeight, jint flip) {
20     char* destination = 0;
21     char* source = 0;
22     AndroidBitmap_lockPixels(env, src, (void**) &source);
23     AndroidBitmap_lockPixels(env, dst, (void**) &destination);
24     int i = 0;
25     for (; i < dstWidth * dstHeight * 4; i+=4) {
26         int r = source[RED];
27         int g = source[GREEN];
28         int b = source[BLUE];
29
30         destination[RED] = 255;
31         destination[GREEN] = g;
32         destination[BLUE] = b;
33     }
34     AndroidBitmap_unlockPixels(env, dst);
35     AndroidBitmap_unlockPixels(env, src);
36 }