From dc0f0d6fa178403080658887af3ca1a6c0e41188 Mon Sep 17 00:00:00 2001 From: Kelly Rauchenberger Date: Wed, 18 Mar 2015 00:57:05 -0400 Subject: Map editor stops highlighting cursor when you scroll off editable map area --- tools/mapedit/src/widget.cpp | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'tools/mapedit/src/widget.cpp') diff --git a/tools/mapedit/src/widget.cpp b/tools/mapedit/src/widget.cpp index 41de4ca..7f90880 100644 --- a/tools/mapedit/src/widget.cpp +++ b/tools/mapedit/src/widget.cpp @@ -14,6 +14,7 @@ BEGIN_EVENT_TABLE(MapeditWidget, wxScrolledCanvas) EVT_LEFT_UP(MapeditWidget::OnMouseUp) EVT_MOTION(MapeditWidget::OnMouseMove) EVT_LEAVE_WINDOW(MapeditWidget::OnMouseOut) + EVT_SCROLLWIN(MapeditWidget::OnScroll) END_EVENT_TABLE() MapeditWidget::MapeditWidget() @@ -565,3 +566,24 @@ void MapeditWidget::RenderMap(Map* toRender, wxPaintDC& dc, wxMemoryDC& tiles_dc } } } + +void MapeditWidget::OnScroll(wxScrollWinEvent&) +{ + int vX, vY, vW, vH; + GetViewStart(&vX, &vY); + GetVirtualSize(&vW, &vH); + int vXX, vYX; + GetScrollPixelsPerUnit(&vXX, &vYX); + vX *= vXX; + vY *= vYX; + + if ((mousePos.x+vX >= EDITOR_SPACING_X*scale) && (mousePos.x+vX < (EDITOR_WIDTH-EDITOR_SPACING_X)*scale) + && (mousePos.y+vY >= EDITOR_SPACING_Y*scale) && (mousePos.y+vY < (EDITOR_HEIGHT-EDITOR_SPACING_Y)*scale)) + { + mouseIsIn = true; + } else { + mouseIsIn = false; + } + + Refresh(); +} -- cgit 1.4.1