Changeset - r17227:09618fcc767a
[Not reviewed]
master
0 4 0
frosch - 13 years ago 2011-02-05 16:36:37
frosch@openttd.org
(svn r21977) -Codechange: Always cal Window::OnMouseWheel(), independent of viewport scroll/zoom settings.
4 files changed with 16 insertions and 12 deletions:
0 comments (0 inline, 0 general)
src/main_gui.cpp
Show inline comments
 
@@ -421,7 +421,9 @@ struct MainWindow : Window
 

	
 
	virtual void OnMouseWheel(int wheel)
 
	{
 
		ZoomInOrOutToCursorWindow(wheel < 0, this);
 
		if (_settings_client.gui.scrollwheel_scrolling == 0) {
 
			ZoomInOrOutToCursorWindow(wheel < 0, this);
 
		}
 
	}
 

	
 
	virtual void OnResize()
src/smallmap_gui.cpp
Show inline comments
 
@@ -1461,12 +1461,14 @@ public:
 

	
 
	virtual void OnMouseWheel(int wheel)
 
	{
 
		const NWidgetBase *wid = this->GetWidget<NWidgetBase>(SM_WIDGET_MAP);
 
		int cursor_x = _cursor.pos.x - this->left - wid->pos_x;
 
		int cursor_y = _cursor.pos.y - this->top  - wid->pos_y;
 
		if (IsInsideMM(cursor_x, 0, wid->current_x) && IsInsideMM(cursor_y, 0, wid->current_y)) {
 
			Point pt = {cursor_x, cursor_y};
 
			this->SetZoomLevel((wheel < 0) ? ZLC_ZOOM_IN : ZLC_ZOOM_OUT, &pt);
 
		if (_settings_client.gui.scrollwheel_scrolling == 0) {
 
			const NWidgetBase *wid = this->GetWidget<NWidgetBase>(SM_WIDGET_MAP);
 
			int cursor_x = _cursor.pos.x - this->left - wid->pos_x;
 
			int cursor_y = _cursor.pos.y - this->top  - wid->pos_y;
 
			if (IsInsideMM(cursor_x, 0, wid->current_x) && IsInsideMM(cursor_y, 0, wid->current_y)) {
 
				Point pt = {cursor_x, cursor_y};
 
				this->SetZoomLevel((wheel < 0) ? ZLC_ZOOM_IN : ZLC_ZOOM_OUT, &pt);
 
			}
 
		}
 
	}
 

	
src/viewport_gui.cpp
Show inline comments
 
@@ -143,7 +143,9 @@ public:
 

	
 
	virtual void OnMouseWheel(int wheel)
 
	{
 
		ZoomInOrOutToCursorWindow(wheel < 0, this);
 
		if (_settings_client.gui.scrollwheel_scrolling == 0) {
 
			ZoomInOrOutToCursorWindow(wheel < 0, this);
 
		}
 
	}
 

	
 
	virtual void OnInvalidateData(int data = 0)
src/window.cpp
Show inline comments
 
@@ -2184,10 +2184,8 @@ static void MouseLoop(MouseClick click, 
 
	if (vp != NULL && (_game_mode == GM_MENU || IsGeneratingWorld())) return;
 

	
 
	if (mousewheel != 0) {
 
		if (_settings_client.gui.scrollwheel_scrolling == 0) {
 
			/* Send mousewheel event to window */
 
			w->OnMouseWheel(mousewheel);
 
		}
 
		/* Send mousewheel event to window */
 
		w->OnMouseWheel(mousewheel);
 

	
 
		/* Dispatch a MouseWheelEvent for widgets if it is not a viewport */
 
		if (vp == NULL) DispatchMouseWheelEvent(w, w->nested_root->GetWidgetFromPos(x - w->left, y - w->top), mousewheel);
0 comments (0 inline, 0 general)