File: GSCodingFlags.h

package info (click to toggle)
gnustep-gui 0.32.0-4
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 15,348 kB
  • sloc: objc: 178,763; ansic: 24,089; cpp: 664; yacc: 464; sh: 90; makefile: 72
file content (389 lines) | stat: -rw-r--r-- 11,048 bytes parent folder | download | duplicates (2)
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
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
/*
   GSCodingFlags.h

   Define flags used in Cocoa for keyed coding.

   Copyright (C) 2019 Free Software Foundation, Inc.

   Author: Fred Kiefer <fredkiefer@gmx.de>
   Date: 12.2019
   Original code by: Jonathan Gillaspie <jonathan.gillaspie@testplant.com>,
                     Frank Le Grand <frank.legrand@testplant.com>
                     Paul Landers <paul.landers@testplant.com> and
                     Doug Simons <doug.simons@testplant.com>

   This file is part of the GNUstep GUI Library.

   This library is free software; you can redistribute it and/or
   modify it under the terms of the GNU Lesser General Public
   License as published by the Free Software Foundation; either
   version 2 of the License, or (at your option) any later version.

   This library is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.	 See the GNU
   Lesser General Public License for more details.

   You should have received a copy of the GNU Lesser General Public
   License along with this library; see the file COPYING.LIB.
   If not, see <http://www.gnu.org/licenses/> or write to the
   Free Software Foundation, 51 Franklin Street, Fifth Floor,
   Boston, MA 02110-1301, USA.
*/
#ifndef _GNUstep_H_GSCodingFlags
#define _GNUstep_H_GSCodingFlags

#import "GNUstepGUI/GSNibLoading.h"

typedef struct _GSCellFlags {
#if GS_WORDS_BIGENDIAN == 1
  unsigned int        state:1;
  unsigned int        highlighted:1;
  unsigned int        disabled:1;
  unsigned int        editable:1;

  unsigned int        type:2;
  unsigned int        vCentered:1;
  unsigned int        hCentered:1;

  unsigned int        bordered:1;
  unsigned int        bezeled:1;
  unsigned int        selectable:1;
  unsigned int        scrollable:1;

  unsigned int        continuous:1;
  unsigned int        actOnMouseDown:1;
  unsigned int        isLeaf:1;
  unsigned int        invalidObjectValue:1;

  unsigned int        invalidFont:1;
  unsigned int        lineBreakMode:3;

  unsigned int        weakTargetHelperFlag:1;
  unsigned int        allowsAppearanceEffects:1;
  unsigned int        singleLineMode:1;
  unsigned int        actOnMouseDragged:1;

  unsigned int        isLoaded:1;
  unsigned int        truncateLastLine:1;
  unsigned int        dontActOnMouseUp:1;
  unsigned int        isWhite:1;

  unsigned int        useUserKeyEquivalent:1;
  unsigned int        showsFirstResponder:1;
  unsigned int        focusRingType:2;
#else
  unsigned int        focusRingType:2;
  unsigned int        showsFirstResponder:1;
  unsigned int        useUserKeyEquivalent:1;
  unsigned int        isWhite:1;
  unsigned int        dontActOnMouseUp:1;
  unsigned int        truncateLastLine:1;
  unsigned int        isLoaded:1;
  unsigned int        actOnMouseDragged:1;
  unsigned int        singleLineMode:1;
  unsigned int        allowsAppearanceEffects:1;
  unsigned int        weakTargetHelperFlag:1;
  unsigned int        lineBreakMode:3;
  unsigned int        invalidFont:1;
  unsigned int        invalidObjectValue:1;
  unsigned int        isLeaf:1;
  unsigned int        actOnMouseDown:1;
  unsigned int        continuous:1;
  unsigned int        scrollable:1;
  unsigned int        selectable:1;
  unsigned int        bezeled:1;
  unsigned int        bordered:1;
  unsigned int        hCentered:1;
  unsigned int        vCentered:1;
  unsigned int        type:2;
  unsigned int        editable:1;
  unsigned int        disabled:1;
  unsigned int        highlighted:1;
  unsigned int        state:1;
#endif
} GSCellFlags;

typedef union _GSCellFlagsUnion
{
  GSCellFlags flags;
  uint32_t    value;
} GSCellFlagsUnion;

