|
Novarum DX Ltd
|
Document ID: IFU005
|
1. Overview
This internal release introduced foundational camera improvements and new configuration options for customizing the preview display.
While the ultrawide camera support was primarily a backend enhancement, the addition of PreviewMode scaling represents a visible and developer-facing API extension.
2. New Features
2.1. PreviewMode Scaling
-
Description:
Added the ability to control how the camera preview is displayed — either Fit or Fill within the available view area. -
Behavior:
-
Fitscales the preview to ensure the full frame is visible (may letterbox on some aspect ratios). -
Fillscales to fill the entire view (may crop edges slightly).
-
-
Default:
Existing integrations that omit this parameter continue using the default scaling behavior (equivalent to.fill).
2.2. Ultrawide Camera Support
-
Description:
Internal enhancement to allow selection of ultrawide cameras when supported by the configuration. -
Developer Impact:
No public API changes required. This activates automatically if yourAnalyserConfigurationspecifies ultrawide use.
3. Breaking vs. Non-breaking Summary
|
Change Type |
Impact |
Platforms |
|---|---|---|
|
PreviewMode Scaling (Fit/Fill) |
Additive – default remains |
Android, iOS |
|
Ultrawide Camera Support |
Non-breaking; internal enhancement only |
Android, iOS |
|
API Parameter Additions |
Non-breaking; defaults maintain existing behavior |
Android, iOS |
4. When to Upgrade
Recommended For:
-
Applications that require control over camera preview scaling for consistent UI layouts.
-
Integrations targeting devices with ultrawide camera configurations where configuration files specify use of those sensors.
Not Required For:
-
Apps satisfied with the existing preview scaling and not impacted by field-of-view variations.
5. Compatibility Notes
-
PreviewMode defaults to
.fillif unspecified — existing code remains valid. -
Ultrawide support activates automatically when requested by the reader configuration.
-
No dependency, build, or configuration file changes are required for this version.
6. Platform-Specific Notes
See examples and API notes
Android - Migration Guide
New property added to NovarumAnalyzerPreview:
AndroidView(
factory = { ctx ->
val p = NovarumAnalyzerPreview(ctx)
p.analyzerConfig = analyserConfiguration
p.previewMode = PreviewMode.Fill // or PreviewMode.Fit
...
}
)
-
Default:
PreviewMode.Fill -
Developer Action:
SetpreviewModeexplicitly if your UI requires Fit scaling.
Existing code without this property continues to function with the same default behavior.
iOS - Migration Guide
New parameter added to ReaderViewWrapper initializer:
ReaderViewWrapper(
analyserConfiguration: analyserConfig,
previewMode: .fill, // or .fit
...
)
-
Default:
.fill -
Developer Action:
Update initializers if you wish to explicitly control scaling; no migration is required for existing integrations.