Update arborescence 2
This commit is contained in:
75
Tess4J/test/net/sourceforge/tess4j/ProgressMonitor.java
Normal file
75
Tess4J/test/net/sourceforge/tess4j/ProgressMonitor.java
Normal file
@@ -0,0 +1,75 @@
|
||||
/**
|
||||
* Copyright @ 2014 Quan Nguyen
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
|
||||
* use this file except in compliance with the License. You may obtain a copy of
|
||||
* the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
||||
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
||||
* License for the specific language governing permissions and limitations under
|
||||
* the License.
|
||||
*/
|
||||
package net.sourceforge.tess4j;
|
||||
|
||||
import com.sun.jna.Pointer;
|
||||
import net.sourceforge.tess4j.util.LoggHelper;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import static net.sourceforge.tess4j.ITessAPI.TRUE;
|
||||
|
||||
class ProgressMonitor extends Thread {
|
||||
|
||||
ITessAPI.ETEXT_DESC monitor;
|
||||
StringBuilder outputMessage = new StringBuilder();
|
||||
|
||||
private static final Logger logger = LoggerFactory.getLogger(new LoggHelper().toString());
|
||||
|
||||
public ProgressMonitor(ITessAPI.ETEXT_DESC monitor) {
|
||||
this.monitor = monitor;
|
||||
}
|
||||
|
||||
public String getMessage() {
|
||||
return outputMessage.toString();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void run() {
|
||||
try {
|
||||
while (true) {
|
||||
logger.info("ocr alive: " + (monitor.ocr_alive == TRUE));
|
||||
logger.info("progress: " + monitor.progress);
|
||||
outputMessage.append(monitor.more_to_come);
|
||||
if (monitor.progress >= 100) {
|
||||
break;
|
||||
}
|
||||
Thread.sleep(100);
|
||||
}
|
||||
} catch (Exception ioe) {
|
||||
ioe.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Cancels OCR operation.
|
||||
*/
|
||||
public void cancel() {
|
||||
monitor.cancel = new ITessAPI.CANCEL_FUNC() {
|
||||
@Override
|
||||
public boolean invoke(Pointer cancel_this, int words) {
|
||||
return true;
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* Resets cancel flag.
|
||||
*/
|
||||
public void reset() {
|
||||
monitor.cancel = null;
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user