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