* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * License along with this library. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef __GTK_BORDER_IMAGE_H__
#define __GTK_BORDER_IMAGE_H__
#include "gtkborder.h"
-#include "gtkgradient.h"
-#include "gtkstyleproperties.h"
+#include "gtkcssimageprivate.h"
+#include "gtkcssvalueprivate.h"
#include "gtkthemingengine.h"
-#include "gtkcsstypesprivate.h"
-#include "gtkstylecontextprivate.h"
G_BEGIN_DECLS
typedef struct _GtkBorderImage GtkBorderImage;
-#define GTK_TYPE_BORDER_IMAGE (_gtk_border_image_get_type ())
+struct _GtkBorderImage {
+ GtkCssImage *source;
-GType _gtk_border_image_get_type (void) G_GNUC_CONST;
+ GtkCssValue *slice;
+ GtkCssValue *width;
+ GtkCssValue *repeat;
+};
-GtkBorderImage * _gtk_border_image_new (cairo_pattern_t *source,
- GtkBorder *slice,
- GtkBorder *width,
- GtkCssBorderImageRepeat *repeat);
-GtkBorderImage * _gtk_border_image_new_for_boxed (GType boxed_type,
- gpointer boxed,
- GtkBorder *slice,
- GtkBorder *width,
- GtkCssBorderImageRepeat *repeat);
-
-GtkBorderImage * _gtk_border_image_ref (GtkBorderImage *image);
-void _gtk_border_image_unref (GtkBorderImage *image);
+gboolean _gtk_border_image_init (GtkBorderImage *image,
+ GtkThemingEngine *engine);
void _gtk_border_image_render (GtkBorderImage *image,
- GtkBorder *border_width,
+ const double border_width[4],
cairo_t *cr,
gdouble x,
gdouble y,
gdouble width,
gdouble height);
-GParameter * _gtk_border_image_unpack (const GValue *value,
- guint *n_params);
-void _gtk_border_image_pack (GValue *value,
- GtkStyleProperties *props,
- GtkStateFlags state);
-
G_END_DECLS
#endif /* __GTK_BORDER_IMAGE_H__ */