Make sure checkboxes are enabled correctly on first load
[zxing.git] / cpp / core / src / zxing / Binarizer.cpp
1 /*
2  *  Binarizer.cpp
3  *  zxing
4  *
5  *  Created by Ralf Kistner on 16/10/2009.
6  *  Copyright 2008 ZXing authors All rights reserved.
7  *  Modified by Lukasz Warchol on 02/02/2010.
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 #include <zxing/Binarizer.h>
23
24 namespace zxing {
25         
26         Binarizer::Binarizer(Ref<LuminanceSource> source) : source_(source), array_(NULL), matrix_(NULL), cached_y_(-1) {
27         }
28         
29         Binarizer::~Binarizer() {
30         }
31         
32         Ref<BitArray> Binarizer::getBlackRow(int y, Ref<BitArray> row){
33                 if (array_ == NULL && cached_y_ != y) {
34                         array_ = estimateBlackRow(y, row);
35                         cached_y_ = y;
36                 }
37                 return array_;
38         }
39         
40         Ref<BitMatrix> Binarizer::getBlackMatrix() {
41                 if (matrix_ == NULL)
42                         matrix_ = estimateBlackMatrix();
43                 return matrix_;
44         }
45         
46         Ref<LuminanceSource> Binarizer::getSource() {
47                 return source_;
48         }
49         
50 }