/usr/include/xview_private/ow_impl.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 | /*
* (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.
*/
/*
* (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 __openwin_impl_h
#define __openwin_impl_h
/*
* Package: openwin
*
* Module: ow_impl.h
*
* Description: defines internal data structures for managing openlook windows
*
*/
#include <xview/xview.h>
#include <xview/openwin.h>
#include <xview/scrollbar.h>
#include <xview/sel_svc.h>
#include <xview/rect.h>
/*
* Global Defines:
*/
/* macros to convert variable from/to public/private form */
#define OPENWIN_PRIVATE(win) \
XV_PRIVATE(Xv_openwin_info, Xv_openwin, win)
#define OPENWIN_PUBLIC(win) XV_PUBLIC(win)
#define OPENWIN_REGULAR_VIEW_MARGIN 2
#define OPENWIN_VIEW_BORDER_WIDTH 2
#define OPENWIN_SPLIT_VERTICAL_MINIMUM 50
#define OPENWIN_SPLIT_HORIZONTAL_MINIMUM 50
#define OPENWIN_SCROLLBAR_LEFT 0
#define OPENWIN_SCROLLBAR_RIGHT 1
#define openwin_sb(view, direction) \
((view)->sb[((direction) == SCROLLBAR_VERTICAL) ? 0 : 1])
#define openwin_set_sb(view, direction, sb) \
openwin_sb((view), (direction)) = sb
/*
* Typedefs:
*/
typedef struct openwin_view_struct Openwin_view_info;
typedef struct openwin_info_struct Xv_openwin_info;
struct openwin_view_struct {
Xv_opaque view;
Scrollbar sb[2]; /* 0 -> vertical 1 -> horizontal */
Rect enclosing_rect; /* full area the view takes up --
includes margins, borders and scrollabrs */
int right_edge; /* view against openwin's right edge */
int bottom_edge; /* view against bottom edge */
Openwin_view_info *next_view;
Xv_openwin_info *owin;
};
#define STATUS(ow, field) ((ow)->status_bits.field)
#define STATUS_SET(ow, field) STATUS(ow, field) = TRUE
#define STATUS_RESET(ow, field) STATUS(ow, field) = FALSE
#define BOOLEAN_FIELD(field) unsigned field : 1
struct openwin_info_struct {
Openwin public_self; /* Back pointer */
Xv_pkg *view_class;
Openwin_view_info *views;
int margin;
Rect cached_rect;
Scrollbar vsb_on_create; /* cached scrollbar until view is */
Scrollbar hsb_on_create; /* created */
Attr_avlist view_avlist; /* cached view avlist on create */
Attr_avlist view_end_avlist;
#ifdef SELECTABLE_VIEWS
Seln_client seln_client; /* selection svc client id */
Openwin_view_info *seln_view; /* selected view, if any */
#endif /* SELECTABLE_VIEWS */
struct {
BOOLEAN_FIELD(auto_clear);
BOOLEAN_FIELD(adjust_vertical);
BOOLEAN_FIELD(adjust_horizontal);
BOOLEAN_FIELD(no_margin);
BOOLEAN_FIELD(created);
BOOLEAN_FIELD(show_borders);
BOOLEAN_FIELD(removing_scrollbars);
BOOLEAN_FIELD(mapped);
BOOLEAN_FIELD(left_scrollbars);
#ifndef NO_OPENWIN_PAINT_BG
BOOLEAN_FIELD(paint_bg);
#endif /* NO_OPENWIN_PAINT_BG */
} status_bits;
int nbr_cols; /* WIN_COLUMNS specified by client */
int nbr_rows; /* WIN_ROWS specified by client */
int (*layout_proc)();
void (*split_init_proc)();
void (*split_destroy_proc)();
#ifndef NO_OPENWIN_PAINT_BG
XColor background;
#endif /* NO_OPENWIN_PAINT_BG */
};
/*
* Global Variable Declarations:
*/
extern Attr_attribute openwin_view_context_key;
/*
* Package private function declarations:
*/
/* openwin.c */
Pkg_private int openwin_init();
Pkg_private int openwin_destroy();
/* ow_get.c */
Pkg_private Xv_opaque openwin_get();
/* ow_set.c */
Pkg_private Xv_opaque openwin_set();
/* ow_evt.c */
Pkg_private Notify_value openwin_event();
Pkg_private Notify_value openwin_view_event();
/* ow_resize.c */
Pkg_private int openwin_adjust_views();
Pkg_private void openwin_adjust_view();
Pkg_private void openwin_place_scrollbar();
/* ow_paint.c */
Pkg_private void openwin_clear_damage();
#ifdef SELECTABLE_VIEWS
/* openwin_seln.c */
extern void openwin_seln_function();
extern Xv_opaque openwin_seln_reply();
extern void openwin_select();
extern void openwin_select_view();
#endif /* SELECTABLE_VIEWS */
/* openwin_view.c */
extern void openwin_create_initial_view();
extern void openwin_destroy_views();
extern int openwin_count_views();
extern Openwin_view_info *openwin_nth_view();
extern int openwin_viewdata_for_view();
extern void openwin_split_view();
extern int openwin_fill_view_gap();
extern void openwin_copy_scrollbar();
#endif /* __openwin_impl_h */
|