/usr/include/xview/cursor.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 261 262 263 264 265 266 267 268 269 270 271 272 273 | /* @(#)cursor.h 20.36 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_cursor_DEFINED
#define xview_cursor_DEFINED
/*
***********************************************************************
* Include Files
***********************************************************************
*/
#include <stdio.h>
#include <xview/generic.h>
#include <xview/pkg.h>
#include <sys/types.h>
#include <pixrect/pixrect.h>
#ifdef __STDC__
#ifndef CAT
#define CAT(a,b) a ## b
#endif
#endif
#include <pixrect/memvar.h>
#include <xview/rect.h>
/*
***********************************************************************
* Definitions and Macros
***********************************************************************
*/
#define CURSOR &xv_cursor_pkg
#define CURSOR_ATTR(type, ordinal) ATTR(ATTR_PKG_CURSOR, type, ordinal)
/*
* For Sunview 1 compatibility
*/
#define CURSOR_MAX_IMAGE_BYTES 32 /* max. # of image bytes */
#define CURSOR_MAX_IMAGE_WORDS 16
#define CUR_MAXIMAGEBYTES CURSOR_MAX_IMAGE_BYTES
#define CUR_MAXIMAGEWORDS CURSOR_MAX_IMAGE_WORDS
#define NOFONTCURSOR -1
/*
* OPEN LOOK Cursor character definitions
*
* Those marked with "--" are not official OPEN LOOK cursors and should
* not be used if possible.
*/
#define OLC_BASIC_PTR 0 /* pointer */
#define OLC_BASIC_MASK_PTR 1
#define OLC_MOVE_PTR 2 /* move */
#define OLC_MOVE_MASK_PTR 3
#define OLC_COPY_PTR 4 /* copy */
#define OLC_COPY_MASK_PTR 5
#define OLC_BUSY_PTR 6 /* busy */
#define OLC_BUSY_MASK_PTR 7
#define OLC_STOP_PTR 8 /* -- stop */
#define OLC_STOP_MASK_PTR 9
#define OLC_PANNING_PTR 10 /* pan */
#define OLC_PANNING_MASK_PTR 11
#define OLC_NAVIGATION_LEVEL_PTR 12 /* navigation */
#define OLC_NAVIGATION_LEVEL_MASK_PTR 13
/*
* WARNING: The following glyphs are not in the MIT X11 R4 distribution.
*/
#define OLC_BLANK_14 14 /* -- blank at index 14 */
#define OLC_BLANK_15 15 /* -- blank at index 15 */
#define OLC_OTHER_PTR 16 /* -- another basic pointer */
#define OLC_OTHER_MASK_PTR 17
#define OLC_RESIZE 18 /* resize bullseye */
#define OLC_RESIZE_MASK 19
#define OLC_RIGHT_ARROW 20 /* -- right arrow */
#define OLC_RIGHT_ARROW_MASK 21
#define OLC_PLUS 22 /* -- plus sign */
#define OLC_PLUS_MASK 23
#define OLC_MULTIPLY 24 /* -- multiply sign */
#define OLC_MULTIPLY_MASK 25
#define OLC_HOURGLASS 26 /* -- hourglass */
#define OLC_HOURGLASS_MASK 27
#define OLC_DOC 28 /* doc = document */
#define OLC_DOC_MASK 29
#define OLC_DOCS 30 /* docs = document stack */
#define OLC_DOCS_MASK 31
#define OLC_DROP 32 /* drop = drop target */
#define OLC_DROP_MASK 33
#define OLC_DROP_STEM 34 /* drop with stem */
#define OLC_DROP_STEM_MASK 35
#define OLC_COPY 36 /* pointer + copy */
#define OLC_COPY_MASK 37
#define OLC_COPY_EDGE 38 /* copy = copy edge */
#define OLC_COPY_EDGE_MASK 39
#define OLC_DOC_COPY 40 /* doc + copy */
#define OLC_DOC_COPY_MASK 41
#define OLC_DOC_COPY_DRAG 42 /* doc + copy + pointer */
#define OLC_DOC_COPY_DRAG_MASK 43
#define OLC_DOC_COPY_DROP 44 /* doc + copy + drop */
#define OLC_DOC_COPY_DROP_MASK 45
#define OLC_DOC_COPY_NODROP 46 /* doc + copy + nodrop */
#define OLC_DOC_COPY_NODROP_MASK 47
#define OLC_DOCS_COPY 48 /* docs + copy */
#define OLC_DOCS_COPY_MASK 49
#define OLC_DOCS_COPY_DRAG 50 /* docs + copy + pointer */
#define OLC_DOCS_COPY_DRAG_MASK 51
#define OLC_DOCS_COPY_DROP 52 /* docs + copy + drop */
#define OLC_DOCS_COPY_DROP_MASK 53
#define OLC_DOCS_COPY_NODROP 54 /* docs + copy + nodrop */
#define OLC_DOCS_COPY_NODROP_MASK 55
#define OLC_MOVE 56 /* pointer + move */
#define OLC_MOVE_MASK 57
#define OLC_MOVE_EDGE 58 /* move = move edge */
#define OLC_MOVE_EDGE_MASK 59
#define OLC_DOC_MOVE 60 /* doc + move */
#define OLC_DOC_MOVE_MASK 61
#define OLC_DOC_MOVE_DRAG 62 /* doc + move + pointer */
#define OLC_DOC_MOVE_DRAG_MASK 63
#define OLC_DOC_MOVE_DROP 64 /* doc + move + drop */
#define OLC_DOC_MOVE_DROP_MASK 65
#define OLC_DOC_MOVE_NODROP 66 /* doc + move + nodrop */
#define OLC_DOC_MOVE_NODROP_MASK 67
#define OLC_DOCS_MOVE 68 /* docs + move */
#define OLC_DOCS_MOVE_MASK 69
#define OLC_DOCS_MOVE_DRAG 70 /* docs + move + pointer */
#define OLC_DOCS_MOVE_DRAG_MASK 71
#define OLC_DOCS_MOVE_DROP 72 /* docs + move + drop */
#define OLC_DOCS_MOVE_DROP_MASK 73
#define OLC_DOCS_MOVE_NODROP 74 /* docs + move + nodrop */
#define OLC_DOCS_MOVE_NODROP_MASK 75
#define OLC_NODROP 76 /* nodrop */
#define OLC_NODROP_MASK 77
#define OLC_NODROP_STEM 78 /* nodrop with stem */
#define OLC_NODROP_STEM_MASK 79
#define OLC_TEXT_COPY 80 /* text copy */
#define OLC_TEXT_COPY_MASK 81
#define OLC_TEXT_COPY_DRAG 82 /* text copy + pointer */
#define OLC_TEXT_COPY_MOVE_MASK 83
#define OLC_TEXT_COPY_DROP 84 /* text copy + drop */
#define OLC_TEXT_COPY_DROP_MASK 85
#define OLC_TEXT_COPY_NODROP 86 /* text copy + nodrop */
#define OLC_TEXT_COPY_NODROP_MASK 87
#define OLC_TEXT_MOVE 88 /* text move */
#define OLC_TEXT_MOVE_MASK 89
#define OLC_TEXT_MOVE_DRAG 90 /* text move + pointer */
#define OLC_TEXT_MOVE_MOVE_MASK 91
#define OLC_TEXT_MOVE_DROP 92 /* text move + drop */
#define OLC_TEXT_MOVE_DROP_MASK 93
#define OLC_TEXT_MOVE_NODROP 94 /* text move + nodrop */
#define OLC_TEXT_MOVE_NODROP_MASK 95
#define OLC_TEXT_COPY_INSERT 96 /* text copy + insert */
#define OLC_TEXT_COPY_INSERT_MASK 97
#define OLC_TEXT_MOVE_INSERT 98 /* text move + insert */
#define OLC_TEXT_MOVE_INSERT_MASK 99
#define OLC_DATA_COPY_DROP 100 /* data copy + drop */
#define OLC_DATA_COPY_DROP_MASK 101
#define OLC_DATA_COPY_INSERT 102 /* data copy + insert */
#define OLC_DATA_COPY_INSERT_MASK 103
#define OLC_DATA_COPY_NODROP 104 /* data copy + nodrop */
#define OLC_DATA_COPY_NODROP_MASK 105
#define OLC_DATA_MOVE_DROP 106 /* data move + drop */
#define OLC_DATA_MOVE_DROP_MASK 107
#define OLC_DATA_MOVE_INSERT 108 /* data move + insert */
#define OLC_DATA_MOVE_INSERT_MASK 109
#define OLC_DATA_MOVE_NODROP 110 /* data move + nodrop */
#define OLC_DATA_MOVE_NODROP_MASK 111
#define OLC_INSERT 112 /* insert = insert target */
#define OLC_INSERT_MASK 113
#define OLC_INSERT_STEM 114 /* insert with stem */
#define OLC_INSERT_STEM_MASK 115
#define OLC_DATA_MOVE 116 /* data move */
#define OLC_DATA_MOVE_MASK 117
#define OLC_DATA_COPY 118 /* data copy */
#define OLC_DATA_COPY_MASK 119
#define OLC_TEXT_POINTER 120 /* text/data pointer */
#define OLC_TEXT_POINTER_MASK 121
#define OLC_FOLDER 122 /* folder */
#define OLC_FOLDER_MASK 123
#define OLC_FOLDERS 124 /* folders= folder stack */
#define OLC_FOLDERS_MASK 125
#define OLC_BLANK_126 126 /* -- blank at index 126 */
#define OLC_BLANK_127 127 /* -- blank at index 127 */
/*
***********************************************************************
* Typedefs, enumerations, and structs
***********************************************************************
*/
typedef Xv_opaque Xv_Cursor;
typedef Xv_opaque Xv_cursor;
typedef enum {
CURSOR_NEUTRAL = 0,
CURSOR_ACCEPT = 1,
CURSOR_REJECT = 2
} Cursor_drag_state;
typedef enum {
CURSOR_MOVE = 0,
CURSOR_DUPLICATE = 1
} Cursor_drag_type;
typedef enum {
/*
* Public Attributes
*/
CURSOR_BACKGROUND_COLOR = CURSOR_ATTR(ATTR_SINGLE_COLOR_PTR, 27),
CURSOR_DRAG_STATE = CURSOR_ATTR(ATTR_ENUM, 2),
CURSOR_DRAG_TYPE = CURSOR_ATTR(ATTR_ENUM, 3),
CURSOR_FOREGROUND_COLOR = CURSOR_ATTR(ATTR_SINGLE_COLOR_PTR, 26),
CURSOR_IMAGE = CURSOR_ATTR(ATTR_PIXRECT_PTR, 1),
CURSOR_MASK_CHAR = CURSOR_ATTR(ATTR_INT, 5),
CURSOR_OP = CURSOR_ATTR(ATTR_INT, 10),
CURSOR_SRC_CHAR = CURSOR_ATTR(ATTR_INT, 15),
CURSOR_STRING = CURSOR_ATTR(ATTR_STRING, 16),
#ifdef OW_I18N
CURSOR_STRING_WCS = CURSOR_ATTR(ATTR_WSTRING, 17),
#endif
CURSOR_XHOT = CURSOR_ATTR(ATTR_INT, 20),
CURSOR_YHOT = CURSOR_ATTR(ATTR_INT, 25),
/*
* OPEN LOOK cursors. Used as index to XV_KEY_DATA on server.
*/
CURSOR_BASIC_PTR = CURSOR_ATTR(ATTR_OPAQUE, 30),
CURSOR_MOVE_PTR = CURSOR_ATTR(ATTR_OPAQUE, 35),
CURSOR_COPY_PTR = CURSOR_ATTR(ATTR_OPAQUE, 40),
CURSOR_BUSY_PTR = CURSOR_ATTR(ATTR_OPAQUE, 45),
CURSOR_PANNING_PTR = CURSOR_ATTR(ATTR_OPAQUE, 50),
CURSOR_NAVIGATION_LEVEL_PTR = CURSOR_ATTR(ATTR_OPAQUE, 55),
CURSOR_STOP_PTR = CURSOR_ATTR(ATTR_OPAQUE, 60),
CURSOR_QUESTION_MARK_PTR = CURSOR_ATTR(ATTR_OPAQUE, 65)
} Cursor_attribute;
#define CURSOR_SHOW_CURSOR XV_SHOW
typedef struct {
Xv_generic_struct parent_data;
Xv_opaque private_data;
} Xv_cursor_struct;
/*
***********************************************************************
* Globals
***********************************************************************
*/
extern Xv_pkg xv_cursor_pkg;
/*
* Public Functions
*/
EXTERN_FUNCTION (void cursor_set_cursor, (Xv_object window, Xv_Cursor cursor));
/*
* For Sunview 1 compatibility
*/
EXTERN_FUNCTION (Xv_Cursor cursor_create, (Attr_attribute attr1, DOTDOTDOT));
EXTERN_FUNCTION (void cursor_destroy, (Xv_Cursor cursor));
EXTERN_FUNCTION (Xv_Cursor cursor_copy, (Xv_Cursor cursor));
EXTERN_FUNCTION (Xv_opaque cursor_get, (Xv_Cursor cursor, Cursor_attribute attr));
EXTERN_FUNCTION (int cursor_set, (Xv_Cursor cursor, DOTDOTDOT));
#endif /* xview_cursor_DEFINED */
|