1ace3cdb462fef9563a0470223c62a7e80e6d587aGil Dobjanschi/*
2ace3cdb462fef9563a0470223c62a7e80e6d587aGil Dobjanschi * Copyright (C) 2010 The Android Open Source Project
3ace3cdb462fef9563a0470223c62a7e80e6d587aGil Dobjanschi *
4ace3cdb462fef9563a0470223c62a7e80e6d587aGil Dobjanschi * Licensed under the Apache License, Version 2.0 (the "License");
5ace3cdb462fef9563a0470223c62a7e80e6d587aGil Dobjanschi * you may not use this file except in compliance with the License.
6ace3cdb462fef9563a0470223c62a7e80e6d587aGil Dobjanschi * You may obtain a copy of the License at
7ace3cdb462fef9563a0470223c62a7e80e6d587aGil Dobjanschi *
8ace3cdb462fef9563a0470223c62a7e80e6d587aGil Dobjanschi *      http://www.apache.org/licenses/LICENSE-2.0
9ace3cdb462fef9563a0470223c62a7e80e6d587aGil Dobjanschi *
10ace3cdb462fef9563a0470223c62a7e80e6d587aGil Dobjanschi * Unless required by applicable law or agreed to in writing, software
11ace3cdb462fef9563a0470223c62a7e80e6d587aGil Dobjanschi * distributed under the License is distributed on an "AS IS" BASIS,
12ace3cdb462fef9563a0470223c62a7e80e6d587aGil Dobjanschi * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13ace3cdb462fef9563a0470223c62a7e80e6d587aGil Dobjanschi * See the License for the specific language governing permissions and
14ace3cdb462fef9563a0470223c62a7e80e6d587aGil Dobjanschi * limitations under the License.
15ace3cdb462fef9563a0470223c62a7e80e6d587aGil Dobjanschi */
16ace3cdb462fef9563a0470223c62a7e80e6d587aGil Dobjanschi
1781393d6dc5767f7784a00958095614a37bf1a91aGil Dobjanschipackage com.android.videoeditor;
18ace3cdb462fef9563a0470223c62a7e80e6d587aGil Dobjanschi
19ace3cdb462fef9563a0470223c62a7e80e6d587aGil Dobjanschiimport android.content.Context;
20ace3cdb462fef9563a0470223c62a7e80e6d587aGil Dobjanschi
21ace3cdb462fef9563a0470223c62a7e80e6d587aGil Dobjanschi/**
2284583386343c3e1ee9a85f68f308bfb8cdcd31c5Shih-chia Cheng * Represents an effect that consists of name and type.
23ace3cdb462fef9563a0470223c62a7e80e6d587aGil Dobjanschi */
24ace3cdb462fef9563a0470223c62a7e80e6d587aGil Dobjanschipublic class EffectType {
25ace3cdb462fef9563a0470223c62a7e80e6d587aGil Dobjanschi    // Effect categories
26ace3cdb462fef9563a0470223c62a7e80e6d587aGil Dobjanschi    public static final int CATEGORY_IMAGE = 0;
27ace3cdb462fef9563a0470223c62a7e80e6d587aGil Dobjanschi    public static final int CATEGORY_VIDEO = 1;
28ace3cdb462fef9563a0470223c62a7e80e6d587aGil Dobjanschi
29ace3cdb462fef9563a0470223c62a7e80e6d587aGil Dobjanschi    // Effect types
30ace3cdb462fef9563a0470223c62a7e80e6d587aGil Dobjanschi    public static final int EFFECT_KEN_BURNS = 0;
31ace3cdb462fef9563a0470223c62a7e80e6d587aGil Dobjanschi    public static final int EFFECT_COLOR_GRADIENT = 1;
32ace3cdb462fef9563a0470223c62a7e80e6d587aGil Dobjanschi    public static final int EFFECT_COLOR_SEPIA = 2;
33ace3cdb462fef9563a0470223c62a7e80e6d587aGil Dobjanschi    public static final int EFFECT_COLOR_NEGATIVE = 3;
34ace3cdb462fef9563a0470223c62a7e80e6d587aGil Dobjanschi
35ace3cdb462fef9563a0470223c62a7e80e6d587aGil Dobjanschi    /**
3684583386343c3e1ee9a85f68f308bfb8cdcd31c5Shih-chia Cheng     * Gets effects for the specified category, either image or video.
37ace3cdb462fef9563a0470223c62a7e80e6d587aGil Dobjanschi     *
38ace3cdb462fef9563a0470223c62a7e80e6d587aGil Dobjanschi     * @param context The context
39ace3cdb462fef9563a0470223c62a7e80e6d587aGil Dobjanschi     * @param category The category
40ace3cdb462fef9563a0470223c62a7e80e6d587aGil Dobjanschi     *
41ace3cdb462fef9563a0470223c62a7e80e6d587aGil Dobjanschi     * @return The array of effects of the specified category
42ace3cdb462fef9563a0470223c62a7e80e6d587aGil Dobjanschi     */
43ace3cdb462fef9563a0470223c62a7e80e6d587aGil Dobjanschi    public static EffectType[] getEffects(Context context, int category) {
44ace3cdb462fef9563a0470223c62a7e80e6d587aGil Dobjanschi        final EffectType[] effects;
45ace3cdb462fef9563a0470223c62a7e80e6d587aGil Dobjanschi
46ace3cdb462fef9563a0470223c62a7e80e6d587aGil Dobjanschi        switch (category) {
47ace3cdb462fef9563a0470223c62a7e80e6d587aGil Dobjanschi            case CATEGORY_IMAGE: {
48ace3cdb462fef9563a0470223c62a7e80e6d587aGil Dobjanschi                effects = new EffectType[4];
49ace3cdb462fef9563a0470223c62a7e80e6d587aGil Dobjanschi                effects[0] = new EffectType(
505392175a5d99a9324c532d517a99f32277c88bdeGil Dobjanschi                        context.getString(R.string.effect_pan_zoom), EFFECT_KEN_BURNS);
51ace3cdb462fef9563a0470223c62a7e80e6d587aGil Dobjanschi                effects[1] = new EffectType(
52ace3cdb462fef9563a0470223c62a7e80e6d587aGil Dobjanschi                        context.getString(R.string.effect_gradient), EFFECT_COLOR_GRADIENT);
53ace3cdb462fef9563a0470223c62a7e80e6d587aGil Dobjanschi                effects[2] = new EffectType(
54ace3cdb462fef9563a0470223c62a7e80e6d587aGil Dobjanschi                        context.getString(R.string.effect_sepia), EFFECT_COLOR_SEPIA);
55ace3cdb462fef9563a0470223c62a7e80e6d587aGil Dobjanschi                effects[3] = new EffectType(
56ace3cdb462fef9563a0470223c62a7e80e6d587aGil Dobjanschi                        context.getString(R.string.effect_negative), EFFECT_COLOR_NEGATIVE);
57ace3cdb462fef9563a0470223c62a7e80e6d587aGil Dobjanschi                break;
58ace3cdb462fef9563a0470223c62a7e80e6d587aGil Dobjanschi            }
59ace3cdb462fef9563a0470223c62a7e80e6d587aGil Dobjanschi
60ace3cdb462fef9563a0470223c62a7e80e6d587aGil Dobjanschi            case CATEGORY_VIDEO: {
6184583386343c3e1ee9a85f68f308bfb8cdcd31c5Shih-chia Cheng                effects = new EffectType[3];
62ace3cdb462fef9563a0470223c62a7e80e6d587aGil Dobjanschi                effects[0] = new EffectType(
63ace3cdb462fef9563a0470223c62a7e80e6d587aGil Dobjanschi                        context.getString(R.string.effect_gradient), EFFECT_COLOR_GRADIENT);
64ace3cdb462fef9563a0470223c62a7e80e6d587aGil Dobjanschi                effects[1] = new EffectType(
65ace3cdb462fef9563a0470223c62a7e80e6d587aGil Dobjanschi                        context.getString(R.string.effect_sepia), EFFECT_COLOR_SEPIA);
66ace3cdb462fef9563a0470223c62a7e80e6d587aGil Dobjanschi                effects[2] = new EffectType(
67ace3cdb462fef9563a0470223c62a7e80e6d587aGil Dobjanschi                        context.getString(R.string.effect_negative), EFFECT_COLOR_NEGATIVE);
68ace3cdb462fef9563a0470223c62a7e80e6d587aGil Dobjanschi                break;
69ace3cdb462fef9563a0470223c62a7e80e6d587aGil Dobjanschi            }
70ace3cdb462fef9563a0470223c62a7e80e6d587aGil Dobjanschi
71ace3cdb462fef9563a0470223c62a7e80e6d587aGil Dobjanschi            default: {
72ace3cdb462fef9563a0470223c62a7e80e6d587aGil Dobjanschi                effects = new EffectType[0];
73ace3cdb462fef9563a0470223c62a7e80e6d587aGil Dobjanschi                break;
74ace3cdb462fef9563a0470223c62a7e80e6d587aGil Dobjanschi            }
75ace3cdb462fef9563a0470223c62a7e80e6d587aGil Dobjanschi        }
76ace3cdb462fef9563a0470223c62a7e80e6d587aGil Dobjanschi
77ace3cdb462fef9563a0470223c62a7e80e6d587aGil Dobjanschi        return effects;
78ace3cdb462fef9563a0470223c62a7e80e6d587aGil Dobjanschi    }
79ace3cdb462fef9563a0470223c62a7e80e6d587aGil Dobjanschi
80ace3cdb462fef9563a0470223c62a7e80e6d587aGil Dobjanschi    // Instance variables
81ace3cdb462fef9563a0470223c62a7e80e6d587aGil Dobjanschi    private final String mName;
82ace3cdb462fef9563a0470223c62a7e80e6d587aGil Dobjanschi    private final int mType;
83ace3cdb462fef9563a0470223c62a7e80e6d587aGil Dobjanschi
84ace3cdb462fef9563a0470223c62a7e80e6d587aGil Dobjanschi    public EffectType(String name, int type) {
85ace3cdb462fef9563a0470223c62a7e80e6d587aGil Dobjanschi        mName = name;
86ace3cdb462fef9563a0470223c62a7e80e6d587aGil Dobjanschi        mType = type;
87ace3cdb462fef9563a0470223c62a7e80e6d587aGil Dobjanschi    }
88ace3cdb462fef9563a0470223c62a7e80e6d587aGil Dobjanschi
89ace3cdb462fef9563a0470223c62a7e80e6d587aGil Dobjanschi    public String getName() {
90ace3cdb462fef9563a0470223c62a7e80e6d587aGil Dobjanschi        return mName;
91ace3cdb462fef9563a0470223c62a7e80e6d587aGil Dobjanschi    }
92ace3cdb462fef9563a0470223c62a7e80e6d587aGil Dobjanschi
93ace3cdb462fef9563a0470223c62a7e80e6d587aGil Dobjanschi    public int getType() {
94ace3cdb462fef9563a0470223c62a7e80e6d587aGil Dobjanschi        return mType;
95ace3cdb462fef9563a0470223c62a7e80e6d587aGil Dobjanschi    }
96ace3cdb462fef9563a0470223c62a7e80e6d587aGil Dobjanschi}
97