-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathdwordcolumn.h
More file actions
262 lines (229 loc) · 9.31 KB
/
dwordcolumn.h
File metadata and controls
262 lines (229 loc) · 9.31 KB
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
/*
* File: dwordcolumn.h
* Author: Sir Gee of Five
*
* Created on September 25, 2010, 11:20 AM
*/
#ifndef DWORDCOLUMN_H
#define DWORDCOLUMN_H
#include <pspkerneltypes.h>
#include <pspdebug.h>
#include "colorconfig.h"
/** Indicates success. */
#define DWORDCOLUMN_SUCCESS (0)
/** Indicates failure. */
#define DWORDCOLUMN_FAILURE (-1)
/** Indicates a memory error. */
#define DWORDCOLUMN_MEMORY (-2)
/** Indicates a NULL pointer. */
#define DWORDCOLUMN_NULLPTR (-3)
#ifdef __cplusplus
extern "C" {
#endif
typedef struct _DwordColumn {
/** Display Color Configuration */
ColorConfig color;
/** Editing Color Configuration */
ColorConfig edit;
/** Editing Digit Color Configuration */
ColorConfig editdigit;
/** Currently Displayed Value */
unsigned int value;
/** Index of the currently selected digit. */
int digit;
/** Array of individual digit increment amounts. */
unsigned int increments[8];
/** Minimum value */
unsigned int min;
/** Maximum value */
unsigned int max;
/** Whether to display a '0x' prefix. */
int prefix;
/** Whether the value is currently being edited. */
int inedit;
/** Indicator to denote that the control needs redrawing. */
int dirty;
}
/** The Dword Column is used to display and edit 32-bit integer values.
* The DwordColumn struct is used to represent a Dword Column.
*/
DwordColumn;
/** Return the current editing value of a Dword Column and set the
* Column to displaying.
*
* @param prCol Pointer to a DwordColumn struct representing the Dword
* Column.
* @return an unsigned int containing the edited value.
*/
unsigned int dwordcolumn_commit(DwordColumn* prCol);
/** Decrement a Dword Column value by the configured increment amount
* for the currently selected digit.
*
* @param prCol Pointer to a DwordColumn struct representing the Dword
* Column.
* @return 0 indicates success, less than 0 indicates failure.
*/
int dwordcolumn_decrement(DwordColumn* prCol);
/** Assign the specified value as the editing value of a Dword Column and
* set the Column to editing.
*
* @param prCol Pointer to a DwordColumn struct representing the Dword
* Column.
* @param value unsigned int containing the value to edit.
* @return 0 indicates success, less than 0 indicates failure.
*/
int dwordcolumn_edit(DwordColumn* prCol, unsigned int value);
/** Return a pointer to a ColorConfig struct representing the Color
* Configuration of a Dword Column while a digit is being edited.
*
* @param prCol Pointer to a DwordColumn struct representing the Dword
* Column.
* @return A pointer to a ColorConfig struct or NULL is returned.
*/
ColorConfig* dwordcolumn_get_digitcolor(DwordColumn* prCol);
/** Return a pointer to a ColorConfig struct representing the Color
* Configuration of a Dword Column while the value is being displayed.
*
* @param prCol Pointer to a DwordColumn struct representing the Dword
* Column.
* @return A pointer to a ColorConfig struct or NULL is returned.
*/
ColorConfig* dwordcolumn_get_displaycolor(DwordColumn *prCol);
/** Return a pointer to a ColorConfig struct representing the Color
* Configuration of a Dword Column while a value is being edited.
*
* @param prCol Pointer to a DwordColumn struct representing the Dword
* Column.
* @return A pointer to a ColorConfig struct or NULL is returned.
*/
ColorConfig* dwordcolumn_get_editcolor(DwordColumn *prCol);
/** Return the current increment amount of a Dword Column.
*
* @param prCol Pointer to a DwordColumn struct representing the Dword
* Column.
* @return unsigned int containing the current increment amount.
*/
unsigned int dwordcolumn_get_increment(DwordColumn* prCol);
/** Increment a Dword Column value by the configured increment amount
* for the currently selected digit.
*
* @param prCol Pointer to a DwordColumn struct representing the Dword
* Column.
* @return 0 indicates success, less than 0 indicates failure.
*/
int dwordcolumn_increment(DwordColumn* prCol);
/** Initialize a Dword Column.
*
* @param prCol Pointer to the DwordColumn struct to initialize.
* @return 0 indicates success, less than 0 indicates failure.
*/
int dwordcolumn_init(DwordColumn* prCol);
/** Indicate that a Dword Column needs redrawing.
*
* @param prCol Pointer to a DwordColumn struct representing the Dword
* Column.
* @return 0 indicates success, less than 0 indicates failure.
*/
int dwordcolumn_invalidate(DwordColumn* prCol);
/** Return an indication of whether a Dword Column is editing.
*
* @param prCol Pointer to a DwordColumn struct representing the Dword
* Column.
* @return 1 indicates that the column is editing, 0 indicates that the
* column is not editing.
*/
int dwordcolumn_is_editing(DwordColumn* prCol);
/** Return an indication of whether a Dword Column is displayed with a '0x'
* prefix.
*
* @param prCol Pointer to a DwordColumn struct representing the Dword
* Column.
* @return 1 indicates that the column is prefixed, 0 indicates that the
* column is not prefixed.
*/
int dwordcolumn_is_prefixed(DwordColumn* prCol);
/** Select the next digit to be active in a Dword Column.
*
* @param prCol Pointer to a DwordColumn struct representing the Dword
* Column.
* @return 0 indicates success, less than 0 indicates failure.
*/
int dwordcolumn_nextdigit(DwordColumn* prCol);
/** Select the previous digit to be active in a Dword Column.
*
* @param prCol Pointer to a DwordColumn struct representing the Dword
* Column.
* @return 0 indicates success, less than 0 indicates failure.
*/
int dwordcolumn_prevdigit(DwordColumn* prCol);
/** Redraw a Dword Column on the screen. Will only redraw if invalidated.
*
* @param prCol Pointer to a DwordColumn struct representing the Dword
* Column.
* @return 0 indicates success, less than 0 indicates failure.
*/
int dwordcolumn_redraw(DwordColumn* prCol);
/** Assign the selected editing digit in a Dword Column.
*
* @param prCol Pointer to a DwordColumn struct representing the Dword
* Column.
* @param digit int containing the digit (0-7) to select.
* @return 0 indicates success, less than 0 indicates failure.
*/
int dwordcolumn_set_digit(DwordColumn* prCol, int digit);
/** Indicate whether a Dword Column is editing.
*
* @param prCol Pointer to a DwordColumn struct representing the Dword
* Column.
* @param editing int containing a 0 to indicate that the column is not
* editing or a 1 to indicate that the column is editing.
* @return 0 indicates success, less than 0 indicates failure.
*/
int dwordcolumn_set_editing(DwordColumn* prCol, int editing);
/** Assign the increment amount for the specified digit in a Dword Column.
*
* @param prCol Pointer to a DwordColumn struct representing the Dword
* Column.
* @param digit int containing the digit (0-7) to set the increment for.
* @param amount unsigned int containing the increment amount.
* @return 0 indicates success, less than 0 indicates failure.
*/
int dwordcolumn_set_increment(DwordColumn* prCol, int digit,
unsigned int amount);
/** Assign the maximum value of a Dword Column.
*
* @param prCol Pointer to a DwordColumn struct representing the Dword
* Column.
* @param max unsigned int containing the value to assign.
* @return 0 indicates success, less than 0 indicates failure.
*/
int dwordcolumn_set_max(DwordColumn* prCol, unsigned int max);
/** Assign the minimum value of a Dword Column.
*
* @param prCol Pointer to a DwordColumn struct representing the Dword
* Column.
* @param min unsigned int containing the value to assign.
* @return 0 indicates success, less than 0 indicates failure.
*/
int dwordcolumn_set_min(DwordColumn* prCol, unsigned int min);
/** Indicate whether a Dword Column value is displayed using a '0x' prefix.
*
* @param prCol Pointer to a DwordColumn struct representing the Dword
* Column.
* @param prefixed int containing a 0 to indicate that column is not
* prefixed or a 1 to indicate that the column is prefixed.
* @return 0 indicates success, less than 0 indicates failure.
*/
int dwordcolumn_set_prefixed(DwordColumn* prCol, int prefixed);
/** Assign the value of a Dword Column.
*
* @param prCol Pointer to a DwordColumn struct representing the Dword
* Column.
* @param value insigned integer containing the 32-bit value to assign.
* @return 0 indicates success, less than 0 indicates failure.
*/
int dwordcolumn_setvalue(DwordColumn* prCol, unsigned int value);
#ifdef __cplusplus
}
#endif
#endif /* DWORDCOLUMN_H */