Issue 411
[zxing.git] / iphone / ZXingWidget / GrayBytesMonochromeBitmapSource.h
1 //
2 //  GrayBytesMonochromeBitmapSource.h
3 //  ZXing
4 //
5 //  Created by Thomas Recloux, Norsys on 04/12/2009.
6 /*
7  * Copyright 2008 ZXing authors
8  *
9  * Licensed under the Apache License, Version 2.0 (the "License");
10  * you may not use this file except in compliance with the License.
11  * You may obtain a copy of the License at
12  *
13  *      http://www.apache.org/licenses/LICENSE-2.0
14  *
15  * Unless required by applicable law or agreed to in writing, software
16  * distributed under the License is distributed on an "AS IS" BASIS,
17  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18  * See the License for the specific language governing permissions and
19  * limitations under the License.
20  */
21
22 #ifndef __GRAY_BYTES_MONOCHROM_BITMAP_SOURCE_H__
23 #define __GRAY_BYTES_MONOCHROM_BITMAP_SOURCE_H__
24
25 #include <zxing/LuminanceSource.h>
26
27 class GrayBytesMonochromeBitmapSource : public zxing::LuminanceSource {
28 private:
29         int width_;
30         int height_;
31         const unsigned char *bytes_;
32         int bytesPerRow_;
33         
34 public:
35         GrayBytesMonochromeBitmapSource(const unsigned char *bytes, 
36                                                                         int width, 
37                                                                         int height,
38                                                                         int bytesPerRow);
39         virtual ~GrayBytesMonochromeBitmapSource() { }
40         
41         virtual unsigned char getPixel(int x, int y) const;
42         
43         virtual int getWidth() const;
44         virtual int getHeight() const;
45
46 private:
47   GrayBytesMonochromeBitmapSource(const GrayBytesMonochromeBitmapSource&);
48   GrayBytesMonochromeBitmapSource& operator=(const GrayBytesMonochromeBitmapSource&);  
49 };
50
51 #endif // __GRAY_BYTES_MONOCHROM_BITMAP_SOURCE_H__