public void push() {
this.oAttempted = true;
this.imageDisplay = null;
this.imageCropped = RgbImageJ2me.toRgbImage(this.imageInput);
DetectBarcode db = new DetectBarcode(20000);
try {
if (!db.push(this.imageCropped)) {
/**
* Couldn't find the barcode. Tell the user.
*/
this.oFound = false;
this.oSuccessful = false;
this.szBarcode = null;
} else {
this.oFound = true;
this.rb = new ReadBarcode();
this.rb.setRect(db.getRect());
this.rb.push(this.imageCropped);
if (!rb.getSuccessful()) {
/**
* Couldn't read the barcode.
*/
} else {
/**
* Read the barcode. Tell the user.
*/
// calculate coordinates of barcode rectange in terms of
// original cropped image
this.nTL = db.getRect().getLeft() + this.rb.getLeftApproxPos();
this.nTR = db.getRect().getLeft() + this.rb.getRightApproxPos();
this.nBL = this.nTL +
this.rb.getLeftApproxSlope() * this.imageCropped.getHeight() / 256;
this.nBR = this.nTR +
this.rb.getRightApproxSlope() * this.imageCropped.getHeight() / 256;
this.oSuccessful = false;