makepad-widgets 1.0.0

Makepad widgets
Documentation
use crate::{makepad_derive_widget::*, makepad_draw::*, widget::*};
live_design! {
    TurtleStep = {{TurtleStep}} {}
}

#[derive(Live, LiveHook, Widget)]
pub struct TurtleStep {
    #[walk] walk: Walk,
    #[layout] layout: Layout,
    #[redraw] area: Area,
    #[rust] draw_state: DrawStateWrap<()>
}

impl Widget for TurtleStep {
    fn handle_event(&mut self, _cx: &mut Cx, _event: &Event, _scope: &mut Scope) {
    }

    fn draw_walk(&mut self, cx: &mut Cx2d, _scope: &mut Scope, _walk: Walk) -> DrawStep {
        if self.draw_state.begin(cx, ()) {
            cx.begin_turtle(self.walk, self.layout);
            return DrawStep::make_step()
        }
        cx.end_turtle_with_area(&mut self.area);
        DrawStep::done()
    }
}