pr29201.c
来自「用于进行gcc测试」· C语言 代码 · 共 117 行
C
117 行
/* { dg-do assemble { target ia64-*-* } } */typedef int gint;typedef gint gboolean;typedef unsigned int guint;typedef struct _MetaRectangle MetaRectangle;struct _MetaRectangle{ int x; int y;};typedef struct _MetaDisplay MetaDisplay;typedef struct _MetaFrame MetaFrame;typedef struct _MetaWindow MetaWindow;typedef struct{ int win_gravity;}XSizeHints;typedef enum{ META_DEBUG_FOCUS = 1 << 0, META_DEBUG_WORKAREA = 1 << 1, META_DEBUG_STACK = 1 << 6, META_DEBUG_WINDOW_OPS = 1 << 7, META_DEBUG_GEOMETRY = 1 << 20, META_DEBUG_EDGE_RESISTANCE = 1 << 21}MetaStackLayer;struct _MetaWindow{ MetaDisplay *display; MetaFrame *frame; guint user_has_move_resized:1; MetaRectangle user_rect; XSizeHints size_hints;};void meta_window_get_position (MetaWindow * window, int *x, int *y);typedef struct _MetaFrameGeometry MetaFrameGeometry;struct _MetaFrameGeometry{};struct _MetaFrame{ MetaWindow *window; MetaRectangle rect; int child_x; int child_y;};typedef enum{ META_IS_CONFIGURE_REQUEST = 1 << 0, META_DO_GRAVITY_ADJUST = 1 << 3, META_IS_RESIZE_ACTION = 1 << 4}MetaMoveResizeFlags;adjust_for_gravity (MetaWindow * window, MetaFrameGeometry * fgeom, gboolean coords_assume_border, int gravity, MetaRectangle * rect){ int ref_x, ref_y; int child_x, child_y; int frame_width, frame_height; switch (gravity) { case 1: ref_x = rect->x; } switch (gravity) { case 1: rect->y = ref_y + child_y; case 2: rect->x = ref_x - frame_width / 2 + child_x; break; case 3: case 5: case 6: rect->x = ref_x - frame_width + child_x; }}meta_window_move_resize_internal (MetaWindow * window, MetaMoveResizeFlags flags, int resize_gravity, int root_x_nw, int root_y_nw, int w, int h){ unsigned int mask; MetaFrameGeometry fgeom; gboolean need_resize_client = (0); gboolean is_configure_request; MetaRectangle new_rect; MetaRectangle old_rect; { adjust_for_gravity (window, window->frame ? &fgeom : ((void *) 0), is_configure_request, window->size_hints.win_gravity, &new_rect); } meta_window_constrain (window, window->frame ? &fgeom : ((void *) 0), flags, resize_gravity, &old_rect, &new_rect); if (mask != 0) { { meta_topic_real (META_DEBUG_GEOMETRY, need_resize_client ? "true" : "false"); } } { window->user_has_move_resized = (!(0)); meta_window_get_position (window, &window->user_rect.x, &window->user_rect.y); }}voidmeta_window_get_position (MetaWindow * window, int *x, int *y){ if (window->frame) { *x = window->frame->rect.x + window->frame->child_x; *y = window->frame->rect.y + window->frame->child_y; }}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?