/* This file is part of JFLICKS. JFLICKS is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. JFLICKS is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with JFLICKS. If not, see <http://www.gnu.org/licenses/>. */ package org.jflicks.ui.view.fe; import java.awt.Color; import java.awt.Font; /** * This interface details all the supported customizable properties that * a class may want to allow. * * @author Doug Barnum * @version 1.0 */ public interface Customize { /** * A default for a small font size (28.0). */ double SMALL_FONT_SIZE = 22.0; /** * A default for a medium font size (34.0). */ double MEDIUM_FONT_SIZE = 30.0; /** * A default for a large font size (38.0). */ double LARGE_FONT_SIZE = 38.0; /** * A default for a small font family. We use the default system "Dialog". */ String SMALL_FONT_FAMILY = "Dialog"; /** * A default for a medium font family. We use the default system "Dialog". */ String MEDIUM_FONT_FAMILY = "Dialog"; /** * A default for a large font family. We use the default system "Dialog". */ String LARGE_FONT_FAMILY = "Dialog"; /** * A default style for a small font. We use the default "PLAIN". */ int SMALL_FONT_STYLE = Font.PLAIN; /** * A default style for a medium font. We use the default "PLAIN". */ int MEDIUM_FONT_STYLE = Font.PLAIN; /** * A default style for a large font. We use the default "PLAIN". */ int LARGE_FONT_STYLE = Font.PLAIN; /** * A default for unselected color (Color.LIGHT_GRAY). */ Color UNSELECTED_COLOR = Color.LIGHT_GRAY; /** * A default for selected color (Color.WHITE). */ Color SELECTED_COLOR = Color.WHITE; /** * A default for the highlight color (Color.RED). */ Color HIGHLIGHT_COLOR = Color.RED; /** * A default for the info popup text color (Color.BLACK). */ Color INFO_COLOR = Color.BLACK; /** * A default for the panel color (Color.DARK_GRAY). */ Color PANEL_COLOR = Color.DARK_GRAY; /** * A default value for the panel alpha (default 0.65). */ double PANEL_ALPHA = 0.65; /** * A UI might have a notion of a selected color, to allow the user a way * to see an item is selected. * * @return A Color instance. */ Color getSelectedColor(); /** * A UI might have a notion of a selected color, to allow the user a way * to see an item is selected. * * @param c A Color instance. */ void setSelectedColor(Color c); /** * A UI might have a notion of an unselected color, to allow the user a way * to see an item is selected. * * @return A Color instance. */ Color getUnselectedColor(); /** * A UI might have a notion of an unselected color, to allow the user a way * to see an item is selected. * * @param c A Color instance. */ void setUnselectedColor(Color c); /** * Sometimes a UI component needs to be highlighted with a color. * * @return A Color instance. */ Color getHighlightColor(); /** * Sometimes a UI component needs to be highlighted with a color. * * @param c A Color instance. */ void setHighlightColor(Color c); /** * Popup windows can have a different text color. * * @return A Color instance. */ Color getInfoColor(); /** * Popup windows can have a different text color. * * @param c A Color instance. */ void setInfoColor(Color c); /** * A UI component that draws some sort of background can use the Panel * color property. * * @return A Color instance. */ Color getPanelColor(); /** * A UI component that draws some sort of background can use the Panel * color property. * * @param c A Color instance. */ void setPanelColor(Color c); /** * The panel of the component has an alpha value. * * @return A double value in the range 0.0 - 1.0. */ double getPanelAlpha(); /** * The panel of the component has an alpha value. * * @param d A double value in the range 0.0 - 1.0. */ void setPanelAlpha(double d); /** * Any UI component might have the need for a small font. * * @return A Font instance. */ Font getSmallFont(); /** * Any UI component might have the need for a small font. * * @param f A Font instance. */ void setSmallFont(Font f); /** * Any UI component might have the need for a medium font. * * @return A Font instance. */ Font getMediumFont(); /** * Any UI component might have the need for a medium font. * * @param f A Font instance. */ void setMediumFont(Font f); /** * Any UI component might have the need for a large font. * * @return A Font instance. */ Font getLargeFont(); /** * Any UI component might have the need for a large font. * * @param f A Font instance. */ void setLargeFont(Font f); /** * The font has a small size. * * @return A double primitive for the small point size of the font. */ double getSmallFontSize(); /** * The font has a small size. * * @param d A double primitive for the small point size of the font. */ void setSmallFontSize(double d); /** * The font has a medium size. * * @return A double primitive for the medium point size of the font. */ double getMediumFontSize(); /** * The font has a medium size. * * @param d A double primitive for the medium point size of the font. */ void setMediumFontSize(double d); /** * The font has a large size. * * @return A double primitive for the large point size of the font. */ double getLargeFontSize(); /** * The font has a large size. * * @param d A double primitive for the large point size of the font. */ void setLargeFontSize(double d); /** * The small font has a family name. * * @return A String instance. */ String getSmallFontFamily(); /** * The small font has a family name. * * @param s A String instance. */ void setSmallFontFamily(String s); /** * The medium font has a family name. * * @return A String instance. */ String getMediumFontFamily(); /** * The medium font has a family name. * * @param s A String instance. */ void setMediumFontFamily(String s); /** * The large font has a family name. * * @return A String instance. */ String getLargeFontFamily(); /** * The large font has a family name. * * @param s A String instance. */ void setLargeFontFamily(String s); /** * The small font has a family name. * * @return An int value. */ int getSmallFontStyle(); /** * The small font has a style. * * @param i An int value. */ void setSmallFontStyle(int i); /** * The medium font has a style. * * @return An int value. */ int getMediumFontStyle(); /** * The medium font has a style. * * @param i An int value. */ void setMediumFontStyle(int i); /** * The large font has a family name. * * @return An int value. */ int getLargeFontStyle(); /** * The large font has a family name. * * @param i An int value. */ void setLargeFontStyle(int i); /** * Preference of user whether or not to use any fancy effects. * * @return True if effects are OK. */ boolean isEffects(); /** * Preference of user whether or not to use any fancy effects. * * @param b True if effects are OK. */ void setEffects(boolean b); }