GreyscaleRotatedLuminanceSource: implemented getMatrix()
[zxing.git] / cpp / core / src / zxing / BinaryBitmap.h
index b2cd3e0..23f6dd2 100644 (file)
@@ -1,9 +1,11 @@
+#ifndef __BINARYBITMAP_H__
+#define __BINARYBITMAP_H__
+
 /*
  *  BinaryBitmap.h
  *  zxing
  *
- *  Created by Ralf Kistner on 19/10/2009.
- *  Copyright 2008 ZXing authors All rights reserved.
+ *  Copyright 2010 ZXing authors All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-#ifndef BINARYBITMAP_H_
-#define BINARYBITMAP_H_
 
 #include <zxing/common/Counted.h>
 #include <zxing/common/BitMatrix.h>
+#include <zxing/common/BitArray.h>
 #include <zxing/Binarizer.h>
 
 namespace zxing {
+       
+       class BinaryBitmap : public Counted {
+       private:
+               Ref<Binarizer> binarizer_;
+               int cached_y_;
+               
+       public:
+               BinaryBitmap(Ref<Binarizer> binarizer);
+               virtual ~BinaryBitmap();
+               
+               Ref<BitArray> getBlackRow(int y, Ref<BitArray> row);
+               Ref<BitMatrix> getBlackMatrix();
+               
+               Ref<LuminanceSource> getLuminanceSource() const;
 
-class BinaryBitmap : public Counted {
-private:
-  Ref<BitMatrix> bits_;
-  Ref<Binarizer> binarizer_;
+               int getWidth() const;
+               int getHeight() const;
 
-public:
-  BinaryBitmap(Ref<Binarizer> binarizer);
-  virtual ~BinaryBitmap();
+               bool isRotateSupported() const;
+               Ref<BinaryBitmap> rotateCounterClockwise();
 
-  Ref<BitMatrix> getBlackMatrix();
-  Ref<LuminanceSource> getSource();
-};
+               bool isCropSupported() const;
+               Ref<BinaryBitmap> crop(int left, int top, int width, int height);
 
+       };
+       
 }
 
 #endif /* BINARYBITMAP_H_ */