grim/guifications3

1eb207f1d7ef
include gflib/gf_intl.h since it's no longer included via gf_lib.h
/*
* Guifications - The end-all, be-all notification framework
* Copyright (C) 2003-2009 Gary Kramlich <grim@reaperworld.com>
*
* This program 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.
*
* This program 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 this program. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef GF_DRAWABLE_H
#define GF_DRAWABLE_H
#define GF_TYPE_DRAWABLE (gf_drawable_get_gtype())
#define GF_DRAWABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), GF_TYPE_DRAWABLE, GfDrawable))
#define GF_DRAWABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), GF_TYPE_DRAWABLE, GfDrawableClass))
#define GF_IS_DRAWABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), GF_TYPE_DRAWABLE))
#define GF_IS_DRAWABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), GF_TYPE_DRAWABLE))
#define GF_DRAWABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), GF_TYPE_DRAWABLE, GfDrawableClass))
typedef struct _GfDrawable GfDrawable;
typedef struct _GfDrawableClass GfDrawableClass;
#include <gflib/gf_object.h>
#include <gflib-ui/gf_color.h>
#include <gflib-ui/gf_font.h>
#include <gflib-ui/gf_gc.h>
#include <gflib-ui/gf_primitives.h>
struct _GfDrawable {
GfObject parent;
void (*_gf_reserved1)(void);
void (*_gf_reserved2)(void);
void (*_gf_reserved3)(void);
void (*_gf_reserved4)(void);
};
struct _GfDrawableClass {
GfObjectClass parent;
GfGC *(*create_gc)(GfDrawable *drawable, GfGCValues *values, GfGCValuesMask mask);
void (*draw_rectangle)(GfDrawable *drawable, GfGC *gc, gboolean filled, gint x, gint y, gint width, gint height);
void (*draw_arc)(GfDrawable *drawable, GfGC *gc, gboolean filled, gint x, gint y, gint width, gint height, gint angle1, gint angle2);
void (*draw_polygon)(GfDrawable *drawable, GfGC *gc, gboolean filled, GfPoint *points, gint npoints);
void (*draw_text)(GfDrawable *drawable, const GfFont *font, GfGC *gc, gint x, gint y, const gchar *text, gint text_length);
void (*draw_drawable)(GfDrawable *drawable, GfGC *gc, GfDrawable *src, gint xsrc, gint ysrc, gint xdest, gint ydest, gint width, gint height);
void (*draw_points)(GfDrawable *drawable, GfGC *gc, GfPoint *points, gint npoints);
void (*draw_segments)(GfDrawable *drawable, GfGC *gc, GfSegment *segs, gint nsegs);
void (*draw_lines)(GfDrawable *drawable, GfGC *gc, GfPoint *points, gint npoints);
gint (*get_depth)(const GfDrawable *drawable);
void (*get_size)(const GfDrawable *drawable, gint *width, gint *height);
GfColormap *(*get_colormap)(const GfDrawable *drawable);
void (*set_colormap)(GfDrawable *drawable, GfColormap *colormap);
void (*_gf_reserved1)(void);
void (*_gf_reserved2)(void);
void (*_gf_reserved3)(void);
void (*_gf_reserved4)(void);
void (*_gf_reserved5)(void);
void (*_gf_reserved6)(void);
void (*_gf_reserved7)(void);
void (*_gf_reserved8)(void);
void (*_gf_reserved9)(void);
void (*_gf_reserved10)(void);
void (*_gf_reserved11)(void);
void (*_gf_reserved12)(void);
};
G_BEGIN_DECLS
GType gf_drawable_get_gtype(void);
void gf_drawable_get_size(const GfDrawable *drawable, gint *width, gint *height);
gint gf_drawable_get_depth(const GfDrawable *drawable);
GfColormap *gf_drawable_get_colormap(const GfDrawable *drawable);
void gf_drawable_set_colormap(GfDrawable *drawable, GfColormap *colormap);
void gf_draw_point(GfDrawable *drawable, GfGC *gc, gint x, gint y);
void gf_draw_line(GfDrawable *drawable, GfGC *gc, gint x1, gint y1, gint x2, gint y2);
void gf_draw_rectangle(GfDrawable *drawable, GfGC *gc, gboolean filled, gint x, gint y, gint width, gint height);
void gf_draw_arc(GfDrawable *drawable, GfGC *gc, gboolean filled, gint x, gint y, gint width, gint height, gint angle1, gint angle2);
void gf_draw_polygon(GfDrawable *drawable, GfGC *gc, gboolean filled, GfPoint *points, gint npoints);
void gf_draw_text(GfDrawable *drawable, const GfFont *font, GfGC *gc, gint x, gint y, const gchar *text, gint text_len);
void gf_draw_drawable(GfDrawable *drawable, GfGC *gc, GfDrawable *src, gint xsrc, gint ysrc, gint xdest, gint ydest, gint width, gint height);
void gf_draw_points(GfDrawable *drawable, GfGC *gc, GfPoint *points, gint npoints);
void gf_draw_segments(GfDrawable *drawable, GfGC *gc, GfSegment *segs, gint nsegs);
void gf_draw_lines(GfDrawable *drawable, GfGC *gc, GfPoint *points, gint npoints);
G_END_DECLS
#endif /* GF_DRAWABLE_H */