diff options
Diffstat (limited to 'src/View/TopView.h')
-rw-r--r-- | src/View/TopView.h | 24 |
1 files changed, 16 insertions, 8 deletions
diff --git a/src/View/TopView.h b/src/View/TopView.h index 1fa81ad..abbb77b 100644 --- a/src/View/TopView.h +++ b/src/View/TopView.h @@ -45,30 +45,38 @@ class TopView : public View { Data::Level *level; + float viewWidth, viewHeight; + float xCenter, yCenter; int zoomLevel; float scale; - void drawGrid(Gui::RenderArea *renderArea); + void drawGrid(); public: - TopView(Data::Level *level0 = 0) : level(level0), xCenter(0), yCenter(0), zoomLevel(0), scale(100) {} + TopView(Data::Level *level0 = 0) : level(level0), viewWidth(0), viewHeight(0), xCenter(0), yCenter(0), zoomLevel(0), scale(100) {} + + float getWidth() const {return viewWidth;} + float getHeight() const {return viewHeight;} float getXCenter() const {return xCenter;} - void setXCenter(float xCenter0) {xCenter = xCenter0;} + void setXCenter(float xCenter0) {xCenter = xCenter0; signalUpdate().emit();} float getYCenter() const {return yCenter;} - void setYCenter(float yCenter0) {yCenter = yCenter0;} + void setYCenter(float yCenter0) {yCenter = yCenter0; signalUpdate().emit();} float getScale() const {return scale;} Data::Level* getLevel() {return level;} - void setLevel(Data::Level *level0) {level = level0;} + void setLevel(Data::Level *level0) {level = level0; signalUpdate().emit();} + + virtual void init(); + virtual void resize(float width, float height); - virtual void zoom(Gui::RenderArea *renderArea, int zoom, float x, float y); - virtual void move(Gui::RenderArea *renderArea, float x, float y, unsigned int state); + virtual void render(); - virtual void render(Gui::RenderArea *renderArea); + virtual void zoom(int zoom, float x, float y); + virtual void move(float x, float y, unsigned int state); static void renderRoom(Data::Room *room); }; |