ROVLib2
RISCOSC++applicationdevelopmentlibrary
src
wimp_messages.h
1
#pragma once
2
3
#include "wimp_basics.h"
4
5
#ifdef __cplusplus
6
extern
"C"
7
{
8
#endif
9
10
typedef
enum
11
{
12
weErrorOccurred = -1,
13
weNullReasonCode = 0,
14
weRedrawWindowRequest,
15
weOpenWindowRequest,
16
weCloseWindowRequest,
17
wePointerLeavingWindow,
18
wePointerEnteringWindow,
19
weMouseClick,
20
weUserDragBox,
21
weKeyPressed,
22
weMenuSelection,
23
weScrollRequest,
24
weLoseCaret,
25
weGainCaret,
26
wePollwordNonZero,
27
weUserMessage = 17,
28
weUserMessageRecorded,
29
weUserMessageAcknowledged
30
} eWimpEvent;
// we
31
32
typedef
enum
33
{
34
wmaMessageQuit = 0,
35
wmaMessageDataSave,
36
wmaMessageDataSaveAck,
37
wmaMessageDataLoad,
38
wmaMessageDataLoadAck,
39
wmaMessageRun,
40
wmaMessageRamFetch,
41
wmaMessageRamTransmit,
42
wmaMessagePrequit,
43
wmaMessagePalette
44
} eWimpMessageAction;
// wma
45
46
typedef
struct
47
{
48
unsigned
adjust : 1;
49
unsigned
menu : 1;
50
unsigned
select : 1;
51
unsigned : 1;
52
unsigned
adjust_drag : 1;
53
unsigned
menu_drag : 1;
54
unsigned
select_drag : 1;
55
unsigned : 1;
56
unsigned
adjust_click : 1;
57
unsigned
menu_click : 1;
58
unsigned
select_click : 1;
59
unsigned : 1;
60
unsigned : 16;
61
}
tButtonClick
;
// bc
62
63
typedef
struct
64
{
65
tWindowHandle whWindow;
66
tLocation
lMinimum;
67
tLocation
lMaximum;
68
tLocation
lScroll;
69
tWindowHandle whBehind;
70
}
tWindowOpenBlock
;
// wob
71
72
typedef
struct
73
{
74
tWindowHandle whWindow;
75
}
tWindowOnlyBlock
;
// wob
76
77
typedef
struct
78
{
79
tLocation
lMouse;
80
tButtonClick
bcButtons;
81
tWindowHandle whWindow;
82
tIconHandle ihIcon;
83
}
tMouseClickBlock
;
// mcb
84
85
typedef
struct
86
{
87
tLocation
lMinimum;
88
tLocation
lMaximum;
89
}
tUserDrawBoxBlock
;
// udb
90
91
typedef
struct
92
{
93
tWindowHandle whWindow;
94
tIconHandle ihIcon;
95
tLocation
lCaretOffset;
96
unsigned
int
uiCaretHeightFlags;
97
int
iCaretIndex;
98
int
iCharacterCode;
99
}
tKeyPressedBlock
;
// kpb
100
101
typedef
struct
102
{
103
unsigned
int
iaSelectedItems[64];
104
}
tMenuSelectionBlock
;
// msb
105
106
typedef
struct
107
{
108
tWindowHandle whWindow;
109
tLocation
lMinimum;
110
tLocation
lMaximum;
111
tLocation
lScroll;
112
tWindowHandle whBehind;
113
tLocation
lScrollDirection;
114
}
tScrollRequestBlock
;
// srb
115
116
typedef
struct
117
{
118
tWindowHandle whWindow;
119
tIconHandle whIcon;
120
tLocation
lCaretOffset;
121
unsigned
int
uiCaretHeightFlags;
122
int
iCaretIndex;
123
}
tLoseGainCaretBlock
;
// lgc
124
125
typedef
struct
126
{
127
int
* piPollAddress;
128
int
iPollword;
129
}
tPollwordNonZeroBlock
;
// pnb
130
131
typedef
struct
132
{
133
int
iBlockSize;
134
tTaskHandle thSender;
135
int
iMyRef;
136
int
iYourRef;
137
eWimpMessageAction wmaAction;
138
unsigned
int
uiaInt[59];
139
byte baByte[244];
140
}
tUserMessageBlock
;
// umb
141
142
typedef
union
143
{
144
tWindowOnlyBlock
wobRedrawRequest;
145
tWindowOpenBlock
wobOpenRequest;
146
tWindowOnlyBlock
wobCloseRequest;
147
tWindowOnlyBlock
wobPointerLeaving;
148
tWindowOnlyBlock
wobPointerEntering;
149
tMouseClickBlock
mcbMouseClick;
150
tUserDrawBoxBlock
udbUserDrag;
151
tKeyPressedBlock
kpbKeyPressed;
152
tMenuSelectionBlock
msbMenuSelection;
153
tScrollRequestBlock
srbScrollRequest;
154
tPollwordNonZeroBlock
pnbPollwordNonZero;
155
tLoseGainCaretBlock
lgcLoseGainCaret;
156
tUserMessageBlock
umbUserMessage;
157
158
byte baBytes[256];
159
unsigned
int
uiaInt[64];
160
}
tWimpBlock
;
// twb
161
162
// Methods
163
eWimpEvent wimp_poll(
void
);
164
165
int
wimp_sendmessage(eWimpEvent weEventCode,
const
tUserMessageBlock
* kumbpBlock);
166
167
int
wimp_getpointerinfo(
tMouseClickBlock
* pmcbPointerInfo);
168
169
// Objects
170
extern
tWimpBlock
twbWimpPollBlock;
171
172
#ifdef __cplusplus
173
}
174
#endif
tKeyPressedBlock
Definition:
wimp_messages.h:91
tWindowOpenBlock
Definition:
wimp_messages.h:63
tWimpBlock
Definition:
wimp_messages.h:142
tLocation
Definition:
wimp_basics.h:25
tLoseGainCaretBlock
Definition:
wimp_messages.h:116
tUserDrawBoxBlock
Definition:
wimp_messages.h:85
tMouseClickBlock
Definition:
wimp_messages.h:77
tUserMessageBlock
Definition:
wimp_messages.h:131
tPollwordNonZeroBlock
Definition:
wimp_messages.h:125
tScrollRequestBlock
Definition:
wimp_messages.h:106
tMenuSelectionBlock
Definition:
wimp_messages.h:101
tWindowOnlyBlock
Definition:
wimp_messages.h:72
tButtonClick
Definition:
wimp_messages.h:46
Generated by
1.8.13