typedef struct _GSCellflags2
{
#if GS_WORDS_BIGENDIAN == 1
  unsigned int unused1:1;
  unsigned int allowsEditingTextAttributes:1;
  unsigned int importsGraphics:1;
  unsigned int alignment:3;
  unsigned int refusesFirstResponder:1;
  unsigned int allowsMixedState:1;
  unsigned int unused2:1;
  unsigned int sendsActionOnEndEditing:1;
  unsigned int unused3:2;
  unsigned int controlSize:3;
  unsigned int unused4:4;
  unsigned int doesNotAllowUndo:1;
  unsigned int lineBreakMode:3;
  unsigned int unused5:1;
  unsigned int controlTint:3;
  unsigned int unused6:5;
#else
  unsigned int unused6:5;
  unsigned int controlTint:3;
  unsigned int unused5:1;
  unsigned int lineBreakMode:3;
  unsigned int doesNotAllowUndo:1;
  unsigned int unused4:4;
  unsigned int controlSize:3;
  unsigned int unused3:2;
  unsigned int sendsActionOnEndEditing:1;
  unsigned int unused2:1;
  unsigned int allowsMixedState:1;
  unsigned int refusesFirstResponder:1;
  unsigned int alignment:3;
  unsigned int importsGraphics:1;
  unsigned int allowsEditingTextAttributes:1;
  unsigned int unused1:1;
#endif
} GSCellFlags2;

typedef union _GSCellFlags2Union
{
  GSCellFlags2 flags;
  uint32_t     value;
} GSCellFlags2Union;

typedef struct _GSButtonCellFlags
{
#if GS_WORDS_BIGENDIAN == 1
  unsigned int isPushin:1;
  unsigned int changeContents:1;
  unsigned int changeBackground:1;
  unsigned int changeGray:1;

  unsigned int highlightByContents:1;
  unsigned int highlightByBackground:1;
  unsigned int highlightByGray:1;
  unsigned int drawing:1;

  unsigned int isBordered:1;
  unsigned int imageDoesOverlap:1;
  unsigned int isHorizontal:1;
  unsigned int isBottomOrLeft:1;

  unsigned int isImageAndText:1;
  unsigned int isImageSizeDiff:1;
  unsigned int hasKeyEquiv:1;
  unsigned int lastState:1;

  unsigned int isTransparent:1;
  unsigned int inset:2; // inset:2
  unsigned int doesNotDimImage:1; //doesn't dim:1

  unsigned int gradient:3; // gradient:3
  unsigned int useButtonImageSource:1;

  unsigned int unused2:8; // alt mnemonic loc.
#else
  unsigned int unused2:8; // alt mnemonic loc.
  unsigned int useButtonImageSource:1;
  unsigned int gradient:3; // gradient:3
  unsigned int doesNotDimImage:1; // doesn't dim:1
  unsigned int inset:2; // inset:2
  unsigned int isTransparent:1;
  unsigned int lastState:1;
  unsigned int hasKeyEquiv:1;
  unsigned int isImageSizeDiff:1;
  unsigned int isImageAndText:1;
  unsigned int isBottomOrLeft:1;
  unsigned int isHorizontal:1;
  unsigned int imageDoesOverlap:1;
  unsigned int isBordered:1;
  unsigned int drawing:1;
  unsigned int highlightByGray:1;
  unsigned int highlightByBackground:1;
  unsigned int highlightByContents:1;
  unsigned int changeGray:1;
  unsigned int changeBackground:1;
  unsigned int changeContents:1;
  unsigned int isPushin:1;
#endif
} GSButtonCellFlags;

typedef union _GSButtonCellFlagsUnion
{
  GSButtonCellFlags flags;
  uint32_t          value;
} GSButtonCellFlagsUnion;

typedef struct _GSButtonCellFlags2 {
#if GS_WORDS_BIGENDIAN == 1
  unsigned int	keyEquivalentModifierMask:24;
  unsigned int	imageScaling:2;
  unsigned int	bezelStyle2:1;
  unsigned int	mouseInside:1;
  unsigned int	showsBorderOnlyWhileMouseInside:1;
  unsigned int	bezelStyle:3;
#else
  unsigned int	bezelStyle:3;
  unsigned int	showsBorderOnlyWhileMouseInside:1;
  unsigned int	mouseInside:1;
  unsigned int	bezelStyle2:1;
  unsigned int	imageScaling:2;
  unsigned int	keyEquivalentModifierMask:24;
#endif
} GSButtonCellFlags2;

typedef union _GSButtonCellFlags2Union
{
  GSButtonCellFlags2 flags;
  uint32_t           value;
} GSButtonCellFlags2Union;

