Mouse behavior for graphical tablet (#1)

This commit is contained in:
KikooDX 2021-02-26 10:30:22 +01:00
parent eec14bc99c
commit 9a0bbb8e95
2 changed files with 10 additions and 2 deletions

View File

@ -21,6 +21,10 @@ fn col(r: u8, g: u8, b: u8) ray.Color {
pub const mouse_enabled: bool = true;
pub const mouse_left_btn: c_int = 0;
pub const mouse_right_btn: c_int = 1;
// Set to true for better graphical tablet experience.
// * false: click to enter, draw, click to exit.
// * true: click to enter, draw, release to exit.
pub const mouse_graphic_tablet: bool = false;
pub const theme = .{
.background = ray.BLACK,

View File

@ -207,11 +207,15 @@ pub fn main() void {
}
const left_click: bool = ray.IsMouseButtonPressed(conf.mouse_left_btn);
const left_release: bool = ray.IsMouseButtonReleased(conf.mouse_left_btn);
const right_click: bool = ray.IsMouseButtonPressed(conf.mouse_right_btn);
const right_release: bool = ray.IsMouseButtonReleased(conf.mouse_right_btn);
const click: bool = left_click or right_click;
const release: bool = left_release or right_release;
const end_sel_event = if (conf.mouse_graphic_tablet) release else click;
// If click, get out of current mode and apply changes if necessary.
if (click and mouse.mode != Mouse.MouseMode.idle) {
// When end selection event, get out of current mode and apply changes if necessary.
if (end_sel_event and mouse.mode != Mouse.MouseMode.idle) {
defer mouse.mode = Mouse.MouseMode.wait;
// Select area.