gtk/gdk/nanox/gdkgc-nanox.c

104 lines
2.4 KiB
C
Raw Normal View History

#include "gdkprivate-nanox.h"
static void gdk_nanox_gc_destroy (GdkGC *gc);
static void gdk_nanox_gc_get_values (GdkGC *gc,
GdkGCValues *values);
static void gdk_nanox_gc_set_values (GdkGC *gc,
GdkGCValues *values,
GdkGCValuesMask values_mask);
static void gdk_nanox_gc_set_dashes (GdkGC *gc,
gint dash_offset,
gchar dash_list[],
gint n);
static GdkGCClass gdk_nanox_gc_class = {
gdk_nanox_gc_destroy,
gdk_nanox_gc_get_values,
gdk_nanox_gc_set_values,
gdk_nanox_gc_set_dashes
};
GdkGC *
_gdk_nanox_gc_new (GdkDrawable *drawable,
GdkGCValues *values,
GdkGCValuesMask values_mask)
{
GdkGC *gc;
GdkGCPrivate *private;
gc = gdk_gc_alloc ();
private = (GdkGCPrivate *)gc;
private->klass = &gdk_nanox_gc_class;
private->klass_data = g_new (GdkGCXData, 1);
GDK_GC_XDATA(gc)->xgc = GrNewGC();
GrSetGCUseBackground(GDK_GC_XDATA(gc)->xgc, 0);
GrSetGCForeground(GDK_GC_XDATA(gc)->xgc, RGB2PIXEL(0,0,0));
GrSetGCBackground(GDK_GC_XDATA(gc)->xgc, RGB2PIXEL(0,0,0));
g_message("created GC: %d", GDK_GC_XDATA(gc)->xgc);
return gc;
}
static void
gdk_nanox_gc_destroy (GdkGC *gc)
{
GrDestroyGC (GDK_GC_XGC (gc));
g_free (GDK_GC_XDATA (gc));
}
static void
gdk_nanox_gc_get_values (GdkGC *gc,
GdkGCValues *values)
{
g_message("unimplemented %s", __FUNCTION__);
}
static void
gdk_nanox_gc_set_values (GdkGC *gc,
GdkGCValues *values,
GdkGCValuesMask values_mask)
{
if (values_mask & GDK_GC_FOREGROUND)
GrSetGCForeground(GDK_GC_XGC(gc), values->foreground.pixel);
else if (values_mask & GDK_GC_BACKGROUND)
GrSetGCBackground(GDK_GC_XGC(gc), values->background.pixel);
else if (values_mask & GDK_GC_FONT)
GrSetGCFont(GDK_GC_XGC(gc), GDK_FONT_XFONT(values->font));
}
static void
gdk_nanox_gc_set_dashes (GdkGC *gc,
gint dash_offset,
gchar dash_list[],
gint n)
{
g_message("unimplemented %s", __FUNCTION__);
}
void
gdk_gc_set_clip_rectangle (GdkGC *gc,
GdkRectangle *rectangle)
{
//g_message("unimplemented %s", __FUNCTION__);
}
void
gdk_gc_set_clip_region (GdkGC *gc,
GdkRegion *region)
{
g_message("unimplemented %s", __FUNCTION__);
}
void
gdk_gc_copy (GdkGC *dst_gc, GdkGC *src_gc)
{
GDK_GC_XDATA(dst_gc)->xgc = GrCopyGC(GDK_GC_XGC(src_gc));
}