From 36d892d1f0f0a919e70f81abddaeb568f1f7625c Mon Sep 17 00:00:00 2001 From: neoraider Date: Mon, 5 May 2008 19:26:05 +0000 Subject: zoomedit: * Use signals to inform RenderArea of view changes --- src/View/TopView.h | 24 ++++++++++++++++-------- 1 file changed, 16 insertions(+), 8 deletions(-) (limited to 'src/View/TopView.h') 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); }; -- cgit v1.2.3