Go to the documentation of this file.
1 
10 #ifndef SC_BARCODE_SCANNER_SETTINGS_H_
11 #define SC_BARCODE_SCANNER_SETTINGS_H_
12 
13 #include <Scandit/ScConfig.h>
14 #include <Scandit/ScCommon.h>
15 #include <Scandit/ScBarcode.h>
19 
21 
31 typedef enum {
73 
78 
84 typedef enum {
105 
117 
126 typedef enum {
144 
261 typedef struct ScOpaqueBarcodeScannerSettings ScBarcodeScannerSettings;
264 
277 SC_EXPORT
279 
291 SC_EXPORT
294 
314 SC_EXPORT
316  ScError *error);
317 
326 SC_EXPORT
328 
339 SC_EXPORT
341 
354 SC_EXPORT
356 
372 SC_EXPORT
374  ScBarcodeScannerSettings const *settings);
375 
386 SC_EXPORT
388  ScBarcodeScannerSettings *settings);
389 
424 SC_EXPORT
426  ScSymbology symbology,
427  ScBool enabled);
442 SC_EXPORT
444  ScBarcodeScannerSettings *settings, ScSymbology symbology);
445 
463 SC_EXPORT
465  ScBarcodeScannerSettings const *settings);
466 
477 SC_EXPORT
479  ScBarcodeScannerSettings *settings, uint32_t max_codes);
480 
502 SC_EXPORT
504 
517 SC_EXPORT
519  ScRectangleF scan_area);
520 
538 SC_EXPORT
540  ScBarcodeScannerSettings const *settings);
541 
552 SC_EXPORT
554  ScRectangleF rect);
555 
565 SC_EXPORT
567  ScBarcodeScannerSettings const *settings);
568 
578 SC_EXPORT
580  ScBarcodeScannerSettings *settings, ScCodeLocationConstraint constraint);
581 
592 SC_EXPORT
594  ScBarcodeScannerSettings const *settings);
595 
606 SC_EXPORT
608  ScRectangleF rect);
609 
619 SC_EXPORT
621  ScBarcodeScannerSettings const *settings);
622 
632 SC_EXPORT
634  ScBarcodeScannerSettings *settings, ScCodeLocationConstraint constraint);
635 
644 #define SC_CIRCLE_RADIUS_INFINITE -1.0f
645 
656 SC_EXPORT
658  ScPointF *relative_center,
659  float *relative_radius);
660 
688 SC_EXPORT
690  ScPointF relative_center,
691  float relative_radius);
692 
709 SC_EXPORT
711  ScBarcodeScannerSettings const *settings);
712 
722 SC_EXPORT
724  ScCameraFocusMode focus_mode);
725 
743 SC_EXPORT
745  ScBarcodeScannerSettings const *settings);
746 
766 SC_EXPORT
768  ScCodeDirection direction);
769 
784 #define SC_DUPLICATE_FILTER_OFF (0)
785 
791 #define SC_DUPLICATE_FILTER_INFINITE (-1)
792 
807 SC_EXPORT
809  ScBarcodeScannerSettings const *settings);
810 
836 SC_EXPORT
838  int32_t filter);
839 
853 SC_EXPORT
855 
867 SC_EXPORT
869  ScArucoDictionary const *dictionary);
870 
871 #if ((SC_PLATFORM_IOS || SC_PLATFORM_VISIONOS) && defined(__OBJC__) && __OBJC__) || \
872  (defined(SC_GENERATE_DOCS) && SC_GENERATE_DOCS)
873 
874 # include <UIKit/UIKit.h>
889 SC_EXPORT
891  UIImage *image);
892 
893 #endif
894 
896 
897 #endif // SC_BARCODE_SCANNER_SETTINGS_H_
Definition: ScBarcodeScannerSettings.h:104
ScBarcodeScannerSettings * sc_barcode_scanner_settings_new_from_json(char const *json_data, ScError *error)
Create a new barcode scanner settings object from a json description.
ArUco Symbology Dictionary.
The area can be defined but will not be used by the barcode scanner.
Definition: ScBarcodeScannerSettings.h:142
Restrict decoding to the specified area.
Definition: ScBarcodeScannerSettings.h:132
ScCodeDirection sc_barcode_scanner_settings_get_code_direction_hint(ScBarcodeScannerSettings const *settings)
Get the code direction hint.
ScBarcodeScannerSettings * sc_barcode_scanner_settings_new_with_preset(ScBarcodeScannerSettingsPresetFlags preset)
Create a new barcode scanner settings object.
ScBarcodeScannerSettings * sc_barcode_scanner_settings_clone(ScBarcodeScannerSettings *settings)
Creates and returns a deep copy of the barcode scanner settings object.
ScCodeDirection
Enum for different code directions.
Definition: ScBarcodeScannerSettings.h:84
void sc_barcode_scanner_settings_set_code_direction_hint(ScBarcodeScannerSettings *settings, ScCodeDirection direction)
Set the code direction hint.
void sc_barcode_scanner_settings_set_code_duplicate_filter(ScBarcodeScannerSettings *settings, int32_t filter)
Specifies the duplicate filter to use for the session.
void sc_barcode_scanner_settings_set_code_location_constraint_2d(ScBarcodeScannerSettings *settings, ScCodeLocationConstraint constraint)
Set the 2d code location constraint.
Property collection manipulation.
char * sc_barcode_scanner_settings_as_json(ScBarcodeScannerSettings const *settings)
Returns the settings contained in the object as json.
int32_t sc_barcode_scanner_settings_get_code_duplicate_filter(ScBarcodeScannerSettings const *settings)
Get the code duplicate filter of the scan session.
Definition: ScBarcodeScannerSettings.h:88
Preset for hand held devices that need to scan one code at a time.
Definition: ScBarcodeScannerSettings.h:71
void sc_barcode_scanner_settings_set_focus_mode(ScBarcodeScannerSettings *settings, ScCameraFocusMode focus_mode)
Set the camera's focus type.
void sc_barcode_scanner_settings_set_code_location_area_1d(ScBarcodeScannerSettings *settings, ScRectangleF rect)
Set code location area for 1d codes.
void sc_barcode_scanner_settings_retain(ScBarcodeScannerSettings *settings)
Increase reference count of barcode scanner settings.
ScCodeLocationConstraint sc_barcode_scanner_settings_get_code_location_constraint_1d(ScBarcodeScannerSettings const *settings)
Get 1d code location constraint.
An opaque data structure holding configuration options for the barcode scanner.
Handle to a collection of properties.
void sc_barcode_scanner_settings_set_search_area(ScBarcodeScannerSettings *settings, ScRectangleF scan_area)
Set the area of the image in which barcodes are searched.
ScRectangleF sc_barcode_scanner_settings_get_code_location_area_2d(ScBarcodeScannerSettings const *settings)
Get 2d code location area.
Functions for retrieving barcode information.
ScBool sc_barcode_scanner_settings_set_aruco_dictionary(ScBarcodeScannerSettings *settings, ScArucoDictionary const *dictionary)
Replaces the ARUCO Dictionary in the scanner settings, or adds one if none is given in the settings...
ScPropertyCollection * sc_barcode_scanner_settings_get_properties(ScBarcodeScannerSettings *settings)
Retrieves the barcode scanner settings properties handle.
void sc_barcode_scanner_settings_get_circle_of_interest(ScBarcodeScannerSettings const *settings, ScPointF *relative_center, float *relative_radius)
Returns the circle of interest.
#define SC_EXTERN_C_BEGIN
Start of external C code.
Definition: ScConfig.h:19
ScBarcodeScannerSettingsPreset
List of barcode scanner settings presets.
Definition: ScBarcodeScannerSettings.h:31
void sc_barcode_scanner_settings_set_code_location_area_2d(ScBarcodeScannerSettings *settings, ScRectangleF rect)
Set code location area for 2d codes.
ScCameraFocusMode sc_barcode_scanner_settings_get_focus_mode(ScBarcodeScannerSettings const *settings)
Get the camera's focus type.
ScRectangleF sc_barcode_scanner_settings_get_code_location_area_1d(ScBarcodeScannerSettings const *settings)
Get 1d code location area.
void sc_barcode_scanner_settings_set_code_location_constraint_1d(ScBarcodeScannerSettings *settings, ScCodeLocationConstraint constraint)
Set the 1d code location constraint.
ScSymbology
Enumeration of all supported 1d and 2d barcode symbologies.
Definition: ScBarcode.h:27
Definition: ScBarcodeScannerSettings.h:110
Definition: ScBarcodeScannerSettings.h:100
Definition: ScBarcodeScannerSettings.h:92
#define SC_EXTERN_C_END
End of external C code.
Definition: ScConfig.h:28
High effort preset.
Definition: ScBarcodeScannerSettings.h:55
ScBarcodeScannerSettings * sc_barcode_scanner_settings_new(void)
Create a new barcode scanner settings object.
uint32_t sc_barcode_scanner_settings_get_max_number_of_codes_per_frame(ScBarcodeScannerSettings const *settings)
Get the maximum number of barcode to be decoded every frame.
void sc_barcode_scanner_settings_release(ScBarcodeScannerSettings *settings)
Decrease reference count of barcode scanner settings object by one.
ScPropertyCollection const * sc_barcode_scanner_settings_get_properties_const(ScBarcodeScannerSettings const *settings)
Retrieves the barcode scanner settings read-only properties handle.
Structure for holding error information.
Definition: ScCommon.h:264
ArUco symbology dictionary interface.
ScCodeLocationConstraint
Code location constraint.
Definition: ScBarcodeScannerSettings.h:126
int32_t ScBarcodeScannerSettingsPresetFlags
A bit-field of ScBarcodeScannerSettingsPreset.
Definition: ScBarcodeScannerSettings.h:77
Common definitions used throughout the ScanditSDK API.
ScSymbologySettings * sc_barcode_scanner_settings_get_symbology_settings(ScBarcodeScannerSettings *settings, ScSymbology symbology)
Retrieve symbology-specific settings.
Common functions and data structures.
ScCodeLocationConstraint sc_barcode_scanner_settings_get_code_location_constraint_2d(ScBarcodeScannerSettings const *settings)
Get 2d code location constraint.
Definition: ScBarcodeScannerSettings.h:115
ScRectangleF sc_barcode_scanner_settings_get_search_area(ScBarcodeScannerSettings const *settings)
Get the area of the image in which barcodes are searched.
A 2-dimensional rectangle with floating point precision.
Definition: ScCommon.h:158
The area indicates the most likely code position.
Definition: ScBarcodeScannerSettings.h:138
ScCameraFocusMode
Describes the focus mode of a camera.
Definition: ScCommon.h:242
Contains symbology-specific settings.
Barcode symbology configuration.
void sc_barcode_scanner_settings_set_symbology_enabled(ScBarcodeScannerSettings *settings, ScSymbology symbology, ScBool enabled)
Enable/disable decoding of a certain symbology.
void sc_barcode_scanner_settings_set_circle_of_interest(ScBarcodeScannerSettings *settings, ScPointF relative_center, float relative_radius)
Sets the circle of interest.
Definition: ScBarcodeScannerSettings.h:96
void sc_barcode_scanner_settings_set_max_number_of_codes_per_frame(ScBarcodeScannerSettings *settings, uint32_t max_codes)
Set the maximum number of barcode to be decoded every frame.
No (default) preset.
Definition: ScBarcodeScannerSettings.h:42
void sc_barcode_scanner_settings_setup_for_ui_image(ScBarcodeScannerSettings *settings, UIImage *image)
Configure barcode scanner settings for recognizing barcodes in the provided UIImage.
A 2-dimensional point with floating point precision.
Definition: ScCommon.h:99
int32_t ScBool
Boolean value, can be SC_TRUE or SC_FALSE.
Definition: ScConfig.h:158