+++ /dev/null
-CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
-
-SET (this_target osp-vision)
-
-SET(LIBRARY_OUTPUT_PATH ${CMAKE_SOURCE_DIR}/cmake_build_tmp/output)
-
-INCLUDE_DIRECTORIES(
- inc
- src
- /usr/include/osp
- /usr/include/media
- /usr/include/osp/media
- )
-
-SET (${this_target}_SOURCE_FILES
- src/FUixVision_ImageRecognizerImpl.cpp
- src/FUixVision_QrCodeObjectImpl.h
- src/FUixVision_ImageFeatureInfoImpl.cpp
- src/FUixVision_ImageFeatureManagerImpl.cpp
- src/FUixVisionImageRecognizer.cpp
- src/FUixVision_QrCodeGeneratorImpl.h
- src/FUixVision_QrCodeRecognizerImpl.cpp
- src/FUixVisionQrCodeRecognizer.cpp
- src/FUixVisionImageObject.cpp
- src/FUixVisionQrCodeGenerator.cpp
- src/FUixVision_QrCodeObjectImpl.cpp
- src/FUixVisionImageFeatureManager.cpp
- src/FUixVision_QrCodeRecognizerImpl.h
- src/FUixVision_ImageObjectImpl.cpp
- src/FUixVisionImageFeatureInfo.cpp
- src/FUixVision_ImageFeatureManagerImpl.h
- src/FUixVision_ImageFeatureInfoImpl.h
- src/FUixVision_ImageObjectImpl.h
- src/FUixVision_ImageRecognizerImpl.h
- src/FUixVisionQrCodeObject.cpp
- src/FUixVision_QrCodeGeneratorImpl.cpp
- )
-
-SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -Wall" )
-
-## SET C COMPILER FLAGS
-SET(CMAKE_C_FLAGS "${OSP_DEBUG_FLAGS} ${OSP_OPT_FLAGS} ${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} ${OSP_COMPILER_FLAGS}")
-
-## SET CPP COMPILER FLAGS
-SET(CMAKE_CXX_FLAGS "${OSP_DEBUG_FLAGS} ${OSP_OPT_FLAGS} ${CMAKE_CXX_FLAGS} ${EXTRA_CFLAGS} ${OSP_COMPILER_FLAGS}")
-
-## Create Library
-ADD_LIBRARY (${this_target} SHARED ${${this_target}_SOURCE_FILES})
-
-IF("${ARCH}" MATCHES "arm")
-ADD_CUSTOM_COMMAND(TARGET ${this_target} PRE_BUILD
- COMMAND cp -f ${CMAKE_SOURCE_DIR}/lib/armv7-a/libarengine.so ${LIBRARY_OUTPUT_PATH})
-# COMMAND ln -s -f libarengine.so ${LIBRARY_OUTPUT_PATH}/libarengine.so)
-ELSEIF("${ARCH}" MATCHES "x86")
-ADD_CUSTOM_COMMAND(TARGET ${this_target} PRE_BUILD
- COMMAND cp -f ${CMAKE_SOURCE_DIR}/lib/x86/libarengine.so ${LIBRARY_OUTPUT_PATH})
-# COMMAND ln -s -f libarengine.so ${LIBRARY_OUTPUT_PATH}/libarengine.so)
-ENDIF("${ARCH}" MATCHES "arm")
-
-## SET DEPENDENCY FLAGS
-ADD_DEPENDENCIES(${this_target} osp-appfw)
-ADD_DEPENDENCIES(${this_target} osp-uifw)
-ADD_DEPENDENCIES(${this_target} osp-media)
-ADD_DEPENDENCIES(${this_target} osp-image)
-ADD_DEPENDENCIES(${this_target} osp-image-core)
-
-## SET LINKER FLAGS
-SET(CMAKE_SHARED_LINKER_FLAGS -Wl,--no-undefined)
-
-TARGET_LINK_LIBRARIES(${this_target} "-L/usr/lib/osp -losp-appfw" )
-TARGET_LINK_LIBRARIES(${this_target} "-losp-uifw" )
-TARGET_LINK_LIBRARIES(${this_target} "-losp-media" )
-TARGET_LINK_LIBRARIES(${this_target} "-losp-image" )
-TARGET_LINK_LIBRARIES(${this_target} "-losp-image-core" )
-TARGET_LINK_LIBRARIES(${this_target} "-L${LIBRARY_OUTPUT_PATH} -larengine" )
-
-SET_TARGET_PROPERTIES(${this_target}
- PROPERTIES
- VERSION ${FULLVER}
- SOVERSION ${MAJORVER}
- CLEAN_DIRECT_OUTPUT 1
- )
-
-ADD_CUSTOM_COMMAND(TARGET ${this_target}
- POST_BUILD
- COMMAND ${CMAKE_COMMAND} -E copy ${LIBRARY_OUTPUT_PATH}/${CMAKE_SHARED_LIBRARY_PREFIX}${this_target}${CMAKE_SHARED_LIBRARY_SUFFIX} ${LIBRARY_OUTPUT_PATH}/debug/${CMAKE_SHARED_LIBRARY_PREFIX}${this_target}${CMAKE_SHARED_LIBRARY_SUFFIX}.${FULLVER}
- COMMAND ${CMAKE_COMMAND} -E create_symlink ${CMAKE_SHARED_LIBRARY_PREFIX}${this_target}${CMAKE_SHARED_LIBRARY_SUFFIX}.${FULLVER} ${LIBRARY_OUTPUT_PATH}/debug/${CMAKE_SHARED_LIBRARY_PREFIX}${this_target}${CMAKE_SHARED_LIBRARY_SUFFIX}.${MAJORVER}
- COMMAND ${CMAKE_STRIP} --strip-unneeded ${LIBRARY_OUTPUT_PATH}/${CMAKE_SHARED_LIBRARY_PREFIX}${this_target}${CMAKE_SHARED_LIBRARY_SUFFIX}
- COMMENT "strip ${this_target}"
- )
-
-INSTALL(DIRECTORY ${LIBRARY_OUTPUT_PATH}/ DESTINATION lib/osp
- FILES_MATCHING PATTERN "*.so*"
- PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ
- GROUP_EXECUTE GROUP_READ
- WORLD_EXECUTE WORLD_READ)
-INSTALL(DIRECTORY ${LIBRARY_OUTPUT_PATH}/debug/ DESTINATION lib/osp/debug
- FILES_MATCHING PATTERN "*.so*"
- PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ
- GROUP_EXECUTE GROUP_READ
- WORLD_EXECUTE WORLD_READ)
-
-INSTALL(FILES ${LIBRARY_OUTPUT_PATH}/libarengine.so DESTINATION lib/osp)
-INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/inc/ DESTINATION include/osp FILES_MATCHING PATTERN "*.h")
-INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/src/ DESTINATION include/osp/vision FILES_MATCHING PATTERN "*.h")
-
-
-# pkgconfig file
-CONFIGURE_FILE(${this_target}.pc.in ${CMAKE_SOURCE_DIR}/${this_target}.pc @ONLY)
-INSTALL(FILES ${CMAKE_SOURCE_DIR}/${this_target}.pc DESTINATION lib/pkgconfig)
+++ /dev/null
-
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
-
- APPENDIX: How to apply the Apache License to your work.
-
- To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "[]"
- replaced with your own identifying information. (Don't include
- the brackets!) The text should be enclosed in the appropriate
- comment syntax for the file format. We also recommend that a
- file or class name and description of purpose be included on the
- same "printed page" as the copyright notice for easier
- identification within third-party archives.
-
- Copyright [yyyy] [name of copyright owner]
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
+++ /dev/null
-
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
-
- APPENDIX: How to apply the Apache License to your work.
-
- To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "[]"
- replaced with your own identifying information. (Don't include
- the brackets!) The text should be enclosed in the appropriate
- comment syntax for the file format. We also recommend that a
- file or class name and description of purpose be included on the
- same "printed page" as the copyright notice for easier
- identification within third-party archives.
-
- Copyright [yyyy] [name of copyright owner]
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
+++ /dev/null
-Flora License
-
-Version 1.1, April, 2013
-
-http://floralicense.org/license/
-
-TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-1. Definitions.
-
-"License" shall mean the terms and conditions for use, reproduction,
-and distribution as defined by Sections 1 through 9 of this document.
-
-"Licensor" shall mean the copyright owner or entity authorized by
-the copyright owner that is granting the License.
-
-"Legal Entity" shall mean the union of the acting entity and
-all other entities that control, are controlled by, or are
-under common control with that entity. For the purposes of
-this definition, "control" means (i) the power, direct or indirect,
-to cause the direction or management of such entity,
-whether by contract or otherwise, or (ii) ownership of fifty percent (50%)
-or more of the outstanding shares, or (iii) beneficial ownership of
-such entity.
-
-"You" (or "Your") shall mean an individual or Legal Entity
-exercising permissions granted by this License.
-
-"Source" form shall mean the preferred form for making modifications,
-including but not limited to software source code, documentation source,
-and configuration files.
-
-"Object" form shall mean any form resulting from mechanical
-transformation or translation of a Source form, including but
-not limited to compiled object code, generated documentation,
-and conversions to other media types.
-
-"Work" shall mean the work of authorship, whether in Source or Object form,
-made available under the License, as indicated by a copyright notice
-that is included in or attached to the work (an example is provided
-in the Appendix below).
-
-"Derivative Works" shall mean any work, whether in Source or Object form,
-that is based on (or derived from) the Work and for which the editorial
-revisions, annotations, elaborations, or other modifications represent,
-as a whole, an original work of authorship. For the purposes of this License,
-Derivative Works shall not include works that remain separable from,
-or merely link (or bind by name) to the interfaces of, the Work and
-Derivative Works thereof.
-
-"Contribution" shall mean any work of authorship, including the original
-version of the Work and any modifications or additions to that Work or
-Derivative Works thereof, that is intentionally submitted to Licensor
-for inclusion in the Work by the copyright owner or by an individual or
-Legal Entity authorized to submit on behalf of the copyright owner.
-For the purposes of this definition, "submitted" means any form of
-electronic, verbal, or written communication sent to the Licensor or
-its representatives, including but not limited to communication on
-electronic mailing lists, source code control systems, and issue
-tracking systems that are managed by, or on behalf of, the Licensor
-for the purpose of discussing and improving the Work, but excluding
-communication that is conspicuously marked or otherwise designated
-in writing by the copyright owner as "Not a Contribution."
-
-"Contributor" shall mean Licensor and any individual or Legal Entity
-on behalf of whom a Contribution has been received by Licensor and
-subsequently incorporated within the Work.
-
-"Tizen Certified Platform" shall mean a software platform that complies
-with the standards set forth in the Tizen Compliance Specification
-and passes the Tizen Compliance Tests as defined from time to time
-by the Tizen Technical Steering Group and certified by the Tizen
-Association or its designated agent.
-
-2. Grant of Copyright License. Subject to the terms and conditions of
-this License, each Contributor hereby grants to You a perpetual,
-worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-copyright license to reproduce, prepare Derivative Works of,
-publicly display, publicly perform, sublicense, and distribute the
-Work and such Derivative Works in Source or Object form.
-
-3. Grant of Patent License. Subject to the terms and conditions of
-this License, each Contributor hereby grants to You a perpetual,
-worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-(except as stated in this section) patent license to make, have made,
-use, offer to sell, sell, import, and otherwise transfer the Work
-solely as incorporated into a Tizen Certified Platform, where such
-license applies only to those patent claims licensable by such
-Contributor that are necessarily infringed by their Contribution(s)
-alone or by combination of their Contribution(s) with the Work solely
-as incorporated into a Tizen Certified Platform to which such
-Contribution(s) was submitted. If You institute patent litigation
-against any entity (including a cross-claim or counterclaim
-in a lawsuit) alleging that the Work or a Contribution incorporated
-within the Work constitutes direct or contributory patent infringement,
-then any patent licenses granted to You under this License for that
-Work shall terminate as of the date such litigation is filed.
-
-4. Redistribution. You may reproduce and distribute copies of the
-Work or Derivative Works thereof pursuant to the copyright license
-above, in any medium, with or without modifications, and in Source or
-Object form, provided that You meet the following conditions:
-
- 1. You must give any other recipients of the Work or Derivative Works
- a copy of this License; and
- 2. You must cause any modified files to carry prominent notices stating
- that You changed the files; and
- 3. You must retain, in the Source form of any Derivative Works that
- You distribute, all copyright, patent, trademark, and attribution
- notices from the Source form of the Work, excluding those notices
- that do not pertain to any part of the Derivative Works; and
- 4. If the Work includes a "NOTICE" text file as part of its distribution,
- then any Derivative Works that You distribute must include a readable
- copy of the attribution notices contained within such NOTICE file,
- excluding those notices that do not pertain to any part of
- the Derivative Works, in at least one of the following places:
- within a NOTICE text file distributed as part of the Derivative Works;
- within the Source form or documentation, if provided along with the
- Derivative Works; or, within a display generated by the Derivative Works,
- if and wherever such third-party notices normally appear.
- The contents of the NOTICE file are for informational purposes only
- and do not modify the License. You may add Your own attribution notices
- within Derivative Works that You distribute, alongside or as an addendum
- to the NOTICE text from the Work, provided that such additional attribution
- notices cannot be construed as modifying the License. You may add Your own
- copyright statement to Your modifications and may provide additional or
- different license terms and conditions for use, reproduction, or
- distribution of Your modifications, or for any such Derivative Works
- as a whole, provided Your use, reproduction, and distribution of
- the Work otherwise complies with the conditions stated in this License
- and your own copyright statement or terms and conditions do not conflict
- the conditions stated in the License including section 3.
-
-5. Submission of Contributions. Unless You explicitly state otherwise,
-any Contribution intentionally submitted for inclusion in the Work
-by You to the Licensor shall be under the terms and conditions of
-this License, without any additional terms or conditions.
-Notwithstanding the above, nothing herein shall supersede or modify
-the terms of any separate license agreement you may have executed
-with Licensor regarding such Contributions.
-
-6. Trademarks. This License does not grant permission to use the trade
-names, trademarks, service marks, or product names of the Licensor,
-except as required for reasonable and customary use in describing the
-origin of the Work and reproducing the content of the NOTICE file.
-
-7. Disclaimer of Warranty. Unless required by applicable law or
-agreed to in writing, Licensor provides the Work (and each
-Contributor provides its Contributions) on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-implied, including, without limitation, any warranties or conditions
-of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-PARTICULAR PURPOSE. You are solely responsible for determining the
-appropriateness of using or redistributing the Work and assume any
-risks associated with Your exercise of permissions under this License.
-
-8. Limitation of Liability. In no event and under no legal theory,
-whether in tort (including negligence), contract, or otherwise,
-unless required by applicable law (such as deliberate and grossly
-negligent acts) or agreed to in writing, shall any Contributor be
-liable to You for damages, including any direct, indirect, special,
-incidental, or consequential damages of any character arising as a
-result of this License or out of the use or inability to use the
-Work (including but not limited to damages for loss of goodwill,
-work stoppage, computer failure or malfunction, or any and all
-other commercial damages or losses), even if such Contributor
-has been advised of the possibility of such damages.
-
-9. Accepting Warranty or Additional Liability. While redistributing
-the Work or Derivative Works thereof, You may choose to offer,
-and charge a fee for, acceptance of support, warranty, indemnity,
-or other liability obligations and/or rights consistent with this
-License. However, in accepting such obligations, You may act only
-on Your own behalf and on Your sole responsibility, not on behalf
-of any other Contributor, and only if You agree to indemnify,
-defend, and hold each Contributor harmless for any liability
-incurred by, or claims asserted against, such Contributor by reason
-of your accepting any such warranty or additional liability.
-
-END OF TERMS AND CONDITIONS
-
-APPENDIX: How to apply the Flora License to your work
-
-To apply the Flora License to your work, attach the following
-boilerplate notice, with the fields enclosed by brackets "[]"
-replaced with your own identifying information. (Don't include
-the brackets!) The text should be enclosed in the appropriate
-comment syntax for the file format. We also recommend that a
-file or class name and description of purpose be included on the
-same "printed page" as the copyright notice for easier
-identification within third-party archives.
-
- Copyright [yyyy] [name of copyright owner]
-
- Licensed under the Flora License, Version 1.1 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://floralicense.org/license/
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
+++ /dev/null
-Copyright (c) 2012-2013 Samsung Electronics Co., Ltd. All rights reserved.
-Except as noted, this software is licensed under Apache License, Version 2.
-Please, see the LICENSE.Apache-2.0 file for Apache License terms and conditions.
-
-libarengine.so, ImageFeatureInfo.h, ImageFeatureManager.h, ImageRecognitionInfo.h, ImageRecognizer.h, QRCodeGenerator.h, QRCodeRecognitionInfo.h, QRCodeRecognizer.h, and QRCodeTypes.h files are licensed under Flora License, Version 1.1
-Please, see LICENSE.Flora file for Flora License, Version 1.1 terms and conditions
+++ /dev/null
-//
-// Open Service Platform
-// Copyright (c) 2013 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Apache License, Version 2.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-
-
-/**
- * @file FUixVisionImageFeatureInfo.h
- * @brief This is the header file for the %ImageFeatureInfo class.
- *
- * This header file contains the declarations of the %ImageFeatureInfo class.
- */
-
-#ifndef _FUIX_VISION_IMAGE_FEATURE_INFO_H_
-#define _FUIX_VISION_IMAGE_FEATURE_INFO_H_
-
-#include <FBaseObject.h>
-#include <FGraphics.h>
-
-namespace Tizen { namespace Uix { namespace Vision
-{
-/**
- * @class ImageFeatureInfo
- * @brief This class holds information on the individual image feature data that is present in an image feature set.
- *
- * @since 2.1
- *
- * The %ImageFeatureInfo class holds information on the individual image feature data that is present in an image feature set.
- *
- * @see Tizen::Uix::Vision::ImageFeatureManager
- */
-class _OSP_EXPORT_ ImageFeatureInfo
- : public Tizen::Base::Object
-{
-public:
-
- /**
- * Gets the detailed description of the feature set.
- *
- * @since 2.1
- *
- * @return The detailed description of the feature set
- *
- */
- Tizen::Base::String GetDescription(void) const;
-
- /**
- * Gets the width of the thumbnail image.
- *
- * @since 2.1
- *
- * @return The thumbnail image width
- *
- */
- int GetThumbnailWidth(void) const;
-
- /**
- * Gets the height of the thumbnail image.
- *
- * @since 2.1
- *
- * @return The thumbnail image height
- *
- * @exception E_SUCCESS The method is successful.
- */
- int GetThumbnailHeight(void) const;
-
- /**
- * Gets the thumbnail image through extraction.
- *
- * @since 2.1
- *
- * @return A pointer to the Tizen::Base::ByteBuffer instance that contains the thumbnail image
- */
- Tizen::Base::ByteBuffer* GetThumbnailN(void) const;
-
- /**
- * Compares the specified instance with the current instance.
- *
- * @since 2.1
- *
- * @return @c true if the specified instance of Tizen::Base::Object is equal to the current %ImageFeatureInfo instance, @n
- * else @c false
- * @param[in] obj The object to compare
- */
- virtual bool Equals(const Tizen::Base::Object& obj) const;
-
- /**
- * Gets the hash value of the current instance.
- *
- * @since 2.1
- *
- * @return The hash value of the current instance
- */
- virtual int GetHashCode(void) const;
-
-private:
- /**
- * This is the default constructor for this class.
- * The implementation of this constructor is declared as private to prohibit construction of the object by user.
- *
- * @since 2.1
- */
- ImageFeatureInfo(void);
-
- /**
- * This is the destructor for this class. @n
- * The resources are deallocated by this method.
- * This destructor overrides Tizen::Base::Object::~Object().
- *
- * @since 2.1
- */
- ~ImageFeatureInfo(void);
- /**
- * The implementation of this copy constructor is intentionally blank and declared as private to prohibit copying of objects.
- */
- ImageFeatureInfo(const ImageFeatureInfo&);
-
- /**
- * The implementation of this copy assignment operator is intentionally blank and declared as private to prohibit copying of objects.
- */
- ImageFeatureInfo& operator=(const ImageFeatureInfo&);
-
-private:
- class _ImageFeatureInfoImpl* __pImageFeatureInfoImpl;
- friend class _ImageFeatureInfoImpl;
-};
-
-} } } //Tizen::Uix::Vision
-
-#endif /* _FUIX_VISION_IMAGE_FEATURE_INFO_H_ */
+++ /dev/null
-//
-// Open Service Platform
-// Copyright (c) 2013 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Apache License, Version 2.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-
-
-/**
- * @file FUixVisionImageFeatureManager.h
- * @brief This is the header file for the %ImageFeatureManager class.
- *
- * This header file contains the declarations of the %ImageFeatureManager class.
- */
-
-#ifndef _FUIX_VISION_IMAGE_FEATURE_MANAGER_H_
-#define _FUIX_VISION_IMAGE_FEATURE_MANAGER_H_
-#include <FBaseObject.h>
-#include <FBase.h>
-#include <FGrpBitmap.h>
-#include <FUixVisionImageFeatureInfo.h>
-#include <FMedia.h>
-
-namespace Tizen { namespace Uix { namespace Vision
-{
-
-/**
- * @class ImageFeatureManager
- * @brief This class provides methods to generate individual feature data from an individual image data, and load it into a feature set file.
- *
- * @since 2.1
- *
- * The %ImageFeatureManager class provides methods to generate individual feature data from an individual image data.
- * This class also provides methods to manage the image feature set which is a collection of individual feature data.
- *
- * The following example demonstrates how to use the %ImageFeatureManager class.
- *
- * @code
- *
- * #include <FBase.h>
- * #include <FUix.h>
- * #include <FGraphics.h>
- * #include <FIo.h>
- * #include <FMedia.h>
- *
- * using namespace Tizen::Base;
- * using namespace Tizen::Media;
- * using namespace Tizen::Graphics;
- * using namespace Tizen::Io;
- * using namespace Tizen::Uix::Vision;
- *
- * class MyClass
- * {
- *
- * public:
- * MyClass();
- * ~MyClass();
- * result GenerateFeatureSet(void);
- * result AddImageFeatureSet(void);
- * };
- *
- * result
- * MyClass::GenerateFeatureSet(void)
- * {
- * result r;
- * ImageFeatureManager imageFeatureManager;
- * r = imageFeatureManager.Construct();
- *
- * //Creates new feature sets
- * imageFeatureManager.AddFeature("/opt/usr/media/Images/image1.jpg");
- * imageFeatureManager.AddFeature("/opt/usr/media/Images/image2.jpg");
- * imageFeatureManager.AddFeature("/opt/usr/media/Images/image3.jpg");
- * r = imageFeatureManager.Flush(new String("/opt/usr/media/Images/testFeatureSet.xdb"));
- *
- * return r;
- * }
- *
- * result
- * MyClass::AddImageFeatureSet()
- * {
- * result r;
- * ImageFeatureManager imageFeatureManager;
- * imageFeatureManager.Construct();
- * imageFeatureManager.Load("/opt/usr/media/Images/testFeatureSet.xdb");
- * imageFeatureManager.AddFeature("/opt/usr/media/Images/image1.jpg");
- * imageFeatureManager.AddFeature("/opt/usr/media/Images/image2.jpg");
- * imageFeatureManager.AddFeature("/opt/usr/media/Images/image3.jpg");
- * r = imageFeatureManager.Flush();
- *
- * return r;
- * }
- * @endcode
- */
-class _OSP_EXPORT_ ImageFeatureManager
- : public Tizen::Base::Object
-{
-public:
-
- /**
- * This is the default constructor for this class. @n
- * The object is not fully constructed after this constructor is called. @n
- * For full construction, the Construct() method must be called right after calling this constructor.
- *
- * @since 2.1
- */
- ImageFeatureManager(void);
-
- /**
- * This is the destructor for this class. @n
- * The resources are deallocated by this method.
- * This destructor overrides Tizen::Base::Object::~Object().
- *
- * @since 2.1
- */
- ~ImageFeatureManager(void);
-
- /**
- * Initializes this instance of %ImageFeatureManager and creates an image feature set. @n
- * Every application must call the %Construct() method before calling any other method of %ImageFeatureManager.
- *
- * @since 2.1
- *
- * @feature %http://tizen.org/feature/vision.image_recognition
- *
- * @return An error code
- *
- * @exception E_SUCCESS The method is successful.
- * @exception E_UNSUPPORTED_OPERATION The Emulator or target device does not support the required feature.
- * For more information, see <a href="../org.tizen.gettingstarted/html/tizen_overview/application_filtering.htm">Application Filtering</a>.
- * @remarks Before calling this method, check whether the feature is supported by Tizen::System::SystemInfo::GetValue(const Tizen::Base::String&, bool&).
- */
- result Construct(void);
-
- /**
- * Loads the feature set file.
- *
- * @since 2.1
- *
- * @return An error code
- *
- * @param[in] featureSetFilePath The feature set file path at which to load the file
- *
- * @exception E_SUCCESS The method is successful.
- * @exception E_INVALID_ARG The specified @c featureSetFilePath is invalid.
- * @exception E_OUT_OF_MEMORY The memory is insufficient.
- *
- * @remarks
- * - If a feature set file exists, it is updated.
- * - If a feature set file does not exist, it is newly created.
- * - It is not mandatory to call this method to create a new feature set file, but the Flush() method must be called with a valid feature set file path.
- */
- result Load(const Tizen::Base::String& featureSetFilePath);
-
- /**
- * Gets the list of supported image file formats used to add the feature.
- *
- * @since 2.1
- *
- * @return The list of supported image file formats
- */
- static Tizen::Base::Collection::IListT<Tizen::Media::ImageFormat>* GetSupportedImageFileFormatsListN(void);
-
- /**
- * Adds a feature to the feature set.
- *
- * @since 2.1
- *
- * @return The feature index of the newly and successfully created feature, @n
- * else @c -1 is returned
- *
- * @param[in] imagePath The input image file path
- *
- * @exception E_INVALID_ARG The specified input parameter is invalid.
- *
- * @remarks
- * - The specific error code can be accessed using the GetLastResult() method.
- * - The input image file must have one of the supported image file formats.
- * - Calling this method actually means 'Mark As Add Feature'
- * and the marked feature data is added to the feature set file after calling the Flush() method.
- * @see GetSupportedImageFileFormatsListN()
- */
- int AddFeature(const Tizen::Base::String& imagePath);
-
- /**
- * Adds a feature to the feature set.
- *
- * @since 2.1
- *
- * @return The feature index of the newly and successfully created feature, @n
- * else @c -1 is returned
- *
- * @param[in] imageBuffer The image buffer of the grayscale image data with the specified @c width and @c height
- * @param[in] width The width of the input image
- * @param[in] height The height of the input image
- * @param[in] description The description of the feature
- *
- * @exception E_INVALID_ARG A specified input parameter is invalid.
- *
- * @remarks
- * - The specific error code can be accessed using the GetLastResult() method.
- * - Calling this method actually means 'Mark As Add Feature'.
- * and the marked feature data is added to the feature set file after calling the Flush() method.
- * @see Flush(const Tizen::Base::String*)
- */
- int AddFeature(const Tizen::Base::ByteBuffer& imageBuffer, int width, int height, const Tizen::Base::String& description);
-
- /**
- * Gets the total number of features in the feature set.
- *
- * @since 2.1
- *
- * @return The total number of features in the feature set
- */
- int GetTotalNumberOfFeatures(void);
-
- /**
- * Deletes the feature at the specified index in the feature set.
- *
- * @since 2.1
- *
- * @return An error code
- *
- * @param[in] featureIndex The feature index in the feature set
- *
- * @exception E_SUCCESS The method is successful.
- * @exception E_INVALID_ARG The specified input parameter is invalid.
- * @exception E_OUT_OF_MEMORY The memory is insufficient.
- *
- * @remarks Calling this method actually means 'Mark As Delete Feature'.
- * and the marked feature data is deleted after calling the Flush() method.
- * @see Flush(const Tizen::Base::String*)
- */
- result DeleteFeature(int featureIndex);
-
- /**
- * Deletes all the features in the feature set.
- *
- * @since 2.1
- *
- * @return An error code
- *
- * @exception E_SUCCESS The method is successful.
- * @exception E_OUT_OF_MEMORY The memory is insufficient.
- *
- * @remarks Calling this method actually means 'Mark As Delete All Features'.
- * and all the feature data is deleted after calling the Flush() method.
- * @see Flush(const Tizen::Base::String*)
- */
- result DeleteAllFeatures(void);
-
- /**
- * Flushes features from the feature set file and updates all the changes as marked.
- *
- *
- * @since 2.1
- *
- * @return An error code
- *
- * @param[in] featureSetFilePath The feature set file path
- * @exception E_SUCCESS The method is successful.
- * @exception E_INVALID_ARG The specified @c featureSetFilePath is invalid.
- *
- * @remarks
- * - All the changes in the feature set file used by the AddFeature(), DeleteFeature(), or DeleteAllFeatures() method are updated by calling this method.
- * - If the @c featureSetFilePath is not decided or is same as the file path used in the Load() method, the loaded feature set file is updated.
- * - If the @c featureSetFilePath is not same as the file path used by the %Load() method, the loaded feature set file is retained and a new feature set file is created.
- * - If the @c featureSetFilePath is @c null, the feature set file loaded by the %Load() method is overwritten.
- * - If the @c featureSetFilePath is not decided or is same as the file path used by the %Load() method, and the loaded feature set file is a read-only file, then @c E_INVALID_ARG exception is returned.
- * - If the %Load() method is not called to create a new feature set file, this method must be called with a valid @c featureSetFilePath.
- *
- */
- result Flush(const Tizen::Base::String* featureSetFilePath = null);
-
- /**
- * Gets the information of the specified feature.
- *
- * @since 2.1
- *
- * @return A pointer to the ImageFeatureInfo instance
- *
- * @param[in] featureIndex The feature index in the feature set
- */
- const Tizen::Uix::Vision::ImageFeatureInfo* GetImageFeatureInfo(int featureIndex) const;
-
-
-private:
- /**
- * The implementation of this copy constructor is intentionally blank and declared as private to prohibit copying of objects.
- */
- ImageFeatureManager(const ImageFeatureManager&);
-
- /**
- * The implementation of this copy assignment operator is intentionally blank and declared as private to prohibit copying of objects.
- */
- ImageFeatureManager& operator=(const ImageFeatureManager&);
-
-private:
- class _ImageFeatureManagerImpl* __pImageFeatureManagerImpl;
- friend class _ImageFeatureManagerImpl;
- };
-
-} } } //Tizen::Uix::Vision
-
-#endif // _FUIX_VISION_IMAGE_FEATURE_MANAGER_H_
+++ /dev/null
-//
-// Open Service Platform
-// Copyright (c) 2013 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Apache License, Version 2.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-
-
-/**
- * @file FUixVisionImageObject.h
- * @brief This is the header file for the %ImageObject class.
- *
- * This header file contains the declarations of the %ImageObject class.
- */
-
-#ifndef _FUIX_VISION_IMAGE_OBJECT_H_
-#define _FUIX_VISION_IMAGE_OBJECT_H_
-
-#include <FBaseObject.h>
-#include <FGraphics.h>
-
-namespace Tizen { namespace Uix { namespace Vision
-{
-/**
- * @class ImageObject
- * @brief This class represents a single image object recognized by the %ImageRecognizer class and provides methods to access the information of a recognized image object.
- *
- * @since 2.1
- *
- * The %ImageObject class represents a single image object recognized by the ImageRecognizer class and provides methods to access the information of a recognized image object.
- *
- */
-class _OSP_EXPORT_ ImageObject
- : public Tizen::Base::Object
-{
-public:
- /**
- * Gets the unique identifier of the recognized image object in the scene.
- *
- * @since 2.1
- *
- * @return The unique identifier of the recognized image object in the scene
- */
- int GetId(void) const;
-
- /**
- * Gets the feature index of the recognized image object in the feature set.
- *
- * @since 2.1
- *
- * @return The feature index of the recognized image object in the feature set
- */
- int GetFeatureId(void) const;
-
- /**
- * Gets the transformation matrix 4x4 for the 3D pose of the recognized image object.
- *
- * @since 2.1
- *
- * @return A pointer to the transformation matrix 4x4 that contains the object position
- */
- const Tizen::Graphics::FloatMatrix4* GetTransformMatrix(void) const;
-
- /**
- * Gets the transformed quadrilateral of the recognized image object.
- *
- * @since 2.1
- *
- * @return The array list that contains the 4 points of the quadrilateral of the recognized image object
- */
- const Tizen::Base::Collection::IListT<Tizen::Graphics::FloatPoint>* GetRectangle(void) const;
-
- /**
- * Compares the specified instance with the current instance.
- *
- * @since 2.1
- *
- * @return @c true if the specified instance of Tizen::Base::Object is equal to the current %ImageObject instance, @n
- * else @c false
- * @param[in] obj The object to compare
- */
- virtual bool Equals(const Tizen::Base::Object& obj) const;
-
- /**
- * Gets the hash value of the current instance.
- *
- * @since 2.1
- *
- * @return The hash value of the current instance
- */
- virtual int GetHashCode(void) const;
-
-private:
- /**
- * This is the default constructor for this class.
- * The implementation of this constructor is declared as private to prohibit construction of the object by user.
- *
- * @since 2.1
- */
- ImageObject(void);
-
- /**
- * This is the destructor for this class. @n
- * The resources are deallocated by this method.
- * This destructor overrides Tizen::Base::Object::~Object().
- *
- * @since 2.1
- */
- ~ImageObject(void);
- /**
- * The implementation of this copy constructor is intentionally blank and declared as private to prohibit copying of objects.
- */
- ImageObject(const ImageObject&);
-
- /**
- * The implementation of this copy assignment operator is intentionally blank and declared as private to prohibit copying of objects.
- */
- ImageObject& operator=(const ImageObject&);
-
-private:
- class _ImageObjectImpl* __pImageObjectImpl;
- friend class _ImageObjectImpl;
-};
-
-} } } //Tizen::Uix::Vision
-
-#endif /* _FUIX_VISION_IMAGE_OBJECT_H_ */
+++ /dev/null
-//
-// Open Service Platform
-// Copyright (c) 2013 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Apache License, Version 2.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-
-
-/**
- * @file FUixVisionImageRecognizer.h
- * @brief This is the header file for the %ImageRecognizer class.
- *
- * This header file contains the declarations of the %ImageRecognizer class.
- */
-
-#ifndef _FUIX_VISION_IMAGE_RECOGNIZER_H_
-#define _FUIX_VISION_IMAGE_RECOGNIZER_H_
-#include <FBaseObject.h>
-#include <FBase.h>
-#include <FUixVisionImageObject.h>
-
-namespace Tizen { namespace Uix { namespace Vision
-{
-class ImageFeatureManager;
-/**
- * @class ImageRecognizer
- * @brief This class provides methods to find similar image objects that are used as the input images to the feature set that stores the features of the reference images.
- *
- * @since 2.1
- *
- * The %ImageRecognizer class provides methods to find similar image objects that are used as the input images to the feature set that stores the features of the reference images.
- * This class also provides methods to calculate the 2D position and 3D pose transform matrix of the recognized image objects.
- *
- * The following example demonstrates how to use the %ImageRecognizer class.
- *
- * @code
- * #include <FBase.h>
- * #include <FUix.h>
- * #include <FGraphics.h>
- * #include <FIo.h>
- * #include <FMedia.h>
- *
- * using namespace Tizen::Base;
- * using namespace Tizen::Media;
- * using namespace Tizen::Graphics;
- * using namespace Tizen::Io;
- * using namespace Tizen::Uix::Vision;
- * class MyClass
- * : ICameraEventListener
- * {
- * public:
- * MyClass();
- * ~MyClass();
- * result Initialize(void);
- *
- * // Called when camera auto focus occurred
- * void OnCameraAutoFocused(bool completeCondition);
- * // Called when camera preview occurred
- * void OnCameraPreviewed(Tizen::Base::ByteBuffer& previewedData, result r);
- * // Called when camera captured image
- * void OnCameraCaptured(Tizen::Base::ByteBuffer& capturedData, result r);
- * // Called when camera error occurred
- * void OnCameraErrorOccurred(Tizen::Media::CameraErrorReason r);
- *
- * private:
- * ImageRecognizer* __pImageRecognizer;
- * ImageFeatureManager* __pFeatureManager;
- * };
- *
- * result
- * MyClass::Initialize(void)
- * {
- * result r;
- *
- * // Creates and initializes a recognition engine
- * __pImageRecognizer = new Tizen::Uix::Vision::ImageRecognizer();
- * r = __pImageRecognizer->Construct();
- *
- * // Creates an initialized ImageFeatureManager
- * __pFeatureManager = new Tizen::Uix::Vision::ImageFeatureManager();
- * r = __pFeatureManager->Construct();
- *
- * // Loads a feature set
- * r = __pFeatureManager->Load("/opt/usr/media/Images/testFeatureSet.xdb");
- *
- * // Configures the recognition engine
- * r =__pImageRecognizer->SetFeatureManager(*__pFeatureManager);
- *
- * // Sets the image size to be same as the camera preview size
- * r = __pImageRecognizer->SetImageSize(640, 480);
- *
- * __pImageRecognizer->SetMultiTrackingEnabled(false);
- *
- * return r;
- * }
- *
- * // We suppose camera to be initialized with Tizen::Graphics::PIXEL_FORMAT_YCbCr420_PLANAR format
- * void
- * MyClass::OnCameraPreviewed(Tizen::Base::ByteBuffer& previewedData, result r)
- * {
- * // Processes the camera image
- * __pImageRecognizer->ProcessImage(previewedData);
- *
- * // Loops through all recognized images
- * for (int i = 0; i < __pImageRecognizer->GetRecognizedObjectCount(); i++)
- * {
- * const ImageObject *o = __pImageRecognizer->GetRecognizedObject(i);
- * int featId = o->GetFeatureId();
- * }
- * }
- *
- * @endcode
- */
-
-class _OSP_EXPORT_ ImageRecognizer
- : public Tizen::Base::Object
-{
-public:
-
- /**
- * This is the default constructor for this class. @n
- * The object is not fully constructed after this constructor is called. @n
- * For full construction, the Construct() method must be called right after calling this constructor.
- *
- * @since 2.1
- */
- ImageRecognizer(void);
-
- /**
- * This is the destructor for this class. @n
- * The resources are deallocated by this method.
- * This destructor overrides Tizen::Base::Object::~Object().
- *
- * @since 2.1
- */
- ~ImageRecognizer(void);
-
- /**
- * Initializes this instance of %ImageRecognizer. @n
- * Every application must call the %Construct() method before calling any other method of %ImageRecognizer.
- *
- * @since 2.1
- *
- * @feature %http://tizen.org/feature/vision.image_recognition
- *
- * @exception E_SUCCESS The method is successful.
- * @exception E_UNSUPPORTED_OPERATION The Emulator or target device does not support the required feature.
- * For more information, see <a href="../org.tizen.gettingstarted/html/tizen_overview/application_filtering.htm">Application Filtering</a>.
- * @remarks Before calling this method, check whether the feature is supported by Tizen::System::SystemInfo::GetValue(const Tizen::Base::String&, bool&).
- */
- result Construct(void);
-
- /**
- * Enables or disables the single or multiple tracking mode.
- *
- * @since 2.1
- *
- * @param[in] enable The boolean value that enables or disables the multiple tracking mode @n
- * The default mode is the single tracking mode.
- *
- * @remarks
- * - In the single tracking mode, only one image is recognized at a time on the screen.
- * - In the multiple tracking mode, multiple images (maximum 3) can be recognized and tracked simultaneously.
- */
- void SetMultiTrackingEnabled(bool enable);
-
- /**
- * Sets the width and the height of the input image.
- *
- * @since 2.1
- *
- * @return An error code
- *
- * @param[in] width The width of the input image
- * @param[in] height The height of the input image
- *
- * @exception E_SUCCESS The method is successful.
- * @exception E_INVALID_ARG A specified input parameter is invalid.
- */
- result SetImageSize(int width, int height);
-
- /**
- * Sets the ImageFeatureManager instance for initialization.
- *
- * @since 2.1
- * @pre The ImageFeatureManager should be initialized by loading the feature set file using the ImageFeatureManager::Load() method.
- *
- * @return An error code
- * @param[in] imageFeatureManager The ImageFeatureManager instance that manages the image feature set to use for recognition
- * @exception E_SUCCESS The method is successful.
- * @exception E_INVALID_ARG The ImageFeatureManager is invalid.
- *
- * @remarks The ImageFeatureManager should be initialized by loading the feature set file.
- */
- result SetFeatureManager(ImageFeatureManager& imageFeatureManager);
-
- /**
- * Gets the count of the recognized image object.
- *
- * @since 2.1
- *
- * @return The count of the recognized image object
- *
- * @remarks The recognized object has an index value that ranges from @c 0 to (count of the recognized image objects) @c - 1.
- * @see GetRecognizedObject()
- */
- int GetRecognizedObjectCount(void);
-
- /**
- * Gets the recognized image object that contains the information.
- *
- * @since 2.1
- *
- * @return A pointer to the ImageObject instance that includes all the information about the recognized image object
- * @param[in] index The index of the recognized image object @n
- * The valid range for this parameter is @c 0 to (count of the recognized image objects) @c - 1.
- * @exception E_SUCCESS The method is successful.
- *
- * @see GetRecognizedObjectCount()
- */
- const ImageObject* GetRecognizedObject(int index) const;
-
- /**
- * Processes the input image for recognition.
- *
- * @since 2.1
- *
- * @return An error code
- *
- * @param[in] imageBuffer The input image buffer @n
- * It must be allocated externally and have a size of (width*height) set by SetImageSize().
- * @exception E_SUCCESS The method is successful.
- * @exception E_INVALID_ARG Either of the following conditions has occurred:
- * - The specified @c imageBuffer is not allocated.
- * - The size of the specified @c imageBuffer is not equal to the input image size set by SetImageSize().
- * @exception E_OUT_OF_MEMORY The memory is insufficient.
- * @see SetImageSize(int, int)
- */
- result ProcessImage(const Tizen::Base::ByteBuffer& imageBuffer);
-
-private:
- /**
- * The implementation of this copy constructor is intentionally blank and declared as private to prohibit copying of objects.
- */
- ImageRecognizer(const ImageRecognizer&);
-
- /**
- * The implementation of this copy assignment operator is intentionally blank and declared as private to prohibit copying of objects.
- */
- ImageRecognizer& operator=(const ImageRecognizer&);
-
-private:
- class _ImageRecognizerImpl* __pImageRecognizerImpl; ///< implementation bridge
- friend class _ImageRecognizerImpl;
-};
-
-} } } //Tizen::Uix::Vision
-
-#endif // _FUIX_VISION_IMAGE_RECOGNIZER_H_
+++ /dev/null
-//
-// Open Service Platform
-// Copyright (c) 2013 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Apache License, Version 2.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-
-
-/**
- * @file FUixVisionQrCodeGenerator.h
- * @brief This is the header file for the %QrCodeGenerator class.
- *
- * This header file contains the declarations of the %QrCodeGenerator class.
- */
-
-#ifndef _FUIX_VISION_QR_CODE_GENERATOR_H_
-#define _FUIX_VISION_QR_CODE_GENERATOR_H_
-#include <FBaseObject.h>
-#include <FGrpBitmap.h>
-#include <FBase.h>
-#include <FMedia.h>
-#include "FUixVisionQrCodeTypes.h"
-
-
-namespace Tizen { namespace Uix { namespace Vision
-{
-
-/**
- * @class QrCodeGenerator
- * @brief This class provides methods to generate a QR code image.
- *
- * @since 2.1
- *
- * The %QrCodeGenerator class provides methods to generate a QR code image.
- *
- * The following example demonstrates how to use the %QrCodeGenerator class.
- *
- * @code
- * #include <FBase.h>
- * #include <FUix.h>
- * #include <FGraphics.h>
- * #include <FIo.h>
- * #include <FMedia.h>
- *
- * using namespace Tizen::Base;
- * using namespace Tizen::Media;
- * using namespace Tizen::Graphics;
- * using namespace Tizen::Io;
- * using namespace Tizen::Uix::Vision;
- *
- * class MyClass
- * {
- * public:
- * MyClass();
- * ~MyClass();
- * result TestQrCodeGenerator(void);
- * };
- *
- * result
- * MyClass::TestQrCodeGenerator(void)
- * {
- * result r;
- * QrCodeGenerator qrGen;
- * qrGen.Construct();
- *
- * int width(0), height(0);
- * r = qrGen.EncodeToFile("Hello Tizen!",
- * QR_CODE_MODE_UTF8,
- * QR_CODE_ERROR_CORRECTION_LEVEL_Q,
- * true,
- * "/opt/usr/media/Images/temp.png",
- * Tizen::Media::IMG_FORMAT_PNG,
- * width,
- * height);
- * return r;
- * }
- * @endcode
- */
-class _OSP_EXPORT_ QrCodeGenerator
- : public Tizen::Base::Object
-{
-public:
-
- /**
- * This is the default constructor for this class. @n
- * The object is not fully constructed after this constructor is called. @n
- * For full construction, the Construct() method must be called right after calling this constructor.
- *
- * @since 2.1
- */
- QrCodeGenerator(void);
-
- /**
- * This is the destructor for this class. @n
- * The resources are deallocated by this method.
- * This destructor overrides Tizen::Base::Object::~Object().
- *
- * @since 2.1
- */
- ~QrCodeGenerator(void);
-
- /**
- * Initializes this instance of %QRCodeGenerator. @n
- * Every application must call the %Construct() method before calling any other method of %QRCodeGenerator.
- *
- * @since 2.1
- *
- * @feature %http://tizen.org/feature/vision.qrcode_generation
- *
- * @exception E_SUCCESS The method is successful.
- * @exception E_UNSUPPORTED_OPERATION The Emulator or target device does not support the required feature.
- * For more information, see <a href="../org.tizen.gettingstarted/html/tizen_overview/application_filtering.htm">Application Filtering</a>.
- * @remarks Before calling this method, check whether the feature is supported by Tizen::System::SystemInfo::GetValue(const Tizen::Base::String&, bool&).
- */
- result Construct(void);
-
- /**
- * Gets the list of supported image file formats.
- *
- * @since 2.1
- *
- * @return The list of supported image file formats
- */
- static Tizen::Base::Collection::IListT<Tizen::Media::ImageFormat>* GetSupportedImageFileFormatsListN(void);
-
- /**
- * Encodes the QR code into the file.
- *
- * @since 2.1
- *
- * @return An error code
- * @param[in] message The text used to encode the QR code image
- * @param[in] mode The input text encoding format (@c QR_CODE_MODE_ALPHANUMERIC, @c QR_CODE_MODE_BYTE, or @c QR_CODE_MODE_UTF8)
- * @param[in] errorCorrectionLevel The QR code error correction level
- * @param[in] compatibility The compatibility mode with the zxing library for the UTF-8 codes mode, which is activated when the mode selected is @c QR_MODE_UTF8
- * @param[in] imageFilePath The file path of the generated QR code image
- * @param[in] imageFormat The image file format of the generated QR code image
- * @param[out] width The width of the generated QR code image
- * @param[out] height The height of the generated QR code image
- * @exception E_SUCCESS The method is successful.
- * @exception E_INVALID_ARG A specified input parameter is invalid.
- * @exception E_FILE_NOT_FOUND The specified file cannot be found or accessed.
- *
- * @remarks The QR code encoding for the UTF-8 codes mode is not standardized as yet,
- * so the UTF-8 encoding/decoding compatibility with the zxing(http://code.google.com/p/zxing/) library is currently supported.
- */
- result EncodeToFile(const Tizen::Base::String& message, QrCodeMode mode, QrCodeErrorCorrectionLevel errorCorrectionLevel, bool compatibility, const Tizen::Base::String& imageFilePath, Tizen::Media::ImageFormat imageFormat, int& width, int& height);
-
- /**
- * Encodes the QR code into the byte buffer.
- *
- * @since 2.1
- *
- * @return A pointer to the Tizen::Base::ByteBuffer instance that contains the generated QR code image
- * @param[in] message The text used to encode the QR code image
- * @param[in] mode The input text encoding format (@c QR_CODE_MODE_ALPHANUMERIC, @c QR_CODE_MODE_BYTE, or @c QR_CODE_MODE_UTF8)
- * @param[in] error_level The QR code error correction level
- * @param[in] compatibility The compatibility mode with the zxing library for the UTF-8 codes mode, which is activated when the mode selected is @c QR_CODE_MODE_UTF8
- * @param[out] width The width of the generated QR code image
- * @param[out] height The height of the generated QR code image
- * @exception E_SUCCESS The method is successful.
- * @exception E_INVALID_ARG A specified input parameter is invalid.
- *
- * @remarks The QR code encoding for the UTF-8 codes mode is not standardized as yet,
- * so the UTF-8 encoding/decoding compatibility with the zxing(http://code.google.com/p/zxing/) library is currently supported.
- */
- Tizen::Base::ByteBuffer* EncodeToBufferN(const Tizen::Base::String& message, QrCodeMode mode, QrCodeErrorCorrectionLevel error_level, bool compatibility, int& width, int& height);
-
-
-private:
- /**
- * The implementation of this copy constructor is intentionally blank and declared as private to prohibit copying of objects.
- */
- QrCodeGenerator(const QrCodeGenerator& in);
-
- /**
- * The implementation of this copy assignment operator is intentionally blank and declared as private to prohibit copying of objects.
- */
- QrCodeGenerator& operator=(const QrCodeGenerator& in);
-
-private:
- class _QrCodeGeneratorImpl* __pQrCodeGeneratorImpl;
- friend class _QrCodeGeneratorImpl;
-};
-
-} } } //Tizen::Uix::Vision
-
-#endif // _FUIX_VISION_QR_CODE_GENERATOR_H_
+++ /dev/null
-//
-// Open Service Platform
-// Copyright (c) 2013 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Apache License, Version 2.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-
-
-/**
- * @file FUixVisionQrCodeObject.h
- * @brief This is the header file for the %QrCodeObject class.
- *
- * This header file contains the declarations of the %QrCodeObject class.
- */
-
-#ifndef _FUIX_VISION_QR_CODE_OBJECT_H_
-#define _FUIX_VISION_QR_CODE_OBJECT_H_
-
-#include <FUixVisionQrCodeTypes.h>
-#include <FBaseObject.h>
-#include <FBase.h>
-#include <FGraphics.h>
-
-namespace Tizen { namespace Uix { namespace Vision
-{
-
-/**
- * @class QrCodeObject
- * @brief This class represents a single QR code object recognized by the %QrCodeRecognizer class and provides methods to access the information of a recognized QR code object.
- *
- * @since 2.1
- *
- * The %QrCodeObject class represents a single QR code object recognized by the QrCodeRecognizer class and provides methods to access the information of a recognized QR code object.
- */
-
-class _OSP_EXPORT_ QrCodeObject
- : public Tizen::Base::Object
-{
-
-public:
-
- /**
- * Gets the unique identifier of the recognized QR code object in the scene.
- *
- * @since 2.1
- *
- * @return The unique identifier of the recognized QR code object in the scene
- */
- int GetId(void) const;
-
- /**
- * Gets the version of the recognized QR code object.
- *
- * @since 2.1
- *
- * @return The version of the recognized QR code object
- */
- int GetVersion(void) const;
-
- /**
- * Gets the error correction level of the recognized QR code object.
- *
- * @since 2.1
- *
- * @return The error correction level of the recognized QR code object
- */
- Tizen::Uix::Vision::QrCodeErrorCorrectionLevel GetErrorCorrectionLevel(void) const;
-
- /**
- * Gets the text of the QR code object.
- *
- * @since 2.1
- *
- * @return The text of the QR code object
- */
- Tizen::Base::String GetText(void) const;
-
- /**
- * Gets the transformation matrix 4x4 for the 3D pose of the recognized QR code object.
- *
- * @since 2.1
- *
- * @return A pointer to the transformation matrix 4x4 that contains the object position
- */
- const Tizen::Graphics::FloatMatrix4* GetTransformMatrix(void) const;
-
- /**
- * Gets the transformed quadrilateral of the recognized QR code object.
- *
- * @since 2.1
- *
- * @return The array list that contains the 4 points of the quadrilateral of the recognized QR code object
- */
- const Tizen::Base::Collection::IListT<Tizen::Graphics::FloatPoint>* GetRectangle(void) const;
-
- /**
- * Compares the specified instance with the current instance.
- *
- * @since 2.1
- *
- * @return @c true if the specified instance of Tizen::Base::Object is equal to the current %QrCodeObject instance, @n
- * else @c false
- * @param[in] obj The object to compare
- */
- virtual bool Equals(const Tizen::Base::Object& obj) const;
-
- /**
- * Gets the hash value of the current instance.
- *
- * @since 2.1
- *
- * @return The hash value of the current instance
- */
- virtual int GetHashCode(void) const;
-
-private:
- /**
- * This is the default constructor for this class.
- * The implementation of this constructor is declared as private to prohibit construction of the object by user.
- *
- * @since 2.1
- */
- QrCodeObject(void);
-
- /**
- * This is the destructor for this class. @n
- *
- * @since 2.1
- */
- ~QrCodeObject(void);
-
- /**
- * The implementation of this copy constructor is intentionally blank and declared as private to prohibit copying of objects.
- */
- QrCodeObject(const QrCodeObject&);
-
- /**
- * The implementation of this copy assignment operator is intentionally blank and declared as private to prohibit copying of objects.
- */
- QrCodeObject& operator=(const QrCodeObject&);
-
-private:
- class _QrCodeObjectImpl* __pQrCodeObjectImpl;
- friend class _QrCodeObjectImpl;
-};
-
-} } } //Tizen::Uix::Vision
-#endif // _FUIX_VISION_QR_CODE_OBJECT_H_
+++ /dev/null
-//
-// Open Service Platform
-// Copyright (c) 2013 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Apache License, Version 2.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-
-
-/**
- * @file FUixVisionQrCodeRecognizer.h
- * @brief This is the header file for the %QrCodeRecognizer class.
- *
- * This header file contains the declarations of the %QrCodeRecognizer class.
- */
-#ifndef _FUIX_VISION_QR_CODE_RECOGNIZER_H_
-#define _FUIX_VISION_QR_CODE_RECOGNIZER_H_
-#include <FBaseObject.h>
-#include <FUixVisionQrCodeObject.h>
-#include <FBase.h>
-#include <FGraphics.h>
-
-namespace Tizen { namespace Uix { namespace Vision
-{
-/**
- * @class QrCodeRecognizer
- * @brief This class provides methods to recognize a QR code image.
- *
- * @since 2.1
- *
- * The %QrCodeRecognizer class provides methods to recognize a QR code image.
- *
- * The following example demonstrates how to use the %QrCodeRecognizer class.
- *
- * @code
- * #include <FBase.h>
- * #include <FUix.h>
- * #include <FGraphics.h>
- * #include <FIo.h>
- * #include <FMedia.h>
- *
- * using namespace Tizen::Base;
- * using namespace Tizen::Media;
- * using namespace Tizen::Graphics;
- * using namespace Tizen::Io;
- * using namespace Tizen::Uix::Vision;
- *
- * class MyClass
- * : ICameraEventListener
- * {
- * public:
- * MyClass();
- * ~MyClass();
- * result Initialize(void);
- *
- * // Called when camera auto focus occurred
- * void OnCameraAutoFocused(bool completeCondition);
- * // Called when camera preview occurred
- * void OnCameraPreviewed(Tizen::Base::ByteBuffer& previewedData, result r);
- * // Called when camera captured image
- * void OnCameraCaptured(Tizen::Base::ByteBuffer& capturedData, result r);
- * // Called when camera error occurred
- * void OnCameraErrorOccurred(Tizen::Media::CameraErrorReason r);
- *
- * private:
- * QrCodeRecognizer* __pQrRecognizer;
- * };
- *
- * result
- * MyClass::Initialize(void)
- * {
- * result r;
- *
- * // Creates and initializes recognition engine
- * __pQrRecognizer = new Tizen::Uix::Vision::QrCodeRecognizer();
- * r = __pQrRecognizer->Construct();
- *
- * //Image size must be same as camera preview size
- * r = __pQrRecognizer->SetImageSize(640, 480);
- *
- * return r;
- * }
- *
- * // We suppose camera to be initialized with Tizen::Graphics::PIXEL_FORMAT_YCbCr420_PLANAR format
- * void
- * MyClass::OnCameraPreviewed(Tizen::Base::ByteBuffer& previewedData, result r)
- * {
- * // Processing of the camera image follows
- * __pQrRecognizer->ProcessImage(previewedData);
- *
- * // Loops through all recognized QRs
- * for (int i = 0; i < __pQrRecognizer->GetRecognizedObjectCount(); i++)
- * {
- * const QrCodeObject *o = __pQrRecognizer->GetRecognizedObject(i);
- * String qrText = o->GetText();
- * }
- * }
- *
- * @endcode
- */
-class _OSP_EXPORT_ QrCodeRecognizer
- : public Tizen::Base::Object
-{
-public:
-
- /**
- * This is the default constructor for this class. @n
- * The object is not fully constructed after this constructor is called. @n
- * For full construction, the Construct() method must be called right after calling this constructor.
- *
- * @since 2.1
- */
- QrCodeRecognizer(void);
-
- /**
- * This is the destructor for this class. @n
- * The resources are deallocated by this method.
- * This destructor overrides Tizen::Base::Object::~Object().
- *
- * @since 2.1
- */
- ~QrCodeRecognizer(void);
-
- /**
- * Initializes this instance of %QrCodeRecognizer. @n
- * Every application must call the %Construct() method before calling any other method of %QrCodeRecognizer.
- *
- * @since 2.1
- *
- * @feature %http://tizen.org/feature/vision.qrcode_recognition
- *
- * @exception E_SUCCESS The method is successful.
- * @exception E_UNSUPPORTED_OPERATION The Emulator or target device does not support the required feature.
- * For more information, see <a href="../org.tizen.gettingstarted/html/tizen_overview/application_filtering.htm">Application Filtering</a>.
- * @remarks Before calling this method, check whether the feature is supported by Tizen::System::SystemInfo::GetValue(const Tizen::Base::String&, bool&).
- */
- result Construct(void);
-
- /**
- * Sets the width and the height of the input image.
- *
- * @since 2.1
- *
- * @return An error code
- *
- * @param[in] width The width of the frame in pixels
- * @param[in] height The height of the frame in pixels
- * @exception E_SUCCESS The method is successful.
- * @exception E_INVALID_ARG A specified input parameter is invalid.
- * @remarks This method must be called once before calling the ProcessImage() method.
- */
- result SetImageSize(int width, int height);
-
- /**
- * Processes the input image for recognition.
- *
- * @since 2.1
- *
- * @return An error code
- *
- * @param[in] imageBuffer The input image buffer @n
- * It must be allocated externally and have a size of (width*height) set by SetImageSize().
- * @exception E_SUCCESS The method is successful.
- * @exception E_INVALID_ARG Either of the following conditions has occurred;
- * - The specified @c imageBuffer is not allocated
- * - The size of the specified @c imageBuffer is not equal to the input image size set by SetImageSize().
- * @exception E_OUT_OF_MEMORY The memory is insufficient.
- */
- result ProcessImage(const Tizen::Base::ByteBuffer& imageBuffer);
-
- /**
- * Gets the expected ROI (Region of Interest) of the recognized QR code for focusing.
- *
- * @since 2.1
- *
- * @return An error code
- * @param[out] roi The expected ROI (Region of Interest) of the recognized QR code
- * @exception E_SUCCESS The method is successful.
- * @exception E_INVALID_ARG The specified input parameter is invalid.
- *
- * @remarks The ROI is used to reset the camera focus to get a better image and it can be obtained after calling the ProcessImage() method at least once.
- */
- result GetFocusRoi(Tizen::Graphics::Rectangle& roi);
-
- /**
- * Gets the count of the recognized QR code object.
- *
- * @since 2.1
- *
- * @return The count of the recognized QR code object
- *
- * @remarks The recognized QR code object has an index value that ranges from @c 0 to (count of the recognized QR code objects) @c - 1.
- * @see GetRecognizedObject()
- */
- int GetRecognizedObjectCount(void);
-
- /**
- * Gets the recognized QR code object that contains the information.
- *
- * @since 2.1
- *
- * @return A pointer to the QrCodeObject that includes all the information about the recognized QR code object
- * @param[in] index The index of the recognized QR code object @n
- * The valid range for this parameter is @c 0 to (count of the recognized QR code objects) @c - 1.
- * @exception E_SUCCESS The method is successful.
- *
- * @see GetRecognizedObjectCount()
- */
- const QrCodeObject* GetRecognizedObject(int index) const;
-
-
-private:
- /**
- * The implementation of this copy constructor is intentionally blank and declared as private to prohibit copying of objects.
- */
- QrCodeRecognizer(const QrCodeRecognizer& in);
-
- /**
- * The implementation of this copy assignment operator is intentionally blank and declared as private to prohibit copying of objects.
- */
- QrCodeRecognizer& operator=(const QrCodeRecognizer& in);
-
-private:
- class _QrCodeRecognizerImpl* __pQrCodeRecognizerImpl;
- friend class _QrCodeRecognizerImpl;
-
-};
-
-} } } //Tizen::Uix::Vision
-
-#endif // _FUIX_VISION_QR_CODE_RECOGNIZER_H_
+++ /dev/null
-//
-// Open Service Platform
-// Copyright (c) 2013 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Apache License, Version 2.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-
-
-/**
- * @file FUixVisionQrCodeTypes.h
- * @brief This is the header file for the QR code types.
- *
- * This header file contains the declarations of the QR code types.
- */
-
-#ifndef _FUIX_VISION_QR_CODE_TYPES_H_
-#define _FUIX_VISION_QR_CODE_TYPES_H_
-
-namespace Tizen { namespace Uix { namespace Vision
-{
-
-/**
- * @enum QrCodeErrorCorrectionLevel
- *
- * Defines the possible error correction levels for the QR code.
- *
- * @since 2.1
- */
-enum QrCodeErrorCorrectionLevel
-{
- QR_CODE_ERROR_CORRECTION_LEVEL_L = 1, /**< Low */
- QR_CODE_ERROR_CORRECTION_LEVEL_M = 2, /**< Medium */
- QR_CODE_ERROR_CORRECTION_LEVEL_Q = 3, /**< Quartile */
- QR_CODE_ERROR_CORRECTION_LEVEL_H = 4 /**< High */
-};
-
-/**
- * @enum QrCodeMode
- *
- * Defines the possible encoding modes of the QR code.
- *
- * @since 2.1
- */
-enum QrCodeMode
-{
- QR_CODE_MODE_ALPHANUMERIC = 0, /**< Alphanumeric */
- QR_CODE_MODE_BYTE = 1, /**< Byte */
- QR_CODE_MODE_UTF8 = 2 /**< UTF8 */
-};
-
-} } } //Tizen::Uix::Vision
-
-#endif // _FUIX_VISION_QR_CODE_TYPES_H_
+++ /dev/null
-<manifest>
- <request>
- <domain name="_"/>
- </request>
-</manifest>
\ No newline at end of file
+++ /dev/null
-# Package Information for pkg-config
-
-prefix=@PREFIX@
-exec_prefix=/usr
-libdir=/usr/lib/osp
-includedir=/usr/include/osp
-
-Name: @PC_NAME@
-Description: @PACKAGE_DESCRIPTION@
-Version: @VERSION@
-Requires: @PC_REQUIRED@
-Libs: -L${libdir} @PC_LDFLAGS@
-Cflags: -I${includedir}
-
+++ /dev/null
-%define debug_package %{nil}
-%define __strip /bin/true
-
-Name: osp-vision
-Summary: osp vision library
-Version: 1.2.2.0
-Release: 2
-Group: System/Libraries
-License: TO_BE/FILLED_IN
-Source0: %{name}-%{version}.tar.gz
-BuildRequires: cmake
-BuildRequires: pkgconfig(osp-appfw)
-BuildRequires: osp-appfw-internal-devel
-BuildRequires: pkgconfig(osp-uifw)
-BuildRequires: osp-uifw-internal-devel
-BuildRequires: pkgconfig(osp-media)
-BuildRequires: osp-media-internal-devel
-BuildRequires: pkgconfig(osp-image-core)
-BuildRequires: osp-image-core-internal-devel
-BuildRequires: pkgconfig(osp-image)
-BuildRequires: osp-image-internal-devel
-
-Provides: libarengine.so
-
-# runtime requires
-Requires: osp-appfw
-Requires: osp-uifw
-Requires: osp-media
-Requires: osp-image
-Requires: osp-image-core
-
-%description
-osp vision library
-
-%package devel
-Summary: osp vision library (Development)
-Group: TO_BE/FILLED_IN
-Requires: %{name} = %{version}-%{release}
-
-%description devel
-osp vision library (DEV)
-
-%package internal-devel
-Summary: osp vision internal (Internal)
-Group: TO_BE/FILLED_IN
-Requires: %{name} = %{version}-%{release}
-
-%description internal-devel
-osp vision library (Internal-DEV)
-
-%package debug
-Summary: osp vision library (Development)
-Group: TO_BE/FILLED_IN
-Requires: %{name} = %{version}-%{release}
-
-%description debug
-osp vision library (DEV)
-
-%prep
-%setup -q
-
-%build
-%if 0%{?tizen_build_binary_release_type_eng}
-CXXFLAGS="$CXXFLAGS -D_SECURE_LOG"
-%endif
-MAJORVER=`echo %{version} | awk 'BEGIN {FS="."}{print $1}'`
-%ifarch %{ix86}
-%if 0%{?simulator}
-CXXFLAGS="$CXXFLAGS -D_OSP_DEBUG_ -D_OSP_X86_ -D_OSP_EMUL_" cmake . -DCMAKE_INSTALL_PREFIX=%{_prefix} -DFULLVER=%{version} -DMAJORVER=${MAJORVER} -DARCH=x86
-%else
-CXXFLAGS="$CXXFLAGS -D_OSP_DEBUG_ -D_OSP_X86_ " cmake . -DCMAKE_INSTALL_PREFIX=%{_prefix} -DFULLVER=%{version} -DMAJORVER=${MAJORVER} -DARCH=x86
-%endif
-%else
-
-%if 0%{?tizen_build_binary_release_type_eng}
-CXXFLAGS="-O2 -g -pipe -Wall -fno-exceptions -Wformat -Wformat-security -Wl,--as-needed -fmessage-length=0 -march=armv7-a -mtune=cortex-a8 -mlittle-endian -mfpu=neon -mfloat-abi=softfp -D__SOFTFP__ -mthumb -Wa,-mimplicit-it=thumb -funwind-tables -D_OSP_DEBUG_ -D_SECURE_LOG -D_OSP_ARMEL_" cmake . -DCMAKE_INSTALL_PREFIX=%{_prefix} -DFULLVER=%{version} -DMAJORVER=${MAJORVER} -DARCH=arm
-%else
-CXXFLAGS="-O2 -g -pipe -Wall -fno-exceptions -Wformat -Wformat-security -Wl,--as-needed -fmessage-length=0 -march=armv7-a -mtune=cortex-a8 -mlittle-endian -mfpu=neon -mfloat-abi=softfp -D__SOFTFP__ -mthumb -Wa,-mimplicit-it=thumb -funwind-tables -D_OSP_DEBUG_ -D_OSP_ARMEL_" cmake . -DCMAKE_INSTALL_PREFIX=%{_prefix} -DFULLVER=%{version} -DMAJORVER=${MAJORVER} -DARCH=arm
-%endif
-
-
-%endif
-
-
-# Call make instruction with smp support
-make %{?jobs:-j%jobs}
-
-%install
-rm -rf %{buildroot}
-mkdir -p %{buildroot}/usr/share/license
-cp %{_builddir}/%{name}-%{version}/LICENSE.APLv2 %{buildroot}/usr/share/license/%{name}
-cat %{_builddir}/%{name}-%{version}/LICENSE.Flora >> %{buildroot}/usr/share/license/%{name}
-
-%make_install
-
-%post -p /sbin/ldconfig
-
-%postun -p /sbin/ldconfig
-
-%files
-%manifest osp-vision.manifest
-/usr/share/license/%{name}
-%{_libdir}/osp/*.so*
-
-%files devel
-%{_includedir}/osp/*.h
-%{_libdir}/pkgconfig/osp-vision.pc
-
-%files internal-devel
-%{_includedir}/osp/vision/*
-
-%files debug
-%{_libdir}/osp/debug/*.so*
+++ /dev/null
-//
-// Open Service Platform
-// Copyright (c) 2013 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Apache License, Version 2.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific languae governing permissions and
-// limitations under the License.
-//
-
-#include <FUixVisionImageFeatureInfo.h>
-#include "FUixVision_ImageFeatureInfoImpl.h"
-#include <FText.h>
-#include <FBaseSysLog.h>
-
-namespace Tizen { namespace Uix { namespace Vision
-{
-
-ImageFeatureInfo::ImageFeatureInfo()
- : __pImageFeatureInfoImpl(0)
-{
- std::unique_ptr<_ImageFeatureInfoImpl> pImageFeatureInfoImpl (new (std::nothrow) _ImageFeatureInfoImpl());
- __pImageFeatureInfoImpl = pImageFeatureInfoImpl.release();
-}
-
-ImageFeatureInfo::~ImageFeatureInfo()
-{
- if (__pImageFeatureInfoImpl != null)
- {
- delete __pImageFeatureInfoImpl;
- __pImageFeatureInfoImpl = null;
- }
-}
-
-Tizen::Base::String
-ImageFeatureInfo::GetDescription() const
-{
- ClearLastResult();
-
- char ch;
- int length = -1;
-
- //get true length of path to allocate memory
- length = __pImageFeatureInfoImpl->GetDescription(&ch, 1);
- if (!length)
- {
- return Tizen::Base::String("");
- }
-
- std::unique_ptr<char[]> pName(new (std::nothrow) char[length + 1]);
- SysSecureTryReturn(NID_UIX, pName != null, Tizen::Base::String(""), E_OUT_OF_MEMORY, "[%s] Memory allocation failed.", GetErrorMessage(E_OUT_OF_MEMORY))
-
- //set data to char pointer, with allocated memory
- __pImageFeatureInfoImpl->GetDescription(pName.get(), length + 1);
-
- Tizen::Base::String description(pName.get());
- return description;
-}
-
-int
-ImageFeatureInfo::GetThumbnailWidth(void) const
-{
- return __pImageFeatureInfoImpl->GetThumbnailWidth();
-}
-
-int
-ImageFeatureInfo::GetThumbnailHeight(void) const
-{
- return __pImageFeatureInfoImpl->GetThumbnailHeight();
-}
-
-Tizen::Base::ByteBuffer*
-ImageFeatureInfo::GetThumbnailN(void) const
-{
- int bufWidth = __pImageFeatureInfoImpl->GetThumbnailWidth();
- SysSecureTryReturn(NID_UIX, bufWidth > 0, null, E_FAILURE, "[%s] Failed to get thumbnail width.", GetErrorMessage(E_FAILURE));
-
- int bufHeight = __pImageFeatureInfoImpl->GetThumbnailHeight();
- SysSecureTryReturn(NID_UIX, bufHeight > 0, null, E_FAILURE, "[%s] Failed to get thumbnail height.", GetErrorMessage(E_FAILURE));
-
- std::unique_ptr<Tizen::Base::ByteBuffer> pOutBuffer(new (std::nothrow) Tizen::Base::ByteBuffer());
- SysSecureTryReturn(NID_UIX, pOutBuffer != null, null, E_OUT_OF_MEMORY, "[%s] Memory allocation failed.", GetErrorMessage(E_OUT_OF_MEMORY));
-
- result res = pOutBuffer->Construct(bufWidth * bufHeight);
- SysSecureTryReturn(NID_UIX, res == E_SUCCESS, null, res, "[%s] Failed to construct ByteBuffer.", GetErrorMessage(res));
-
- bool success = __pImageFeatureInfoImpl->GetThumbnail((char*)pOutBuffer->GetPointer(), bufWidth, bufHeight, false);
- SysSecureTryReturn(NID_UIX, success == true, null, E_FAILURE, "[%s] Failed to get thumbnail.", GetErrorMessage(E_FAILURE));
-
- return pOutBuffer.release();
-}
-
-bool
-ImageFeatureInfo::Equals(const Object& obj) const
-{
- return (static_cast<const Object*>(this) == &obj);
-}
-
-int
-ImageFeatureInfo::GetHashCode(void) const
-{
- return (int)__pImageFeatureInfoImpl;
-}
-
-} } } //Tizen::Uix::Vision
-
+++ /dev/null
-//
-// Open Service Platform
-// Copyright (c) 2013 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Apache License, Version 2.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-
-#include <FUixVisionImageFeatureManager.h>
-#include "FUixVision_ImageFeatureManagerImpl.h"
-#include <FMedia.h>
-#include <FGraphics.h>
-#include <FText.h>
-#include <FBaseSysLog.h>
-
-namespace Tizen { namespace Uix { namespace Vision
-{
-
-ImageFeatureManager::ImageFeatureManager(void)
- : __pImageFeatureManagerImpl(0)
-{
-}
-
-ImageFeatureManager::~ImageFeatureManager(void)
-{
- if (__pImageFeatureManagerImpl != null)
- {
- delete __pImageFeatureManagerImpl;
- __pImageFeatureManagerImpl = null;
- }
-}
-
-result
-ImageFeatureManager::Construct(void)
-{
- SysAssertf(__pImageFeatureManagerImpl == null, "Already constructed! ",
- "Calling Construct() twice or more on a same instance is not allowed for this class.");
-
- std::unique_ptr<_ImageFeatureManagerImpl> pImageFeatureManagerImpl (new (std::nothrow) _ImageFeatureManagerImpl());
- SysSecureTryReturn(NID_UIX, pImageFeatureManagerImpl != null, E_OUT_OF_MEMORY, E_OUT_OF_MEMORY, "[%s] Memory allocation failed.", GetErrorMessage(E_OUT_OF_MEMORY));
-
- __pImageFeatureManagerImpl = pImageFeatureManagerImpl.release();
- __pImageFeatureManagerImpl->InitDB();
- return E_SUCCESS;
-}
-
-result
-ImageFeatureManager::DeleteFeature(int featureIndex)
-{
- SysAssertf(__pImageFeatureManagerImpl != null, "Not yet constructed! Consruct() should be called before use.");
-
- SysSecureTryReturn(NID_UIX, featureIndex >= 0, E_FAILURE, E_INVALID_ARG,
- "index should be greater than 0. [E_INVALID_ARG]");
-
- return __pImageFeatureManagerImpl->DeleteFeature(featureIndex) ? E_SUCCESS : E_FAILURE;
-}
-
-int
-ImageFeatureManager::GetTotalNumberOfFeatures(void)
-{
- SysAssertf(__pImageFeatureManagerImpl != null, "Not yet constructed! Consruct() should be called before use.");
- return __pImageFeatureManagerImpl->GetTotalNumberOfFeatures();
-}
-
-result
-ImageFeatureManager::DeleteAllFeatures(void)
-{
- SysAssertf(__pImageFeatureManagerImpl != null, "Not yet constructed! Consruct() should be called before use.");
- SysSecureTryReturnResult(NID_UIX, __pImageFeatureManagerImpl != null, E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY]");
- __pImageFeatureManagerImpl->ReleaseDB();
- __pImageFeatureManagerImpl->InitDB();
- return E_SUCCESS;
-}
-
-int
-ImageFeatureManager::AddFeature(const Tizen::Base::ByteBuffer& imageBuffer, int width, int height, const Tizen::Base::String& descr)
-{
-
- SysAssertf(__pImageFeatureManagerImpl != null, "Not yet constructed! Consruct() should be called before use.");
-
- SysSecureTryReturn(NID_UIX, width > 0 && height > 0, -1, E_INVALID_ARG,
- "Width and height must me more than 0. [E_INVALID_ARG]");
-
- const unsigned char* image = (unsigned char*) imageBuffer.GetPointer();
-
- SysSecureTryReturn(NID_UIX, image != null, -1, E_INVALID_ARG,
- "image pointer must not be null. [E_INVALID_ARG]");
-
- return (int) __pImageFeatureManagerImpl->AddFeature(image, width, height, descr);
-}
-
-int
-ImageFeatureManager::AddFeature(const Tizen::Base::String& imagePath)
-{
- SysAssertf(__pImageFeatureManagerImpl != null, "Not yet constructed! Consruct() should be called before use.");
-
- SysSecureTryReturn(NID_UIX, !imagePath.IsEmpty(), -1, E_INVALID_ARG,
- "image path must not be empty. [E_INVALID_ARG]");
-
- SysSecureTryReturn(NID_UIX, Tizen::Io::File::IsFileExist(imagePath), -1, E_INVALID_ARG,
- "image path must exist. [E_INVALID_ARG]");
-
- Tizen::Io::FileAttributes _fileAtt;
-
- SysSecureTryReturn(NID_UIX, Tizen::Io::File::GetAttributes(imagePath, _fileAtt) == E_SUCCESS, -1, E_INVALID_ARG,
- "image file must have attributes. [E_INVALID_ARG]");
-
- SysSecureTryReturn(NID_UIX, !_fileAtt.IsDirectory(), -1, E_INVALID_ARG,
- "image file must exist. [E_INVALID_ARG]");
-
- return (int) __pImageFeatureManagerImpl->AddFeature(imagePath);
-}
-
-result
-ImageFeatureManager::Flush(const Tizen::Base::String* featureSetFilePath)
-{
- SysAssertf(__pImageFeatureManagerImpl != null, "Not yet constructed! Consruct() should be called before use.");
-
- return __pImageFeatureManagerImpl->SaveDB(true, featureSetFilePath);
-}
-
-result
-ImageFeatureManager::Load(const Tizen::Base::String& featureSetFilePath)
-{
- SysAssertf(__pImageFeatureManagerImpl != null, "Not yet constructed! Consruct() should be called before use.");
-
- SysSecureTryReturnResult(NID_UIX, !featureSetFilePath.IsEmpty(), E_INVALID_ARG,
- "feature set path must not be empty. [E_INVALID_ARG]");
-
- SysSecureTryReturnResult(NID_UIX, Tizen::Io::File::IsFileExist(featureSetFilePath), E_INVALID_ARG,
- "feature set path must exist. [E_INVALID_ARG]");
-
- Tizen::Io::FileAttributes _fileAtt;
-
- SysSecureTryReturnResult(NID_UIX, Tizen::Io::File::GetAttributes(featureSetFilePath, _fileAtt) == E_SUCCESS, E_INVALID_ARG,
- "feature set file must have attributes. [E_INVALID_ARG]");
-
- SysSecureTryReturnResult(NID_UIX, !_fileAtt.IsDirectory(), E_INVALID_ARG,
- "feature set file must exist. [E_INVALID_ARG]");
-
- return __pImageFeatureManagerImpl->OpenDB(featureSetFilePath) ? E_SUCCESS : E_FAILURE;
-}
-
-Tizen::Base::Collection::IListT<Tizen::Media::ImageFormat>*
-ImageFeatureManager::GetSupportedImageFileFormatsListN(void)
-{
- std::unique_ptr<Tizen::Base::Collection::ArrayListT<Tizen::Media::ImageFormat> > pFormatList(new (std::nothrow) Tizen::Base::Collection::ArrayListT<Tizen::Media::ImageFormat>);
- SysSecureTryReturn(NID_UIX, pFormatList != null, null, E_OUT_OF_MEMORY, "[%s] Memory allocation failed.", GetErrorMessage(E_OUT_OF_MEMORY));
-
- pFormatList->Add(Tizen::Media::IMG_FORMAT_BMP);
- pFormatList->Add(Tizen::Media::IMG_FORMAT_JPG);
- pFormatList->Add(Tizen::Media::IMG_FORMAT_PNG);
- return pFormatList.release();
-}
-
-const Tizen::Uix::Vision::ImageFeatureInfo*
-ImageFeatureManager::GetImageFeatureInfo(int index) const
-{
- SysAssertf(__pImageFeatureManagerImpl != null, "Not yet constructed! Consruct() should be called before use.");
- return __pImageFeatureManagerImpl->GetImageFeatureInfo(index);
-}
-
-} } } //Tizen::Uix::Vision
+++ /dev/null
-//
-// Open Service Platform
-// Copyright (c) 2013 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Apache License, Version 2.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-
-#include <FUixVisionImageObject.h>
-#include "FUixVision_ImageObjectImpl.h"
-
-namespace Tizen { namespace Uix { namespace Vision
-{
-
-ImageObject::ImageObject()
- : __pImageObjectImpl(0)
-{
- std::unique_ptr<_ImageObjectImpl> pImageObjectImpl (new (std::nothrow) _ImageObjectImpl);
- __pImageObjectImpl = pImageObjectImpl.release();
-}
-
-ImageObject::~ImageObject()
-{
- if (__pImageObjectImpl != null)
- {
- delete __pImageObjectImpl;
- __pImageObjectImpl = null;
- }
-}
-
-int
-ImageObject::GetId(void) const
-{
- if (__pImageObjectImpl)
- {
- return __pImageObjectImpl->GetId();
- }
- else
- {
- return -1;
- }
-}
-
-int
-ImageObject::GetFeatureId(void) const
-{
- if (__pImageObjectImpl)
- {
- return __pImageObjectImpl->GetFeatureId();
- }
- else
- {
- return -1;
- }
-}
-
-const Tizen::Graphics::FloatMatrix4*
-ImageObject::GetTransformMatrix(void) const
-{
- if (__pImageObjectImpl)
- {
- return __pImageObjectImpl->GetTransformMatrix();
- }
- else
- {
- return 0;
- }
-}
-
-const Tizen::Base::Collection::IListT<Tizen::Graphics::FloatPoint>*
-ImageObject::GetRectangle(void) const
-{
- if (__pImageObjectImpl)
- {
- return __pImageObjectImpl->GetRectangle();
- }
- else
- {
- return 0;
- }
-}
-
-bool
-ImageObject::Equals(const Object& obj) const
-{
- return (static_cast<const Object*>(this) == &obj);
-}
-
-int
-ImageObject::GetHashCode(void) const
-{
- return (int)__pImageObjectImpl;
-}
-
-} } } //Tizen::Uix::Vision
-
+++ /dev/null
-//
-// Open Service Platform
-// Copyright (c) 2013 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Apache License, Version 2.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-
-#include <FUixVisionImageRecognizer.h>
-#include "FUixVision_ImageRecognizerImpl.h"
-#include <cstring>
-#include <FText.h>
-#include <FBaseSysLog.h>
-
-namespace Tizen { namespace Uix { namespace Vision
-{
-
-ImageRecognizer::ImageRecognizer(void)
- : __pImageRecognizerImpl(0)
-{
-}
-
-ImageRecognizer::~ImageRecognizer(void)
-{
- if (__pImageRecognizerImpl != null)
- {
- delete __pImageRecognizerImpl;
- __pImageRecognizerImpl = null;
- }
-}
-
-result
-ImageRecognizer::Construct(void)
-{
- SysAssertf(__pImageRecognizerImpl == null, "Already constructed! ",
- "Calling Construct() twice or more on a same instance is not allowed for this class.");
-
- std::unique_ptr<_ImageRecognizerImpl> pImageRecognizerImpl (new (std::nothrow) _ImageRecognizerImpl);
- SysSecureTryReturn(NID_UIX, pImageRecognizerImpl != null, E_OUT_OF_MEMORY, E_OUT_OF_MEMORY, "[%s] Memory allocation failed.", GetErrorMessage(E_OUT_OF_MEMORY));
- __pImageRecognizerImpl = pImageRecognizerImpl.release();
-
- return E_SUCCESS;
-}
-
-void
-ImageRecognizer::SetMultiTrackingEnabled(bool enable)
-{
- SysAssertf(__pImageRecognizerImpl != null, "Not yet constructed! Consruct() should be called before use.");
- __pImageRecognizerImpl->SetMultiTracking(enable);
-}
-
-result
-ImageRecognizer::SetImageSize(int width, int height)
-{
- SysAssertf(__pImageRecognizerImpl != null, "Not yet constructed! Consruct() should be called before use.");
-
- SysSecureTryReturnResult(NID_UIX, width > 0 && height > 0, E_INVALID_ARG,
- "Width and height must me more than 0. [E_INVALID_ARG]");
-
- return __pImageRecognizerImpl->SetImageSize(width, height) ? E_SUCCESS : E_FAILURE;
-}
-
-result
-ImageRecognizer::SetFeatureManager(ImageFeatureManager& imageFeatureManager)
-{
- SysAssertf(__pImageRecognizerImpl != null, "Not yet constructed! Consruct() should be called before use.");
-
- return __pImageRecognizerImpl->SetImageDatabase(&imageFeatureManager) ? E_SUCCESS : E_FAILURE;
-}
-
-int
-ImageRecognizer::GetRecognizedObjectCount(void)
-{
- SysAssertf(__pImageRecognizerImpl != null, "Not yet constructed! Consruct() should be called before use.");
- __pImageRecognizerImpl->FillObjectStorage();
- return __pImageRecognizerImpl->GetRecognizedObjectsCount();
-}
-
-const ImageObject*
-ImageRecognizer::GetRecognizedObject(int index) const
-{
- SysAssertf(__pImageRecognizerImpl != null, "Not yet constructed! Consruct() should be called before use.");
- return __pImageRecognizerImpl->GetRecognizedObject(index);
-}
-
-result
-ImageRecognizer::ProcessImage(const Tizen::Base::ByteBuffer& imageBuffer)
-{
- SysAssertf(__pImageRecognizerImpl != null, "Not yet constructed! Consruct() should be called before use.");
-
- SysSecureTryReturn(NID_UIX, imageBuffer.GetPointer(), -1, E_INVALID_ARG,
- "imageBuffer must not be null. [E_INVALID_ARG]");
-
- return __pImageRecognizerImpl->ProcessImage((unsigned char*) imageBuffer.GetPointer()) != -1 ? E_SUCCESS : E_FAILURE;
-}
-
-} } } //Tizen::Uix::Vision
+++ /dev/null
-//
-// Open Service Platform
-// Copyright (c) 2013 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Apache License, Version 2.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-
-#include <FUixVisionQrCodeGenerator.h>
-#include "FUixVision_QrCodeGeneratorImpl.h"
-#include <FText.h>
-#include <FBaseSysLog.h>
-
-namespace Tizen { namespace Uix { namespace Vision
-{
-
-QrCodeGenerator::QrCodeGenerator(void)
- : __pQrCodeGeneratorImpl(0)
-{
-}
-
-QrCodeGenerator::~QrCodeGenerator(void)
-{
- if (__pQrCodeGeneratorImpl != null)
- {
- delete __pQrCodeGeneratorImpl;
- __pQrCodeGeneratorImpl = null;
- }
-}
-
-result
-QrCodeGenerator::Construct(void)
-{
- SysAssertf(__pQrCodeGeneratorImpl == null, "Already constructed! ",
- "Calling Construct() twice or more on a same instance is not allowed for this class.");
-
- std::unique_ptr<_QrCodeGeneratorImpl> pQrCodeGeneratorImpl(new (std::nothrow) _QrCodeGeneratorImpl());
- SysSecureTryReturn(NID_UIX, pQrCodeGeneratorImpl != null, E_OUT_OF_MEMORY, E_OUT_OF_MEMORY, "[%s] Memory allocation failed.", GetErrorMessage(E_OUT_OF_MEMORY));
- __pQrCodeGeneratorImpl = pQrCodeGeneratorImpl.release();
-
- return E_SUCCESS;
-}
-
-Tizen::Base::ByteBuffer*
-QrCodeGenerator::EncodeToBufferN(const Tizen::Base::String& message, QrCodeMode mode, QrCodeErrorCorrectionLevel error_level, bool compatibility, int& width, int& height)
-{
- SysAssertf(__pQrCodeGeneratorImpl != null, "Not yet constructed! Consruct() should be called before use.");
-
- SysSecureTryReturnResult(NID_UIX, !message.IsEmpty(), null,
- "message must not be empty. [E_INVALID_ARG]");
-
- Tizen::Text::Utf8Encoding utf8;
- std::unique_ptr<Tizen::Base::ByteBuffer> pMessageBuffer(utf8.GetBytesN(message));
- __pQrCodeGeneratorImpl->Encode((char*) pMessageBuffer->GetPointer(), mode, error_level, compatibility);
- __pQrCodeGeneratorImpl->GetSize(width, height);
-
- std::unique_ptr<Tizen::Base::ByteBuffer> pBuffer(new (std::nothrow) Tizen::Base::ByteBuffer());
- SysSecureTryReturn(NID_UIX, pBuffer != null, null, E_OUT_OF_MEMORY, "[%s] Memory allocation failed.", GetErrorMessage(E_OUT_OF_MEMORY));
-
- pBuffer->Construct(width * height);
-
- if (__pQrCodeGeneratorImpl->SaveToBuffer((unsigned char*) pBuffer->GetPointer()))
- {
- return pBuffer.release();
- }
- else
- {
- return null;
- }
-
-}
-
-result
-QrCodeGenerator::EncodeToFile(const Tizen::Base::String& message, QrCodeMode mode, QrCodeErrorCorrectionLevel errorCorrectionLevel, bool compatibility, const Tizen::Base::String& imageFilePath, Tizen::Media::ImageFormat imageFormat, int& width, int& height)
-{
- result r = E_SUCCESS;
- SysAssertf(__pQrCodeGeneratorImpl != null, "Not yet constructed! Consruct() should be called before use.");
-
- SysSecureTryReturnResult(NID_UIX, !message.IsEmpty(), E_INVALID_ARG,
- "message must not be empty. [E_INVALID_ARG]");
-
- SysSecureTryReturnResult(NID_UIX, !imageFilePath.IsEmpty(), E_INVALID_ARG,
- "image path must not be empty. [E_INVALID_ARG]");
-
- Tizen::Text::Utf8Encoding utf8;
- std::unique_ptr<Tizen::Base::ByteBuffer> pBuffer(utf8.GetBytesN(message));
- if (!__pQrCodeGeneratorImpl->Encode((char*) pBuffer->GetPointer(), mode, errorCorrectionLevel, compatibility))
- {
- return E_FAILURE;
- }
-
- if(!__pQrCodeGeneratorImpl->SaveToFile(imageFilePath, imageFormat,width, height))
- {
- r = GetLastResult();
- if( r == E_ILLEGAL_ACCESS || r == E_OUT_OF_RANGE)
- {
- r = E_FILE_NOT_FOUND;
- }
- else if (r == E_UNSUPPORTED_FORMAT)
- {
- r = E_INVALID_ARG;
- }
- else
- {
- r = E_FAILURE;
- }
-
- }
-
- return r;
-}
-
-Tizen::Base::Collection::IListT<Tizen::Media::ImageFormat>*
-QrCodeGenerator::GetSupportedImageFileFormatsListN(void)
-{
- std::unique_ptr<Tizen::Base::Collection::ArrayListT<Tizen::Media::ImageFormat> > pFormatList(
- new (std::nothrow) Tizen::Base::Collection::ArrayListT<Tizen::Media::ImageFormat>);
- SysSecureTryReturn(NID_UIX, pFormatList != null, null, E_OUT_OF_MEMORY, "[%s] Memory allocation failed.", GetErrorMessage(E_OUT_OF_MEMORY));
-
-
- pFormatList->Add(Tizen::Media::IMG_FORMAT_BMP);
- pFormatList->Add(Tizen::Media::IMG_FORMAT_JPG);
- pFormatList->Add(Tizen::Media::IMG_FORMAT_PNG);
- return pFormatList.release();
-}
-
-} } } //Tizen::Uix::Vision
+++ /dev/null
-//
-// Open Service Platform
-// Copyright (c) 2013 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Apache License, Version 2.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-
-#include <FUixVisionQrCodeObject.h>
-#include "FUixVision_QrCodeObjectImpl.h"
-
-namespace Tizen { namespace Uix { namespace Vision
-{
-
-QrCodeObject::QrCodeObject(void)
- : __pQrCodeObjectImpl(0)
-{
- std::unique_ptr<_QrCodeObjectImpl> pQrCodeObjectImpl(new (std::nothrow) _QrCodeObjectImpl());
- __pQrCodeObjectImpl = pQrCodeObjectImpl.release();
-}
-
-QrCodeObject::~QrCodeObject(void)
-{
- if (__pQrCodeObjectImpl != null)
- {
- delete __pQrCodeObjectImpl;
- __pQrCodeObjectImpl = null;
- }
-}
-
-int
-QrCodeObject::GetId(void) const
-{
- if (__pQrCodeObjectImpl)
- {
- return __pQrCodeObjectImpl->GetId();
- }
- else
- {
- return -1;
- }
-}
-
-int
-QrCodeObject::GetVersion(void) const
-{
- if (__pQrCodeObjectImpl)
- {
- return __pQrCodeObjectImpl->GetVersion();
- }
- else
- {
- return 0;
- }
-}
-
-Tizen::Uix::Vision::QrCodeErrorCorrectionLevel
-QrCodeObject::GetErrorCorrectionLevel(void) const
-{
- if (__pQrCodeObjectImpl)
- {
- return __pQrCodeObjectImpl->GetErrorCorrectionLevel();
- }
- else
- {
- return Tizen::Uix::Vision::QR_CODE_ERROR_CORRECTION_LEVEL_L;
- }
-}
-
-Tizen::Base::String
-QrCodeObject::GetText(void) const
-{
- if (__pQrCodeObjectImpl)
- {
- return __pQrCodeObjectImpl->GetText();
- }
- else
- {
- return Tizen::Base::String("");
- }
-}
-
-const Tizen::Graphics::FloatMatrix4*
-QrCodeObject::GetTransformMatrix(void) const
-{
- if (__pQrCodeObjectImpl)
- {
- return __pQrCodeObjectImpl->GetTransformMatrix();
- }
- else
- {
- return null;
- }
-}
-const Tizen::Base::Collection::IListT<Tizen::Graphics::FloatPoint>*
-QrCodeObject::GetRectangle(void) const
-{
- if (__pQrCodeObjectImpl)
- {
- return __pQrCodeObjectImpl->GetRectangle();
- }
- else
- {
- return null;
- }
-}
-
-bool
-QrCodeObject::Equals(const Object& obj) const
-{
- return (static_cast<const Object*>(this) == &obj);
-}
-
-int
-QrCodeObject::GetHashCode(void) const
-{
- return (int)__pQrCodeObjectImpl;
-}
-
-} } } //Tizen::Uix::Vision
+++ /dev/null
-//
-// Open Service Platform
-// Copyright (c) 2013 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Apache License, Version 2.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-
-#include <FUixVisionQrCodeRecognizer.h>
-#include "FUixVision_QrCodeRecognizerImpl.h"
-#include <FBaseSysLog.h>
-
-namespace Tizen { namespace Uix { namespace Vision
-{
-
-QrCodeRecognizer::QrCodeRecognizer(void)
- : __pQrCodeRecognizerImpl(0)
-{
-}
-
-QrCodeRecognizer::~QrCodeRecognizer(void)
-{
- if (__pQrCodeRecognizerImpl != null)
- {
- delete __pQrCodeRecognizerImpl;
- __pQrCodeRecognizerImpl = null;
- }
-}
-
-result
-QrCodeRecognizer::Construct(void)
-{
- SysAssertf(__pQrCodeRecognizerImpl == null, "Already constructed! ",
- "Calling Construct() twice or more on a same instance is not allowed for this class.");
-
- std::unique_ptr<_QrCodeRecognizerImpl> pQrCodeRecognizerImpl(new (std::nothrow) _QrCodeRecognizerImpl());
- SysSecureTryReturn(NID_UIX, pQrCodeRecognizerImpl != null, E_OUT_OF_MEMORY, E_OUT_OF_MEMORY, "[%s] Memory allocation failed.", GetErrorMessage(E_OUT_OF_MEMORY));
- __pQrCodeRecognizerImpl = pQrCodeRecognizerImpl.release();
-
- return __pQrCodeRecognizerImpl->Init() ? E_SUCCESS : E_FAILURE;
-}
-
-result
-QrCodeRecognizer::SetImageSize(int width, int height)
-{
- SysAssertf(__pQrCodeRecognizerImpl != null, "Not yet constructed! Consruct() should be called before use.");
-
- SysSecureTryReturn(NID_UIX, width > 0 && height > 0, false, E_INVALID_ARG,
- "width and height must be greater then 0. [E_INVALID_ARG]");
-
- return __pQrCodeRecognizerImpl->SetFrameSize(width, height) ? E_SUCCESS : E_FAILURE;
-}
-
-result
-QrCodeRecognizer::GetFocusRoi(Tizen::Graphics::Rectangle& roi)
-{
- SysAssertf(__pQrCodeRecognizerImpl != null, "Not yet constructed! Consruct() should be called before use.");
-
- static int array[4] = {0};
- result r = __pQrCodeRecognizerImpl->GetROI(array) ? E_SUCCESS : E_FAILURE;
-
- if (r == E_SUCCESS)
- {
- roi.SetBounds(array[0], array[1], array[2] - array[0], array[3] - array[1]);
- }
- return r;
-}
-
-int
-QrCodeRecognizer::GetRecognizedObjectCount(void)
-{
- SysAssertf(__pQrCodeRecognizerImpl != null, "Not yet constructed! Consruct() should be called before use.");
- __pQrCodeRecognizerImpl->FillObjectStorage();
- return __pQrCodeRecognizerImpl->GetRecognizedObjectsCount();
-}
-
-const QrCodeObject*
-QrCodeRecognizer::GetRecognizedObject(int index) const
-{
- SysAssertf(__pQrCodeRecognizerImpl != null, "Not yet constructed! Consruct() should be called before use.");
- return __pQrCodeRecognizerImpl->GetQrCodeObject(index);
-}
-
-result
-QrCodeRecognizer::ProcessImage(const Tizen::Base::ByteBuffer& imageBuffer)
-{
- SysAssertf(__pQrCodeRecognizerImpl != null, "Not yet constructed! Consruct() should be called before use.");
-
- SysSecureTryReturn(NID_UIX, imageBuffer.GetPointer(), false, E_INVALID_ARG,
- "image buffer must not be null. [E_INVALID_ARG]");
-
- return __pQrCodeRecognizerImpl->ProcessFrame((unsigned char*) imageBuffer.GetPointer()) ? E_SUCCESS : E_FAILURE;
-}
-
-} } } //Tizen::Uix::Vision
+++ /dev/null
-//
-// Open Service Platform
-// Copyright (c) 2013 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Apache License, Version 2.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-#include "FUixVision_ImageFeatureInfoImpl.h"
-#include <FMedia.h>
-
-namespace Tizen { namespace Uix { namespace Vision
-{
-
-_ImageFeatureInfoImpl::_ImageFeatureInfoImpl(void)
-{
-}
-
-_ImageFeatureInfoImpl::~_ImageFeatureInfoImpl(void)
-{
-}
-
-float
-_ImageFeatureInfoImpl::GetAspect(void) const
-{
- return __imageFeatureDatabaseInfo.aspect();
-}
-
-void
-_ImageFeatureInfoImpl::SetSariPointer(const sari2::ImageFeatureInfo& sari)
-{
- __imageFeatureDatabaseInfo = sari;
-}
-
-_ImageFeatureInfoImpl*
-_ImageFeatureInfoImpl::GetInstance(ImageFeatureInfo* pImageFeatureDatabaseInfo)
-{
- return pImageFeatureDatabaseInfo->__pImageFeatureInfoImpl;
-}
-const _ImageFeatureInfoImpl*
-_ImageFeatureInfoImpl::GetInstance(const ImageFeatureInfo* pImageFeatureDatabaseInfo)
-{
- return pImageFeatureDatabaseInfo->__pImageFeatureInfoImpl;
-}
-
-unsigned int
-_ImageFeatureInfoImpl::GetDescription(char* name, int length) const
-{
- return __imageFeatureDatabaseInfo.imagePath(name, length);
-}
-
-int
-_ImageFeatureInfoImpl::GetThumbnailWidth(void) const
-{
- return __imageFeatureDatabaseInfo.imageWidth();
-}
-
-int
-_ImageFeatureInfoImpl::GetThumbnailHeight(void) const
-{
- return __imageFeatureDatabaseInfo.imageHeight();
-}
-bool
-_ImageFeatureInfoImpl::GetThumbnail(char* outBuffer, int bufWidth, int bufHeight, bool fit) const
-{
- return __imageFeatureDatabaseInfo.getThumbnailImage(outBuffer, bufWidth, bufHeight, fit);
-}
-
-Tizen::Uix::Vision::ImageFeatureInfo*
-_ImageFeatureInfoImpl::CreateImageFeatureInfoStorageN(const unsigned int size)
-{
- Tizen::Uix::Vision::ImageFeatureInfo* objectStorage = new Tizen::Uix::Vision::ImageFeatureInfo[size];
- return objectStorage;
-}
-
-Tizen::Uix::Vision::ImageFeatureInfo*
-_ImageFeatureInfoImpl::CreateImageFeatureInfoN()
-{
- Tizen::Uix::Vision::ImageFeatureInfo* object = new Tizen::Uix::Vision::ImageFeatureInfo;
- return object;
-}
-
-} } } //Tizen::Uix::Vision
+++ /dev/null
-//
-// Open Service Platform
-// Copyright (c) 2013 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Apache License, Version 2.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-
-
-/**
- * @file FUixVision_ImageFeatureInfoImpl.h
- * @brief This is the header file for the %Tizen::Uix::_ImageFeatureInfoImpl class.
- */
-
-#ifndef _FUIX_VISION_IMAGE_FEATURE_INFO_IMPL_H_
-#define _FUIX_VISION_IMAGE_FEATURE_INFO_IMPL_H_
-
-#include <FUixVisionImageFeatureInfo.h>
-#include <FBase.h>
-#include "ImageFeatureInfo.h"
-#include <cstring>
-
-namespace Tizen { namespace Uix { namespace Vision
-{
-
-class _ImageFeatureInfoImpl
-{
-public:
- _ImageFeatureInfoImpl(void);
- ~_ImageFeatureInfoImpl(void);
-
- float GetAspect(void) const;
- void SetSariPointer(const sari2::ImageFeatureInfo& sari);
-
- unsigned int GetDescription(char* name, int length) const;
- int GetThumbnailWidth(void) const;
- int GetThumbnailHeight(void) const;
- bool GetThumbnail(char* outBuffer, int bufWidth, int bufHeight, bool fit = true) const;
- int GetLocalizingFeaturesNumber(void) const;
- int GetTrackingFeaturesNumber(void) const;
-
-public:
- static Tizen::Uix::Vision::ImageFeatureInfo* CreateImageFeatureInfoStorageN(const unsigned int size); //WHY should we need a storage?
- static Tizen::Uix::Vision::ImageFeatureInfo* CreateImageFeatureInfoN();
- static _ImageFeatureInfoImpl* GetInstance(Tizen::Uix::Vision::ImageFeatureInfo* pImageFeatureDatabaseInfo);
- static const _ImageFeatureInfoImpl* GetInstance(const Tizen::Uix::Vision::ImageFeatureInfo* pImageFeatureDatabaseInfo);
-
-private:
- sari2::ImageFeatureInfo __imageFeatureDatabaseInfo;
-};
-
-} } } //Tizen::Uix::Vision
-
-#endif //_FUIX_VISION_IMAGE_FEATURE_INFO_IMPL_H_
+++ /dev/null
-//
-// Open Service Platform
-// Copyright (c) 2013 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Apache License, Version 2.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-
-#include "FUixVision_ImageFeatureManagerImpl.h"
-#include "FUixVision_ImageFeatureInfoImpl.h"
-#include "FText.h"
-#include <FMedia.h>
-#include <FBaseSysLog.h>
-#include <string>
-
-namespace Tizen { namespace Uix { namespace Vision
-{
-
-_ImageFeatureManagerImpl::_ImageFeatureManagerImpl(void)
- : __imageFeatureManager(0)
- , __readOnly(false)
- , __minSupportedSize(100)
- , __maxSupportedResolution(16000000)
-{
-}
-
-_ImageFeatureManagerImpl::~_ImageFeatureManagerImpl(void)
-{
- if (__imageFeatureManager)
- {
- delete __imageFeatureManager;
- }
-}
-
-_ImageFeatureManagerImpl*
-_ImageFeatureManagerImpl::GetInstance(ImageFeatureManager& imageFeatureManager)
-{
- return imageFeatureManager.__pImageFeatureManagerImpl;
-}
-
-const _ImageFeatureManagerImpl*
-_ImageFeatureManagerImpl::GetInstance(const ImageFeatureManager& imageFeatureManager)
-{
- return imageFeatureManager.__pImageFeatureManagerImpl;
-}
-
-void
-_ImageFeatureManagerImpl::InitDB(void)
-{
- __indices.RemoveAll();
- if (__imageFeatureManager)
- {
- delete __imageFeatureManager;
- }
- __imageFeatureManager = new sari2::ImageFeatureManager();
- __imageFeatureManager->initDB();
-}
-
-int
-_ImageFeatureManagerImpl::AddFeature(const Tizen::Base::String& filepath)
-{
- Tizen::Media::ImageFormat imgFormat;
- int imgWidth = 0, imgHeight = 0;
- result r = Tizen::Media::ImageBuffer::GetImageInfo(filepath, imgFormat, imgWidth, imgHeight);
-
- if (IsFailed(r))
- {
- SetLastResult(E_INVALID_ARG);
- return -1;
- }
-
- if ((imgWidth < __minSupportedSize || imgHeight < __minSupportedSize) || (imgWidth * imgHeight > __maxSupportedResolution))
- {
- SetLastResult(E_INVALID_ARG);
- return -1;
- }
-
- Tizen::Media::ImageBuffer imBuf;
- r = imBuf.Construct(filepath, null, false);
-
- if(IsFailed(r))
- {
- SetLastResult(E_INVALID_ARG);
- return -1;
- }
-
- Tizen::Base::ByteBuffer* yuvBuf = imBuf.GetByteBufferN(Tizen::Media::MEDIA_PIXEL_FORMAT_YUV420P);
- if (yuvBuf == null)
- {
- return -1;
- }
-
- int res = AddFeature(yuvBuf->GetPointer(), imBuf.GetWidth(), imBuf.GetHeight(), filepath);
- delete yuvBuf;
-
- return res;
-}
-
-int
-_ImageFeatureManagerImpl::AddFeature(const unsigned char* data, int width, int height, const Tizen::Base::String& info)
-{
- if (!__imageFeatureManager)
- {
- return -1;
- }
-
- if ((width < __minSupportedSize || height < __minSupportedSize) || (width * height > __maxSupportedResolution))
- {
- SetLastResult(E_INVALID_ARG);
- return -1;
- }
-
- Tizen::Text::Utf8Encoding utf8;
- std::unique_ptr<Tizen::Base::ByteBuffer> pBuffer(utf8.GetBytesN(info));
- int index = (int) __imageFeatureManager->addImageToDB(data, width, height, (char*) pBuffer->GetPointer());
-
- if (index > -1)
- {
- __indices.Add(index);
- return __indices.GetCount() - 1;
- }
- return -1;
-}
-
-bool
-_ImageFeatureManagerImpl::DeleteFeature(int index)
-{
- if (!__imageFeatureManager)
- {
- return false;
- }
-
- if (index < __indices.GetCount() && index >= 0)
- {
- int realIndex(0);
- __indices.GetAt(index, realIndex);
- if (__imageFeatureManager->deleteImageFromDB(realIndex))
- {
- __indices.RemoveAt(index);
- return true;
- }
- }
- else
- {
- SetLastResult(E_INVALID_ARG);
- }
-
- return false;
-}
-
-unsigned int
-_ImageFeatureManagerImpl::GetTotalNumberOfFeatures(void)
-{
- return __indices.GetCount();
-}
-
-result
-_ImageFeatureManagerImpl::SaveDB(bool optimizeDatabase, const Tizen::Base::String* dbPath)
-{
- SysSecureTryReturnResult(NID_UIX, (!__path.IsEmpty()) || (null != dbPath), E_INVALID_ARG,
- "You need to open some database first or specify path to save data. [E_INVALID_ARG]");
-
- UpdateDB();
-
- __indices.RemoveAll();
- result result = E_FAILURE;
-
- if (!__imageFeatureManager)
- {
- return E_FAILURE;
- }
-
-
- if (null != dbPath)
- {
- SysSecureTryReturnResult(NID_UIX, !dbPath->IsEmpty(), E_INVALID_ARG,
- "database path must not be empty. [E_INVALID_ARG]");
- Tizen::Text::Utf8Encoding utf8;
- std::unique_ptr<Tizen::Base::ByteBuffer> pBuffer(utf8.GetBytesN(*dbPath));
- result = __imageFeatureManager->saveDB(optimizeDatabase, (const char*) pBuffer->GetPointer()) ? E_SUCCESS : E_FAILURE;
- }
- else
- {
- if (!__path.IsEmpty())
- {
- Tizen::Text::Utf8Encoding utf8;
- std::unique_ptr<Tizen::Base::ByteBuffer> pBuffer(utf8.GetBytesN(__path));
- result = __imageFeatureManager->saveDB(optimizeDatabase, (const char*) pBuffer->GetPointer()) ? E_SUCCESS : E_FAILURE;
- if (E_FAILURE == result && __readOnly)
- {
- result = E_INVALID_ARG;
- }
- }
- }
-
- return result;
-}
-
-bool
-_ImageFeatureManagerImpl::UpdateDB()
-{
- __indices.RemoveAll();
-
- if (__imageFeatureManager->updateDB())
- {
- UpdateFeatureIndices();
- return true;
- }
- else
- {
- return false;
- }
-}
-
-bool
-_ImageFeatureManagerImpl::OpenDB(const Tizen::Base::String& dbpath)
-{
- if (__imageFeatureManager)
- {
- delete __imageFeatureManager;
- }
- __imageFeatureManager = new sari2::ImageFeatureManager();
- __imageFeatureManager->initDB();
-
- Tizen::Text::Utf8Encoding utf8;
- std::unique_ptr<Tizen::Base::ByteBuffer> pBuffer(utf8.GetBytesN(dbpath));
- switch (__imageFeatureManager->openDB((const char*) pBuffer->GetPointer()))
- {
- case 0: //ok
- __path = dbpath;
- UpdateFeatureIndices();
- break;
- case -2: //read only feature set file
- __path = dbpath;
- UpdateFeatureIndices();
- __readOnly = true;
- break;
- default: //error
- return false;
- }
-
- return true;
-}
-
-void
-_ImageFeatureManagerImpl::ReleaseDB(void)
-{
- if (!__imageFeatureManager)
- {
- return;
- }
-
- __imageFeatureManager->releaseDB();
- __indices.RemoveAll();
-}
-
-const Tizen::Uix::Vision::ImageFeatureInfo*
-_ImageFeatureManagerImpl::GetImageFeatureInfo(int index)
-{
- if (!__imageFeatureManager)
- {
- return null;
- }
-
- if (index < __indices.GetCount() && index >= 0)
- {
- Tizen::Uix::Vision::ImageFeatureInfo* di = _ImageFeatureInfoImpl::CreateImageFeatureInfoN();
- int realIndex(0);
- __indices.GetAt(index, realIndex);
- _ImageFeatureInfoImpl::GetInstance(di)->SetSariPointer(sari2::ImageFeatureInfo(__imageFeatureManager, realIndex));
- return di;
- }
- else
- {
- SetLastResult(E_INVALID_ARG);
- return null;
- }
-}
-
-void
-_ImageFeatureManagerImpl::UpdateFeatureIndices(void)
-{
- __indices.RemoveAll();
-
- if (!__imageFeatureManager)
- {
- return;
- }
-
- int total = __imageFeatureManager->totalNumberOfImages();
- for (int i = 0; i < total; i++)
- {
- if (sari2::ImageFeatureInfo(__imageFeatureManager, i).isActive())
- {
- __indices.Add(i);
- }
- }
-}
-
-} } } //Tizen::Uix::Vision
+++ /dev/null
-//
-// Open Service Platform
-// Copyright (c) 2013 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Apache License, Version 2.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-
-
-/**
- * @file FUixVision_ImageFeatureManagerImpl.h
- * @brief This is the header file for the %Tizen::Uix::_ImageFeatureManagerImpl class.
- */
-
-#ifndef _FUIX_VISION_INTERNAL_IMAGE_FEATURE_MANAGER_IMPL_H_
-#define _FUIX_VISION_INTERNAL_IMAGE_FEATURE_MANAGER_IMPL_H_
-
-#include <FUixVisionImageFeatureManager.h>
-#include <FUixVisionImageRecognizer.h>
-#include "ImageFeatureManager.h"
-#include <FBase.h>
-
-namespace Tizen { namespace Uix { namespace Vision
-{
-
-class _ImageFeatureManagerImpl
-{
-public:
- _ImageFeatureManagerImpl(void);
- ~_ImageFeatureManagerImpl(void);
-
- static _ImageFeatureManagerImpl* GetInstance(ImageFeatureManager& imageFeatureManager);
- static const _ImageFeatureManagerImpl* GetInstance(const ImageFeatureManager& imageFeatureManager);
-
- void InitDB(void);
- int AddFeature(const Tizen::Base::String& filepath);
- int AddFeature(const unsigned char* data, int width, int height, const Tizen::Base::String& info);
- bool DeleteFeature(int index);
- unsigned int GetTotalNumberOfFeatures(void);
- result SaveDB(bool optimizeDatabase, const Tizen::Base::String* dbPath = null);
- bool UpdateDB(void);
- bool OpenDB(const Tizen::Base::String& dbPath);
- void ReleaseDB(void);
- const Tizen::Uix::Vision::ImageFeatureInfo* GetImageFeatureInfo(int);
-
-private:
- friend class _ImageRecognizerImpl;
- _ImageFeatureManagerImpl(const _ImageFeatureManagerImpl&);
- _ImageFeatureManagerImpl& operator=(const _ImageFeatureManagerImpl&);
- void UpdateFeatureIndices(void);
- sari2::ImageFeatureManager* __imageFeatureManager;
- Tizen::Base::String __path;
- Tizen::Base::Collection::ArrayListT<int> __indices;
- bool __readOnly;
- int __minSupportedSize;
- int __maxSupportedResolution;
-};
-
-} } } //Tizen::Uix::Vision
-
-#endif //_FUIX_VISION_INTERNAL_IMAGE_FEATURE_MANAGER_IMPL_H_
+++ /dev/null
-//
-// Open Service Platform
-// Copyright (c) 2013 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Apache License, Version 2.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-
-#include "FUixVision_ImageObjectImpl.h"
-
-namespace Tizen { namespace Uix { namespace Vision
-{
-
-_ImageObjectImpl::_ImageObjectImpl(void)
- : __pRectangleList(0)
- , __pMatrix(0)
-{
- __pRectangleList = new Tizen::Base::Collection::ArrayListT<Tizen::Graphics::FloatPoint>();
- __pMatrix = new Tizen::Graphics::FloatMatrix4();
-}
-
-_ImageObjectImpl::~_ImageObjectImpl(void)
-{
- delete __pRectangleList;
- delete __pMatrix;
-}
-
-int
-_ImageObjectImpl::GetId(void) const
-{
- return __ImageRecognitionInfo.index();
-}
-
-int
-_ImageObjectImpl::GetFeatureId(void) const
-{
- return __ImageRecognitionInfo.typeId();
-}
-
-const Tizen::Graphics::FloatMatrix4*
-_ImageObjectImpl::GetTransformMatrix(void) const
-{
- memcpy(__pMatrix->matrix, __ImageRecognitionInfo.transform(), 16 * sizeof(float));
- return __pMatrix;
-}
-
-float
-_ImageObjectImpl::GetAspect(void) const
-{
- return __ImageRecognitionInfo.aspect();
-}
-
-void
-_ImageObjectImpl::SetSariPointer(const sari2::ImageRecognitionInfo& sari)
-{
- __ImageRecognitionInfo = sari;
-}
-
-const Tizen::Base::Collection::ArrayListT<Tizen::Graphics::FloatPoint>*
-_ImageObjectImpl::GetRectangle(void) const
-{
- __pRectangleList->RemoveAll();
- static float coordinates[8] = {0.f};
- __ImageRecognitionInfo.rectangle(coordinates);
-
- for (int i = 0; i < 4; ++i)
- __pRectangleList->Add(Tizen::Graphics::FloatPoint(coordinates[2 * i], coordinates[(2 * i) + 1]));
-
- return __pRectangleList;
-}
-
-_ImageObjectImpl*
-_ImageObjectImpl::GetInstance(ImageObject* pImageObject)
-{
- return pImageObject->__pImageObjectImpl;
-}
-
-const _ImageObjectImpl*
-_ImageObjectImpl::GetInstance(const ImageObject* pImageObject)
-{
- return pImageObject->__pImageObjectImpl;
-}
-
-void
-_ImageObjectImpl::ReleaseImageObject(ImageObject* pImageObject)
-{
- delete pImageObject;
-}
-
-void
-_ImageObjectImpl::ReleaseImageObjectArray(ImageObject* pImageObject)
-{
- delete[] pImageObject;
-}
-
-ImageObject*
-_ImageObjectImpl::CreateImageObjectStorageN(const unsigned int size)
-{
- ImageObject* objectStorage = new ImageObject[size];
- return objectStorage;
-}
-
-ImageObject*
-_ImageObjectImpl::CreateImageObjectN()
-{
- ImageObject* object = new ImageObject;
- return object;
-}
-
-} } } //Tizen::Uix::Vision
+++ /dev/null
-//
-// Open Service Platform
-// Copyright (c) 2013 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Apache License, Version 2.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-
-
-/**
- * @file FUixVision_ImageObjectImpl.h
- * @brief This is the header file for the %Tizen::Uix::_ImageObjectImpl class.
- */
-
-#ifndef _FUIX_VISION_INTERNAL_IMAGE_OBJECT_IMPL_H_
-#define _FUIX_VISION_INTERNAL_IMAGE_OBJECT_IMPL_H_
-
-#include <FUixVisionImageObject.h>
-#include <FBase.h>
-#include "ImageRecognitionInfo.h"
-
-namespace Tizen { namespace Uix { namespace Vision
-{
-
-class _ImageObjectImpl
-{
-public:
- _ImageObjectImpl(void);
- ~_ImageObjectImpl(void);
-
- int GetId(void) const;
- int GetFeatureId(void) const;
- const Tizen::Graphics::FloatMatrix4* GetTransformMatrix(void) const;
- const Tizen::Base::Collection::ArrayListT<Tizen::Graphics::FloatPoint>* GetRectangle(void) const;
- float GetAspect(void) const;
- void SetSariPointer(const sari2::ImageRecognitionInfo& sari);
-
-public:
- static ImageObject* CreateImageObjectStorageN(const unsigned int size);
- static ImageObject* CreateImageObjectN();
- static void ReleaseImageObject(ImageObject* pImageObject);
- static void ReleaseImageObjectArray(ImageObject* pImageObject);
- static _ImageObjectImpl* GetInstance(ImageObject* pImageObject);
- static const _ImageObjectImpl* GetInstance(const ImageObject* pImageObject);
-
-private:
- sari2::ImageRecognitionInfo __ImageRecognitionInfo;
- Tizen::Base::Collection::ArrayListT<Tizen::Graphics::FloatPoint>* __pRectangleList;
- Tizen::Graphics::FloatMatrix4* __pMatrix;
-};
-
-} } } //Tizen::Uix::Vision
-
-#endif //_FUIX_VISION_INTERNAL_IMAGE_OBJECT_IMPL_H_
+++ /dev/null
-//
-// Open Service Platform
-// Copyright (c) 2013 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Apache License, Version 2.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-
-#include "FUixVision_ImageRecognizerImpl.h"
-#include "FUixVisionImageFeatureManager.h"
-#include "FUixVision_ImageFeatureManagerImpl.h"
-#include "FUixVision_ImageObjectImpl.h"
-
-namespace Tizen { namespace Uix { namespace Vision
-{
-
-_ImageRecognizerImpl::_ImageRecognizerImpl(void)
- : __objectStorage(0)
-{
- __objectStorage = _ImageObjectImpl::CreateImageObjectStorageN(MAX_TRACKABLE_OBJECTS);
-}
-
-_ImageRecognizerImpl::~_ImageRecognizerImpl(void)
-{
- _ImageObjectImpl::ReleaseImageObjectArray(__objectStorage);
-}
-
-_ImageRecognizerImpl*
-_ImageRecognizerImpl::GetInstance(ImageRecognizer& imageRecognizer)
-{
- return imageRecognizer.__pImageRecognizerImpl;
-}
-
-const _ImageRecognizerImpl*
-_ImageRecognizerImpl::GetInstance(const ImageRecognizer& imageRecognizer)
-{
- return imageRecognizer.__pImageRecognizerImpl;
-}
-
-void
-_ImageRecognizerImpl::SetMultiTracking(bool useMultiTracking)
-{
- __imageRecognizer.setMultiTracking(useMultiTracking);
-}
-
-bool
-_ImageRecognizerImpl::SetImageSize(unsigned int width, unsigned int height)
-{
- return __imageRecognizer.setImageSize(width, height);
-}
-
-void
-_ImageRecognizerImpl::SetSceneTransform(const float* left, const float* right)
-{
- __imageRecognizer.setSceneTransform(left, right);
-}
-
-bool
-_ImageRecognizerImpl::SetImageDatabase(const ImageFeatureManager* imgFMan)
-{
- const _ImageFeatureManagerImpl* pImageFeatureManagerImpl = _ImageFeatureManagerImpl::GetInstance(*imgFMan);
- // __featureManager = pImageFeatureManagerImpl->GetFeatureManager();////!!!!!!!!!!!!!!
- return __imageRecognizer.setImageDatabase(pImageFeatureManagerImpl->__imageFeatureManager);
-
-}
-
-int
-_ImageRecognizerImpl::ProcessImage(const unsigned char* frame)
-{
- return __imageRecognizer.processImage(frame);
-}
-
-void
-_ImageRecognizerImpl::FillObjectStorage(void)
-{
- __objectStorageSize = 0;
- for (const sari2::ImageRecognitionInfo *o = __imageRecognizer.objectsBegin(), *e = __imageRecognizer.objectsEnd(); o != e; ++o)
- {
- Tizen::Uix::Vision::ImageObject& to = __objectStorage[__objectStorageSize++];
- _ImageObjectImpl::GetInstance(&to)->SetSariPointer(*o);
- }
-}
-
-const Tizen::Uix::Vision::ImageObject*
-_ImageRecognizerImpl::GetRecognizedObjectBegin(void) const
-{
- return __objectStorage;
-}
-
-const Tizen::Uix::Vision::ImageObject*
-_ImageRecognizerImpl::GetRecognizedObjectEnd(void) const
-{
- return __objectStorage + __objectStorageSize;
-}
-
-int
-_ImageRecognizerImpl::GetRecognizedObjectsCount(void)
-{
- return __objectStorageSize;
-}
-
-const ImageObject*
-_ImageRecognizerImpl::GetRecognizedObject(int index)
-{
- ClearLastResult();
- if (index < __objectStorageSize)
- {
- return &__objectStorage[index];
- }
- else
- {
- SetLastResult(E_INVALID_ARG);
- return 0;
- }
-}
-
-} } } //Tizen::Uix::Vision
+++ /dev/null
-//
-// Open Service Platform
-// Copyright (c) 2013 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Apache License, Version 2.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-
-
-/**
- * @file FUixVision_ImageRecognizerImpl.h
- * @brief This is the header file for the %Tizen::Uix::_ImageRecognizerImpl class.
- */
-
-
-#ifndef _FUIX_VISION_INTERNAL_IMAGE_RECOGNIZER_IMPL_H_
-#define _FUIX_VISION_INTERNAL_IMAGE_RECOGNIZER_IMPL_H_
-
-#include <FUixVisionImageObject.h>
-#include <FUixVisionImageRecognizer.h>
-#include "ImageRecognizer.h"
-#include "ImageFeatureManager.h"
-#include <cstring>
-
-namespace Tizen { namespace Uix { namespace Vision
-{
-
-static const int MAX_TRACKABLE_OBJECTS = 10;
-
-class _ImageRecognizerImpl
-{
-public:
- _ImageRecognizerImpl(void);
- ~_ImageRecognizerImpl(void);
-
- static _ImageRecognizerImpl* GetInstance(ImageRecognizer& imageRecognizer);
- static const _ImageRecognizerImpl* GetInstance(const ImageRecognizer& imageRecognizer);
-
- void SetMultiTracking(bool useMultiTracking);
- bool SetImageSize(unsigned int width, unsigned int height);
- void SetSceneTransform(const float* left, const float* right);
- bool SetImageDatabase(const Tizen::Uix::Vision::ImageFeatureManager* imgFMan);
- int ProcessImage(const unsigned char* frame);
- void FillObjectStorage(void);
-
- const ImageObject* GetRecognizedObjectBegin(void) const;
- const ImageObject* GetRecognizedObjectEnd(void) const;
-
- int GetRecognizedObjectsCount(void);
- const ImageObject* GetRecognizedObject(int index);
-
-private:
- _ImageRecognizerImpl(const _ImageRecognizerImpl&);
- _ImageRecognizerImpl& operator=(const _ImageRecognizerImpl&);
- ImageObject* __objectStorage;//[MAX_TRACKABLE_OBJECTS];
- int __objectStorageSize;
- sari2::ImageRecognizer __imageRecognizer;
- sari2::ImageFeatureManager __featureManager;
-};
-
-} } } //Tizen::Uix::Vision
-
-#endif //_FUIX_VISION_INTERNAL_IMAGE_RECOGNIZER_IMPL_H_
+++ /dev/null
-//
-// Open Service Platform
-// Copyright (c) 2013 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Apache License, Version 2.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-
-#include "FUixVision_QrCodeGeneratorImpl.h"
-
-namespace Tizen { namespace Uix { namespace Vision
-{
-
-_QrCodeGeneratorImpl::_QrCodeGeneratorImpl(void)
-{
-
-}
-
-_QrCodeGeneratorImpl::~_QrCodeGeneratorImpl(void)
-{
-
-}
-
-bool
-_QrCodeGeneratorImpl::Encode(const char* message, QrCodeMode mode, QrCodeErrorCorrectionLevel error_level, bool compatibility)
-{
- sari2::QRCodeMode sariMode(sari2::QR_MODE_UTF8);
- sari2::QRCodeErrorCorrectionLevel errorLevel(sari2::QR_ECL_Q);
-
- switch(mode)
- {
- case Tizen::Uix::Vision::QR_CODE_MODE_ALPHANUMERIC:
- sariMode = sari2::QR_MODE_ALPHANUMERIC; break;
- case Tizen::Uix::Vision::QR_CODE_MODE_BYTE:
- sariMode = sari2::QR_MODE_BYTE; break;
- case Tizen::Uix::Vision::QR_CODE_MODE_UTF8:
- sariMode = sari2::QR_MODE_UTF8; break;
- default:
- break;
- }
-
- switch(error_level)
- {
- case Tizen::Uix::Vision::QR_CODE_ERROR_CORRECTION_LEVEL_H:
- errorLevel= sari2::QR_ECL_H; break;
- case Tizen::Uix::Vision::QR_CODE_ERROR_CORRECTION_LEVEL_L:
- errorLevel = sari2::QR_ECL_L; break;
- case Tizen::Uix::Vision::QR_CODE_ERROR_CORRECTION_LEVEL_M:
- errorLevel = sari2::QR_ECL_M; break;
- case Tizen::Uix::Vision::QR_CODE_ERROR_CORRECTION_LEVEL_Q:
- errorLevel = sari2::QR_ECL_Q; break;
- default:
- break;
- }
- return __qrCodeGenerator.encode(message, sariMode, errorLevel, compatibility);
-}
-
-bool
-_QrCodeGeneratorImpl::GetSize(int& width, int& height)
-{
- return __qrCodeGenerator.getSize((unsigned int&)width, (unsigned int&)height);
-}
-
-bool
-_QrCodeGeneratorImpl::SaveToFile(const Tizen::Base::String& imagepath, Tizen::Media::ImageFormat imageFormat, int& width, int& height)
-{
- if(!GetSize(width, height))
- {
- SetLastResult(E_INVALID_ARG);
- return false;
- }
-
- unsigned char* grayBuffer = new unsigned char[(width * height * 3) >> 1];
- if(!SaveToBuffer(grayBuffer))
- {
- SetLastResult(E_OPERATION_FAILED); //No proper error returned from SaveToBuffer() Api.
- return false;
- }
-
- memset(grayBuffer + width * height, 128, (width * height) >> 1);
- Tizen::Media::ImageBuffer imBuf;
- result r = imBuf.Construct(width, height, Tizen::Media::MEDIA_PIXEL_FORMAT_YUV420P, grayBuffer, (width * height * 3) >> 1);
- delete[] grayBuffer;
- if(IsFailed(r))
- {
- SetLastResult(r);
- return false;
- }
-
- r = imBuf.EncodeToFile(imagepath, imageFormat, true);
- if(IsFailed(r))
- {
- SetLastResult(r);
- return false;
- }
-
- return true;
-}
-
-bool
-_QrCodeGeneratorImpl::SaveToBuffer(unsigned char* image)
-{
- return __qrCodeGenerator.saveToBuffer(image);
-}
-
-_QrCodeGeneratorImpl*
-_QrCodeGeneratorImpl::GetInstance(QrCodeGenerator* pQrGenerator)
-{
- return pQrGenerator->__pQrCodeGeneratorImpl;
-}
-
-const _QrCodeGeneratorImpl*
-_QrCodeGeneratorImpl::GetInstance(const QrCodeGenerator* pQrGenerator)
-{
- return pQrGenerator->__pQrCodeGeneratorImpl;
-}
-
-} } } //Tizen::Uix::Vision
+++ /dev/null
-//
-// Open Service Platform
-// Copyright (c) 2013 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Apache License, Version 2.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-
-
-/**
- * @file FUixVision_QrCodeGeneratorImpl.h
- * @brief This is the header file for the %Tizen::Uix::_QrCodeGeneratorImpl class.
- */
-
-#ifndef _FUIX_VISION_INTERNAL_QR_CODE_GENERATOR_IMPL_H_
-#define _FUIX_VISION_INTERNAL_QR_CODE_GENERATOR_IMPL_H_
-
-#include <FUixVisionQrCodeGenerator.h>
-#include "QRCodeGenerator.h"
-#include <cstring>
-
-
-namespace Tizen { namespace Uix { namespace Vision
-{
-class _QrCodeGeneratorImpl
-{
-public:
- _QrCodeGeneratorImpl(void);
- ~_QrCodeGeneratorImpl(void);
-
- bool Encode(const char* message, QrCodeMode mode, QrCodeErrorCorrectionLevel error_level, bool compatibility = true);
- bool GetSize(int& width, int& height);
- bool SaveToFile(const Tizen::Base::String& imagepath, Tizen::Media::ImageFormat, int& width, int& height);
- bool SaveToBuffer(unsigned char* image);
-
-public:
- static _QrCodeGeneratorImpl* GetInstance(QrCodeGenerator* pQrGenerator);
- static const _QrCodeGeneratorImpl* GetInstance(const QrCodeGenerator* pQrGenerator);
-
-private:
- _QrCodeGeneratorImpl(const _QrCodeGeneratorImpl&); ///< Forbides copy constructor.
- _QrCodeGeneratorImpl& operator=(const _QrCodeGeneratorImpl&); ///< Forbides assignment operator.
- sari2::QRCodeGenerator __qrCodeGenerator;
-
-};
-
-} } } //Tizen::Uix::Vision
-
-#endif //_FUIX_VISION_INTERNAL_QR_CODE_GENERATOR_IMPL_H_
+++ /dev/null
-//
-// Open Service Platform
-// Copyright (c) 2013 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Apache License, Version 2.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-
-#include "FUixVision_QrCodeObjectImpl.h"
-
-namespace Tizen { namespace Uix { namespace Vision
-{
-
-_QrCodeObjectImpl::_QrCodeObjectImpl(void)
- : __qrCodeObject()
- , __pRectangleList(null)
- , __Matrix(null)
-{
- __pRectangleList = new Tizen::Base::Collection::ArrayListT<Tizen::Graphics::FloatPoint>();
- __Matrix = new Tizen::Graphics::FloatMatrix4();
-
-}
-
-_QrCodeObjectImpl::~_QrCodeObjectImpl(void)
-{
- delete __pRectangleList;
- delete __Matrix;
-}
-
-int
-_QrCodeObjectImpl::GetId(void) const
-{
- return __qrCodeObject.id();
-}
-
-unsigned char
-_QrCodeObjectImpl::GetVersion(void) const
-{
- return __qrCodeObject.version();
-}
-
-Tizen::Uix::Vision::QrCodeErrorCorrectionLevel
-_QrCodeObjectImpl::GetErrorCorrectionLevel(void)
-{
- switch(__qrCodeObject.errorCorrectionLevel())
- {
- case sari2::QR_ECL_L:
- __qrCodeErrorCorrectionLevel = Tizen::Uix::Vision::QR_CODE_ERROR_CORRECTION_LEVEL_L;
- break;
- case sari2::QR_ECL_M:
- __qrCodeErrorCorrectionLevel = Tizen::Uix::Vision::QR_CODE_ERROR_CORRECTION_LEVEL_M;
- break;
- case sari2::QR_ECL_Q:
- __qrCodeErrorCorrectionLevel = Tizen::Uix::Vision::QR_CODE_ERROR_CORRECTION_LEVEL_Q;
- break;
- case sari2::QR_ECL_H:
- __qrCodeErrorCorrectionLevel = Tizen::Uix::Vision::QR_CODE_ERROR_CORRECTION_LEVEL_H;
- break;
- }
-
- return __qrCodeErrorCorrectionLevel;
-}
-
-Tizen::Base::String
-_QrCodeObjectImpl::GetText(void) const
-{
- return Tizen::Base::String(__qrCodeObject.text());
-}
-
-const Tizen::Graphics::FloatMatrix4*
-_QrCodeObjectImpl::GetTransformMatrix(void) const
-{
- float* dst = (float*)__Matrix->matrix;
- const float* src = __qrCodeObject.transform();
- memcpy(dst, src, 16*sizeof(float));
- return __Matrix;
-}
-
-const Tizen::Base::Collection::ArrayListT<Tizen::Graphics::FloatPoint>*
-_QrCodeObjectImpl::GetRectangle(void) const
-{
- __pRectangleList->RemoveAll();
- static float coordinates[8] = {0.f};
- __qrCodeObject.rectangle(coordinates);
-
- for (int i = 0; i < 4; ++i)
- {
- __pRectangleList->Add(Tizen::Graphics::FloatPoint(coordinates[2 * i], coordinates[(2 * i) + 1]));
- }
-
- return __pRectangleList;
-
-}
-
-void
-_QrCodeObjectImpl::SetSariPointer(const sari2::QRCodeRecognitionInfo& sari)
-{
- __qrCodeObject = sari;
-}
-
-_QrCodeObjectImpl*
-_QrCodeObjectImpl::GetInstance(QrCodeObject* pQrObject)
-{
- return pQrObject->__pQrCodeObjectImpl;
-}
-
-const _QrCodeObjectImpl*
-_QrCodeObjectImpl::GetInstance(const QrCodeObject* pQrObject)
-{
- return pQrObject->__pQrCodeObjectImpl;
-}
-
-void
-_QrCodeObjectImpl::ReleaseQrCodeObject(QrCodeObject* pQrCodeObject)
-{
- delete pQrCodeObject;
-}
-
-void
-_QrCodeObjectImpl::ReleaseQrCodeObjectArray(QrCodeObject* pQrCodeObject)
-{
- delete[] pQrCodeObject;
-}
-
-Tizen::Uix::Vision::QrCodeObject*
-_QrCodeObjectImpl::CreateQRCodeObjectStorageN(const unsigned int size)
-{
- Tizen::Uix::Vision::QrCodeObject* objectStorage = new Tizen::Uix::Vision::QrCodeObject[size];
- return objectStorage;
-}
-
-Tizen::Uix::Vision::QrCodeObject*
-_QrCodeObjectImpl::CreateQRCodeObjectN()
-{
- Tizen::Uix::Vision::QrCodeObject* object = new Tizen::Uix::Vision::QrCodeObject;
- return object;
-}
-
-} } } //Tizen::Uix::Vision
+++ /dev/null
-//
-// Open Service Platform
-// Copyright (c) 2013 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Apache License, Version 2.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-
-
-/**
- * @file FUixVision_QrCodeObjectImpl.h
- * @brief This is the header file for the %Tizen::Uix::Vision::_QrCodeObjectImpl class.
- */
-
-#ifndef _FUIX_VISION_INTERNAL_QR_CODE_RECOGNITION_INFO_IMPL_H_
-#define _FUIX_VISION_INTERNAL_QR_CODE_RECOGNITION_INFO_IMPL_H_
-
-#include <FUixVisionQrCodeObject.h>
-#include <FBase.h>
-#include <FGraphics.h>
-#include "QRCodeRecognitionInfo.h"
-
-namespace Tizen { namespace Uix { namespace Vision
-{
-
-class _QrCodeObjectImpl
-{
-public:
- _QrCodeObjectImpl(void);
- ~_QrCodeObjectImpl(void);
-
-
- int GetId(void) const;
- unsigned char GetVersion(void) const;
- Tizen::Uix::Vision::QrCodeErrorCorrectionLevel GetErrorCorrectionLevel(void);
- Tizen::Base::String GetText(void) const;
- const Tizen::Graphics::FloatMatrix4* GetTransformMatrix(void) const;
- const Tizen::Base::Collection::ArrayListT<Tizen::Graphics::FloatPoint>* GetRectangle(void) const;
- void SetSariPointer(const sari2::QRCodeRecognitionInfo& sari);
-
-public:
- static Tizen::Uix::Vision::QrCodeObject* CreateQRCodeObjectStorageN(const unsigned int size);
- static Tizen::Uix::Vision::QrCodeObject* CreateQRCodeObjectN();
- static void ReleaseQrCodeObject(QrCodeObject* pQrCodeObject);
- static void ReleaseQrCodeObjectArray(QrCodeObject* pQrCodeObject);
- static _QrCodeObjectImpl* GetInstance(QrCodeObject* pQrObject);
- static const _QrCodeObjectImpl* GetInstance(const QrCodeObject* pQrObject);
-
-private:
-
- Tizen::Uix::Vision::QrCodeErrorCorrectionLevel __qrCodeErrorCorrectionLevel;
- sari2::QRCodeRecognitionInfo __qrCodeObject;
- Tizen::Base::Collection::ArrayListT<Tizen::Graphics::FloatPoint>* __pRectangleList;
- Tizen::Graphics::FloatMatrix4* __Matrix;
-
-};
-
-} } } //Tizen::Uix::Vision
-
-#endif //_FUIX_VISION_INTERNAL_QR_CODE_OBJECT_IMPL_H_
+++ /dev/null
-//
-// Open Service Platform
-// Copyright (c) 2013 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Apache License, Version 2.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-
-#include "FUixVision_QrCodeRecognizerImpl.h"
-#include "FUixVision_QrCodeObjectImpl.h"
-
-namespace Tizen { namespace Uix { namespace Vision
-{
-
-_QrCodeRecognizerImpl::_QrCodeRecognizerImpl(void)
- : __objectStorage(0)
-{
- __objectStorage = _QrCodeObjectImpl::CreateQRCodeObjectStorageN(MAX_TRACKABLE_OBJECTS);
-}
-
-_QrCodeRecognizerImpl::~_QrCodeRecognizerImpl(void)
-{
- _QrCodeObjectImpl::ReleaseQrCodeObjectArray(__objectStorage);
-}
-
-bool
-_QrCodeRecognizerImpl::SetFrameSize(int width, int height)
-{
- __width = width;
- __height = height;
- return __qrCodeRecognizer.setFrameSize(width, height);
-}
-
-bool
-_QrCodeRecognizerImpl::ProcessFrame(const unsigned char* raw)
-{
- return __qrCodeRecognizer.processFrame(raw);
-}
-
-bool
-_QrCodeRecognizerImpl::GetROI(int* roi)
-{
-
- static float array[4] = {0.};
- result r = __qrCodeRecognizer.getROI(array) ? E_SUCCESS : E_FAILURE;
-
- if (E_SUCCESS == r)
- {
- roi[0] = ((1. + array[0]) / 2.) * __width;
- roi[1] = ((1. + array[1]) / 2.) * __height;
- roi[2] = ((1. + array[2]) / 2.) * __width;
- roi[3] = ((1. + array[3]) / 2.) * __height;
- }
-
- return E_SUCCESS == r;
-}
-
-void
-_QrCodeRecognizerImpl::SetSceneTransform(const float* left, const float* right)
-{
- __qrCodeRecognizer.setSceneTransform(left, right);
-}
-
-void
-_QrCodeRecognizerImpl::FillObjectStorage(void)
-{
- __objectStorageSize = 0;
- for (const sari2::QRCodeRecognitionInfo *o = __qrCodeRecognizer.objectsBegin(), *e = __qrCodeRecognizer.objectsEnd(); o != e; ++o)
- {
- Tizen::Uix::Vision::QrCodeObject& to = __objectStorage[__objectStorageSize++];
- _QrCodeObjectImpl::GetInstance(&to)->SetSariPointer(*o);
- }
-}
-
-const
-QrCodeObject* _QrCodeRecognizerImpl::QRCodeObjectsBegin(void)
-{
- return __objectStorage;
-}
-
-const
-QrCodeObject* _QrCodeRecognizerImpl::QRCodeObjectsEnd(void)
-{
- return __objectStorage + __objectStorageSize;
-}
-
-int _QrCodeRecognizerImpl::GetRecognizedObjectsCount(void)
-{
- return __objectStorageSize;
-}
-
-const QrCodeObject*
-_QrCodeRecognizerImpl::GetQrCodeObject(int index)
-{
- ClearLastResult();
- if (index < __objectStorageSize)
- {
- return &__objectStorage[index];
- }
- else
- {
- SetLastResult(E_INVALID_ARG);
- return null;
- }
-}
-
-_QrCodeRecognizerImpl* _QrCodeRecognizerImpl::GetInstance(QrCodeRecognizer* pQrRecognizer)
-{
- return pQrRecognizer->__pQrCodeRecognizerImpl;
-}
-
-const _QrCodeRecognizerImpl* _QrCodeRecognizerImpl::GetInstance(const QrCodeRecognizer* pQrRecognizer)
-{
- return pQrRecognizer->__pQrCodeRecognizerImpl;
-}
-
-bool
-_QrCodeRecognizerImpl::Init(void)
-{
- return __qrCodeRecognizer.init();
-}
-
-bool
-_QrCodeRecognizerImpl::Destroy(void)
-{
- return __qrCodeRecognizer.destroy();
-}
-
-} } } //Tizen::Uix::Vision
+++ /dev/null
-//
-// Open Service Platform
-// Copyright (c) 2013 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Apache License, Version 2.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-
-/**
- * @file FUixVision_QrCodeRecognizerImpl.h
- * @brief This is the header file for the %Tizen::Uix::Vision::_QrCodeRecognizerImpl class.
- */
-
-#ifndef _FUIX_VISION_INTERNAL_QR_CODE_RECOGNIZER_IMPL_H_
-#define _FUIX_VISION_INTERNAL_QR_CODE_RECOGNIZER_IMPL_H_
-
-#include <FUixVisionQrCodeRecognizer.h>
-#include "QRCodeRecognizer.h"
-
-namespace Tizen { namespace Uix { namespace Vision
-{
-
-static const int MAX_TRACKABLE_OBJECTS = 10;
-
-class _QrCodeRecognizerImpl
-{
-public:
- _QrCodeRecognizerImpl(void);
- ~_QrCodeRecognizerImpl(void);
-
- bool SetFrameSize(int width, int height);
- bool ProcessFrame(const unsigned char* raw);
- bool GetROI(int* roi);
- void SetSceneTransform(const float* left, const float* right);
- void FillObjectStorage(void);
-
- const QrCodeObject* QRCodeObjectsBegin(void);
- const QrCodeObject* QRCodeObjectsEnd(void);
-
- int GetRecognizedObjectsCount(void);
- const QrCodeObject* GetQrCodeObject(int index);
-
- bool Init(void);
- bool Destroy(void);
-
-public:
- static _QrCodeRecognizerImpl* GetInstance(QrCodeRecognizer* pQrRecognizer);
- static const _QrCodeRecognizerImpl* GetInstance(const QrCodeRecognizer* pQrRecognizer);
-
-private:
- _QrCodeRecognizerImpl(const _QrCodeRecognizerImpl&); ///< Forbides copy constructor.
- _QrCodeRecognizerImpl& operator=(const _QrCodeRecognizerImpl&); ///< Forbides assignment operator.
- QrCodeObject* __objectStorage;
- int __objectStorageSize;
- int __width;
- int __height;
- sari2::QRCodeRecognizer __qrCodeRecognizer;
-};
-
-} } } //Tizen::Uix::Vision
-
-#endif //_FUIX_VISION_INTERNAL_QR_CODE_RECOGNIZER_IMPL_H_
+++ /dev/null
-//
-// Open Service Platform
-// Copyright (c) 2012-2013 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.1 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-
-#ifndef IMAGEFEATUREINFO_H_
-#define IMAGEFEATUREINFO_H_
-
-namespace sari2
-{
-
-class ImageFeatureManager;
-
-/// Holds all required information about one object on scene.
-class ImageFeatureInfo
-{
- friend class ImageRecognizer;
-
-public:
- /// \brief Default constructor.
- ImageFeatureInfo(void);
-
- /// \brief Constructor.
- ///
- /// Gives information about image of specified object from database,
- /// without providing tracking information.
- /// \param[in] ifm ImageFeatureManager instance (holds image database).
- /// \param[in] index ID of object in database.
- ImageFeatureInfo(const ImageFeatureManager* ifm, int index);
-
- ImageFeatureInfo(const ImageFeatureInfo&);
- ~ImageFeatureInfo(void) {}
- ImageFeatureInfo& operator=(const ImageFeatureInfo&);
-
- /// \brief Outputs file path to image of corresponding object from the
- /// database.
- /// \param[out] path Buffer to write image path into. Must be allocated
- /// outside with specified size.
- /// \param[in] length Allocated buffer size.
- /// \return Path size.
- unsigned int imagePath(char* path, unsigned int length) const;
-
- /// \brief valuate if the object is available for query.
- /// \return true if object is available
- bool isActive(void) const;
-
- /// \brief Width of image of corresponding object from the database.
- /// \return Image width.
- int imageWidth(void) const;
-
- /// \brief Height of image of corresponding object from the database.
- /// \return Image height.
- int imageHeight(void) const;
-
- /// \breif Outputs thumbnail of image of corresponding object from the
- /// database.
- /// \param[out] outBuffer Buffer to store corresponding image thumbnail.
- /// Must be allocated outside and have size 'bufWidth*bufHeight'.
- /// \param[in] bufWidth Width of thumbnail image.
- /// \param[in] bufHeight Height of thumbnail image.
- /// \param[in] fit Specifies if fitting image is requires. If 'false', then
- /// thumbnail image will be cropped.
- /// \return 'true' on success.
- bool getThumbnailImage(char* outBuffer, int bufWidth, int bufHeight, bool fit = true) const;
-
- /// \return Object's rectangle aspect ratio.
- inline float aspect(void) const { int w = imageWidth(); return w > 0 ? imageHeight() / (float) w : 0.f; }
-
-
-private:
- int mTypeId; ///< ID of object type.
- const void* mDatabase; ///< Objects database.
-
-};
-
-}
-
-#endif // IMAGEFEATUREINFO_H_
+++ /dev/null
-//
-// Open Service Platform
-// Copyright (c) 2012-2013 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.1 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-
-#ifndef IMAGEFEATUREMANAGER_H_
-#define IMAGEFEATUREMANAGER_H_
-
-namespace sari2
-{
-
-class ImageFeatureManager
-{
- friend class ImageRecognizer;
- friend class ImageFeatureInfo;
-
-public:
- ImageFeatureManager(void);
- ~ImageFeatureManager(void);
-
-public:
- /// \breif Creates object database.
- ///
- /// Releases previously created DB if there is any.
- void initDB(void);
-
- /// Adds an object to referencing database.
- /// \param[in] filepath Path to image on the disk.
- /// \return index of newly created object on success, otherwise -1.
- int addImageToDB(const char* filepath);
-
- /// Adds an object to referencing database.
- /// \param[in] data Buffer of grayscale 8 bit image data of specified width
- /// and height.
- /// \param[in] width Width of input image.
- /// \param[in] height Height of input image.
- /// \return index of newly created object on success, otherwise -1.
- int addImageToDB(const unsigned char* data, int width, int height, const char* imageinfo);
-
- /// \brief Removed object from referencing database.
- /// \param[in] index Index of object saved in database.
- /// \return 'true' on success.
- bool deleteImageFromDB(int index);
-
- /// \brief Undelete object in referencing database.
- /// \param[in] index Index of object saved in database.
- /// \return 'true' on success.
- bool undeleteImageFromDB(int index);
-
- /// \return Total number of images in database.
- unsigned int totalNumberOfImages(void);
-
- /// \brief Serializes database to output file.
- /// \param[in] optimizeDatabase Specifies if database optimization is
- /// required. Optimized database performs better, but optimization process
- /// takes some time.
- /// \param[in] dbpath Database file path. If equal to '0' and database was
- /// loaded from file with 'openDB()' call, saves database to that file.
- /// \return 'true' on success.
- bool saveDB(bool optimizeDatabase, const char* dbPath = 0);
-
- /// \brief Updates opened database.
- /// \return 'true' on success.
- bool updateDB(void);
-
- /// \brief Loads database from input file.
- /// \param[in] dbPath Database file path.
- /// \return 0 on success.
- /// \return -1 on failure.
- /// \return -2 on readonly file.
- int openDB(const char* dbPath);
-
- /// \brief Delete all objects from the database.
- void releaseDB(void);
-
-private:
- void* databasePtr(void) const;
- ImageFeatureManager(const ImageFeatureManager&);
- ImageFeatureManager& operator=(const ImageFeatureManager&);
-
-private:
- class ImageFeatureManagerImpl;
- ImageFeatureManagerImpl* d; ///< implementation
-};
-
-}
-#endif // IMAGEFEATUREMANAGER_H_
+++ /dev/null
-//
-// Open Service Platform
-// Copyright (c) 2012-2013 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.1 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-
-#ifndef IMAGERECOGNITIONINFO_H_
-#define IMAGERECOGNITIONINFO_H_
-
-namespace sari2
-{
-class ImageFeatureManager;
-class Database;
-
-/// Holds all required information about one object on scene.
-class ImageRecognitionInfo
-{
- friend class ImageRecognizer;
-
-public:
- /// \brief Default constructor.
- ImageRecognitionInfo(void);
-
- /// \brief Constructor.
- ///
- /// Gives information about image of specified object from database,
- /// without providing tracking information.
- /// \param[in] ifm ImageFeatureManager instance (holds image database).
- /// \param[in] index ID of object in database.
- ImageRecognitionInfo(const ImageFeatureManager* ifm, int index);
-
- ImageRecognitionInfo(const ImageRecognitionInfo&);
- ~ImageRecognitionInfo(void) {}
- ImageRecognitionInfo& operator=(const ImageRecognitionInfo&);
-
- /// \return Unique ID of object on scene.
- inline int index(void) const { return mIndex; }
- /// \return ID of object type.
- inline int typeId(void) const { return mTypeId; }
- /// \return OpenGL transformation matrix for object position.
- inline const float* transform(void) const { return mTransform; }
-
- inline const float aspect(void) const { int w = imageWidth(); return w > 0 ? imageHeight() / (float) w : 0.f; }
-
- /// \brief Width of image of corresponding object from the database.
- /// \return Image width.
- int imageWidth(void) const;
-
- /// \brief Height of image of corresponding object from the database.
- /// \return Image height.
- int imageHeight(void) const;
-
- /// \brief Calculates homogeneous coordinates of reference image rectangle
- /// verteces projections on current view.
- /// \param[out] coordinates Buffer of size 8 to store calculation result as
- /// follows: {x1, y1, x2, y2, x3, y3, x4, y4}.
- /// \return 'true' on success.
- bool rectangle(float *coordinates) const;
-
-private:
- int mIndex; ///< Unique ID of object on scene.
- int mTypeId; ///< ID of object type.
- float mTransform[16]; ///< OpenGL transformation matrix for object position.
- const Database* mDatabase;
-};
-
-}
-
-#endif // IMAGERECOGNITIONINFO_H_
+++ /dev/null
-//
-// Open Service Platform
-// Copyright (c) 2012-2013 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.1 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-
-#ifndef IMAGERECOGNIZER_H_
-#define IMAGERECOGNIZER_H_
-
-#include "ImageRecognitionInfo.h"
-
-namespace sari2
-{
- class ImageFeatureManager;
-}
-
-
-namespace sari2
-{
-
-class ImageRecognizer
-{
-public:
- ImageRecognizer(void);
- ~ImageRecognizer(void);
-
-public:
- /// \brief Enables single or multi tracking mode.
- /// \param[in] useMultiTracking Specifies if multiple objects tracking must
- /// be enabled. If 'false', enables single object tracking.
- void setMultiTracking(bool useMultiTracking);
-
- /// \brief Setup input video-frame width and height.
- ///
- /// Must be called once before calling processFrame.
- /// \param[in] width Frame width in pixels that is reported by
- /// video-capture device.
- /// \param[in] height Frame height in pixels that is reported by
- /// video-capture device.
- /// \return 'true' on success.
- bool setImageSize(unsigned int width, unsigned int height);
-
- /// \brief Setting scene transformation.
- ///
- /// Default matrix is identity.
- /// \param[in] left Left transformation matrix 4x4.
- /// \param[in] right Right transformation matrix 4x4.
- void setSceneTransform(const float* left, const float* right);
-
- /// \brief Sets object database for tracking.
- /// \param[in] imgFMan Pointer on DB manager.
- /// \return 'true' on success.
- bool setImageDatabase(const ImageFeatureManager* imgFMan);
-
- /// \brief Process external buffer with captured frame image.
- /// \param[in] frame Pointer to buffer with intensity (grayscale8) data.
- /// Buffer size must not be less than it set with setFrameSize
- /// \pre setFrameSize
- /// \return -1 on any error and processing time in ms on success.
- int processImage(const unsigned char* frame);
-
- /// Updates information about objects on scene.
- /// \return Pointer on first element of the array of structures that holds
- /// information about scene objects.
- const ImageRecognitionInfo* objectsBegin(void) const;
-
- /// \return Pointer on the end of the array of structures that holds
- /// information about scene objects.
- const ImageRecognitionInfo* objectsEnd(void) const;
-
- /// \return Total number of images in database.
- unsigned int databaseSize(void) const;
-
-private:
- ImageRecognizer(const ImageRecognizer&);
- ImageRecognizer& operator=(const ImageRecognizer&);
-
-private:
- class ImageRecognizerImpl;
- ImageRecognizerImpl* d; ///< implementation bridge
-};
-
-}
-#endif // IMAGERECOGNIZER_H_
+++ /dev/null
-//
-// Open Service Platform
-// Copyright (c) 2012-2013 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.1 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-
-#ifndef QRCODEGENERATOR_H
-#define QRCODEGENERATOR_H
-
-#include "QRCodeTypes.h"
-namespace sari2
-{
-
-enum QRCodeSaveFormats
-{
- QR_SAVE_FORMAT_BMP = 1,
- QR_SAVE_FORMAT_PNG = 2,
- QR_SAVE_FORMAT_JPG = 3,
-};
-
-/// \brief Class that provides utilities for QR codes generation
-class QRCodeGenerator
-{
-public:
- QRCodeGenerator();
- ~QRCodeGenerator();
-
- /// \brief Generates QR code
- /// \param[in] message - text to be encoded
- /// \param[in] mode - QR code mode
- /// \param[in] error_level - error correction level
- /// \param[in] compatibility - compatibility mode with zxing library for UTF codes
- /// \returns OK on success
- bool encode(const char* message, QRCodeMode mode, QRCodeErrorCorrectionLevel error_level, bool compatibility = true);
- /// \brief Determines the generated QR code image size
- /// \param[out] width - image width
- /// \param[out] height - image height
- /// \returns OK on success
- bool getSize(unsigned int& width, unsigned int& height);
- /// \brief Writes generated QR code to file
- /// \param[in] imagepath - path to file to be used
- /// \returns OK on success
- bool saveToFile(const char* imagepath, QRCodeSaveFormats imageFormat);
- /// \brief Copies generated QR code image into given buffer. Buffer size should be no less than returned by size() method
- /// \pre size
- /// \returns OK on success
- bool saveToBuffer(unsigned char* image);
-private:
- QRCodeGenerator(const QRCodeGenerator& in);
- QRCodeGenerator& operator=(const QRCodeGenerator& in);
- class QRCodeGeneratorImpl;
- QRCodeGeneratorImpl* mImpl;
-};
-
-}///SARI2
-
-#endif // QRCODEGENERATOR_H
+++ /dev/null
-//
-// Open Service Platform
-// Copyright (c) 2012-2013 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.1 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-
-#ifndef QRCODERECOGNITIONINFO_H
-#define QRCODERECOGNITIONINFO_H
-
-#include "QRCodeTypes.h"
-
-namespace sari2
-{
-
-class QRCodeRecognitionInfo
-{
-
-friend class QRCodeRecognizer;
-
-public:
- QRCodeRecognitionInfo();
- ~QRCodeRecognitionInfo();
- QRCodeRecognitionInfo(const QRCodeRecognitionInfo&);
- QRCodeRecognitionInfo& operator=(const QRCodeRecognitionInfo&);
-
- inline unsigned char id() const { return mId; }
-
- inline unsigned char version() const { return mVersion; }
-
- inline QRCodeErrorCorrectionLevel errorCorrectionLevel() const { return mErrorCorrectionLevel; }
-
- inline const char* text() const { return mText; }
-
- inline const float* transform() const { return mTransform; }
-
- void rectangle(float *coordinates) const;
-
-private:
-
- unsigned char mId;
- unsigned char mVersion;
- QRCodeErrorCorrectionLevel mErrorCorrectionLevel;
- char* mText;
- float mTransform[16];
- const float *mLeft, *mRight;
-};
-
-}
-#endif // QRCODERECOGNITIONINFO_H
+++ /dev/null
-//
-// Open Service Platform
-// Copyright (c) 2012-2013 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.1 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-
-#ifndef QRCODERECOGNIZER_H
-#define QRCODERECOGNIZER_H
-
-#include "QRCodeRecognitionInfo.h"
-
-namespace sari2
-{
-
-/// \brief Class that provides utilities for QR code localization and recognition
-class QRCodeRecognizer
-{
-
-public:
- /// \brief Setup input video-frame width and height
- ///
- /// Must be called once before calling processFrame.
- /// \param [in] width - frame width in pixels that is reported by video-capture device
- /// \param [in] height - frame height in pixels that is reported by video-capture device
- /// \return true on success, false on error
- bool setFrameSize(unsigned int width, unsigned int height);
-
- /// \brief Process external buffer with captured frame image
- /// \param [in] raw - pointer to buffer with intensity (grayscale8) data. Buffer size must not be less than it set with setFrameSize
- /// \pre setFrameSize
- /// \return true on success, false on error
- bool processFrame(const unsigned char* raw);
-
- /// \brief Returns focusing ROI
- /// \param[out] roi - float array for ROI in form {top_left_x, top_left_y, bottom_right_x, bottom_right_y}
- /// \return true on success, false on error
- bool getROI(float* roi);
-
- /// \brief Setting scene transformation
- /// \param [in] left transformation matrix 4x4
- /// \param [in] right transformation matrix 4x4
- /// Default matrix is identity
- void setSceneTransform(const float* left, const float* right);
-
- /// Updates information about objects on scene.
- /// \return Pointer on first element of the array of structures that holds
- /// information about qr code objects.
- const QRCodeRecognitionInfo* objectsBegin();
- /// \return Pointer on the end of the array of structures that holds
- /// information about qr code objects.
- const QRCodeRecognitionInfo* objectsEnd();
-
- /// \brief Initialize the reader
- /// \return true on success, false on error
- bool init(void);
- /// \brief Dispose of the reader
- /// \return true on success, false on error
- bool destroy(void);
-
- QRCodeRecognizer(void);
- ~QRCodeRecognizer(void);
-
-private:
- QRCodeRecognizer(const QRCodeRecognizer& in);
- QRCodeRecognizer& operator=(const QRCodeRecognizer& in);
- class QRCodeRecognizerImpl;
- /// \brief Implementation bridge
- QRCodeRecognizerImpl* mImpl;
-};
-
-}
-
-#endif // QRCODERECOGNIZER_H
+++ /dev/null
-//
-// Open Service Platform
-// Copyright (c) 2012-2013 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.1 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-
-#ifndef QRCODETYPES_H
-#define QRCODETYPES_H
-
-namespace sari2
-{
-
-/// \brief Enumeration that defines possible error correction levels for QR code
-enum QRCodeErrorCorrectionLevel
-{
- QR_ECL_L = 1,
- QR_ECL_M = 2,
- QR_ECL_Q = 3,
- QR_ECL_H = 4
-};
-
-/// \brief Enumeration that defines possible encoding modes for QR code
-enum QRCodeMode
-{
- QR_MODE_ALPHANUMERIC = 0,
- QR_MODE_BYTE = 1,
- QR_MODE_UTF8 = 2
-};
-
-enum QRCodeMessageType
-{
- QR_MESSAGE_NULL = -1,
- QR_MESSAGE_TEXT = 0,
- QR_MESSAGE_PHONE = 1,
- QR_MESSAGE_SMS = 2,
- QR_MESSAGE_EMAIL = 3,
- QR_MESSAGE_CONTACT = 4,
- QR_MESSAGE_URL = 5,
- QR_MESSAGE_EVENT = 6,
- QR_MESSAGE_LOCATION = 7,
- QR_MESSAGE_WIFI = 8
-};
-
-}
-
-#endif // QRCODETYPES_H