summaryrefslogtreecommitdiffstats
path: root/src/View/TopView.h
diff options
context:
space:
mode:
authorneoraider <devnull@localhost>2008-05-05 21:26:05 +0200
committerneoraider <devnull@localhost>2008-05-05 21:26:05 +0200
commit36d892d1f0f0a919e70f81abddaeb568f1f7625c (patch)
tree62216034393b75f992675105436b534d8b5f9bd1 /src/View/TopView.h
parent1d6f52984dfef698516ae3fef142c80c2029fc7b (diff)
downloadzoomedit-36d892d1f0f0a919e70f81abddaeb568f1f7625c.tar
zoomedit-36d892d1f0f0a919e70f81abddaeb568f1f7625c.zip
zoomedit:
* Use signals to inform RenderArea of view changes
Diffstat (limited to 'src/View/TopView.h')
-rw-r--r--src/View/TopView.h24
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);
};