ast2 enum support
This commit is contained in:
parent
6d1c428b6e
commit
cadf16293d
5 changed files with 200 additions and 9 deletions
|
|
@ -43,6 +43,54 @@ typedef struct A22 { int **f1; int *f2[123+132]; } A22;
|
|||
union U1 {int f1; float f2; };
|
||||
typedef union U2 { int **f1; int abc[123+132]; } U2;
|
||||
|
||||
// Enums
|
||||
|
||||
// Issue #159
|
||||
#define NK_FLAG(x) (1 << (x))
|
||||
enum nk_panel_type {
|
||||
NK_PANEL_NONE = 0,
|
||||
NK_PANEL_WINDOW = NK_FLAG(0),
|
||||
NK_PANEL_GROUP = NK_FLAG(1),
|
||||
NK_PANEL_POPUP = NK_FLAG(2),
|
||||
NK_PANEL_CONTEXTUAL = NK_FLAG(4),
|
||||
NK_PANEL_COMBO = NK_FLAG(5),
|
||||
NK_PANEL_MENU = NK_FLAG(6),
|
||||
NK_PANEL_TOOLTIP = NK_FLAG(7)
|
||||
};
|
||||
enum nk_panel_set {
|
||||
NK_PANEL_SET_NONBLOCK = NK_PANEL_CONTEXTUAL|NK_PANEL_COMBO|NK_PANEL_MENU|NK_PANEL_TOOLTIP,
|
||||
NK_PANEL_SET_POPUP = NK_PANEL_SET_NONBLOCK|NK_PANEL_POPUP,
|
||||
NK_PANEL_SET_SUB = NK_PANEL_SET_POPUP|NK_PANEL_GROUP
|
||||
};
|
||||
|
||||
// Issue #171
|
||||
typedef enum VSColorFamily {
|
||||
/* all planar formats */
|
||||
cmGray = 1000000,
|
||||
cmRGB = 2000000,
|
||||
cmYUV = 3000000,
|
||||
cmYCoCg = 4000000,
|
||||
/* special for compatibility */
|
||||
cmCompat = 9000000
|
||||
} VSColorFamily;
|
||||
|
||||
typedef enum VSPresetFormat {
|
||||
pfNone = 0,
|
||||
|
||||
pfGray8 = cmGray + 10,
|
||||
pfGray16,
|
||||
|
||||
pfYUV420P8 = cmYUV + 10,
|
||||
pfYUV422P8,
|
||||
|
||||
pfRGB24 = cmRGB + 10,
|
||||
pfRGB27,
|
||||
/* test */
|
||||
|
||||
pfCompatBGR32 = cmCompat + 10,
|
||||
pfCompatYUY2
|
||||
} VSPresetFormat;
|
||||
|
||||
// Anonymous
|
||||
//typedef struct { char a1; };
|
||||
|
||||
|
|
@ -101,6 +149,54 @@ typedef struct A22 { int **f1; int *f2[123+132]; } A22;
|
|||
union U1 {int f1; float f2; };
|
||||
typedef union U2 { int **f1; int abc[123+132]; } U2;
|
||||
|
||||
// Enums
|
||||
|
||||
// Issue #159
|
||||
#define NK_FLAG(x) (1 << (x))
|
||||
enum nk_panel_type {
|
||||
NK_PANEL_NONE = 0,
|
||||
NK_PANEL_WINDOW = NK_FLAG(0),
|
||||
NK_PANEL_GROUP = NK_FLAG(1),
|
||||
NK_PANEL_POPUP = NK_FLAG(2),
|
||||
NK_PANEL_CONTEXTUAL = NK_FLAG(4),
|
||||
NK_PANEL_COMBO = NK_FLAG(5),
|
||||
NK_PANEL_MENU = NK_FLAG(6),
|
||||
NK_PANEL_TOOLTIP = NK_FLAG(7)
|
||||
};
|
||||
enum nk_panel_set {
|
||||
NK_PANEL_SET_NONBLOCK = NK_PANEL_CONTEXTUAL|NK_PANEL_COMBO|NK_PANEL_MENU|NK_PANEL_TOOLTIP,
|
||||
NK_PANEL_SET_POPUP = NK_PANEL_SET_NONBLOCK|NK_PANEL_POPUP,
|
||||
NK_PANEL_SET_SUB = NK_PANEL_SET_POPUP|NK_PANEL_GROUP
|
||||
};
|
||||
|
||||
// Issue #171
|
||||
typedef enum VSColorFamily {
|
||||
/* all planar formats */
|
||||
cmGray = 1000000,
|
||||
cmRGB = 2000000,
|
||||
cmYUV = 3000000,
|
||||
cmYCoCg = 4000000,
|
||||
/* special for compatibility */
|
||||
cmCompat = 9000000
|
||||
} VSColorFamily;
|
||||
|
||||
typedef enum VSPresetFormat {
|
||||
pfNone = 0,
|
||||
|
||||
pfGray8 = cmGray + 10,
|
||||
pfGray16,
|
||||
|
||||
pfYUV420P8 = cmYUV + 10,
|
||||
pfYUV422P8,
|
||||
|
||||
pfRGB24 = cmRGB + 10,
|
||||
pfRGB27,
|
||||
/* test */
|
||||
|
||||
pfCompatBGR32 = cmCompat + 10,
|
||||
pfCompatYUY2
|
||||
} VSPresetFormat;
|
||||
|
||||
// Anonymous
|
||||
//typedef struct { char a1; };
|
||||
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@ cOverride:
|
|||
type
|
||||
A1* = A0
|
||||
|
||||
cImport("include/tast2.h", flags="-d -f:ast2")
|
||||
cImport("include/tast2.h", flags="-d -f:ast2 -ENK_")
|
||||
|
||||
proc testFields(t: typedesc, fields: Table[string, string] = initTable[string, string]()) =
|
||||
var
|
||||
|
|
@ -86,4 +86,21 @@ assert U1 is object
|
|||
assert sizeof(U1) == sizeof(cfloat)
|
||||
|
||||
assert U2 is object
|
||||
assert sizeof(U2) == 256 * sizeof(cint)
|
||||
assert sizeof(U2) == 256 * sizeof(cint)
|
||||
|
||||
assert PANEL_WINDOW == 1
|
||||
assert PANEL_GROUP == 2
|
||||
assert PANEL_POPUP == 4
|
||||
assert PANEL_CONTEXTUAL == 16
|
||||
assert PANEL_COMBO == 32
|
||||
assert PANEL_MENU == 64
|
||||
assert PANEL_TOOLTIP == 128
|
||||
assert PANEL_SET_NONBLOCK == 240
|
||||
assert PANEL_SET_POPUP == 244
|
||||
assert PANEL_SET_SUB == 246
|
||||
|
||||
assert cmGray == 1000000
|
||||
assert pfGray16 == 1000011
|
||||
assert pfYUV422P8 == pfYUV420P8 + 1
|
||||
assert pfRGB27 == cmRGB.VSPresetFormat + 11
|
||||
assert pfCompatYUY2 == pfCompatBGR32 + 1
|
||||
Loading…
Add table
Add a link
Reference in a new issue