diff src/marksheet.cpp @ 12:52958cd4a073

Implement Force Mask button in Batch Print Mode.
author pyon@macmini
date Sun, 18 May 2014 19:49:15 +0900
parents fdba695b99f1
children
line wrap: on
line diff
--- a/src/marksheet.cpp	Wed May 07 20:38:57 2014 +0900
+++ b/src/marksheet.cpp	Sun May 18 19:49:15 2014 +0900
@@ -1,5 +1,5 @@
 // Filename   : marksheet.cpp
-// Last Change: 11-Sep-2013.
+// Last Change: 13-May-2014.
 //
 
 #include "common.h"
@@ -59,23 +59,10 @@
 
 bool IsMarksheet( wxString& file, double zmin, double zmax, long lmin, long lmax )
 {
-    wxImage img( file, wxBITMAP_TYPE_JPEG );
-    int black = 0;
-    int x = 2465;
-    int h = 3500;
-    unsigned char r, g, b;
+    float z;
+    long l;
 
-    for ( int y=0; y<h; y++ ) {
-        r = img.GetRed(   x, y );
-        g = img.GetGreen( x, y );
-        b = img.GetBlue(  x, y );
-        if( IsBlack( (int)r, (int)g, (int)b ) ) black++;
-    }
-    float z = (float)black / h;
-
-    wxFile f( file );
-    long l = f.Length();
-
+    GetScore( &z, &l, file );
     //wxPuts(wxString::Format(wxT("z = %f, len = %d"),z,l));
     if ( zmin < z && z < zmax
       && lmin < l && l < lmax ) {
@@ -84,6 +71,25 @@
     return false;
 }
 
+void GetScore( float* z, long* l, wxString file )
+{
+    wxImage img( file, wxBITMAP_TYPE_JPEG );
+    int black = 0;
+    int x = 2465;
+    int h = 3500;
+    unsigned char r, g, b;
+
+    for ( int y = 0; y < h; y++ ) {
+        r = img.GetRed(   x, y );
+        g = img.GetGreen( x, y );
+        b = img.GetBlue(  x, y );
+        if( IsBlack( (int)r, (int)g, (int)b ) ) black++;
+    }
+    *z = (float)black / h;
+
+    wxFile f( file );
+    *l = f.Length();
+}
 
 wxString GetHhsName( wxString& hhsno )
 {