rustyray_sys/consts.rs
1use bitmask_enum::bitmask;
2
3#[repr(i32)]
4#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
5pub enum MouseButton {
6 Left,
7 Right,
8 Middle,
9 Side,
10 Extra,
11 Forward,
12 Back,
13}
14
15#[repr(i32)]
16#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
17pub enum MouseCursor {
18 Default,
19 Arrow,
20 Ibeam,
21 Crosshair,
22 PointingHand,
23 ResizeEW,
24 ResizeNS,
25 ResizeNWSE,
26 ResizeNESW,
27 ResizeAll,
28 NotAllowed,
29}
30
31/// System/Window config flags
32///
33/// **NOTE**: Every bit registers one state (use it with bit masks)
34///
35/// By default all flags are set to `0`
36#[bitmask(u32)]
37pub enum ConfigFlag {
38 /// Set to try enabling V-Sync on GPU
39 VsyncHint = 0x00000040,
40 /// Set to run program in fullscreen
41 FullscreenMode = 0x00000002,
42 /// Set to allow resizable window
43 WindowResizable = 0x00000004,
44 /// Set to disable window decoration (frame and buttons)
45 WindowUndecorated = 0x00000008,
46 /// Set to hide window
47 WindowHidden = 0x00000080,
48 /// Set to minimize window (iconify)
49 WindowMinimized = 0x00000200,
50 /// Set to maximize window (expanded to monitor)
51 WindowMaximized = 0x00000400,
52 /// Set to window non focused
53 WindowUnfocused = 0x00000800,
54 /// Set to window always on top
55 WindowTopmost = 0x00001000,
56 /// Set to allow windows running while
57 WindowAlwaysRun = 0x00000100,
58 /// Set to allow transparent framebuffer
59 WindowTransparent = 0x00000010,
60 /// Set to support HighDPI
61 WindowHighdpi = 0x00002000,
62 /// Set to support mouse passthrough, only supported when [ConfigFlag::WindowUndecorated]
63 WindowMousePassthrough = 0x00004000,
64 /// Set to run program in borderless windowed mode
65 BorderlessWindowedMode = 0x00008000,
66 /// Set to try enabling MSAA 4X
67 Msaa4xHint = 0x00000020,
68 /// Set to try enabling interlaced video format (for V3D)
69 InterlacedHint = 0x00010000,
70}