comparison src/console-x-impl.h @ 5178:97eb4942aec8

merge
author Ben Wing <ben@xemacs.org>
date Mon, 29 Mar 2010 21:28:13 -0500
parents 8b2f75cecb89 7be849cb8828
children 6466bc9ebf15
comparison
equal deleted inserted replaced
5177:b785049378e3 5178:97eb4942aec8
1 /* Define X specific console, device, and frame object for XEmacs. 1 /* Define X specific console, device, and frame object for XEmacs.
2 Copyright (C) 1989, 1992, 1993, 1994, 1995 Free Software Foundation, Inc. 2 Copyright (C) 1989, 1992, 1993, 1994, 1995 Free Software Foundation, Inc.
3 Copyright (C) 1994, 1995 Board of Trustees, University of Illinois. 3 Copyright (C) 1994, 1995 Board of Trustees, University of Illinois.
4 Copyright (C) 1996, 2002, 2003 Ben Wing. 4 Copyright (C) 1996, 2002, 2003 Ben Wing.
5 Copyright (C) 2010 Didier Verna
5 6
6 This file is part of XEmacs. 7 This file is part of XEmacs.
7 8
8 XEmacs is free software; you can redistribute it and/or modify it 9 XEmacs is free software; you can redistribute it and/or modify it
9 under the terms of the GNU General Public License as published by the 10 under the terms of the GNU General Public License as published by the
43 extern int wedge_metacity; 44 extern int wedge_metacity;
44 45
45 struct x_device 46 struct x_device
46 { 47 {
47 #ifdef NEW_GC 48 #ifdef NEW_GC
48 struct lrecord_header header; 49 NORMAL_LISP_OBJECT_HEADER header;
49 #endif /* NEW_GC */ 50 #endif /* NEW_GC */
50 /* The X connection of this device. */ 51 /* The X connection of this device. */
51 Display *display; 52 Display *display;
52 53
53 /* Set by x_IO_error_handler(). */ 54 /* Set by x_IO_error_handler(). */
165 }; 166 };
166 167
167 #ifdef NEW_GC 168 #ifdef NEW_GC
168 typedef struct x_device Lisp_X_Device; 169 typedef struct x_device Lisp_X_Device;
169 170
170 DECLARE_LRECORD (x_device, Lisp_X_Device); 171 DECLARE_LISP_OBJECT (x_device, Lisp_X_Device);
171 172
172 #define XX_DEVICE(x) \ 173 #define XX_DEVICE(x) \
173 XRECORD (x, x_device, Lisp_X_Device) 174 XRECORD (x, x_device, Lisp_X_Device)
174 #define wrap_x_device(p) wrap_record (p, x_device) 175 #define wrap_x_device(p) wrap_record (p, x_device)
175 #define X_DEVICE_P(x) RECORDP (x, x_device) 176 #define X_DEVICE_P(x) RECORDP (x, x_device)
241 #define MAX_CONCURRENT_TOP_WIDGETS 8 242 #define MAX_CONCURRENT_TOP_WIDGETS 8
242 243
243 struct x_frame 244 struct x_frame
244 { 245 {
245 #ifdef NEW_GC 246 #ifdef NEW_GC
246 struct lrecord_header header; 247 NORMAL_LISP_OBJECT_HEADER header;
247 #endif /* NEW_GC */ 248 #endif /* NEW_GC */
248 249
249 /* The widget of this frame. 250 /* The widget of this frame.
250 This is an EmacsShell or an ExternalShell. 251 This is an EmacsShell or an ExternalShell.
251 It negotiates with the window manager or containing app on behalf of 252 It negotiates with the window manager or containing app on behalf of
263 Widget menubar_widget; 264 Widget menubar_widget;
264 265
265 /* The widget of the edit portion of this frame; this is an EmacsFrame, 266 /* The widget of the edit portion of this frame; this is an EmacsFrame,
266 and the window of this widget is what the redisplay code draws on. */ 267 and the window of this widget is what the redisplay code draws on. */
267 Widget edit_widget; 268 Widget edit_widget;
269 /* Position of the edit widget above, for absolute background placement. */
270 int x, y;
268 271
269 /* Lists the widgets above the text area, in the proper order. 272 /* Lists the widgets above the text area, in the proper order.
270 Used by the EmacsManager. */ 273 Used by the EmacsManager. */
271 Widget top_widgets[MAX_CONCURRENT_TOP_WIDGETS]; 274 Widget top_widgets[MAX_CONCURRENT_TOP_WIDGETS];
272 int num_top_widgets; 275 int num_top_widgets;
349 }; 352 };
350 353
351 #ifdef NEW_GC 354 #ifdef NEW_GC
352 typedef struct x_frame Lisp_X_Frame; 355 typedef struct x_frame Lisp_X_Frame;
353 356
354 DECLARE_LRECORD (x_frame, Lisp_X_Frame); 357 DECLARE_LISP_OBJECT (x_frame, Lisp_X_Frame);
355 358
356 #define XX_FRAME(x) \ 359 #define XX_FRAME(x) \
357 XRECORD (x, x_frame, Lisp_X_Frame) 360 XRECORD (x, x_frame, Lisp_X_Frame)
358 #define wrap_x_frame(p) wrap_record (p, x_frame) 361 #define wrap_x_frame(p) wrap_record (p, x_frame)
359 #define X_FRAME_P(x) RECORDP (x, x_frame) 362 #define X_FRAME_P(x) RECORDP (x, x_frame)
360 #endif /* NEW_GC */ 363 #endif /* NEW_GC */
361 #define FRAME_X_DATA(f) FRAME_TYPE_DATA (f, x) 364 #define FRAME_X_DATA(f) FRAME_TYPE_DATA (f, x)
362 365
366 #define FRAME_X_X(f) (FRAME_X_DATA (f)->x)
367 #define FRAME_X_Y(f) (FRAME_X_DATA (f)->y)
363 #define FRAME_X_SHELL_WIDGET(f) (FRAME_X_DATA (f)->widget) 368 #define FRAME_X_SHELL_WIDGET(f) (FRAME_X_DATA (f)->widget)
364 #define FRAME_X_CONTAINER_WIDGET(f) (FRAME_X_DATA (f)->container) 369 #define FRAME_X_CONTAINER_WIDGET(f) (FRAME_X_DATA (f)->container)
365 #define FRAME_X_MENUBAR_WIDGET(f) (FRAME_X_DATA (f)->menubar_widget) 370 #define FRAME_X_MENUBAR_WIDGET(f) (FRAME_X_DATA (f)->menubar_widget)
366 #define FRAME_X_TEXT_WIDGET(f) (FRAME_X_DATA (f)->edit_widget) 371 #define FRAME_X_TEXT_WIDGET(f) (FRAME_X_DATA (f)->edit_widget)
367 #define FRAME_X_TOP_WIDGETS(f) (FRAME_X_DATA (f)->top_widgets) 372 #define FRAME_X_TOP_WIDGETS(f) (FRAME_X_DATA (f)->top_widgets)
405 #endif /* XIM_XLIB */ 410 #endif /* XIM_XLIB */
406 #endif /* HAVE_XIM */ 411 #endif /* HAVE_XIM */
407 412
408 extern struct console_type *x_console_type; 413 extern struct console_type *x_console_type;
409 414
415 void x_get_frame_text_position (struct frame *);
416
410 #endif /* HAVE_X_WINDOWS */ 417 #endif /* HAVE_X_WINDOWS */
411 418
412 #endif /* INCLUDED_console_x_impl_h_ */ 419 #endif /* INCLUDED_console_x_impl_h_ */