Files
Odin/vendor/sdl2/sdl_touch.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 ---
}