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 
371 SC_EXPORT
373  ScBarcodeScannerSettings const *settings);
374 
384 SC_EXPORT
386  ScBarcodeScannerSettings *settings);
387 
422 SC_EXPORT
424  ScSymbology symbology,
425  ScBool enabled);
440 SC_EXPORT
442  ScBarcodeScannerSettings *settings, ScSymbology symbology);
443 
461 SC_EXPORT
463  ScBarcodeScannerSettings const *settings);
464 
475 SC_EXPORT
477  ScBarcodeScannerSettings *settings, uint32_t max_codes);
478 
500 SC_EXPORT
502 
515 SC_EXPORT
517  ScRectangleF scan_area);
518 
536 SC_EXPORT
538  ScBarcodeScannerSettings const *settings);
539 
550 SC_EXPORT
552  ScRectangleF rect);
553 
563 SC_EXPORT
565  ScBarcodeScannerSettings const *settings);
566 
576 SC_EXPORT
578  ScBarcodeScannerSettings *settings, ScCodeLocationConstraint constraint);
579 
590 SC_EXPORT
592  ScBarcodeScannerSettings const *settings);
593 
604 SC_EXPORT
606  ScRectangleF rect);
607 
617 SC_EXPORT
619  ScBarcodeScannerSettings const *settings);
620 
630 SC_EXPORT
632  ScBarcodeScannerSettings *settings, ScCodeLocationConstraint constraint);
633 
642 #define SC_CIRCLE_RADIUS_INFINITE -1.0f
643 
653 SC_EXPORT
655  ScPointF *relative_center,
656  float *relative_radius);
657 
684 SC_EXPORT
686  ScPointF relative_center,
687  float relative_radius);
688 
705 SC_EXPORT
707  ScBarcodeScannerSettings const *settings);
708 
718 SC_EXPORT
720  ScCameraFocusMode focus_mode);
721 
739 SC_EXPORT
741  ScBarcodeScannerSettings const *settings);
742 
762 SC_EXPORT
764  ScCodeDirection direction);
765 
775 #define SC_DUPLICATE_FILTER_OFF (0)
776 #define SC_DUPLICATE_FILTER_INFINITE (-1)
777 
792 SC_EXPORT
794  ScBarcodeScannerSettings const *settings);
795 
821 SC_EXPORT
823  int32_t filter);
824 
838 SC_EXPORT
840 
850 SC_EXPORT
852  ScArucoDictionary const *dictionary);
853 
854 #if ((SC_PLATFORM_IOS || SC_PLATFORM_VISIONOS) && defined(__OBJC__) && __OBJC__) || \
855  (defined(SC_GENERATE_DOCS) && SC_GENERATE_DOCS)
856 
857 # include <UIKit/UIKit.h>
872 SC_EXPORT
874  UIImage *image);
875 
876 #endif
877 
879 
880 #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.
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...
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.
void sc_barcode_scanner_settings_set_circle_of_interest(ScBarcodeScannerSettings *settings, ScPointF relative_center, float relative_radius)
Sets the circle of interest.
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.
ScPropertyCollection * sc_barcode_scanner_settings_get_properties(ScBarcodeScannerSettings *settings)
Retrieves the barcode scanner settings properties handle.
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.
#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.
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.
ScPropertyCollection const * sc_barcode_scanner_settings_get_properties_const(ScBarcodeScannerSettings const *settings)
Retrieves the barcode scanner settings read-only properties handle.
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_get_circle_of_interest(ScBarcodeScannerSettings const *settings, ScPointF *relative_center, float *relative_radius)
Returns 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