BasicEditor.java revision e30ec70e8d4064b1c2da824aae5cf3d11c86cc5e
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 17package com.android.gallery3d.filtershow.editors; 18 19import com.android.gallery3d.R; 20import com.android.gallery3d.filtershow.filters.ImageFilter; 21 22import android.content.Context; 23import android.util.Log; 24import android.view.View; 25import android.widget.FrameLayout; 26import android.widget.SeekBar; 27import android.widget.SeekBar.OnSeekBarChangeListener; 28 29/** 30 * The basic editor that all the one parameter filters 31 */ 32public class BasicEditor extends Editor implements OnSeekBarChangeListener { 33 public static int ID = R.id.basicEditor; 34 private SeekBar mSeekBar; 35 private final String LOGTAG = "Editor"; 36 37 public BasicEditor() { 38 super(ID); 39 } 40 41 @Override 42 public void createEditor(Context context, FrameLayout frameLayout) { 43 super.createEditor(context, frameLayout); 44 unpack(R.id.basicEditor, R.layout.filtershow_default_editor); 45 mSeekBar = (SeekBar) mView.findViewById(R.id.filterSeekBar); 46 mSeekBar.setOnSeekBarChangeListener(this); 47 } 48 49 @Override 50 public void reflectCurrentFilter() { 51 ImageFilter filter = mImageShow.getCurrentFilter(); 52 if (filter == null) { 53 return; 54 } 55 boolean f = filter.showParameterValue(); 56 mSeekBar.setVisibility((f) ? View.VISIBLE : View.INVISIBLE); 57 int parameter = filter.getParameter(); 58 int maxp = filter.getMaxParameter(); 59 int minp = filter.getMinParameter(); 60 mSeekBar.setMax(maxp - minp); 61 mSeekBar.setProgress(parameter - minp); 62 } 63 64 @Override 65 public void onProgressChanged(SeekBar sbar, int progress, boolean arg2) { 66 ImageFilter filter = mImageShow.getCurrentFilter(); 67 if (filter == null) { 68 return; 69 } 70 int minp = filter.getMinParameter(); 71 int value = progress + minp; 72 mImageShow.onNewValue(value); 73 mView.invalidate(); 74 if (filter.showParameterValue()) { 75 mPanelController.onNewValue(value); 76 } 77 78 Log.v(LOGTAG, " #### progress=" + value); 79 } 80 81 @Override 82 public void onStartTrackingTouch(SeekBar arg0) { 83 } 84 85 @Override 86 public void onStopTrackingTouch(SeekBar arg0) { 87 } 88} 89