2 // Open Service Platform
3 // Copyright (c) 2013 Samsung Electronics Co., Ltd.
5 // Licensed under the Apache License, Version 2.0 (the License);
6 // you may not use this file except in compliance with the License.
7 // You may obtain a copy of the License at
9 // http://www.apache.org/licenses/LICENSE-2.0
11 // Unless required by applicable law or agreed to in writing, software
12 // distributed under the License is distributed on an "AS IS" BASIS,
13 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 // See the License for the specific language governing permissions and
15 // limitations under the License.
18 #include "FUixVision_QrCodeRecognizerImpl.h"
19 #include "FUixVision_QrCodeObjectImpl.h"
21 namespace Tizen { namespace Uix { namespace Vision
24 _QrCodeRecognizerImpl::_QrCodeRecognizerImpl(void)
27 __objectStorage = _QrCodeObjectImpl::CreateQRCodeObjectStorageN(MAX_TRACKABLE_OBJECTS);
30 _QrCodeRecognizerImpl::~_QrCodeRecognizerImpl(void)
32 _QrCodeObjectImpl::ReleaseQrCodeObjectArray(__objectStorage);
36 _QrCodeRecognizerImpl::SetFrameSize(unsigned int width, unsigned int height)
38 return __qrCodeRecognizer.setFrameSize(width, height);
42 _QrCodeRecognizerImpl::ProcessFrame(const unsigned char* raw)
44 return __qrCodeRecognizer.processFrame(raw);
48 _QrCodeRecognizerImpl::GetROI(float* roi)
50 return __qrCodeRecognizer.getROI(roi);
54 _QrCodeRecognizerImpl::SetSceneTransform(const float* left, const float* right)
56 __qrCodeRecognizer.setSceneTransform(left, right);
60 _QrCodeRecognizerImpl::FillObjectStorage(void)
62 __objectStorageSize = 0;
63 for (const sari2::QRCodeRecognitionInfo *o = __qrCodeRecognizer.objectsBegin(), *e = __qrCodeRecognizer.objectsEnd(); o != e; ++o)
65 Tizen::Uix::Vision::QrCodeObject& to = __objectStorage[__objectStorageSize++];
66 _QrCodeObjectImpl::GetInstance(&to)->SetSariPointer(*o);
71 QrCodeObject* _QrCodeRecognizerImpl::QRCodeObjectsBegin(void)
73 return __objectStorage;
77 QrCodeObject* _QrCodeRecognizerImpl::QRCodeObjectsEnd(void)
79 return __objectStorage + __objectStorageSize;
82 int _QrCodeRecognizerImpl::GetRecognizedObjectsCount(void)
84 return __objectStorageSize;
88 _QrCodeRecognizerImpl::GetQrCodeObject(int index)
91 if (index < __objectStorageSize)
93 return &__objectStorage[index];
97 SetLastResult(E_INVALID_ARG);
102 _QrCodeRecognizerImpl* _QrCodeRecognizerImpl::GetInstance(QrCodeRecognizer* pQrRecognizer)
104 return pQrRecognizer->__pQrCodeRecognizerImpl;
107 const _QrCodeRecognizerImpl* _QrCodeRecognizerImpl::GetInstance(const QrCodeRecognizer* pQrRecognizer)
109 return pQrRecognizer->__pQrCodeRecognizerImpl;
113 _QrCodeRecognizerImpl::Init(void)
115 return __qrCodeRecognizer.init();
119 _QrCodeRecognizerImpl::Destroy(void)
121 return __qrCodeRecognizer.destroy();
124 } } } //Tizen::Uix::Vision