FilterColorBorderRepresentation.java revision c9ca6d1eb85a71b7667f4c25d879e78cce16ac4c
192e387187a872b3b0986b378954eb611aa83fdeanicolasroard/* 292e387187a872b3b0986b378954eb611aa83fdeanicolasroard * Copyright (C) 2013 The Android Open Source Project 392e387187a872b3b0986b378954eb611aa83fdeanicolasroard * 492e387187a872b3b0986b378954eb611aa83fdeanicolasroard * Licensed under the Apache License, Version 2.0 (the "License"); 592e387187a872b3b0986b378954eb611aa83fdeanicolasroard * you may not use this file except in compliance with the License. 692e387187a872b3b0986b378954eb611aa83fdeanicolasroard * You may obtain a copy of the License at 792e387187a872b3b0986b378954eb611aa83fdeanicolasroard * 892e387187a872b3b0986b378954eb611aa83fdeanicolasroard * http://www.apache.org/licenses/LICENSE-2.0 992e387187a872b3b0986b378954eb611aa83fdeanicolasroard * 1092e387187a872b3b0986b378954eb611aa83fdeanicolasroard * Unless required by applicable law or agreed to in writing, software 1192e387187a872b3b0986b378954eb611aa83fdeanicolasroard * distributed under the License is distributed on an "AS IS" BASIS, 1292e387187a872b3b0986b378954eb611aa83fdeanicolasroard * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1392e387187a872b3b0986b378954eb611aa83fdeanicolasroard * See the License for the specific language governing permissions and 1492e387187a872b3b0986b378954eb611aa83fdeanicolasroard * limitations under the License. 1592e387187a872b3b0986b378954eb611aa83fdeanicolasroard */ 1692e387187a872b3b0986b378954eb611aa83fdeanicolasroard 1792e387187a872b3b0986b378954eb611aa83fdeanicolasroardpackage com.android.gallery3d.filtershow.filters; 1892e387187a872b3b0986b378954eb611aa83fdeanicolasroard 196900cad45d240c9a54b92991538b6a33652e766cnicolasroardimport com.android.gallery3d.R; 206900cad45d240c9a54b92991538b6a33652e766cnicolasroardimport com.android.gallery3d.filtershow.editors.ImageOnlyEditor; 216900cad45d240c9a54b92991538b6a33652e766cnicolasroard 2292e387187a872b3b0986b378954eb611aa83fdeanicolasroardpublic class FilterColorBorderRepresentation extends FilterRepresentation { 2392e387187a872b3b0986b378954eb611aa83fdeanicolasroard private int mColor; 2492e387187a872b3b0986b378954eb611aa83fdeanicolasroard private int mBorderSize; 2592e387187a872b3b0986b378954eb611aa83fdeanicolasroard private int mBorderRadius; 2692e387187a872b3b0986b378954eb611aa83fdeanicolasroard 2792e387187a872b3b0986b378954eb611aa83fdeanicolasroard public FilterColorBorderRepresentation(int color, int size, int radius) { 2892e387187a872b3b0986b378954eb611aa83fdeanicolasroard super("ColorBorder"); 2992e387187a872b3b0986b378954eb611aa83fdeanicolasroard mColor = color; 3092e387187a872b3b0986b378954eb611aa83fdeanicolasroard mBorderSize = size; 3192e387187a872b3b0986b378954eb611aa83fdeanicolasroard mBorderRadius = radius; 323cb106ddd7ad0f8494ac9c7a33660831c1694295Ruben Brunk setFilterType(FilterRepresentation.TYPE_BORDER); 336900cad45d240c9a54b92991538b6a33652e766cnicolasroard setTextId(R.string.borders); 346900cad45d240c9a54b92991538b6a33652e766cnicolasroard setEditorId(ImageOnlyEditor.ID); 356900cad45d240c9a54b92991538b6a33652e766cnicolasroard setShowParameterValue(false); 3692e387187a872b3b0986b378954eb611aa83fdeanicolasroard } 3792e387187a872b3b0986b378954eb611aa83fdeanicolasroard 3892e387187a872b3b0986b378954eb611aa83fdeanicolasroard public String toString() { 3992e387187a872b3b0986b378954eb611aa83fdeanicolasroard return "FilterBorder: " + getName(); 4092e387187a872b3b0986b378954eb611aa83fdeanicolasroard } 4192e387187a872b3b0986b378954eb611aa83fdeanicolasroard 4292e387187a872b3b0986b378954eb611aa83fdeanicolasroard @Override 4392e387187a872b3b0986b378954eb611aa83fdeanicolasroard public FilterRepresentation clone() throws CloneNotSupportedException { 443cb106ddd7ad0f8494ac9c7a33660831c1694295Ruben Brunk setFilterClass(ImageFilterParametricBorder.class); 4592e387187a872b3b0986b378954eb611aa83fdeanicolasroard FilterColorBorderRepresentation representation = (FilterColorBorderRepresentation) super.clone(); 4692e387187a872b3b0986b378954eb611aa83fdeanicolasroard representation.setName(getName()); 4792e387187a872b3b0986b378954eb611aa83fdeanicolasroard representation.setColor(getColor()); 4892e387187a872b3b0986b378954eb611aa83fdeanicolasroard representation.setBorderSize(getBorderSize()); 4992e387187a872b3b0986b378954eb611aa83fdeanicolasroard representation.setBorderRadius(getBorderRadius()); 5092e387187a872b3b0986b378954eb611aa83fdeanicolasroard return representation; 5192e387187a872b3b0986b378954eb611aa83fdeanicolasroard } 5292e387187a872b3b0986b378954eb611aa83fdeanicolasroard 5392e387187a872b3b0986b378954eb611aa83fdeanicolasroard public void useParametersFrom(FilterRepresentation a) { 5492e387187a872b3b0986b378954eb611aa83fdeanicolasroard if (a instanceof FilterColorBorderRepresentation) { 5592e387187a872b3b0986b378954eb611aa83fdeanicolasroard FilterColorBorderRepresentation representation = (FilterColorBorderRepresentation) a; 5692e387187a872b3b0986b378954eb611aa83fdeanicolasroard setName(representation.getName()); 5792e387187a872b3b0986b378954eb611aa83fdeanicolasroard setColor(representation.getColor()); 5892e387187a872b3b0986b378954eb611aa83fdeanicolasroard setBorderSize(representation.getBorderSize()); 5992e387187a872b3b0986b378954eb611aa83fdeanicolasroard setBorderRadius(representation.getBorderRadius()); 6092e387187a872b3b0986b378954eb611aa83fdeanicolasroard } 6192e387187a872b3b0986b378954eb611aa83fdeanicolasroard } 6292e387187a872b3b0986b378954eb611aa83fdeanicolasroard 6392e387187a872b3b0986b378954eb611aa83fdeanicolasroard @Override 6492e387187a872b3b0986b378954eb611aa83fdeanicolasroard public boolean equals(FilterRepresentation representation) { 6592e387187a872b3b0986b378954eb611aa83fdeanicolasroard if (!super.equals(representation)) { 6692e387187a872b3b0986b378954eb611aa83fdeanicolasroard return false; 6792e387187a872b3b0986b378954eb611aa83fdeanicolasroard } 6892e387187a872b3b0986b378954eb611aa83fdeanicolasroard if (representation instanceof FilterColorBorderRepresentation) { 6992e387187a872b3b0986b378954eb611aa83fdeanicolasroard FilterColorBorderRepresentation border = (FilterColorBorderRepresentation) representation; 7092e387187a872b3b0986b378954eb611aa83fdeanicolasroard if (border.mColor == mColor 7192e387187a872b3b0986b378954eb611aa83fdeanicolasroard && border.mBorderSize == mBorderSize 7292e387187a872b3b0986b378954eb611aa83fdeanicolasroard && border.mBorderRadius == mBorderRadius) { 7392e387187a872b3b0986b378954eb611aa83fdeanicolasroard return true; 7492e387187a872b3b0986b378954eb611aa83fdeanicolasroard } 7592e387187a872b3b0986b378954eb611aa83fdeanicolasroard } 7692e387187a872b3b0986b378954eb611aa83fdeanicolasroard return false; 7792e387187a872b3b0986b378954eb611aa83fdeanicolasroard } 7892e387187a872b3b0986b378954eb611aa83fdeanicolasroard 79c9ca6d1eb85a71b7667f4c25d879e78cce16ac4cztenghui public boolean allowsSingleInstanceOnly() { 8092e387187a872b3b0986b378954eb611aa83fdeanicolasroard return true; 8192e387187a872b3b0986b378954eb611aa83fdeanicolasroard } 8292e387187a872b3b0986b378954eb611aa83fdeanicolasroard 836900cad45d240c9a54b92991538b6a33652e766cnicolasroard @Override 846900cad45d240c9a54b92991538b6a33652e766cnicolasroard public int getTextId() { 856900cad45d240c9a54b92991538b6a33652e766cnicolasroard return R.string.borders; 866900cad45d240c9a54b92991538b6a33652e766cnicolasroard } 876900cad45d240c9a54b92991538b6a33652e766cnicolasroard 8892e387187a872b3b0986b378954eb611aa83fdeanicolasroard public int getColor() { 8992e387187a872b3b0986b378954eb611aa83fdeanicolasroard return mColor; 9092e387187a872b3b0986b378954eb611aa83fdeanicolasroard } 9192e387187a872b3b0986b378954eb611aa83fdeanicolasroard 9292e387187a872b3b0986b378954eb611aa83fdeanicolasroard public void setColor(int color) { 9392e387187a872b3b0986b378954eb611aa83fdeanicolasroard mColor = color; 9492e387187a872b3b0986b378954eb611aa83fdeanicolasroard } 9592e387187a872b3b0986b378954eb611aa83fdeanicolasroard 9692e387187a872b3b0986b378954eb611aa83fdeanicolasroard public int getBorderSize() { 9792e387187a872b3b0986b378954eb611aa83fdeanicolasroard return mBorderSize; 9892e387187a872b3b0986b378954eb611aa83fdeanicolasroard } 9992e387187a872b3b0986b378954eb611aa83fdeanicolasroard 10092e387187a872b3b0986b378954eb611aa83fdeanicolasroard public void setBorderSize(int borderSize) { 10192e387187a872b3b0986b378954eb611aa83fdeanicolasroard mBorderSize = borderSize; 10292e387187a872b3b0986b378954eb611aa83fdeanicolasroard } 10392e387187a872b3b0986b378954eb611aa83fdeanicolasroard 10492e387187a872b3b0986b378954eb611aa83fdeanicolasroard public int getBorderRadius() { 10592e387187a872b3b0986b378954eb611aa83fdeanicolasroard return mBorderRadius; 10692e387187a872b3b0986b378954eb611aa83fdeanicolasroard } 10792e387187a872b3b0986b378954eb611aa83fdeanicolasroard 10892e387187a872b3b0986b378954eb611aa83fdeanicolasroard public void setBorderRadius(int borderRadius) { 10992e387187a872b3b0986b378954eb611aa83fdeanicolasroard mBorderRadius = borderRadius; 11092e387187a872b3b0986b378954eb611aa83fdeanicolasroard } 11192e387187a872b3b0986b378954eb611aa83fdeanicolasroard} 112