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 
27 typedef enum {
33 
38 
44 typedef enum {
65 
77 
86 typedef enum {
104 
221 typedef struct ScOpaqueBarcodeScannerSettings ScBarcodeScannerSettings;
224 
237 SC_EXPORT
239 
251 SC_EXPORT
254 
274 SC_EXPORT
276  ScError *error);
277 
286 SC_EXPORT
288 
299 SC_EXPORT
301 
314 SC_EXPORT
316 
331 SC_EXPORT
333  ScBarcodeScannerSettings const *settings);
334 
344 SC_EXPORT
346  ScBarcodeScannerSettings *settings);
347 
382 SC_EXPORT
384  ScSymbology symbology,
385  ScBool enabled);
400 SC_EXPORT
402  ScBarcodeScannerSettings *settings, ScSymbology symbology);
403 
421 SC_EXPORT
423  ScBarcodeScannerSettings const *settings);
424 
435 SC_EXPORT
437  ScBarcodeScannerSettings *settings, uint32_t max_codes);
438 
460 SC_EXPORT
462 
475 SC_EXPORT
477  ScRectangleF scan_area);
478 
496 SC_EXPORT
498  ScBarcodeScannerSettings const *settings);
499 
510 SC_EXPORT
512  ScRectangleF rect);
513 
523 SC_EXPORT
525  ScBarcodeScannerSettings const *settings);
526 
536 SC_EXPORT
538  ScBarcodeScannerSettings *settings, ScCodeLocationConstraint constraint);
539 
550 SC_EXPORT
552  ScBarcodeScannerSettings const *settings);
553 
564 SC_EXPORT
566  ScRectangleF rect);
567 
577 SC_EXPORT
579  ScBarcodeScannerSettings const *settings);
580 
590 SC_EXPORT
592  ScBarcodeScannerSettings *settings, ScCodeLocationConstraint constraint);
593 
602 #define SC_CIRCLE_RADIUS_INFINITE -1.0f
603 
613 SC_EXPORT
615  ScPointF *relative_center,
616  float *relative_radius);
617 
644 SC_EXPORT
646  ScPointF relative_center,
647  float relative_radius);
648 
665 SC_EXPORT
667  ScBarcodeScannerSettings const *settings);
668 
678 SC_EXPORT
680  ScCameraFocusMode focus_mode);
681 
699 SC_EXPORT
701  ScBarcodeScannerSettings const *settings);
702 
722 SC_EXPORT
724  ScCodeDirection direction);
725 
757 SC_EXPORT
759  ScBarcodeScannerSettings const *settings);
760 
775 SC_EXPORT
777  int32_t filter);
778 
792 SC_EXPORT
794 
804 SC_EXPORT
806  ScArucoDictionary const *dictionary);
807 
808 #if ((SC_PLATFORM_IOS || SC_PLATFORM_VISIONOS) && defined(__OBJC__) && __OBJC__) || \
809  (defined(SC_GENERATE_DOCS) && SC_GENERATE_DOCS)
810 
811 # include <UIKit/UIKit.h>
826 SC_EXPORT
828  UIImage *image);
829 
830 #endif
831 
833 
834 #endif // SC_BARCODE_SCANNER_SETTINGS_H_
Definition: ScBarcodeScannerSettings.h:64
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:102
Restrict decoding to the specified area.
Definition: ScBarcodeScannerSettings.h:92
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:44
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:48
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:27
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:70
Definition: ScBarcodeScannerSettings.h:60
Definition: ScBarcodeScannerSettings.h:52
#define SC_EXTERN_C_END
End of external C code.
Definition: ScConfig.h:28
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:86
int32_t ScBarcodeScannerSettingsPresetFlags
A bit-field of ScBarcodeScannerSettingsPreset.
Definition: ScBarcodeScannerSettings.h:37
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:75
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:98
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:56
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.
Preset with all symbologies disabled.
Definition: ScBarcodeScannerSettings.h:31
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