///|
pub struct Response {
id : Id
rect : @math.Rect
hovered : Bool
clicked : Bool
pressed : Bool
dragged : Bool
has_focus : Bool
gained_focus : Bool
lost_focus : Bool
secondary_clicked : Bool
} derive(Eq, Debug, Default)
///|
pub fn Response::new(
id : Id,
rect : @math.Rect,
hovered : Bool,
clicked : Bool,
pressed : Bool,
dragged : Bool,
secondary_clicked? : Bool = false,
) -> Response {
{
id,
rect,
hovered,
clicked,
pressed,
dragged,
has_focus: false,
gained_focus: false,
lost_focus: false,
secondary_clicked,
}
}
///|
pub fn Response::with_focus(
id : Id,
rect : @math.Rect,
hovered : Bool,
clicked : Bool,
pressed : Bool,
dragged : Bool,
has_focus : Bool,
gained_focus : Bool,
lost_focus : Bool,
secondary_clicked? : Bool = false,
) -> Response {
{
id,
rect,
hovered,
clicked,
pressed,
dragged,
has_focus,
gained_focus,
lost_focus,
secondary_clicked,
}
}
///|
pub fn Response::id(self : Response) -> Id {
self.id
}
///|
pub fn Response::rect(self : Response) -> @math.Rect {
self.rect
}
///|
pub fn Response::clicked(self : Response) -> Bool {
self.clicked
}
///|
pub fn Response::hovered(self : Response) -> Bool {
self.hovered
}
///|
pub fn Response::pressed(self : Response) -> Bool {
self.pressed
}
///|
pub fn Response::dragged(self : Response) -> Bool {
self.dragged
}
///|
pub fn Response::has_focus(self : Response) -> Bool {
self.has_focus
}
///|
pub fn Response::gained_focus(self : Response) -> Bool {
self.gained_focus
}
///|
pub fn Response::lost_focus(self : Response) -> Bool {
self.lost_focus
}
///|
pub fn Response::secondary_clicked(self : Response) -> Bool {
self.secondary_clicked
}