typedef struct _GSvFlags
{
#if GS_WORDS_BIGENDIAN == 1
  unsigned int isHidden:1;
  unsigned int unused1:3;
  unsigned int unused2:4;
  unsigned int unused3:4;
  unsigned int unused4:4;
  unsigned int unused5:4;
  unsigned int unused6:3;
  unsigned int autoresizesSubviews:1;
  unsigned int unused7:2;
  unsigned int autoresizingMask:6;
#else
  unsigned int autoresizingMask:6;
  unsigned int unused7:2;
  unsigned int autoresizesSubviews:1;
  unsigned int unused6:3;
  unsigned int unused5:4;
  unsigned int unused4:4;
  unsigned int unused3:4;
  unsigned int unused2:4;
  unsigned int unused1:3;
  unsigned int isHidden:1;
#endif
} GSvFlags;

typedef union _GSvFlagsUnion
{
  GSvFlags flags;
  uint32_t value;
} GSvFlagsUnion;

typedef struct _GSTabViewTypeFlags
{
#if GS_WORDS_BIGENDIAN == 1
  unsigned int reserved1:1;
  unsigned int controlTint:3;
  unsigned int controlSize:2;
  unsigned int reserved2:18;
  unsigned int tabPosition:5;
  unsigned int tabViewBorderType:3;
#else
  unsigned int tabViewBorderType:3;
  unsigned int tabPosition:5;
  unsigned int reserved2:18;
  unsigned int controlSize:2;
  unsigned int controlTint:3;
  unsigned int reserved1:1;
#endif
} GSTabViewTypeFlags;

typedef union _GSTabViewTypeFlagsUnion
{
  GSTabViewTypeFlags flags;
  unsigned int       value;
} GSTabViewTypeFlagsUnion;

/*
 * Nib compatibility struct.  This structure is used to
 * pull the attributes out of the nib that we need to fill
 * in the flags.
 */
typedef struct _tableViewFlags
{
#if GS_WORDS_BIGENDIAN == 1
  unsigned int columnOrdering:1;
  unsigned int columnResizing:1;
  unsigned int drawsGrid:1;
  unsigned int emptySelection:1;
  unsigned int multipleSelection:1;
  unsigned int columnSelection:1;
  unsigned int unknown1:1;
  unsigned int columnAutosave:1;
  unsigned int alternatingRowBackgroundColors:1;
  unsigned int unknown2:3;
  unsigned int _unused:20;
#else
  unsigned int _unused:20;
  unsigned int unknown2:3;
  unsigned int alternatingRowBackgroundColors:1;
  unsigned int columnAutosave:1;
  unsigned int unknown1:1;
  unsigned int columnSelection:1;
  unsigned int multipleSelection:1;
  unsigned int emptySelection:1;
  unsigned int drawsGrid:1;
  unsigned int columnResizing:1;
  unsigned int columnOrdering:1;
#endif
} GSTableViewFlags;

typedef union _GSTableViewFlagsUnion
{
  GSTableViewFlags flags;
  uint32_t         value;
} GSTableViewFlagsUnion;

typedef union _GSWindowTemplateFlagsUnion
{
  GSWindowTemplateFlags  flags;
  uint32_t               value;
} GSWindowTemplateFlagsUnion;

typedef struct _GSMatrixFlags {
#if GS_WORDS_BIGENDIAN == 1
  unsigned int isHighlight:1;
  unsigned int isRadio:1;
  unsigned int isList:1;
  unsigned int allowsEmptySelection:1;
  unsigned int autoScroll:1;
  unsigned int selectionByRect:1;
  unsigned int drawCellBackground:1;
  unsigned int drawBackground:1;
  unsigned int autosizesCells:1;
  unsigned int drawingAncestor:1;
  unsigned int tabKeyTraversesCells:1;
  unsigned int tabKeyTraversesCellsExplicitly:1;
  unsigned int canSearchIncrementally:1;
  unsigned int unused:19;
#else
  unsigned int unused:19;
  unsigned int canSearchIncrementally:1;
  unsigned int tabKeyTraversesCellsExplicitly:1;
  unsigned int tabKeyTraversesCells:1;
  unsigned int drawingAncestor:1;
  unsigned int autosizesCells:1;
  unsigned int drawBackground:1;
  unsigned int drawCellBackground:1;
  unsigned int selectionByRect:1;
  unsigned int autoScroll:1;
  unsigned int allowsEmptySelection:1;
  unsigned int isList:1;
  unsigned int isRadio:1;
  unsigned int isHighlight:1;
#endif
} GSMatrixFlags;

typedef union _GSMatrixFlagsUnion
{
  GSMatrixFlags flags;
  unsigned int  value;
} GSMatrixFlagsUnion;

#endif // _GNUstep_H_GSCodingFlags