Refactored width/height values into superclass and enabled construction of RGBMonochr...
[zxing.git] / javame / src / com / google / zxing / client / j2me / LCDUIImageMonochromeBitmapSource.java
index 7c4f2eb..fb06732 100644 (file)
@@ -29,28 +29,17 @@ import javax.microedition.lcdui.Image;
 public final class LCDUIImageMonochromeBitmapSource extends BaseMonochromeBitmapSource {
 
   private final Image image;
-  private final int height;
-  private final int width;
   private final int[] pixelHolder;
 
   public LCDUIImageMonochromeBitmapSource(Image image) {
+    super(image.getHeight(), image.getWidth());
     this.image = image;
-    height = image.getHeight();
-    width = image.getWidth();
     pixelHolder = new int[1];
   }
 
-  public int getHeight() {
-    return height;
-  }
-
-  public int getWidth() {
-    return width;
-  }
-
   // This is expensive and should be used very sparingly.
   protected int getLuminance(int x, int y) {
-    image.getRGB(pixelHolder, 0, width, x, y, 1, 1);
+    image.getRGB(pixelHolder, 0, getWidth(), x, y, 1, 1);
     int pixel = pixelHolder[0];
 
     // Instead of multiplying by 306, 601, 117, we multiply by 256, 512, 256, so that
@@ -72,6 +61,7 @@ public final class LCDUIImageMonochromeBitmapSource extends BaseMonochromeBitmap
 
   // For efficiency, the RGB data and the luminance data share the same array.
   protected int[] getLuminanceRow(int y, int[] row) {
+    int width = getWidth();
     if (row == null || row.length < width) {
       row = new int[width];
     }
@@ -86,6 +76,7 @@ public final class LCDUIImageMonochromeBitmapSource extends BaseMonochromeBitmap
   }
 
   protected int[] getLuminanceColumn(int x, int[] column) {
+    int height = getHeight();
     if (column == null || column.length < height) {
       column = new int[height];
     }