001/*
002 * $Id: BackgroundPaintable.java 4188 2012-06-27 14:21:10Z kschaefe $
003 *
004 * Copyright 2010 Sun Microsystems, Inc., 4150 Network Circle,
005 * Santa Clara, California 95054, U.S.A. All rights reserved.
006 *
007 * This library is free software; you can redistribute it and/or
008 * modify it under the terms of the GNU Lesser General Public
009 * License as published by the Free Software Foundation; either
010 * version 2.1 of the License, or (at your option) any later version.
011 * 
012 * This library is distributed in the hope that it will be useful,
013 * but WITHOUT ANY WARRANTY; without even the implied warranty of
014 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
015 * Lesser General Public License for more details.
016 * 
017 * You should have received a copy of the GNU Lesser General Public
018 * License along with this library; if not, write to the Free Software
019 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
020 */
021package org.jdesktop.swingx;
022
023import org.jdesktop.swingx.painter.Painter;
024
025/**
026 * An interface to define the common methods that are required for defining a background painter.
027 * 
028 * @author kschaefer
029 */
030@SuppressWarnings("rawtypes")
031interface BackgroundPaintable {
032    /**
033     * Returns the current background painter.
034     * 
035     * @return the current painter
036     * @see #setBackgroundPainter(Painter)
037     * @see #isPaintBorderInsets()
038     */
039    Painter getBackgroundPainter();
040    
041    /**
042     * Sets the new background painter.
043     * 
044     * @param painter the new background painter; may be {@code null}
045     */
046    void setBackgroundPainter(Painter painter);
047    
048    /**
049     * Determines whether this component paints its background paint underneath the border.
050     * 
051     * @return {@code true} to paint under the border; {@code false} otherwise
052     */
053    boolean isPaintBorderInsets();
054    
055    /**
056     * 
057     * @param paintBorderInsets
058     */
059    void setPaintBorderInsets(boolean paintBorderInsets);
060}