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 FilterImageBorderRepresentation extends FilterRepresentation { 2392e387187a872b3b0986b378954eb611aa83fdeanicolasroard private int mDrawableResource = 0; 2492e387187a872b3b0986b378954eb611aa83fdeanicolasroard 25588c30c74178bc399b043a5401f0c1f93ae22378nicolasroard public FilterImageBorderRepresentation(int drawableResource) { 2692e387187a872b3b0986b378954eb611aa83fdeanicolasroard super("ImageBorder"); 2792e387187a872b3b0986b378954eb611aa83fdeanicolasroard setFilterClass(ImageFilterBorder.class); 283cb106ddd7ad0f8494ac9c7a33660831c1694295Ruben Brunk mDrawableResource = drawableResource; 293cb106ddd7ad0f8494ac9c7a33660831c1694295Ruben Brunk setFilterType(FilterRepresentation.TYPE_BORDER); 306900cad45d240c9a54b92991538b6a33652e766cnicolasroard setTextId(R.string.borders); 316900cad45d240c9a54b92991538b6a33652e766cnicolasroard setEditorId(ImageOnlyEditor.ID); 326900cad45d240c9a54b92991538b6a33652e766cnicolasroard setShowParameterValue(false); 3392e387187a872b3b0986b378954eb611aa83fdeanicolasroard } 3492e387187a872b3b0986b378954eb611aa83fdeanicolasroard 3592e387187a872b3b0986b378954eb611aa83fdeanicolasroard public String toString() { 3692e387187a872b3b0986b378954eb611aa83fdeanicolasroard return "FilterBorder: " + getName(); 3792e387187a872b3b0986b378954eb611aa83fdeanicolasroard } 3892e387187a872b3b0986b378954eb611aa83fdeanicolasroard 3992e387187a872b3b0986b378954eb611aa83fdeanicolasroard @Override 403f0034140c165b86fbaf5c0369f39431548308e9John Hoford public FilterRepresentation copy() { 413f0034140c165b86fbaf5c0369f39431548308e9John Hoford FilterImageBorderRepresentation representation = 423f0034140c165b86fbaf5c0369f39431548308e9John Hoford new FilterImageBorderRepresentation(mDrawableResource); 433f0034140c165b86fbaf5c0369f39431548308e9John Hoford copyAllParameters(representation); 4492e387187a872b3b0986b378954eb611aa83fdeanicolasroard return representation; 4592e387187a872b3b0986b378954eb611aa83fdeanicolasroard } 4692e387187a872b3b0986b378954eb611aa83fdeanicolasroard 473f0034140c165b86fbaf5c0369f39431548308e9John Hoford @Override 483f0034140c165b86fbaf5c0369f39431548308e9John Hoford protected void copyAllParameters(FilterRepresentation representation) { 493f0034140c165b86fbaf5c0369f39431548308e9John Hoford super.copyAllParameters(representation); 503f0034140c165b86fbaf5c0369f39431548308e9John Hoford representation.useParametersFrom(this); 513f0034140c165b86fbaf5c0369f39431548308e9John Hoford } 523f0034140c165b86fbaf5c0369f39431548308e9John Hoford 5392e387187a872b3b0986b378954eb611aa83fdeanicolasroard public void useParametersFrom(FilterRepresentation a) { 5492e387187a872b3b0986b378954eb611aa83fdeanicolasroard if (a instanceof FilterImageBorderRepresentation) { 5592e387187a872b3b0986b378954eb611aa83fdeanicolasroard FilterImageBorderRepresentation representation = (FilterImageBorderRepresentation) a; 5692e387187a872b3b0986b378954eb611aa83fdeanicolasroard setName(representation.getName()); 5792e387187a872b3b0986b378954eb611aa83fdeanicolasroard setDrawableResource(representation.getDrawableResource()); 5892e387187a872b3b0986b378954eb611aa83fdeanicolasroard } 5992e387187a872b3b0986b378954eb611aa83fdeanicolasroard } 6092e387187a872b3b0986b378954eb611aa83fdeanicolasroard 6192e387187a872b3b0986b378954eb611aa83fdeanicolasroard @Override 6292e387187a872b3b0986b378954eb611aa83fdeanicolasroard public boolean equals(FilterRepresentation representation) { 6392e387187a872b3b0986b378954eb611aa83fdeanicolasroard if (!super.equals(representation)) { 6492e387187a872b3b0986b378954eb611aa83fdeanicolasroard return false; 6592e387187a872b3b0986b378954eb611aa83fdeanicolasroard } 6692e387187a872b3b0986b378954eb611aa83fdeanicolasroard if (representation instanceof FilterImageBorderRepresentation) { 6792e387187a872b3b0986b378954eb611aa83fdeanicolasroard FilterImageBorderRepresentation border = (FilterImageBorderRepresentation) representation; 6892e387187a872b3b0986b378954eb611aa83fdeanicolasroard if (border.mDrawableResource == mDrawableResource) { 6992e387187a872b3b0986b378954eb611aa83fdeanicolasroard return true; 7092e387187a872b3b0986b378954eb611aa83fdeanicolasroard } 7192e387187a872b3b0986b378954eb611aa83fdeanicolasroard } 7292e387187a872b3b0986b378954eb611aa83fdeanicolasroard return false; 7392e387187a872b3b0986b378954eb611aa83fdeanicolasroard } 7492e387187a872b3b0986b378954eb611aa83fdeanicolasroard 756900cad45d240c9a54b92991538b6a33652e766cnicolasroard @Override 766900cad45d240c9a54b92991538b6a33652e766cnicolasroard public int getTextId() { 7733de212ec780eaf2bc8d86908f07da33ea8dd7f2John Hoford return R.string.none; 786900cad45d240c9a54b92991538b6a33652e766cnicolasroard } 796900cad45d240c9a54b92991538b6a33652e766cnicolasroard 80c9ca6d1eb85a71b7667f4c25d879e78cce16ac4cztenghui public boolean allowsSingleInstanceOnly() { 8192e387187a872b3b0986b378954eb611aa83fdeanicolasroard return true; 8292e387187a872b3b0986b378954eb611aa83fdeanicolasroard } 8392e387187a872b3b0986b378954eb611aa83fdeanicolasroard 8492e387187a872b3b0986b378954eb611aa83fdeanicolasroard public int getDrawableResource() { 8592e387187a872b3b0986b378954eb611aa83fdeanicolasroard return mDrawableResource; 8692e387187a872b3b0986b378954eb611aa83fdeanicolasroard } 8792e387187a872b3b0986b378954eb611aa83fdeanicolasroard 8892e387187a872b3b0986b378954eb611aa83fdeanicolasroard public void setDrawableResource(int drawableResource) { 8992e387187a872b3b0986b378954eb611aa83fdeanicolasroard mDrawableResource = drawableResource; 9092e387187a872b3b0986b378954eb611aa83fdeanicolasroard } 9192e387187a872b3b0986b378954eb611aa83fdeanicolasroard} 92