Mercurial > mercurial > hgweb_searcher03.cgi
comparison src/preview.cpp @ 22:92188f60323d default tip
Implement Masking function on Preview Dialog.
author | pyon@macmini |
---|---|
date | Sat, 04 Apr 2015 17:23:46 +0900 |
parents | de222bc84e48 |
children |
comparison
equal
deleted
inserted
replaced
21:a2ad87cad48b | 22:92188f60323d |
---|---|
1 // Filename : preview.cpp | 1 // Filename : preview.cpp |
2 // Last Change: 11-Jun-2014. | 2 // Last Change: 2015-04-03 11:57:55. |
3 // | 3 // |
4 | 4 |
5 #include "marksheet.h" | 5 #include "marksheet.h" |
6 #include "preview.h" | 6 #include "preview.h" |
7 #define THUMB_W 60 | 7 #define THUMB_W 60 |
81 void PThumbnailPanel::OnClick3( wxMouseEvent& WXUNUSED(event) ) { Preview( 3 ); } | 81 void PThumbnailPanel::OnClick3( wxMouseEvent& WXUNUSED(event) ) { Preview( 3 ); } |
82 void PThumbnailPanel::OnClick4( wxMouseEvent& WXUNUSED(event) ) { Preview( 4 ); } | 82 void PThumbnailPanel::OnClick4( wxMouseEvent& WXUNUSED(event) ) { Preview( 4 ); } |
83 void PThumbnailPanel::OnClick5( wxMouseEvent& WXUNUSED(event) ) { Preview( 5 ); } | 83 void PThumbnailPanel::OnClick5( wxMouseEvent& WXUNUSED(event) ) { Preview( 5 ); } |
84 void PThumbnailPanel::Preview( int n ) | 84 void PThumbnailPanel::Preview( int n ) |
85 { | 85 { |
86 if ( n == 0 ) m_parent->EnableMaskButton( true ); | |
87 else m_parent->EnableMaskButton( false ); | |
88 | |
86 if ( m_imagefiles.GetCount() < n + 1 ) return; | 89 if ( m_imagefiles.GetCount() < n + 1 ) return; |
87 SetImageList( n ); | 90 SetImageList( n ); |
88 m_parent->SetPreviewImage( n ); | 91 m_parent->SetPreviewImage( n ); |
89 } | 92 } |
90 /* サムネイル表示 */ | 93 /* サムネイル表示 */ |
152 bSizerMenu->Add( m_textInfo, 0, wxRIGHT|wxLEFT|wxBOTTOM, 5 ); | 155 bSizerMenu->Add( m_textInfo, 0, wxRIGHT|wxLEFT|wxBOTTOM, 5 ); |
153 | 156 |
154 m_buttonPrint = new wxButton( this, ID_PRINT, wxT("印刷"), wxDefaultPosition, wxDefaultSize, 0 ); | 157 m_buttonPrint = new wxButton( this, ID_PRINT, wxT("印刷"), wxDefaultPosition, wxDefaultSize, 0 ); |
155 bSizerMenu->Add( m_buttonPrint, 0, wxALL, 5 ); | 158 bSizerMenu->Add( m_buttonPrint, 0, wxALL, 5 ); |
156 | 159 |
160 m_buttonMaskPrint = new wxButton( this, ID_MPRINT, wxT("マスク印刷"), wxDefaultPosition, wxDefaultSize, 0 ); | |
161 bSizerMenu->Add( m_buttonMaskPrint, 0, wxALL, 5 ); | |
162 m_buttonMaskPrint->Enable( false ); | |
163 | |
157 bSizerMenu->Add( 0, 0, 0, 0, 5 ); | 164 bSizerMenu->Add( 0, 0, 0, 0, 5 ); |
158 | 165 |
159 m_buttonClose = new wxButton( this, wxID_CANCEL, wxT("閉じる"), wxDefaultPosition, wxDefaultSize, 0 ); | 166 m_buttonClose = new wxButton( this, wxID_CANCEL, wxT("閉じる"), wxDefaultPosition, wxDefaultSize, 0 ); |
160 m_buttonClose->SetDefault(); | 167 m_buttonClose->SetDefault(); |
161 bSizerMenu->Add( m_buttonClose, 0, wxALL, 5 ); | 168 bSizerMenu->Add( m_buttonClose, 0, wxALL, 5 ); |
167 } | 174 } |
168 | 175 |
169 PreviewDialog::~PreviewDialog() | 176 PreviewDialog::~PreviewDialog() |
170 { | 177 { |
171 m_scrolledWindow->Disconnect( wxEVT_MOUSEWHEEL, wxMouseEventHandler( PreviewDialog::OnWheel ), NULL, this ); | 178 m_scrolledWindow->Disconnect( wxEVT_MOUSEWHEEL, wxMouseEventHandler( PreviewDialog::OnWheel ), NULL, this ); |
172 m_bitmap->Disconnect( wxEVT_LEFT_DCLICK, wxMouseEventHandler( PreviewDialog::OnDClick ), NULL, this ); | 179 m_bitmap->Disconnect( wxEVT_LEFT_DCLICK, wxMouseEventHandler( PreviewDialog::OnDClick ), NULL, this ); |
173 m_bitmap->Disconnect( wxEVT_RIGHT_DOWN, wxMouseEventHandler( PreviewDialog::OnStartRGesture ), NULL, this ); | 180 m_bitmap->Disconnect( wxEVT_RIGHT_DOWN, wxMouseEventHandler( PreviewDialog::OnStartRGesture ), NULL, this ); |
174 m_bitmap->Disconnect( wxEVT_RIGHT_UP, wxMouseEventHandler( PreviewDialog::OnEndRGesture ), NULL, this ); | 181 m_bitmap->Disconnect( wxEVT_RIGHT_UP, wxMouseEventHandler( PreviewDialog::OnEndRGesture ), NULL, this ); |
175 } | 182 } |
176 | 183 |
177 // Event Table | 184 // Event Table |
178 BEGIN_EVENT_TABLE( PreviewDialog, wxDialog ) | 185 BEGIN_EVENT_TABLE( PreviewDialog, wxDialog ) |
179 EVT_BUTTON( ID_PRINT, PreviewDialog::OnPrint ) | 186 EVT_BUTTON( ID_PRINT, PreviewDialog::OnPrint ) |
187 EVT_BUTTON( ID_MPRINT, PreviewDialog::OnMaskPrint ) | |
180 END_EVENT_TABLE() | 188 END_EVENT_TABLE() |
181 | 189 |
182 #define WIDTH 2480 | 190 #define WIDTH 2480 |
183 #define HEIGHT 3509 | 191 #define HEIGHT 3509 |
184 /* プレビューするファイルをセット */ | 192 /* プレビューするファイルをセット */ |
315 | 323 |
316 hpout.SetHtmlText( html, wxEmptyString, false ); | 324 hpout.SetHtmlText( html, wxEmptyString, false ); |
317 p.Print( NULL, &hpout, true ); | 325 p.Print( NULL, &hpout, true ); |
318 } | 326 } |
319 | 327 |
328 /* マスク印刷 */ | |
329 void PreviewDialog::OnMaskPrint( wxCommandEvent& WXUNUSED(event) ) | |
330 { | |
331 wxString html; | |
332 html = html + wxT("<html><body>\n"); | |
333 | |
334 wxString tmpjpg = wxGetCwd() + wxFILE_SEP_PATH + wxT("tmp") + wxFILE_SEP_PATH + wxT("preview.jpg"); | |
335 | |
336 wxImage img_org( m_imagefiles[m_preview], wxBITMAP_TYPE_JPEG ); | |
337 int ver = GetMarksheetVersion( m_imagefiles[m_preview] ); | |
338 if ( ver == 2 ) { | |
339 img_org.SetRGB( m_mask1, 255, 255, 255 ); // cm name | |
340 img_org.SetRGB( m_mask2, 255, 255, 255 ); // cm no. | |
341 img_org.SetRGB( m_mask3, 255, 255, 255 ); // barcode | |
342 } | |
343 else { // 古いマークシート ver == 1 | |
344 img_org.SetRGB( m_mask1old, 255, 255, 255 ); // cm name | |
345 img_org.SetRGB( m_mask2old, 255, 255, 255 ); // cm no. | |
346 img_org.SetRGB( m_mask3old, 255, 255, 255 ); // barcode | |
347 } | |
348 img_org.SaveFile( tmpjpg ); | |
349 | |
350 html = html + wxT("<img src=\"") + tmpjpg + wxT("\" width=\"750\" height=\"1060\"/>"); | |
351 html = html + wxT("</body></html>"); | |
352 | |
353 // start printing | |
354 wxHtmlPrintout hpout( wxT("Searcher03") ); | |
355 hpout.SetMargins( 0, 0, 0, 0, 0 ); | |
356 wxPrintDialogData pd; | |
357 wxPrinter p( &pd ); | |
358 | |
359 hpout.SetHtmlText( html, wxEmptyString, false ); | |
360 p.Print( NULL, &hpout, true ); | |
361 } | |
362 | |
363 void PreviewDialog::EnableMaskButton( bool flag ) | |
364 { | |
365 if ( flag ) m_buttonMaskPrint->Enable( true ); | |
366 else m_buttonMaskPrint->Enable( false ); | |
367 } | |
368 |