Functions that receive ConfigFlags now use the enum instead of a c_uint (Fixes #25)

This commit is contained in:
Not-Nik 2022-08-23 16:10:44 +02:00
parent 55d024fbe3
commit 3a7b9f0009
No known key found for this signature in database
GPG Key ID: 08BB71E672DB3BFD
2 changed files with 7 additions and 4 deletions

View File

@ -50,7 +50,7 @@ def fix_pointer(name: str, t: str):
def fix_enums(arg_name, arg_type, func_name):
# Hacking specifc enums in here
# Raylib doesn't use the enums but rather the resulting ints
if arg_type == "int":
if arg_type == "int" or arg_type == "unsigned int":
if arg_name == "key":
arg_type = "KeyboardKey"
elif arg_name == "button":
@ -62,6 +62,8 @@ def fix_enums(arg_name, arg_type, func_name):
arg_type = "CameraMode"
elif arg_name == "gesture":
arg_type = "Gestures"
elif arg_name == "flags" and func_name in ["SetWindowState", "ClearWindowState", "SetConfigFlags"]:
arg_type = "ConfigFlags"
return arg_type

View File

@ -9,6 +9,7 @@ const Camera2D = rl.Camera2D;
const Camera3D = rl.Camera3D;
const CameraMode = rl.CameraMode;
const Color = rl.Color;
const ConfigFlags = rl.ConfigFlags;
const FilePathList = rl.FilePathList;
const Font = rl.Font;
const GamepadButton = rl.GamepadButton;
@ -63,8 +64,8 @@ pub extern fn IsWindowMaximized() bool;
pub extern fn IsWindowFocused() bool;
pub extern fn IsWindowResized() bool;
pub extern fn IsWindowState(flag: c_uint) bool;
pub extern fn SetWindowState(flags: c_uint) void;
pub extern fn ClearWindowState(flags: c_uint) void;
pub extern fn SetWindowState(flags: ConfigFlags) void;
pub extern fn ClearWindowState(flags: ConfigFlags) void;
pub extern fn ToggleFullscreen() void;
pub extern fn MaximizeWindow() void;
pub extern fn MinimizeWindow() void;
@ -147,7 +148,7 @@ pub extern fn GetTime() f64;
pub extern fn GetRandomValue(min: c_int, max: c_int) c_int;
pub extern fn SetRandomSeed(seed: c_uint) void;
pub extern fn TakeScreenshot(fileName: [*c]const u8) void;
pub extern fn SetConfigFlags(flags: c_uint) void;
pub extern fn SetConfigFlags(flags: ConfigFlags) void;
pub extern fn TraceLog(logLevel: c_int, text: [*c]const u8, ...) void;
pub extern fn SetTraceLogLevel(logLevel: c_int) void;
pub extern fn MemAlloc(size: c_int) *anyopaque;