grim/guifications3
Clone
Summary
Browse
Changes
Graph
removed gflib-query-plugins since we're using gplugin now...
default
tip
2012-04-30, Gary Kramlich
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
;
}