I need some help with wrapping some C code.
Here’s the C code:
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
typedefstructuiControl uiControl;
structuiControl{
uint32_t Signature;
uint32_t OSSignature;
uint32_t TypeSignature;
void(*Destroy)(uiControl*);
uintptr_t(*Handle)(uiControl*);
uiControl*(*Parent)(uiControl*);
void(*SetParent)(uiControl*,uiControl*);
int(*Toplevel)(uiControl*);
int(*Visible)(uiControl*);
void(*Show)(uiControl*);
void(*Hide)(uiControl*);
int(*Enabled)(uiControl*);
void(*Enable)(uiControl*);
void(*Disable)(uiControl*);
};
And here’s my attempt at wrapping it:
Monkey
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
ClassuiControl ExtendsVoid="uiControl"
FieldSignature:uint32_t
FieldOSSignature:uint32_t
FieldTypeSignature:uint32_t
FieldDestroy:Void(c:uiControl)
FieldHandle:uintptr_t(c:uiControl)
FieldParent:uiControl(c:uiControl)
FieldSetParent:Void(c:uiControl,p:uiControl)
FieldToplevel:Int(c:uiControl)
FieldVisible:Int(c:uiControl)
FieldShow:Void(c:uiControl)
FieldHide:Void(c:uiControl)
FieldEnabled:Int(c:uiControl)
FieldEnable:Void(c:uiControl)
FieldDisable:Void(c:uiControl)
End
It doesn’t seem to be correct though…
It FEELS like those should me wrapped as Method.
Something like
Method Enabled:Int(), but the error I get is the same for either Field or Method.
test1_test1.cpp(200): error C2027: use of undefined type ‘uiRadioButtons’
ui.h(224): note: see declaration of ‘uiRadioButtons’
test1_test1.cpp(200): error C2227: left of ‘->Enabled’ must point to class/struct/union/generic type