/usr/include/xview/canvas.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 | /* @(#)canvas.h 20.38 93/06/28 SMI */
/*
* (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 xview_canvas_DEFINED
#define xview_canvas_DEFINED
/*
***********************************************************************
* Include Files
***********************************************************************
*/
#include <xview/openwin.h>
#include <xview/pixwin.h>
#include <xview/win_input.h>
/*
***********************************************************************
* Definitions and Macros
***********************************************************************
*/
/*
* PUBLIC #defines
*/
#define CANVAS &xv_canvas_pkg
#define CANVAS_VIEW &xv_canvas_view_pkg
#define CANVAS_PAINT_WINDOW &xv_canvas_pw_pkg
#define CANVAS_PIXWIN CANVAS_NTH_PAINT_WINDOW, 0
#define CANVAS_AUTO_CLEAR OPENWIN_AUTO_CLEAR
/*
* Some useful macros
*/
#define canvas_pixwin(canvas) \
((Pixwin *)xv_get(canvas, CANVAS_NTH_PAINT_WINDOW, 0))
#define canvas_paint_window(canvas) \
((Xv_Window)xv_get(canvas, CANVAS_NTH_PAINT_WINDOW, 0))
#define CANVAS_EACH_PAINT_WINDOW(canvas, pw) \
{int _pw_cnt = 0; \
while (((pw) = (Xv_Window) xv_get((canvas), CANVAS_NTH_PAINT_WINDOW, _pw_cnt++)) != NULL) { \
#define CANVAS_END_EACH }}
/*
* PRIVATE #defines
*/
#define CANVAS_ATTR(type, ordinal) ATTR(ATTR_PKG_CANVAS, type, ordinal)
#define CANVAS_VIEW_ATTR(type, ordinal) ATTR(ATTR_PKG_CANVAS_VIEW,type, ordinal)
#define CANVAS_PAINT_ATTR(type, ordinal) ATTR(ATTR_PKG_CANVAS_PAINT_WINDOW,type, ordinal)
#define CANVAS_ATTR_LIST(ltype, type, ordinal) \
CANVAS_ATTR(ATTR_LIST_INLINE((ltype), (type)), (ordinal))
/*
* For SunView 1 compatibility
*/
#define CANVAS_TYPE ATTR_PKG_CANVAS
#define CANVAS_MARGIN CANVAS_VIEW_MARGIN
/*
***********************************************************************
* Typedefs, Enumerations, and Structs
***********************************************************************
*/
typedef Xv_opaque Canvas;
typedef Xv_opaque Canvas_view;
typedef Xv_opaque Canvas_paint_window;
/*
* Enumerations
*/
typedef enum {
/*
* Public attributes
*/
CANVAS_AUTO_EXPAND = CANVAS_ATTR(ATTR_BOOLEAN, 1),
CANVAS_AUTO_SHRINK = CANVAS_ATTR(ATTR_BOOLEAN, 5),
CANVAS_FIXED_IMAGE = CANVAS_ATTR(ATTR_BOOLEAN, 10),
CANVAS_HEIGHT = CANVAS_ATTR(ATTR_Y, 15),
CANVAS_MIN_PAINT_HEIGHT = CANVAS_ATTR(ATTR_Y, 20),
CANVAS_MIN_PAINT_WIDTH = CANVAS_ATTR(ATTR_X, 25),
CANVAS_NTH_PAINT_WINDOW = CANVAS_ATTR(ATTR_OPAQUE, 30),
CANVAS_REPAINT_PROC = CANVAS_ATTR(ATTR_FUNCTION_PTR, 35),
CANVAS_RESIZE_PROC = CANVAS_ATTR(ATTR_FUNCTION_PTR, 40),
CANVAS_RETAINED = CANVAS_ATTR(ATTR_BOOLEAN, 45),
CANVAS_VIEW_MARGIN = CANVAS_ATTR(ATTR_INT, 50),
CANVAS_VIEWABLE_RECT = CANVAS_ATTR(ATTR_RECT_PTR, 55),
CANVAS_WIDTH = CANVAS_ATTR(ATTR_X, 60),
CANVAS_X_PAINT_WINDOW = CANVAS_ATTR(ATTR_BOOLEAN, 65),
CANVAS_PAINTWINDOW_ATTRS = CANVAS_ATTR_LIST(ATTR_RECURSIVE, ATTR_AV, 70),
CANVAS_NO_CLIPPING = CANVAS_ATTR(ATTR_BOOLEAN, 75),
CANVAS_CMS_REPAINT = CANVAS_ATTR(ATTR_BOOLEAN, 80),
#ifdef OW_I18N
CANVAS_IM_PREEDIT_FRAME = CANVAS_ATTR(ATTR_OPAQUE, 85)
#endif
} Canvas_attribute;
typedef enum {
CANVAS_VIEW_PAINT_WINDOW = CANVAS_VIEW_ATTR(ATTR_OPAQUE, 1),
CANVAS_VIEW_CANVAS_WINDOW = CANVAS_VIEW_ATTR(ATTR_OPAQUE, 2)
} Canvas_view_attribute;
typedef enum {
CANVAS_PAINT_CANVAS_WINDOW = CANVAS_PAINT_ATTR(ATTR_OPAQUE, 1),
CANVAS_PAINT_VIEW_WINDOW = CANVAS_PAINT_ATTR(ATTR_OPAQUE, 2)
} Canvas_paint_attribute;
/*
* Structures
*/
typedef struct {
Xv_openwin parent_data;
Xv_opaque private_data;
} Xv_canvas;
typedef struct {
Xv_window_struct parent_data;
Xv_opaque private_data;
} Xv_canvas_view;
typedef struct {
Xv_window_struct parent_data;
Xv_opaque private_data;
} Xv_canvas_pw;
/*
***********************************************************************
* Globals
***********************************************************************
*/
/*
* Variables
*/
extern Xv_pkg xv_canvas_pkg;
extern Xv_pkg xv_canvas_view_pkg;
extern Xv_pkg xv_canvas_pw_pkg;
/*
* Functions
*/
EXTERN_FUNCTION (Event * canvas_event, (Canvas canvas_obj, Event *event));
EXTERN_FUNCTION (Event * canvas_window_event, (Canvas canvas_obj, Event *event));
#endif /* ~xview_canvas_DEFINED */
|