Skip to content

Commit

Permalink
fix handle titlebar
Browse files Browse the repository at this point in the history
  • Loading branch information
dzhou121 committed Aug 20, 2023
1 parent a8ea2cc commit 159b865
Showing 1 changed file with 17 additions and 21 deletions.
38 changes: 17 additions & 21 deletions src/views/handle_titlebar_area.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ use glazier::kurbo::Rect;

use crate::{
action::{set_handle_titlebar, toggle_window_maximized},
event::Event,
event::{Event, EventListener},
id::Id,
view::View,
ViewContext,
Expand All @@ -17,10 +17,19 @@ pub struct HandleTitlebarArea<V: View> {

pub fn handle_titlebar_area<V: View>(child: impl FnOnce() -> V) -> HandleTitlebarArea<V> {
let (id, child) = ViewContext::new_id_with_child(child);
HandleTitlebarArea { id, child }.on_double_click(|_| {
toggle_window_maximized();
true
})
HandleTitlebarArea { id, child }
.on_event(EventListener::PointerDown, |_| {
set_handle_titlebar(true);
true
})
.on_event(EventListener::PointerUp, |_| {
set_handle_titlebar(false);
true
})
.on_double_click(|_| {
toggle_window_maximized();
true
})
}

impl<V: View> View for HandleTitlebarArea<V> {
Expand Down Expand Up @@ -74,23 +83,10 @@ impl<V: View> View for HandleTitlebarArea<V> {
id_path: Option<&[Id]>,
event: Event,
) -> bool {
if !self.child.event_main(cx, id_path, event.clone()) {
match &event {
Event::PointerDown(pointer_event) => {
if pointer_event.button.is_primary() {
set_handle_titlebar(true);
}
}
Event::PointerUp(pointer_event) => {
if pointer_event.button.is_primary() {
set_handle_titlebar(false);
}
}
_ => (),
}
false
if cx.should_send(self.child.id(), &event) {
self.child.event_main(cx, id_path, event)
} else {
true
false
}
}

Expand Down

0 comments on commit 159b865

Please sign in to comment.