⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 gdkgc-xynth.c

📁 超强的嵌入式GUI系统
💻 C
字号:
#include <config.h>#include "gdk.h"#include "gdkgc.h"#include "gdkfont.h"#include "gdkpixmap.h"#include "gdkregion-generic.h"#include "gdkalias.h"#include "gdkprivate-xynth.h"#include "gdkxynth.h"static gpointer parent_class = NULL;static void gdk_xynth_gc_set_dashes (GdkGC *gc, gint dash_offset, gint8 dash_list[], gint n){	ENTER();	NIY();	ASSERT();	LEAVE();}static void gdk_xynth_gc_get_values (GdkGC *gc, GdkGCValues *values){	ENTER();	*values = GDK_GC_XYNTH(gc)->values;	LEAVE();}static void gdk_xynth_gc_set_values (GdkGC *gc, GdkGCValues *values, GdkGCValuesMask values_mask){	GdkGCXYNTH *private = GDK_GC_XYNTH(gc);	ENTER();	if (values_mask & GDK_GC_FOREGROUND) {		private->values.foreground = values->foreground;		private->values_mask |= GDK_GC_FOREGROUND;	}	if (values_mask & GDK_GC_BACKGROUND) {		private->values.background = values->background;		private->values_mask |= GDK_GC_BACKGROUND;	}	if (values_mask & GDK_GC_FONT) {		GdkFont *oldf = private->values.font;		private->values.font = gdk_font_ref (values->font);		private->values_mask |= GDK_GC_FONT;		if (oldf) {			gdk_font_unref (oldf);		}	}	if (values_mask & GDK_GC_FUNCTION) {		private->values.function = values->function;		private->values_mask |= GDK_GC_FUNCTION;	}	if (values_mask & GDK_GC_FILL) {		private->values.fill = values->fill;		private->values_mask |= GDK_GC_FILL;	}	if (values_mask & GDK_GC_TILE) {		GdkPixmap *oldpm = private->values.tile;		if (values->tile) {			g_assert(GDK_PIXMAP_OBJECT(values->tile)->depth > 1);		}		private->values.tile = values->tile ? g_object_ref (values->tile) : NULL;		private->values_mask |= GDK_GC_TILE;		if (oldpm) {			g_object_unref (oldpm);		}	}	if (values_mask & GDK_GC_STIPPLE) {		GdkPixmap *oldpm = private->values.stipple;		if (values->stipple) {			g_assert (GDK_PIXMAP_OBJECT (values->stipple)->depth == 1);		}		private->values.stipple = (values->stipple ? g_object_ref (values->stipple) : NULL);		private->values_mask |= GDK_GC_STIPPLE;		if (oldpm) {			g_object_unref (oldpm);		}	}	if (values_mask & GDK_GC_CLIP_MASK) {		GdkPixmap *oldpm = private->values.clip_mask;		private->values.clip_mask = (values->clip_mask ? g_object_ref (values->clip_mask) : NULL);		private->values_mask |= GDK_GC_CLIP_MASK;		if (oldpm) {			g_object_unref (oldpm);		}		if (private->clip_region) {			gdk_region_destroy (private->clip_region);			private->clip_region = NULL;		}	}	if (values_mask & GDK_GC_SUBWINDOW) {		private->values.subwindow_mode = values->subwindow_mode;		private->values_mask |= GDK_GC_SUBWINDOW;	}	if (values_mask & GDK_GC_TS_X_ORIGIN) {		private->values.ts_x_origin = values->ts_x_origin;		private->values_mask |= GDK_GC_TS_X_ORIGIN;	}	if (values_mask & GDK_GC_TS_Y_ORIGIN) {		private->values.ts_y_origin = values->ts_y_origin;		private->values_mask |= GDK_GC_TS_Y_ORIGIN;	}	if (values_mask & GDK_GC_CLIP_X_ORIGIN) {		private->values.clip_x_origin = GDK_GC (gc)->clip_x_origin = values->clip_x_origin;		private->values_mask |= GDK_GC_CLIP_X_ORIGIN;	}	if (values_mask & GDK_GC_CLIP_Y_ORIGIN) {		private->values.clip_y_origin = GDK_GC (gc)->clip_y_origin = values->clip_y_origin;		private->values_mask |= GDK_GC_CLIP_Y_ORIGIN;	}	if (values_mask & GDK_GC_EXPOSURES) {		private->values.graphics_exposures = values->graphics_exposures;		private->values_mask |= GDK_GC_EXPOSURES;	}	if (values_mask & GDK_GC_LINE_WIDTH) {		private->values.line_width = values->line_width;		private->values_mask |= GDK_GC_LINE_WIDTH;	}	if (values_mask & GDK_GC_LINE_STYLE) {		private->values.line_style = values->line_style;		private->values_mask |= GDK_GC_LINE_STYLE;	}	if (values_mask & GDK_GC_CAP_STYLE) {		private->values.cap_style = values->cap_style;		private->values_mask |= GDK_GC_CAP_STYLE;	}	if (values_mask & GDK_GC_JOIN_STYLE) {		private->values.join_style = values->join_style;		private->values_mask |= GDK_GC_JOIN_STYLE;	}	LEAVE();}static void gdk_gc_xynth_finalize (GObject *object){	GdkGC      *gc      = GDK_GC(object);	GdkGCXYNTH *private = GDK_GC_XYNTH(gc);	ENTER();	if (private->clip_region) {		gdk_region_destroy(private->clip_region);	}	if (private->values.clip_mask) {		g_object_unref(private->values.clip_mask);	}	if (private->values.stipple) {		g_object_unref(private->values.stipple);	}	if (private->values.tile) {		g_object_unref(private->values.tile);	}	if (G_OBJECT_CLASS(parent_class)->finalize) {		G_OBJECT_CLASS(parent_class)->finalize(object);	}	LEAVE();}static void gdk_gc_xynth_class_init (GdkGCXYNTHClass *klass){	GObjectClass *object_class = G_OBJECT_CLASS(klass);	GdkGCClass   *gc_class     = GDK_GC_CLASS(klass);	ENTER();	parent_class = g_type_class_peek_parent(klass);	object_class->finalize = gdk_gc_xynth_finalize;	gc_class->get_values = gdk_xynth_gc_get_values;	gc_class->set_values = gdk_xynth_gc_set_values;	gc_class->set_dashes = gdk_xynth_gc_set_dashes;	LEAVE();}GType gdk_gc_xynth_get_type (void){	static GType object_type = 0;	ENTER();	if (!object_type) {		static const GTypeInfo object_info = {			sizeof(GdkGCXYNTHClass),			(GBaseInitFunc) NULL,			(GBaseFinalizeFunc) NULL,			(GClassInitFunc) gdk_gc_xynth_class_init,			NULL,           /* class_finalize */			NULL,           /* class_data */			sizeof(GdkGCXYNTH),			0,              /* n_preallocs */			(GInstanceInitFunc) NULL,		};		object_type = g_type_register_static(GDK_TYPE_GC, "GdkGCXYNTH", &object_info, 0);	}	LEAVE();	return object_type;}void _gdk_windowing_gc_copy (GdkGC *dst_gc, GdkGC *src_gc){	ENTER();	NIY();	ASSERT();	LEAVE();}void _gdk_windowing_gc_set_clip_region (GdkGC *gc, GdkRegion *region){	ENTER();	NIY();	ASSERT();	LEAVE();}GdkGC * _gdk_xynth_gc_new (GdkDrawable *drawable, GdkGCValues *values, GdkGCValuesMask values_mask){	GdkGC *gc;	GdkGCXYNTH *private;	g_return_val_if_fail(GDK_IS_DRAWABLE_IMPL_XYNTH(drawable), NULL);	ENTER();	gc = GDK_GC(g_object_new(gdk_gc_xynth_get_type(), NULL));	_gdk_gc_init(gc, drawable, values, values_mask);	private = GDK_GC_XYNTH(gc);	private->values.cap_style = GDK_CAP_BUTT;	gdk_xynth_gc_set_values(gc, values, values_mask);	LEAVE();	return gc;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -