1 /******************************************************************************* 2 * Copyright 2011 See AUTHORS file. 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.badlogic.gdx.tools.hiero.unicodefont.effects; 18 19 import java.util.List; 20 21 /** An effect that has a number of configuration values. This allows the effect to be configured in the Hiero GUI and to be saved 22 * and loaded to and from a file. 23 * @author Nathan Sweet */ 24 public interface ConfigurableEffect extends Effect { 25 /** Returns the list of {@link Value}s for this effect. This list is not typically backed by the effect, so changes to the 26 * values will not take affect until {@link #setValues(List)} is called. */ getValues()27 public List getValues (); 28 29 /** Sets the list of {@link Value}s for this effect. */ setValues(List values)30 public void setValues (List values); 31 32 /** Represents a configurable value for an effect. */ 33 static public interface Value { 34 /** Returns the name of the value. */ getName()35 public String getName (); 36 37 /** Sets the string representation of the value. */ setString(String value)38 public void setString (String value); 39 40 /** Gets the string representation of the value. */ getString()41 public String getString (); 42 43 /** Gets the object representation of the value. */ getObject()44 public Object getObject (); 45 46 /** Shows a dialog allowing a user to configure this value. */ showDialog()47 public void showDialog (); 48 } 49 } 50