track focused and hovered elements
This commit is contained in:
parent
4bd827ce5c
commit
f7985f8c7f
6 changed files with 58 additions and 56 deletions
|
|
@ -54,8 +54,7 @@ fn ElemEvents! Ctx.slider_hor(&ctx,
|
|||
Point m = ctx.input.mouse.pos;
|
||||
elem.events = ctx.get_elem_events(elem);
|
||||
|
||||
if (parent.flags.has_focus && elem.events.mouse_hover &&
|
||||
point_in_rect(m, handle) && elem.events.mouse_hold) {
|
||||
if (ctx.elem_focus(elem) && elem.events.mouse_hold) {
|
||||
*value = calc_value(elem.bounds.x, m.x, elem.bounds.w, hw);
|
||||
elem.slider.handle.x = calc_slider(elem.bounds.x, elem.bounds.w-hw, *value);
|
||||
elem.events.update = true;
|
||||
|
|
@ -117,10 +116,8 @@ fn ElemEvents! Ctx.slider_ver(&ctx,
|
|||
|
||||
Point m = ctx.input.mouse.pos;
|
||||
elem.events = ctx.get_elem_events(elem);
|
||||
|
||||
if (parent.flags.has_focus && elem.events.mouse_hover &&
|
||||
point_in_rect(m, handle) &&
|
||||
elem.events.mouse_hold) {
|
||||
|
||||
if (ctx.elem_focus(elem) && elem.events.mouse_hold) {
|
||||
*value = calc_value(elem.bounds.y, m.y, elem.bounds.h, hh);
|
||||
elem.slider.handle.y = calc_slider(elem.bounds.y, elem.bounds.h-hh, *value);
|
||||
elem.events.update = true;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue