FilterTinyPlanetRepresentation.java revision afa8ed9d46e760d4b0c0331cfcb4bb49ef6ba280
144a499a64158cd5a12f8e44655f82b68c33bf3b2John Hoford/* 244a499a64158cd5a12f8e44655f82b68c33bf3b2John Hoford * Copyright (C) 2012 The Android Open Source Project 344a499a64158cd5a12f8e44655f82b68c33bf3b2John Hoford * 444a499a64158cd5a12f8e44655f82b68c33bf3b2John Hoford * Licensed under the Apache License, Version 2.0 (the "License"); 544a499a64158cd5a12f8e44655f82b68c33bf3b2John Hoford * you may not use this file except in compliance with the License. 644a499a64158cd5a12f8e44655f82b68c33bf3b2John Hoford * You may obtain a copy of the License at 744a499a64158cd5a12f8e44655f82b68c33bf3b2John Hoford * 844a499a64158cd5a12f8e44655f82b68c33bf3b2John Hoford * http://www.apache.org/licenses/LICENSE-2.0 944a499a64158cd5a12f8e44655f82b68c33bf3b2John Hoford * 1044a499a64158cd5a12f8e44655f82b68c33bf3b2John Hoford * Unless required by applicable law or agreed to in writing, software 1144a499a64158cd5a12f8e44655f82b68c33bf3b2John Hoford * distributed under the License is distributed on an "AS IS" BASIS, 1244a499a64158cd5a12f8e44655f82b68c33bf3b2John Hoford * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1344a499a64158cd5a12f8e44655f82b68c33bf3b2John Hoford * See the License for the specific language governing permissions and 1444a499a64158cd5a12f8e44655f82b68c33bf3b2John Hoford * limitations under the License. 1544a499a64158cd5a12f8e44655f82b68c33bf3b2John Hoford */ 1644a499a64158cd5a12f8e44655f82b68c33bf3b2John Hoford 1744a499a64158cd5a12f8e44655f82b68c33bf3b2John Hofordpackage com.android.gallery3d.filtershow.filters; 1844a499a64158cd5a12f8e44655f82b68c33bf3b2John Hoford 196900cad45d240c9a54b92991538b6a33652e766cnicolasroardimport com.android.gallery3d.R; 206900cad45d240c9a54b92991538b6a33652e766cnicolasroardimport com.android.gallery3d.filtershow.editors.EditorTinyPlanet; 2144a499a64158cd5a12f8e44655f82b68c33bf3b2John Hoford 2244a499a64158cd5a12f8e44655f82b68c33bf3b2John Hofordpublic class FilterTinyPlanetRepresentation extends FilterBasicRepresentation { 23afa8ed9d46e760d4b0c0331cfcb4bb49ef6ba280John Hoford private static final String SERIALIZATION_NAME = "TINYPLANET"; 2444a499a64158cd5a12f8e44655f82b68c33bf3b2John Hoford private static final String LOGTAG = "FilterTinyPlanetRepresentation"; 25afa8ed9d46e760d4b0c0331cfcb4bb49ef6ba280John Hoford private static final String SERIAL_ANGLE = "Angle"; 2644a499a64158cd5a12f8e44655f82b68c33bf3b2John Hoford private float mAngle = 0; 2744a499a64158cd5a12f8e44655f82b68c33bf3b2John Hoford 2844a499a64158cd5a12f8e44655f82b68c33bf3b2John Hoford public FilterTinyPlanetRepresentation() { 2944a499a64158cd5a12f8e44655f82b68c33bf3b2John Hoford super("TinyPlanet", 0, 50, 100); 30afa8ed9d46e760d4b0c0331cfcb4bb49ef6ba280John Hoford setSerializationName(SERIALIZATION_NAME); 3144a499a64158cd5a12f8e44655f82b68c33bf3b2John Hoford setShowParameterValue(true); 326900cad45d240c9a54b92991538b6a33652e766cnicolasroard setFilterClass(ImageFilterTinyPlanet.class); 33f60760478ec7c78446be0e0c6bc5502d1557974cnicolasroard setPriority(FilterRepresentation.TYPE_TINYPLANET); 346900cad45d240c9a54b92991538b6a33652e766cnicolasroard setTextId(R.string.tinyplanet); 356900cad45d240c9a54b92991538b6a33652e766cnicolasroard setButtonId(R.id.tinyplanetButton); 366900cad45d240c9a54b92991538b6a33652e766cnicolasroard setEditorId(EditorTinyPlanet.ID); 3744a499a64158cd5a12f8e44655f82b68c33bf3b2John Hoford } 3844a499a64158cd5a12f8e44655f82b68c33bf3b2John Hoford 3944a499a64158cd5a12f8e44655f82b68c33bf3b2John Hoford @Override 4044a499a64158cd5a12f8e44655f82b68c33bf3b2John Hoford public FilterRepresentation clone() throws CloneNotSupportedException { 4144a499a64158cd5a12f8e44655f82b68c33bf3b2John Hoford FilterTinyPlanetRepresentation representation = (FilterTinyPlanetRepresentation) super 4244a499a64158cd5a12f8e44655f82b68c33bf3b2John Hoford .clone(); 4344a499a64158cd5a12f8e44655f82b68c33bf3b2John Hoford representation.mAngle = mAngle; 4444a499a64158cd5a12f8e44655f82b68c33bf3b2John Hoford representation.setZoom(getZoom()); 4544a499a64158cd5a12f8e44655f82b68c33bf3b2John Hoford return representation; 4644a499a64158cd5a12f8e44655f82b68c33bf3b2John Hoford } 4744a499a64158cd5a12f8e44655f82b68c33bf3b2John Hoford 4844a499a64158cd5a12f8e44655f82b68c33bf3b2John Hoford public void setAngle(float angle) { 4944a499a64158cd5a12f8e44655f82b68c33bf3b2John Hoford mAngle = angle; 5044a499a64158cd5a12f8e44655f82b68c33bf3b2John Hoford } 5144a499a64158cd5a12f8e44655f82b68c33bf3b2John Hoford 5244a499a64158cd5a12f8e44655f82b68c33bf3b2John Hoford public float getAngle() { 5344a499a64158cd5a12f8e44655f82b68c33bf3b2John Hoford return mAngle; 5444a499a64158cd5a12f8e44655f82b68c33bf3b2John Hoford } 5544a499a64158cd5a12f8e44655f82b68c33bf3b2John Hoford 5644a499a64158cd5a12f8e44655f82b68c33bf3b2John Hoford public int getZoom() { 5744a499a64158cd5a12f8e44655f82b68c33bf3b2John Hoford return getValue(); 5844a499a64158cd5a12f8e44655f82b68c33bf3b2John Hoford } 5944a499a64158cd5a12f8e44655f82b68c33bf3b2John Hoford 6044a499a64158cd5a12f8e44655f82b68c33bf3b2John Hoford public void setZoom(int zoom) { 6144a499a64158cd5a12f8e44655f82b68c33bf3b2John Hoford setValue(zoom); 6244a499a64158cd5a12f8e44655f82b68c33bf3b2John Hoford } 636900cad45d240c9a54b92991538b6a33652e766cnicolasroard 646900cad45d240c9a54b92991538b6a33652e766cnicolasroard public boolean isNil() { 656900cad45d240c9a54b92991538b6a33652e766cnicolasroard // TinyPlanet always has an effect 666900cad45d240c9a54b92991538b6a33652e766cnicolasroard return false; 676900cad45d240c9a54b92991538b6a33652e766cnicolasroard } 68afa8ed9d46e760d4b0c0331cfcb4bb49ef6ba280John Hoford 69afa8ed9d46e760d4b0c0331cfcb4bb49ef6ba280John Hoford @Override 70afa8ed9d46e760d4b0c0331cfcb4bb49ef6ba280John Hoford public String[][] serializeRepresentation() { 71afa8ed9d46e760d4b0c0331cfcb4bb49ef6ba280John Hoford String[][] ret = { 72afa8ed9d46e760d4b0c0331cfcb4bb49ef6ba280John Hoford {SERIAL_NAME , getName() }, 73afa8ed9d46e760d4b0c0331cfcb4bb49ef6ba280John Hoford {SERIAL_VALUE , Integer.toString(getValue())}, 74afa8ed9d46e760d4b0c0331cfcb4bb49ef6ba280John Hoford {SERIAL_ANGLE , Float.toString(mAngle)}}; 75afa8ed9d46e760d4b0c0331cfcb4bb49ef6ba280John Hoford return ret; 76afa8ed9d46e760d4b0c0331cfcb4bb49ef6ba280John Hoford } 77afa8ed9d46e760d4b0c0331cfcb4bb49ef6ba280John Hoford 78afa8ed9d46e760d4b0c0331cfcb4bb49ef6ba280John Hoford @Override 79afa8ed9d46e760d4b0c0331cfcb4bb49ef6ba280John Hoford public void deSerializeRepresentation(String[][] rep) { 80afa8ed9d46e760d4b0c0331cfcb4bb49ef6ba280John Hoford super.deSerializeRepresentation(rep); 81afa8ed9d46e760d4b0c0331cfcb4bb49ef6ba280John Hoford for (int i = 0; i < rep.length; i++) { 82afa8ed9d46e760d4b0c0331cfcb4bb49ef6ba280John Hoford if (SERIAL_VALUE.equals(rep[i][0])) { 83afa8ed9d46e760d4b0c0331cfcb4bb49ef6ba280John Hoford setValue(Integer.parseInt(rep[i][1])); 84afa8ed9d46e760d4b0c0331cfcb4bb49ef6ba280John Hoford } else if (SERIAL_ANGLE.equals(rep[i][0])) { 85afa8ed9d46e760d4b0c0331cfcb4bb49ef6ba280John Hoford setAngle(Float.parseFloat(rep[i][1])); 86afa8ed9d46e760d4b0c0331cfcb4bb49ef6ba280John Hoford } 87afa8ed9d46e760d4b0c0331cfcb4bb49ef6ba280John Hoford } 88afa8ed9d46e760d4b0c0331cfcb4bb49ef6ba280John Hoford } 8944a499a64158cd5a12f8e44655f82b68c33bf3b2John Hoford} 90