makepad_widgets/
turtle_step.rs

1use crate::{makepad_derive_widget::*, makepad_draw::*, widget::*};
2live_design! {
3    TurtleStep = {{TurtleStep}} {}
4}
5
6#[derive(Live, LiveHook, Widget)]
7pub struct TurtleStep {
8    #[walk] walk: Walk,
9    #[layout] layout: Layout,
10    #[redraw] area: Area,
11    #[rust] draw_state: DrawStateWrap<()>
12}
13
14impl Widget for TurtleStep {
15    fn handle_event(&mut self, _cx: &mut Cx, _event: &Event, _scope: &mut Scope) {
16    }
17
18    fn draw_walk(&mut self, cx: &mut Cx2d, _scope: &mut Scope, _walk: Walk) -> DrawStep {
19        if self.draw_state.begin(cx, ()) {
20            cx.begin_turtle(self.walk, self.layout);
21            return DrawStep::make_step()
22        }
23        cx.end_turtle_with_area(&mut self.area);
24        DrawStep::done()
25    }
26}