FilterBasicRepresentation.java revision 235d2179374bec14040f20af91dc753e38ea3639
171f04cbaedbb89e313e0b86b531640db2d3f6016nicolasroard/* 271f04cbaedbb89e313e0b86b531640db2d3f6016nicolasroard * Copyright (C) 2013 The Android Open Source Project 371f04cbaedbb89e313e0b86b531640db2d3f6016nicolasroard * 471f04cbaedbb89e313e0b86b531640db2d3f6016nicolasroard * Licensed under the Apache License, Version 2.0 (the "License"); 571f04cbaedbb89e313e0b86b531640db2d3f6016nicolasroard * you may not use this file except in compliance with the License. 671f04cbaedbb89e313e0b86b531640db2d3f6016nicolasroard * You may obtain a copy of the License at 771f04cbaedbb89e313e0b86b531640db2d3f6016nicolasroard * 871f04cbaedbb89e313e0b86b531640db2d3f6016nicolasroard * http://www.apache.org/licenses/LICENSE-2.0 971f04cbaedbb89e313e0b86b531640db2d3f6016nicolasroard * 1071f04cbaedbb89e313e0b86b531640db2d3f6016nicolasroard * Unless required by applicable law or agreed to in writing, software 1171f04cbaedbb89e313e0b86b531640db2d3f6016nicolasroard * distributed under the License is distributed on an "AS IS" BASIS, 1271f04cbaedbb89e313e0b86b531640db2d3f6016nicolasroard * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1371f04cbaedbb89e313e0b86b531640db2d3f6016nicolasroard * See the License for the specific language governing permissions and 1471f04cbaedbb89e313e0b86b531640db2d3f6016nicolasroard * limitations under the License. 1571f04cbaedbb89e313e0b86b531640db2d3f6016nicolasroard */ 1671f04cbaedbb89e313e0b86b531640db2d3f6016nicolasroard 1771f04cbaedbb89e313e0b86b531640db2d3f6016nicolasroardpackage com.android.gallery3d.filtershow.filters; 1871f04cbaedbb89e313e0b86b531640db2d3f6016nicolasroard 1971f04cbaedbb89e313e0b86b531640db2d3f6016nicolasroardimport com.android.gallery3d.app.Log; 20235d2179374bec14040f20af91dc753e38ea3639John Hofordimport com.android.gallery3d.filtershow.controller.Control; 21235d2179374bec14040f20af91dc753e38ea3639John Hofordimport com.android.gallery3d.filtershow.controller.ParameterInteger; 2271f04cbaedbb89e313e0b86b531640db2d3f6016nicolasroard 23235d2179374bec14040f20af91dc753e38ea3639John Hofordpublic class FilterBasicRepresentation extends FilterRepresentation implements ParameterInteger { 2471f04cbaedbb89e313e0b86b531640db2d3f6016nicolasroard private static final String LOGTAG = "FilterBasicRepresentation"; 2571f04cbaedbb89e313e0b86b531640db2d3f6016nicolasroard private int mMinimum; 2671f04cbaedbb89e313e0b86b531640db2d3f6016nicolasroard private int mValue; 2771f04cbaedbb89e313e0b86b531640db2d3f6016nicolasroard private int mMaximum; 2871f04cbaedbb89e313e0b86b531640db2d3f6016nicolasroard private int mDefaultValue; 2971f04cbaedbb89e313e0b86b531640db2d3f6016nicolasroard private int mPreviewValue; 3071f04cbaedbb89e313e0b86b531640db2d3f6016nicolasroard 3171f04cbaedbb89e313e0b86b531640db2d3f6016nicolasroard public FilterBasicRepresentation(String name, int minimum, int value, int maximum) { 3271f04cbaedbb89e313e0b86b531640db2d3f6016nicolasroard super(name); 3371f04cbaedbb89e313e0b86b531640db2d3f6016nicolasroard mMinimum = minimum; 3471f04cbaedbb89e313e0b86b531640db2d3f6016nicolasroard mMaximum = maximum; 3571f04cbaedbb89e313e0b86b531640db2d3f6016nicolasroard setValue(value); 3671f04cbaedbb89e313e0b86b531640db2d3f6016nicolasroard } 3771f04cbaedbb89e313e0b86b531640db2d3f6016nicolasroard 38235d2179374bec14040f20af91dc753e38ea3639John Hoford @Override 3971f04cbaedbb89e313e0b86b531640db2d3f6016nicolasroard public String toString() { 4071f04cbaedbb89e313e0b86b531640db2d3f6016nicolasroard return getName() + " : " + mMinimum + " < " + mValue + " < " + mMaximum; 4171f04cbaedbb89e313e0b86b531640db2d3f6016nicolasroard } 4271f04cbaedbb89e313e0b86b531640db2d3f6016nicolasroard 4371f04cbaedbb89e313e0b86b531640db2d3f6016nicolasroard @Override 4471f04cbaedbb89e313e0b86b531640db2d3f6016nicolasroard public FilterRepresentation clone() throws CloneNotSupportedException { 4571f04cbaedbb89e313e0b86b531640db2d3f6016nicolasroard FilterBasicRepresentation representation = (FilterBasicRepresentation) super.clone(); 4671f04cbaedbb89e313e0b86b531640db2d3f6016nicolasroard representation.setMinimum(getMinimum()); 4771f04cbaedbb89e313e0b86b531640db2d3f6016nicolasroard representation.setMaximum(getMaximum()); 4871f04cbaedbb89e313e0b86b531640db2d3f6016nicolasroard representation.setValue(getValue()); 4971f04cbaedbb89e313e0b86b531640db2d3f6016nicolasroard Log.v(LOGTAG, "cloning from <" + this + "> to <" + representation + ">"); 5071f04cbaedbb89e313e0b86b531640db2d3f6016nicolasroard return representation; 5171f04cbaedbb89e313e0b86b531640db2d3f6016nicolasroard } 5271f04cbaedbb89e313e0b86b531640db2d3f6016nicolasroard 53235d2179374bec14040f20af91dc753e38ea3639John Hoford @Override 5471f04cbaedbb89e313e0b86b531640db2d3f6016nicolasroard public void useParametersFrom(FilterRepresentation a) { 5571f04cbaedbb89e313e0b86b531640db2d3f6016nicolasroard if (a instanceof FilterBasicRepresentation) { 5671f04cbaedbb89e313e0b86b531640db2d3f6016nicolasroard FilterBasicRepresentation representation = (FilterBasicRepresentation) a; 5771f04cbaedbb89e313e0b86b531640db2d3f6016nicolasroard setMinimum(representation.getMinimum()); 5871f04cbaedbb89e313e0b86b531640db2d3f6016nicolasroard setMaximum(representation.getMaximum()); 5971f04cbaedbb89e313e0b86b531640db2d3f6016nicolasroard setValue(representation.getValue()); 6071f04cbaedbb89e313e0b86b531640db2d3f6016nicolasroard setDefaultValue(representation.getDefaultValue()); 6171f04cbaedbb89e313e0b86b531640db2d3f6016nicolasroard setPreviewValue(representation.getPreviewValue()); 6271f04cbaedbb89e313e0b86b531640db2d3f6016nicolasroard } 6371f04cbaedbb89e313e0b86b531640db2d3f6016nicolasroard } 6471f04cbaedbb89e313e0b86b531640db2d3f6016nicolasroard 6571f04cbaedbb89e313e0b86b531640db2d3f6016nicolasroard @Override 6671f04cbaedbb89e313e0b86b531640db2d3f6016nicolasroard public boolean equals(FilterRepresentation representation) { 67d0bab8c396b0b10fdfd07a9d4fccf969d8d46747nicolasroard if (!super.equals(representation)) { 6871f04cbaedbb89e313e0b86b531640db2d3f6016nicolasroard return false; 6971f04cbaedbb89e313e0b86b531640db2d3f6016nicolasroard } 7071f04cbaedbb89e313e0b86b531640db2d3f6016nicolasroard if (representation instanceof FilterBasicRepresentation) { 7171f04cbaedbb89e313e0b86b531640db2d3f6016nicolasroard FilterBasicRepresentation basic = (FilterBasicRepresentation) representation; 7271f04cbaedbb89e313e0b86b531640db2d3f6016nicolasroard if (basic.mMinimum == mMinimum 7371f04cbaedbb89e313e0b86b531640db2d3f6016nicolasroard && basic.mMaximum == mMaximum 7471f04cbaedbb89e313e0b86b531640db2d3f6016nicolasroard && basic.mValue == mValue 7571f04cbaedbb89e313e0b86b531640db2d3f6016nicolasroard && basic.mDefaultValue == mDefaultValue 7671f04cbaedbb89e313e0b86b531640db2d3f6016nicolasroard && basic.mPreviewValue == mPreviewValue) { 7771f04cbaedbb89e313e0b86b531640db2d3f6016nicolasroard return true; 7871f04cbaedbb89e313e0b86b531640db2d3f6016nicolasroard } 7971f04cbaedbb89e313e0b86b531640db2d3f6016nicolasroard } 8071f04cbaedbb89e313e0b86b531640db2d3f6016nicolasroard return false; 8171f04cbaedbb89e313e0b86b531640db2d3f6016nicolasroard } 8271f04cbaedbb89e313e0b86b531640db2d3f6016nicolasroard 83235d2179374bec14040f20af91dc753e38ea3639John Hoford @Override 8471f04cbaedbb89e313e0b86b531640db2d3f6016nicolasroard public int getMinimum() { 8571f04cbaedbb89e313e0b86b531640db2d3f6016nicolasroard return mMinimum; 8671f04cbaedbb89e313e0b86b531640db2d3f6016nicolasroard } 8771f04cbaedbb89e313e0b86b531640db2d3f6016nicolasroard 8871f04cbaedbb89e313e0b86b531640db2d3f6016nicolasroard public void setMinimum(int minimum) { 8971f04cbaedbb89e313e0b86b531640db2d3f6016nicolasroard mMinimum = minimum; 9071f04cbaedbb89e313e0b86b531640db2d3f6016nicolasroard } 9171f04cbaedbb89e313e0b86b531640db2d3f6016nicolasroard 92235d2179374bec14040f20af91dc753e38ea3639John Hoford @Override 9371f04cbaedbb89e313e0b86b531640db2d3f6016nicolasroard public int getValue() { 9471f04cbaedbb89e313e0b86b531640db2d3f6016nicolasroard return mValue; 9571f04cbaedbb89e313e0b86b531640db2d3f6016nicolasroard } 9671f04cbaedbb89e313e0b86b531640db2d3f6016nicolasroard 97235d2179374bec14040f20af91dc753e38ea3639John Hoford @Override 9871f04cbaedbb89e313e0b86b531640db2d3f6016nicolasroard public void setValue(int value) { 9971f04cbaedbb89e313e0b86b531640db2d3f6016nicolasroard mValue = value; 10071f04cbaedbb89e313e0b86b531640db2d3f6016nicolasroard if (mValue < mMinimum) { 10171f04cbaedbb89e313e0b86b531640db2d3f6016nicolasroard mValue = mMinimum; 10271f04cbaedbb89e313e0b86b531640db2d3f6016nicolasroard } 10371f04cbaedbb89e313e0b86b531640db2d3f6016nicolasroard if (mValue > mMaximum) { 10471f04cbaedbb89e313e0b86b531640db2d3f6016nicolasroard mValue = mMaximum; 10571f04cbaedbb89e313e0b86b531640db2d3f6016nicolasroard } 10671f04cbaedbb89e313e0b86b531640db2d3f6016nicolasroard } 10771f04cbaedbb89e313e0b86b531640db2d3f6016nicolasroard 108235d2179374bec14040f20af91dc753e38ea3639John Hoford @Override 10971f04cbaedbb89e313e0b86b531640db2d3f6016nicolasroard public int getMaximum() { 11071f04cbaedbb89e313e0b86b531640db2d3f6016nicolasroard return mMaximum; 11171f04cbaedbb89e313e0b86b531640db2d3f6016nicolasroard } 11271f04cbaedbb89e313e0b86b531640db2d3f6016nicolasroard 11371f04cbaedbb89e313e0b86b531640db2d3f6016nicolasroard public void setMaximum(int maximum) { 11471f04cbaedbb89e313e0b86b531640db2d3f6016nicolasroard mMaximum = maximum; 11571f04cbaedbb89e313e0b86b531640db2d3f6016nicolasroard } 11671f04cbaedbb89e313e0b86b531640db2d3f6016nicolasroard 11771f04cbaedbb89e313e0b86b531640db2d3f6016nicolasroard public void setDefaultValue(int defaultValue) { 11871f04cbaedbb89e313e0b86b531640db2d3f6016nicolasroard mDefaultValue = defaultValue; 11971f04cbaedbb89e313e0b86b531640db2d3f6016nicolasroard } 12071f04cbaedbb89e313e0b86b531640db2d3f6016nicolasroard 121235d2179374bec14040f20af91dc753e38ea3639John Hoford @Override 12271f04cbaedbb89e313e0b86b531640db2d3f6016nicolasroard public int getDefaultValue() { 12371f04cbaedbb89e313e0b86b531640db2d3f6016nicolasroard return mDefaultValue; 12471f04cbaedbb89e313e0b86b531640db2d3f6016nicolasroard } 12571f04cbaedbb89e313e0b86b531640db2d3f6016nicolasroard 12671f04cbaedbb89e313e0b86b531640db2d3f6016nicolasroard public int getPreviewValue() { 12771f04cbaedbb89e313e0b86b531640db2d3f6016nicolasroard return mPreviewValue; 12871f04cbaedbb89e313e0b86b531640db2d3f6016nicolasroard } 12971f04cbaedbb89e313e0b86b531640db2d3f6016nicolasroard 13071f04cbaedbb89e313e0b86b531640db2d3f6016nicolasroard public void setPreviewValue(int previewValue) { 13171f04cbaedbb89e313e0b86b531640db2d3f6016nicolasroard mPreviewValue = previewValue; 13271f04cbaedbb89e313e0b86b531640db2d3f6016nicolasroard } 1332562a98c156a55b51239fea383838a11a0292c0enicolasroard 134235d2179374bec14040f20af91dc753e38ea3639John Hoford @Override 1352562a98c156a55b51239fea383838a11a0292c0enicolasroard public String getStateRepresentation() { 1362562a98c156a55b51239fea383838a11a0292c0enicolasroard return "" + getValue(); 1372562a98c156a55b51239fea383838a11a0292c0enicolasroard } 138235d2179374bec14040f20af91dc753e38ea3639John Hoford 139235d2179374bec14040f20af91dc753e38ea3639John Hoford @Override 140235d2179374bec14040f20af91dc753e38ea3639John Hoford public String getParameterType(){ 141235d2179374bec14040f20af91dc753e38ea3639John Hoford return sParameterType; 142235d2179374bec14040f20af91dc753e38ea3639John Hoford } 143235d2179374bec14040f20af91dc753e38ea3639John Hoford 144235d2179374bec14040f20af91dc753e38ea3639John Hoford @Override 145235d2179374bec14040f20af91dc753e38ea3639John Hoford public void setController(Control control) { 146235d2179374bec14040f20af91dc753e38ea3639John Hoford } 147235d2179374bec14040f20af91dc753e38ea3639John Hoford 148235d2179374bec14040f20af91dc753e38ea3639John Hoford @Override 149235d2179374bec14040f20af91dc753e38ea3639John Hoford public String getValueString() { 150235d2179374bec14040f20af91dc753e38ea3639John Hoford return getStateRepresentation(); 151235d2179374bec14040f20af91dc753e38ea3639John Hoford } 152235d2179374bec14040f20af91dc753e38ea3639John Hoford 153235d2179374bec14040f20af91dc753e38ea3639John Hoford @Override 154235d2179374bec14040f20af91dc753e38ea3639John Hoford public String getParameterName() { 155235d2179374bec14040f20af91dc753e38ea3639John Hoford return getName(); 156235d2179374bec14040f20af91dc753e38ea3639John Hoford } 15771f04cbaedbb89e313e0b86b531640db2d3f6016nicolasroard} 158