grim/guifications3
Clone
Summary
Browse
Changes
Graph
include gflib/gf_intl.h since it's no longer included via gf_lib.h
cmake
2010-12-20, Gary Kramlich
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 */