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}