Files
Arquivotheca.SunOS-4.1.4/usr.lib/libsuntool/include/suntool/window_impl.h
seta75D ff309bfe1c Init
2021-10-11 18:37:13 -03:00

86 lines
2.1 KiB
C

/* @(#)window_impl.h 1.1 94/10/31 SMI */
/***********************************************************************/
/* window_impl.h */
/* Copyright (c) 1985 by Sun Microsystems, Inc. */
/***********************************************************************/
#ifndef window_impl_DEFINED
#define window_impl_DEFINED
#include <sunwindow/sun.h>
#include <suntool/window.h>
#define Pkg_private
#define Pkg_extern extern
#define Private static
#define window_attr_next(attr) (Window_attribute *)attr_next((caddr_t *)attr)
/***********************************************************************/
/* Structures */
/***********************************************************************/
struct window {
Attr_pkg type;
caddr_t (*get_proc)();
int (*set_proc)();
int (*preset_proc)();
int (*postset_proc)();
int (*layout_proc)();
int fd;
struct pixwin *pixwin;
caddr_t object;
struct window *owner;
char *name;
caddr_t menu;
caddr_t set_private;
void (*event_proc)();
void (*default_event_proc)();
caddr_t client_data;
struct pixfont *font;
int top_margin;
int bottom_margin;
int left_margin;
int right_margin;
int row_height;
int column_width;
int row_gap;
int column_gap;
short loop_depth;
/* Flags */
unsigned show:1;
unsigned show_updates:1;
unsigned well_behaved:1;
unsigned registered:1;
unsigned created:1;
/* Should be moved up with client data for next build */
caddr_t impl_data;
};
/*
* Package private
*/
#define client_to_win(client) (struct window *) \
(LINT_CAST((((caddr_t)client == win_last_client) ? win_last_window \
: win_from_client(client))))
Pkg_private Window win_from_client();
Pkg_private caddr_t win_last_window, win_last_client;
#define actual_row_height(win) \
(win->row_height ? win->row_height : win->font->pf_defaultsize.y)
#define actual_column_width(win) \
(win->column_width ? win->column_width : win->font->pf_defaultsize.x)
#endif ~window_impl_DEFINED