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