diff src/kaigo/horori/searcher/src/searcher.cpp @ 65:0369656be06c default tip

many changes.
author pyon@macmini
date Fri, 20 May 2022 06:30:34 +0900
parents ad5c30ee5cf1
children
line wrap: on
line diff
--- a/src/kaigo/horori/searcher/src/searcher.cpp	Fri Dec 25 20:48:01 2020 +0900
+++ b/src/kaigo/horori/searcher/src/searcher.cpp	Fri May 20 06:30:34 2022 +0900
@@ -1,5 +1,5 @@
 // Filename   : searcher.cpp
-// Last Change: 2020-12-24 木 15:47:44.
+// Last Change: 2021-06-15 火 16:11:11.
 //
 #include <wx/msgdlg.h>
 #include <wx/dir.h>
@@ -775,7 +775,7 @@
 				wxString url = wxT("/i/") + date + wxT("/") + hno + wxT(".tgz");
 				HttpGetTgzFile(m_addr, m_port, url, m_workdir);
 
-				MaskImage1();
+				MaskImage();
 
 				wxString html;
 				html = wxT("<html><body>\n");
@@ -823,7 +823,7 @@
 
 			wxMessageDialog dlg(this, wxT("5枚すべて印刷しますか?"), wxT("Question"), wxYES_NO);
 			if (dlg.ShowModal() == wxID_YES) {
-				if (m_checkBoxMask->IsChecked()) MaskImage1();
+				if (m_checkBoxMask->IsChecked()) MaskImage();
 				for (int i = 0; i < 5; i++) {
 					html += wxT("<img src=\"") + wxString::Format(wxT("%s/%d"), m_workdir, i + 1) + imgsz + wxT("/>");
 					if (!m_checkBoxBoth->IsChecked()) {
@@ -838,7 +838,7 @@
 			}
 			else {
 				int i = m_notebook->GetSelection();
-				if (i == 0 && m_checkBoxMask->IsChecked()) MaskImage1();
+				if (i == 0 && m_checkBoxMask->IsChecked()) MaskImage();
 				html += wxT("<img src=\"") + wxString::Format(wxT("%s/%d"), m_workdir, i + 1) + imgsz + wxT("/>");
 				html += footer;
 			}
@@ -1219,6 +1219,8 @@
 	m_mask2 = Geo2Rect(buf);
     conf->Read(wxT("mask3"), &buf);
 	m_mask3 = Geo2Rect(buf);
+    conf->Read(wxT("mask4"), &buf);
+	m_mask4 = Geo2Rect(buf);
 
     conf->SetPath(wxT("/Misc"));
     conf->Read(wxT("workdir"), &m_workdir);
@@ -1423,13 +1425,30 @@
     }
 }
 
-void SearchFrame::MaskImage1()
+void SearchFrame::MaskImage()
 {
 	wxString file = m_workdir + wxFILE_SEP_PATH + wxT("1");
 	wxImage imgfile(file, wxBITMAP_TYPE_TIFF);
+
+	// here version check
+	int mver = 1;
+	int black = 0;
+	int th = 38;
+	unsigned char r, g, b;
+
+	for (int x = 2450, y = 1600; y < 1850; y++) {
+		r = imgfile.GetRed(x, y);
+		g = imgfile.GetGreen(x, y);
+		b = imgfile.GetBlue(x, y);
+		if ((int)r < th && (int)g < th && (int)b < th) black++;
+	}
+	if (black > 25) mver = 2;
+
 	imgfile.SetRGB(m_mask1, 255, 255, 255);
 	imgfile.SetRGB(m_mask2, 255, 255, 255);
 	imgfile.SetRGB(m_mask3, 255, 255, 255);
+	if (mver == 2) imgfile.SetRGB(m_mask4, 255, 255, 255);
+
 	imgfile.SaveFile(file, wxBITMAP_TYPE_TIFF);
 }
 
@@ -1472,7 +1491,9 @@
 
 void SearchFrame::SetVersionInfo()
 {
-	this->SetTitle(wxT("Searcher - v1.0.4"));
+	this->SetTitle(wxT("Searcher - v1.1.1"));
+	m_textCtrlVersion->AppendText(wxT("1.1.1 : bug fix (2021-06-15)\n"));
+	m_textCtrlVersion->AppendText(wxT("1.1.0 : adapt to new marksheet (2021-05-11)\n"));
 	m_textCtrlVersion->AppendText(wxT("1.0.4 : small fix (2020-12-24)\n"));
 	m_textCtrlVersion->AppendText(wxT("1.0.3 : new feature - paste search (2020-06-26)\n"));
 	m_textCtrlVersion->AppendText(wxT("1.0.2 : new feature - dump index (2020-06-24)\n"));