Home | History | Annotate | Download | only in filters
      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 
     17 package com.android.gallery3d.filtershow.filters;
     18 
     19 import com.android.gallery3d.R;
     20 import com.android.gallery3d.filtershow.editors.EditorVignette;
     21 import com.android.gallery3d.filtershow.imageshow.Oval;
     22 
     23 public class FilterVignetteRepresentation extends FilterBasicRepresentation implements Oval {
     24     private static final String LOGTAG = "FilterVignetteRepresentation";
     25     private float mCenterX = Float.NaN;
     26     private float mCenterY;
     27     private float mRadiusX = Float.NaN;
     28     private float mRadiusY;
     29 
     30     public FilterVignetteRepresentation() {
     31         super("Vignette", -100, 50, 100);
     32         setShowParameterValue(true);
     33         setPriority(FilterRepresentation.TYPE_VIGNETTE);
     34         setTextId(R.string.vignette);
     35         setButtonId(R.id.vignetteEditor);
     36         setEditorId(EditorVignette.ID);
     37         setName("Vignette");
     38         setFilterClass(ImageFilterVignette.class);
     39 
     40         setMinimum(-100);
     41         setMaximum(100);
     42         setDefaultValue(0);
     43     }
     44 
     45     @Override
     46     public void useParametersFrom(FilterRepresentation a) {
     47         super.useParametersFrom(a);
     48         mCenterX = ((FilterVignetteRepresentation) a).mCenterX;
     49         mCenterY = ((FilterVignetteRepresentation) a).mCenterY;
     50         mRadiusX = ((FilterVignetteRepresentation) a).mRadiusX;
     51         mRadiusY = ((FilterVignetteRepresentation) a).mRadiusY;
     52     }
     53 
     54     @Override
     55     public FilterRepresentation clone() throws CloneNotSupportedException {
     56         FilterVignetteRepresentation representation = (FilterVignetteRepresentation) super
     57                 .clone();
     58         representation.mCenterX = mCenterX;
     59         representation.mCenterY = mCenterY;
     60 
     61         return representation;
     62     }
     63 
     64     @Override
     65     public void setCenter(float centerX, float centerY) {
     66         mCenterX = centerX;
     67         mCenterY = centerY;
     68     }
     69 
     70     @Override
     71     public float getCenterX() {
     72         return mCenterX;
     73     }
     74 
     75     @Override
     76     public float getCenterY() {
     77         return mCenterY;
     78     }
     79 
     80     @Override
     81     public void setRadius(float radiusX, float radiusY) {
     82         mRadiusX = radiusX;
     83         mRadiusY = radiusY;
     84     }
     85 
     86     @Override
     87     public void setRadiusX(float radiusX) {
     88         mRadiusX = radiusX;
     89     }
     90 
     91     @Override
     92     public void setRadiusY(float radiusY) {
     93         mRadiusY = radiusY;
     94     }
     95 
     96     @Override
     97     public float getRadiusX() {
     98         return mRadiusX;
     99     }
    100 
    101     @Override
    102     public float getRadiusY() {
    103         return mRadiusY;
    104     }
    105 
    106     public boolean isCenterSet() {
    107         return mCenterX != Float.NaN;
    108     }
    109 
    110     @Override
    111     public boolean isNil() {
    112         return getValue() == 0;
    113     }
    114 }
    115