#include "view.h" #include #include #include #include "reflex/timer.h" #include "reflex/filter.h" #include "reflex/exception.h" #include "reflex/debug.h" #include "window.h" #include "selector.h" #include "timer.h" #include "style.h" #include "shape.h" #include "world.h" #include "body.h" #include "fixture.h" namespace Reflex { static const char* WALL_NAME = "__WALL__"; struct View::Data { typedef std::set SelectorSet; enum Flag { REDRAW = Xot::bit(1, FLAG_LAST), APPLY_STYLE = Xot::bit(2, FLAG_LAST), UPDATE_STYLE = Xot::bit(3, FLAG_LAST), UPDATE_SHAPES = Xot::bit(4, FLAG_LAST), UPDATE_LAYOUT = Xot::bit(5, FLAG_LAST), FIT_TO_CONTENT = Xot::bit(6, FLAG_LAST), HAS_VARIABLE_LENGTHS = Xot::bit(7, FLAG_LAST), NO_SHAPE = Xot::bit(8, FLAG_LAST), };// Flag Window* window; View* parent; Bounds frame; float zoom, angle; ushort capture; short hide_count; uint flags; std::unique_ptr pscroll; SelectorPtr pselector; std::unique_ptr pselectors_for_update; std::unique_ptr pcache_image; std::unique_ptr ptimers; std::unique_ptr