mirror of
https://github.com/Ed94/Odin.git
synced 2026-06-13 01:21:38 -07:00
41 lines
1010 B
Odin
41 lines
1010 B
Odin
package sdl2
|
|
|
|
import "core:c"
|
|
|
|
when ODIN_OS == .Windows {
|
|
@(ignore_duplicates)
|
|
foreign import lib "SDL2.lib"
|
|
} else {
|
|
@(ignore_duplicates)
|
|
foreign import lib "system:SDL2"
|
|
}
|
|
|
|
TouchID :: distinct i64
|
|
FingerID :: distinct i64
|
|
|
|
TouchDeviceType :: enum c.int {
|
|
INVALID = -1,
|
|
DIRECT, /* touch screen with window-relative coordinates */
|
|
INDIRECT_ABSOLUTE, /* trackpad with absolute device coordinates */
|
|
INDIRECT_RELATIVE, /* trackpad with screen cursor-relative coordinates */
|
|
}
|
|
|
|
Finger :: struct {
|
|
id: FingerID,
|
|
x: f32,
|
|
y: f32,
|
|
pressure: f32,
|
|
}
|
|
|
|
TOUCH_MOUSEID :: ~u32(0)
|
|
MOUSE_TOUCH_ID :: TouchID(-1)
|
|
|
|
@(default_calling_convention="c", link_prefix="SDL_")
|
|
foreign lib {
|
|
GetNumTouchDevices :: proc() -> c.int ---
|
|
GetTouchDevice :: proc(index: c.int) -> TouchID ---
|
|
GetTouchDeviceType :: proc(touchID: TouchID) -> TouchDeviceType ---
|
|
GetNumTouchFingers :: proc(touchID: TouchID) -> c.int ---
|
|
GetTouchFinger :: proc(touchID: TouchID, index: c.int) -> ^Finger ---
|
|
}
|