diff options
Diffstat (limited to 'src/include/sdl2align32.h')
| -rw-r--r-- | src/include/sdl2align32.h | 192 |
1 files changed, 159 insertions, 33 deletions
diff --git a/src/include/sdl2align32.h b/src/include/sdl2align32.h index d1131fb2..4e0e97b5 100644 --- a/src/include/sdl2align32.h +++ b/src/include/sdl2align32.h @@ -358,12 +358,12 @@ typedef union my_SDL2_Event_s { my_SDL2_DropEvent_t drop; } my_SDL2_Event_t; -typedef struct SDL2_CommonEvent_32_s { +typedef struct __attribute__((packed)) SDL2_CommonEvent_32_s { uint32_t type; uint32_t timestamp; } my_SDL2_CommonEvent_32_t; -typedef struct SDL2_DisplayEvent_32_s { +typedef struct __attribute__((packed)) SDL2_DisplayEvent_32_s { uint32_t type; uint32_t timestamp; uint32_t display; @@ -374,7 +374,7 @@ typedef struct SDL2_DisplayEvent_32_s { int32_t data1; } my_SDL2_DisplayEvent_32_t; -typedef struct SDL2_WindowEvent_32_s { +typedef struct __attribute__((packed)) SDL2_WindowEvent_32_s { uint32_t type; uint32_t timestamp; uint32_t windowID; @@ -386,14 +386,14 @@ typedef struct SDL2_WindowEvent_32_s { int32_t data2; } my_SDL2_WindowEvent_32_t; -typedef struct SDL2_Keysym_32_s { +typedef struct __attribute__((packed)) SDL2_Keysym_32_s { int32_t scancode; int32_t sym; uint16_t mod; uint32_t unused; } my_SDL2_Keysym_32_t; -typedef struct SDL2_KeyboardEvent_32_s { +typedef struct __attribute__((packed)) SDL2_KeyboardEvent_32_s { uint32_t type; uint32_t timestamp; uint32_t windowID; @@ -404,7 +404,7 @@ typedef struct SDL2_KeyboardEvent_32_s { my_SDL2_Keysym_32_t keysym; } my_SDL2_KeyboardEvent_32_t; -typedef struct SDL2_TextEditingEvent_32_s { +typedef struct __attribute__((packed)) SDL2_TextEditingEvent_32_s { uint32_t type; uint32_t timestamp; uint32_t windowID; @@ -414,7 +414,7 @@ typedef struct SDL2_TextEditingEvent_32_s { } my_SDL2_TextEditingEvent_32_t; -typedef struct SDL2_TextEditingExtEvent_32_s { +typedef struct __attribute__((packed)) SDL2_TextEditingExtEvent_32_s { uint32_t type; uint32_t timestamp; uint32_t windowID; @@ -423,14 +423,14 @@ typedef struct SDL2_TextEditingExtEvent_32_s { int32_t length; } my_SDL2_TextEditingExtEvent_32_t; -typedef struct SDL2_TextInputEvent_32_s { +typedef struct __attribute__((packed)) SDL2_TextInputEvent_32_s { uint32_t type; uint32_t timestamp; uint32_t windowID; char text[32]; } my_SDL2_TextInputEvent_32_t; -typedef struct SDL2_MouseMotionEvent_32_s { +typedef struct __attribute__((packed)) SDL2_MouseMotionEvent_32_s { uint32_t type; uint32_t timestamp; uint32_t windowID; @@ -442,7 +442,7 @@ typedef struct SDL2_MouseMotionEvent_32_s { int32_t yrel; } my_SDL2_MouseMotionEvent_32_t; -typedef struct SDL2_MouseButtonEvent_32_s { +typedef struct __attribute__((packed)) SDL2_MouseButtonEvent_32_s { uint32_t type; uint32_t timestamp; uint32_t windowID; @@ -455,7 +455,7 @@ typedef struct SDL2_MouseButtonEvent_32_s { int32_t y; } my_SDL2_MouseButtonEvent_32_t; -typedef struct SDL2_MouseWheelEvent_32_s { +typedef struct __attribute__((packed)) SDL2_MouseWheelEvent_32_s { uint32_t type; uint32_t timestamp; uint32_t windowID; @@ -469,7 +469,7 @@ typedef struct SDL2_MouseWheelEvent_32_s { int32_t mouseY; } my_SDL2_MouseWheelEvent_32_t; -typedef struct SDL2_JoyAxisEvent_32_s { +typedef struct __attribute__((packed)) SDL2_JoyAxisEvent_32_s { uint32_t type; uint32_t timestamp; int32_t which; @@ -482,7 +482,7 @@ typedef struct SDL2_JoyAxisEvent_32_s { } my_SDL2_JoyAxisEvent_32_t; -typedef struct SDL2_JoyBallEvent_32_s { +typedef struct __attribute__((packed)) SDL2_JoyBallEvent_32_s { uint32_t type; uint32_t timestamp; int32_t which; @@ -494,7 +494,7 @@ typedef struct SDL2_JoyBallEvent_32_s { int16_t yrel; } my_SDL2_JoyBallEvent_32_t; -typedef struct SDL2_JoyHatEvent_32_s { +typedef struct __attribute__((packed)) SDL2_JoyHatEvent_32_s { uint32_t type; uint32_t timestamp; int32_t which; @@ -504,7 +504,7 @@ typedef struct SDL2_JoyHatEvent_32_s { uint8_t padding2; } my_SDL2_JoyHatEvent_32_t; -typedef struct SDL2_JoyButtonEvent_32_s { +typedef struct __attribute__((packed)) SDL2_JoyButtonEvent_32_s { uint32_t type; uint32_t timestamp; int32_t which; @@ -514,21 +514,21 @@ typedef struct SDL2_JoyButtonEvent_32_s { uint8_t padding2; } my_SDL2_JoyButtonEvent_32_t; -typedef struct SDL2_JoyDeviceEvent_32_s { +typedef struct __attribute__((packed)) SDL2_JoyDeviceEvent_32_s { uint32_t type; uint32_t timestamp; int32_t which; } my_SDL2_JoyDeviceEvent_32_t; -typedef struct SDL2_JoyBatteryEvent_32_s { +typedef struct __attribute__((packed)) SDL2_JoyBatteryEvent_32_s { uint32_t type; uint32_t timestamp; int32_t which; int32_t level; } my_SDL2_JoyBatteryEvent_32_t; -typedef struct SDL2_ControllerAxisEvent_32_s { +typedef struct __attribute__((packed)) SDL2_ControllerAxisEvent_32_s { uint32_t type; uint32_t timestamp; int32_t which; @@ -541,7 +541,7 @@ typedef struct SDL2_ControllerAxisEvent_32_s { } my_SDL2_ControllerAxisEvent_32_t; -typedef struct SDL2_ControllerButtonEvent_32_s { +typedef struct __attribute__((packed)) SDL2_ControllerButtonEvent_32_s { uint32_t type; uint32_t timestamp; int32_t which; @@ -552,13 +552,13 @@ typedef struct SDL2_ControllerButtonEvent_32_s { } my_SDL2_ControllerButtonEvent_32_t; -typedef struct SDL2_ControllerDeviceEvent_32_s { +typedef struct __attribute__((packed)) SDL2_ControllerDeviceEvent_32_s { uint32_t type; uint32_t timestamp; int32_t which; } my_SDL2_ControllerDeviceEvent_32_t; -typedef struct SDL2_ControllerTouchpadEvent_32_s { +typedef struct __attribute__((packed)) SDL2_ControllerTouchpadEvent_32_s { uint32_t type; uint32_t timestamp; int32_t which; @@ -569,7 +569,7 @@ typedef struct SDL2_ControllerTouchpadEvent_32_s { float pressure; } my_SDL2_ControllerTouchpadEvent_32_t; -typedef struct SDL2_ControllerSensorEvent_32_s { +typedef struct __attribute__((packed)) SDL2_ControllerSensorEvent_32_s { uint32_t type; uint32_t timestamp; int32_t which; @@ -578,7 +578,7 @@ typedef struct SDL2_ControllerSensorEvent_32_s { uint64_t timestamp_us; } my_SDL2_ControllerSensorEvent_32_t; -typedef struct SDL2_AudioDeviceEvent_32_s { +typedef struct __attribute__((packed)) SDL2_AudioDeviceEvent_32_s { uint32_t type; uint32_t timestamp; uint32_t which; @@ -588,7 +588,7 @@ typedef struct SDL2_AudioDeviceEvent_32_s { uint8_t padding3; } my_SDL2_AudioDeviceEvent_32_t; -typedef struct SDL2_TouchFingerEvent_32_s { +typedef struct __attribute__((packed)) SDL2_TouchFingerEvent_32_s { uint32_t type; uint32_t timestamp; int64_t touchId; @@ -601,7 +601,7 @@ typedef struct SDL2_TouchFingerEvent_32_s { uint32_t windowID; } my_SDL2_TouchFingerEvent_32_t; -typedef struct SDL2_MultiGestureEvent_32_s { +typedef struct __attribute__((packed)) SDL2_MultiGestureEvent_32_s { uint32_t type; uint32_t timestamp; int64_t touchId; @@ -614,7 +614,7 @@ typedef struct SDL2_MultiGestureEvent_32_s { } my_SDL2_MultiGestureEvent_32_t; -typedef struct SDL2_DollarGestureEvent_32_s { +typedef struct __attribute__((packed)) SDL2_DollarGestureEvent_32_s { uint32_t type; uint32_t timestamp; int64_t touchId; @@ -625,14 +625,14 @@ typedef struct SDL2_DollarGestureEvent_32_s { float y; } my_SDL2_DollarGestureEvent_32_t; -typedef struct SDL2_DropEvent_32_s { +typedef struct __attribute__((packed)) SDL2_DropEvent_32_s { uint32_t type; uint32_t timestamp; ptr_t file; uint32_t windowID; } my_SDL2_DropEvent_32_t; -typedef struct SDL2_SensorEvent_32_s { +typedef struct __attribute__((packed)) SDL2_SensorEvent_32_s { uint32_t type; uint32_t timestamp; int32_t which; @@ -641,13 +641,13 @@ typedef struct SDL2_SensorEvent_32_s { } my_SDL2_SensorEvent_32_t; -typedef struct SDL2_QuitEvent_32_s { +typedef struct __attribute__((packed)) SDL2_QuitEvent_32_s { uint32_t type; uint32_t timestamp; } my_SDL2_QuitEvent_32_t; -typedef struct SDL2_UserEvent_32_s { +typedef struct __attribute__((packed)) SDL2_UserEvent_32_s { uint32_t type; uint32_t timestamp; uint32_t windowID; @@ -656,14 +656,14 @@ typedef struct SDL2_UserEvent_32_s { ptr_t data2; } my_SDL2_UserEvent_32_t; -typedef struct SDL2_SysWMEvent_32_s { +typedef struct __attribute__((packed)) SDL2_SysWMEvent_32_s { uint32_t type; uint32_t timestamp; ptr_t msg; } my_SDL2_SysWMEvent_32_t; -typedef union my_SDL2_Event_32_s { +typedef union __attribute__((packed)) my_SDL2_Event_32_s { uint32_t type; my_SDL2_CommonEvent_32_t common; my_SDL2_DisplayEvent_32_t display; @@ -761,11 +761,137 @@ typedef enum SDL2_EventType { SDL2_LASTEVENT = 0xFFFF } SDL2_EventType; +typedef struct my_SDL2_Palette_s { + int ncolors; + void* colors; + uint32_t version; + int refcount; +} my_SDL2_Palette_t; + +typedef struct my_SDL2_PixelFormat_s { + uint32_t format; + my_SDL2_Palette_t* palette; + uint8_t BitsPerPixel; + uint8_t BytesPerPixel; + uint8_t padding[2]; + uint32_t Rmask; + uint32_t Gmask; + uint32_t Bmask; + uint32_t Amask; + uint8_t Rloss; + uint8_t Gloss; + uint8_t Bloss; + uint8_t Aloss; + uint8_t Rshift; + uint8_t Gshift; + uint8_t Bshift; + uint8_t Ashift; + int refcount; + struct my_SDL2_PixelFormat_s* next; +} my_SDL2_PixelFormat_t; + +typedef struct my_SDL2_Rect_s { + int x, y; + int w, h; +} my_SDL2_Rect_t; + +typedef struct my_SDL2_Surface_s { + uint32_t flags; + my_SDL2_PixelFormat_t* format; + int w, h; + int pitch; + void* pixels; + void* userdata; + int locked; + void* list_blitmap; + my_SDL2_Rect_t clip_rect; + void* map; + int refcount; +} my_SDL2_Surface_t; + +typedef struct __attribute__((packed)) my_SDL2_Palette_32_s { + int ncolors; + ptr_t colors; + uint32_t version; + int refcount; +} my_SDL2_Palette_32_t; + +typedef struct __attribute__((packed)) my_SDL2_PixelFormat_32_s { + uint32_t format; + ptr_t palette; + uint8_t BitsPerPixel; + uint8_t BytesPerPixel; + uint8_t padding[2]; + uint32_t Rmask; + uint32_t Gmask; + uint32_t Bmask; + uint32_t Amask; + uint8_t Rloss; + uint8_t Gloss; + uint8_t Bloss; + uint8_t Aloss; + uint8_t Rshift; + uint8_t Gshift; + uint8_t Bshift; + uint8_t Ashift; + int refcount; + ptr_t next; +} my_SDL2_PixelFormat_32_t; + +typedef struct __attribute__((packed)) my_SDL2_Rect_32_s { + int x, y; + int w, h; +} my_SDL2_Rect_32_t; + +typedef struct __attribute__((packed)) my_SDL2_Surface_32_s { + uint32_t flags; + ptr_t format; + int w, h; + int pitch; + ptr_t pixels; + ptr_t userdata; + int locked; + ptr_t list_blitmap; + my_SDL2_Rect_32_t clip_rect; + ptr_t map; + int refcount; +} my_SDL2_Surface_32_t; + +// simplified RWops +typedef struct my_SDL2_RWops_s { + void* size; + void* seek; + void* read; + void* write; + void* close; + uint32_t type; + void* hidden[3]; +} my_SDL2_RWops_t; + +typedef struct __attribute__((packed)) my_SDL2_RWops_32_s { + ptr_t size; + ptr_t seek; + ptr_t read; + ptr_t write; + ptr_t close; + uint32_t type; + void* hidden[3]; // not converting hidden, just moving it +} my_SDL2_RWops_32_t; + void inplace_SDL2_DisplayMode_to_64(void* a); void inplace_SDL2_DisplayMode_to_32(void* a); void convert_SDL2_DisplayMode_to_32(void* dst_, void* src_); void convert_SDL2_Event_to_32(void* dst_, const void* src_); -void convert_SDL2_Event_to_64(void* dst_, const void* src_); + +void inplace_SDL2_Palette_to_32(void* a); +void inplace_SDL2_PixelFormat_to_32(void* a); +void inplace_SDL2_Surface_to_32(void* a); +void inplace_SDL2_Palette_to_64(void* a); +void inplace_SDL2_PixelFormat_to_64(void* a); +void inplace_SDL2_Surface_to_64(void* a); + +void inplace_SDL2_RWops_to_32(void* a); +void inplace_SDL2_RWops_to_64(void* a); #endif // __MY_SDL2ALIGN32_H_ \ No newline at end of file |