+#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_ */