annotate 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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
9
b455f2d8aac9 Implement Preview.
pyon@macmini
parents:
diff changeset
1 // Filename : preview.cpp
22
92188f60323d Implement Masking function on Preview Dialog.
pyon@macmini
parents: 15
diff changeset
2 // Last Change: 2015-04-03 11:57:55.
9
b455f2d8aac9 Implement Preview.
pyon@macmini
parents:
diff changeset
3 //
b455f2d8aac9 Implement Preview.
pyon@macmini
parents:
diff changeset
4
12
52958cd4a073 Implement Force Mask button in Batch Print Mode.
pyon@macmini
parents: 11
diff changeset
5 #include "marksheet.h"
9
b455f2d8aac9 Implement Preview.
pyon@macmini
parents:
diff changeset
6 #include "preview.h"
b455f2d8aac9 Implement Preview.
pyon@macmini
parents:
diff changeset
7 #define THUMB_W 60
b455f2d8aac9 Implement Preview.
pyon@macmini
parents:
diff changeset
8 #define THUMB_H 75
b455f2d8aac9 Implement Preview.
pyon@macmini
parents:
diff changeset
9
10
29021e6e1ebe Implement thumbnail list in PreviewDialog.
pyon@macmini
parents: 9
diff changeset
10 // サムネイルパネル
29021e6e1ebe Implement thumbnail list in PreviewDialog.
pyon@macmini
parents: 9
diff changeset
11 PThumbnailPanel::PThumbnailPanel( wxWindow* parent, wxWindowID id, const wxPoint& pos, const wxSize& size, long style )
29021e6e1ebe Implement thumbnail list in PreviewDialog.
pyon@macmini
parents: 9
diff changeset
12 : wxPanel( parent, id, pos, size, style )
29021e6e1ebe Implement thumbnail list in PreviewDialog.
pyon@macmini
parents: 9
diff changeset
13 {
29021e6e1ebe Implement thumbnail list in PreviewDialog.
pyon@macmini
parents: 9
diff changeset
14 m_parent = (PreviewDialog*)parent;
29021e6e1ebe Implement thumbnail list in PreviewDialog.
pyon@macmini
parents: 9
diff changeset
15
29021e6e1ebe Implement thumbnail list in PreviewDialog.
pyon@macmini
parents: 9
diff changeset
16 wxBoxSizer* bSizer = new wxBoxSizer( wxVERTICAL );
29021e6e1ebe Implement thumbnail list in PreviewDialog.
pyon@macmini
parents: 9
diff changeset
17 this->SetBackgroundColour( wxColour( 192, 192, 192 ) );
29021e6e1ebe Implement thumbnail list in PreviewDialog.
pyon@macmini
parents: 9
diff changeset
18
29021e6e1ebe Implement thumbnail list in PreviewDialog.
pyon@macmini
parents: 9
diff changeset
19 wxString thumb = wxGetCwd() + wxFILE_SEP_PATH + wxT("image") + wxFILE_SEP_PATH + wxT("thumbnail.png");
29021e6e1ebe Implement thumbnail list in PreviewDialog.
pyon@macmini
parents: 9
diff changeset
20 wxBitmap bmp = wxBitmap( thumb, wxBITMAP_TYPE_PNG );
29021e6e1ebe Implement thumbnail list in PreviewDialog.
pyon@macmini
parents: 9
diff changeset
21
29021e6e1ebe Implement thumbnail list in PreviewDialog.
pyon@macmini
parents: 9
diff changeset
22 m_bitmap0 = new wxStaticBitmap( this, wxID_ANY, bmp, wxDefaultPosition, wxSize( THUMB_W, THUMB_H ), 0 );
29021e6e1ebe Implement thumbnail list in PreviewDialog.
pyon@macmini
parents: 9
diff changeset
23 bSizer->Add( m_bitmap0, 0, wxALL|wxALIGN_CENTER, 5 );
29021e6e1ebe Implement thumbnail list in PreviewDialog.
pyon@macmini
parents: 9
diff changeset
24 m_bitmap0->Connect( wxEVT_LEFT_UP, wxMouseEventHandler( PThumbnailPanel::OnClick0 ), NULL, this );
29021e6e1ebe Implement thumbnail list in PreviewDialog.
pyon@macmini
parents: 9
diff changeset
25
29021e6e1ebe Implement thumbnail list in PreviewDialog.
pyon@macmini
parents: 9
diff changeset
26 m_bitmap1 = new wxStaticBitmap(this, wxID_ANY, bmp, wxDefaultPosition, wxSize( THUMB_W, THUMB_H ), 0 );
29021e6e1ebe Implement thumbnail list in PreviewDialog.
pyon@macmini
parents: 9
diff changeset
27 bSizer->Add( m_bitmap1, 0, wxALL|wxALIGN_CENTER, 5 );
29021e6e1ebe Implement thumbnail list in PreviewDialog.
pyon@macmini
parents: 9
diff changeset
28 m_bitmap1->Connect( wxEVT_LEFT_UP, wxMouseEventHandler( PThumbnailPanel::OnClick1 ), NULL, this );
29021e6e1ebe Implement thumbnail list in PreviewDialog.
pyon@macmini
parents: 9
diff changeset
29
29021e6e1ebe Implement thumbnail list in PreviewDialog.
pyon@macmini
parents: 9
diff changeset
30 m_bitmap2 = new wxStaticBitmap( this, wxID_ANY, bmp, wxDefaultPosition, wxSize( THUMB_W, THUMB_H ), 0 );
29021e6e1ebe Implement thumbnail list in PreviewDialog.
pyon@macmini
parents: 9
diff changeset
31 bSizer->Add( m_bitmap2, 0, wxALL|wxALIGN_CENTER, 5 );
29021e6e1ebe Implement thumbnail list in PreviewDialog.
pyon@macmini
parents: 9
diff changeset
32 m_bitmap2->Connect( wxEVT_LEFT_UP, wxMouseEventHandler( PThumbnailPanel::OnClick2 ), NULL, this );
29021e6e1ebe Implement thumbnail list in PreviewDialog.
pyon@macmini
parents: 9
diff changeset
33
29021e6e1ebe Implement thumbnail list in PreviewDialog.
pyon@macmini
parents: 9
diff changeset
34 m_bitmap3 = new wxStaticBitmap(this, wxID_ANY, bmp, wxDefaultPosition, wxSize( THUMB_W, THUMB_H ), 0 );
29021e6e1ebe Implement thumbnail list in PreviewDialog.
pyon@macmini
parents: 9
diff changeset
35 bSizer->Add( m_bitmap3, 0, wxALL|wxALIGN_CENTER, 5 );
29021e6e1ebe Implement thumbnail list in PreviewDialog.
pyon@macmini
parents: 9
diff changeset
36 m_bitmap3->Connect( wxEVT_LEFT_UP, wxMouseEventHandler( PThumbnailPanel::OnClick3 ), NULL, this );
29021e6e1ebe Implement thumbnail list in PreviewDialog.
pyon@macmini
parents: 9
diff changeset
37
29021e6e1ebe Implement thumbnail list in PreviewDialog.
pyon@macmini
parents: 9
diff changeset
38 m_bitmap4 = new wxStaticBitmap( this, wxID_ANY, bmp, wxDefaultPosition, wxSize( THUMB_W, THUMB_H ), 0 );
29021e6e1ebe Implement thumbnail list in PreviewDialog.
pyon@macmini
parents: 9
diff changeset
39 bSizer->Add( m_bitmap4, 0, wxALL|wxALIGN_CENTER, 5 );
29021e6e1ebe Implement thumbnail list in PreviewDialog.
pyon@macmini
parents: 9
diff changeset
40 m_bitmap4->Connect( wxEVT_LEFT_UP, wxMouseEventHandler( PThumbnailPanel::OnClick4 ), NULL, this );
29021e6e1ebe Implement thumbnail list in PreviewDialog.
pyon@macmini
parents: 9
diff changeset
41
29021e6e1ebe Implement thumbnail list in PreviewDialog.
pyon@macmini
parents: 9
diff changeset
42 m_bitmap5 = new wxStaticBitmap(this, wxID_ANY, bmp, wxDefaultPosition, wxSize( THUMB_W, THUMB_H ), 0 );
29021e6e1ebe Implement thumbnail list in PreviewDialog.
pyon@macmini
parents: 9
diff changeset
43 bSizer->Add( m_bitmap5, 0, wxALL|wxALIGN_CENTER, 5 );
29021e6e1ebe Implement thumbnail list in PreviewDialog.
pyon@macmini
parents: 9
diff changeset
44 m_bitmap5->Connect( wxEVT_LEFT_UP, wxMouseEventHandler( PThumbnailPanel::OnClick5 ), NULL, this );
29021e6e1ebe Implement thumbnail list in PreviewDialog.
pyon@macmini
parents: 9
diff changeset
45
29021e6e1ebe Implement thumbnail list in PreviewDialog.
pyon@macmini
parents: 9
diff changeset
46 this->SetSizer( bSizer );
29021e6e1ebe Implement thumbnail list in PreviewDialog.
pyon@macmini
parents: 9
diff changeset
47 this->Layout();
29021e6e1ebe Implement thumbnail list in PreviewDialog.
pyon@macmini
parents: 9
diff changeset
48 }
29021e6e1ebe Implement thumbnail list in PreviewDialog.
pyon@macmini
parents: 9
diff changeset
49
29021e6e1ebe Implement thumbnail list in PreviewDialog.
pyon@macmini
parents: 9
diff changeset
50 PThumbnailPanel::~PThumbnailPanel()
29021e6e1ebe Implement thumbnail list in PreviewDialog.
pyon@macmini
parents: 9
diff changeset
51 {
29021e6e1ebe Implement thumbnail list in PreviewDialog.
pyon@macmini
parents: 9
diff changeset
52 m_bitmap0->Disconnect( wxEVT_LEFT_UP, wxMouseEventHandler( PThumbnailPanel::OnClick0 ), NULL, this );
29021e6e1ebe Implement thumbnail list in PreviewDialog.
pyon@macmini
parents: 9
diff changeset
53 m_bitmap1->Disconnect( wxEVT_LEFT_UP, wxMouseEventHandler( PThumbnailPanel::OnClick1 ), NULL, this );
29021e6e1ebe Implement thumbnail list in PreviewDialog.
pyon@macmini
parents: 9
diff changeset
54 m_bitmap2->Disconnect( wxEVT_LEFT_UP, wxMouseEventHandler( PThumbnailPanel::OnClick2 ), NULL, this );
29021e6e1ebe Implement thumbnail list in PreviewDialog.
pyon@macmini
parents: 9
diff changeset
55 m_bitmap3->Disconnect( wxEVT_LEFT_UP, wxMouseEventHandler( PThumbnailPanel::OnClick3 ), NULL, this );
29021e6e1ebe Implement thumbnail list in PreviewDialog.
pyon@macmini
parents: 9
diff changeset
56 m_bitmap4->Disconnect( wxEVT_LEFT_UP, wxMouseEventHandler( PThumbnailPanel::OnClick4 ), NULL, this );
29021e6e1ebe Implement thumbnail list in PreviewDialog.
pyon@macmini
parents: 9
diff changeset
57 m_bitmap5->Disconnect( wxEVT_LEFT_UP, wxMouseEventHandler( PThumbnailPanel::OnClick5 ), NULL, this );
29021e6e1ebe Implement thumbnail list in PreviewDialog.
pyon@macmini
parents: 9
diff changeset
58 }
29021e6e1ebe Implement thumbnail list in PreviewDialog.
pyon@macmini
parents: 9
diff changeset
59
29021e6e1ebe Implement thumbnail list in PreviewDialog.
pyon@macmini
parents: 9
diff changeset
60 // Functions
15
de222bc84e48 Implement Mouse Gesture in Preview Dialog.
pyon@macmini
parents: 14
diff changeset
61 /* サムネイル画像作成 */
13
bbd65edf71d4 Implement Hhs DB update dialog.
pyon@macmini
parents: 12
diff changeset
62 void PThumbnailPanel::SetFiles( wxArrayString imagefiles, wxArrayString cachefiles, int select )
10
29021e6e1ebe Implement thumbnail list in PreviewDialog.
pyon@macmini
parents: 9
diff changeset
63 {
29021e6e1ebe Implement thumbnail list in PreviewDialog.
pyon@macmini
parents: 9
diff changeset
64 m_imagefiles = imagefiles;
29021e6e1ebe Implement thumbnail list in PreviewDialog.
pyon@macmini
parents: 9
diff changeset
65
29021e6e1ebe Implement thumbnail list in PreviewDialog.
pyon@macmini
parents: 9
diff changeset
66 wxBitmap bmp;
13
bbd65edf71d4 Implement Hhs DB update dialog.
pyon@macmini
parents: 12
diff changeset
67 m_imageList.Create( THUMB_W, THUMB_H );
bbd65edf71d4 Implement Hhs DB update dialog.
pyon@macmini
parents: 12
diff changeset
68
bbd65edf71d4 Implement Hhs DB update dialog.
pyon@macmini
parents: 12
diff changeset
69 bmp.LoadFile( cachefiles[0], wxBITMAP_TYPE_PNG ); m_imageList.Add( bmp );
bbd65edf71d4 Implement Hhs DB update dialog.
pyon@macmini
parents: 12
diff changeset
70 bmp.LoadFile( cachefiles[1], wxBITMAP_TYPE_PNG ); m_imageList.Add( bmp );
bbd65edf71d4 Implement Hhs DB update dialog.
pyon@macmini
parents: 12
diff changeset
71 bmp.LoadFile( cachefiles[2], wxBITMAP_TYPE_PNG ); m_imageList.Add( bmp );
bbd65edf71d4 Implement Hhs DB update dialog.
pyon@macmini
parents: 12
diff changeset
72 bmp.LoadFile( cachefiles[3], wxBITMAP_TYPE_PNG ); m_imageList.Add( bmp );
bbd65edf71d4 Implement Hhs DB update dialog.
pyon@macmini
parents: 12
diff changeset
73 bmp.LoadFile( cachefiles[4], wxBITMAP_TYPE_PNG ); m_imageList.Add( bmp );
bbd65edf71d4 Implement Hhs DB update dialog.
pyon@macmini
parents: 12
diff changeset
74 bmp.LoadFile( cachefiles[5], wxBITMAP_TYPE_PNG ); m_imageList.Add( bmp );
bbd65edf71d4 Implement Hhs DB update dialog.
pyon@macmini
parents: 12
diff changeset
75 SetImageList( select );
10
29021e6e1ebe Implement thumbnail list in PreviewDialog.
pyon@macmini
parents: 9
diff changeset
76 }
29021e6e1ebe Implement thumbnail list in PreviewDialog.
pyon@macmini
parents: 9
diff changeset
77 /* 画像クリックで拡大表示 */
29021e6e1ebe Implement thumbnail list in PreviewDialog.
pyon@macmini
parents: 9
diff changeset
78 void PThumbnailPanel::OnClick0( wxMouseEvent& WXUNUSED(event) ) { Preview( 0 ); }
29021e6e1ebe Implement thumbnail list in PreviewDialog.
pyon@macmini
parents: 9
diff changeset
79 void PThumbnailPanel::OnClick1( wxMouseEvent& WXUNUSED(event) ) { Preview( 1 ); }
29021e6e1ebe Implement thumbnail list in PreviewDialog.
pyon@macmini
parents: 9
diff changeset
80 void PThumbnailPanel::OnClick2( wxMouseEvent& WXUNUSED(event) ) { Preview( 2 ); }
29021e6e1ebe Implement thumbnail list in PreviewDialog.
pyon@macmini
parents: 9
diff changeset
81 void PThumbnailPanel::OnClick3( wxMouseEvent& WXUNUSED(event) ) { Preview( 3 ); }
29021e6e1ebe Implement thumbnail list in PreviewDialog.
pyon@macmini
parents: 9
diff changeset
82 void PThumbnailPanel::OnClick4( wxMouseEvent& WXUNUSED(event) ) { Preview( 4 ); }
29021e6e1ebe Implement thumbnail list in PreviewDialog.
pyon@macmini
parents: 9
diff changeset
83 void PThumbnailPanel::OnClick5( wxMouseEvent& WXUNUSED(event) ) { Preview( 5 ); }
29021e6e1ebe Implement thumbnail list in PreviewDialog.
pyon@macmini
parents: 9
diff changeset
84 void PThumbnailPanel::Preview( int n )
29021e6e1ebe Implement thumbnail list in PreviewDialog.
pyon@macmini
parents: 9
diff changeset
85 {
22
92188f60323d Implement Masking function on Preview Dialog.
pyon@macmini
parents: 15
diff changeset
86 if ( n == 0 ) m_parent->EnableMaskButton( true );
92188f60323d Implement Masking function on Preview Dialog.
pyon@macmini
parents: 15
diff changeset
87 else m_parent->EnableMaskButton( false );
92188f60323d Implement Masking function on Preview Dialog.
pyon@macmini
parents: 15
diff changeset
88
10
29021e6e1ebe Implement thumbnail list in PreviewDialog.
pyon@macmini
parents: 9
diff changeset
89 if ( m_imagefiles.GetCount() < n + 1 ) return;
13
bbd65edf71d4 Implement Hhs DB update dialog.
pyon@macmini
parents: 12
diff changeset
90 SetImageList( n );
10
29021e6e1ebe Implement thumbnail list in PreviewDialog.
pyon@macmini
parents: 9
diff changeset
91 m_parent->SetPreviewImage( n );
29021e6e1ebe Implement thumbnail list in PreviewDialog.
pyon@macmini
parents: 9
diff changeset
92 }
13
bbd65edf71d4 Implement Hhs DB update dialog.
pyon@macmini
parents: 12
diff changeset
93 /* サムネイル表示 */
bbd65edf71d4 Implement Hhs DB update dialog.
pyon@macmini
parents: 12
diff changeset
94 void PThumbnailPanel::SetImageList( int selected )
bbd65edf71d4 Implement Hhs DB update dialog.
pyon@macmini
parents: 12
diff changeset
95 {
bbd65edf71d4 Implement Hhs DB update dialog.
pyon@macmini
parents: 12
diff changeset
96 m_bitmap0->SetBitmap( m_imageList.GetBitmap(0) );
bbd65edf71d4 Implement Hhs DB update dialog.
pyon@macmini
parents: 12
diff changeset
97 m_bitmap1->SetBitmap( m_imageList.GetBitmap(1) );
bbd65edf71d4 Implement Hhs DB update dialog.
pyon@macmini
parents: 12
diff changeset
98 m_bitmap2->SetBitmap( m_imageList.GetBitmap(2) );
bbd65edf71d4 Implement Hhs DB update dialog.
pyon@macmini
parents: 12
diff changeset
99 m_bitmap3->SetBitmap( m_imageList.GetBitmap(3) );
bbd65edf71d4 Implement Hhs DB update dialog.
pyon@macmini
parents: 12
diff changeset
100 m_bitmap4->SetBitmap( m_imageList.GetBitmap(4) );
bbd65edf71d4 Implement Hhs DB update dialog.
pyon@macmini
parents: 12
diff changeset
101 m_bitmap5->SetBitmap( m_imageList.GetBitmap(5) );
10
29021e6e1ebe Implement thumbnail list in PreviewDialog.
pyon@macmini
parents: 9
diff changeset
102
13
bbd65edf71d4 Implement Hhs DB update dialog.
pyon@macmini
parents: 12
diff changeset
103 wxImage image = m_imageList.GetBitmap( selected ).ConvertToImage();
bbd65edf71d4 Implement Hhs DB update dialog.
pyon@macmini
parents: 12
diff changeset
104 unsigned char *data = image.GetData();
bbd65edf71d4 Implement Hhs DB update dialog.
pyon@macmini
parents: 12
diff changeset
105 for ( int y = 0; y < THUMB_H; y++ )
bbd65edf71d4 Implement Hhs DB update dialog.
pyon@macmini
parents: 12
diff changeset
106 for ( int x = 0; x <THUMB_W; x++ )
bbd65edf71d4 Implement Hhs DB update dialog.
pyon@macmini
parents: 12
diff changeset
107 data[ ( y * THUMB_W + x ) * 3 + 2 ] = 255; // 文字色:黒(0,0,0)->青(0,0,255)
bbd65edf71d4 Implement Hhs DB update dialog.
pyon@macmini
parents: 12
diff changeset
108
bbd65edf71d4 Implement Hhs DB update dialog.
pyon@macmini
parents: 12
diff changeset
109 wxBitmap bmp_mask( image );
bbd65edf71d4 Implement Hhs DB update dialog.
pyon@macmini
parents: 12
diff changeset
110
bbd65edf71d4 Implement Hhs DB update dialog.
pyon@macmini
parents: 12
diff changeset
111 switch ( selected ) {
bbd65edf71d4 Implement Hhs DB update dialog.
pyon@macmini
parents: 12
diff changeset
112 case 0:
bbd65edf71d4 Implement Hhs DB update dialog.
pyon@macmini
parents: 12
diff changeset
113 m_bitmap0->SetBitmap( bmp_mask );
bbd65edf71d4 Implement Hhs DB update dialog.
pyon@macmini
parents: 12
diff changeset
114 break;
bbd65edf71d4 Implement Hhs DB update dialog.
pyon@macmini
parents: 12
diff changeset
115 case 1:
bbd65edf71d4 Implement Hhs DB update dialog.
pyon@macmini
parents: 12
diff changeset
116 m_bitmap1->SetBitmap( bmp_mask );
bbd65edf71d4 Implement Hhs DB update dialog.
pyon@macmini
parents: 12
diff changeset
117 break;
bbd65edf71d4 Implement Hhs DB update dialog.
pyon@macmini
parents: 12
diff changeset
118 case 2:
bbd65edf71d4 Implement Hhs DB update dialog.
pyon@macmini
parents: 12
diff changeset
119 m_bitmap2->SetBitmap( bmp_mask );
bbd65edf71d4 Implement Hhs DB update dialog.
pyon@macmini
parents: 12
diff changeset
120 break;
bbd65edf71d4 Implement Hhs DB update dialog.
pyon@macmini
parents: 12
diff changeset
121 case 3:
bbd65edf71d4 Implement Hhs DB update dialog.
pyon@macmini
parents: 12
diff changeset
122 m_bitmap3->SetBitmap( bmp_mask );
bbd65edf71d4 Implement Hhs DB update dialog.
pyon@macmini
parents: 12
diff changeset
123 break;
bbd65edf71d4 Implement Hhs DB update dialog.
pyon@macmini
parents: 12
diff changeset
124 case 4:
bbd65edf71d4 Implement Hhs DB update dialog.
pyon@macmini
parents: 12
diff changeset
125 m_bitmap4->SetBitmap( bmp_mask );
bbd65edf71d4 Implement Hhs DB update dialog.
pyon@macmini
parents: 12
diff changeset
126 break;
bbd65edf71d4 Implement Hhs DB update dialog.
pyon@macmini
parents: 12
diff changeset
127 case 5:
bbd65edf71d4 Implement Hhs DB update dialog.
pyon@macmini
parents: 12
diff changeset
128 m_bitmap5->SetBitmap( bmp_mask );
bbd65edf71d4 Implement Hhs DB update dialog.
pyon@macmini
parents: 12
diff changeset
129 break;
bbd65edf71d4 Implement Hhs DB update dialog.
pyon@macmini
parents: 12
diff changeset
130 }
bbd65edf71d4 Implement Hhs DB update dialog.
pyon@macmini
parents: 12
diff changeset
131 }
10
29021e6e1ebe Implement thumbnail list in PreviewDialog.
pyon@macmini
parents: 9
diff changeset
132
29021e6e1ebe Implement thumbnail list in PreviewDialog.
pyon@macmini
parents: 9
diff changeset
133 ////////////////////////////////////////////////////////
29021e6e1ebe Implement thumbnail list in PreviewDialog.
pyon@macmini
parents: 9
diff changeset
134 // プレビューダイアログ
9
b455f2d8aac9 Implement Preview.
pyon@macmini
parents:
diff changeset
135 PreviewDialog::PreviewDialog( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style )
b455f2d8aac9 Implement Preview.
pyon@macmini
parents:
diff changeset
136 : wxDialog( parent, id, title, pos, size, style )
b455f2d8aac9 Implement Preview.
pyon@macmini
parents:
diff changeset
137 {
b455f2d8aac9 Implement Preview.
pyon@macmini
parents:
diff changeset
138 wxBoxSizer* bSizerTop = new wxBoxSizer( wxHORIZONTAL );
b455f2d8aac9 Implement Preview.
pyon@macmini
parents:
diff changeset
139
14
ac17a73e39b3 Zoom in / out in Preview Dialog.
pyon@macmini
parents: 13
diff changeset
140 m_scrolledWindow = new wxScrolledWindow( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxVSCROLL|wxALWAYS_SHOW_SB );
15
de222bc84e48 Implement Mouse Gesture in Preview Dialog.
pyon@macmini
parents: 14
diff changeset
141 m_scrolledWindow->Connect( wxEVT_MOUSEWHEEL, wxMouseEventHandler( PreviewDialog::OnWheel ), NULL, this );
9
b455f2d8aac9 Implement Preview.
pyon@macmini
parents:
diff changeset
142 m_bitmap = new wxStaticBitmap( m_scrolledWindow, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, 0 );
14
ac17a73e39b3 Zoom in / out in Preview Dialog.
pyon@macmini
parents: 13
diff changeset
143 m_bitmap->Connect( wxEVT_LEFT_DCLICK, wxMouseEventHandler( PreviewDialog::OnDClick ), NULL, this );
15
de222bc84e48 Implement Mouse Gesture in Preview Dialog.
pyon@macmini
parents: 14
diff changeset
144 m_bitmap->Connect( wxEVT_RIGHT_DOWN, wxMouseEventHandler( PreviewDialog::OnStartRGesture ), NULL, this );
de222bc84e48 Implement Mouse Gesture in Preview Dialog.
pyon@macmini
parents: 14
diff changeset
145 m_bitmap->Connect( wxEVT_RIGHT_UP, wxMouseEventHandler( PreviewDialog::OnEndRGesture ), NULL, this );
9
b455f2d8aac9 Implement Preview.
pyon@macmini
parents:
diff changeset
146 bSizerTop->Add( m_scrolledWindow, 1, wxALL|wxEXPAND, 5 );
b455f2d8aac9 Implement Preview.
pyon@macmini
parents:
diff changeset
147
b455f2d8aac9 Implement Preview.
pyon@macmini
parents:
diff changeset
148 wxBoxSizer* bSizerMenu = new wxBoxSizer( wxVERTICAL );
b455f2d8aac9 Implement Preview.
pyon@macmini
parents:
diff changeset
149
10
29021e6e1ebe Implement thumbnail list in PreviewDialog.
pyon@macmini
parents: 9
diff changeset
150 m_thumbPanel = new PThumbnailPanel( this, wxID_ANY, wxDefaultPosition, wxSize( 100, -1 ), wxSUNKEN_BORDER );
29021e6e1ebe Implement thumbnail list in PreviewDialog.
pyon@macmini
parents: 9
diff changeset
151 bSizerMenu->Add( m_thumbPanel, 0, wxALL|wxEXPAND, 5 );
9
b455f2d8aac9 Implement Preview.
pyon@macmini
parents:
diff changeset
152
12
52958cd4a073 Implement Force Mask button in Batch Print Mode.
pyon@macmini
parents: 11
diff changeset
153 m_textInfo = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( -1, 80 ), wxTE_MULTILINE|wxTE_READONLY|wxTE_NO_VSCROLL );
52958cd4a073 Implement Force Mask button in Batch Print Mode.
pyon@macmini
parents: 11
diff changeset
154 m_textInfo->SetBackgroundColour( wxColour( 192, 192, 192 ) );
52958cd4a073 Implement Force Mask button in Batch Print Mode.
pyon@macmini
parents: 11
diff changeset
155 bSizerMenu->Add( m_textInfo, 0, wxRIGHT|wxLEFT|wxBOTTOM, 5 );
52958cd4a073 Implement Force Mask button in Batch Print Mode.
pyon@macmini
parents: 11
diff changeset
156
9
b455f2d8aac9 Implement Preview.
pyon@macmini
parents:
diff changeset
157 m_buttonPrint = new wxButton( this, ID_PRINT, wxT("印刷"), wxDefaultPosition, wxDefaultSize, 0 );
b455f2d8aac9 Implement Preview.
pyon@macmini
parents:
diff changeset
158 bSizerMenu->Add( m_buttonPrint, 0, wxALL, 5 );
12
52958cd4a073 Implement Force Mask button in Batch Print Mode.
pyon@macmini
parents: 11
diff changeset
159
22
92188f60323d Implement Masking function on Preview Dialog.
pyon@macmini
parents: 15
diff changeset
160 m_buttonMaskPrint = new wxButton( this, ID_MPRINT, wxT("マスク印刷"), wxDefaultPosition, wxDefaultSize, 0 );
92188f60323d Implement Masking function on Preview Dialog.
pyon@macmini
parents: 15
diff changeset
161 bSizerMenu->Add( m_buttonMaskPrint, 0, wxALL, 5 );
92188f60323d Implement Masking function on Preview Dialog.
pyon@macmini
parents: 15
diff changeset
162 m_buttonMaskPrint->Enable( false );
92188f60323d Implement Masking function on Preview Dialog.
pyon@macmini
parents: 15
diff changeset
163
11
dfcf8c973219 Implement Cache maker.
pyon@macmini
parents: 10
diff changeset
164 bSizerMenu->Add( 0, 0, 0, 0, 5 );
9
b455f2d8aac9 Implement Preview.
pyon@macmini
parents:
diff changeset
165
b455f2d8aac9 Implement Preview.
pyon@macmini
parents:
diff changeset
166 m_buttonClose = new wxButton( this, wxID_CANCEL, wxT("閉じる"), wxDefaultPosition, wxDefaultSize, 0 );
b455f2d8aac9 Implement Preview.
pyon@macmini
parents:
diff changeset
167 m_buttonClose->SetDefault();
b455f2d8aac9 Implement Preview.
pyon@macmini
parents:
diff changeset
168 bSizerMenu->Add( m_buttonClose, 0, wxALL, 5 );
b455f2d8aac9 Implement Preview.
pyon@macmini
parents:
diff changeset
169
b455f2d8aac9 Implement Preview.
pyon@macmini
parents:
diff changeset
170 bSizerTop->Add( bSizerMenu, 0, wxALL|wxEXPAND, 5 );
b455f2d8aac9 Implement Preview.
pyon@macmini
parents:
diff changeset
171
b455f2d8aac9 Implement Preview.
pyon@macmini
parents:
diff changeset
172 this->SetSizer( bSizerTop );
b455f2d8aac9 Implement Preview.
pyon@macmini
parents:
diff changeset
173 this->Layout();
b455f2d8aac9 Implement Preview.
pyon@macmini
parents:
diff changeset
174 }
b455f2d8aac9 Implement Preview.
pyon@macmini
parents:
diff changeset
175
b455f2d8aac9 Implement Preview.
pyon@macmini
parents:
diff changeset
176 PreviewDialog::~PreviewDialog()
b455f2d8aac9 Implement Preview.
pyon@macmini
parents:
diff changeset
177 {
15
de222bc84e48 Implement Mouse Gesture in Preview Dialog.
pyon@macmini
parents: 14
diff changeset
178 m_scrolledWindow->Disconnect( wxEVT_MOUSEWHEEL, wxMouseEventHandler( PreviewDialog::OnWheel ), NULL, this );
22
92188f60323d Implement Masking function on Preview Dialog.
pyon@macmini
parents: 15
diff changeset
179 m_bitmap->Disconnect( wxEVT_LEFT_DCLICK, wxMouseEventHandler( PreviewDialog::OnDClick ), NULL, this );
92188f60323d Implement Masking function on Preview Dialog.
pyon@macmini
parents: 15
diff changeset
180 m_bitmap->Disconnect( wxEVT_RIGHT_DOWN, wxMouseEventHandler( PreviewDialog::OnStartRGesture ), NULL, this );
92188f60323d Implement Masking function on Preview Dialog.
pyon@macmini
parents: 15
diff changeset
181 m_bitmap->Disconnect( wxEVT_RIGHT_UP, wxMouseEventHandler( PreviewDialog::OnEndRGesture ), NULL, this );
9
b455f2d8aac9 Implement Preview.
pyon@macmini
parents:
diff changeset
182 }
b455f2d8aac9 Implement Preview.
pyon@macmini
parents:
diff changeset
183
b455f2d8aac9 Implement Preview.
pyon@macmini
parents:
diff changeset
184 // Event Table
b455f2d8aac9 Implement Preview.
pyon@macmini
parents:
diff changeset
185 BEGIN_EVENT_TABLE( PreviewDialog, wxDialog )
22
92188f60323d Implement Masking function on Preview Dialog.
pyon@macmini
parents: 15
diff changeset
186 EVT_BUTTON( ID_PRINT, PreviewDialog::OnPrint )
92188f60323d Implement Masking function on Preview Dialog.
pyon@macmini
parents: 15
diff changeset
187 EVT_BUTTON( ID_MPRINT, PreviewDialog::OnMaskPrint )
9
b455f2d8aac9 Implement Preview.
pyon@macmini
parents:
diff changeset
188 END_EVENT_TABLE()
b455f2d8aac9 Implement Preview.
pyon@macmini
parents:
diff changeset
189
b455f2d8aac9 Implement Preview.
pyon@macmini
parents:
diff changeset
190 #define WIDTH 2480
b455f2d8aac9 Implement Preview.
pyon@macmini
parents:
diff changeset
191 #define HEIGHT 3509
15
de222bc84e48 Implement Mouse Gesture in Preview Dialog.
pyon@macmini
parents: 14
diff changeset
192 /* プレビューするファイルをセット */
10
29021e6e1ebe Implement thumbnail list in PreviewDialog.
pyon@macmini
parents: 9
diff changeset
193 void PreviewDialog::SetPreviewImage( int n )
9
b455f2d8aac9 Implement Preview.
pyon@macmini
parents:
diff changeset
194 {
15
de222bc84e48 Implement Mouse Gesture in Preview Dialog.
pyon@macmini
parents: 14
diff changeset
195 m_preview = n;
14
ac17a73e39b3 Zoom in / out in Preview Dialog.
pyon@macmini
parents: 13
diff changeset
196 m_zoom = 1.0;
ac17a73e39b3 Zoom in / out in Preview Dialog.
pyon@macmini
parents: 13
diff changeset
197 SetZoom( m_zoom );
9
b455f2d8aac9 Implement Preview.
pyon@macmini
parents:
diff changeset
198
14
ac17a73e39b3 Zoom in / out in Preview Dialog.
pyon@macmini
parents: 13
diff changeset
199 // file info
12
52958cd4a073 Implement Force Mask button in Batch Print Mode.
pyon@macmini
parents: 11
diff changeset
200 float z;
52958cd4a073 Implement Force Mask button in Batch Print Mode.
pyon@macmini
parents: 11
diff changeset
201 long l;
52958cd4a073 Implement Force Mask button in Batch Print Mode.
pyon@macmini
parents: 11
diff changeset
202 GetScore( &z, &l, m_imagefiles[n] );
52958cd4a073 Implement Force Mask button in Batch Print Mode.
pyon@macmini
parents: 11
diff changeset
203 wxString info = m_imagefiles[n].AfterLast( wxFILE_SEP_PATH );
52958cd4a073 Implement Force Mask button in Batch Print Mode.
pyon@macmini
parents: 11
diff changeset
204 info += wxString::Format( wxT("\n%z = %f"), z );
52958cd4a073 Implement Force Mask button in Batch Print Mode.
pyon@macmini
parents: 11
diff changeset
205 info += wxString::Format( wxT("\n%l = %ld"), l );
52958cd4a073 Implement Force Mask button in Batch Print Mode.
pyon@macmini
parents: 11
diff changeset
206 m_textInfo->SetValue( info );
10
29021e6e1ebe Implement thumbnail list in PreviewDialog.
pyon@macmini
parents: 9
diff changeset
207 }
29021e6e1ebe Implement thumbnail list in PreviewDialog.
pyon@macmini
parents: 9
diff changeset
208
15
de222bc84e48 Implement Mouse Gesture in Preview Dialog.
pyon@macmini
parents: 14
diff changeset
209 /* 倍率を指定しロード */
14
ac17a73e39b3 Zoom in / out in Preview Dialog.
pyon@macmini
parents: 13
diff changeset
210 void PreviewDialog::SetZoom( float zoom )
ac17a73e39b3 Zoom in / out in Preview Dialog.
pyon@macmini
parents: 13
diff changeset
211 {
ac17a73e39b3 Zoom in / out in Preview Dialog.
pyon@macmini
parents: 13
diff changeset
212 int w, h;
ac17a73e39b3 Zoom in / out in Preview Dialog.
pyon@macmini
parents: 13
diff changeset
213 m_scrolledWindow->GetSize( &w, &h );
ac17a73e39b3 Zoom in / out in Preview Dialog.
pyon@macmini
parents: 13
diff changeset
214 w = (int)( zoom * h * WIDTH / HEIGHT );
ac17a73e39b3 Zoom in / out in Preview Dialog.
pyon@macmini
parents: 13
diff changeset
215 h = (int)( zoom * h );
ac17a73e39b3 Zoom in / out in Preview Dialog.
pyon@macmini
parents: 13
diff changeset
216
ac17a73e39b3 Zoom in / out in Preview Dialog.
pyon@macmini
parents: 13
diff changeset
217 m_bitmap->SetBitmap( wxNullBitmap );
ac17a73e39b3 Zoom in / out in Preview Dialog.
pyon@macmini
parents: 13
diff changeset
218 wxImage img;
15
de222bc84e48 Implement Mouse Gesture in Preview Dialog.
pyon@macmini
parents: 14
diff changeset
219 img.LoadFile( m_imagefiles[m_preview], wxBITMAP_TYPE_JPEG );
14
ac17a73e39b3 Zoom in / out in Preview Dialog.
pyon@macmini
parents: 13
diff changeset
220 wxBitmap bmp( img.Scale( w, h, wxIMAGE_QUALITY_HIGH ) );
ac17a73e39b3 Zoom in / out in Preview Dialog.
pyon@macmini
parents: 13
diff changeset
221 m_bitmap->SetBitmap( bmp );
ac17a73e39b3 Zoom in / out in Preview Dialog.
pyon@macmini
parents: 13
diff changeset
222 m_bitmap->Centre( wxHORIZONTAL );
ac17a73e39b3 Zoom in / out in Preview Dialog.
pyon@macmini
parents: 13
diff changeset
223
ac17a73e39b3 Zoom in / out in Preview Dialog.
pyon@macmini
parents: 13
diff changeset
224 m_scrolledWindow->Scroll( 0, 0 );
ac17a73e39b3 Zoom in / out in Preview Dialog.
pyon@macmini
parents: 13
diff changeset
225 m_scrolledWindow->SetScrollbars( 10, 10, 0, h/10 );
ac17a73e39b3 Zoom in / out in Preview Dialog.
pyon@macmini
parents: 13
diff changeset
226 }
ac17a73e39b3 Zoom in / out in Preview Dialog.
pyon@macmini
parents: 13
diff changeset
227
15
de222bc84e48 Implement Mouse Gesture in Preview Dialog.
pyon@macmini
parents: 14
diff changeset
228 /* ファイル名を保持 */
13
bbd65edf71d4 Implement Hhs DB update dialog.
pyon@macmini
parents: 12
diff changeset
229 void PreviewDialog::SetFiles( wxArrayString imagefiles, wxArrayString cachefiles, int select )
10
29021e6e1ebe Implement thumbnail list in PreviewDialog.
pyon@macmini
parents: 9
diff changeset
230 {
29021e6e1ebe Implement thumbnail list in PreviewDialog.
pyon@macmini
parents: 9
diff changeset
231 m_imagefiles = imagefiles;
29021e6e1ebe Implement thumbnail list in PreviewDialog.
pyon@macmini
parents: 9
diff changeset
232 m_cachefiles = cachefiles;
13
bbd65edf71d4 Implement Hhs DB update dialog.
pyon@macmini
parents: 12
diff changeset
233 m_thumbPanel->SetFiles( m_imagefiles, m_cachefiles, select );
12
52958cd4a073 Implement Force Mask button in Batch Print Mode.
pyon@macmini
parents: 11
diff changeset
234
52958cd4a073 Implement Force Mask button in Batch Print Mode.
pyon@macmini
parents: 11
diff changeset
235 wxString title = wxT("プレビュー @ ") + m_imagefiles[0].BeforeLast( wxFILE_SEP_PATH );
52958cd4a073 Implement Force Mask button in Batch Print Mode.
pyon@macmini
parents: 11
diff changeset
236 this->SetTitle( title );
9
b455f2d8aac9 Implement Preview.
pyon@macmini
parents:
diff changeset
237 }
b455f2d8aac9 Implement Preview.
pyon@macmini
parents:
diff changeset
238
15
de222bc84e48 Implement Mouse Gesture in Preview Dialog.
pyon@macmini
parents: 14
diff changeset
239 /* コントロールキー + マウスホイール で画像を拡大・縮小 */
14
ac17a73e39b3 Zoom in / out in Preview Dialog.
pyon@macmini
parents: 13
diff changeset
240 void PreviewDialog::OnWheel( wxMouseEvent& event )
ac17a73e39b3 Zoom in / out in Preview Dialog.
pyon@macmini
parents: 13
diff changeset
241 {
ac17a73e39b3 Zoom in / out in Preview Dialog.
pyon@macmini
parents: 13
diff changeset
242 if ( event.ControlDown() ) {
ac17a73e39b3 Zoom in / out in Preview Dialog.
pyon@macmini
parents: 13
diff changeset
243 if ( event.GetWheelRotation() < 0 ) {
ac17a73e39b3 Zoom in / out in Preview Dialog.
pyon@macmini
parents: 13
diff changeset
244 if ( m_zoom > 2.1 ) return;
ac17a73e39b3 Zoom in / out in Preview Dialog.
pyon@macmini
parents: 13
diff changeset
245 m_zoom *= 1.3;
ac17a73e39b3 Zoom in / out in Preview Dialog.
pyon@macmini
parents: 13
diff changeset
246 }
ac17a73e39b3 Zoom in / out in Preview Dialog.
pyon@macmini
parents: 13
diff changeset
247 else {
ac17a73e39b3 Zoom in / out in Preview Dialog.
pyon@macmini
parents: 13
diff changeset
248 if ( m_zoom <= 1.0 ) return;
ac17a73e39b3 Zoom in / out in Preview Dialog.
pyon@macmini
parents: 13
diff changeset
249 m_zoom /= 1.3;
ac17a73e39b3 Zoom in / out in Preview Dialog.
pyon@macmini
parents: 13
diff changeset
250 }
ac17a73e39b3 Zoom in / out in Preview Dialog.
pyon@macmini
parents: 13
diff changeset
251 SetZoom( m_zoom );
ac17a73e39b3 Zoom in / out in Preview Dialog.
pyon@macmini
parents: 13
diff changeset
252 return;
ac17a73e39b3 Zoom in / out in Preview Dialog.
pyon@macmini
parents: 13
diff changeset
253 }
ac17a73e39b3 Zoom in / out in Preview Dialog.
pyon@macmini
parents: 13
diff changeset
254 event.Skip();
ac17a73e39b3 Zoom in / out in Preview Dialog.
pyon@macmini
parents: 13
diff changeset
255 }
ac17a73e39b3 Zoom in / out in Preview Dialog.
pyon@macmini
parents: 13
diff changeset
256
15
de222bc84e48 Implement Mouse Gesture in Preview Dialog.
pyon@macmini
parents: 14
diff changeset
257 /* 画像のダブルクリックで倍率変更 */
14
ac17a73e39b3 Zoom in / out in Preview Dialog.
pyon@macmini
parents: 13
diff changeset
258 void PreviewDialog::OnDClick( wxMouseEvent& WXUNUSED(event) )
ac17a73e39b3 Zoom in / out in Preview Dialog.
pyon@macmini
parents: 13
diff changeset
259 {
ac17a73e39b3 Zoom in / out in Preview Dialog.
pyon@macmini
parents: 13
diff changeset
260 if ( m_zoom > 2.1 ) m_zoom = 1.0;
ac17a73e39b3 Zoom in / out in Preview Dialog.
pyon@macmini
parents: 13
diff changeset
261 else m_zoom *= 1.3;
ac17a73e39b3 Zoom in / out in Preview Dialog.
pyon@macmini
parents: 13
diff changeset
262
ac17a73e39b3 Zoom in / out in Preview Dialog.
pyon@macmini
parents: 13
diff changeset
263 SetZoom( m_zoom );
ac17a73e39b3 Zoom in / out in Preview Dialog.
pyon@macmini
parents: 13
diff changeset
264 }
ac17a73e39b3 Zoom in / out in Preview Dialog.
pyon@macmini
parents: 13
diff changeset
265
15
de222bc84e48 Implement Mouse Gesture in Preview Dialog.
pyon@macmini
parents: 14
diff changeset
266 /* 右ジェスチャー検知開始 */
de222bc84e48 Implement Mouse Gesture in Preview Dialog.
pyon@macmini
parents: 14
diff changeset
267 void PreviewDialog::OnStartRGesture( wxMouseEvent& event )
de222bc84e48 Implement Mouse Gesture in Preview Dialog.
pyon@macmini
parents: 14
diff changeset
268 {
de222bc84e48 Implement Mouse Gesture in Preview Dialog.
pyon@macmini
parents: 14
diff changeset
269 event.GetPosition( &cx, &cy );
de222bc84e48 Implement Mouse Gesture in Preview Dialog.
pyon@macmini
parents: 14
diff changeset
270 }
de222bc84e48 Implement Mouse Gesture in Preview Dialog.
pyon@macmini
parents: 14
diff changeset
271
de222bc84e48 Implement Mouse Gesture in Preview Dialog.
pyon@macmini
parents: 14
diff changeset
272 /* 右ジェスチャー判定 */
de222bc84e48 Implement Mouse Gesture in Preview Dialog.
pyon@macmini
parents: 14
diff changeset
273 void PreviewDialog::OnEndRGesture( wxMouseEvent& event )
de222bc84e48 Implement Mouse Gesture in Preview Dialog.
pyon@macmini
parents: 14
diff changeset
274 {
de222bc84e48 Implement Mouse Gesture in Preview Dialog.
pyon@macmini
parents: 14
diff changeset
275 int x, y;
de222bc84e48 Implement Mouse Gesture in Preview Dialog.
pyon@macmini
parents: 14
diff changeset
276 event.GetPosition( &x, &y );
de222bc84e48 Implement Mouse Gesture in Preview Dialog.
pyon@macmini
parents: 14
diff changeset
277
de222bc84e48 Implement Mouse Gesture in Preview Dialog.
pyon@macmini
parents: 14
diff changeset
278 int dx = x - cx;
de222bc84e48 Implement Mouse Gesture in Preview Dialog.
pyon@macmini
parents: 14
diff changeset
279 int dy = y - cy;
de222bc84e48 Implement Mouse Gesture in Preview Dialog.
pyon@macmini
parents: 14
diff changeset
280 float rad = fabs( atan2( dy, dx ) );
de222bc84e48 Implement Mouse Gesture in Preview Dialog.
pyon@macmini
parents: 14
diff changeset
281 float pi = 3.14159;
de222bc84e48 Implement Mouse Gesture in Preview Dialog.
pyon@macmini
parents: 14
diff changeset
282
de222bc84e48 Implement Mouse Gesture in Preview Dialog.
pyon@macmini
parents: 14
diff changeset
283 // 右へジェスチャー
de222bc84e48 Implement Mouse Gesture in Preview Dialog.
pyon@macmini
parents: 14
diff changeset
284 if ( rad < pi/8 && dx > 0 ) {
de222bc84e48 Implement Mouse Gesture in Preview Dialog.
pyon@macmini
parents: 14
diff changeset
285 if ( m_preview < m_imagefiles.GetCount() - 1 )
de222bc84e48 Implement Mouse Gesture in Preview Dialog.
pyon@macmini
parents: 14
diff changeset
286 m_preview++;
de222bc84e48 Implement Mouse Gesture in Preview Dialog.
pyon@macmini
parents: 14
diff changeset
287 else
de222bc84e48 Implement Mouse Gesture in Preview Dialog.
pyon@macmini
parents: 14
diff changeset
288 return;
de222bc84e48 Implement Mouse Gesture in Preview Dialog.
pyon@macmini
parents: 14
diff changeset
289 m_thumbPanel->Preview( m_preview );
de222bc84e48 Implement Mouse Gesture in Preview Dialog.
pyon@macmini
parents: 14
diff changeset
290 }
de222bc84e48 Implement Mouse Gesture in Preview Dialog.
pyon@macmini
parents: 14
diff changeset
291 // 左へジェスチャー
de222bc84e48 Implement Mouse Gesture in Preview Dialog.
pyon@macmini
parents: 14
diff changeset
292 else if ( rad > pi/8*7 && rad < pi && dx < 0 ) {
de222bc84e48 Implement Mouse Gesture in Preview Dialog.
pyon@macmini
parents: 14
diff changeset
293 if ( m_preview > 0 )
de222bc84e48 Implement Mouse Gesture in Preview Dialog.
pyon@macmini
parents: 14
diff changeset
294 m_preview--;
de222bc84e48 Implement Mouse Gesture in Preview Dialog.
pyon@macmini
parents: 14
diff changeset
295 else
de222bc84e48 Implement Mouse Gesture in Preview Dialog.
pyon@macmini
parents: 14
diff changeset
296 return;
de222bc84e48 Implement Mouse Gesture in Preview Dialog.
pyon@macmini
parents: 14
diff changeset
297 m_thumbPanel->Preview( m_preview );
de222bc84e48 Implement Mouse Gesture in Preview Dialog.
pyon@macmini
parents: 14
diff changeset
298 }
de222bc84e48 Implement Mouse Gesture in Preview Dialog.
pyon@macmini
parents: 14
diff changeset
299 // 右上ヘジェスチャー
de222bc84e48 Implement Mouse Gesture in Preview Dialog.
pyon@macmini
parents: 14
diff changeset
300 else if ( rad > pi/8 && rad < pi/8*3 && dx > 0 ) {
de222bc84e48 Implement Mouse Gesture in Preview Dialog.
pyon@macmini
parents: 14
diff changeset
301 Close();
de222bc84e48 Implement Mouse Gesture in Preview Dialog.
pyon@macmini
parents: 14
diff changeset
302 }
de222bc84e48 Implement Mouse Gesture in Preview Dialog.
pyon@macmini
parents: 14
diff changeset
303 }
de222bc84e48 Implement Mouse Gesture in Preview Dialog.
pyon@macmini
parents: 14
diff changeset
304
de222bc84e48 Implement Mouse Gesture in Preview Dialog.
pyon@macmini
parents: 14
diff changeset
305 /* 印刷 */
12
52958cd4a073 Implement Force Mask button in Batch Print Mode.
pyon@macmini
parents: 11
diff changeset
306 void PreviewDialog::OnPrint( wxCommandEvent& WXUNUSED(event) )
9
b455f2d8aac9 Implement Preview.
pyon@macmini
parents:
diff changeset
307 {
b455f2d8aac9 Implement Preview.
pyon@macmini
parents:
diff changeset
308 wxString html;
b455f2d8aac9 Implement Preview.
pyon@macmini
parents:
diff changeset
309 html = html + wxT("<html><body>\n");
b455f2d8aac9 Implement Preview.
pyon@macmini
parents:
diff changeset
310
b455f2d8aac9 Implement Preview.
pyon@macmini
parents:
diff changeset
311 wxString tmpjpg = wxGetCwd() + wxFILE_SEP_PATH + wxT("tmp") + wxFILE_SEP_PATH + wxT("preview.jpg");
b455f2d8aac9 Implement Preview.
pyon@macmini
parents:
diff changeset
312
15
de222bc84e48 Implement Mouse Gesture in Preview Dialog.
pyon@macmini
parents: 14
diff changeset
313 wxCopyFile( m_imagefiles[m_preview], tmpjpg, true );
9
b455f2d8aac9 Implement Preview.
pyon@macmini
parents:
diff changeset
314
b455f2d8aac9 Implement Preview.
pyon@macmini
parents:
diff changeset
315 html = html + wxT("<img src=\"") + tmpjpg + wxT("\" width=\"750\" height=\"1060\"/>");
b455f2d8aac9 Implement Preview.
pyon@macmini
parents:
diff changeset
316 html = html + wxT("</body></html>");
b455f2d8aac9 Implement Preview.
pyon@macmini
parents:
diff changeset
317
b455f2d8aac9 Implement Preview.
pyon@macmini
parents:
diff changeset
318 // start printing
b455f2d8aac9 Implement Preview.
pyon@macmini
parents:
diff changeset
319 wxHtmlPrintout hpout( wxT("Searcher03") );
b455f2d8aac9 Implement Preview.
pyon@macmini
parents:
diff changeset
320 hpout.SetMargins( 0, 0, 0, 0, 0 );
b455f2d8aac9 Implement Preview.
pyon@macmini
parents:
diff changeset
321 wxPrintDialogData pd;
b455f2d8aac9 Implement Preview.
pyon@macmini
parents:
diff changeset
322 wxPrinter p( &pd );
b455f2d8aac9 Implement Preview.
pyon@macmini
parents:
diff changeset
323
b455f2d8aac9 Implement Preview.
pyon@macmini
parents:
diff changeset
324 hpout.SetHtmlText( html, wxEmptyString, false );
b455f2d8aac9 Implement Preview.
pyon@macmini
parents:
diff changeset
325 p.Print( NULL, &hpout, true );
b455f2d8aac9 Implement Preview.
pyon@macmini
parents:
diff changeset
326 }
b455f2d8aac9 Implement Preview.
pyon@macmini
parents:
diff changeset
327
22
92188f60323d Implement Masking function on Preview Dialog.
pyon@macmini
parents: 15
diff changeset
328 /* マスク印刷 */
92188f60323d Implement Masking function on Preview Dialog.
pyon@macmini
parents: 15
diff changeset
329 void PreviewDialog::OnMaskPrint( wxCommandEvent& WXUNUSED(event) )
92188f60323d Implement Masking function on Preview Dialog.
pyon@macmini
parents: 15
diff changeset
330 {
92188f60323d Implement Masking function on Preview Dialog.
pyon@macmini
parents: 15
diff changeset
331 wxString html;
92188f60323d Implement Masking function on Preview Dialog.
pyon@macmini
parents: 15
diff changeset
332 html = html + wxT("<html><body>\n");
92188f60323d Implement Masking function on Preview Dialog.
pyon@macmini
parents: 15
diff changeset
333
92188f60323d Implement Masking function on Preview Dialog.
pyon@macmini
parents: 15
diff changeset
334 wxString tmpjpg = wxGetCwd() + wxFILE_SEP_PATH + wxT("tmp") + wxFILE_SEP_PATH + wxT("preview.jpg");
92188f60323d Implement Masking function on Preview Dialog.
pyon@macmini
parents: 15
diff changeset
335
92188f60323d Implement Masking function on Preview Dialog.
pyon@macmini
parents: 15
diff changeset
336 wxImage img_org( m_imagefiles[m_preview], wxBITMAP_TYPE_JPEG );
92188f60323d Implement Masking function on Preview Dialog.
pyon@macmini
parents: 15
diff changeset
337 int ver = GetMarksheetVersion( m_imagefiles[m_preview] );
92188f60323d Implement Masking function on Preview Dialog.
pyon@macmini
parents: 15
diff changeset
338 if ( ver == 2 ) {
92188f60323d Implement Masking function on Preview Dialog.
pyon@macmini
parents: 15
diff changeset
339 img_org.SetRGB( m_mask1, 255, 255, 255 ); // cm name
92188f60323d Implement Masking function on Preview Dialog.
pyon@macmini
parents: 15
diff changeset
340 img_org.SetRGB( m_mask2, 255, 255, 255 ); // cm no.
92188f60323d Implement Masking function on Preview Dialog.
pyon@macmini
parents: 15
diff changeset
341 img_org.SetRGB( m_mask3, 255, 255, 255 ); // barcode
92188f60323d Implement Masking function on Preview Dialog.
pyon@macmini
parents: 15
diff changeset
342 }
92188f60323d Implement Masking function on Preview Dialog.
pyon@macmini
parents: 15
diff changeset
343 else { // 古いマークシート ver == 1
92188f60323d Implement Masking function on Preview Dialog.
pyon@macmini
parents: 15
diff changeset
344 img_org.SetRGB( m_mask1old, 255, 255, 255 ); // cm name
92188f60323d Implement Masking function on Preview Dialog.
pyon@macmini
parents: 15
diff changeset
345 img_org.SetRGB( m_mask2old, 255, 255, 255 ); // cm no.
92188f60323d Implement Masking function on Preview Dialog.
pyon@macmini
parents: 15
diff changeset
346 img_org.SetRGB( m_mask3old, 255, 255, 255 ); // barcode
92188f60323d Implement Masking function on Preview Dialog.
pyon@macmini
parents: 15
diff changeset
347 }
92188f60323d Implement Masking function on Preview Dialog.
pyon@macmini
parents: 15
diff changeset
348 img_org.SaveFile( tmpjpg );
92188f60323d Implement Masking function on Preview Dialog.
pyon@macmini
parents: 15
diff changeset
349
92188f60323d Implement Masking function on Preview Dialog.
pyon@macmini
parents: 15
diff changeset
350 html = html + wxT("<img src=\"") + tmpjpg + wxT("\" width=\"750\" height=\"1060\"/>");
92188f60323d Implement Masking function on Preview Dialog.
pyon@macmini
parents: 15
diff changeset
351 html = html + wxT("</body></html>");
92188f60323d Implement Masking function on Preview Dialog.
pyon@macmini
parents: 15
diff changeset
352
92188f60323d Implement Masking function on Preview Dialog.
pyon@macmini
parents: 15
diff changeset
353 // start printing
92188f60323d Implement Masking function on Preview Dialog.
pyon@macmini
parents: 15
diff changeset
354 wxHtmlPrintout hpout( wxT("Searcher03") );
92188f60323d Implement Masking function on Preview Dialog.
pyon@macmini
parents: 15
diff changeset
355 hpout.SetMargins( 0, 0, 0, 0, 0 );
92188f60323d Implement Masking function on Preview Dialog.
pyon@macmini
parents: 15
diff changeset
356 wxPrintDialogData pd;
92188f60323d Implement Masking function on Preview Dialog.
pyon@macmini
parents: 15
diff changeset
357 wxPrinter p( &pd );
92188f60323d Implement Masking function on Preview Dialog.
pyon@macmini
parents: 15
diff changeset
358
92188f60323d Implement Masking function on Preview Dialog.
pyon@macmini
parents: 15
diff changeset
359 hpout.SetHtmlText( html, wxEmptyString, false );
92188f60323d Implement Masking function on Preview Dialog.
pyon@macmini
parents: 15
diff changeset
360 p.Print( NULL, &hpout, true );
92188f60323d Implement Masking function on Preview Dialog.
pyon@macmini
parents: 15
diff changeset
361 }
92188f60323d Implement Masking function on Preview Dialog.
pyon@macmini
parents: 15
diff changeset
362
92188f60323d Implement Masking function on Preview Dialog.
pyon@macmini
parents: 15
diff changeset
363 void PreviewDialog::EnableMaskButton( bool flag )
92188f60323d Implement Masking function on Preview Dialog.
pyon@macmini
parents: 15
diff changeset
364 {
92188f60323d Implement Masking function on Preview Dialog.
pyon@macmini
parents: 15
diff changeset
365 if ( flag ) m_buttonMaskPrint->Enable( true );
92188f60323d Implement Masking function on Preview Dialog.
pyon@macmini
parents: 15
diff changeset
366 else m_buttonMaskPrint->Enable( false );
92188f60323d Implement Masking function on Preview Dialog.
pyon@macmini
parents: 15
diff changeset
367 }
92188f60323d Implement Masking function on Preview Dialog.
pyon@macmini
parents: 15
diff changeset
368