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