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

📄 gdkwindow-xynth.c

📁 超强的嵌入式GUI系统
💻 C
📖 第 1 页 / 共 3 页
字号:
#include <config.h>#include "gdk.h"#include "gdkwindow.h"#include "gdkregion-generic.h"#include "gdkinternals.h"#include "gdkalias.h"#include "gdkxynth.h"#include "gdkprivate-xynth.h"GdkWindow *_gdk_parent_root  = NULL;static gpointer parent_class = NULL;static GdkWindow *gdk_xynth_window_containing_pointer = NULL;static GSList *update_windows = NULL;static guint update_idle = 0;static void gdk_window_xynth_process_all_updates (void){	GSList *old_update_windows = update_windows;	GSList *tmp_list = update_windows;		ENTER();		if (update_idle) {		g_source_remove(update_idle);	}		update_windows = NULL;	update_idle = 0;		g_slist_foreach(old_update_windows, (GFunc) g_object_ref, NULL);		while (tmp_list) {		GdkWindowObject *private = (GdkWindowObject *) tmp_list->data;				if (private->update_freeze_count) {			update_windows = g_slist_prepend(update_windows, private);		} else {			gdk_window_process_updates(tmp_list->data, TRUE);		}		g_object_unref(tmp_list->data);		tmp_list = tmp_list->next;	}	g_slist_free (old_update_windows);		LEAVE();}static gboolean gdk_window_update_idle (gpointer data){	GDK_THREADS_ENTER();	gdk_window_xynth_process_all_updates();	GDK_THREADS_LEAVE ();	return FALSE;}static void gdk_window_schedule_update (GdkWindow *window){	ENTER();	if (window && GDK_WINDOW_OBJECT(window)->update_freeze_count) {		LEAVE();		return;	}	if (!update_idle) {		update_idle = g_idle_add_full(GDK_PRIORITY_REDRAW, gdk_window_update_idle, NULL, NULL);	}	LEAVE();}GdkWindow * _gdk_windowing_window_at_pointer (GdkDisplay *display, gint *win_x, gint *win_y){	gint wx;	gint wy;	GdkWindow *retval;	ENTER();	if (!win_x || !win_y) {		gdk_xynth_mouse_get_info(&wx, &wy, NULL);	}	if (win_x) {		wx = *win_x;	}	if (win_y) {		wy = *win_y;	}	retval = gdk_xynth_child_at(_gdk_parent_root, &wx, &wy);	if (win_x) {		*win_x = wx;	}	if (win_y) {		*win_y = wy;	}	LEAVE();	return retval;}void _gdk_windowing_window_clear_area (GdkWindow *window, gint x, gint y, gint width, gint height){	ENTER();	NIY();	ASSERT();	LEAVE();}void _gdk_windowing_window_clear_area_e (GdkWindow *window, gint x, gint y, gint width, gint height){	ENTER();	NIY();	ASSERT();	LEAVE();}void _gdk_windowing_window_destroy (GdkWindow *window, gboolean recursing, gboolean foreign_destroy){	ENTER();	NIY();	ASSERT();	LEAVE();}void _gdk_windowing_window_destroy_foreign (GdkWindow *window){	ENTER();	NIY();	ASSERT();	LEAVE();}GdkWindow * _gdk_windowing_window_get_pointer (GdkDisplay *display, GdkWindow *window, gint *x, gint *y, GdkModifierType *mask){	ENTER();	NIY();	ASSERT();	LEAVE();	return NULL;}void _gdk_windowing_get_pointer (GdkDisplay *display, GdkScreen **screen, gint *x, gint *y, GdkModifierType *mask){	ENTER();	NIY();	ASSERT();	LEAVE();}void gdk_display_warp_pointer (GdkDisplay *display, GdkScreen *screen, gint x, gint y){	ENTER();	NIY();	ASSERT();	LEAVE();}void gdk_window_begin_move_drag (GdkWindow *window, gint button, gint root_x, gint root_y, guint32 timestamp){	ENTER();	NIY();	ASSERT();	LEAVE();}void gdk_window_begin_resize_drag (GdkWindow *window, GdkWindowEdge edge, gint button, gint root_x, gint root_y, guint32 timestamp){	ENTER();	NIY();	ASSERT();	LEAVE();}void gdk_window_configure_finished (GdkWindow *window){	ENTER();	NIY();	ASSERT();	LEAVE();}void gdk_window_deiconify (GdkWindow *window){	g_return_if_fail(GDK_IS_WINDOW(window));	ENTER();	if (GDK_WINDOW_DESTROYED(window)) {		LEAVE();		return;	}	gdk_window_show(window);	LEAVE();}void gdk_window_enable_synchronized_configure (GdkWindow *window){	ENTER();	LEAVE();}void gdk_window_focus (GdkWindow *window, guint32 timestamp){	ENTER();	NIY();	ASSERT();	LEAVE();}GdkWindow * gdk_window_foreign_new_for_display (GdkDisplay* display, GdkNativeWindow anid){	ENTER();	NIY();	ASSERT();	LEAVE();	return NULL;}void gdk_window_fullscreen (GdkWindow *window){	ENTER();	NIY();	ASSERT();	LEAVE();}gboolean gdk_window_get_deskrelative_origin (GdkWindow *window, gint *x, gint *y){	ENTER();	NIY();	ASSERT();	LEAVE();	return 0;}GdkEventMask gdk_window_get_events (GdkWindow *window){	ENTER();	NIY();	ASSERT();	LEAVE();	return 0;}void gdk_window_get_frame_extents (GdkWindow *window, GdkRectangle *rect){	ENTER();	NIY();	ASSERT();	LEAVE();}void gdk_window_get_geometry (GdkWindow *window, gint *x, gint *y, gint *width, gint *height, gint *depth){	ENTER();	NIY();	ASSERT();	LEAVE();}gboolean gdk_window_get_origin (GdkWindow *window, gint *x, gint *y){	ENTER();	NIY();	ASSERT();	LEAVE();	return 0;}void gdk_window_hide (GdkWindow *window){	ENTER();	NIY();	ASSERT();	LEAVE();}void gdk_window_iconify (GdkWindow *window){	ENTER();	NIY();	ASSERT();	LEAVE();}void gdk_window_input_shape_combine_mask (GdkWindow *window, GdkBitmap *mask, gint x, gint y){	ENTER();	NIY();	ASSERT();	LEAVE();}GdkWindow * gdk_window_lookup_for_display (GdkDisplay *display, GdkNativeWindow anid){	ENTER();	NIY();	ASSERT();	LEAVE();	return NULL;}void gdk_window_lower (GdkWindow *window){	ENTER();	NIY();	ASSERT();	LEAVE();}void gdk_window_maximize (GdkWindow *window){	ENTER();	NIY();	ASSERT();	LEAVE();}void gdk_window_move (GdkWindow *window, gint x, gint y){	ENTER();	NIY();	ASSERT();	LEAVE();}void gdk_window_move_resize (GdkWindow *window, gint x, gint y, gint width, gint height){	ENTER();	NIY();	ASSERT();	LEAVE();}void _gdk_xynth_calc_abs (GdkWindow *window){	GdkWindowObject      *private;	GdkDrawableImplXYNTH *impl;	GList                *list;	ENTER();	if (GDK_IS_WINDOW(window) == 0) {		LEAVE();		return;	}	private = GDK_WINDOW_OBJECT(window);	impl = GDK_DRAWABLE_IMPL_XYNTH(private->impl);		impl->abs_x = private->x;	impl->abs_y = private->y;		if (private->parent) {		GdkDrawableImplXYNTH *parent_impl = GDK_DRAWABLE_IMPL_XYNTH(GDK_WINDOW_OBJECT(private->parent)->impl);		impl->abs_x += parent_impl->abs_x;		impl->abs_y += parent_impl->abs_y;	}	for (list = private->children; list; list = list->next) {		_gdk_xynth_calc_abs(list->data);	}		LEAVE();}void gdk_window_raise (GdkWindow *window){	ENTER();	NIY();	ASSERT();	LEAVE();}void gdk_window_reparent (GdkWindow *window, GdkWindow *new_parent, gint x, gint y){	ENTER();	NIY();	ASSERT();	LEAVE();}void gdk_window_resize (GdkWindow *window, gint width, gint height){	ENTER();	NIY();	ASSERT();	LEAVE();}void gdk_window_set_accept_focus (GdkWindow *window, gboolean accept_focus){	GdkWindowObject *private;	g_return_if_fail(window != NULL);	g_return_if_fail(GDK_IS_WINDOW(window));	ENTER();	private = (GdkWindowObject *) window;	accept_focus = accept_focus != FALSE;	if (private->accept_focus != accept_focus) {		private->accept_focus = accept_focus;	}	LEAVE();}void gdk_window_set_focus_on_map (GdkWindow *window, gboolean focus_on_map){	GdkWindowObject *private;	g_return_if_fail(window != NULL);	g_return_if_fail (GDK_IS_WINDOW(window));	ENTER();	private = (GdkWindowObject *) window;	focus_on_map = focus_on_map != FALSE;	if (private->focus_on_map != focus_on_map) {		private->focus_on_map = focus_on_map;	}	LEAVE();}void gdk_window_set_back_pixmap (GdkWindow *window, GdkPixmap *pixmap, gint parent_relative){	ENTER();	NIY();	ASSERT();	LEAVE();}void gdk_window_set_background (GdkWindow *window, const GdkColor *color){	GdkWindowObject *private;	g_return_if_fail(GDK_IS_WINDOW(window));	g_return_if_fail(color != NULL);	ENTER();	private = GDK_WINDOW_OBJECT(window);	private->bg_color = *color;	if (private->bg_pixmap &&	    private->bg_pixmap != GDK_PARENT_RELATIVE_BG &&	    private->bg_pixmap != GDK_NO_BG) {		g_object_unref(private->bg_pixmap);	}	private->bg_pixmap = NULL;	LEAVE();}static GdkWindow * gdk_xynth_find_common_ancestor (GdkWindow *win1, GdkWindow *win2){	GdkWindowObject *a;	GdkWindowObject *b;	ENTER();	for (a = GDK_WINDOW_OBJECT(win1); a; a = a->parent) {		for (b = GDK_WINDOW_OBJECT(win2); b; b = b->parent) {			if (a == b) {				LEAVE();				return GDK_WINDOW(a);			}		}	}	LEAVE();	return NULL;}GdkWindow * gdk_xynth_window_find_toplevel (GdkWindow *window){	ENTER();	while (window && window != _gdk_parent_root) {		GdkWindow *parent = (GdkWindow *) (GDK_WINDOW_OBJECT(window))->parent;		if ((parent == _gdk_parent_root) && GDK_WINDOW_IS_MAPPED(window)) {			LEAVE();			return window;		}		window = parent;	}	LEAVE();	return _gdk_parent_root;}void gdk_xynth_window_send_crossing_events (GdkWindow *src, GdkWindow *dest, GdkCrossingMode  mode){	GdkWindow       *c;	GdkWindow       *win, *last, *next;	GdkEvent        *event;	gint             x, y, x_int, y_int;	GdkModifierType  modifiers;	GSList          *path, *list;	gboolean         non_linear;	GdkWindow       *a;

⌨️ 快捷键说明

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