diff -r 2ffe947969ca -r a2f86b8fd99b src/viewport.cpp --- a/src/viewport.cpp Sat Feb 17 13:08:51 2007 +0000 +++ b/src/viewport.cpp Sun Feb 18 14:17:28 2007 +0000 @@ -118,7 +118,7 @@ TileHighlightData _thd; static TileInfo *_cur_ti; -extern void SmallMapCenterOnCurrentPos(Window *w); +extern void SmallMapCenterOnCurrentPos(BaseWindow *w); static Point MapXYZToViewport(const ViewPort *vp, uint x, uint y, uint z) { @@ -133,14 +133,14 @@ _active_viewports = 0; } -void DeleteWindowViewport(Window *w) +void DeleteWindowViewport(BaseWindow *w) { CLRBIT(_active_viewports, w->viewport - _viewports); w->viewport->width = 0; w->viewport = NULL; } -void AssignWindowViewport(Window *w, int x, int y, +void AssignWindowViewport(BaseWindow *w, int x, int y, int width, int height, uint32 follow_flags, byte zoom) { ViewPort *vp; @@ -188,10 +188,10 @@ static void DoSetViewportPosition(WindowList::Iterator vit, int left, int top, int width, int height) { - //Window *w = (*wit).w; - - for (WindowList::Iterator wit = vit; wit != Window::s_list.m_list.end(); wit++) { - const Window *w = (*wit).w; + //BaseWindow *w = (*wit).w; + + for (WindowList::Iterator wit = vit; wit != BaseWindow::s_list.m_list.end(); wit++) { + const BaseWindow *w = (*wit).w; if (left + width > w->left && w->left + w->width > left && @@ -255,7 +255,7 @@ } } -static void SetViewportPosition(Window *w, int x, int y) +static void SetViewportPosition(BaseWindow *w, int x, int y) { ViewPort *vp = w->viewport; int old_left = vp->virtual_left; @@ -301,13 +301,13 @@ i = top + height - _screen.height; if (i >= 0) height -= i; - WindowList::Iterator it = Window::s_list.Find(w); + WindowList::Iterator it = BaseWindow::s_list.Find(w); if (height > 0) DoSetViewportPosition(++it, left, top, width, height); } } -ViewPort *IsPtInWindowViewport(const Window *w, int x, int y) +ViewPort *IsPtInWindowViewport(const BaseWindow *w, int x, int y) { ViewPort *vp = w->viewport; @@ -360,11 +360,11 @@ * when you just want the tile, make x = zoom_x and y = zoom_y */ static Point GetTileFromScreenXY(int x, int y, int zoom_x, int zoom_y) { - Window *w; + BaseWindow *w; ViewPort *vp; Point pt; - if ( (w = FindWindowFromPt(x, y)) != NULL && + if ( (w = BaseWindow::FindFromPt(x, y)) != NULL && (vp = IsPtInWindowViewport(w, x, y)) != NULL) return TranslateXYToTileCoord(vp, zoom_x, zoom_y); @@ -378,7 +378,7 @@ } -Point GetTileZoomCenterWindow(bool in, Window * w) +Point GetTileZoomCenterWindow(bool in, BaseWindow * w) { int x, y; ViewPort * vp; @@ -402,7 +402,7 @@ * @param vp pointer to the viewport whose zoom-level the buttons represent * @param widget_zoom_in widget index for window with zoom-in button * @param widget_zoom_out widget index for window with zoom-out button */ -void HandleZoomMessage(Window *w, const ViewPort *vp, byte widget_zoom_in, byte widget_zoom_out) +void HandleZoomMessage(BaseWindow *w, const ViewPort *vp, byte widget_zoom_in, byte widget_zoom_out) { w->SetWidgetDisabledState(widget_zoom_in, vp->zoom == 0); w->InvalidateWidget(widget_zoom_in); @@ -1332,7 +1332,7 @@ ViewportDrawChk(vp, left, top, right, bottom); } -void Window::DrawViewport() const +void BaseWindow::DrawViewport() const { DrawPixelInfo *dpi = _cur_dpi; @@ -1345,7 +1345,7 @@ dpi->top -= top; } -void UpdateViewportPosition(Window *w) +void UpdateViewportPosition(BaseWindow *w) { const ViewPort *vp = w->viewport; @@ -1746,13 +1746,13 @@ Vehicle *CheckMouseOverVehicle(void) { - const Window *w; + const BaseWindow *w; const ViewPort *vp; int x = _cursor.pos.x; int y = _cursor.pos.y; - w = FindWindowFromPt(x, y); + w = BaseWindow::FindFromPt(x, y); if (w == NULL) return NULL; vp = IsPtInWindowViewport(w, x, y); @@ -1764,7 +1764,7 @@ void PlaceObject(void) { Point pt; - Window *w; + BaseWindow *w; pt = GetTileBelowCursor(); if (pt.x == -1) return; @@ -1790,7 +1790,7 @@ /* scrolls the viewport in a window to a given location */ -bool ScrollWindowTo(int x , int y, Window *w) +bool ScrollWindowTo(int x , int y, BaseWindow *w) { Point pt; @@ -1808,8 +1808,8 @@ bool ScrollMainWindowTo(int x, int y) { - Window *w; - bool res = ScrollWindowTo(x, y, Window::FindById(WC_MAIN_WINDOW, 0)); + BaseWindow *w; + bool res = ScrollWindowTo(x, y, BaseWindow::FindById(WC_MAIN_WINDOW, 0)); /* If a user scrolls to a tile (via what way what so ever) and already is on * that tile (e.g.: pressed twice), move the smallmap to that location, @@ -1817,7 +1817,7 @@ if (res) return res; - w = Window::FindById(WC_SMALLMAP, 0); + w = BaseWindow::FindById(WC_SMALLMAP, 0); if (w == NULL) return res; SmallMapCenterOnCurrentPos(w); @@ -2388,7 +2388,7 @@ // while dragging bool VpHandlePlaceSizingDrag(void) { - Window *w; + BaseWindow *w; WindowEvent e; if (_special_mouse_mode != WSM_SIZING) return true; @@ -2396,7 +2396,7 @@ e.we.place.userdata = _thd.userdata; // stop drag mode if the window has been closed - w = Window::FindById(_thd.window_class,_thd.window_number); + w = BaseWindow::FindById(_thd.window_class,_thd.window_number); if (w == NULL) { ResetObjectToPlace(); return false; @@ -2436,7 +2436,7 @@ return false; } -void SetObjectToPlaceWnd(CursorID icon, SpriteID pal, byte mode, Window *w) +void SetObjectToPlaceWnd(CursorID icon, SpriteID pal, byte mode, BaseWindow *w) { SetObjectToPlace(icon, pal, mode, w->window_class, w->window_number); } @@ -2445,12 +2445,12 @@ void SetObjectToPlace(CursorID icon, SpriteID pal, byte mode, WindowClass window_class, WindowNumber window_num) { - Window *w; + BaseWindow *w; // undo clicking on button if (_thd.place_mode != 0) { _thd.place_mode = 0; - w = Window::FindById(_thd.window_class, _thd.window_number); + w = BaseWindow::FindById(_thd.window_class, _thd.window_number); if (w != NULL) w->CallEventNP(WE_ABORT_PLACE_OBJ); }