# data file for the Fltk User Interface Designer (fluid) version 1.0302 header_name {.h} code_name {.cxx} class CMazeWindow {open } { Function {CMazeWindow()} {open selected } { Fl_Window m_double_window { label {Maze Navigation App} open xywh {959 217 493 400} type Double visible } { Fl_Box canvas { user_data canvas callback animation_begin xywh {25 25 445 321} box DOWN_BOX code0 {\#include "../../e002_fl_widget/Drawing2D.h"} class Drawing2D } Fl_Button button_right { label {- - >} user_data canvas callback cb_btn_right xywh {125 360 80 25} } Fl_Button button_left { label {< - -} user_data canvas callback cb_btn_left xywh {30 360 80 25} } } } Function {cb_btn_right( Fl_Widget* btn, void* userdata )} {open return_type {static void} } { code {Drawing2D* pcanvas = static_cast< Drawing2D* >( userdata ); pcanvas->turn_head_right(); Fl::redraw();} {} } Function {cb_btn_left( Fl_Widget* btn, void* userdata )} {open return_type {static void} } { code {Drawing2D* pcanvas = static_cast< Drawing2D* >( userdata ); pcanvas->turn_head_left(); Fl::redraw();} {} } Function {animation_begin( Fl_Widget* widg, void* userdata )} { comment {timer animation} open return_type {static void} } { code {Drawing2D* pcanvas = static_cast< Drawing2D* >( userdata ); if ( pcanvas->animate_door_entry() ) { Fl::add_timeout( TICK_TIMEOUT, animation_continue, userdata ); }} {} } Function {animation_continue( void* userdata )} {open return_type {static void} } { code {Drawing2D* pcanvas = static_cast< Drawing2D* >( userdata ); if ( pcanvas->animate_door_entry() ) { Fl::redraw(); Fl::add_timeout( TICK_TIMEOUT, animation_continue, userdata ); } else { Fl::redraw(); }} {} } Function {show( Room* entry_room )} {open } { code {canvas->initialize_room( entry_room ); m_double_window->show();} {} } }