blob: 4d0651edbff79f68bcb650975dc44b61c697cc67 [file] [log] [blame]
/*
* Copyright (C) 2013 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.android.gallery3d.filtershow.filters;
import android.util.Log;
import com.android.gallery3d.filtershow.controller.Control;
import com.android.gallery3d.filtershow.controller.FilterView;
import com.android.gallery3d.filtershow.controller.Parameter;
import com.android.gallery3d.filtershow.controller.ParameterInteger;
public class FilterBasicRepresentation extends FilterRepresentation implements ParameterInteger {
private static final String LOGTAG = "FilterBasicRep";
private int mMinimum;
private int mValue;
private int mMaximum;
private int mDefaultValue;
private int mPreviewValue;
private boolean mLogVerbose = Log.isLoggable(LOGTAG, Log.VERBOSE);
public FilterBasicRepresentation(String name, int minimum, int value, int maximum) {
super(name);
mMinimum = minimum;
mMaximum = maximum;
setValue(value);
}
@Override
public String toString() {
return getName() + " : " + mMinimum + " < " + mValue + " < " + mMaximum;
}
@Override
public FilterRepresentation clone() throws CloneNotSupportedException {
FilterBasicRepresentation representation = (FilterBasicRepresentation) super.clone();
representation.setMinimum(getMinimum());
representation.setMaximum(getMaximum());
representation.setValue(getValue());
if (mLogVerbose) {
Log.v(LOGTAG, "cloning from <" + this + "> to <" + representation + ">");
}
return representation;
}
@Override
public void useParametersFrom(FilterRepresentation a) {
if (a instanceof FilterBasicRepresentation) {
FilterBasicRepresentation representation = (FilterBasicRepresentation) a;
setMinimum(representation.getMinimum());
setMaximum(representation.getMaximum());
setValue(representation.getValue());
setDefaultValue(representation.getDefaultValue());
setPreviewValue(representation.getPreviewValue());
}
}
@Override
public boolean equals(FilterRepresentation representation) {
if (!super.equals(representation)) {
return false;
}
if (representation instanceof FilterBasicRepresentation) {
FilterBasicRepresentation basic = (FilterBasicRepresentation) representation;
if (basic.mMinimum == mMinimum
&& basic.mMaximum == mMaximum
&& basic.mValue == mValue
&& basic.mDefaultValue == mDefaultValue
&& basic.mPreviewValue == mPreviewValue) {
return true;
}
}
return false;
}
@Override
public int getMinimum() {
return mMinimum;
}
public void setMinimum(int minimum) {
mMinimum = minimum;
}
@Override
public int getValue() {
return mValue;
}
@Override
public void setValue(int value) {
mValue = value;
if (mValue < mMinimum) {
mValue = mMinimum;
}
if (mValue > mMaximum) {
mValue = mMaximum;
}
}
@Override
public int getMaximum() {
return mMaximum;
}
public void setMaximum(int maximum) {
mMaximum = maximum;
}
public void setDefaultValue(int defaultValue) {
mDefaultValue = defaultValue;
}
@Override
public int getDefaultValue() {
return mDefaultValue;
}
public int getPreviewValue() {
return mPreviewValue;
}
public void setPreviewValue(int previewValue) {
mPreviewValue = previewValue;
}
@Override
public String getStateRepresentation() {
int val = getValue();
return ((val > 0) ? "+" : "") + val;
}
@Override
public String getParameterType(){
return sParameterType;
}
@Override
public void setController(Control control) {
}
@Override
public String getValueString() {
return getStateRepresentation();
}
@Override
public String getParameterName() {
return getName();
}
@Override
public void setFilterView(FilterView editor) {
}
@Override
public void copyFrom(Parameter src) {
useParametersFrom((FilterBasicRepresentation) src);
}
}