/usr/include/xview_private/windowimpl.h is in xviewg-dev 3.2p1.4-28.1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 | /* @(#)windowimpl.h 20.83 93/06/28 SMI */
/***********************************************************************/
/* window_impl.h */
/*
* (c) Copyright 1989 Sun Microsystems, Inc. Sun design patents
* pending in the U.S. and foreign countries. See LEGAL NOTICE
* file for terms of the license.
*/
/***********************************************************************/
#ifndef window_impl_DEFINED
#define window_impl_DEFINED
#include <sys/types.h>
#include <sys/time.h>
#include <xview/font.h>
#include <xview/pkg.h>
#define _NOTIFY_MIN_SYMBOLS
#include <xview/notify.h>
#undef _NOTIFY_MIN_SYMBOLS
#include <xview/rect.h>
#include <xview/rectlist.h>
/* BUG: try to get rid of win_struct.h */
#include <xview/win_struct.h>
#include <xview/win_input.h>
#include <xview/window.h>
#include <X11/Xutil.h>
#include <xview/cursor.h>
#include <xview_private/draw_impl.h>
#include <xview_private/xv_list.h>
#include <xview_private/portable.h>
#include <xview/dragdrop.h>
#ifdef OW_I18N
#include <xview_private/i18n_impl.h>
#endif
#define window_attr_next(attr) (Window_attribute *)attr_next((caddr_t *)attr)
/*
MAX_FUNC_KEY is maximum number of function keys + number of buttons in the
mouse.
*/
#define MAX_KEYCODE 128
#define BITS_PER_BYTE 8
#define WINDOW_KEYMASK (MAX_KEYCODE/((sizeof(char))* BITS_PER_BYTE))
#define DEFAULT_X_Y 0
#define DEFAULT_WIDTH_HEIGHT 64
/* For the rect of the window */
#define EMPTY_VALUE 0x7fff
#define WIN_DEFAULT_RECT(_rect) (((_rect)->r_left == DEFAULT_X_Y) && \
((_rect)->r_top == DEFAULT_X_Y) && \
((_rect)->r_width == DEFAULT_WIDTH_HEIGHT) && \
((_rect)->r_height == DEFAULT_WIDTH_HEIGHT))
#define WIN_PRIVATE(win) XV_PRIVATE(Window_info, Xv_window_struct, win)
#define WIN_PUBLIC(win) XV_PUBLIC(win)
#define WIN_SET_DEAF(_win_info, flag) (_win_info->deaf = flag)
#define WIN_IS_DEAF(_win_info) (_win_info->deaf)
#define WIN_SET_LOOP(_win_info, flag) (_win_info->window_loop = flag)
#define WIN_IS_LOOP(_win_info) (_win_info->window_loop)
#ifdef OW_I18N
#define WIN_SET_GRAB(_win_info, flag) (_win_info->active_grab = flag)
#define WIN_IS_GRAB(_win_info) (_win_info->active_grab)
#define WIN_SET_PASSIVE_GRAB(_win_info, flag) (_win_info->passive_grab = flag)
#define WIN_IS_PASSIVE_GRAB(_win_info) (_win_info->passive_grab)
#endif /* OW_I18N */
/* windows are in charge of their own borders */
/***********************************************************************/
/* Structures */
/***********************************************************************/
typedef struct window_client_msg {
Xv_opaque type;
unsigned char format;
union {
char b[WIN_MESSAGE_DATA_SIZE];
short s[WIN_MESSAGE_DATA_SIZE/sizeof(short)];
int l[WIN_MESSAGE_DATA_SIZE/sizeof(int)];
} data;
} Window_client_msg;
typedef struct win_drop_site_list {
Xv_sl_link next;
Xv_drop_site drop_item;
} Win_drop_site_list;
typedef enum win_drop_site_mode {
Win_Drop_Site,
Win_Drop_Interest,
} Win_drop_site_mode;
typedef struct window_info {
Xv_Window public_self; /* back pointer to public struct */
int (*layout_proc)();
void (*event_proc)();
void (*notify_safe_event_proc)();
void (*notify_immediate_event_proc)();
struct window_info *owner;
Xv_Window parent;
Xv_opaque menu;
Xv_font font;
Xv_Font glyph_font; /* OL glyph font for window's scale */
int desired_width;
int desired_height;
Xv_Cursor cursor;
Xv_Cursor normal_cursor; /* A place to store normal cursor */
/* when switching to busy cursor */
Xv_opaque client_data;
Rect cache_rect;
unsigned int xmask; /* X event mask */
int scale;
char *cmdline;
Pixmap background_pixmap;
Window_client_msg client_message; /* Client Message Info */
Win_drop_site_list *dropSites; /* Drop sites in the window */
Win_drop_site_list *dropInterest; /* Only used in top-level windows.
* Holds the list of drop items. */
/* margin info */
short top_margin;
short bottom_margin;
short left_margin;
short right_margin;
short row_height;
short column_width;
short row_gap;
short column_gap;
/* flags */
unsigned has_kbd:1;
unsigned map:1; /* change to map when ready */
unsigned rect_info:4; /* x, y, width, or height set */
unsigned top_level:1;
unsigned top_level_no_decor:1; /* does window have decors */
unsigned created:1;
unsigned has_border:1; /* does window have border */
unsigned being_rescaled:1;
unsigned input_only:1; /* is the window input only */
unsigned transparent:1; /* is background pixmap=None */
unsigned in_fullscreen_mode:1; /* window in fullscreen mode */
unsigned is_client_pane:1; /* is the window a client pane */
unsigned x_paint_window:1; /* window used for X graphics */
unsigned inherit_colors:1;
unsigned no_clipping:1; /* dont set clip rects on repaint */
unsigned collapse_exposures:1; /* colapse expose events */
/* into a single event. */
/* count = 0 */
unsigned collapse_motion_events:1; /* colapse motion events */
unsigned deaf:1; /* is window deaf? */
unsigned window_loop:1; /* is window in window_loop? */
unsigned softkey_flag:1; /* is soft key labels set? */
#ifdef OW_I18N
unsigned win_use_im:1; /* does window need an input method? */
unsigned ic_conversion:1; /* is IC conversion on */
unsigned ic_created:1; /* is IC created */
unsigned ic_active:1; /*is IC active? for read-only modes */
unsigned active_grab:1; /* is window in active grab */
unsigned passive_grab:1; /* is window in passive grab
*/
/* input method data */
XIC xic; /* X Input Context (IC) */
XID ic_focus_win; /* IC focus window */
XID tmp_ic_focus_win; /* temp IC focus window */
char *win_ic_committed; /* mbyte implicit commit string */
wchar_t *win_ic_committed_wcs;/*widec implicit commit string */
XIMCallback start_pecb_struct; /* preedit start callback */
XIMCallback draw_pecb_struct; /* preedit draw callback */
XIMCallback caret_pecb_struct; /* preedit caret callback */
XIMCallback done_pecb_struct; /* preedit done callback */
XIMCallback start_stcb_struct; /* status start callback */
XIMCallback draw_stcb_struct; /* status draw callback */
XIMCallback done_stcb_struct; /* status done callback */
#ifdef FULL_R5
unsigned long x_im_style_mask; /* X input method style mask */
#endif /* FULL_R5 */
#endif /* OW_I18N */
} Window_info;
/*
* Package private
*/
#define actual_row_height(win) \
(win->row_height ? win->row_height : \
xv_get(win->font, FONT_DEFAULT_CHAR_HEIGHT))
#ifdef OW_I18N
#define actual_column_width(win) \
(win->column_width ? win->column_width : \
xv_get(win->font, FONT_COLUMN_WIDTH))
#else /* OW_I18N */
#define actual_column_width(win) \
(win->column_width ? win->column_width : \
xv_get(win->font, FONT_DEFAULT_CHAR_WIDTH))
#endif /* OW_I18N */
#define actual_rescale_row_height(par,win) \
(win->row_height ? win->row_height : \
xv_get(par->font, FONT_DEFAULT_CHAR_HEIGHT))
#ifdef OW_I18N
#define actual_rescale_column_width(par,win) \
(win->column_width ? win->column_width : \
xv_get(par->font, FONT_COLUMN_WIDTH))
#else /* OW_I18N */
#define actual_rescale_column_width(par,win) \
(win->column_width ? win->column_width : \
xv_get(par->font, FONT_DEFAULT_CHAR_WIDTH))
#endif /* OW_I18N */
/* window.c */
Pkg_private Notify_value window_default_event_func();
Xv_private int window_getrelrect();
/* window_set.c */
Pkg_private Xv_opaque window_set_avlist();
Pkg_private int win_appeal_to_owner();
/* window_get.c */
Pkg_private Xv_opaque window_get_attr();
/* window_layout.c */
Pkg_private int window_layout();
/* window_compat.c */
Xv_private void window_scan_and_convert_to_pixels();
/* windowdrop.c */
Pkg_private void win_add_drop_item();
Pkg_private Xv_opaque win_delete_drop_item();
Pkg_private void win_add_drop_interest();
Pkg_private void win_update_dnd_property();
Xv_private Xv_opaque win_get_top_level();
/* windowutil.c */
Xv_private void win_set_wm_command();
Xv_private void win_set_wm_class();
Xv_private int window_set_tree_flag();
Xv_private int window_set_tree_child_flag();
Xv_private int window_set_flag_cursor();
#endif /* ~window_impl_DEFINED */
|