FlipFilter.java revision 0f8a40e4cfdc5f6cd47c22e81f69ed0446067c54
1/*
2 * Copyright (C) 2010 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
17package com.android.photoeditor.filters;
18
19import com.android.photoeditor.Photo;
20
21/**
22 * Flip filter applied to the image.
23 */
24public class FlipFilter extends Filter {
25
26    private boolean flipHorizontal;
27    private boolean flipVertical;
28
29    public void setFlip(boolean flipHorizontal, boolean flipVertical) {
30        this.flipHorizontal = flipHorizontal;
31        this.flipVertical = flipVertical;
32        validate();
33    }
34
35    @Override
36    public void process(Photo src, Photo dst) {
37        if (flipHorizontal && flipVertical) {
38            ImageUtils.nativeFlipBoth(src.bitmap(), dst.bitmap());
39        } else if (flipHorizontal) {
40            ImageUtils.nativeFlipHorizontal(src.bitmap(), dst.bitmap());
41        } else if (flipVertical){
42            ImageUtils.nativeFlipVertical(src.bitmap(), dst.bitmap());
43        } else {
44            ImageUtils.nativeCopy(src.bitmap(), dst.bitmap());
45        }
46    }
47}
48