grim/guifications3

e62da38a5799
removed gflib-query-plugins since we're using gplugin now...
/*
* 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/>.
*/
#ifdef HAVE_CONFIG_H
# include <config.h>
#endif /* HAVE_CONFIG_H */
#include <gflib-gtk/gf_gtk_color.h>
#include <gflib-gtk/gf_gtk_gc.h>
/******************************************************************************
* Structs
*****************************************************************************/
/******************************************************************************
* Enums
*****************************************************************************/
enum {
PROP_ZERO = 0,
PROP_LAST
};
/******************************************************************************
* Globals
*****************************************************************************/
static GfGCClass *parent_class = NULL;
/******************************************************************************
* GfGC Stuff
*****************************************************************************/
static void
gf_gtk_gc_set_values(GfGC *gc, GfGCValues *values, GfGCValuesMask mask) {
GfGtkGC *gtk_gc = GF_GTK_GC(gc);
GdkGCValues gdk_values;
g_return_if_fail(GDK_IS_GC(gtk_gc->gdk_gc));
gf_gtk_gc_values_to_gdk_gc_values(values, &gdk_values);
gdk_gc_set_values(gtk_gc->gdk_gc, &gdk_values, mask);
}
static void
gf_gtk_gc_get_values(GfGC *gc, GfGCValues *values) {
GfGtkGC *gtk_gc = GF_GTK_GC(gc);
GdkGCValues gdk_values;
g_return_if_fail(GDK_IS_GC(gtk_gc->gdk_gc));
gdk_gc_get_values(gtk_gc->gdk_gc, &gdk_values);
gf_gtk_gc_values_from_gdk_gc_values(&gdk_values, values);
}
/******************************************************************************
* Object Stuff
*****************************************************************************/
static void
gf_gtk_gc_finalize(GObject *obj) {
GfGtkGC *gc = GF_GTK_GC(obj);
G_OBJECT_CLASS(parent_class)->finalize(obj);
}
static void
gf_gtk_gc_class_init(GfGtkGCClass *klass) {
GfGCClass *gc_class = GF_GC_CLASS(klass);
GObjectClass *obj_class = G_OBJECT_CLASS(klass);
parent_class = g_type_class_peek_parent(klass);
obj_class->finalize = gf_gtk_gc_finalize;
gc_class->set_values = gf_gtk_gc_set_values;
gc_class->get_values = gf_gtk_gc_get_values;
}
/******************************************************************************
* GC API
*****************************************************************************/
GType
gf_gtk_gc_get_gtype(void) {
static GType type = 0;
if(type == 0) {
static const GTypeInfo info = {
sizeof(GfGtkGCClass),
NULL,
NULL,
(GClassInitFunc)gf_gtk_gc_class_init,
NULL,
NULL,
sizeof(GfGtkGC),
0,
NULL,
};
type = g_type_register_static(GF_TYPE_GC,
"GfGtkGC",
&info, 0);
}
return type;
}
/**
* gf_gtk_gc_values_to_gdk_gc_values:
* @gf_values : The #GfGCValues.
* @gdk_values : The #GdkGCValues.
*
* Converts a #GfGCValues to #GdkGCValues.
*/
void
gf_gtk_gc_values_to_gdk_gc_values(const GfGCValues *gf_values,
GdkGCValues *gdk_values)
{
g_return_if_fail(gf_values);
g_return_if_fail(gdk_values);
gf_color_to_gdk_color(&gf_values->foreground, &gdk_values->foreground);
gf_color_to_gdk_color(&gf_values->background, &gdk_values->background);
#warning add font stuff here when we have gf_font_to_string
gdk_values->function = gf_values->function;
gdk_values->fill = gf_values->fill;
#warning add drawable stuff here
gdk_values->subwindow_mode = gf_values->subwindow_mode;
gdk_values->ts_x_origin = gf_values->ts_x_origin;
gdk_values->ts_y_origin = gf_values->ts_y_origin;
gdk_values->clip_x_origin = gf_values->clip_x_origin;
gdk_values->clip_y_origin = gf_values->clip_y_origin;
gdk_values->graphics_exposures = gf_values->exposures;
gdk_values->line_width = gf_values->line_width;
gdk_values->line_style = gf_values->line_style;
gdk_values->cap_style = gf_values->cap_style;
gdk_values->join_style = gf_values->join_style;
}
/**
* gf_gtk_gc_values_from_gdk_gc_values:
* @gdk_values : The #GdkGCValues.
* @gf_values : The #GfGCValues.
*
* Converts a #GdkGCValues to a #GfGCValues.
*/
void
gf_gtk_gc_values_from_gdk_gc_values(const GdkGCValues *gdk_values,
GfGCValues *gf_values)
{
g_return_if_fail(gdk_values);
g_return_if_fail(gf_values);
gf_color_from_gdk_color(&gdk_values->foreground, &gf_values->foreground);
gf_color_from_gdk_color(&gdk_values->background, &gf_values->background);
#warning add font stuff here when we have gf_font_from_string
gf_values->function = gdk_values->function;
gf_values->fill = gdk_values->fill;
#warning add drawable stuff here
gf_values->subwindow_mode = gdk_values->subwindow_mode;
gf_values->ts_x_origin = gdk_values->ts_x_origin;
gf_values->ts_y_origin = gdk_values->ts_y_origin;
gf_values->clip_x_origin = gdk_values->clip_x_origin;
gf_values->clip_y_origin = gdk_values->clip_y_origin;
gf_values->exposures = gdk_values->graphics_exposures;
gf_values->line_width = gdk_values->line_width;
gf_values->line_style = gdk_values->line_style;
gf_values->cap_style = gdk_values->cap_style;
gf_values->join_style = gdk_values->join_style;
}