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 + -
显示快捷键?