📄 gdkwindow-xynth.c
字号:
#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 + -