From e09ba53c436279588f769d6ce8852e74d58f8391 Mon Sep 17 00:00:00 2001
From: titiger <
[email protected]>
Date: Sat, 29 May 2021 02:12:38 +0200
Subject: [PATCH] get rid of manual wxPaintEvent creation
---
source/glest_map_editor/main.cpp | 42 +++++++++-----------------------
source/glest_map_editor/main.h | 2 ++
2 files changed, 14 insertions(+), 30 deletions(-)
diff --git a/source/glest_map_editor/main.cpp b/source/glest_map_editor/main.cpp
index c938ae0fc..3a799c864 100644
--- a/source/glest_map_editor/main.cpp
+++ b/source/glest_map_editor/main.cpp
@@ -657,32 +657,16 @@ void MainWindow::onMouseMove(wxMouseEvent &event, int x, int y) {
event.Skip();
}
-void MainWindow::onPaint(wxPaintEvent &event) {
- //printf("onPaint map\n");
-
+void MainWindow::refreshThings() {
if(!IsShown()) {
- //printf("onPaint skip map\n");
-
- event.Skip();
return;
}
-
-//#if wxCHECK_VERSION(2, 9, 3)
-
-//#elif wxCHECK_VERSION(2, 9, 1)
-// glCanvas->setCurrentGLContext();
-//#endif
-
- //static bool contextSet = false;
- //if(contextSet == false) {
- // contextSet = true;
glCanvas->setCurrentGLContext();
//}
//printf("lastPaintEvent.getMillis() map\n");
if(lastPaintEvent.getMillis() < 30) {
sleep(1);
- event.Skip();
return;
}
@@ -697,7 +681,11 @@ void MainWindow::onPaint(wxPaintEvent &event) {
if(menuBar) menuBar->Refresh(false);
refreshMapRender();
- event.Skip();
+}
+void MainWindow::onPaint(wxPaintEvent &event) {
+ refreshThings();
+ event.Skip();
+ return;
}
void MainWindow::refreshMapRender() {
@@ -834,8 +822,7 @@ void MainWindow::onMenuEditUndo(wxCommandEvent &event) {
// std::cout << "Undo Pressed" << std::endl;
if (program->undo()) {
- wxPaintEvent e;
- onPaint(e);
+ refreshThings();
setDirty();
}
}
@@ -846,8 +833,7 @@ void MainWindow::onMenuEditRedo(wxCommandEvent &event) {
}
if (program->redo()) {
- wxPaintEvent e;
- onPaint(e);
+ refreshThings();
setDirty();
}
}
@@ -1246,8 +1232,7 @@ void MainWindow::onMenuViewResetZoomAndPos(wxCommandEvent &event) {
}
program->resetOfset();
- wxPaintEvent e;
- onPaint(e);
+ refreshThings();
}
void MainWindow::onMenuViewGrid(wxCommandEvent &event) {
@@ -1256,8 +1241,7 @@ void MainWindow::onMenuViewGrid(wxCommandEvent &event) {
}
menuView->Check(miViewGrid, program->setGridOnOff()); // miViewGrid event.GetId()
- wxPaintEvent e;
- onPaint(e);
+ refreshThings();
}
@@ -1267,8 +1251,7 @@ void MainWindow::onMenuViewHeightMap(wxCommandEvent &event) {
}
menuView->Check(miViewHeightMap, program->setHeightMapOnOff()); // miViewGrid event.GetId()
- wxPaintEvent e;
- onPaint(e);
+ refreshThings();
}
void MainWindow::onMenuHideWater(wxCommandEvent &event) {
if(program == NULL) {
@@ -1276,8 +1259,7 @@ void MainWindow::onMenuHideWater(wxCommandEvent &event) {
}
menuView->Check(miHideWater, program->setHideWaterOnOff()); // miViewGrid event.GetId()
- wxPaintEvent e;
- onPaint(e);
+ refreshThings();
}
void MainWindow::onMenuViewAbout(wxCommandEvent &event) {
MsgDialog(
diff --git a/source/glest_map_editor/main.h b/source/glest_map_editor/main.h
index b7de40849..4ed371b93 100644
--- a/source/glest_map_editor/main.h
+++ b/source/glest_map_editor/main.h
@@ -228,6 +228,8 @@ class MainWindow: public wxFrame {
void refreshMapRender();
void init(string fname);
+ void refreshThings();
+
void onClose(wxCloseEvent &event);
void onMouseDown(wxMouseEvent &event, int x, int y);