+
+java.lang.Object
+
+
+io.anyline.AnylineController
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+Constructors
+
+Constructor
+Description
+
+
+AnylineController (android.content.Context context,
+ AnylineListener anylineListener,
+ java.lang.String moduleIdentifier,
+ java.lang.String id)
+
+Create a new AnylineController instance.
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+All Methods Static Methods Instance Methods Concrete Methods
+
+Modifier and Type
+Method
+Description
+
+
+void
+cancel ()
+
+
+ Cancel the image processing.
+
+
+
+static java.lang.String
+getLicenseExpirationDate ()
+
+
+
+boolean
+isDebug ()
+
+
+
+boolean
+isRunning ()
+
+
+
+void
+removeArgumentExceptionListener ()
+
+
+
+void
+reportIncludeValues (java.lang.String jsonString)
+
+
+ Adds the information in the json-string to the reporting model.
+
+
+
+void
+reportTriggerScanningCanceled ()
+
+Notifies that the scanning process has been canceled from the user
+ This triggers a scanning-canceled-report
+
+
+
+void
+setArgumentExceptionListener (WorkerRunnableExceptionListener workerRunnableExceptionListener)
+
+
+
+void
+setAssetJsonPaths (java.lang.String... assetJsonPaths)
+
+
+ Set all the relevant json file names (relative path within the assets).
+
+
+
+void
+setCancelOnResult (boolean isCancelOnResult)
+
+Set this to false if the thread should continue after a result was found (which is the default behaviour)
+
+
+
+void
+setCmdFile (java.lang.String cmdFileName)
+
+
+ Load the script file with the given name.
+
+
+
+void
+setCmdFile (java.lang.String cmdFileName,
+ java.lang.String pathInAssets)
+
+
+ Load the script file with the given name from the given path within the assets.
+
+
+
+void
+setCropRect (android.graphics.RectF cutoutRect)
+
+
+
+void
+setDebug (boolean isDebug)
+
+Enable/Disables debug output.
+
+
+
+void
+setDelayScanTime (double delayScanTime,
+ double startTime)
+
+
+
+void
+setHeaderVariable (java.lang.String key,
+ java.lang.Object value)
+
+Set the start variable with the given identifier to the given value.
+
+
+
+void
+setId (java.lang.String id)
+
+
+
+void
+setImageProvider (ImageProvider imageProvider)
+
+Set the image provider.
+
+
+
+void
+setIsFullFrameScanning (boolean b)
+
+
+
+void
+setProductName (java.lang.String productName)
+
+
+
+void
+setScript (java.lang.String script)
+
+
+ Load the given script string (the actual script text, not the file name).
+
+
+
+void
+setScript (java.lang.String script,
+ java.lang.String bundlePath)
+
+
+ Load the given script string (the actual script text, not the file name).
+
+
+
+void
+setScript (java.lang.String scriptName,
+ java.lang.String script,
+ java.lang.String bundlePath)
+
+
+ Load the given script string (the actual script text, not the file name).
+
+
+
+void
+setStartVariable (java.lang.String key,
+ java.lang.Object value)
+
+Set the start variable with the given identifier to the given value.
+
+
+
+void
+setTrainerReportedValues (java.lang.String trainerReportedValues)
+
+
+
+void
+setWorkerThreadUncaughtExceptionHandler (java.lang.Thread.UncaughtExceptionHandler handler)
+
+Set a handler to catch exceptions from the background thread.
+
+
+
+void
+start ()
+
+Starts the worker thread.
+
+
+
+
+
+
+
+Methods inherited from class java.lang.Object
+equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+AnylineController
+public AnylineController(android.content.Context context,
+ AnylineListener anylineListener,
+ java.lang.String moduleIdentifier,
+ java.lang.String id)
+Create a new AnylineController instance.
+
+Parameters:
+context
- the context (usually the activity)
+moduleIdentifier
- the module identifier
+anylineListener
- your callback
+Throws:
+java.lang.IllegalArgumentException
- if key or listener are null or empty
+
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+setStartVariable
+public void setStartVariable(java.lang.String key,
+ java.lang.Object value)
+Set the start variable with the given identifier to the given value.
+
+Parameters:
+key
- the name of the start variable to set
+value
- the value (only types Integer, Float, Double, Mat, AlImage, Rect, Scalar are supported here)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+cancel
+public void cancel()
+
+ Cancel the image processing. This should always be called in onPause()
.
+ Calling start()
after this is possible (a new worker will be created and started).
+ Nothing happens here if start()
has not been called before.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+isDebug
+public boolean isDebug()
+
+Returns:
+true if debug output is enabled.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+setWorkerThreadUncaughtExceptionHandler
+public void setWorkerThreadUncaughtExceptionHandler(java.lang.Thread.UncaughtExceptionHandler handler)
+Set a handler to catch exceptions from the background thread.
+ Exceptions from the background thread usually mean development errors (error in the script, wrong license)
+ and therefore don't need to be caught, but if you have too for some reason, you can.
+
+Parameters:
+handler
- the handler to be called on background exceptions
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+setHeaderVariable
+public void setHeaderVariable(java.lang.String key,
+ java.lang.Object value)
+Set the start variable with the given identifier to the given value.
+
+Parameters:
+key
- the name of the start variable to set
+value
- the value (only types Integer, Float, Double, Mat, AlImage, Rect, Scalar are supported here)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/AnylineDebugListener.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/AnylineDebugListener.html
new file mode 100644
index 000000000..cf8697331
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/AnylineDebugListener.html
@@ -0,0 +1,723 @@
+
+
+
+
+
+
AnylineDebugListener (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Field Summary
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+All Methods Instance Methods Abstract Methods
+
+Modifier and Type
+Method
+Description
+
+
+void
+onDebug (java.lang.String name,
+ java.lang.Object value)
+
+Callback for reporting raw debug values from the scan run.
+
+
+
+void
+onRunSkipped (RunFailure runFailure)
+
+Callback informing about a run on a single image being skipped, with the reason being provided as a
+ RunFailure
.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/AnylineListener.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/AnylineListener.html
new file mode 100644
index 000000000..ed188b6e1
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/AnylineListener.html
@@ -0,0 +1,331 @@
+
+
+
+
+
+
AnylineListener (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/ImageProvider.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/ImageProvider.html
new file mode 100644
index 000000000..835d591de
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/ImageProvider.html
@@ -0,0 +1,293 @@
+
+
+
+
+
+
ImageProvider (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/SimpleImageProvider.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/SimpleImageProvider.html
new file mode 100644
index 000000000..5b92580cf
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/SimpleImageProvider.html
@@ -0,0 +1,426 @@
+
+
+
+
+
+
SimpleImageProvider (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+io.anyline.SimpleImageProvider
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class java.lang.Object
+equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+hasNewImage
+public boolean hasNewImage()
+
+Return true only if a new image is ready to be analyzed.
+
+ This will be called in a background thread, implementation therefor must be thread safe.
+ (e.g. use a synchronized block inside it)
+
+Specified by:
+hasNewImage
in interface ImageProvider
+Returns:
+true if new image is ready to be analyzed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/camera/AbstractZoomHandler.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/camera/AbstractZoomHandler.html
new file mode 100644
index 000000000..07248b386
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/camera/AbstractZoomHandler.html
@@ -0,0 +1,392 @@
+
+
+
+
+
+
AbstractZoomHandler (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+io.anyline.camera.AbstractZoomHandler
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class java.lang.Object
+equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/camera/ActiveArrayZoomHandler.IZoomHandlerListener.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/camera/ActiveArrayZoomHandler.IZoomHandlerListener.html
new file mode 100644
index 000000000..3fe47aca3
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/camera/ActiveArrayZoomHandler.IZoomHandlerListener.html
@@ -0,0 +1,251 @@
+
+
+
+
+
+
ActiveArrayZoomHandler.IZoomHandlerListener (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/camera/ActiveArrayZoomHandler.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/camera/ActiveArrayZoomHandler.html
new file mode 100644
index 000000000..4730e9bee
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/camera/ActiveArrayZoomHandler.html
@@ -0,0 +1,352 @@
+
+
+
+
+
+
ActiveArrayZoomHandler (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Nested Class Summary
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+
+Methods inherited from class java.lang.Object
+equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/camera/ActiveArrayZoomHandlerBuilder.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/camera/ActiveArrayZoomHandlerBuilder.html
new file mode 100644
index 000000000..10ba76099
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/camera/ActiveArrayZoomHandlerBuilder.html
@@ -0,0 +1,323 @@
+
+
+
+
+
+
ActiveArrayZoomHandlerBuilder (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+io.anyline.camera.ActiveArrayZoomHandlerBuilder
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class java.lang.Object
+equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/camera/CameraConfig.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/camera/CameraConfig.html
new file mode 100644
index 000000000..e33844877
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/camera/CameraConfig.html
@@ -0,0 +1,1223 @@
+
+
+
+
+
+
CameraConfig (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+io.anyline.camera.CameraConfig
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+Constructors
+
+Constructor
+Description
+
+
+CameraConfig ()
+
+New instance with a default configuration for the camera.
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class java.lang.Object
+equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+CameraConfig
+public CameraConfig()
+
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+setAutoFocusInterval
+public void setAutoFocusInterval(int autoFocusInterval)
+Set the interval in millis the auto focus should be called in (or <= 0 if it should not be used).
+ This will only have an effect if the focus mode is AUTO or MACRO.
+ (Minimum step size is 500ms).
+
+Parameters:
+autoFocusInterval
- the interval in milliseconds
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+setFallbackLensFacings
+public void setFallbackLensFacings(java.util.EnumSet<CameraFeatures.LensFacing > fallbackLensFacings)
+Set the fallback camera facings which are used if the default camera facing is not available on the device
+
+Parameters:
+fallbackLensFacings
- the fallback options for CameraFacing
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/camera/CameraController.CameraControllerListener.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/camera/CameraController.CameraControllerListener.html
new file mode 100644
index 000000000..ed5e6b090
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/camera/CameraController.CameraControllerListener.html
@@ -0,0 +1,251 @@
+
+
+
+
+
+
CameraController.CameraControllerListener (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+onCameraOpened
+void onCameraOpened()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/camera/CameraController.CameraOrientation.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/camera/CameraController.CameraOrientation.html
new file mode 100644
index 000000000..2edf66c9c
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/camera/CameraController.CameraOrientation.html
@@ -0,0 +1,438 @@
+
+
+
+
+
+
CameraController.CameraOrientation (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Enum Constant Summary
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class java.lang.Enum
+compareTo, equals, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
+
+
+
+
+
+Methods inherited from class java.lang.Object
+getClass, notify, notifyAll, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+
+
+
+
+valueOf
+public static CameraController.CameraOrientation valueOf(java.lang.String name)
+Returns the enum constant of this type with the specified name.
+The string must match exactly an identifier used to declare an
+enum constant in this type. (Extraneous whitespace characters are
+not permitted.)
+
+Parameters:
+name
- the name of the enum constant to be returned.
+Returns:
+the enum constant with the specified name
+Throws:
+java.lang.IllegalArgumentException
- if this enum type has no constant with the specified name
+java.lang.NullPointerException
- if the argument is null
+
+
+
+
+
+
+
+
+getValue
+public int getValue()
+
+Returns:
+the preferred camera orientation degree
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/camera/CameraController.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/camera/CameraController.html
new file mode 100644
index 000000000..798519027
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/camera/CameraController.html
@@ -0,0 +1,1139 @@
+
+
+
+
+
+
CameraController (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+io.anyline.camera.CameraController
+
+
+
+
+
+
+
+
+
+
+
+
+
+Nested Class Summary
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+All Methods Instance Methods Abstract Methods Concrete Methods
+
+Modifier and Type
+Method
+Description
+
+
+abstract void
+callAutoFocus ()
+
+Call auto focus.
+
+
+
+CameraConfig
+getCameraConfig ()
+
+
+ Get the actually used settings (this is only available after the camera has been opened).
+
+
+
+CameraFeatures
+getCameraFeatures ()
+
+
+
+abstract double
+getCurrentFocalLength ()
+
+Get the current focal length
+
+
+
+double
+getFocalLength ()
+
+Get custom zoom level
+
+
+
+int
+getFrameHeight ()
+
+
+
+float
+getFrameToViewScale ()
+
+
+
+float
+getFrameToViewScaleWidth ()
+
+
+
+int
+getFrameWidth ()
+
+
+
+abstract AnylineImage
+getLastImageWithFullSize ()
+
+
+ Get the latest image in full size.
+
+
+
+abstract ImageReceiver
+getLastImageWithFullSizeReceiver ()
+
+
+ Get the a receiver for the latest image in full size.
+
+
+
+abstract AnylineYuvImage
+getNewImage ()
+
+
+
+CameraConfig
+getPreferredCameraConfig ()
+
+
+
+android.view.View
+getPreviewView ()
+
+
+
+abstract double
+getZoomRatio ()
+
+Get the current zoom ratio
+
+
+
+abstract boolean
+hasNewImage ()
+
+
+
+abstract void
+openCameraInBackground ()
+
+Open the camera in a background thread, if surface is already created and camera is not opened already.
+
+
+
+abstract boolean
+openCameraInBackgroundSuccessfully ()
+
+
+
+abstract void
+releaseCamera ()
+
+
+ Release the camera.
+
+
+
+abstract void
+releaseCameraAndPreview ()
+
+
+ Release the camera for the landscape to landscape mode.
+
+
+
+abstract void
+releaseCameraInBackground ()
+
+
+ Release the camera in a background thread.
+
+
+
+void
+removeAllCameraOpenListeners ()
+
+
+
+void
+removeCameraOpenListener (CameraOpenListener listener)
+
+
+
+void
+resetAutoFocusTimer ()
+
+Reset the auto focus timer, if a focus config is set.
+
+
+
+void
+setCameraControllerListener (CameraController.CameraControllerListener cameraControllerListener)
+
+
+
+void
+setCameraOpenListener (CameraOpenListener listener)
+
+Set the listener that is called when the camera is opened or a camera related error occurred.
+
+
+
+abstract void
+setCameraOrientation (CameraController.CameraOrientation cameraOrientation)
+
+Allows you to set the camera orientation for the BACK camera.
+
+
+
+abstract void
+setFlashOn (boolean isOn)
+
+Turn the torch flash on or off.
+
+
+
+abstract void
+setFocalLength (double focalLength)
+
+Set a zoom level through focal length
+
+
+
+abstract void
+setFocusRegionToCutout (android.content.Context context,
+ android.graphics.RectF cutOutRect,
+ float surfaceWidth,
+ float surfaceHeight)
+
+Updates the focus and metering region to be the same as the given cutout.
+
+
+
+void
+setHighResolutionImageListener (HighResolutionImageListener highResolutionImageListener)
+
+Sets an optional listener which is called with the final AnylineImage, once a picture was taken with the
+ camera via the
takeHighResolutionImage()
method.
+
+
+
+void
+setImageListener (ImageListener imageListener)
+
+Set the listener that should be called when a new image is available
+
+
+
+abstract void
+setMaxFocalLength (double maxFocalLength)
+
+Set a maximum focal length
+
+
+
+abstract void
+setMaxZoomRatio (double maxZoomRatio)
+
+Set a maximum zoom ratio
+
+
+
+void
+setPreferredCameraConfig (CameraConfig preferredCameraConfig)
+
+Set the preferred camera settings.
+
+
+
+abstract void
+setupZoomHandler (android.view.View view)
+
+Set up the zoom for the camera
+
+
+
+void
+setZoomGestureEnabled (boolean isZoomEnabled)
+
+Enable zoom for the camera
+ Needs to be called before setupZoomHandler()
+
+
+
+abstract void
+setZoomRatio (double zoomLevelRatio)
+
+Set a zoom level through zoom Ratio
+
+
+
+abstract void
+takeHighResolutionImage ()
+
+
+
+
+
+abstract void
+takeHighResolutionImage (int top,
+ int left,
+ int right,
+ int bottom,
+ int viewWidth,
+ int viewHeight)
+
+
+
+
+
+
+
+Methods inherited from class java.lang.Object
+equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+takeHighResolutionImage
+public abstract void takeHighResolutionImage(int top,
+ int left,
+ int right,
+ int bottom,
+ int viewWidth,
+ int viewHeight)
+
+
+
+
+
+
+
+
+
+
+
+setCameraOpenListener
+public void setCameraOpenListener(@Nullable
+ CameraOpenListener listener)
+Set the listener that is called when the camera is opened or a camera related error occurred.
+ If not set the opening of the camera will be logged and an error will be thrown as a RuntimeException.
+
+Parameters:
+listener
- the listener
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+setFocusRegionToCutout
+public abstract void setFocusRegionToCutout(@NonNull
+ android.content.Context context,
+ @NonNull
+ android.graphics.RectF cutOutRect,
+ float surfaceWidth,
+ float surfaceHeight)
+Updates the focus and metering region to be the same as the given cutout.
+
+Parameters:
+cutOutRect
- the cutout rect relative to the surface
+surfaceWidth
- the width of the surface
+surfaceHeight
- the height of the surface
+context
- the context
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/camera/CameraController1.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/camera/CameraController1.html
new file mode 100644
index 000000000..c723aeba6
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/camera/CameraController1.html
@@ -0,0 +1,1003 @@
+
+
+
+
+
+
CameraController1 (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Nested Class Summary
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class io.anyline.camera.CameraController
+getCameraConfig , getCameraFeatures , getFocalLength , getFrameHeight , getFrameToViewScale , getFrameToViewScaleWidth , getFrameWidth , getPreferredCameraConfig , getPreviewView , removeAllCameraOpenListeners , removeCameraOpenListener , resetAutoFocusTimer , setCameraControllerListener , setCameraOpenListener , setHighResolutionImageListener , setImageListener , setPreferredCameraConfig , setZoomGestureEnabled
+
+
+
+
+
+Methods inherited from class java.lang.Object
+equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+takeHighResolutionImage
+public void takeHighResolutionImage(int top,
+ int left,
+ int right,
+ int bottom,
+ int scanViewWidth,
+ int scanViewHeight)
+
+Specified by:
+takeHighResolutionImage
in class CameraController
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+resetPreviewCallback
+public void resetPreviewCallback()
+Reset the preview callback.
+ NOTE: This should only be called manually in very special circumstances
+ (e.x.: after the surface is used as a preview for recording a video ).
+
+
+
+
+
+
+
+setFocusRegionToCutout
+public void setFocusRegionToCutout(@NonNull
+ android.content.Context context,
+ @NonNull
+ android.graphics.RectF cutOutRect,
+ float surfaceWidth,
+ float surfaceHeight)
+
+Updates the focus and metering region to be the same as the given cutout.
+
+Specified by:
+setFocusRegionToCutout
in class CameraController
+Parameters:
+context
- the context
+cutOutRect
- the cutout rect relative to the surface
+surfaceWidth
- the width of the surface
+surfaceHeight
- the height of the surface
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/camera/CameraController2.State.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/camera/CameraController2.State.html
new file mode 100644
index 000000000..cd316d544
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/camera/CameraController2.State.html
@@ -0,0 +1,433 @@
+
+
+
+
+
+
CameraController2.State (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Enum Constant Summary
+
+Enum Constants
+
+Enum Constant
+Description
+
+
+PICTURE_TAKEN
+
+Camera state: Picture was taken.
+
+
+
+PREVIEW
+
+Camera state: Showing camera preview.
+
+
+
+WAITING_LOCK
+
+Camera state: Waiting for the focus to be locked.
+
+
+
+WAITING_NON_PRECAPTURE
+
+Camera state: Waiting for the exposure state to be something other than precapture.
+
+
+
+WAITING_PRECAPTURE
+
+Camera state: Waiting for the exposure to be precapture state.
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class java.lang.Enum
+compareTo, equals, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
+
+
+
+
+
+Methods inherited from class java.lang.Object
+getClass, notify, notifyAll, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+
+
+
+
+valueOf
+public static CameraController2.State valueOf(java.lang.String name)
+Returns the enum constant of this type with the specified name.
+The string must match exactly an identifier used to declare an
+enum constant in this type. (Extraneous whitespace characters are
+not permitted.)
+
+Parameters:
+name
- the name of the enum constant to be returned.
+Returns:
+the enum constant with the specified name
+Throws:
+java.lang.IllegalArgumentException
- if this enum type has no constant with the specified name
+java.lang.NullPointerException
- if the argument is null
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/camera/CameraController2.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/camera/CameraController2.html
new file mode 100644
index 000000000..0cc9a9f30
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/camera/CameraController2.html
@@ -0,0 +1,900 @@
+
+
+
+
+
+
CameraController2 (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Nested Class Summary
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class io.anyline.camera.CameraController
+getCameraConfig , getCameraFeatures , getFrameHeight , getFrameToViewScale , getFrameToViewScaleWidth , getFrameWidth , getPreferredCameraConfig , getPreviewView , removeAllCameraOpenListeners , removeCameraOpenListener , resetAutoFocusTimer , setCameraControllerListener , setCameraOpenListener , setHighResolutionImageListener , setImageListener , setPreferredCameraConfig , setZoomGestureEnabled
+
+
+
+
+
+Methods inherited from class java.lang.Object
+equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+takeHighResolutionImage
+public void takeHighResolutionImage(int top,
+ int left,
+ int right,
+ int bottom,
+ int viewWidth,
+ int viewHeight)
+
+Specified by:
+takeHighResolutionImage
in class CameraController
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+setFocusRegionToCutout
+public void setFocusRegionToCutout(@NonNull
+ android.content.Context context,
+ @NonNull
+ android.graphics.RectF cutOutRect,
+ float surfaceWidth,
+ float surfaceHeight)
+
+Updates the focus and metering region to be the same as the given cutout.
+
+Specified by:
+setFocusRegionToCutout
in class CameraController
+Parameters:
+context
- the context
+cutOutRect
- the cutout rect relative to the surface
+surfaceWidth
- the width of the surface
+surfaceHeight
- the height of the surface
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/camera/CameraFeatures.FocusMode.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/camera/CameraFeatures.FocusMode.html
new file mode 100644
index 000000000..e6ac33a2e
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/camera/CameraFeatures.FocusMode.html
@@ -0,0 +1,552 @@
+
+
+
+
+
+
CameraFeatures.FocusMode (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Enum Constant Summary
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class java.lang.Enum
+compareTo, equals, getDeclaringClass, hashCode, name, ordinal, valueOf
+
+
+
+
+
+Methods inherited from class java.lang.Object
+getClass, notify, notifyAll, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+
+
+
+
+valueOf
+public static CameraFeatures.FocusMode valueOf(java.lang.String name)
+Returns the enum constant of this type with the specified name.
+The string must match exactly an identifier used to declare an
+enum constant in this type. (Extraneous whitespace characters are
+not permitted.)
+
+Parameters:
+name
- the name of the enum constant to be returned.
+Returns:
+the enum constant with the specified name
+Throws:
+java.lang.IllegalArgumentException
- if this enum type has no constant with the specified name
+java.lang.NullPointerException
- if the argument is null
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+toCamera2
+public int toCamera2()
+
+Returns:
+the focus mode in the form required by the camera API 2
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/camera/CameraFeatures.FpsRange.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/camera/CameraFeatures.FpsRange.html
new file mode 100644
index 000000000..6bda5d997
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/camera/CameraFeatures.FpsRange.html
@@ -0,0 +1,423 @@
+
+
+
+
+
+
CameraFeatures.FpsRange (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+io.anyline.camera.CameraFeatures.FpsRange
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+Constructors
+
+Constructor
+Description
+
+
+FpsRange (int lower,
+ int upper)
+
+Create a new range
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class java.lang.Object
+equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+getLower
+public int getLower()
+
+Returns:
+the lower end of the range in milliseconds
+
+
+
+
+
+
+
+
+getUpper
+public int getUpper()
+
+Returns:
+the upper end of the range in milliseconds
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/camera/CameraFeatures.LensFacing.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/camera/CameraFeatures.LensFacing.html
new file mode 100644
index 000000000..6e093957a
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/camera/CameraFeatures.LensFacing.html
@@ -0,0 +1,484 @@
+
+
+
+
+
+
CameraFeatures.LensFacing (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Enum Constant Summary
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class java.lang.Enum
+compareTo, equals, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
+
+
+
+
+
+Methods inherited from class java.lang.Object
+getClass, notify, notifyAll, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+
+
+
+
+valueOf
+public static CameraFeatures.LensFacing valueOf(java.lang.String name)
+Returns the enum constant of this type with the specified name.
+The string must match exactly an identifier used to declare an
+enum constant in this type. (Extraneous whitespace characters are
+not permitted.)
+
+Parameters:
+name
- the name of the enum constant to be returned.
+Returns:
+the enum constant with the specified name
+Throws:
+java.lang.IllegalArgumentException
- if this enum type has no constant with the specified name
+java.lang.NullPointerException
- if the argument is null
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+fromBitFlags
+public static java.util.EnumSet<CameraFeatures.LensFacing > fromBitFlags(int fallbackCameraBits)
+Returns an EnumSet consisting of all LensFacings whos bits set in fallbackCameraBits.
+ E.g. fallbackCameraBits = 3 -> 011 -> {BACK, FRONT}
+
+Parameters:
+fallbackCameraBits
-
+Returns:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/camera/CameraFeatures.OutputFormat.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/camera/CameraFeatures.OutputFormat.html
new file mode 100644
index 000000000..5fc5ce9af
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/camera/CameraFeatures.OutputFormat.html
@@ -0,0 +1,640 @@
+
+
+
+
+
+
CameraFeatures.OutputFormat (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Enum Constant Summary
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class java.lang.Enum
+compareTo, equals, getDeclaringClass, hashCode, name, ordinal, valueOf
+
+
+
+
+
+Methods inherited from class java.lang.Object
+getClass, notify, notifyAll, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+
+
+
+
+valueOf
+public static CameraFeatures.OutputFormat valueOf(java.lang.String name)
+Returns the enum constant of this type with the specified name.
+The string must match exactly an identifier used to declare an
+enum constant in this type. (Extraneous whitespace characters are
+not permitted.)
+
+Parameters:
+name
- the name of the enum constant to be returned.
+Returns:
+the enum constant with the specified name
+Throws:
+java.lang.IllegalArgumentException
- if this enum type has no constant with the specified name
+java.lang.NullPointerException
- if the argument is null
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/camera/CameraFeatures.SceneMode.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/camera/CameraFeatures.SceneMode.html
new file mode 100644
index 000000000..1abc63a09
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/camera/CameraFeatures.SceneMode.html
@@ -0,0 +1,708 @@
+
+
+
+
+
+
CameraFeatures.SceneMode (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Enum Constant Summary
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class java.lang.Enum
+compareTo, equals, getDeclaringClass, hashCode, name, ordinal, valueOf
+
+
+
+
+
+Methods inherited from class java.lang.Object
+getClass, notify, notifyAll, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+
+
+
+
+valueOf
+public static CameraFeatures.SceneMode valueOf(java.lang.String name)
+Returns the enum constant of this type with the specified name.
+The string must match exactly an identifier used to declare an
+enum constant in this type. (Extraneous whitespace characters are
+not permitted.)
+
+Parameters:
+name
- the name of the enum constant to be returned.
+Returns:
+the enum constant with the specified name
+Throws:
+java.lang.IllegalArgumentException
- if this enum type has no constant with the specified name
+java.lang.NullPointerException
- if the argument is null
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+toCamera2
+public int toCamera2()
+
+Returns:
+the scene mode in the form required by the camera API 2
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/camera/CameraFeatures.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/camera/CameraFeatures.html
new file mode 100644
index 000000000..17efd3462
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/camera/CameraFeatures.html
@@ -0,0 +1,705 @@
+
+
+
+
+
+
CameraFeatures (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+io.anyline.camera.CameraFeatures
+
+
+
+
+
+
+
+
+
+
+
+
+
+Nested Class Summary
+
+Nested Classes
+
+Modifier and Type
+Class
+Description
+
+
+static class
+CameraFeatures.FocusMode
+
+Helper enum for the focus mode to abstract away the differences in camera API 1 and 2
+
+
+
+static class
+CameraFeatures.FpsRange
+
+Helper class for the FPS ranges to abstract away the differences in camera API 1 and 2
+
+
+
+static class
+CameraFeatures.LensFacing
+
+Helper enum for the lens facing direction to abstract away the differences in camera API 1 and 2
+
+
+
+static class
+CameraFeatures.OutputFormat
+
+Helper enum to be able to get a string representation of the output format.
+
+
+
+static class
+CameraFeatures.SceneMode
+
+Helper enum for the scene mode to abstract away the differences in camera API 1 and 2
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class java.lang.Object
+equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+CameraFeatures
+public CameraFeatures()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/camera/CameraFeatures1.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/camera/CameraFeatures1.html
new file mode 100644
index 000000000..fba030e78
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/camera/CameraFeatures1.html
@@ -0,0 +1,348 @@
+
+
+
+
+
+
CameraFeatures1 (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Nested Class Summary
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+Constructors
+
+Constructor
+Description
+
+
+CameraFeatures1 (int cameraId,
+ android.hardware.Camera camera)
+
+New camera features from the given id and characteristics
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class io.anyline.camera.CameraFeatures
+allCamerasHaveApi2Support , getExposureStep , getFocusModes , getFpsRanges , getLensFacing , getMaxAutoExposureRegions , getMaxExposure , getMaxFocusRegions , getMaxFpsRange , getMinExposure , getPictureSizes , getPreviewSizes , getSceneModes , getSensorOrientation , getVideoSizes , hasCameraApi2Support , isFlashSupported , isVideoStabilizationSupported , toString
+
+
+
+
+
+Methods inherited from class java.lang.Object
+equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+CameraFeatures1
+public CameraFeatures1(int cameraId,
+ @NonNull
+ android.hardware.Camera camera)
+New camera features from the given id and characteristics
+
+Parameters:
+cameraId
- the id of the camera
+camera
- the camera to get the available features from
+
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/camera/CameraFeatures2.AutoExposureMode.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/camera/CameraFeatures2.AutoExposureMode.html
new file mode 100644
index 000000000..f8af7c503
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/camera/CameraFeatures2.AutoExposureMode.html
@@ -0,0 +1,465 @@
+
+
+
+
+
+
CameraFeatures2.AutoExposureMode (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Enum Constant Summary
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class java.lang.Enum
+compareTo, equals, getDeclaringClass, hashCode, name, ordinal, valueOf
+
+
+
+
+
+Methods inherited from class java.lang.Object
+getClass, notify, notifyAll, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+
+
+
+
+valueOf
+public static CameraFeatures2.AutoExposureMode valueOf(java.lang.String name)
+Returns the enum constant of this type with the specified name.
+The string must match exactly an identifier used to declare an
+enum constant in this type. (Extraneous whitespace characters are
+not permitted.)
+
+Parameters:
+name
- the name of the enum constant to be returned.
+Returns:
+the enum constant with the specified name
+Throws:
+java.lang.IllegalArgumentException
- if this enum type has no constant with the specified name
+java.lang.NullPointerException
- if the argument is null
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+toCamera2
+public int toCamera2()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/camera/CameraFeatures2.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/camera/CameraFeatures2.html
new file mode 100644
index 000000000..bb463009c
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/camera/CameraFeatures2.html
@@ -0,0 +1,390 @@
+
+
+
+
+
+
CameraFeatures2 (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Nested Class Summary
+
+Nested Classes
+
+Modifier and Type
+Class
+Description
+
+
+static class
+CameraFeatures2.AutoExposureMode
+
+Helper enum to be able to get a string representation of the auto exposure modes
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+Constructors
+
+Constructor
+Description
+
+
+CameraFeatures2 (java.lang.String cameraId,
+ android.hardware.camera2.CameraCharacteristics characteristics)
+
+New camera features from the given id and characteristics
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class io.anyline.camera.CameraFeatures
+allCamerasHaveApi2Support , getExposureStep , getFocusModes , getFpsRanges , getLensFacing , getMaxAutoExposureRegions , getMaxExposure , getMaxFocusRegions , getMaxFpsRange , getMinExposure , getPictureSizes , getPreviewSizes , getSceneModes , getSensorOrientation , getVideoSizes , hasCameraApi2Support , isFlashSupported , isVideoStabilizationSupported , toString
+
+
+
+
+
+Methods inherited from class java.lang.Object
+equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+CameraFeatures2
+public CameraFeatures2(@NonNull
+ java.lang.String cameraId,
+ @NonNull
+ android.hardware.camera2.CameraCharacteristics characteristics)
+New camera features from the given id and characteristics
+
+Parameters:
+cameraId
- the id of the camera
+characteristics
- the characteristics to read the features from
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/camera/CameraOpenListener.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/camera/CameraOpenListener.html
new file mode 100644
index 000000000..27c3a93c3
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/camera/CameraOpenListener.html
@@ -0,0 +1,282 @@
+
+
+
+
+
+
CameraOpenListener (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+onCameraOpened
+void onCameraOpened(CameraController cameraController,
+ int width,
+ int height)
+This method is invoked when camera preview has started.
+
+Parameters:
+cameraController
- - the camera controller used to control the camera
+width
- - the width of the frames that will be delivered
+height
- - the height of the frames that will be delivered
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/camera/CameraPermissionHelper.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/camera/CameraPermissionHelper.html
new file mode 100644
index 000000000..187b39d23
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/camera/CameraPermissionHelper.html
@@ -0,0 +1,439 @@
+
+
+
+
+
+
CameraPermissionHelper (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+io.anyline.camera.CameraPermissionHelper
+
+
+
+
+
+
+
+public class CameraPermissionHelper
+extends java.lang.Object
+Helper class to handle Android 6 (API > 23) Runtime Camera Permissions.
+ For Android API levels < 23, this helper class will return the permission as granted. This is because the
+ permissions are given at installation time on this API levels.
+
+
+
+
+
+
+
+
+
+
+
+
+Field Summary
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+All Methods Instance Methods Concrete Methods
+
+Modifier and Type
+Method
+Description
+
+
+boolean
+hasPermissions ()
+
+Checks if the Camera Permission was already granted by the user
+
+
+
+boolean
+onRequestPermissionsResult (int requestCode,
+ java.lang.String[] permissions,
+ int[] grantResults)
+
+Takes the result from Activity.onRequestPermissionsResult(int, String[], int[])
and evaluates if the
+ Camera Permission was given by the user.
+
+
+
+void
+requestPermissions ()
+
+Sends a permission request to the user.
+
+
+
+void
+showPermissionMessage (java.lang.String message)
+
+Displays an AlertDialog to the user, informing him about the necessity of granting the Camera Permission.
+
+
+
+
+
+
+
+Methods inherited from class java.lang.Object
+equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Field Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+onRequestPermissionsResult
+public boolean onRequestPermissionsResult(int requestCode,
+ java.lang.String[] permissions,
+ int[] grantResults)
+Takes the result from Activity.onRequestPermissionsResult(int, String[], int[])
and evaluates if the
+ Camera Permission was given by the user.
+
+ If the provided permissions are not the ones requested with this helper, this method will also return false.
+
+Parameters:
+requestCode
- the code of the request (should be REQUEST_CODE_CAMERA_PERMISSIONS
)
+permissions
- the requested permissions
+grantResults
- the results of the request
+Returns:
+a boolean indicating if the Camera Permissions were granted.
+
+
+
+
+
+
+
+
+showPermissionMessage
+@UiThread
+public void showPermissionMessage(@Nullable
+ java.lang.String message)
+Displays an AlertDialog to the user, informing him about the necessity of granting the Camera Permission.
+ If no message is given, a default message is displayed.
+
+Parameters:
+message
- the message to display to the user. If null is passed, a default message will be displayed
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/camera/CameraSize.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/camera/CameraSize.html
new file mode 100644
index 000000000..8c042616b
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/camera/CameraSize.html
@@ -0,0 +1,452 @@
+
+
+
+
+
+
CameraSize (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+io.anyline.camera.CameraSize
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+Constructors
+
+Constructor
+Description
+
+
+CameraSize (int width,
+ int height)
+
+
+
+CameraSize (android.hardware.Camera.Size size)
+
+
+
+CameraSize (android.util.Size size)
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class java.lang.Object
+getClass, notify, notifyAll, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+getWidth
+public int getWidth()
+
+
+
+
+
+
+
+getHeight
+public int getHeight()
+
+
+
+
+
+
+
+getLonger
+public int getLonger()
+
+Returns:
+the longer of the two sides
+
+
+
+
+
+
+
+
+getShorter
+public int getShorter()
+
+Returns:
+the shorter of the two sides
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+hashCode
+public int hashCode()
+
+Overrides:
+hashCode
in class java.lang.Object
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/camera/CameraUtil.AspectRatio.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/camera/CameraUtil.AspectRatio.html
new file mode 100644
index 000000000..457ef3adf
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/camera/CameraUtil.AspectRatio.html
@@ -0,0 +1,446 @@
+
+
+
+
+
+
CameraUtil.AspectRatio (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Enum Constant Summary
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class java.lang.Enum
+compareTo, equals, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
+
+
+
+
+
+Methods inherited from class java.lang.Object
+getClass, notify, notifyAll, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+
+
+
+
+valueOf
+public static CameraUtil.AspectRatio valueOf(java.lang.String name)
+Returns the enum constant of this type with the specified name.
+The string must match exactly an identifier used to declare an
+enum constant in this type. (Extraneous whitespace characters are
+not permitted.)
+
+Parameters:
+name
- the name of the enum constant to be returned.
+Returns:
+the enum constant with the specified name
+Throws:
+java.lang.IllegalArgumentException
- if this enum type has no constant with the specified name
+java.lang.NullPointerException
- if the argument is null
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/camera/CameraUtil.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/camera/CameraUtil.html
new file mode 100644
index 000000000..7cd757073
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/camera/CameraUtil.html
@@ -0,0 +1,567 @@
+
+
+
+
+
+
CameraUtil (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+io.anyline.camera.CameraUtil
+
+
+
+
+
+
+
+
+
+
+
+
+
+Nested Class Summary
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+Constructors
+
+Constructor
+Description
+
+
+CameraUtil ()
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+All Methods Static Methods Concrete Methods
+
+Modifier and Type
+Method
+Description
+
+
+static CameraSize
+getBestFittingPictureSize (java.util.List<CameraSize > pictureSizes,
+ int preferredPictureWidth,
+ int preferredPictureHeight,
+ java.util.List<CameraUtil.AspectRatio > preferredAspectRatios)
+
+Determines the best fitting Picture size for the given parameters.
+
+
+
+static CameraFeatures.FpsRange
+getBiggestFittingPreviewFps (CameraFeatures.FpsRange [] supportedFps,
+ int minFps,
+ int maxFps)
+
+This helper method can be called to select camera preview FPS.
+
+
+
+static CameraSize
+getBiggestFittingPreviewSize (java.util.List<CameraSize > sizes,
+ int maxWidth,
+ int maxHeight)
+
+This helper method can be called to select camera preview size.
+
+
+
+static int
+getCameraDisplayRotation (android.content.Context context,
+ int cameraId)
+
+An implementation of the code in the docs of Camera.setDisplayOrientation(int)
+ (just returning the degrees instead of setting them directly).
+
+
+
+static int
+getCameraDisplayRotation (android.content.Context context,
+ android.hardware.camera2.CameraCharacteristics cameraCharacteristics)
+
+Get the rotation of camera relative to the display orientation
+
+
+
+static int
+getCameraRotation (android.content.Context context,
+ int cameraId)
+
+An implementation of the code in the docs of Camera.Parameters.setRotation(int)
+ (just returning the degrees instead of setting them directly).
+
+
+
+static int
+getDisplayRotationDegrees (android.content.Context context)
+
+
+
+static boolean
+hasCamera (android.content.Context context)
+
+return true if device has a camera.
+
+
+
+static void
+setCameraDisplayOrientation (android.content.Context context,
+ int cameraId,
+ android.hardware.Camera camera)
+
+An implementation of the code in the docs of Camera.setDisplayOrientation(int)
.
+
+
+
+
+
+
+
+Methods inherited from class java.lang.Object
+equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+CameraUtil
+public CameraUtil()
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+
+
+
+
+setCameraDisplayOrientation
+public static void setCameraDisplayOrientation(android.content.Context context,
+ int cameraId,
+ android.hardware.Camera camera)
+An implementation of the code in the docs of Camera.setDisplayOrientation(int)
.
+
+Parameters:
+context
- - the context
+cameraId
- - the id of the used camera
+camera
- - the camera itself
+
+
+
+
+
+
+
+
+getCameraDisplayRotation
+public static int getCameraDisplayRotation(android.content.Context context,
+ int cameraId)
+An implementation of the code in the docs of Camera.setDisplayOrientation(int)
+ (just returning the degrees instead of setting them directly).
+ This returns the degrees the preview frame needs to get rotated to be the same as actually seen.
+
+Parameters:
+context
- the context
+cameraId
- the camera id to get the rotation from
+Returns:
+the degrees the image has to be rotated to be the same as actually seen.
+
+
+
+
+
+
+
+
+
+
+
+
+getCameraDisplayRotation
+public static int getCameraDisplayRotation(android.content.Context context,
+ android.hardware.camera2.CameraCharacteristics cameraCharacteristics)
+Get the rotation of camera relative to the display orientation
+
+Parameters:
+context
- the context
+cameraCharacteristics
- the camera characteristics of the camera to check
+Returns:
+the rotation of camera relative to the display orientation
+
+
+
+
+
+
+
+
+
+
+
+
+getBiggestFittingPreviewSize
+public static CameraSize getBiggestFittingPreviewSize(java.util.List<CameraSize > sizes,
+ int maxWidth,
+ int maxHeight)
+This helper method can be called to select camera preview size.
+ It goes over the list of the supported preview sizes and selects the maximum one which
+ fits.
+
+Parameters:
+sizes
- - the supported sizes
+maxWidth
- - the max width
+maxHeight
- - the max height
+Returns:
+the biggest size that fits in the given max values
+
+
+
+
+
+
+
+
+getBiggestFittingPreviewFps
+public static CameraFeatures.FpsRange getBiggestFittingPreviewFps(CameraFeatures.FpsRange [] supportedFps,
+ int minFps,
+ int maxFps)
+This helper method can be called to select camera preview FPS.
+ It goes over the list of the supported preview FPS ranges and selects the maximum one which
+ fits.
+
+Parameters:
+supportedFps
- the supported FPS ranges of the device
+minFps
- the preferred min preview fps
+maxFps
- the preferred max preview fps
+Returns:
+the biggest size that fits in the given min max values
+
+
+
+
+
+
+
+
+getBestFittingPictureSize
+public static CameraSize getBestFittingPictureSize(java.util.List<CameraSize > pictureSizes,
+ int preferredPictureWidth,
+ int preferredPictureHeight,
+ java.util.List<CameraUtil.AspectRatio > preferredAspectRatios)
+Determines the best fitting Picture size for the given parameters.
+ There are two possible scenarios:
+
+ If the preferred sizes are not 0, the lowest available resolution greater than the sizes is returned.
+ If there is no resolution found greater than the preferred sizes, the highest resolution in 16:9, 5:3 or 16:10
+ is returned.
+ If there is no resolution with these aspect ratios, the highest resolution in any aspect ratio is returned.
+
+
+ If the preferred sizes are 0, the highest available resolution in the preferredAspectRatio is returned. If
+ none is found, the highest resolution in any aspect ratio is returned.
+
+
+Parameters:
+pictureSizes
- the supported sizes
+preferredPictureWidth
- the preferred (minimum) width of the picture
+preferredPictureHeight
- the preferred (minimum) height of the picture
+preferredAspectRatios
- a list of the preferred aspect ratios
+Returns:
+The smallest size in the aspect ratio that is bigger than the provided preferred size, or a fallback
+ (see above)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/camera/CameraView.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/camera/CameraView.html
new file mode 100644
index 000000000..e00e1a2b8
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/camera/CameraView.html
@@ -0,0 +1,1451 @@
+
+
+
+
+
+
CameraView (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+android.view.View
+
+
+android.view.ViewGroup
+
+
+io.anyline.camera.CameraView
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Nested Class Summary
+
+
+
+
+Nested classes/interfaces inherited from class android.view.ViewGroup
+android.view.ViewGroup.LayoutParams, android.view.ViewGroup.MarginLayoutParams, android.view.ViewGroup.OnHierarchyChangeListener
+
+
+
+
+
+Nested classes/interfaces inherited from class android.view.View
+android.view.View.AccessibilityDelegate, android.view.View.BaseSavedState, android.view.View.DragShadowBuilder, android.view.View.MeasureSpec, android.view.View.OnApplyWindowInsetsListener, android.view.View.OnAttachStateChangeListener, android.view.View.OnCapturedPointerListener, android.view.View.OnClickListener, android.view.View.OnContextClickListener, android.view.View.OnCreateContextMenuListener, android.view.View.OnDragListener, android.view.View.OnFocusChangeListener, android.view.View.OnGenericMotionListener, android.view.View.OnHoverListener, android.view.View.OnKeyListener, android.view.View.OnLayoutChangeListener, android.view.View.OnLongClickListener, android.view.View.OnScrollChangeListener, android.view.View.OnSystemUiVisibilityChangeListener, android.view.View.OnTouchListener, android.view.View.OnUnhandledKeyEventListener
+
+
+
+
+
+
+
+
+
+
+Field Summary
+
+
+
+
+
+Fields inherited from class android.view.ViewGroup
+FOCUS_AFTER_DESCENDANTS, FOCUS_BEFORE_DESCENDANTS, FOCUS_BLOCK_DESCENDANTS, LAYOUT_MODE_CLIP_BOUNDS, LAYOUT_MODE_OPTICAL_BOUNDS, PERSISTENT_ALL_CACHES, PERSISTENT_ANIMATION_CACHE, PERSISTENT_NO_CACHE, PERSISTENT_SCROLLING_CACHE
+
+
+
+
+
+Fields inherited from class android.view.View
+ACCESSIBILITY_LIVE_REGION_ASSERTIVE, ACCESSIBILITY_LIVE_REGION_NONE, ACCESSIBILITY_LIVE_REGION_POLITE, ALPHA, AUTOFILL_FLAG_INCLUDE_NOT_IMPORTANT_VIEWS, AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_DATE, AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_DAY, AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_MONTH, AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_YEAR, AUTOFILL_HINT_CREDIT_CARD_NUMBER, AUTOFILL_HINT_CREDIT_CARD_SECURITY_CODE, AUTOFILL_HINT_EMAIL_ADDRESS, AUTOFILL_HINT_NAME, AUTOFILL_HINT_PASSWORD, AUTOFILL_HINT_PHONE, AUTOFILL_HINT_POSTAL_ADDRESS, AUTOFILL_HINT_POSTAL_CODE, AUTOFILL_HINT_USERNAME, AUTOFILL_TYPE_DATE, AUTOFILL_TYPE_LIST, AUTOFILL_TYPE_NONE, AUTOFILL_TYPE_TEXT, AUTOFILL_TYPE_TOGGLE, DRAG_FLAG_GLOBAL, DRAG_FLAG_GLOBAL_PERSISTABLE_URI_PERMISSION, DRAG_FLAG_GLOBAL_PREFIX_URI_PERMISSION, DRAG_FLAG_GLOBAL_URI_READ, DRAG_FLAG_GLOBAL_URI_WRITE, DRAG_FLAG_OPAQUE, DRAWING_CACHE_QUALITY_AUTO, DRAWING_CACHE_QUALITY_HIGH, DRAWING_CACHE_QUALITY_LOW, FIND_VIEWS_WITH_CONTENT_DESCRIPTION, FIND_VIEWS_WITH_TEXT, FOCUS_BACKWARD, FOCUS_DOWN, FOCUS_FORWARD, FOCUS_LEFT, FOCUS_RIGHT, FOCUS_UP, FOCUSABLE, FOCUSABLE_AUTO, FOCUSABLES_ALL, FOCUSABLES_TOUCH_MODE, GONE, HAPTIC_FEEDBACK_ENABLED, IMPORTANT_FOR_ACCESSIBILITY_AUTO, IMPORTANT_FOR_ACCESSIBILITY_NO, IMPORTANT_FOR_ACCESSIBILITY_NO_HIDE_DESCENDANTS, IMPORTANT_FOR_ACCESSIBILITY_YES, IMPORTANT_FOR_AUTOFILL_AUTO, IMPORTANT_FOR_AUTOFILL_NO, IMPORTANT_FOR_AUTOFILL_NO_EXCLUDE_DESCENDANTS, IMPORTANT_FOR_AUTOFILL_YES, IMPORTANT_FOR_AUTOFILL_YES_EXCLUDE_DESCENDANTS, IMPORTANT_FOR_CONTENT_CAPTURE_AUTO, IMPORTANT_FOR_CONTENT_CAPTURE_NO, IMPORTANT_FOR_CONTENT_CAPTURE_NO_EXCLUDE_DESCENDANTS, IMPORTANT_FOR_CONTENT_CAPTURE_YES, IMPORTANT_FOR_CONTENT_CAPTURE_YES_EXCLUDE_DESCENDANTS, INVISIBLE, KEEP_SCREEN_ON, LAYER_TYPE_HARDWARE, LAYER_TYPE_NONE, LAYER_TYPE_SOFTWARE, LAYOUT_DIRECTION_INHERIT, LAYOUT_DIRECTION_LOCALE, LAYOUT_DIRECTION_LTR, LAYOUT_DIRECTION_RTL, MEASURED_HEIGHT_STATE_SHIFT, MEASURED_SIZE_MASK, MEASURED_STATE_MASK, MEASURED_STATE_TOO_SMALL, NO_ID, NOT_FOCUSABLE, OVER_SCROLL_ALWAYS, OVER_SCROLL_IF_CONTENT_SCROLLS, OVER_SCROLL_NEVER, ROTATION, ROTATION_X, ROTATION_Y, SCALE_X, SCALE_Y, SCREEN_STATE_OFF, SCREEN_STATE_ON, SCROLL_AXIS_HORIZONTAL, SCROLL_AXIS_NONE, SCROLL_AXIS_VERTICAL, SCROLL_INDICATOR_BOTTOM, SCROLL_INDICATOR_END, SCROLL_INDICATOR_LEFT, SCROLL_INDICATOR_RIGHT, SCROLL_INDICATOR_START, SCROLL_INDICATOR_TOP, SCROLLBAR_POSITION_DEFAULT, SCROLLBAR_POSITION_LEFT, SCROLLBAR_POSITION_RIGHT, SCROLLBARS_INSIDE_INSET, SCROLLBARS_INSIDE_OVERLAY, SCROLLBARS_OUTSIDE_INSET, SCROLLBARS_OUTSIDE_OVERLAY, SOUND_EFFECTS_ENABLED, STATUS_BAR_HIDDEN, STATUS_BAR_VISIBLE, SYSTEM_UI_FLAG_FULLSCREEN, SYSTEM_UI_FLAG_HIDE_NAVIGATION, SYSTEM_UI_FLAG_IMMERSIVE, SYSTEM_UI_FLAG_IMMERSIVE_STICKY, SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN, SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION, SYSTEM_UI_FLAG_LAYOUT_STABLE, SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR, SYSTEM_UI_FLAG_LIGHT_STATUS_BAR, SYSTEM_UI_FLAG_LOW_PROFILE, SYSTEM_UI_FLAG_VISIBLE, SYSTEM_UI_LAYOUT_FLAGS, TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_GRAVITY, TEXT_ALIGNMENT_INHERIT, TEXT_ALIGNMENT_TEXT_END, TEXT_ALIGNMENT_TEXT_START, TEXT_ALIGNMENT_VIEW_END, TEXT_ALIGNMENT_VIEW_START, TEXT_DIRECTION_ANY_RTL, TEXT_DIRECTION_FIRST_STRONG, TEXT_DIRECTION_FIRST_STRONG_LTR, TEXT_DIRECTION_FIRST_STRONG_RTL, TEXT_DIRECTION_INHERIT, TEXT_DIRECTION_LOCALE, TEXT_DIRECTION_LTR, TEXT_DIRECTION_RTL, TRANSLATION_X, TRANSLATION_Y, TRANSLATION_Z, VISIBLE, X, Y, Z
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+Constructors
+
+Constructor
+Description
+
+
+CameraView (android.content.Context context)
+
+
+
+CameraView (android.content.Context context,
+ boolean api2Enabled)
+
+Construct a camera view with the given api 2 option.
+
+
+
+CameraView (android.content.Context context,
+ android.util.AttributeSet attrs)
+
+
+
+CameraView (android.content.Context context,
+ android.util.AttributeSet attrs,
+ int defStyleAttr)
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods
+
+Modifier and Type
+Method
+Description
+
+
+void
+callAutoFocus ()
+
+
+ Call auto focus.
+
+
+
+void
+disableBarcodeDetection ()
+
+
+
+void
+enableBarcodeDetection (NativeBarcodeResultListener barcodeResultListener,
+ java.util.List<BarcodeFormat > format)
+
+Enable the Native Barcode Detector
+
+
+
+CameraController
+getCameraController ()
+
+
+
+int
+getFrameHeight ()
+
+
+
+int
+getFrameWidth ()
+
+
+
+AnylineImage
+getLastImageWithFullSize ()
+
+
+ Get the latest image in full size.
+
+
+
+ImageReceiver
+getLastImageWithFullSizeReceiver ()
+
+
+ Get the a receiver for the latest image in full size.
+
+
+
+AnylineImage
+getNewImage ()
+
+
+
+CameraConfig
+getPreferredCameraConfig ()
+
+
+ Get the current preferred camera settings.
+
+
+
+float
+getScale ()
+
+
+
+float
+getScaleWidth ()
+
+
+
+CameraConfig
+getSettings ()
+
+
+ Get the actually used settings (this is only available after the camera has been opened).
+
+
+
+boolean
+hasNewImage ()
+
+
+
+boolean
+isBarcodeDetectionEnabled ()
+
+
+
+boolean
+isBarcodeDetectionOperational ()
+
+
+
+boolean
+onTouchEvent (android.view.MotionEvent event)
+
+
+
+boolean
+openCameraInBackground ()
+
+Open the camera in a background thread, if surface is already created and camera is not opened already.
+
+
+
+void
+releaseCamera ()
+
+
+ Release the camera.
+
+
+
+void
+releaseCameraAndPreview ()
+
+
+
+void
+releaseCameraInBackground ()
+
+
+ Release the camera in a background thread.
+
+
+
+void
+resetAutoFocusTimer ()
+
+Reset the auto focus timer, if a focus config is set.
+
+
+
+static void
+setApi2Enabled (boolean enabled)
+
+
+ Set globally if camera api 2 should be enabled or not (for devices that have better than legacy API 2 support).
+
+
+
+void
+setCameraOpenListener (CameraOpenListener listener)
+
+Set the listener that is called when the camera is opened or a camera related error occurred.
+
+
+
+void
+setFlashOn (boolean isOn)
+
+Turn the torch flash on or off.
+
+
+
+void
+setFocusConfig (FocusConfig focusConfig)
+
+Deprecated.
+
+
+
+
+
+void
+setHighResolutionImageListener (HighResolutionImageListener highResolutionImageListener)
+
+Sets an optional listener which is called with the final AnylineImage, once a picture was taken with the
+ camera via the
takeHighResolutionImage()
method.
+
+
+
+void
+setImageListener (ImageListener imageListener)
+
+Set the listener that should be called when a new image is available
+
+
+
+void
+setPreferredCameraConfig (CameraConfig preferredConfig)
+
+
+ Set the preferred camera settings.
+
+
+
+void
+setPreferredPictureSize (int width,
+ int height)
+
+Deprecated.
+
+
+
+
+
+void
+setPreferredPreviewFps (int minFps,
+ int maxFps)
+
+Deprecated.
+
+
+
+
+
+void
+setPreferredPreviewSize (int width,
+ int height)
+
+Deprecated.
+
+
+
+
+
+void
+setPreviewCropGravity (int cropGravity)
+
+
+
+void
+setSceneMode (java.lang.String sceneMode)
+
+Deprecated.
+
+
+
+
+
+void
+setUseMaxFpsRange (boolean isEnabled)
+
+Deprecated.
+
+
+
+
+
+void
+takeHighResolutionImage ()
+
+
+
+
+
+void
+takeHighResolutionImage (int top,
+ int left,
+ int right,
+ int bottom,
+ int scanViewWidth,
+ int scanViewHeight)
+
+
+
+
+
+
+
+Methods inherited from class android.view.ViewGroup
+addChildrenForAccessibility, addExtraDataToAccessibilityNodeInfo, addFocusables, addKeyboardNavigationClusters, addStatesFromChildren, addTouchables, addView, addView, addView, addView, addView, bringChildToFront, childDrawableStateChanged, childHasTransientStateChanged, clearChildFocus, clearDisappearingChildren, clearFocus, dispatchApplyWindowInsets, dispatchCapturedPointerEvent, dispatchConfigurationChanged, dispatchDisplayHint, dispatchDragEvent, dispatchDrawableHotspotChanged, dispatchFinishTemporaryDetach, dispatchKeyEvent, dispatchKeyEventPreIme, dispatchKeyShortcutEvent, dispatchPointerCaptureChanged, dispatchProvideAutofillStructure, dispatchProvideStructure, dispatchSetActivated, dispatchSetSelected, dispatchStartTemporaryDetach, dispatchSystemUiVisibilityChanged, dispatchTouchEvent, dispatchTrackballEvent, dispatchUnhandledMove, dispatchWindowFocusChanged, dispatchWindowInsetsAnimationEnd, dispatchWindowInsetsAnimationPrepare, dispatchWindowInsetsAnimationProgress, dispatchWindowInsetsAnimationStart, dispatchWindowSystemUiVisiblityChanged, dispatchWindowVisibilityChanged, endViewTransition, findFocus, findViewsWithText, focusableViewAvailable, focusSearch, gatherTransparentRegion, generateLayoutParams, getAccessibilityClassName, getChildAt, getChildCount, getChildDrawingOrder, getChildMeasureSpec, getChildVisibleRect, getClipChildren, getClipToPadding, getDescendantFocusability, getFocusedChild, getLayoutAnimation, getLayoutAnimationListener, getLayoutMode, getLayoutTransition, getNestedScrollAxes, getOverlay, getPersistentDrawingCache, getTouchscreenBlocksFocus, hasFocus, hasTransientState, indexOfChild, invalidateChild, invalidateChildInParent, isAlwaysDrawnWithCacheEnabled, isAnimationCacheEnabled, isLayoutSuppressed, isMotionEventSplittingEnabled, isTransitionGroup, jumpDrawablesToCurrentState, layout, notifySubtreeAccessibilityStateChanged, offsetDescendantRectToMyCoords, offsetRectIntoDescendantCoords, onDescendantInvalidated, onInterceptHoverEvent, onInterceptTouchEvent, onNestedFling, onNestedPreFling, onNestedPrePerformAccessibilityAction, onNestedPreScroll, onNestedScroll, onNestedScrollAccepted, onRequestSendAccessibilityEvent, onResolvePointerIcon, onStartNestedScroll, onStopNestedScroll, onViewAdded, onViewRemoved, recomputeViewAttributes, removeAllViews, removeAllViewsInLayout, removeView, removeViewAt, removeViewInLayout, removeViews, removeViewsInLayout, requestChildFocus, requestChildRectangleOnScreen, requestDisallowInterceptTouchEvent, requestFocus, requestSendAccessibilityEvent, requestTransparentRegion, restoreDefaultFocus, scheduleLayoutAnimation, setAddStatesFromChildren, setAlwaysDrawnWithCacheEnabled, setAnimationCacheEnabled, setClipChildren, setClipToPadding, setDescendantFocusability, setLayoutAnimation, setLayoutAnimationListener, setLayoutMode, setLayoutTransition, setMotionEventSplittingEnabled, setOnHierarchyChangeListener, setPersistentDrawingCache, setTouchscreenBlocksFocus, setTransitionGroup, setWindowInsetsAnimationCallback, shouldDelayChildPressedState, showContextMenuForChild, showContextMenuForChild, startActionModeForChild, startActionModeForChild, startLayoutAnimation, startViewTransition, suppressLayout, updateViewLayout
+
+
+
+
+
+Methods inherited from class android.view.View
+addFocusables, addOnAttachStateChangeListener, addOnLayoutChangeListener, addOnUnhandledKeyEventListener, animate, announceForAccessibility, autofill, autofill, bringToFront, buildDrawingCache, buildDrawingCache, buildLayer, callOnClick, cancelDragAndDrop, cancelLongPress, cancelPendingInputEvents, canResolveLayoutDirection, canResolveTextAlignment, canResolveTextDirection, canScrollHorizontally, canScrollVertically, checkInputConnectionProxy, clearAnimation, combineMeasuredStates, computeScroll, computeSystemWindowInsets, createAccessibilityNodeInfo, createContextMenu, destroyDrawingCache, dispatchGenericMotionEvent, dispatchNestedFling, dispatchNestedPreFling, dispatchNestedPrePerformAccessibilityAction, dispatchNestedPreScroll, dispatchNestedScroll, dispatchPopulateAccessibilityEvent, draw, drawableHotspotChanged, findViewById, findViewWithTag, focusSearch, forceHasOverlappingRendering, forceLayout, generateViewId, getAccessibilityDelegate, getAccessibilityLiveRegion, getAccessibilityNodeProvider, getAccessibilityPaneTitle, getAccessibilityTraversalAfter, getAccessibilityTraversalBefore, getAlpha, getAnimation, getAnimationMatrix, getApplicationWindowToken, getAttributeResolutionStack, getAttributeSourceResourceMap, getAutofillHints, getAutofillId, getAutofillType, getAutofillValue, getBackground, getBackgroundTintBlendMode, getBackgroundTintList, getBackgroundTintMode, getBaseline, getBottom, getCameraDistance, getClipBounds, getClipBounds, getClipToOutline, getContentCaptureSession, getContentDescription, getContext, getDefaultFocusHighlightEnabled, getDefaultSize, getDisplay, getDrawableState, getDrawingCache, getDrawingCache, getDrawingCacheBackgroundColor, getDrawingCacheQuality, getDrawingRect, getDrawingTime, getElevation, getExplicitStyle, getFilterTouchesWhenObscured, getFitsSystemWindows, getFocusable, getFocusables, getFocusedRect, getForeground, getForegroundGravity, getForegroundTintBlendMode, getForegroundTintList, getForegroundTintMode, getGlobalVisibleRect, getGlobalVisibleRect, getHandler, getHasOverlappingRendering, getHeight, getHitRect, getHorizontalFadingEdgeLength, getHorizontalScrollbarThumbDrawable, getHorizontalScrollbarTrackDrawable, getId, getImportantForAccessibility, getImportantForAutofill, getImportantForContentCapture, getKeepScreenOn, getKeyDispatcherState, getLabelFor, getLayerType, getLayoutDirection, getLayoutParams, getLeft, getLocalVisibleRect, getLocationInSurface, getLocationInWindow, getLocationOnScreen, getMatrix, getMeasuredHeight, getMeasuredHeightAndState, getMeasuredState, getMeasuredWidth, getMeasuredWidthAndState, getMinimumHeight, getMinimumWidth, getNextClusterForwardId, getNextFocusDownId, getNextFocusForwardId, getNextFocusLeftId, getNextFocusRightId, getNextFocusUpId, getOnFocusChangeListener, getOutlineAmbientShadowColor, getOutlineProvider, getOutlineSpotShadowColor, getOverScrollMode, getPaddingBottom, getPaddingEnd, getPaddingLeft, getPaddingRight, getPaddingStart, getPaddingTop, getParent, getParentForAccessibility, getPivotX, getPivotY, getPointerIcon, getResources, getRevealOnFocusHint, getRight, getRootView, getRootWindowInsets, getRotation, getRotationX, getRotationY, getScaleX, getScaleY, getScrollBarDefaultDelayBeforeFade, getScrollBarFadeDuration, getScrollBarSize, getScrollBarStyle, getScrollIndicators, getScrollX, getScrollY, getSolidColor, getSourceLayoutResId, getStateDescription, getStateListAnimator, getSystemGestureExclusionRects, getSystemUiVisibility, getTag, getTag, getTextAlignment, getTextDirection, getTooltipText, getTop, getTouchables, getTouchDelegate, getTransitionAlpha, getTransitionName, getTranslationX, getTranslationY, getTranslationZ, getUniqueDrawingId, getVerticalFadingEdgeLength, getVerticalScrollbarPosition, getVerticalScrollbarThumbDrawable, getVerticalScrollbarTrackDrawable, getVerticalScrollbarWidth, getViewTreeObserver, getVisibility, getWidth, getWindowId, getWindowInsetsController, getWindowSystemUiVisibility, getWindowToken, getWindowVisibility, getWindowVisibleDisplayFrame, getX, getY, getZ, hasExplicitFocusable, hasFocusable, hasNestedScrollingParent, hasOnClickListeners, hasOnLongClickListeners, hasOverlappingRendering, hasPointerCapture, hasWindowFocus, inflate, invalidate, invalidate, invalidate, invalidateDrawable, invalidateOutline, isAccessibilityFocused, isAccessibilityHeading, isActivated, isAttachedToWindow, isClickable, isContextClickable, isDirty, isDrawingCacheEnabled, isDuplicateParentStateEnabled, isEnabled, isFocusable, isFocusableInTouchMode, isFocused, isFocusedByDefault, isForceDarkAllowed, isHapticFeedbackEnabled, isHardwareAccelerated, isHorizontalFadingEdgeEnabled, isHorizontalScrollBarEnabled, isHovered, isImportantForAccessibility, isImportantForAutofill, isImportantForContentCapture, isInEditMode, isInLayout, isInTouchMode, isKeyboardNavigationCluster, isLaidOut, isLayoutDirectionResolved, isLayoutRequested, isLongClickable, isNestedScrollingEnabled, isOpaque, isPaddingRelative, isPivotSet, isPressed, isSaveEnabled, isSaveFromParentEnabled, isScreenReaderFocusable, isScrollbarFadingEnabled, isScrollContainer, isSelected, isShowingLayoutBounds, isShown, isSoundEffectsEnabled, isTemporarilyDetached, isTextAlignmentResolved, isTextDirectionResolved, isVerticalFadingEdgeEnabled, isVerticalScrollBarEnabled, isVisibleToUserForAutofill, keyboardNavigationClusterSearch, measure, offsetLeftAndRight, offsetTopAndBottom, onApplyWindowInsets, onCancelPendingInputEvents, onCapturedPointerEvent, onCheckIsTextEditor, onCreateInputConnection, onDragEvent, onDrawForeground, onFilterTouchEventForSecurity, onFinishTemporaryDetach, onGenericMotionEvent, onHoverChanged, onHoverEvent, onInitializeAccessibilityEvent, onInitializeAccessibilityNodeInfo, onKeyDown, onKeyLongPress, onKeyMultiple, onKeyPreIme, onKeyShortcut, onKeyUp, onPointerCaptureChange, onPopulateAccessibilityEvent, onProvideAutofillStructure, onProvideAutofillVirtualStructure, onProvideContentCaptureStructure, onProvideStructure, onProvideVirtualStructure, onRtlPropertiesChanged, onScreenStateChanged, onStartTemporaryDetach, onTrackballEvent, onVisibilityAggregated, onWindowFocusChanged, onWindowSystemUiVisibilityChanged, performAccessibilityAction, performClick, performContextClick, performContextClick, performHapticFeedback, performHapticFeedback, performLongClick, performLongClick, playSoundEffect, post, postDelayed, postInvalidate, postInvalidate, postInvalidateDelayed, postInvalidateDelayed, postInvalidateOnAnimation, postInvalidateOnAnimation, postOnAnimation, postOnAnimationDelayed, refreshDrawableState, releasePointerCapture, removeCallbacks, removeOnAttachStateChangeListener, removeOnLayoutChangeListener, removeOnUnhandledKeyEventListener, requestApplyInsets, requestFitSystemWindows, requestFocus, requestFocus, requestFocusFromTouch, requestLayout, requestPointerCapture, requestRectangleOnScreen, requestRectangleOnScreen, requestUnbufferedDispatch, requestUnbufferedDispatch, requireViewById, resetPivot, resolveSize, resolveSizeAndState, restoreHierarchyState, saveAttributeDataForStyleable, saveHierarchyState, scheduleDrawable, scrollBy, scrollTo, sendAccessibilityEvent, sendAccessibilityEventUnchecked, setAccessibilityDelegate, setAccessibilityHeading, setAccessibilityLiveRegion, setAccessibilityPaneTitle, setAccessibilityTraversalAfter, setAccessibilityTraversalBefore, setActivated, setAlpha, setAnimation, setAnimationMatrix, setAutofillHints, setAutofillId, setBackground, setBackgroundColor, setBackgroundDrawable, setBackgroundResource, setBackgroundTintBlendMode, setBackgroundTintList, setBackgroundTintMode, setBottom, setCameraDistance, setClickable, setClipBounds, setClipToOutline, setContentCaptureSession, setContentDescription, setContextClickable, setDefaultFocusHighlightEnabled, setDrawingCacheBackgroundColor, setDrawingCacheEnabled, setDrawingCacheQuality, setDuplicateParentStateEnabled, setElevation, setEnabled, setFadingEdgeLength, setFilterTouchesWhenObscured, setFitsSystemWindows, setFocusable, setFocusable, setFocusableInTouchMode, setFocusedByDefault, setForceDarkAllowed, setForeground, setForegroundGravity, setForegroundTintBlendMode, setForegroundTintList, setForegroundTintMode, setHapticFeedbackEnabled, setHasTransientState, setHorizontalFadingEdgeEnabled, setHorizontalScrollBarEnabled, setHorizontalScrollbarThumbDrawable, setHorizontalScrollbarTrackDrawable, setHovered, setId, setImportantForAccessibility, setImportantForAutofill, setImportantForContentCapture, setKeepScreenOn, setKeyboardNavigationCluster, setLabelFor, setLayerPaint, setLayerType, setLayoutDirection, setLayoutParams, setLeft, setLeftTopRightBottom, setLongClickable, setMinimumHeight, setMinimumWidth, setNestedScrollingEnabled, setNextClusterForwardId, setNextFocusDownId, setNextFocusForwardId, setNextFocusLeftId, setNextFocusRightId, setNextFocusUpId, setOnApplyWindowInsetsListener, setOnCapturedPointerListener, setOnClickListener, setOnContextClickListener, setOnCreateContextMenuListener, setOnDragListener, setOnFocusChangeListener, setOnGenericMotionListener, setOnHoverListener, setOnKeyListener, setOnLongClickListener, setOnScrollChangeListener, setOnSystemUiVisibilityChangeListener, setOnTouchListener, setOutlineAmbientShadowColor, setOutlineProvider, setOutlineSpotShadowColor, setOverScrollMode, setPadding, setPaddingRelative, setPivotX, setPivotY, setPointerIcon, setPressed, setRevealOnFocusHint, setRight, setRotation, setRotationX, setRotationY, setSaveEnabled, setSaveFromParentEnabled, setScaleX, setScaleY, setScreenReaderFocusable, setScrollBarDefaultDelayBeforeFade, setScrollBarFadeDuration, setScrollbarFadingEnabled, setScrollBarSize, setScrollBarStyle, setScrollContainer, setScrollIndicators, setScrollIndicators, setScrollX, setScrollY, setSelected, setSoundEffectsEnabled, setStateDescription, setStateListAnimator, setSystemGestureExclusionRects, setSystemUiVisibility, setTag, setTag, setTextAlignment, setTextDirection, setTooltipText, setTop, setTouchDelegate, setTransitionAlpha, setTransitionName, setTransitionVisibility, setTranslationX, setTranslationY, setTranslationZ, setVerticalFadingEdgeEnabled, setVerticalScrollBarEnabled, setVerticalScrollbarPosition, setVerticalScrollbarThumbDrawable, setVerticalScrollbarTrackDrawable, setVisibility, setWillNotCacheDrawing, setWillNotDraw, setX, setY, setZ, showContextMenu, showContextMenu, startActionMode, startActionMode, startAnimation, startDrag, startDragAndDrop, startNestedScroll, stopNestedScroll, toString, transformMatrixToGlobal, transformMatrixToLocal, unscheduleDrawable, unscheduleDrawable, updateDragShadow, willNotCacheDrawing, willNotDraw
+
+
+
+
+
+Methods inherited from class java.lang.Object
+equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
+
+
+
+
+
+Methods inherited from interface android.view.ViewParent
+canResolveLayoutDirection, canResolveTextAlignment, canResolveTextDirection, createContextMenu, getLayoutDirection, getParent, getParentForAccessibility, getTextAlignment, getTextDirection, isLayoutDirectionResolved, isLayoutRequested, isTextAlignmentResolved, isTextDirectionResolved, keyboardNavigationClusterSearch, requestFitSystemWindows, requestLayout
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Field Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+frameIndex
+public int frameIndex
+
+
+
+
+
+
+
+
+
+
+
+layoutLeft
+public int layoutLeft
+
+
+
+
+
+
+
+layoutTop
+public int layoutTop
+
+
+
+
+
+
+
+layoutRight
+public int layoutRight
+
+
+
+
+
+
+
+layoutBottom
+public int layoutBottom
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+
+
+
+
+setPreferredPreviewSize
+@Deprecated
+public void setPreferredPreviewSize(int width,
+ int height)
+Deprecated.
+
+
+Set the preferred preview size.
+ If set, a preview size that fits in the given size will be used otherwise the views size is used to determine
+ a fitting preview size. This must be set before the camera is initialized to have an effect.
+
+Parameters:
+width
- the preferred width
+height
- the preferred height
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+setCameraOpenListener
+public void setCameraOpenListener(CameraOpenListener listener)
+Set the listener that is called when the camera is opened or a camera related error occurred.
+ If not set the opening of the camera will be logged and an error will be thrown as a RuntimeException.
+
+Parameters:
+listener
- the listener
+
+
+
+
+
+
+
+
+
+
+
+
+getScale
+public float getScale()
+
+Returns:
+the scale that is applied to the actual image size in order to fit the view
+ (e.g. will be 1.5 on fullscreen on a 1080p display with 720p preview)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+takeHighResolutionImage
+public void takeHighResolutionImage(int top,
+ int left,
+ int right,
+ int bottom,
+ int scanViewWidth,
+ int scanViewHeight)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+enableBarcodeDetection
+public void enableBarcodeDetection(@NonNull
+ NativeBarcodeResultListener barcodeResultListener,
+ java.util.List<BarcodeFormat > format)
+Enable the Native Barcode Detector
+
+Parameters:
+barcodeResultListener
- listener for Native barcode
+format
- barcodeFormatList
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/camera/CutoutUpdateListener.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/camera/CutoutUpdateListener.html
new file mode 100644
index 000000000..984ec9cd1
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/camera/CutoutUpdateListener.html
@@ -0,0 +1,260 @@
+
+
+
+
+
+
CutoutUpdateListener (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+All Methods Instance Methods Abstract Methods
+
+Modifier and Type
+Method
+Description
+
+
+void
+onCutoutUpdate (android.graphics.Rect cutoutRect,
+ android.graphics.Rect waterMarkRect)
+
+Method is called on the UI thread, whenever the cutout is updated.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+onCutoutUpdate
+void onCutoutUpdate(@NonNull
+ android.graphics.Rect cutoutRect,
+ @Nullable
+ android.graphics.Rect waterMarkRect)
+Method is called on the UI thread, whenever the cutout is updated.
+
+Parameters:
+cutoutRect
- the rect where the cutout is on the view
+waterMarkRect
- the rect where the watermark is on the view (may be null with commercial license)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/camera/FaceDetector.FaceDetectionResultHandler.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/camera/FaceDetector.FaceDetectionResultHandler.html
new file mode 100644
index 000000000..3ed5e8129
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/camera/FaceDetector.FaceDetectionResultHandler.html
@@ -0,0 +1,269 @@
+
+
+
+
+
+
FaceDetector.FaceDetectionResultHandler (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/camera/FaceDetector.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/camera/FaceDetector.html
new file mode 100644
index 000000000..d94929f60
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/camera/FaceDetector.html
@@ -0,0 +1,332 @@
+
+
+
+
+
+
FaceDetector (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+io.anyline.camera.FaceDetector
+
+
+
+
+
+
+
+
+
+
+
+
+
+Nested Class Summary
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class java.lang.Object
+equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/camera/FlashControl.Mode.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/camera/FlashControl.Mode.html
new file mode 100644
index 000000000..fbba72a79
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/camera/FlashControl.Mode.html
@@ -0,0 +1,392 @@
+
+
+
+
+
+
FlashControl.Mode (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Enum Constant Summary
+
+Enum Constants
+
+Enum Constant
+Description
+
+
+AUTO
+
+
+
+OFF
+
+
+
+ON
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class java.lang.Enum
+compareTo, equals, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
+
+
+
+
+
+Methods inherited from class java.lang.Object
+getClass, notify, notifyAll, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+
+
+
+
+valueOf
+public static FlashControl.Mode valueOf(java.lang.String name)
+Returns the enum constant of this type with the specified name.
+The string must match exactly an identifier used to declare an
+enum constant in this type. (Extraneous whitespace characters are
+not permitted.)
+
+Parameters:
+name
- the name of the enum constant to be returned.
+Returns:
+the enum constant with the specified name
+Throws:
+java.lang.IllegalArgumentException
- if this enum type has no constant with the specified name
+java.lang.NullPointerException
- if the argument is null
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/camera/FlashControl.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/camera/FlashControl.html
new file mode 100644
index 000000000..4b6191d32
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/camera/FlashControl.html
@@ -0,0 +1,369 @@
+
+
+
+
+
+
FlashControl (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Nested Class Summary
+
+Nested Classes
+
+Modifier and Type
+Interface
+Description
+
+
+static class
+FlashControl.Mode
+
+Deprecated.
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/camera/FocusConfig.Builder.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/camera/FocusConfig.Builder.html
new file mode 100644
index 000000000..a2349ff94
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/camera/FocusConfig.Builder.html
@@ -0,0 +1,532 @@
+
+
+
+
+
+
FocusConfig.Builder (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+io.anyline.camera.FocusConfig.Builder
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+Constructors
+
+Constructor
+Description
+
+
+Builder ()
+
+Deprecated.
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class java.lang.Object
+equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+Builder
+public Builder()
+Deprecated.
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+setAutoFocusInterval
+public FocusConfig.Builder setAutoFocusInterval(int millis)
+Deprecated.
+Set an auto focus interval. If this is set, a timer is started who calls auto focus every given millis.
+ (Don't use smaller steps than 500ms)
+
+Parameters:
+millis
- - the interval in millis to call auto focus in
+Returns:
+this builder
+
+
+
+
+
+
+
+
+setEnablePhaseAutoFocus
+public FocusConfig.Builder setEnablePhaseAutoFocus(boolean isEnabled)
+Deprecated.
+Enable or disable the phase auto focus. Devices which offer this functionality will generally
+ focus much faster and more precise.
+
+Parameters:
+isEnabled
- - true if phase auto focus should be enabled
+Returns:
+this builder
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+build
+public FocusConfig build()
+Deprecated.
+Create the config.
+
+ Note: You must still call init, if not used with io.anyline.camera.AnylineView
+
+Returns:
+the config.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/camera/FocusConfig.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/camera/FocusConfig.html
new file mode 100644
index 000000000..873e475f1
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/camera/FocusConfig.html
@@ -0,0 +1,311 @@
+
+
+
+
+
+
FocusConfig (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+io.anyline.camera.FocusConfig
+
+
+
+
+
+
+
+
+
+
+
+
+
+Nested Class Summary
+
+Nested Classes
+
+Modifier and Type
+Class
+Description
+
+
+static class
+FocusConfig.Builder
+
+Deprecated.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Field Summary
+
+Fields
+
+Modifier and Type
+Field
+Description
+
+
+static int
+NO_AUTO_FOCUS_TIMER
+
+Deprecated.
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+Methods inherited from class java.lang.Object
+equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Field Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/camera/HighResolutionImageListener.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/camera/HighResolutionImageListener.html
new file mode 100644
index 000000000..614d7f675
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/camera/HighResolutionImageListener.html
@@ -0,0 +1,277 @@
+
+
+
+
+
+
HighResolutionImageListener (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+All Methods Instance Methods Abstract Methods
+
+Modifier and Type
+Method
+Description
+
+
+void
+onError (java.lang.Throwable e)
+
+This method is called if there was an error taking the picture.
+
+
+
+void
+onImageTaken (AnylineImage image)
+
+This method is called asynchronously once a picture was successfully taken.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+
+
+
+
+onError
+void onError(java.lang.Throwable e)
+This method is called if there was an error taking the picture. This is most probably an OutOfMemoryError
+ caused by not caching and releasing the previously taken pictures properly.
+
+Parameters:
+e
- The error that was thrown
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/camera/HighResolutionImageProvider.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/camera/HighResolutionImageProvider.html
new file mode 100644
index 000000000..9ca7d918b
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/camera/HighResolutionImageProvider.html
@@ -0,0 +1,304 @@
+
+
+
+
+
+
HighResolutionImageProvider (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+takeHighResolutionImage
+void takeHighResolutionImage(int top,
+ int left,
+ int right,
+ int bottom,
+ int scanViewWidth,
+ int scanViewHeight)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/camera/ImageListener.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/camera/ImageListener.html
new file mode 100644
index 000000000..1fd30e2fc
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/camera/ImageListener.html
@@ -0,0 +1,268 @@
+
+
+
+
+
+
ImageListener (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/camera/ImageReceiver.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/camera/ImageReceiver.html
new file mode 100644
index 000000000..09de6dc95
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/camera/ImageReceiver.html
@@ -0,0 +1,312 @@
+
+
+
+
+
+
ImageReceiver (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+io.anyline.camera.ImageReceiver
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class java.lang.Object
+equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+
+
+
+
+getYuvImage
+@NonNull
+public AnylineYuvImage getYuvImage(@NonNull
+ android.graphics.Rect cropRect,
+ boolean greyOnly)
+Get the frame cropped to the given rect (relative to the frame in the view's orientation).
+
+Parameters:
+cropRect
- the rect to crop relative to the camera frame in the orientation of the view.
+ AnylineBaseView#getFrameRectFromViewRect(Rect)
maybe helpful to calculate this.
+greyOnly
- true if image can be grey only (faster), false to also get colors
+Returns:
+the frame cropped to the given rect
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/camera/NativeBarcodeDetectionThread.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/camera/NativeBarcodeDetectionThread.html
new file mode 100644
index 000000000..e89e3a9a9
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/camera/NativeBarcodeDetectionThread.html
@@ -0,0 +1,219 @@
+
+
+
+
+
+
NativeBarcodeDetectionThread (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+io.anyline.camera.NativeBarcodeDetectionThread
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+Methods inherited from class java.lang.Object
+equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/camera/NativeBarcodeDetector.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/camera/NativeBarcodeDetector.html
new file mode 100644
index 000000000..129cc26ea
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/camera/NativeBarcodeDetector.html
@@ -0,0 +1,410 @@
+
+
+
+
+
+
NativeBarcodeDetector (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+io.anyline.camera.NativeBarcodeDetector
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class java.lang.Object
+equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/camera/NativeBarcodeResultListener.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/camera/NativeBarcodeResultListener.html
new file mode 100644
index 000000000..7d5710491
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/camera/NativeBarcodeResultListener.html
@@ -0,0 +1,275 @@
+
+
+
+
+
+
NativeBarcodeResultListener (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+All Methods Instance Methods Abstract Methods
+
+Modifier and Type
+Method
+Description
+
+
+void
+onFailure (java.lang.String failureMessage)
+
+Is called when NativeBarcode failed
+
+
+
+void
+onSuccess (java.util.List<com.google.mlkit.vision.barcode.Barcode> barcodes)
+
+Is called when NativeBarcode scanned with success
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/camera/SimpleZoomHandler.IZoomHandlerListener.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/camera/SimpleZoomHandler.IZoomHandlerListener.html
new file mode 100644
index 000000000..96dd2f9a0
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/camera/SimpleZoomHandler.IZoomHandlerListener.html
@@ -0,0 +1,251 @@
+
+
+
+
+
+
SimpleZoomHandler.IZoomHandlerListener (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/camera/SimpleZoomHandler.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/camera/SimpleZoomHandler.html
new file mode 100644
index 000000000..97e26e3a1
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/camera/SimpleZoomHandler.html
@@ -0,0 +1,338 @@
+
+
+
+
+
+
SimpleZoomHandler (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Nested Class Summary
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+
+Methods inherited from class java.lang.Object
+equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/camera/SimpleZoomHandlerBuilder.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/camera/SimpleZoomHandlerBuilder.html
new file mode 100644
index 000000000..5d2c1f208
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/camera/SimpleZoomHandlerBuilder.html
@@ -0,0 +1,309 @@
+
+
+
+
+
+
SimpleZoomHandlerBuilder (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+io.anyline.camera.SimpleZoomHandlerBuilder
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class java.lang.Object
+equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/camera/VisualFeedbackConfig.AnimationStyle.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/camera/VisualFeedbackConfig.AnimationStyle.html
new file mode 100644
index 000000000..cccb5249b
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/camera/VisualFeedbackConfig.AnimationStyle.html
@@ -0,0 +1,473 @@
+
+
+
+
+
+
VisualFeedbackConfig.AnimationStyle (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Enum Constant Summary
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class java.lang.Enum
+compareTo, equals, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
+
+
+
+
+
+Methods inherited from class java.lang.Object
+getClass, notify, notifyAll, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+
+
+
+
+valueOf
+public static VisualFeedbackConfig.AnimationStyle valueOf(java.lang.String name)
+Returns the enum constant of this type with the specified name.
+The string must match exactly an identifier used to declare an
+enum constant in this type. (Extraneous whitespace characters are
+not permitted.)
+
+Parameters:
+name
- the name of the enum constant to be returned.
+Returns:
+the enum constant with the specified name
+Throws:
+java.lang.IllegalArgumentException
- if this enum type has no constant with the specified name
+java.lang.NullPointerException
- if the argument is null
+
+
+
+
+
+
+
+
+getValue
+public int getValue()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/camera/VisualFeedbackConfig.FeedbackStyle.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/camera/VisualFeedbackConfig.FeedbackStyle.html
new file mode 100644
index 000000000..50c8567ed
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/camera/VisualFeedbackConfig.FeedbackStyle.html
@@ -0,0 +1,447 @@
+
+
+
+
+
+
VisualFeedbackConfig.FeedbackStyle (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Enum Constant Summary
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class java.lang.Enum
+compareTo, equals, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
+
+
+
+
+
+Methods inherited from class java.lang.Object
+getClass, notify, notifyAll, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+
+
+
+
+valueOf
+public static VisualFeedbackConfig.FeedbackStyle valueOf(java.lang.String name)
+Returns the enum constant of this type with the specified name.
+The string must match exactly an identifier used to declare an
+enum constant in this type. (Extraneous whitespace characters are
+not permitted.)
+
+Parameters:
+name
- the name of the enum constant to be returned.
+Returns:
+the enum constant with the specified name
+Throws:
+java.lang.IllegalArgumentException
- if this enum type has no constant with the specified name
+java.lang.NullPointerException
- if the argument is null
+
+
+
+
+
+
+
+
+getValue
+public int getValue()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/camera/VisualFeedbackConfig.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/camera/VisualFeedbackConfig.html
new file mode 100644
index 000000000..1890e2933
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/camera/VisualFeedbackConfig.html
@@ -0,0 +1,806 @@
+
+
+
+
+
+
VisualFeedbackConfig (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+io.anyline.camera.VisualFeedbackConfig
+
+
+
+
+
+
+
+
+
+
+
+
+
+Nested Class Summary
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class java.lang.Object
+equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/camera/ZoomEventHandler.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/camera/ZoomEventHandler.html
new file mode 100644
index 000000000..4f5626031
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/camera/ZoomEventHandler.html
@@ -0,0 +1,257 @@
+
+
+
+
+
+
ZoomEventHandler (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+onZoomEventOccured
+void onZoomEventOccured(double currentZoomLevel)
+Called when a zoom event occurs, e.g. pinch to Zoom
+ or setting a custom zoom level, giving the possibilty
+ to catch the zoom event and current zoom value
+
+Parameters:
+currentZoomLevel
- - gives back the current zoom level
+ when a zoom event occurs
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/camera/package-summary.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/camera/package-summary.html
new file mode 100644
index 000000000..a3acc3da9
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/camera/package-summary.html
@@ -0,0 +1,429 @@
+
+
+
+
+
+
io.anyline.camera (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/camera/package-tree.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/camera/package-tree.html
new file mode 100644
index 000000000..116471332
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/camera/package-tree.html
@@ -0,0 +1,241 @@
+
+
+
+
+
+
io.anyline.camera Class Hierarchy (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Enum Hierarchy
+
+java.lang.Object
+
+java.lang.Enum<E> (implements java.lang.Comparable<T>, java.io.Serializable)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/models/AnylineImage.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/models/AnylineImage.html
new file mode 100644
index 000000000..0214017a1
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/models/AnylineImage.html
@@ -0,0 +1,562 @@
+
+
+
+
+
+
AnylineImage (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+io.anyline.models.AnylineImage
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+Constructors
+
+Constructor
+Description
+
+
+AnylineImage (android.graphics.Bitmap bitmap)
+
+Create an AnylineImage from a Bitmap
+
+
+
+AnylineImage (AnylineYuvImage alYuvImage)
+
+Create an AnylineImage from a YuvImage
+
+
+
+AnylineImage (Mat cvMat)
+
+Create an AnylineImage from a cv Mat.
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class java.lang.Object
+equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+getCvMat
+public Mat getCvMat()
+
+Returns:
+this image as a cv mat
+
+
+
+
+
+
+
+
+getWidth
+public int getWidth()
+
+Returns:
+the width of this image in pixels
+
+
+
+
+
+
+
+
+getHeight
+public int getHeight()
+
+Returns:
+the height of this image in pixels
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+save
+public void save(java.io.File file,
+ int quality)
+ throws java.io.IOException
+Saves this image to the given file in the given quality.
+
+Parameters:
+file
- the file to save to
+quality
- the quality to use (0-100)(ignored for PNG files)
+Throws:
+java.io.IOException
- if something goes wrong
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/models/AnylineRawResult.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/models/AnylineRawResult.html
new file mode 100644
index 000000000..374206a2e
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/models/AnylineRawResult.html
@@ -0,0 +1,465 @@
+
+
+
+
+
+
AnylineRawResult (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+io.anyline.models.AnylineRawResult
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class java.lang.Object
+equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+getResult
+public java.lang.String getResult(java.lang.String identifier)
+Returns the validated result object for an identifier or null if identifier
+ does not exist or no valid result was found for the identifier.
+
+Parameters:
+identifier
- The identifier for a result.
+Returns:
+The result for the identifier.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/models/AnylineScanResult.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/models/AnylineScanResult.html
new file mode 100644
index 000000000..b82d9e1af
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/models/AnylineScanResult.html
@@ -0,0 +1,536 @@
+
+
+
+
+
+
AnylineScanResult (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+io.anyline.models.AnylineScanResult<T>
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+All Methods Static Methods Instance Methods Concrete Methods
+
+Modifier and Type
+Method
+Description
+
+
+java.lang.String
+getBlobKey ()
+
+Gets the blob key
+
+
+
+java.lang.Integer
+getConfidence ()
+
+Returns the confidence of the SDK in the detected result.
+
+
+
+AnylineImage
+getCutoutImage ()
+
+Returns the image the result was found on.
+
+
+
+AnylineImage
+getFaceImage ()
+
+Returns image returned by the face detector
+
+
+
+AnylineImage
+getFullImage ()
+
+Returns the full image the result was found on.
+
+
+
+java.util.List<android.graphics.PointF>
+getOutline ()
+
+Returns the outline around the detected result.
+
+
+
+T
+getResult ()
+
+Returns the actual result of the scanning process.
+
+
+
+static void
+reportCorrectedResult (android.content.Context context,
+ java.lang.String blobKey,
+ java.lang.String correctedResult,
+ java.lang.String apiKey,
+ TrainerUtils.ReportCorrectedResultHandler correctedResultHandler)
+
+
+
+void
+reportCorrectedResult (android.content.Context context,
+ java.lang.String correctedResult,
+ java.lang.String apiKey,
+ TrainerUtils.ReportCorrectedResultHandler correctedResultHandler)
+
+Reports a corrected result
+
+
+
+static void
+reportCorrectedResult (android.content.Context context,
+ java.lang.String blobKey,
+ java.util.Map<java.lang.String,java.lang.String> correctedResult,
+ java.lang.String apiKey,
+ TrainerUtils.ReportCorrectedResultHandler correctedResultHandler)
+
+
+
+void
+reportCorrectedResult (android.content.Context context,
+ java.util.Map<java.lang.String,java.lang.String> correctedResult,
+ java.lang.String apiKey,
+ TrainerUtils.ReportCorrectedResultHandler correctedResultHandler)
+
+Reports a corrected result
+
+
+
+void
+setOutline (java.util.List<android.graphics.PointF> outline)
+
+Set the outline around the detected result.
+
+
+
+
+
+
+
+Methods inherited from class java.lang.Object
+equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+reportCorrectedResult
+public void reportCorrectedResult(android.content.Context context,
+ java.lang.String correctedResult,
+ java.lang.String apiKey,
+ TrainerUtils.ReportCorrectedResultHandler correctedResultHandler)
+Reports a corrected result
+
+Parameters:
+context
- app context
+correctedResult
- the correct result that should be reported
+apiKey
- API Key for the project ( can be null)
+correctedResultHandler
- interface to handle callbacks of async call
+
+
+
+
+
+
+
+
+reportCorrectedResult
+public void reportCorrectedResult(android.content.Context context,
+ java.util.Map<java.lang.String,java.lang.String> correctedResult,
+ java.lang.String apiKey,
+ TrainerUtils.ReportCorrectedResultHandler correctedResultHandler)
+Reports a corrected result
+
+Parameters:
+context
- app context
+correctedResult
- the correct result that should be reported
+apiKey
- API Key for the project ( can be null)
+correctedResultHandler
- interface to handle callbacks of async call
+
+
+
+
+
+
+
+
+reportCorrectedResult
+public static void reportCorrectedResult(android.content.Context context,
+ java.lang.String blobKey,
+ java.lang.String correctedResult,
+ java.lang.String apiKey,
+ TrainerUtils.ReportCorrectedResultHandler correctedResultHandler)
+
+
+
+
+
+
+
+reportCorrectedResult
+public static void reportCorrectedResult(android.content.Context context,
+ java.lang.String blobKey,
+ java.util.Map<java.lang.String,java.lang.String> correctedResult,
+ java.lang.String apiKey,
+ TrainerUtils.ReportCorrectedResultHandler correctedResultHandler)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/models/AnylineYuvImage.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/models/AnylineYuvImage.html
new file mode 100644
index 000000000..ffb10f204
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/models/AnylineYuvImage.html
@@ -0,0 +1,697 @@
+
+
+
+
+
+
AnylineYuvImage (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+io.anyline.models.AnylineYuvImage
+
+
+
+
+
+
+
+All Implemented Interfaces:
+java.lang.Cloneable
+
+
+public class AnylineYuvImage
+extends java.lang.Object
+implements java.lang.Cloneable
+A helper class to deal with yuv images. (currently only NV21!!)
+ It helps with conversion to OpenCV Mat
+ and deals with the problem that the camera always returns a landscape image.
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+Constructors
+
+Constructor
+Description
+
+
+AnylineYuvImage (int format,
+ int width,
+ int height,
+ byte[] data,
+ int targetOrientation,
+ boolean isGreyOnly)
+
+Construct a yuv image with the given byte data.
+
+
+
+AnylineYuvImage (int format,
+ int width,
+ int height,
+ int targetOrientation)
+
+Deprecated.
+
+
+
+
+
+AnylineYuvImage (android.media.Image image,
+ int targetOrientation,
+ int cropX,
+ int cropY,
+ int cropWidth,
+ int cropHeight,
+ boolean isGreyOnly)
+
+Construct a YUV image from the given image buffer cropped to the given bounds.
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class java.lang.Object
+equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+AnylineYuvImage
+@Deprecated
+public AnylineYuvImage(int format,
+ int width,
+ int height,
+ int targetOrientation)
+Deprecated.
+
+
+Construct a yuv image with empty data.
+
+Parameters:
+format
- the format (currently only NV21 is supported)
+width
- the target width of the image
+height
- the target height of the image
+targetOrientation
- the degree the raw data has to be rotated to be oriented as desired
+ (usually what
+ CameraUtil.getCameraDisplayRotation(Context, int)
+ returns)
+See Also:
+ImageFormat.NV21
+
+
+
+
+
+
+
+
+AnylineYuvImage
+public AnylineYuvImage(int format,
+ int width,
+ int height,
+ byte[] data,
+ int targetOrientation,
+ boolean isGreyOnly)
+Construct a yuv image with the given byte data.
+
+Parameters:
+format
- the format (currently only NV21 is supported)
+width
- the target width of the image
+height
- the target height of the image
+data
- the image data in landscape format (like received from the camera)
+targetOrientation
- the degree the raw data has to be rotated to be oriented as desired
+ (usually what
+ CameraUtil.getCameraDisplayRotation(Context, int)
+ returns)
+isGreyOnly
- true if given data only contains the Y component (and therefor is grey only)
+
+
+
+
+
+
+
+
+AnylineYuvImage
+public AnylineYuvImage(android.media.Image image,
+ int targetOrientation,
+ int cropX,
+ int cropY,
+ int cropWidth,
+ int cropHeight,
+ boolean isGreyOnly)
+Construct a YUV image from the given image buffer cropped to the given bounds.
+
+Parameters:
+image
- the image to copy the data from
+targetOrientation
- the degree the raw data has to be rotated to be oriented as desired
+ (usually what
+ CameraUtil.getCameraDisplayRotation(Context, int)
+ returns)
+cropX
- the distance from the left (must be EVEN for color images)
+cropY
- the distance from the top (must be EVEN for color images)
+cropWidth
- the target width (must be EVEN for color images)
+cropHeight
- the target height (must be EVEN for color images)
+isGreyOnly
- true if a grey image is desired (faster), false if color is required too
+Throws:
+java.lang.IllegalArgumentException
- if the image format is not supported,
+ or if crop values are uneven for color images
+java.lang.IndexOutOfBoundsException
- if the crop is outside of the image's bound
+
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+getData
+public byte[] getData()
+
+ The image data in the format returned by getFormat()
.
+
+ Note: if isGreyOnly()
is true, the format is always Y8 (regardless of what getFormat returns).
+
+
+Returns:
+the data in the format returned by getFormat()
+
+
+
+
+
+
+
+
+getFormat
+public int getFormat()
+Get the format the image is stored in the byte data (see
getData()
).
+ The format is one of the constants in
ImageFormat
.
+ (Currently only
ImageFormat.NV21
or
ImageFormat.YUV_420_888
are possible here,
+ but more formats may be added in the future)
+
+Returns:
+the image format used in the byte data (see getData()
)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+crop
+public AnylineYuvImage crop(int cropX,
+ int cropY,
+ int cropWidth,
+ int cropHeight,
+ boolean isGreyOnly)
+
+ Returns a new image cropped to the given bounds.
+
+ The given sizes must be EVEN for color images, because of how the YUV format stores color information.
+
+
+Parameters:
+cropX
- the distance from the left in the target orientation (must be EVEN for color images)
+cropY
- the distance from the top in the target orientation (must be EVEN for color images)
+cropWidth
- the crop width in the target orientation (must be EVEN for color images)
+cropHeight
- the crop height in the target orientation (must be EVEN for color images)
+isGreyOnly
- true if a grey image is desired (faster), false if color is required too
+Returns:
+a new image cropped to the given bounds.
+Throws:
+java.lang.IllegalArgumentException
- if trying to crop color image from grey source,
+ or if crop values are uneven for color images
+java.lang.IndexOutOfBoundsException
- if the crop is outside of the image's bound
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/models/BitmapCreator.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/models/BitmapCreator.html
new file mode 100644
index 000000000..a3a3fc7fb
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/models/BitmapCreator.html
@@ -0,0 +1,255 @@
+
+
+
+
+
+
BitmapCreator (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/models/BitmapCreatorFactory.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/models/BitmapCreatorFactory.html
new file mode 100644
index 000000000..364dbbacb
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/models/BitmapCreatorFactory.html
@@ -0,0 +1,345 @@
+
+
+
+
+
+
BitmapCreatorFactory (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+io.anyline.models.BitmapCreatorFactory
+
+
+
+
+
+
+
+
+
+
+
+
+
+Field Summary
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class java.lang.Object
+equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Field Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/models/BitmapCreatorImpl.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/models/BitmapCreatorImpl.html
new file mode 100644
index 000000000..04eb0f816
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/models/BitmapCreatorImpl.html
@@ -0,0 +1,316 @@
+
+
+
+
+
+
BitmapCreatorImpl (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+io.anyline.models.BitmapCreatorImpl
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class java.lang.Object
+equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/models/package-summary.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/models/package-summary.html
new file mode 100644
index 000000000..59e19e81f
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/models/package-summary.html
@@ -0,0 +1,206 @@
+
+
+
+
+
+
io.anyline.models (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Interface Summary
+
+Interface
+Description
+
+
+
+BitmapCreator
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/models/package-tree.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/models/package-tree.html
new file mode 100644
index 000000000..a1b356133
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/models/package-tree.html
@@ -0,0 +1,171 @@
+
+
+
+
+
+
io.anyline.models Class Hierarchy (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/modules/AnylineModule.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/modules/AnylineModule.html
new file mode 100644
index 000000000..7318969b2
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/modules/AnylineModule.html
@@ -0,0 +1,405 @@
+
+
+
+
+
+
AnylineModule (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+All Methods Instance Methods Abstract Methods
+
+Modifier and Type
+Method
+Description
+
+
+void
+cancelScanning ()
+
+Stop the scanning (and also all background threads)
+
+
+
+void
+initAnyline (java.lang.String licenseKey,
+ T moduleSpecificListener)
+
+Init with license-key and a module specific listener.
+
+
+
+void
+setBeepOnResult (boolean isBeepOnResult)
+
+If set to true, there is a short beep when a result is found.
+
+
+
+void
+setBlinkOnResult (boolean isBlinkOnResult)
+
+If set to true, there is a short white flashing of the view when a result is found.
+
+
+
+void
+setCameraOpenListener (CameraOpenListener cameraOpenListener)
+
+Set the listener to be notify when the camera opened or an error occurred while opening the camera.
+
+
+
+void
+setCancelOnResult (boolean isCancelOnResult)
+
+
+ If set to true (default) the scanning is canceled automatically when a result is found.
+
+
+
+void
+setDebug (boolean isDebug)
+
+Set to true to get a few additional debug logs.
+
+
+
+void
+setVibrateOnResult (boolean isVibrateOnResult)
+
+If set to true, there is a short vibration if a result is found.
+
+
+
+void
+startScanning ()
+
+Start the scanning.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+startScanning
+void startScanning()
+Start the scanning.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+setBeepOnResult
+void setBeepOnResult(boolean isBeepOnResult)
+If set to true, there is a short beep when a result is found.
+
+
+
+
+
+
+
+setBlinkOnResult
+void setBlinkOnResult(boolean isBlinkOnResult)
+If set to true, there is a short white flashing of the view when a result is found.
+
+
+
+
+
+
+
+setVibrateOnResult
+void setVibrateOnResult(boolean isVibrateOnResult)
+If set to true, there is a short vibration if a result is found.
+ (requires VIBRATE permission)
+
+
+
+
+
+
+
+
+
+
+
+
+
+initAnyline
+void initAnyline(java.lang.String licenseKey,
+ T moduleSpecificListener)
+Init with license-key and a module specific listener.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/modules/AnylineModuleResultListener.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/modules/AnylineModuleResultListener.html
new file mode 100644
index 000000000..70f94ca08
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/modules/AnylineModuleResultListener.html
@@ -0,0 +1,257 @@
+
+
+
+
+
+
AnylineModuleResultListener (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+public interface AnylineModuleResultListener<T extends AnylineScanResult >
+An interface that should be extended by all module specific result listeners, to give them a common root.
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/modules/LicenseExpirationHelper.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/modules/LicenseExpirationHelper.html
new file mode 100644
index 000000000..29b3edae2
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/modules/LicenseExpirationHelper.html
@@ -0,0 +1,287 @@
+
+
+
+
+
+
LicenseExpirationHelper (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+io.anyline.modules.LicenseExpirationHelper
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+All Methods Static Methods Concrete Methods
+
+Modifier and Type
+Method
+Description
+
+
+static void
+showExpirationDialog (android.content.Context context,
+ android.content.DialogInterface.OnClickListener okListener,
+ android.content.DialogInterface.OnClickListener contactListener)
+
+Shows an AlertDialog to the user, informing him that the license has expired
+ Must be run on UiThread
+
+
+
+static void
+showPricingPage (android.content.Context context)
+
+
+
+
+
+
+
+Methods inherited from class java.lang.Object
+equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+showExpirationDialog
+@UiThread
+public static void showExpirationDialog(android.content.Context context,
+ android.content.DialogInterface.OnClickListener okListener,
+ android.content.DialogInterface.OnClickListener contactListener)
+Shows an AlertDialog to the user, informing him that the license has expired
+ Must be run on UiThread
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/modules/package-summary.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/modules/package-summary.html
new file mode 100644
index 000000000..5eda90394
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/modules/package-summary.html
@@ -0,0 +1,186 @@
+
+
+
+
+
+
io.anyline.modules (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/modules/package-tree.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/modules/package-tree.html
new file mode 100644
index 000000000..ca01e0096
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/modules/package-tree.html
@@ -0,0 +1,167 @@
+
+
+
+
+
+
io.anyline.modules Class Hierarchy (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/opencv/core/CvType.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/opencv/core/CvType.html
new file mode 100644
index 000000000..0d86a90e9
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/opencv/core/CvType.html
@@ -0,0 +1,1037 @@
+
+
+
+
+
+
CvType (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+io.anyline.opencv.core.CvType
+
+
+
+
+
+
+
+
+
+
+
+
+
+Field Summary
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+Constructors
+
+Constructor
+Description
+
+
+CvType ()
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class java.lang.Object
+equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+CvType
+public CvType()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/opencv/core/Mat.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/opencv/core/Mat.html
new file mode 100644
index 000000000..f1f7f36b0
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/opencv/core/Mat.html
@@ -0,0 +1,1688 @@
+
+
+
+
+
+
Mat (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+io.anyline.opencv.core.Mat
+
+
+
+
+
+
+
+
+
+
+
+
+
+Field Summary
+
+Fields
+
+Modifier and Type
+Field
+Description
+
+
+long
+nativeObj
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+Constructors
+
+Constructor
+Description
+
+
+Mat ()
+
+
+
+Mat (int rows,
+ int cols,
+ int type)
+
+
+
+Mat (int rows,
+ int cols,
+ int type,
+ Scalar s)
+
+
+
+Mat (long addr)
+
+
+
+Mat (Mat m,
+ Range rowRange)
+
+
+
+Mat (Mat m,
+ Range rowRange,
+ Range colRange)
+
+
+
+Mat (Size size,
+ int type)
+
+
+
+Mat (Size size,
+ int type,
+ Scalar s)
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+All Methods Static Methods Instance Methods Concrete Methods
+
+Modifier and Type
+Method
+Description
+
+
+Mat
+adjustROI (int dtop,
+ int dbottom,
+ int dleft,
+ int dright)
+
+
+
+void
+assignTo (Mat m)
+
+
+
+void
+assignTo (Mat m,
+ int type)
+
+
+
+int
+channels ()
+
+
+
+int
+checkVector (int elemChannels)
+
+
+
+int
+checkVector (int elemChannels,
+ int depth)
+
+
+
+int
+checkVector (int elemChannels,
+ int depth,
+ boolean requireContinuous)
+
+
+
+Mat
+clone ()
+
+
+
+Mat
+col (int x)
+
+
+
+Mat
+colRange (int startcol,
+ int endcol)
+
+
+
+Mat
+colRange (Range r)
+
+
+
+int
+cols ()
+
+
+
+void
+convertTo (Mat m,
+ int rtype)
+
+
+
+void
+convertTo (Mat m,
+ int rtype,
+ double alpha)
+
+
+
+void
+convertTo (Mat m,
+ int rtype,
+ double alpha,
+ double beta)
+
+
+
+void
+copyTo (Mat m)
+
+
+
+void
+copyTo (Mat m,
+ Mat mask)
+
+
+
+void
+create (int rows,
+ int cols,
+ int type)
+
+
+
+void
+create (Size size,
+ int type)
+
+
+
+Mat
+cross (Mat m)
+
+
+
+long
+dataAddr ()
+
+
+
+int
+depth ()
+
+
+
+Mat
+diag ()
+
+
+
+Mat
+diag (int d)
+
+
+
+static Mat
+diag (Mat d)
+
+
+
+int
+dims ()
+
+
+
+double
+dot (Mat m)
+
+
+
+java.lang.String
+dump ()
+
+
+
+long
+elemSize ()
+
+
+
+long
+elemSize1 ()
+
+
+
+boolean
+empty ()
+
+
+
+static Mat
+eye (int rows,
+ int cols,
+ int type)
+
+
+
+static Mat
+eye (Size size,
+ int type)
+
+
+
+double[]
+get (int row,
+ int col)
+
+
+
+int
+get (int row,
+ int col,
+ byte[] data)
+
+
+
+int
+get (int row,
+ int col,
+ double[] data)
+
+
+
+int
+get (int row,
+ int col,
+ float[] data)
+
+
+
+int
+get (int row,
+ int col,
+ int[] data)
+
+
+
+int
+get (int row,
+ int col,
+ short[] data)
+
+
+
+long
+getNativeObjAddr ()
+
+
+
+int
+height ()
+
+
+
+Mat
+inv ()
+
+
+
+Mat
+inv (int method)
+
+
+
+boolean
+isContinuous ()
+
+
+
+boolean
+isSubmatrix ()
+
+
+
+void
+locateROI (Size wholeSize,
+ Point ofs)
+
+
+
+Mat
+mul (Mat m)
+
+
+
+Mat
+mul (Mat m,
+ double scale)
+
+
+
+static Mat
+ones (int rows,
+ int cols,
+ int type)
+
+
+
+static Mat
+ones (Size size,
+ int type)
+
+
+
+void
+push_back (Mat m)
+
+
+
+int
+put (int row,
+ int col,
+ byte[] data)
+
+
+
+int
+put (int row,
+ int col,
+ double... data)
+
+
+
+int
+put (int row,
+ int col,
+ float[] data)
+
+
+
+int
+put (int row,
+ int col,
+ int[] data)
+
+
+
+int
+put (int row,
+ int col,
+ short[] data)
+
+
+
+void
+release ()
+
+
+
+Mat
+reshape (int cn)
+
+
+
+Mat
+reshape (int cn,
+ int rows)
+
+
+
+Mat
+row (int y)
+
+
+
+Mat
+rowRange (int startrow,
+ int endrow)
+
+
+
+Mat
+rowRange (Range r)
+
+
+
+int
+rows ()
+
+
+
+Mat
+setTo (Mat value)
+
+
+
+Mat
+setTo (Mat value,
+ Mat mask)
+
+
+
+Mat
+setTo (Scalar s)
+
+
+
+Mat
+setTo (Scalar value,
+ Mat mask)
+
+
+
+Size
+size ()
+
+
+
+long
+step1 ()
+
+
+
+long
+step1 (int i)
+
+
+
+Mat
+submat (int rowStart,
+ int rowEnd,
+ int colStart,
+ int colEnd)
+
+
+
+Mat
+submat (Rect roi)
+
+
+
+Mat
+submat (Range rowRange,
+ Range colRange)
+
+
+
+Mat
+t ()
+
+
+
+java.lang.String
+toString ()
+
+
+
+long
+total ()
+
+
+
+int
+type ()
+
+
+
+int
+width ()
+
+
+
+static Mat
+zeros (int rows,
+ int cols,
+ int type)
+
+
+
+static Mat
+zeros (Size size,
+ int type)
+
+
+
+
+
+
+
+Methods inherited from class java.lang.Object
+equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Field Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+channels
+public int channels()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+clone
+public Mat clone()
+
+
+
+
+
+
+
+col
+public Mat col(int x)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+dims
+public int dims()
+
+
+
+
+
+
+
+cols
+public int cols()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+cross
+public Mat cross(Mat m)
+
+
+
+
+
+
+
+dataAddr
+public long dataAddr()
+
+
+
+
+
+
+
+depth
+public int depth()
+
+
+
+
+
+
+
+diag
+public Mat diag(int d)
+
+
+
+
+
+
+
+diag
+public Mat diag()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+elemSize
+public long elemSize()
+
+
+
+
+
+
+
+elemSize1
+public long elemSize1()
+
+
+
+
+
+
+
+empty
+public boolean empty()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+inv
+public Mat inv()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+mul
+public Mat mul(Mat m)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+release
+public void release()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+row
+public Mat row(int y)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+rows
+public int rows()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+size
+public Size size()
+
+
+
+
+
+
+
+
+
+
+
+step1
+public long step1()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+total
+public long total()
+
+
+
+
+
+
+
+type
+public int type()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+height
+public int height()
+
+
+
+
+
+
+
+width
+public int width()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/opencv/core/MatOfPoint.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/opencv/core/MatOfPoint.html
new file mode 100644
index 000000000..cb3843a3a
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/opencv/core/MatOfPoint.html
@@ -0,0 +1,428 @@
+
+
+
+
+
+
MatOfPoint (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Field Summary
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class io.anyline.opencv.core.Mat
+adjustROI , assignTo , assignTo , channels , checkVector , checkVector , checkVector , clone , col , colRange , colRange , cols , convertTo , convertTo , convertTo , copyTo , copyTo , create , create , cross , dataAddr , depth , diag , diag , diag , dims , dot , dump , elemSize , elemSize1 , empty , eye , eye , get , get , get , get , get , get , getNativeObjAddr , height , inv , inv , isContinuous , isSubmatrix , locateROI , mul , mul , ones , ones , push_back , put , put , put , put , put , release , reshape , reshape , row , rowRange , rowRange , rows , setTo , setTo , setTo , setTo , size , step1 , step1 , submat , submat , submat , t , toString , total , type , width , zeros , zeros
+
+
+
+
+
+Methods inherited from class java.lang.Object
+equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+MatOfPoint
+public MatOfPoint()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/opencv/core/Point.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/opencv/core/Point.html
new file mode 100644
index 000000000..2465416d1
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/opencv/core/Point.html
@@ -0,0 +1,483 @@
+
+
+
+
+
+
Point (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+io.anyline.opencv.core.Point
+
+
+
+
+
+
+
+
+
+
+
+
+
+Field Summary
+
+Fields
+
+Modifier and Type
+Field
+Description
+
+
+double
+x
+
+
+
+double
+y
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+Constructors
+
+Constructor
+Description
+
+
+Point ()
+
+
+
+Point (double[] vals)
+
+
+
+Point (double x,
+ double y)
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class java.lang.Object
+getClass, notify, notifyAll, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Field Detail
+
+
+
+
+
+x
+public double x
+
+
+
+
+
+
+
+y
+public double y
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+
+
+
+
+Point
+public Point()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+
+
+
+
+clone
+public Point clone()
+
+
+
+
+
+
+
+
+
+
+
+hashCode
+public int hashCode()
+
+Overrides:
+hashCode
in class java.lang.Object
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/opencv/core/Rect.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/opencv/core/Rect.html
new file mode 100644
index 000000000..434c4e114
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/opencv/core/Rect.html
@@ -0,0 +1,587 @@
+
+
+
+
+
+
Rect (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+io.anyline.opencv.core.Rect
+
+
+
+
+
+
+
+
+
+
+
+
+
+Field Summary
+
+Fields
+
+Modifier and Type
+Field
+Description
+
+
+int
+height
+
+
+
+int
+width
+
+
+
+int
+x
+
+
+
+int
+y
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+Constructors
+
+Constructor
+Description
+
+
+Rect ()
+
+
+
+Rect (double[] vals)
+
+
+
+Rect (int x,
+ int y,
+ int width,
+ int height)
+
+
+
+Rect (Point p1,
+ Point p2)
+
+
+
+Rect (Point p,
+ Size s)
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class java.lang.Object
+getClass, notify, notifyAll, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Field Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+width
+public int width
+
+
+
+
+
+
+
+height
+public int height
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+
+
+
+
+Rect
+public Rect()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+
+
+
+
+clone
+public Rect clone()
+
+
+
+
+
+
+
+tl
+public Point tl()
+
+
+
+
+
+
+
+br
+public Point br()
+
+
+
+
+
+
+
+size
+public Size size()
+
+
+
+
+
+
+
+area
+public double area()
+
+
+
+
+
+
+
+
+
+
+
+hashCode
+public int hashCode()
+
+Overrides:
+hashCode
in class java.lang.Object
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/opencv/core/Scalar.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/opencv/core/Scalar.html
new file mode 100644
index 000000000..53330da8a
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/opencv/core/Scalar.html
@@ -0,0 +1,549 @@
+
+
+
+
+
+
Scalar (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+io.anyline.opencv.core.Scalar
+
+
+
+
+
+
+
+
+
+
+
+
+
+Field Summary
+
+Fields
+
+Modifier and Type
+Field
+Description
+
+
+double[]
+val
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+Constructors
+
+Constructor
+Description
+
+
+Scalar (double v0)
+
+
+
+Scalar (double[] vals)
+
+
+
+Scalar (double v0,
+ double v1)
+
+
+
+Scalar (double v0,
+ double v1,
+ double v2)
+
+
+
+Scalar (double v0,
+ double v1,
+ double v2,
+ double v3)
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class java.lang.Object
+getClass, notify, notifyAll, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Field Detail
+
+
+
+
+
+val
+public double[] val
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+clone
+public Scalar clone()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+conj
+public Scalar conj()
+
+
+
+
+
+
+
+isReal
+public boolean isReal()
+
+
+
+
+
+
+
+hashCode
+public int hashCode()
+
+Overrides:
+hashCode
in class java.lang.Object
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/opencv/core/Size.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/opencv/core/Size.html
new file mode 100644
index 000000000..4e1e4bc5b
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/opencv/core/Size.html
@@ -0,0 +1,482 @@
+
+
+
+
+
+
Size (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+io.anyline.opencv.core.Size
+
+
+
+
+
+
+
+
+
+
+
+
+
+Field Summary
+
+Fields
+
+Modifier and Type
+Field
+Description
+
+
+double
+height
+
+
+
+double
+width
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+Constructors
+
+Constructor
+Description
+
+
+Size ()
+
+
+
+Size (double[] vals)
+
+
+
+Size (double width,
+ double height)
+
+
+
+Size (Point p)
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class java.lang.Object
+getClass, notify, notifyAll, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Field Detail
+
+
+
+
+
+width
+public double width
+
+
+
+
+
+
+
+height
+public double height
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+
+
+
+
+Size
+public Size()
+
+
+
+
+
+
+
+Size
+public Size(Point p)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+
+
+
+
+area
+public double area()
+
+
+
+
+
+
+
+clone
+public Size clone()
+
+
+
+
+
+
+
+hashCode
+public int hashCode()
+
+Overrides:
+hashCode
in class java.lang.Object
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/opencv/core/package-summary.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/opencv/core/package-summary.html
new file mode 100644
index 000000000..c64a87361
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/opencv/core/package-summary.html
@@ -0,0 +1,187 @@
+
+
+
+
+
+
io.anyline.opencv.core (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/opencv/core/package-tree.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/opencv/core/package-tree.html
new file mode 100644
index 000000000..df0095196
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/opencv/core/package-tree.html
@@ -0,0 +1,169 @@
+
+
+
+
+
+
io.anyline.opencv.core Class Hierarchy (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Class Hierarchy
+
+java.lang.Object
+
+io.anyline.opencv.core.CvType
+io.anyline.opencv.core.Mat
+
+
+io.anyline.opencv.core.Point
+io.anyline.opencv.core.Rect
+io.anyline.opencv.core.Scalar
+io.anyline.opencv.core.Size
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/package-summary.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/package-summary.html
new file mode 100644
index 000000000..4479876ab
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/package-summary.html
@@ -0,0 +1,198 @@
+
+
+
+
+
+
io.anyline (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Class Summary
+
+Class
+Description
+
+
+
+AnylineController
+
+The AnylineController is responsible for the actual processing of images.
+
+
+
+SimpleImageProvider
+
+A simple implementation of the ImageProvider interface.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/package-tree.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/package-tree.html
new file mode 100644
index 000000000..ed4ca229e
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/package-tree.html
@@ -0,0 +1,169 @@
+
+
+
+
+
+
io.anyline Class Hierarchy (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/AbstractScanPlugin.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/AbstractScanPlugin.html
new file mode 100644
index 000000000..4b4b70ff7
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/AbstractScanPlugin.html
@@ -0,0 +1,833 @@
+
+
+
+
+
+
AbstractScanPlugin (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+io.anyline.plugin.AbstractScanPlugin<ResultType>
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+Constructors
+
+Constructor
+Description
+
+
+AbstractScanPlugin (android.content.Context context,
+ java.lang.String id,
+ java.lang.String anylineAssetsJsonPath,
+ java.lang.String cmdFileName)
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class java.lang.Object
+equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+AbstractScanPlugin
+public AbstractScanPlugin(android.content.Context context,
+ java.lang.String id,
+ java.lang.String anylineAssetsJsonPath,
+ java.lang.String cmdFileName)
+
+Parameters:
+context
- the context
+id
- the identifier this plugin should use
+anylineAssetsJsonPath
- the path to the "anyline_assets.json" for this plugin
+cmdFileName
- the name of the alc/ale file to use for scanning
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/ScanInfo.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/ScanInfo.html
new file mode 100644
index 000000000..e6f127b29
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/ScanInfo.html
@@ -0,0 +1,361 @@
+
+
+
+
+
+
ScanInfo (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+io.anyline.plugin.ScanInfo
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+Constructors
+
+Constructor
+Description
+
+
+ScanInfo (java.lang.String pluginId,
+ java.lang.String key,
+ java.lang.Object value)
+
+Create new scan information.
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class java.lang.Object
+equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+ScanInfo
+public ScanInfo(java.lang.String pluginId,
+ java.lang.String key,
+ java.lang.Object value)
+Create new scan information.
+
+Parameters:
+pluginId
- the id of the plugin where this information arose
+key
- the key to identify the information itself
+value
- the value of the info
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/ScanInfoListener.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/ScanInfoListener.html
new file mode 100644
index 000000000..a63a5d515
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/ScanInfoListener.html
@@ -0,0 +1,259 @@
+
+
+
+
+
+
ScanInfoListener (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/ScanPlugin.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/ScanPlugin.html
new file mode 100644
index 000000000..bbb138da6
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/ScanPlugin.html
@@ -0,0 +1,477 @@
+
+
+
+
+
+
ScanPlugin (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+getId
+java.lang.String getId()
+
+Returns:
+the identifier of the plugin
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+setImageProvider
+void setImageProvider(ImageProvider imageProvider)
+Set the provider, where the plugin can get the images from.
+
+Parameters:
+imageProvider
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/ScanResult.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/ScanResult.html
new file mode 100644
index 000000000..38bcef5d8
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/ScanResult.html
@@ -0,0 +1,389 @@
+
+
+
+
+
+
ScanResult (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+Constructors
+
+Constructor
+Description
+
+
+ScanResult (java.lang.String pluginId,
+ java.util.List<android.graphics.PointF> outline,
+ java.lang.Integer confidence,
+ AnylineImage cutoutImage,
+ AnylineImage fullImage,
+ AnylineImage faceImage,
+ T result,
+ java.lang.String blobKey)
+
+
+
+ScanResult (java.lang.String pluginId,
+ java.util.List<android.graphics.PointF> outline,
+ java.lang.Integer confidence,
+ AnylineImage cutoutImage,
+ AnylineImage fullImage,
+ T result,
+ java.lang.String blobKey)
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class io.anyline.models.AnylineScanResult
+getBlobKey , getConfidence , getCutoutImage , getFaceImage , getFullImage , getOutline , getResult , reportCorrectedResult , reportCorrectedResult , reportCorrectedResult , reportCorrectedResult , setOutline
+
+
+
+
+
+Methods inherited from class java.lang.Object
+equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+
+
+ScanResult
+public ScanResult(@Nullable
+ java.lang.String pluginId,
+ @Nullable
+ java.util.List<android.graphics.PointF> outline,
+ @Nullable
+ java.lang.Integer confidence,
+ @Nullable
+ AnylineImage cutoutImage,
+ @Nullable
+ AnylineImage fullImage,
+ @NonNull
+ T result,
+ @NonNull
+ java.lang.String blobKey)
+
+
+
+
+
+
+
+
+
+ScanResult
+public ScanResult(@Nullable
+ java.lang.String pluginId,
+ @Nullable
+ java.util.List<android.graphics.PointF> outline,
+ @Nullable
+ java.lang.Integer confidence,
+ @Nullable
+ AnylineImage cutoutImage,
+ @Nullable
+ AnylineImage fullImage,
+ @Nullable
+ AnylineImage faceImage,
+ @NonNull
+ T result,
+ @NonNull
+ java.lang.String blobKey)
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/ScanResultListener.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/ScanResultListener.html
new file mode 100644
index 000000000..a96d7335e
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/ScanResultListener.html
@@ -0,0 +1,258 @@
+
+
+
+
+
+
ScanResultListener (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+
+
+onResult
+void onResult(T result)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/ScanRunSkippedListener.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/ScanRunSkippedListener.html
new file mode 100644
index 000000000..7c03ddff3
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/ScanRunSkippedListener.html
@@ -0,0 +1,259 @@
+
+
+
+
+
+
ScanRunSkippedListener (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/ScanRunSkippedReason.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/ScanRunSkippedReason.html
new file mode 100644
index 000000000..e5a928b08
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/ScanRunSkippedReason.html
@@ -0,0 +1,361 @@
+
+
+
+
+
+
ScanRunSkippedReason (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+io.anyline.plugin.ScanRunSkippedReason
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+Constructors
+
+Constructor
+Description
+
+
+ScanRunSkippedReason (java.lang.String pluginId,
+ int code,
+ java.lang.String text)
+
+Create a new skip reason.
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class java.lang.Object
+equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+ScanRunSkippedReason
+public ScanRunSkippedReason(java.lang.String pluginId,
+ int code,
+ java.lang.String text)
+Create a new skip reason.
+
+Parameters:
+pluginId
- the id of the plugin that skipped an image
+code
- the code of the reason for the skipping
+text
- the reason of the skipping as readable english text
+
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+
+
+
+
+getCode
+public int getCode()
+
+Returns:
+the code of the reason for the skipping
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/barcode/Barcode.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/barcode/Barcode.html
new file mode 100644
index 000000000..b00fd5995
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/barcode/Barcode.html
@@ -0,0 +1,407 @@
+
+
+
+
+
+
Barcode (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+io.anyline.plugin.barcode.Barcode
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class java.lang.Object
+equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/barcode/BarcodeFormat.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/barcode/BarcodeFormat.html
new file mode 100644
index 000000000..de50980b0
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/barcode/BarcodeFormat.html
@@ -0,0 +1,965 @@
+
+
+
+
+
+
BarcodeFormat (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+java.lang.Enum<BarcodeFormat >
+
+
+io.anyline.plugin.barcode.BarcodeFormat
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Enum Constant Summary
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class java.lang.Enum
+compareTo, equals, getDeclaringClass, hashCode, name, ordinal, valueOf
+
+
+
+
+
+Methods inherited from class java.lang.Object
+getClass, notify, notifyAll, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+
+
+
+
+valueOf
+public static BarcodeFormat valueOf(java.lang.String name)
+Returns the enum constant of this type with the specified name.
+The string must match exactly an identifier used to declare an
+enum constant in this type. (Extraneous whitespace characters are
+not permitted.)
+
+Parameters:
+name
- the name of the enum constant to be returned.
+Returns:
+the enum constant with the specified name
+Throws:
+java.lang.IllegalArgumentException
- if this enum type has no constant with the specified name
+java.lang.NullPointerException
- if the argument is null
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/barcode/BarcodeScanPlugin.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/barcode/BarcodeScanPlugin.html
new file mode 100644
index 000000000..34d8b209b
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/barcode/BarcodeScanPlugin.html
@@ -0,0 +1,474 @@
+
+
+
+
+
+
BarcodeScanPlugin (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+Constructors
+
+Constructor
+Description
+
+
+BarcodeScanPlugin (android.content.Context context,
+ java.lang.String id)
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class io.anyline.plugin.AbstractScanPlugin
+addScanInfoListener , addScanResultListener , addScanRunSkippedListener , cancelController , getAnylineController , getAssetController , getId , getLastImageWithFullSize , isRunning , removeArgumentExceptionListener , removeScanInfoListener , removeScanResultListener , removeScanRunSkippedListener , setArgumentExceptionListener , setAssetPath , setCancelOnResult , setCmdFileName , setCropRect , setDebug , setDelayScanTime , setId , setImageProvider , stop
+
+
+
+
+
+Methods inherited from class java.lang.Object
+equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/barcode/BarcodeScanResult.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/barcode/BarcodeScanResult.html
new file mode 100644
index 000000000..0eb8f1cb9
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/barcode/BarcodeScanResult.html
@@ -0,0 +1,308 @@
+
+
+
+
+
+
BarcodeScanResult (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+Constructors
+
+Constructor
+Description
+
+
+BarcodeScanResult (java.lang.String pluginId,
+ java.util.List<android.graphics.PointF> outline,
+ java.lang.Integer confidence,
+ AnylineImage cutoutImage,
+ AnylineImage fullImage,
+ java.util.List<Barcode > result,
+ java.lang.String blobKey)
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class io.anyline.models.AnylineScanResult
+getBlobKey , getConfidence , getCutoutImage , getFaceImage , getFullImage , getOutline , getResult , reportCorrectedResult , reportCorrectedResult , reportCorrectedResult , reportCorrectedResult , setOutline
+
+
+
+
+
+Methods inherited from class java.lang.Object
+equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+BarcodeScanResult
+public BarcodeScanResult(@Nullable
+ java.lang.String pluginId,
+ @Nullable
+ java.util.List<android.graphics.PointF> outline,
+ @Nullable
+ java.lang.Integer confidence,
+ @Nullable
+ AnylineImage cutoutImage,
+ @Nullable
+ AnylineImage fullImage,
+ @NonNull
+ java.util.List<Barcode > result,
+ @NonNull
+ java.lang.String blobKey)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/barcode/BarcodeScanViewPlugin.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/barcode/BarcodeScanViewPlugin.html
new file mode 100644
index 000000000..17cb45437
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/barcode/BarcodeScanViewPlugin.html
@@ -0,0 +1,419 @@
+
+
+
+
+
+
BarcodeScanViewPlugin (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class io.anyline.view.AbstractScanViewPlugin
+addScanInfoListener , addScanResultListener , addScanRunSkippedListener , addUIConfigChangedListener , calcCutOutAndImageCropBounds , getAllScanViewPlugins , getCancelOnResult , getCutoutRect , getId , getScanPlugin , getScanViewPluginConfig , removeScanInfoListener , removeScanResultListener , removeScanRunSkippedListener , removeUIConfigChangedListener , setCancelOnResult , setCropRect , setDelayScanTime , setImageProvider , start , stop
+
+
+
+
+
+
+Methods inherited from class java.lang.Object
+equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/barcode/PDF417.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/barcode/PDF417.html
new file mode 100644
index 000000000..ff857cb35
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/barcode/PDF417.html
@@ -0,0 +1,387 @@
+
+
+
+
+
+
PDF417 (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+io.anyline.plugin.barcode.PDF417
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+Constructors
+
+Constructor
+Description
+
+
+PDF417 ()
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class java.lang.Object
+equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+PDF417
+public PDF417()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/barcode/ScannedBarcodesListener.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/barcode/ScannedBarcodesListener.html
new file mode 100644
index 000000000..9f9aa33e2
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/barcode/ScannedBarcodesListener.html
@@ -0,0 +1,257 @@
+
+
+
+
+
+
ScannedBarcodesListener (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/barcode/package-summary.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/barcode/package-summary.html
new file mode 100644
index 000000000..e4a199451
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/barcode/package-summary.html
@@ -0,0 +1,218 @@
+
+
+
+
+
+
io.anyline.plugin.barcode (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Enum Summary
+
+Enum
+Description
+
+
+
+BarcodeFormat
+
+
+ An enum for available Barcode Formats that can be detected by the
BarcodeScanPlugin
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/barcode/package-tree.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/barcode/package-tree.html
new file mode 100644
index 000000000..638ffcf46
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/barcode/package-tree.html
@@ -0,0 +1,204 @@
+
+
+
+
+
+
io.anyline.plugin.barcode Class Hierarchy (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Enum Hierarchy
+
+java.lang.Object
+
+java.lang.Enum<E> (implements java.lang.Comparable<T>, java.io.Serializable)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/document/DocumentNotifierListener.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/document/DocumentNotifierListener.html
new file mode 100644
index 000000000..4c6a7fa3c
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/document/DocumentNotifierListener.html
@@ -0,0 +1,279 @@
+
+
+
+
+
+
DocumentNotifierListener (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+notifyCamera
+void notifyCamera()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/document/DocumentScanPlugin.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/document/DocumentScanPlugin.html
new file mode 100644
index 000000000..795eae65d
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/document/DocumentScanPlugin.html
@@ -0,0 +1,800 @@
+
+
+
+
+
+
DocumentScanPlugin (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+Constructors
+
+Constructor
+Description
+
+
+DocumentScanPlugin (android.content.Context context,
+ java.lang.String id)
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class io.anyline.plugin.AbstractScanPlugin
+addScanInfoListener , addScanResultListener , addScanRunSkippedListener , cancelController , getAnylineController , getAssetController , getId , getImageProvider , getLastImageWithFullSize , isRunning , removeArgumentExceptionListener , removeScanInfoListener , removeScanResultListener , removeScanRunSkippedListener , setArgumentExceptionListener , setAssetPath , setCmdFileName , setCropRect , setDebug , setDelayScanTime , setId , stop
+
+
+
+
+
+Methods inherited from class java.lang.Object
+equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+setMaxDocumentOutputResolution
+public void setMaxDocumentOutputResolution(java.lang.Double width,
+ java.lang.Double height)
+Set the maximum output resolution of the document.
+
+Parameters:
+width
- the new maximum width.
+height
- the new maximum height.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+setSkipImages
+public void setSkipImages(boolean skip)
+Set to true to skip images until this is reset
+ (can be used to avoid processing, e.g. while the device is shaking)
+
+Parameters:
+skip
- true to skip, false to continue
+
+
+
+
+
+
+
+
+setMinBrightness
+public void setMinBrightness(float minBrightness)
+Set the minimum brightness (default is 60). If the brightness is below this value, the
+
+Parameters:
+minBrightness
- the new minimum brightness.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+setPostProcessingEnabled
+public void setPostProcessingEnabled(boolean enabled)
+If enabled, starts post processing after a full document snap. (Default: false)
+
+Parameters:
+enabled
- post processing enabled
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/document/DocumentScanResultListener.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/document/DocumentScanResultListener.html
new file mode 100644
index 000000000..36649a725
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/document/DocumentScanResultListener.html
@@ -0,0 +1,470 @@
+
+
+
+
+
+
DocumentScanResultListener (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+
+
+
+
+onPreviewProcessingFailure
+void onPreviewProcessingFailure(DocumentScanViewPlugin.DocumentError error)
+Called if the preview run failed on an image. The error is provided, and the next run is started automatically.
+
+Parameters:
+error
- The error of the preview run.
+
+
+
+
+
+
+
+
+onPictureProcessingFailure
+void onPictureProcessingFailure(DocumentScanViewPlugin.DocumentError error)
+Called if the run on the full frame was unsuccessful. The scanning process automatically starts again with a
+ preview scan.
+
+Parameters:
+error
- The error of the full frame run
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+onTakePictureError
+void onTakePictureError(java.lang.Throwable error)
+Called if there was an error capturing the picture from the camera. This is most likely an OutOfMemoryError,
+ indicating that the previous pictures were not cached / recycled properly, which results in the app running
+ out of memory
+
+Parameters:
+error
- The error that was thrown during taking the picture
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/document/DocumentScanState.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/document/DocumentScanState.html
new file mode 100644
index 000000000..b60d67a43
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/document/DocumentScanState.html
@@ -0,0 +1,402 @@
+
+
+
+
+
+
DocumentScanState (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+java.lang.Enum<DocumentScanState >
+
+
+io.anyline.plugin.document.DocumentScanState
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Enum Constant Summary
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class java.lang.Enum
+compareTo, equals, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
+
+
+
+
+
+Methods inherited from class java.lang.Object
+getClass, notify, notifyAll, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+
+
+
+
+valueOf
+public static DocumentScanState valueOf(java.lang.String name)
+Returns the enum constant of this type with the specified name.
+The string must match exactly an identifier used to declare an
+enum constant in this type. (Extraneous whitespace characters are
+not permitted.)
+
+Parameters:
+name
- the name of the enum constant to be returned.
+Returns:
+the enum constant with the specified name
+Throws:
+java.lang.IllegalArgumentException
- if this enum type has no constant with the specified name
+java.lang.NullPointerException
- if the argument is null
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/document/DocumentScanViewPlugin.DocumentError.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/document/DocumentScanViewPlugin.DocumentError.html
new file mode 100644
index 000000000..7308758b2
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/document/DocumentScanViewPlugin.DocumentError.html
@@ -0,0 +1,487 @@
+
+
+
+
+
+
DocumentScanViewPlugin.DocumentError (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Enum Constant Summary
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class java.lang.Enum
+compareTo, equals, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
+
+
+
+
+
+Methods inherited from class java.lang.Object
+getClass, notify, notifyAll, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+
+
+
+
+valueOf
+public static DocumentScanViewPlugin.DocumentError valueOf(java.lang.String name)
+Returns the enum constant of this type with the specified name.
+The string must match exactly an identifier used to declare an
+enum constant in this type. (Extraneous whitespace characters are
+not permitted.)
+
+Parameters:
+name
- the name of the enum constant to be returned.
+Returns:
+the enum constant with the specified name
+Throws:
+java.lang.IllegalArgumentException
- if this enum type has no constant with the specified name
+java.lang.NullPointerException
- if the argument is null
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/document/DocumentScanViewPlugin.DocumentRatio.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/document/DocumentScanViewPlugin.DocumentRatio.html
new file mode 100644
index 000000000..9334aef03
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/document/DocumentScanViewPlugin.DocumentRatio.html
@@ -0,0 +1,476 @@
+
+
+
+
+
+
DocumentScanViewPlugin.DocumentRatio (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Enum Constant Summary
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class java.lang.Enum
+compareTo, equals, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
+
+
+
+
+
+Methods inherited from class java.lang.Object
+getClass, notify, notifyAll, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+
+
+
+
+valueOf
+public static DocumentScanViewPlugin.DocumentRatio valueOf(java.lang.String name)
+Returns the enum constant of this type with the specified name.
+The string must match exactly an identifier used to declare an
+enum constant in this type. (Extraneous whitespace characters are
+not permitted.)
+
+Parameters:
+name
- the name of the enum constant to be returned.
+Returns:
+the enum constant with the specified name
+Throws:
+java.lang.IllegalArgumentException
- if this enum type has no constant with the specified name
+java.lang.NullPointerException
- if the argument is null
+
+
+
+
+
+
+
+
+getRatio
+public double getRatio()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/document/DocumentScanViewPlugin.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/document/DocumentScanViewPlugin.html
new file mode 100644
index 000000000..572a95bbc
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/document/DocumentScanViewPlugin.html
@@ -0,0 +1,696 @@
+
+
+
+
+
+
DocumentScanViewPlugin (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Nested Class Summary
+
+
+
+
+
+
+
+
+
+
+Field Summary
+
+Fields
+
+Modifier and Type
+Field
+Description
+
+
+static java.lang.String
+COLOR_GREEN
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class io.anyline.view.AbstractScanViewPlugin
+addScanInfoListener , addScanResultListener , addScanRunSkippedListener , addUIConfigChangedListener , calcCutOutAndImageCropBounds , getAllScanViewPlugins , getCancelOnResult , getCutoutRect , getId , getScanPlugin , getScanViewPluginConfig , removeScanInfoListener , removeScanResultListener , removeScanRunSkippedListener , removeUIConfigChangedListener , setCancelOnResult , setCropRect , setDelayScanTime , setImageProvider
+
+
+
+
+
+
+Methods inherited from class java.lang.Object
+equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Field Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+setMaxDocumentOutputResolution
+public void setMaxDocumentOutputResolution(java.lang.Double width,
+ java.lang.Double height)
+Set the maximum output resolution of the document.
+
+Parameters:
+width
- the new maximum width.
+height
- the new maximum height.
+
+
+
+
+
+
+
+
+setMinBrightness
+public void setMinBrightness(float minBrightness)
+Set the minimum brightness (default is 60). If the brightness is below this value, the
+
+Parameters:
+minBrightness
- the new minimum brightness.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+setPostProcessingEnabled
+public void setPostProcessingEnabled(boolean enabled)
+If enabled, starts post processing after a full document snap. (Default: false)
+
+Parameters:
+enabled
- post processing enabled
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/document/package-summary.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/document/package-summary.html
new file mode 100644
index 000000000..19272b16a
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/document/package-summary.html
@@ -0,0 +1,223 @@
+
+
+
+
+
+
io.anyline.plugin.document (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/document/package-tree.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/document/package-tree.html
new file mode 100644
index 000000000..f9e9f26b9
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/document/package-tree.html
@@ -0,0 +1,200 @@
+
+
+
+
+
+
io.anyline.plugin.document Class Hierarchy (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Enum Hierarchy
+
+java.lang.Object
+
+java.lang.Enum<E> (implements java.lang.Comparable<T>, java.io.Serializable)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/id/Alphabet.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/id/Alphabet.html
new file mode 100644
index 000000000..d124089fa
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/id/Alphabet.html
@@ -0,0 +1,402 @@
+
+
+
+
+
+
Alphabet (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+java.lang.Enum<Alphabet >
+
+
+io.anyline.plugin.id.Alphabet
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Enum Constant Summary
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+All Methods Static Methods Concrete Methods
+
+Modifier and Type
+Method
+Description
+
+
+static Alphabet
+fromString (java.lang.String stringValue)
+
+
+
+static Alphabet
+valueOf (java.lang.String name)
+
+Returns the enum constant of this type with the specified name.
+
+
+
+static Alphabet []
+values ()
+
+Returns an array containing the constants of this enum type, in
+the order they are declared.
+
+
+
+
+
+
+
+Methods inherited from class java.lang.Enum
+compareTo, equals, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
+
+
+
+
+
+Methods inherited from class java.lang.Object
+getClass, notify, notifyAll, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+
+
+
+
+valueOf
+public static Alphabet valueOf(java.lang.String name)
+Returns the enum constant of this type with the specified name.
+The string must match exactly an identifier used to declare an
+enum constant in this type. (Extraneous whitespace characters are
+not permitted.)
+
+Parameters:
+name
- the name of the enum constant to be returned.
+Returns:
+the enum constant with the specified name
+Throws:
+java.lang.IllegalArgumentException
- if this enum type has no constant with the specified name
+java.lang.NullPointerException
- if the argument is null
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/id/AlphabetMapper.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/id/AlphabetMapper.html
new file mode 100644
index 000000000..75d9f6747
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/id/AlphabetMapper.html
@@ -0,0 +1,303 @@
+
+
+
+
+
+
AlphabetMapper (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+io.anyline.plugin.id.AlphabetMapper
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class java.lang.Object
+equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+AlphabetMapper
+public AlphabetMapper()
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/id/DataObject.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/id/DataObject.html
new file mode 100644
index 000000000..bf7c6c535
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/id/DataObject.html
@@ -0,0 +1,187 @@
+
+
+
+
+
+
DataObject (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/id/ID.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/id/ID.html
new file mode 100644
index 000000000..197263c8a
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/id/ID.html
@@ -0,0 +1,406 @@
+
+
+
+
+
+
ID (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+io.anyline.plugin.id.ID<TFieldConfidences>
+
+
+
+
+
+
+
+
+
+
+
+
+
+Field Summary
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+Constructors
+
+Constructor
+Description
+
+
+ID ()
+
+
+
+ID (Identification identification)
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class java.lang.Object
+equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Field Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/id/IDFieldConfidences.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/id/IDFieldConfidences.html
new file mode 100644
index 000000000..b938affaa
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/id/IDFieldConfidences.html
@@ -0,0 +1,271 @@
+
+
+
+
+
+
IDFieldConfidences (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+io.anyline.plugin.id.IDFieldConfidences
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class java.lang.Object
+equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+initDictionaryStartVariableFromJsonObject
+public static java.util.Map<java.lang.String,java.lang.Integer> initDictionaryStartVariableFromJsonObject(android.content.Context context,
+ org.json.JSONObject json,
+ java.lang.Object object)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/id/IDFieldScanOptions.FieldScanOption.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/id/IDFieldScanOptions.FieldScanOption.html
new file mode 100644
index 000000000..428b6261d
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/id/IDFieldScanOptions.FieldScanOption.html
@@ -0,0 +1,434 @@
+
+
+
+
+
+
IDFieldScanOptions.FieldScanOption (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Enum Constant Summary
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class java.lang.Enum
+compareTo, equals, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
+
+
+
+
+
+Methods inherited from class java.lang.Object
+getClass, notify, notifyAll, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+
+
+
+
+valueOf
+public static IDFieldScanOptions.FieldScanOption valueOf(java.lang.String name)
+Returns the enum constant of this type with the specified name.
+The string must match exactly an identifier used to declare an
+enum constant in this type. (Extraneous whitespace characters are
+not permitted.)
+
+Parameters:
+name
- the name of the enum constant to be returned.
+Returns:
+the enum constant with the specified name
+Throws:
+java.lang.IllegalArgumentException
- if this enum type has no constant with the specified name
+java.lang.NullPointerException
- if the argument is null
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/id/IDFieldScanOptions.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/id/IDFieldScanOptions.html
new file mode 100644
index 000000000..abd15809a
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/id/IDFieldScanOptions.html
@@ -0,0 +1,296 @@
+
+
+
+
+
+
IDFieldScanOptions (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+io.anyline.plugin.id.IDFieldScanOptions
+
+
+
+
+
+
+
+
+
+
+
+
+
+Nested Class Summary
+
+Nested Classes
+
+Modifier and Type
+Class
+Description
+
+
+static class
+IDFieldScanOptions.FieldScanOption
+
+Helper enum for the possible scan option applied to the fields
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class java.lang.Object
+equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+initDictionaryStartVariableFromJsonObject
+public static java.util.Map<java.lang.String,java.lang.Integer> initDictionaryStartVariableFromJsonObject(android.content.Context context,
+ org.json.JSONObject json,
+ java.lang.Object object)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/id/IdConfig.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/id/IdConfig.html
new file mode 100644
index 000000000..41e27ce8c
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/id/IdConfig.html
@@ -0,0 +1,515 @@
+
+
+
+
+
+
IdConfig (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+io.anyline.plugin.id.IdConfig<TFieldConfidences,TFieldScanOptions>
+
+
+
+
+
+
+
+
+
+
+
+
+
+Field Summary
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+Constructors
+
+Constructor
+Description
+
+
+IdConfig ()
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class java.lang.Object
+equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+IdConfig
+public IdConfig()
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+
+
+
+
+enableFaceDetection
+public void enableFaceDetection(boolean faceDetectionEnabled)
+Set strict mode for IdScanPlugin
+ If the strict mode is enabled, a scan will be performed just when all checkdigits are valid
+
+Parameters:
+faceDetectionEnabled
- represented as boolean
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/id/IdScanPlugin.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/id/IdScanPlugin.html
new file mode 100644
index 000000000..ffa9ab7b4
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/id/IdScanPlugin.html
@@ -0,0 +1,442 @@
+
+
+
+
+
+
IdScanPlugin (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+Constructors
+
+Constructor
+Description
+
+
+IdScanPlugin (android.content.Context context,
+ java.lang.String id,
+ IdConfig <?,?> idConfig)
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class io.anyline.plugin.AbstractScanPlugin
+addScanInfoListener , addScanResultListener , addScanRunSkippedListener , cancelController , getAnylineController , getAssetController , getId , getImageProvider , getLastImageWithFullSize , isRunning , removeArgumentExceptionListener , removeScanInfoListener , removeScanResultListener , removeScanRunSkippedListener , setArgumentExceptionListener , setAssetPath , setCancelOnResult , setCmdFileName , setCropRect , setDebug , setDelayScanTime , setId , setImageProvider , stop
+
+
+
+
+
+Methods inherited from class java.lang.Object
+equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+IdScanPlugin
+public IdScanPlugin(android.content.Context context,
+ java.lang.String id,
+ IdConfig <?,?> idConfig)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/id/IdScanViewPlugin.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/id/IdScanViewPlugin.html
new file mode 100644
index 000000000..6024a1228
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/id/IdScanViewPlugin.html
@@ -0,0 +1,339 @@
+
+
+
+
+
+
IdScanViewPlugin (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+Methods inherited from class io.anyline.view.AbstractScanViewPlugin
+addScanInfoListener , addScanResultListener , addScanRunSkippedListener , addUIConfigChangedListener , calcCutOutAndImageCropBounds , getAllScanViewPlugins , getCancelOnResult , getCutoutRect , getId , getScanPlugin , getScanViewPluginConfig , removeScanInfoListener , removeScanResultListener , removeScanRunSkippedListener , removeUIConfigChangedListener , setCancelOnResult , setCropRect , setDelayScanTime , setImageProvider , start , stop
+
+
+
+
+
+
+Methods inherited from class java.lang.Object
+equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+IdScanViewPlugin
+public IdScanViewPlugin(@NonNull
+ android.content.Context context,
+ @NonNull
+ ScanViewPluginConfig scanViewPluginConfig,
+ @NonNull
+ IdConfig <?,?> idConfig,
+ @NonNull
+ java.lang.String id)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/id/Identification.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/id/Identification.html
new file mode 100644
index 000000000..e605c991f
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/id/Identification.html
@@ -0,0 +1,348 @@
+
+
+
+
+
+
Identification (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Field Summary
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+
+Methods inherited from class java.lang.Object
+equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/id/JapaneseLandingPermissionConfig.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/id/JapaneseLandingPermissionConfig.html
new file mode 100644
index 000000000..0526b6074
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/id/JapaneseLandingPermissionConfig.html
@@ -0,0 +1,306 @@
+
+
+
+
+
+
JapaneseLandingPermissionConfig (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Field Summary
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+
+Methods inherited from class java.lang.Object
+equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/id/LayoutDefinition.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/id/LayoutDefinition.html
new file mode 100644
index 000000000..0f5f36319
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/id/LayoutDefinition.html
@@ -0,0 +1,447 @@
+
+
+
+
+
+
LayoutDefinition (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+io.anyline.plugin.id.LayoutDefinition
+
+
+
+
+
+
+
+
+
+
+
+
+
+Field Summary
+
+Fields
+
+Modifier and Type
+Field
+Description
+
+
+java.lang.String
+country
+
+
+
+java.lang.String
+layout
+
+
+
+java.lang.String
+type
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+Constructors
+
+Constructor
+Description
+
+
+LayoutDefinition (java.lang.String type,
+ java.lang.String country,
+ java.lang.String layout)
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class java.lang.Object
+equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/id/MrzConfig.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/id/MrzConfig.html
new file mode 100644
index 000000000..197e102ad
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/id/MrzConfig.html
@@ -0,0 +1,392 @@
+
+
+
+
+
+
MrzConfig (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Field Summary
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+Constructors
+
+Constructor
+Description
+
+
+MrzConfig ()
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+All Methods Instance Methods Concrete Methods
+
+Modifier and Type
+Method
+Description
+
+
+boolean
+isCropAndTransformID ()
+
+
+
+boolean
+isStrictMode ()
+
+
+
+void
+setCropAndTransformID (boolean cropAndTransformID)
+
+Set crop and transform ID mode for for IdScanPlugin
+ If the crop and transform ID mode is enabled, the image will be returned instead of the cutout image.
+
+
+
+void
+setStrictMode (boolean strictMode)
+
+Set strict mode for IdScanPlugin
+ If the strict mode is enabled, a scan will be performed just when all checkdigits are valid
+
+
+
+
+
+
+
+
+Methods inherited from class java.lang.Object
+equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+MrzConfig
+public MrzConfig()
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+
+
+
+
+setStrictMode
+public void setStrictMode(boolean strictMode)
+Set strict mode for IdScanPlugin
+ If the strict mode is enabled, a scan will be performed just when all checkdigits are valid
+
+Parameters:
+strictMode
- represented as boolean
+
+
+
+
+
+
+
+
+
+
+
+
+setCropAndTransformID
+public void setCropAndTransformID(boolean cropAndTransformID)
+Set crop and transform ID mode for for IdScanPlugin
+ If the crop and transform ID mode is enabled, the image will be returned instead of the cutout image.
+
+Parameters:
+cropAndTransformID
- represented as boolean
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/id/MrzFieldConfidences.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/id/MrzFieldConfidences.html
new file mode 100644
index 000000000..2ad81333d
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/id/MrzFieldConfidences.html
@@ -0,0 +1,1000 @@
+
+
+
+
+
+
MrzFieldConfidences (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+All Methods Instance Methods Concrete Methods
+
+Modifier and Type
+Method
+Description
+
+
+int
+getCheckDigitDateOfBirth ()
+
+
+
+int
+getCheckDigitDateOfExpiry ()
+
+
+
+int
+getCheckDigitDocumentNumber ()
+
+
+
+int
+getCheckDigitFinal ()
+
+
+
+int
+getCheckDigitPersonalNumber ()
+
+
+
+int
+getDateOfBirth ()
+
+
+
+int
+getDateOfExpiry ()
+
+
+
+int
+getDocumentNumber ()
+
+
+
+int
+getDocumentType ()
+
+
+
+int
+getGivenNames ()
+
+
+
+int
+getIssuingCountryCode ()
+
+
+
+int
+getNationalityCountryCode ()
+
+
+
+int
+getOptionalData ()
+
+
+
+int
+getPersonalNumber ()
+
+
+
+int
+getSex ()
+
+
+
+int
+getSurname ()
+
+
+
+int
+getVizAddress ()
+
+get visual inspection zone address of type int (mandatory, optional, disabled or default)
+
+
+
+int
+getVizDateOfBirth ()
+
+
+
+int
+getVizDateOfExpiry ()
+
+
+
+int
+getVizDateOfIssue ()
+
+
+
+int
+getVizGivenNames ()
+
+
+
+int
+getVizSurname ()
+
+
+
+void
+setCheckDigitDateOfBirth (int checkDigitDateOfBirth)
+
+
+
+void
+setCheckDigitDateOfExpiry (int checkDigitDateOfExpiry)
+
+
+
+void
+setCheckDigitDocumentNumber (int checkDigitDocumentNumber)
+
+
+
+void
+setCheckDigitFinal (int checkDigitFinal)
+
+
+
+void
+setCheckDigitPersonalNumber (int checkDigitPersonalNumber)
+
+
+
+void
+setDateOfBirth (int dateOfBirth)
+
+
+
+void
+setDateOfExpiry (int dateOfExpiry)
+
+
+
+void
+setDocumentNumber (int documentNumber)
+
+
+
+void
+setDocumentType (int documentType)
+
+
+
+void
+setGivenNames (int givenNames)
+
+
+
+void
+setIssuingCountryCode (int issuingCountryCode)
+
+
+
+void
+setNationalityCountryCode (int nationalityCountryCode)
+
+
+
+void
+setOptionalData (int optionalData)
+
+
+
+void
+setPersonalNumber (int personalNumber)
+
+
+
+void
+setSex (int sex)
+
+
+
+void
+setSurname (int surname)
+
+
+
+void
+setVizAddress (int vizAddress)
+
+set visual inspection zone address option (mandatory, optional, disabled or default)
+
+
+
+void
+setVizDateOfBirth (int vizDateOfBirth)
+
+Set VIZ Date OF Birth option (mandatory, optional, disabled or default)
+
+
+
+void
+setVizDateOfExpiry (int vizDateOfExpiry)
+
+Set VIZ Date Of Expiry option (mandatory, optional, disabled or default)
+
+
+
+void
+setVizDateOfIssue (int vizDateOfIssue)
+
+Set Date of Issue option (mandatory, optional, disabled or default)
+
+
+
+void
+setVizGivenNames (int vizGivenNames)
+
+Set VIZ GivenNames option (mandatory, optional, disabled or default)
+
+
+
+void
+setVizSurname (int vizSurname)
+
+Set VIZ Surname option (mandatory, optional, disabled or default)
+
+
+
+org.json.JSONObject
+toJSONObject ()
+
+
+
+
+
+
+
+
+Methods inherited from class java.lang.Object
+equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+getVizAddress
+public int getVizAddress()
+get visual inspection zone address of type int (mandatory, optional, disabled or default)
+
+Returns:
+address option
+
+
+
+
+
+
+
+
+setVizAddress
+public void setVizAddress(int vizAddress)
+set visual inspection zone address option (mandatory, optional, disabled or default)
+
+Parameters:
+vizAddress
- represents the option for address field
+
+
+
+
+
+
+
+
+
+
+
+
+setVizDateOfIssue
+public void setVizDateOfIssue(int vizDateOfIssue)
+Set Date of Issue option (mandatory, optional, disabled or default)
+
+Parameters:
+vizDateOfIssue
-
+
+
+
+
+
+
+
+
+
+
+
+
+setVizSurname
+public void setVizSurname(int vizSurname)
+Set VIZ Surname option (mandatory, optional, disabled or default)
+
+Parameters:
+vizSurname
-
+
+
+
+
+
+
+
+
+
+
+
+
+setVizGivenNames
+public void setVizGivenNames(int vizGivenNames)
+Set VIZ GivenNames option (mandatory, optional, disabled or default)
+
+Parameters:
+vizGivenNames
-
+
+
+
+
+
+
+
+
+
+
+
+
+setVizDateOfBirth
+public void setVizDateOfBirth(int vizDateOfBirth)
+Set VIZ Date OF Birth option (mandatory, optional, disabled or default)
+
+Parameters:
+vizDateOfBirth
-
+
+
+
+
+
+
+
+
+
+
+
+
+setVizDateOfExpiry
+public void setVizDateOfExpiry(int vizDateOfExpiry)
+Set VIZ Date Of Expiry option (mandatory, optional, disabled or default)
+
+Parameters:
+vizDateOfExpiry
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+getSex
+public int getSex()
+
+
+
+
+
+
+
+
+
+
+
+getSurname
+public int getSurname()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/id/MrzFieldScanOptions.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/id/MrzFieldScanOptions.html
new file mode 100644
index 000000000..5523a53ef
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/id/MrzFieldScanOptions.html
@@ -0,0 +1,740 @@
+
+
+
+
+
+
MrzFieldScanOptions (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Nested Class Summary
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+All Methods Instance Methods Concrete Methods Deprecated Methods
+
+Modifier and Type
+Method
+Description
+
+
+IDFieldScanOptions.FieldScanOption
+getAddress ()
+
+Deprecated.
+
+
+
+
+
+IDFieldScanOptions.FieldScanOption
+getDateOfBirth ()
+
+
+
+IDFieldScanOptions.FieldScanOption
+getDateOfExpiry ()
+
+
+
+IDFieldScanOptions.FieldScanOption
+getDateOfIssue ()
+
+Deprecated.
+
+
+
+
+
+IDFieldScanOptions.FieldScanOption
+getVizAddress ()
+
+get visual inspection zone address of type FieldScanOption (mandatory, optional, disabled or default)
+
+
+
+IDFieldScanOptions.FieldScanOption
+getVizDateOfBirth ()
+
+
+
+IDFieldScanOptions.FieldScanOption
+getVizDateOfExpiry ()
+
+
+
+IDFieldScanOptions.FieldScanOption
+getVizDateOfIssue ()
+
+
+
+IDFieldScanOptions.FieldScanOption
+getVizGivenNames ()
+
+
+
+IDFieldScanOptions.FieldScanOption
+getVizSurname ()
+
+
+
+void
+setAddress (IDFieldScanOptions.FieldScanOption address)
+
+Deprecated.
+
+
+
+
+
+void
+setDateOfBirth (IDFieldScanOptions.FieldScanOption dateOfBirth)
+
+Set Date Of Birth option (mandatory, optional, disabled or default)
+
+
+
+void
+setDateOfExpiry (IDFieldScanOptions.FieldScanOption dateOfExpiry)
+
+Set Date Of Expiry option (mandatory, optional, disabled or default)
+
+
+
+void
+setDateOfIssue (IDFieldScanOptions.FieldScanOption dateOfIssue)
+
+Deprecated.
+
+
+
+
+
+void
+setVizAddress (IDFieldScanOptions.FieldScanOption vizAddress)
+
+set visual inspection zone address option (mandatory, optional, disabled or default)
+
+
+
+void
+setVizDateOfBirth (IDFieldScanOptions.FieldScanOption vizDateOfBirth)
+
+Set VIZ Date OF Birth option (mandatory, optional, disabled or default)
+
+
+
+void
+setVizDateOfExpiry (IDFieldScanOptions.FieldScanOption vizDateOfExpiry)
+
+Set VIZ Date Of Expiry option (mandatory, optional, disabled or default)
+
+
+
+void
+setVizDateOfIssue (IDFieldScanOptions.FieldScanOption vizDateOfIssue)
+
+Set Date of Issue option (mandatory, optional, disabled or default)
+
+
+
+void
+setVizGivenNames (IDFieldScanOptions.FieldScanOption vizGivenNames)
+
+Set VIZ GivenNames option (mandatory, optional, disabled or default)
+
+
+
+void
+setVizSurname (IDFieldScanOptions.FieldScanOption vizSurname)
+
+Set VIZ Surname option (mandatory, optional, disabled or default)
+
+
+
+
+
+
+
+
+Methods inherited from class java.lang.Object
+equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+getAddress
+@Deprecated
+public IDFieldScanOptions.FieldScanOption getAddress()
+Deprecated.
+
+
+get address of type FieldScanOption (mandatory, optional, disabled or default)
+
+Returns:
+address option
+
+
+
+
+
+
+
+
+setAddress
+@Deprecated
+public void setAddress(IDFieldScanOptions.FieldScanOption address)
+Deprecated.
+
+
+set address option (mandatory, optional, disabled or default)
+
+Parameters:
+address
- represents the option for address field
+
+
+
+
+
+
+
+
+
+
+
+
+setDateOfIssue
+@Deprecated
+public void setDateOfIssue(IDFieldScanOptions.FieldScanOption dateOfIssue)
+Deprecated.
+
+
+set date Of Issue optional field (mandatory, optional, disabled or default)
+
+Parameters:
+dateOfIssue
- represents the option for date od issue field
+
+
+
+
+
+
+
+
+getVizAddress
+public IDFieldScanOptions.FieldScanOption getVizAddress()
+get visual inspection zone address of type FieldScanOption (mandatory, optional, disabled or default)
+
+Returns:
+address option
+
+
+
+
+
+
+
+
+setVizAddress
+public void setVizAddress(IDFieldScanOptions.FieldScanOption vizAddress)
+set visual inspection zone address option (mandatory, optional, disabled or default)
+
+Parameters:
+vizAddress
- represents the option for address field
+
+
+
+
+
+
+
+
+
+
+
+
+setVizDateOfIssue
+public void setVizDateOfIssue(IDFieldScanOptions.FieldScanOption vizDateOfIssue)
+Set Date of Issue option (mandatory, optional, disabled or default)
+
+Parameters:
+vizDateOfIssue
-
+
+
+
+
+
+
+
+
+
+
+
+
+setVizSurname
+public void setVizSurname(IDFieldScanOptions.FieldScanOption vizSurname)
+Set VIZ Surname option (mandatory, optional, disabled or default)
+
+Parameters:
+vizSurname
-
+
+
+
+
+
+
+
+
+
+
+
+
+setVizGivenNames
+public void setVizGivenNames(IDFieldScanOptions.FieldScanOption vizGivenNames)
+Set VIZ GivenNames option (mandatory, optional, disabled or default)
+
+Parameters:
+vizGivenNames
-
+
+
+
+
+
+
+
+
+
+
+
+
+setVizDateOfBirth
+public void setVizDateOfBirth(IDFieldScanOptions.FieldScanOption vizDateOfBirth)
+Set VIZ Date OF Birth option (mandatory, optional, disabled or default)
+
+Parameters:
+vizDateOfBirth
-
+
+
+
+
+
+
+
+
+
+
+
+
+setVizDateOfExpiry
+public void setVizDateOfExpiry(IDFieldScanOptions.FieldScanOption vizDateOfExpiry)
+Set VIZ Date Of Expiry option (mandatory, optional, disabled or default)
+
+Parameters:
+vizDateOfExpiry
-
+
+
+
+
+
+
+
+
+
+
+
+
+setDateOfBirth
+public void setDateOfBirth(IDFieldScanOptions.FieldScanOption dateOfBirth)
+Set Date Of Birth option (mandatory, optional, disabled or default)
+
+Parameters:
+dateOfBirth
-
+
+
+
+
+
+
+
+
+
+
+
+
+setDateOfExpiry
+public void setDateOfExpiry(IDFieldScanOptions.FieldScanOption dateOfExpiry)
+Set Date Of Expiry option (mandatory, optional, disabled or default)
+
+Parameters:
+dateOfExpiry
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/id/MrzIdentification.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/id/MrzIdentification.html
new file mode 100644
index 000000000..629e1be9a
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/id/MrzIdentification.html
@@ -0,0 +1,2004 @@
+
+
+
+
+
+
MrzIdentification (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+
+Methods inherited from class java.lang.Object
+equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/id/NFCConfig.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/id/NFCConfig.html
new file mode 100644
index 000000000..42591d94a
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/id/NFCConfig.html
@@ -0,0 +1,349 @@
+
+
+
+
+
+
NFCConfig (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+io.anyline.plugin.id.NFCConfig
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+Constructors
+
+Constructor
+Description
+
+
+NFCConfig (java.lang.String passportNumber,
+ java.lang.String dateOfBirth,
+ java.lang.String expirationDate)
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class java.lang.Object
+equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+
+
+
+
+readSOD
+public byte[] readSOD()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/id/TemplateConfig.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/id/TemplateConfig.html
new file mode 100644
index 000000000..78e708fc7
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/id/TemplateConfig.html
@@ -0,0 +1,311 @@
+
+
+
+
+
+
TemplateConfig (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Field Summary
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+Constructors
+
+Constructor
+Description
+
+
+TemplateConfig (org.json.JSONObject jsonObject)
+
+Deprecated.
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+
+Methods inherited from class java.lang.Object
+equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/id/TemplateFieldConfidences.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/id/TemplateFieldConfidences.html
new file mode 100644
index 000000000..b43decdc1
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/id/TemplateFieldConfidences.html
@@ -0,0 +1,311 @@
+
+
+
+
+
+
TemplateFieldConfidences (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Field Summary
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+
+Methods inherited from class java.lang.Object
+equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/id/TemplateFieldScanOptions.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/id/TemplateFieldScanOptions.html
new file mode 100644
index 000000000..433eb58a4
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/id/TemplateFieldScanOptions.html
@@ -0,0 +1,328 @@
+
+
+
+
+
+
TemplateFieldScanOptions (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Nested Class Summary
+
+
+
+
+
+
+
+
+
+
+Field Summary
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+
+Methods inherited from class java.lang.Object
+equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/id/UniversalIdConfig.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/id/UniversalIdConfig.html
new file mode 100644
index 000000000..968952d38
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/id/UniversalIdConfig.html
@@ -0,0 +1,405 @@
+
+
+
+
+
+
UniversalIdConfig (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Field Summary
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+
+Methods inherited from class java.lang.Object
+equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+getAllowedLayouts
+public java.util.Map<java.lang.String,java.util.List<java.lang.String>> getAllowedLayouts()
+Get the Map of allowed layout types as keys and a list of allowed layouts for the specific key as value
+
+Returns:
+- the Map of allowed layouts
+
+
+
+
+
+
+
+
+setScanConfiguration
+public void setScanConfiguration(@NonNull
+ UniversalIdLayoutType universalIdLayoutType,
+ @NonNull
+ java.util.List<java.lang.String> layoutList)
+Sets programatically the allowed layout types and the layouts to be scanned for the specific layout type
+
+Parameters:
+universalIdLayoutType
- - Layout type (e.g. MRZ, idFront, driving license)
+layoutList
- - list of allowed layouts for the layout type
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/id/UniversalIdFieldConfidences.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/id/UniversalIdFieldConfidences.html
new file mode 100644
index 000000000..6987b0b18
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/id/UniversalIdFieldConfidences.html
@@ -0,0 +1,419 @@
+
+
+
+
+
+
UniversalIdFieldConfidences (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Field Summary
+
+Fields
+
+Modifier and Type
+Field
+Description
+
+
+java.util.List<java.lang.String>
+fieldNames
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+
+Methods inherited from class java.lang.Object
+equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Field Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/id/UniversalIdFieldScanOptions.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/id/UniversalIdFieldScanOptions.html
new file mode 100644
index 000000000..29c7649a3
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/id/UniversalIdFieldScanOptions.html
@@ -0,0 +1,436 @@
+
+
+
+
+
+
UniversalIdFieldScanOptions (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Nested Class Summary
+
+
+
+
+
+
+
+
+
+
+Field Summary
+
+Fields
+
+Modifier and Type
+Field
+Description
+
+
+java.util.List<java.lang.String>
+fieldNames
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+
+Methods inherited from class java.lang.Object
+equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Field Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/id/UniversalIdLayoutType.LayoutType.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/id/UniversalIdLayoutType.LayoutType.html
new file mode 100644
index 000000000..6b5701167
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/id/UniversalIdLayoutType.LayoutType.html
@@ -0,0 +1,184 @@
+
+
+
+
+
+
UniversalIdLayoutType.LayoutType (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+Summary:
+Field |
+Required |
+Optional
+
+
+Detail:
+Field |
+Element
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+Summary:
+Field |
+Required |
+Optional
+
+
+Detail:
+Field |
+Element
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/id/UniversalIdLayoutType.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/id/UniversalIdLayoutType.html
new file mode 100644
index 000000000..071b1c49a
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/id/UniversalIdLayoutType.html
@@ -0,0 +1,440 @@
+
+
+
+
+
+
UniversalIdLayoutType (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+io.anyline.plugin.id.UniversalIdLayoutType
+
+
+
+
+
+
+
+
+
+
+
+
+
+Nested Class Summary
+
+
+
+
+
+
+
+
+
+
+Field Summary
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class java.lang.Object
+equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/id/package-summary.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/id/package-summary.html
new file mode 100644
index 000000000..a190b36b5
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/id/package-summary.html
@@ -0,0 +1,302 @@
+
+
+
+
+
+
io.anyline.plugin.id (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Interface Summary
+
+Interface
+Description
+
+
+
+DataObject
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/id/package-tree.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/id/package-tree.html
new file mode 100644
index 000000000..6c8e7de22
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/id/package-tree.html
@@ -0,0 +1,241 @@
+
+
+
+
+
+
io.anyline.plugin.id Class Hierarchy (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Annotation Type Hierarchy
+
+
+
+Enum Hierarchy
+
+java.lang.Object
+
+java.lang.Enum<E> (implements java.lang.Comparable<T>, java.io.Serializable)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/licenseplate/LicensePlateScanMode.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/licenseplate/LicensePlateScanMode.html
new file mode 100644
index 000000000..8df3db8bf
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/licenseplate/LicensePlateScanMode.html
@@ -0,0 +1,1040 @@
+
+
+
+
+
+
LicensePlateScanMode (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+java.lang.Enum<LicensePlateScanMode >
+
+
+io.anyline.plugin.licenseplate.LicensePlateScanMode
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Enum Constant Summary
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class java.lang.Enum
+compareTo, equals, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
+
+
+
+
+
+Methods inherited from class java.lang.Object
+getClass, notify, notifyAll, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+
+
+
+
+valueOf
+public static LicensePlateScanMode valueOf(java.lang.String name)
+Returns the enum constant of this type with the specified name.
+The string must match exactly an identifier used to declare an
+enum constant in this type. (Extraneous whitespace characters are
+not permitted.)
+
+Parameters:
+name
- the name of the enum constant to be returned.
+Returns:
+the enum constant with the specified name
+Throws:
+java.lang.IllegalArgumentException
- if this enum type has no constant with the specified name
+java.lang.NullPointerException
- if the argument is null
+
+
+
+
+
+
+
+
+
+
+
+
+isEU
+public boolean isEU()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/licenseplate/LicensePlateScanPlugin.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/licenseplate/LicensePlateScanPlugin.html
new file mode 100644
index 000000000..38978e927
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/licenseplate/LicensePlateScanPlugin.html
@@ -0,0 +1,562 @@
+
+
+
+
+
+
LicensePlateScanPlugin (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Field Summary
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+Constructors
+
+Constructor
+Description
+
+
+LicensePlateScanPlugin (android.content.Context context,
+ java.lang.String id)
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class io.anyline.plugin.AbstractScanPlugin
+addScanInfoListener , addScanResultListener , addScanRunSkippedListener , cancelController , getAnylineController , getAssetController , getId , getImageProvider , getLastImageWithFullSize , isRunning , removeArgumentExceptionListener , removeScanInfoListener , removeScanResultListener , removeScanRunSkippedListener , setArgumentExceptionListener , setAssetPath , setCancelOnResult , setCmdFileName , setCropRect , setDebug , setDelayScanTime , setId , setImageProvider , stop
+
+
+
+
+
+Methods inherited from class java.lang.Object
+equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+mapToStartVariableString
+public static java.lang.String mapToStartVariableString(java.util.Map<LicensePlateScanMode ,java.lang.String> map,
+ java.lang.String separator,
+ java.lang.String delimiter)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/licenseplate/LicensePlateScanResult.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/licenseplate/LicensePlateScanResult.html
new file mode 100644
index 000000000..017edc0b7
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/licenseplate/LicensePlateScanResult.html
@@ -0,0 +1,381 @@
+
+
+
+
+
+
LicensePlateScanResult (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+Constructors
+
+Constructor
+Description
+
+
+LicensePlateScanResult (java.lang.String pluginId,
+ java.util.List<android.graphics.PointF> outline,
+ java.lang.Integer confidence,
+ AnylineImage cutoutImage,
+ AnylineImage fullImage,
+ java.lang.String result,
+ java.lang.String country,
+ java.lang.String area,
+ java.lang.String blobKey)
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+All Methods Instance Methods Concrete Methods
+
+Modifier and Type
+Method
+Description
+
+
+java.lang.String
+getArea ()
+
+Returns the detected License Plate area
+
+
+
+java.lang.String
+getCountry ()
+
+Returns the detected License Plate country
+
+
+
+
+
+
+
+
+Methods inherited from class io.anyline.models.AnylineScanResult
+getBlobKey , getConfidence , getCutoutImage , getFaceImage , getFullImage , getOutline , getResult , reportCorrectedResult , reportCorrectedResult , reportCorrectedResult , reportCorrectedResult , setOutline
+
+
+
+
+
+Methods inherited from class java.lang.Object
+equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+LicensePlateScanResult
+public LicensePlateScanResult(@Nullable
+ java.lang.String pluginId,
+ @Nullable
+ java.util.List<android.graphics.PointF> outline,
+ @Nullable
+ java.lang.Integer confidence,
+ @Nullable
+ AnylineImage cutoutImage,
+ @Nullable
+ AnylineImage fullImage,
+ @NonNull
+ java.lang.String result,
+ @NonNull
+ java.lang.String country,
+ @Nullable
+ java.lang.String area,
+ @NonNull
+ java.lang.String blobKey)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/licenseplate/LicensePlateScanViewPlugin.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/licenseplate/LicensePlateScanViewPlugin.html
new file mode 100644
index 000000000..571b39030
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/licenseplate/LicensePlateScanViewPlugin.html
@@ -0,0 +1,316 @@
+
+
+
+
+
+
LicensePlateScanViewPlugin (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+Methods inherited from class io.anyline.view.AbstractScanViewPlugin
+addScanInfoListener , addScanResultListener , addScanRunSkippedListener , addUIConfigChangedListener , calcCutOutAndImageCropBounds , getAllScanViewPlugins , getCancelOnResult , getCutoutRect , getId , getScanPlugin , getScanViewPluginConfig , removeScanInfoListener , removeScanResultListener , removeScanRunSkippedListener , removeUIConfigChangedListener , setCancelOnResult , setCropRect , setDelayScanTime , setImageProvider , start , stop
+
+
+
+
+
+
+Methods inherited from class java.lang.Object
+equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/licenseplate/package-summary.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/licenseplate/package-summary.html
new file mode 100644
index 000000000..4bb803dae
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/licenseplate/package-summary.html
@@ -0,0 +1,192 @@
+
+
+
+
+
+
io.anyline.plugin.licenseplate (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/licenseplate/package-tree.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/licenseplate/package-tree.html
new file mode 100644
index 000000000..2747107e4
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/licenseplate/package-tree.html
@@ -0,0 +1,196 @@
+
+
+
+
+
+
io.anyline.plugin.licenseplate Class Hierarchy (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Enum Hierarchy
+
+java.lang.Object
+
+java.lang.Enum<E> (implements java.lang.Comparable<T>, java.io.Serializable)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/meter/MeterScanMode.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/meter/MeterScanMode.html
new file mode 100644
index 000000000..47e4f40cd
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/meter/MeterScanMode.html
@@ -0,0 +1,517 @@
+
+
+
+
+
+
MeterScanMode (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+java.lang.Enum<MeterScanMode >
+
+
+io.anyline.plugin.meter.MeterScanMode
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Enum Constant Summary
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class java.lang.Enum
+compareTo, equals, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
+
+
+
+
+
+Methods inherited from class java.lang.Object
+getClass, notify, notifyAll, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+
+
+
+
+valueOf
+public static MeterScanMode valueOf(java.lang.String name)
+Returns the enum constant of this type with the specified name.
+The string must match exactly an identifier used to declare an
+enum constant in this type. (Extraneous whitespace characters are
+not permitted.)
+
+Parameters:
+name
- the name of the enum constant to be returned.
+Returns:
+the enum constant with the specified name
+Throws:
+java.lang.IllegalArgumentException
- if this enum type has no constant with the specified name
+java.lang.NullPointerException
- if the argument is null
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/meter/MeterScanPlugin.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/meter/MeterScanPlugin.html
new file mode 100644
index 000000000..8bfec364c
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/meter/MeterScanPlugin.html
@@ -0,0 +1,494 @@
+
+
+
+
+
+
MeterScanPlugin (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+Constructors
+
+Constructor
+Description
+
+
+MeterScanPlugin (android.content.Context context,
+ java.lang.String id)
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class io.anyline.plugin.AbstractScanPlugin
+addScanInfoListener , addScanResultListener , addScanRunSkippedListener , cancelController , getAnylineController , getAssetController , getId , getImageProvider , getLastImageWithFullSize , isRunning , removeArgumentExceptionListener , removeScanInfoListener , removeScanResultListener , removeScanRunSkippedListener , setArgumentExceptionListener , setAssetPath , setCancelOnResult , setCmdFileName , setCropRect , setDebug , setDelayScanTime , setId , setImageProvider , stop
+
+
+
+
+
+Methods inherited from class java.lang.Object
+equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/meter/MeterScanResult.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/meter/MeterScanResult.html
new file mode 100644
index 000000000..5c3a657f0
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/meter/MeterScanResult.html
@@ -0,0 +1,362 @@
+
+
+
+
+
+
MeterScanResult (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+Constructors
+
+Constructor
+Description
+
+
+MeterScanResult (java.lang.String pluginId,
+ java.util.List<android.graphics.PointF> outline,
+ java.lang.Integer confidence,
+ AnylineImage cutoutImage,
+ AnylineImage fullImage,
+ java.lang.String result,
+ MeterScanMode scanMode,
+ java.lang.String blobKey)
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+
+Methods inherited from class io.anyline.models.AnylineScanResult
+getBlobKey , getConfidence , getCutoutImage , getFaceImage , getFullImage , getOutline , getResult , reportCorrectedResult , reportCorrectedResult , reportCorrectedResult , reportCorrectedResult , setOutline
+
+
+
+
+
+Methods inherited from class java.lang.Object
+equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+MeterScanResult
+public MeterScanResult(@Nullable
+ java.lang.String pluginId,
+ @Nullable
+ java.util.List<android.graphics.PointF> outline,
+ @Nullable
+ java.lang.Integer confidence,
+ @Nullable
+ AnylineImage cutoutImage,
+ @Nullable
+ AnylineImage fullImage,
+ @NonNull
+ java.lang.String result,
+ @NonNull
+ MeterScanMode scanMode,
+ @NonNull
+ java.lang.String blobKey)
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/meter/MeterScanViewPlugin.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/meter/MeterScanViewPlugin.html
new file mode 100644
index 000000000..06964e5d0
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/meter/MeterScanViewPlugin.html
@@ -0,0 +1,433 @@
+
+
+
+
+
+
MeterScanViewPlugin (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class io.anyline.view.AbstractScanViewPlugin
+addScanInfoListener , addScanResultListener , addScanRunSkippedListener , addUIConfigChangedListener , calcCutOutAndImageCropBounds , getAllScanViewPlugins , getCancelOnResult , getCutoutRect , getId , getScanPlugin , getScanViewPluginConfig , removeScanInfoListener , removeScanResultListener , removeScanRunSkippedListener , removeUIConfigChangedListener , setCropRect , setDelayScanTime , setImageProvider , start , stop
+
+
+
+
+
+
+Methods inherited from class java.lang.Object
+equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/meter/MultiMeterScanResult.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/meter/MultiMeterScanResult.html
new file mode 100644
index 000000000..5b14f41c1
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/meter/MultiMeterScanResult.html
@@ -0,0 +1,373 @@
+
+
+
+
+
+
MultiMeterScanResult (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+Constructors
+
+Constructor
+Description
+
+
+MultiMeterScanResult (java.lang.String pluginId,
+ java.util.List<android.graphics.PointF> outline,
+ java.lang.Integer confidence,
+ AnylineImage cutoutImage,
+ AnylineImage fullImage,
+ java.lang.String result,
+ MeterScanMode scanMode,
+ java.lang.String counter,
+ java.lang.String blobKey)
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+
+
+Methods inherited from class io.anyline.models.AnylineScanResult
+getBlobKey , getConfidence , getCutoutImage , getFaceImage , getFullImage , getOutline , getResult , reportCorrectedResult , reportCorrectedResult , reportCorrectedResult , reportCorrectedResult , setOutline
+
+
+
+
+
+Methods inherited from class java.lang.Object
+equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+MultiMeterScanResult
+public MultiMeterScanResult(@Nullable
+ java.lang.String pluginId,
+ @Nullable
+ java.util.List<android.graphics.PointF> outline,
+ @Nullable
+ java.lang.Integer confidence,
+ @Nullable
+ AnylineImage cutoutImage,
+ @Nullable
+ AnylineImage fullImage,
+ @NonNull
+ java.lang.String result,
+ @NonNull
+ MeterScanMode scanMode,
+ @NonNull
+ java.lang.String counter,
+ @NonNull
+ java.lang.String blobKey)
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/meter/package-summary.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/meter/package-summary.html
new file mode 100644
index 000000000..a230cb115
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/meter/package-summary.html
@@ -0,0 +1,200 @@
+
+
+
+
+
+
io.anyline.plugin.meter (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Enum Summary
+
+Enum
+Description
+
+
+
+MeterScanMode
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/meter/package-tree.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/meter/package-tree.html
new file mode 100644
index 000000000..26f9e108a
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/meter/package-tree.html
@@ -0,0 +1,200 @@
+
+
+
+
+
+
io.anyline.plugin.meter Class Hierarchy (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Enum Hierarchy
+
+java.lang.Object
+
+java.lang.Enum<E> (implements java.lang.Comparable<T>, java.io.Serializable)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/ocr/AnylineCattleTagConfig.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/ocr/AnylineCattleTagConfig.html
new file mode 100644
index 000000000..7aba082f2
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/ocr/AnylineCattleTagConfig.html
@@ -0,0 +1,277 @@
+
+
+
+
+
+
AnylineCattleTagConfig (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class java.lang.Object
+equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/ocr/AnylineContainerConfig.ContainerScanMode.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/ocr/AnylineContainerConfig.ContainerScanMode.html
new file mode 100644
index 000000000..ee1a3f0b5
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/ocr/AnylineContainerConfig.ContainerScanMode.html
@@ -0,0 +1,379 @@
+
+
+
+
+
+
AnylineContainerConfig.ContainerScanMode (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Enum Constant Summary
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class java.lang.Enum
+compareTo, equals, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
+
+
+
+
+
+Methods inherited from class java.lang.Object
+getClass, notify, notifyAll, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Enum Constant Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+
+
+
+
+valueOf
+public static AnylineContainerConfig.ContainerScanMode valueOf(java.lang.String name)
+Returns the enum constant of this type with the specified name.
+The string must match exactly an identifier used to declare an
+enum constant in this type. (Extraneous whitespace characters are
+not permitted.)
+
+Parameters:
+name
- the name of the enum constant to be returned.
+Returns:
+the enum constant with the specified name
+Throws:
+java.lang.IllegalArgumentException
- if this enum type has no constant with the specified name
+java.lang.NullPointerException
- if the argument is null
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/ocr/AnylineContainerConfig.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/ocr/AnylineContainerConfig.html
new file mode 100644
index 000000000..7cc89a0f6
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/ocr/AnylineContainerConfig.html
@@ -0,0 +1,421 @@
+
+
+
+
+
+
AnylineContainerConfig (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Nested Class Summary
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+
+Methods inherited from class java.lang.Object
+equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/ocr/AnylineOcrBaseConfig.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/ocr/AnylineOcrBaseConfig.html
new file mode 100644
index 000000000..20c16240c
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/ocr/AnylineOcrBaseConfig.html
@@ -0,0 +1,311 @@
+
+
+
+
+
+
AnylineOcrBaseConfig (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+io.anyline.plugin.ocr.AnylineOcrBaseConfig
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class java.lang.Object
+equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/ocr/AnylineOcrConfig.AnylineOcrRegex.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/ocr/AnylineOcrConfig.AnylineOcrRegex.html
new file mode 100644
index 000000000..c67be5306
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/ocr/AnylineOcrConfig.AnylineOcrRegex.html
@@ -0,0 +1,464 @@
+
+
+
+
+
+
AnylineOcrConfig.AnylineOcrRegex (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Enum Constant Summary
+
+Enum Constants
+
+Enum Constant
+Description
+
+
+EMAIL
+
+
+
+IMEI
+
+
+
+ISBN
+
+
+
+PRICE
+
+
+
+URL
+
+
+
+VIN
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class java.lang.Enum
+compareTo, equals, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
+
+
+
+
+
+Methods inherited from class java.lang.Object
+getClass, notify, notifyAll, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+
+
+
+
+valueOf
+public static AnylineOcrConfig.AnylineOcrRegex valueOf(java.lang.String name)
+Returns the enum constant of this type with the specified name.
+The string must match exactly an identifier used to declare an
+enum constant in this type. (Extraneous whitespace characters are
+not permitted.)
+
+Parameters:
+name
- the name of the enum constant to be returned.
+Returns:
+the enum constant with the specified name
+Throws:
+java.lang.IllegalArgumentException
- if this enum type has no constant with the specified name
+java.lang.NullPointerException
- if the argument is null
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/ocr/AnylineOcrConfig.ScanMode.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/ocr/AnylineOcrConfig.ScanMode.html
new file mode 100644
index 000000000..70f567fc9
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/ocr/AnylineOcrConfig.ScanMode.html
@@ -0,0 +1,412 @@
+
+
+
+
+
+
AnylineOcrConfig.ScanMode (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Enum Constant Summary
+
+Enum Constants
+
+Enum Constant
+Description
+
+
+AUTO
+
+The AUTO mode is optimal if you want to scan more than one use case in one mode.
+
+
+
+GRID
+
+The GRID mode is optimal for characters with equal size laid out in a grid with a constant font,
+ background and character count (like loyalty codes inside bottle caps)
+
+
+
+LINE
+
+The LINE mode is optimal for scanning one or more lines of variable length or font (like IBANs or addresses)
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class java.lang.Enum
+compareTo, equals, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
+
+
+
+
+
+Methods inherited from class java.lang.Object
+getClass, notify, notifyAll, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Enum Constant Detail
+
+
+
+
+
+
+
+
+
+GRID
+public static final AnylineOcrConfig.ScanMode GRID
+The GRID mode is optimal for characters with equal size laid out in a grid with a constant font,
+ background and character count (like loyalty codes inside bottle caps)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+
+
+
+
+valueOf
+public static AnylineOcrConfig.ScanMode valueOf(java.lang.String name)
+Returns the enum constant of this type with the specified name.
+The string must match exactly an identifier used to declare an
+enum constant in this type. (Extraneous whitespace characters are
+not permitted.)
+
+Parameters:
+name
- the name of the enum constant to be returned.
+Returns:
+the enum constant with the specified name
+Throws:
+java.lang.IllegalArgumentException
- if this enum type has no constant with the specified name
+java.lang.NullPointerException
- if the argument is null
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/ocr/AnylineOcrConfig.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/ocr/AnylineOcrConfig.html
new file mode 100644
index 000000000..13499dc2b
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/ocr/AnylineOcrConfig.html
@@ -0,0 +1,1002 @@
+
+
+
+
+
+
AnylineOcrConfig (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Nested Class Summary
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+Constructors
+
+Constructor
+Description
+
+
+AnylineOcrConfig ()
+
+
+
+AnylineOcrConfig (android.content.Context context,
+ java.lang.String configFileName)
+
+
+ Create config from the given json file.
+
+
+
+AnylineOcrConfig (org.json.JSONObject jsonObject)
+
+Create config from the given json object.
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+
+Methods inherited from class java.lang.Object
+equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+setCharWhitelist
+public void setCharWhitelist(@Nullable
+ java.lang.String charWhitelist)
+Set all the characters that may occurred on the data that should be recognized.
+ E.g. "ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890" for only capital letters and numbers.
+
+Parameters:
+charWhitelist
- the whitelist of allowed characters
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/ocr/AnylineTINConfig.ScanMode.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/ocr/AnylineTINConfig.ScanMode.html
new file mode 100644
index 000000000..09e076cb9
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/ocr/AnylineTINConfig.ScanMode.html
@@ -0,0 +1,392 @@
+
+
+
+
+
+
AnylineTINConfig.ScanMode (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Enum Constant Summary
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class java.lang.Enum
+compareTo, equals, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
+
+
+
+
+
+Methods inherited from class java.lang.Object
+getClass, notify, notifyAll, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+
+
+
+
+valueOf
+public static AnylineTINConfig.ScanMode valueOf(java.lang.String name)
+Returns the enum constant of this type with the specified name.
+The string must match exactly an identifier used to declare an
+enum constant in this type. (Extraneous whitespace characters are
+not permitted.)
+
+Parameters:
+name
- the name of the enum constant to be returned.
+Returns:
+the enum constant with the specified name
+Throws:
+java.lang.IllegalArgumentException
- if this enum type has no constant with the specified name
+java.lang.NullPointerException
- if the argument is null
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/ocr/AnylineTINConfig.UpsideDownMode.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/ocr/AnylineTINConfig.UpsideDownMode.html
new file mode 100644
index 000000000..5cc8bfede
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/ocr/AnylineTINConfig.UpsideDownMode.html
@@ -0,0 +1,392 @@
+
+
+
+
+
+
AnylineTINConfig.UpsideDownMode (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Enum Constant Summary
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class java.lang.Enum
+compareTo, equals, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
+
+
+
+
+
+Methods inherited from class java.lang.Object
+getClass, notify, notifyAll, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+
+
+
+
+valueOf
+public static AnylineTINConfig.UpsideDownMode valueOf(java.lang.String name)
+Returns the enum constant of this type with the specified name.
+The string must match exactly an identifier used to declare an
+enum constant in this type. (Extraneous whitespace characters are
+not permitted.)
+
+Parameters:
+name
- the name of the enum constant to be returned.
+Returns:
+the enum constant with the specified name
+Throws:
+java.lang.IllegalArgumentException
- if this enum type has no constant with the specified name
+java.lang.NullPointerException
- if the argument is null
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/ocr/AnylineTINConfig.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/ocr/AnylineTINConfig.html
new file mode 100644
index 000000000..37b92c9cd
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/ocr/AnylineTINConfig.html
@@ -0,0 +1,425 @@
+
+
+
+
+
+
AnylineTINConfig (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Nested Class Summary
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+Constructors
+
+Constructor
+Description
+
+
+AnylineTINConfig ()
+
+Deprecated.
+
+
+
+AnylineTINConfig (org.json.JSONObject anylineTINConfigJson)
+
+Deprecated.
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+
+Methods inherited from class java.lang.Object
+equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/ocr/AnylineVINConfig.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/ocr/AnylineVINConfig.html
new file mode 100644
index 000000000..73b01c8c6
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/ocr/AnylineVINConfig.html
@@ -0,0 +1,370 @@
+
+
+
+
+
+
AnylineVINConfig (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+
+Methods inherited from class java.lang.Object
+equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/ocr/OcrScanPlugin.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/ocr/OcrScanPlugin.html
new file mode 100644
index 000000000..b594a01a5
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/ocr/OcrScanPlugin.html
@@ -0,0 +1,421 @@
+
+
+
+
+
+
OcrScanPlugin (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class io.anyline.plugin.AbstractScanPlugin
+addScanInfoListener , addScanResultListener , addScanRunSkippedListener , cancelController , getAnylineController , getAssetController , getId , getImageProvider , getLastImageWithFullSize , isRunning , removeArgumentExceptionListener , removeScanInfoListener , removeScanResultListener , removeScanRunSkippedListener , setArgumentExceptionListener , setAssetPath , setCancelOnResult , setCmdFileName , setCropRect , setDebug , setDelayScanTime , setId , setImageProvider , stop
+
+
+
+
+
+Methods inherited from class java.lang.Object
+equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/ocr/OcrScanResult.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/ocr/OcrScanResult.html
new file mode 100644
index 000000000..9d0bf0be8
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/ocr/OcrScanResult.html
@@ -0,0 +1,358 @@
+
+
+
+
+
+
OcrScanResult (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+Constructors
+
+Constructor
+Description
+
+
+OcrScanResult (java.lang.String pluginId,
+ java.util.List<android.graphics.PointF> outline,
+ java.lang.Integer confidence,
+ AnylineImage cutoutImage,
+ AnylineImage fullImage,
+ java.lang.String result,
+ AnylineImage thresholdedImage,
+ java.lang.String blobKey)
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+
+Methods inherited from class io.anyline.models.AnylineScanResult
+getBlobKey , getConfidence , getCutoutImage , getFaceImage , getFullImage , getOutline , getResult , reportCorrectedResult , reportCorrectedResult , reportCorrectedResult , reportCorrectedResult , setOutline
+
+
+
+
+
+Methods inherited from class java.lang.Object
+equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+OcrScanResult
+public OcrScanResult(@Nullable
+ java.lang.String pluginId,
+ @Nullable
+ java.util.List<android.graphics.PointF> outline,
+ @Nullable
+ java.lang.Integer confidence,
+ @Nullable
+ AnylineImage cutoutImage,
+ @Nullable
+ AnylineImage fullImage,
+ @NonNull
+ java.lang.String result,
+ @Nullable
+ AnylineImage thresholdedImage,
+ @NonNull
+ java.lang.String blobKey)
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/ocr/OcrScanViewPlugin.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/ocr/OcrScanViewPlugin.html
new file mode 100644
index 000000000..ca6b58066
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/ocr/OcrScanViewPlugin.html
@@ -0,0 +1,424 @@
+
+
+
+
+
+
OcrScanViewPlugin (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class io.anyline.view.AbstractScanViewPlugin
+addScanInfoListener , addScanResultListener , addScanRunSkippedListener , addUIConfigChangedListener , calcCutOutAndImageCropBounds , getAllScanViewPlugins , getCancelOnResult , getCutoutRect , getId , getScanPlugin , getScanViewPluginConfig , removeScanInfoListener , removeScanResultListener , removeScanRunSkippedListener , removeUIConfigChangedListener , setCancelOnResult , setCropRect , setDelayScanTime , setImageProvider
+
+
+
+
+
+
+Methods inherited from class java.lang.Object
+equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+
+
+
+
+OcrScanViewPlugin
+public OcrScanViewPlugin(@NonNull
+ android.content.Context context,
+ @NonNull
+ AnylineOcrBaseConfig ocrConfig,
+ @NonNull
+ ScanViewPluginConfig config,
+ java.lang.String id)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/ocr/TINResult.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/ocr/TINResult.html
new file mode 100644
index 000000000..b0d40f00f
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/ocr/TINResult.html
@@ -0,0 +1,367 @@
+
+
+
+
+
+
TINResult (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+Constructors
+
+Constructor
+Description
+
+
+TINResult (java.lang.String pluginId,
+ java.util.List<android.graphics.PointF> outline,
+ java.lang.Integer confidence,
+ AnylineImage cutoutImage,
+ AnylineImage fullImage,
+ java.lang.String result,
+ AnylineImage thresholdedImage,
+ java.util.Map<java.lang.String,java.lang.String> topCandidates,
+ java.lang.String blobKey)
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+
+
+Methods inherited from class io.anyline.models.AnylineScanResult
+getBlobKey , getConfidence , getCutoutImage , getFaceImage , getFullImage , getOutline , getResult , reportCorrectedResult , reportCorrectedResult , reportCorrectedResult , reportCorrectedResult , setOutline
+
+
+
+
+
+Methods inherited from class java.lang.Object
+equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+TINResult
+public TINResult(@Nullable
+ java.lang.String pluginId,
+ @Nullable
+ java.util.List<android.graphics.PointF> outline,
+ @Nullable
+ java.lang.Integer confidence,
+ @Nullable
+ AnylineImage cutoutImage,
+ @Nullable
+ AnylineImage fullImage,
+ @NonNull
+ java.lang.String result,
+ @Nullable
+ AnylineImage thresholdedImage,
+ java.util.Map<java.lang.String,java.lang.String> topCandidates,
+ @NonNull
+ java.lang.String blobKey)
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/ocr/package-summary.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/ocr/package-summary.html
new file mode 100644
index 000000000..0cabd4fd0
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/ocr/package-summary.html
@@ -0,0 +1,248 @@
+
+
+
+
+
+
io.anyline.plugin.ocr (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/ocr/package-tree.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/ocr/package-tree.html
new file mode 100644
index 000000000..ee7efa60e
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/ocr/package-tree.html
@@ -0,0 +1,213 @@
+
+
+
+
+
+
io.anyline.plugin.ocr Class Hierarchy (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Enum Hierarchy
+
+java.lang.Object
+
+java.lang.Enum<E> (implements java.lang.Comparable<T>, java.io.Serializable)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/package-summary.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/package-summary.html
new file mode 100644
index 000000000..0543a8cb8
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/package-summary.html
@@ -0,0 +1,227 @@
+
+
+
+
+
+
io.anyline.plugin (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Class Summary
+
+Class
+Description
+
+
+
+AbstractScanPlugin <ResultType extends ScanResult >
+
+
+
+
+
+ScanInfo
+
+
+ The ScanInfo holds intermediate information that may arise during scanning.
+
+
+
+ScanResult <T>
+
+
+ This is the base class for all plugin result classes.
+
+
+
+ScanRunSkippedReason
+
+
+ The ScanRunSkippedReason holds the reason, why the processing of an image has been skipped (did not reach a result).
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/package-tree.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/package-tree.html
new file mode 100644
index 000000000..09fa4405c
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/package-tree.html
@@ -0,0 +1,176 @@
+
+
+
+
+
+
io.anyline.plugin Class Hierarchy (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/tire/CommercialTireIdConfig.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/tire/CommercialTireIdConfig.html
new file mode 100644
index 000000000..486f18af2
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/tire/CommercialTireIdConfig.html
@@ -0,0 +1,307 @@
+
+
+
+
+
+
CommercialTireIdConfig (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Nested Class Summary
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class java.lang.Object
+equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/tire/TINConfig.ScanMode.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/tire/TINConfig.ScanMode.html
new file mode 100644
index 000000000..adc9fac7b
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/tire/TINConfig.ScanMode.html
@@ -0,0 +1,392 @@
+
+
+
+
+
+
TINConfig.ScanMode (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Enum Constant Summary
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class java.lang.Enum
+compareTo, equals, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
+
+
+
+
+
+Methods inherited from class java.lang.Object
+getClass, notify, notifyAll, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+
+
+
+
+valueOf
+public static TINConfig.ScanMode valueOf(java.lang.String name)
+Returns the enum constant of this type with the specified name.
+The string must match exactly an identifier used to declare an
+enum constant in this type. (Extraneous whitespace characters are
+not permitted.)
+
+Parameters:
+name
- the name of the enum constant to be returned.
+Returns:
+the enum constant with the specified name
+Throws:
+java.lang.IllegalArgumentException
- if this enum type has no constant with the specified name
+java.lang.NullPointerException
- if the argument is null
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/tire/TINConfig.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/tire/TINConfig.html
new file mode 100644
index 000000000..bc8a0629f
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/tire/TINConfig.html
@@ -0,0 +1,372 @@
+
+
+
+
+
+
TINConfig (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Nested Class Summary
+
+Nested Classes
+
+Modifier and Type
+Class
+Description
+
+
+static class
+TINConfig.ScanMode
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+Constructors
+
+Constructor
+Description
+
+
+TINConfig ()
+
+
+
+TINConfig (org.json.JSONObject tinConfigJson)
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+
+Methods inherited from class java.lang.Object
+equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+TINConfig
+public TINConfig()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/tire/TireBaseConfig.UpsideDownMode.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/tire/TireBaseConfig.UpsideDownMode.html
new file mode 100644
index 000000000..61944b9ae
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/tire/TireBaseConfig.UpsideDownMode.html
@@ -0,0 +1,392 @@
+
+
+
+
+
+
TireBaseConfig.UpsideDownMode (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Enum Constant Summary
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class java.lang.Enum
+compareTo, equals, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
+
+
+
+
+
+Methods inherited from class java.lang.Object
+getClass, notify, notifyAll, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+
+
+
+
+valueOf
+public static TireBaseConfig.UpsideDownMode valueOf(java.lang.String name)
+Returns the enum constant of this type with the specified name.
+The string must match exactly an identifier used to declare an
+enum constant in this type. (Extraneous whitespace characters are
+not permitted.)
+
+Parameters:
+name
- the name of the enum constant to be returned.
+Returns:
+the enum constant with the specified name
+Throws:
+java.lang.IllegalArgumentException
- if this enum type has no constant with the specified name
+java.lang.NullPointerException
- if the argument is null
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/tire/TireBaseConfig.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/tire/TireBaseConfig.html
new file mode 100644
index 000000000..5a700c6bf
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/tire/TireBaseConfig.html
@@ -0,0 +1,332 @@
+
+
+
+
+
+
TireBaseConfig (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+io.anyline.plugin.tire.TireBaseConfig
+
+
+
+
+
+
+
+
+
+
+
+
+
+Nested Class Summary
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class java.lang.Object
+equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/tire/TireScanPlugin.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/tire/TireScanPlugin.html
new file mode 100644
index 000000000..ac1030934
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/tire/TireScanPlugin.html
@@ -0,0 +1,435 @@
+
+
+
+
+
+
TireScanPlugin (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Field Summary
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+Constructors
+
+Constructor
+Description
+
+
+TireScanPlugin (android.content.Context context,
+ java.lang.String id)
+
+
+
+TireScanPlugin (android.content.Context context,
+ java.lang.String id,
+ TireBaseConfig config)
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class io.anyline.plugin.AbstractScanPlugin
+addScanInfoListener , addScanResultListener , addScanRunSkippedListener , cancelController , getAnylineController , getAssetController , getId , getImageProvider , getLastImageWithFullSize , isRunning , removeArgumentExceptionListener , removeScanInfoListener , removeScanResultListener , removeScanRunSkippedListener , setArgumentExceptionListener , setAssetPath , setCancelOnResult , setCmdFileName , setCropRect , setDebug , setDelayScanTime , setId , setImageProvider , stop
+
+
+
+
+
+Methods inherited from class java.lang.Object
+equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Field Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/tire/TireScanResult.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/tire/TireScanResult.html
new file mode 100644
index 000000000..cb39f827b
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/tire/TireScanResult.html
@@ -0,0 +1,309 @@
+
+
+
+
+
+
TireScanResult (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+Constructors
+
+Constructor
+Description
+
+
+TireScanResult (java.lang.String pluginId,
+ java.util.List<android.graphics.PointF> outline,
+ java.lang.Integer confidence,
+ AnylineImage cutoutImage,
+ AnylineImage fullImage,
+ java.lang.String result,
+ java.lang.String blobKey)
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class io.anyline.models.AnylineScanResult
+getBlobKey , getConfidence , getCutoutImage , getFaceImage , getFullImage , getOutline , getResult , reportCorrectedResult , reportCorrectedResult , reportCorrectedResult , reportCorrectedResult , setOutline
+
+
+
+
+
+Methods inherited from class java.lang.Object
+equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+TireScanResult
+public TireScanResult(@Nullable
+ java.lang.String pluginId,
+ @Nullable
+ java.util.List<android.graphics.PointF> outline,
+ @Nullable
+ java.lang.Integer confidence,
+ @Nullable
+ AnylineImage cutoutImage,
+ @Nullable
+ AnylineImage fullImage,
+ @NonNull
+ java.lang.String result,
+ @NonNull
+ java.lang.String blobKey)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/tire/TireScanViewPlugin.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/tire/TireScanViewPlugin.html
new file mode 100644
index 000000000..ca3e80771
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/tire/TireScanViewPlugin.html
@@ -0,0 +1,318 @@
+
+
+
+
+
+
TireScanViewPlugin (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+Methods inherited from class io.anyline.view.AbstractScanViewPlugin
+addScanInfoListener , addScanResultListener , addScanRunSkippedListener , addUIConfigChangedListener , calcCutOutAndImageCropBounds , getAllScanViewPlugins , getCancelOnResult , getCutoutRect , getId , getScanPlugin , getScanViewPluginConfig , removeScanInfoListener , removeScanResultListener , removeScanRunSkippedListener , removeUIConfigChangedListener , setCancelOnResult , setCropRect , setDelayScanTime , setImageProvider , start , stop
+
+
+
+
+
+
+Methods inherited from class java.lang.Object
+equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+
+
+
+
+TireScanViewPlugin
+public TireScanViewPlugin(@NonNull
+ android.content.Context context,
+ @NonNull
+ TireBaseConfig tireConfig,
+ @NonNull
+ ScanViewPluginConfig config,
+ java.lang.String id)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/tire/TireSizeConfig.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/tire/TireSizeConfig.html
new file mode 100644
index 000000000..c98ce3e98
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/tire/TireSizeConfig.html
@@ -0,0 +1,307 @@
+
+
+
+
+
+
TireSizeConfig (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Nested Class Summary
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class java.lang.Object
+equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+TireSizeConfig
+public TireSizeConfig()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/tire/package-summary.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/tire/package-summary.html
new file mode 100644
index 000000000..e7dfeec2b
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/tire/package-summary.html
@@ -0,0 +1,210 @@
+
+
+
+
+
+
io.anyline.plugin.tire (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/tire/package-tree.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/tire/package-tree.html
new file mode 100644
index 000000000..07f45d514
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/plugin/tire/package-tree.html
@@ -0,0 +1,204 @@
+
+
+
+
+
+
io.anyline.plugin.tire Class Hierarchy (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Enum Hierarchy
+
+java.lang.Object
+
+java.lang.Enum<E> (implements java.lang.Comparable<T>, java.io.Serializable)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/util/ArrayUtil.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/util/ArrayUtil.html
new file mode 100644
index 000000000..f7f7a9d3c
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/util/ArrayUtil.html
@@ -0,0 +1,367 @@
+
+
+
+
+
+
ArrayUtil (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+io.anyline.util.ArrayUtil
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+Constructors
+
+Constructor
+Description
+
+
+ArrayUtil ()
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+All Methods Static Methods Concrete Methods
+
+Modifier and Type
+Method
+Description
+
+
+static boolean
+contains (float[] values,
+ float value)
+
+
+
+static boolean
+contains (int[] values,
+ int value)
+
+
+
+static <T> boolean
+contains (T[] values,
+ T value)
+
+
+
+
+
+
+
+Methods inherited from class java.lang.Object
+equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+ArrayUtil
+public ArrayUtil()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/util/AssetUtil.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/util/AssetUtil.html
new file mode 100644
index 000000000..1aa86943c
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/util/AssetUtil.html
@@ -0,0 +1,658 @@
+
+
+
+
+
+
AssetUtil (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+io.anyline.util.AssetUtil
+
+
+
+
+
+
+
+public class AssetUtil
+extends java.lang.Object
+A helper class to deal with assets, mainly to copy the assets to a place where the C++ core can reach it.
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+Constructors
+
+Constructor
+Description
+
+
+AssetUtil ()
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+All Methods Static Methods Concrete Methods
+
+Modifier and Type
+Method
+Description
+
+
+static void
+copyAnylineAssets (android.content.Context context,
+ org.json.JSONObject json,
+ java.lang.String mapJsonName,
+ java.io.File dirToCopyTo,
+ boolean isForceCopy)
+
+Copy the assets of the given map listed in the given json object
+ (must be a map with filename relative to assets as the key and the md5 sum of the file as value)
+ to the given directory.
+
+
+
+static void
+copyAssetFile (android.content.Context context,
+ java.lang.String pathInAssets,
+ java.io.File dirToCopyTo,
+ boolean isForceCopy)
+
+
+ Copy the asset file specified by path to given directory.
+
+
+
+static void
+copyAssetFile (android.content.Context context,
+ java.lang.String pathInAssets,
+ java.io.File dirToCopyTo,
+ java.lang.String md5Hash)
+
+
+ Copy the asset file specified by path to given directory.
+
+
+
+static void
+copyAssetFileWithoutPath (android.content.Context context,
+ java.lang.String pathInAssets,
+ java.io.File dirToCopyTo,
+ boolean isForceCopy)
+
+
+ Copy the asset file specified by path directly to the given directory
+ (without the relative path of the asset).
+
+
+
+static void
+copyAssetFileWithoutPath (android.content.Context context,
+ java.lang.String pathInAssets,
+ java.io.File dirToCopyTo,
+ java.lang.String md5Hash)
+
+
+ Copy the asset file specified by path directly to the given directory
+ (without the relative path of the asset).
+
+
+
+static void
+copyDirectory (java.io.File sourceDir,
+ java.io.File destDir)
+
+Copy a whole directory to another location.
+
+
+
+static boolean
+deleteDirectory (java.io.File directoryToBeDeleted)
+
+Deletes a directory recursively
+
+
+
+static boolean
+fileExists (java.lang.String path,
+ java.lang.String fileName)
+
+
+
+static org.json.JSONObject
+getAnylineAssetsJson (android.content.Context context,
+ java.lang.String fileName)
+
+Get the json object from the assets with the given file name.
+
+
+
+static java.lang.String
+getRootPathForProduct (android.content.Context context,
+ Product product)
+
+
+
+static java.lang.String
+getRootPathForScanPlugin (android.content.Context context,
+ java.lang.Class<?> scanPluginClass)
+
+
+
+static java.lang.String
+readFile (java.lang.String path,
+ java.lang.String fileName)
+
+Read the text of the given file within the assets.
+
+
+
+
+
+
+
+Methods inherited from class java.lang.Object
+equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+AssetUtil
+public AssetUtil()
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+readFile
+public static java.lang.String readFile(java.lang.String path,
+ java.lang.String fileName)
+ throws java.io.IOException
+Read the text of the given file within the assets.
+
+Parameters:
+fileName
- the file name of the file to read (full path within the assets folder)
+Returns:
+the text of the file
+Throws:
+java.io.IOException
- if the file could not be found or read
+
+
+
+
+
+
+
+
+getAnylineAssetsJson
+public static org.json.JSONObject getAnylineAssetsJson(android.content.Context context,
+ java.lang.String fileName)
+ throws java.io.IOException
+Get the json object from the assets with the given file name.
+
+Parameters:
+context
- the context
+fileName
- the name of the json file in the assets folder to read
+Returns:
+the json object from the assets with the given file name.
+Throws:
+java.io.IOException
- if the file could not be found or it is not a valid json.
+
+
+
+
+
+
+
+
+copyAnylineAssets
+public static void copyAnylineAssets(android.content.Context context,
+ org.json.JSONObject json,
+ java.lang.String mapJsonName,
+ java.io.File dirToCopyTo,
+ boolean isForceCopy)
+ throws org.json.JSONException,
+ java.io.IOException
+Copy the assets of the given map listed in the given json object
+ (must be a map with filename relative to assets as the key and the md5 sum of the file as value)
+ to the given directory.
+ The file will only be copied if it does not exist in the target location,
+ or the saved md5 for that file is different to the one in the given json object,
+ or if the isForcedCopy flag is true.
+
+Parameters:
+context
- the context
+json
- the json file containing a map with asset paths and md5 sums
+mapJsonName
- the name of the map within the json object
+dirToCopyTo
- the dir to copy the assets to
+isForceCopy
- true if files should be copied regardless of the hashes
+Throws:
+org.json.JSONException
- if there is a problem parsing the json (e.g. if the given map name does not exist)
+java.io.IOException
- if there is any problem copying the files
+
+
+
+
+
+
+
+
+copyAssetFile
+public static void copyAssetFile(android.content.Context context,
+ java.lang.String pathInAssets,
+ java.io.File dirToCopyTo,
+ boolean isForceCopy)
+ throws java.io.IOException
+
+ Copy the asset file specified by path to given directory.
+
+ Md5 sum will be calculated and stored to the target dir with .md5 ending.
+ Calculating this takes time, prefer auto generating the anyline_assets.json
+ or providing the md5 with copyAssetFile(Context, String, File, String)
.
+
+ If isForceCopy is false, this will not copy anything if the same .md5 file is in the target dir.
+
+
+Parameters:
+context
- the context
+pathInAssets
- Path to asset, relative to app's assets directory.
+dirToCopyTo
- the target directory
+isForceCopy
- if true the file will always be copied (an md5 will be calculated and checked otherwise)
+Throws:
+java.io.IOException
- if there is any problem copying the files
+
+
+
+
+
+
+
+
+copyAssetFile
+public static void copyAssetFile(android.content.Context context,
+ java.lang.String pathInAssets,
+ java.io.File dirToCopyTo,
+ java.lang.String md5Hash)
+ throws java.io.IOException
+
+ Copy the asset file specified by path to given directory.
+
+ The file will only be copied if it does not exist in the target location,
+ or the saved md5 for that file is different to the one given.
+ (The file will always be copied if the given hash is null)
+
+
+Parameters:
+context
- the context
+pathInAssets
- Path to asset, relative to app's assets directory.
+dirToCopyTo
- the target directory
+md5Hash
- the md5 checksum for the file to copy
+Throws:
+java.io.IOException
- if there is any problem copying the files
+
+
+
+
+
+
+
+
+copyAssetFileWithoutPath
+public static void copyAssetFileWithoutPath(android.content.Context context,
+ java.lang.String pathInAssets,
+ java.io.File dirToCopyTo,
+ boolean isForceCopy)
+ throws java.io.IOException
+
+ Copy the asset file specified by path directly to the given directory
+ (without the relative path of the asset).
+
+ Md5 sum will be calculated and stored to the target dir with .md5 ending.
+ Calculating this takes time, prefer auto generating the anyline_assets.json
+ or providing the md5 with copyAssetFileWithoutPath(Context, String, File, String)
.
+
+ If isForceCopy is false, this will not copy anything if the same .md5 file is in the target dir.
+
+
+Parameters:
+context
- the context
+pathInAssets
- Path to asset, relative to app's assets directory.
+dirToCopyTo
- the target directory
+isForceCopy
- if true the file will always be copied (an md5 will be calculated and checked otherwise)
+Throws:
+java.io.IOException
- if there is any problem copying the files
+
+
+
+
+
+
+
+
+copyAssetFileWithoutPath
+public static void copyAssetFileWithoutPath(android.content.Context context,
+ java.lang.String pathInAssets,
+ java.io.File dirToCopyTo,
+ java.lang.String md5Hash)
+ throws java.io.IOException
+
+ Copy the asset file specified by path directly to the given directory
+ (without the relative path of the asset).
+
+ The file will only be copied if it does not exist in the target location,
+ or the saved md5 for that file is different to the one given.
+ (The file will always be copied if the given hash is null)
+
+
+Parameters:
+context
- the context
+pathInAssets
- Path to asset, relative to app's assets directory.
+dirToCopyTo
- the target directory
+md5Hash
- the md5 checksum for the file to copy
+Throws:
+java.io.IOException
- if there is any problem copying the files
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+copyDirectory
+public static void copyDirectory(java.io.File sourceDir,
+ java.io.File destDir)
+ throws java.io.IOException
+Copy a whole directory to another location.
+
+Parameters:
+sourceDir
- a File object represents the source directory
+destDir
- a File object represents the destination directory
+Throws:
+java.io.IOException
- thrown if IO error occurred.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/util/ColorUtil.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/util/ColorUtil.html
new file mode 100644
index 000000000..47e822985
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/util/ColorUtil.html
@@ -0,0 +1,312 @@
+
+
+
+
+
+
ColorUtil (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+io.anyline.util.ColorUtil
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+Constructors
+
+Constructor
+Description
+
+
+ColorUtil ()
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class java.lang.Object
+equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+ColorUtil
+public ColorUtil()
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/util/ConstantUtil.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/util/ConstantUtil.html
new file mode 100644
index 000000000..93719743f
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/util/ConstantUtil.html
@@ -0,0 +1,888 @@
+
+
+
+
+
+
ConstantUtil (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+io.anyline.util.ConstantUtil
+
+
+
+
+
+
+
+
+
+
+
+
+
+Field Summary
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+Constructors
+
+Constructor
+Description
+
+
+ConstantUtil ()
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+Methods inherited from class java.lang.Object
+equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+ConstantUtil
+public ConstantUtil()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/util/DimensUtil.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/util/DimensUtil.html
new file mode 100644
index 000000000..00058f36a
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/util/DimensUtil.html
@@ -0,0 +1,404 @@
+
+
+
+
+
+
DimensUtil (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+io.anyline.util.DimensUtil
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+Constructors
+
+Constructor
+Description
+
+
+DimensUtil ()
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+All Methods Static Methods Concrete Methods
+
+Modifier and Type
+Method
+Description
+
+
+static int
+dpToPx (android.content.Context context,
+ float dp)
+
+
+
+static int
+getDpFromPix (android.content.Context context,
+ int pix)
+
+Get the dp for given pixels rounded to int.
+
+
+
+static int
+getPixFromDp (android.content.Context context,
+ int dp)
+
+Get the pixels for dp rounded to int.
+
+
+
+static int
+getScreenOrientation (android.content.Context context)
+
+Get the current screen orientation.
+
+
+
+static boolean
+isOrientationPortrait (android.content.Context context)
+
+Returns true if screen orientation is Portrait
+
+
+
+
+
+
+
+Methods inherited from class java.lang.Object
+equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+DimensUtil
+public DimensUtil()
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+getPixFromDp
+public static int getPixFromDp(android.content.Context context,
+ int dp)
+Get the pixels for dp rounded to int.
+
+Parameters:
+context
- the context
+dp
- the dp to convert to pixels
+Returns:
+the pixels for the given dp
+
+
+
+
+
+
+
+
+
+
+
+
+getDpFromPix
+public static int getDpFromPix(android.content.Context context,
+ int pix)
+Get the dp for given pixels rounded to int.
+
+Parameters:
+context
- the context
+pix
- the dp to convert to pixels
+Returns:
+the dp for the given pixels
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/util/ImageToCutoutCropper.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/util/ImageToCutoutCropper.html
new file mode 100644
index 000000000..7c52c43cc
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/util/ImageToCutoutCropper.html
@@ -0,0 +1,311 @@
+
+
+
+
+
+
ImageToCutoutCropper (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+io.anyline.util.ImageToCutoutCropper
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class java.lang.Object
+equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+cropImage
+public static AnylineYuvImage cropImage(AnylineYuvImage image,
+ int imageCropX,
+ int imageCropY,
+ int imageCropWidth,
+ int imageCropHeight)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/util/ImageUtil.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/util/ImageUtil.html
new file mode 100644
index 000000000..52ccf11db
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/util/ImageUtil.html
@@ -0,0 +1,312 @@
+
+
+
+
+
+
ImageUtil (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+io.anyline.util.ImageUtil
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+Constructors
+
+Constructor
+Description
+
+
+ImageUtil ()
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+All Methods Static Methods Concrete Methods
+
+Modifier and Type
+Method
+Description
+
+
+static int
+getRotationCompensation (android.content.Context context,
+ int cameraId,
+ boolean isFrontFacing)
+
+Get the angle by which an image must be rotated given the device's current
+ orientation.
+
+
+
+
+
+
+
+Methods inherited from class java.lang.Object
+equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+ImageUtil
+public ImageUtil()
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+getRotationCompensation
+public static int getRotationCompensation(android.content.Context context,
+ int cameraId,
+ boolean isFrontFacing)
+Get the angle by which an image must be rotated given the device's current
+ orientation.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/util/JSONUtil.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/util/JSONUtil.html
new file mode 100644
index 000000000..3810fc978
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/util/JSONUtil.html
@@ -0,0 +1,334 @@
+
+
+
+
+
+
JSONUtil (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+io.anyline.util.JSONUtil
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+Constructors
+
+Constructor
+Description
+
+
+JSONUtil ()
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+All Methods Static Methods Concrete Methods
+
+Modifier and Type
+Method
+Description
+
+
+static org.json.JSONObject
+recursiveJsonKeyConverterToLower (org.json.JSONObject jsonObject)
+
+
+
+static java.util.Map<java.lang.String,java.lang.Object>
+toMap (org.json.JSONObject object)
+
+create a dictionary from a jsonObject with value, key, parsable
+
+
+
+
+
+
+
+Methods inherited from class java.lang.Object
+equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+JSONUtil
+public JSONUtil()
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+toMap
+public static java.util.Map<java.lang.String,java.lang.Object> toMap(org.json.JSONObject object)
+ throws org.json.JSONException
+create a dictionary from a jsonObject with value, key, parsable
+
+Parameters:
+object
-
+Returns:
+a dictionary
+Throws:
+org.json.JSONException
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/util/JSUtil.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/util/JSUtil.html
new file mode 100644
index 000000000..136b0df96
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/util/JSUtil.html
@@ -0,0 +1,453 @@
+
+
+
+
+
+
JSUtil (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+io.anyline.util.JSUtil
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+Constructors
+
+Constructor
+Description
+
+
+JSUtil ()
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+All Methods Static Methods Concrete Methods
+
+Modifier and Type
+Method
+Description
+
+
+static java.lang.StringBuilder
+setupConfig (android.content.Context context,
+ java.lang.String id,
+ CutoutConfig cutoutConfig,
+ VisualFeedbackConfig visualFeedbackConfig,
+ android.graphics.Rect rect)
+
+
+
+static java.lang.StringBuilder
+setupDelayTime (double delayTime,
+ java.lang.String id)
+
+
+
+static java.lang.StringBuilder
+setupMask (CutoutConfig cutoutConfig)
+
+
+
+static java.lang.StringBuilder
+setupParallelConfig (android.content.Context context,
+ java.util.ArrayList<java.lang.String> ids,
+ java.util.ArrayList<CutoutConfig > cutoutConfigs,
+ java.util.ArrayList<VisualFeedbackConfig > visualFeedbackConfigs,
+ java.util.ArrayList<android.graphics.Rect> rects)
+
+
+
+static java.lang.StringBuilder
+setupSerialConfig (android.content.Context context,
+ java.util.ArrayList<java.lang.String> ids,
+ java.util.ArrayList<CutoutConfig > cutoutConfigs,
+ java.util.ArrayList<VisualFeedbackConfig > visualFeedbackConfigs,
+ java.util.ArrayList<android.graphics.Rect> rects)
+
+
+
+static java.lang.StringBuilder
+updateCutout (java.lang.String id,
+ boolean visible)
+
+
+
+static java.lang.StringBuilder
+updateDocumentColorsFeedback (VisualFeedbackConfig visualFeedbackConfig,
+ java.lang.String id)
+
+
+
+static java.lang.StringBuilder
+updateFeedback (java.util.ArrayList<android.graphics.RectF> rectFs,
+ android.content.Context context,
+ java.lang.String id)
+
+
+
+static java.lang.StringBuilder
+updateFeedbackShape (java.util.List<android.graphics.PointF> points,
+ android.content.Context context,
+ java.lang.String id)
+
+
+
+
+
+
+
+Methods inherited from class java.lang.Object
+equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+JSUtil
+public JSUtil()
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+setupConfig
+public static java.lang.StringBuilder setupConfig(android.content.Context context,
+ java.lang.String id,
+ CutoutConfig cutoutConfig,
+ VisualFeedbackConfig visualFeedbackConfig,
+ android.graphics.Rect rect)
+
+
+
+
+
+
+
+setupParallelConfig
+public static java.lang.StringBuilder setupParallelConfig(android.content.Context context,
+ java.util.ArrayList<java.lang.String> ids,
+ java.util.ArrayList<CutoutConfig > cutoutConfigs,
+ java.util.ArrayList<VisualFeedbackConfig > visualFeedbackConfigs,
+ java.util.ArrayList<android.graphics.Rect> rects)
+
+
+
+
+
+
+
+setupSerialConfig
+public static java.lang.StringBuilder setupSerialConfig(android.content.Context context,
+ java.util.ArrayList<java.lang.String> ids,
+ java.util.ArrayList<CutoutConfig > cutoutConfigs,
+ java.util.ArrayList<VisualFeedbackConfig > visualFeedbackConfigs,
+ java.util.ArrayList<android.graphics.Rect> rects)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/util/NumUtil.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/util/NumUtil.html
new file mode 100644
index 000000000..74fdd6857
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/util/NumUtil.html
@@ -0,0 +1,364 @@
+
+
+
+
+
+
NumUtil (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+io.anyline.util.NumUtil
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+Constructors
+
+Constructor
+Description
+
+
+NumUtil ()
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+All Methods Static Methods Concrete Methods
+
+Modifier and Type
+Method
+Description
+
+
+static java.lang.Double
+asDouble (java.lang.Object param)
+
+'Casts' an Object that is a Number to a Double.
+
+
+
+static java.lang.Float
+asFloat (java.lang.Object param)
+
+'Casts' an Object that is a Number to a Float.
+
+
+
+static java.lang.Integer
+asInteger (java.lang.Object param)
+
+'Casts' an Object that is a Number to a Integer.
+
+
+
+
+
+
+
+Methods inherited from class java.lang.Object
+equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+NumUtil
+public NumUtil()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/util/NumberValidationUtil.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/util/NumberValidationUtil.html
new file mode 100644
index 000000000..933b5ed34
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/util/NumberValidationUtil.html
@@ -0,0 +1,307 @@
+
+
+
+
+
+
NumberValidationUtil (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+io.anyline.util.NumberValidationUtil
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class java.lang.Object
+equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/util/SoundUtil.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/util/SoundUtil.html
new file mode 100644
index 000000000..c5ff89de2
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/util/SoundUtil.html
@@ -0,0 +1,365 @@
+
+
+
+
+
+
SoundUtil (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+io.anyline.util.SoundUtil
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+Constructors
+
+Constructor
+Description
+
+
+SoundUtil (android.content.Context context)
+
+Create a SoundUtil helper with the given context.
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+All Methods Instance Methods Concrete Methods
+
+Modifier and Type
+Method
+Description
+
+
+void
+loadSoundFromAssets (java.lang.String assetFileName)
+
+Load the sound from the given asset file name (with relative path within the assets).
+
+
+
+void
+playSound (java.lang.String assetFileName)
+
+Play the sound previously loaded from the given asset file name.
+
+
+
+void
+releaseSoundPool ()
+
+Release the sound pool.
+
+
+
+
+
+
+
+Methods inherited from class java.lang.Object
+equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/util/StringUtil.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/util/StringUtil.html
new file mode 100644
index 000000000..177388387
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/util/StringUtil.html
@@ -0,0 +1,303 @@
+
+
+
+
+
+
StringUtil (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+io.anyline.util.StringUtil
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+Constructors
+
+Constructor
+Description
+
+
+StringUtil ()
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class java.lang.Object
+equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+StringUtil
+public StringUtil()
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/util/TempFileUtil.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/util/TempFileUtil.html
new file mode 100644
index 000000000..673748bf3
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/util/TempFileUtil.html
@@ -0,0 +1,333 @@
+
+
+
+
+
+
TempFileUtil (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+io.anyline.util.TempFileUtil
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+Constructors
+
+Constructor
+Description
+
+
+TempFileUtil ()
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+All Methods Static Methods Concrete Methods
+
+Modifier and Type
+Method
+Description
+
+
+static java.io.File
+createTempFileCheckCache (android.content.Context context,
+ java.lang.String fileNamePrefix,
+ java.lang.String fileNameSuffix)
+
+THIS class is ALPHA and API may change.
+
+
+
+
+
+
+
+Methods inherited from class java.lang.Object
+equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+TempFileUtil
+public TempFileUtil()
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/util/VersionUtil.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/util/VersionUtil.html
new file mode 100644
index 000000000..0107e13d3
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/util/VersionUtil.html
@@ -0,0 +1,317 @@
+
+
+
+
+
+
VersionUtil (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+io.anyline.util.VersionUtil
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+Constructors
+
+Constructor
+Description
+
+
+VersionUtil ()
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class java.lang.Object
+equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+VersionUtil
+public VersionUtil()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/util/package-summary.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/util/package-summary.html
new file mode 100644
index 000000000..4f3491c82
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/util/package-summary.html
@@ -0,0 +1,231 @@
+
+
+
+
+
+
io.anyline.util (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/util/package-tree.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/util/package-tree.html
new file mode 100644
index 000000000..758de4de7
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/util/package-tree.html
@@ -0,0 +1,174 @@
+
+
+
+
+
+
io.anyline.util Class Hierarchy (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/view/AbstractBaseScanViewPlugin.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/view/AbstractBaseScanViewPlugin.html
new file mode 100644
index 000000000..901748fd5
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/view/AbstractBaseScanViewPlugin.html
@@ -0,0 +1,529 @@
+
+
+
+
+
+
AbstractBaseScanViewPlugin (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+io.anyline.view.AbstractBaseScanViewPlugin<ResultType>
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class java.lang.Object
+equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+calcCutOutAndImageCropBounds
+public abstract void calcCutOutAndImageCropBounds(android.content.Context context,
+ int frameWidth,
+ int frameHeight,
+ int viewWidth,
+ int viewHeight,
+ float scale)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/view/AbstractScanViewPlugin.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/view/AbstractScanViewPlugin.html
new file mode 100644
index 000000000..4b3634084
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/view/AbstractScanViewPlugin.html
@@ -0,0 +1,701 @@
+
+
+
+
+
+
AbstractScanViewPlugin (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+
+Methods inherited from class java.lang.Object
+equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/view/AbstractScanViewPluginComposite.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/view/AbstractScanViewPluginComposite.html
new file mode 100644
index 000000000..7cb5c3ecc
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/view/AbstractScanViewPluginComposite.html
@@ -0,0 +1,695 @@
+
+
+
+
+
+
AbstractScanViewPluginComposite (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+
+Methods inherited from class java.lang.Object
+equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/view/AbstractWebView.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/view/AbstractWebView.html
new file mode 100644
index 000000000..92a25ea0b
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/view/AbstractWebView.html
@@ -0,0 +1,614 @@
+
+
+
+
+
+
AbstractWebView (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+android.view.View
+
+
+android.view.ViewGroup
+
+
+android.widget.AbsoluteLayout
+
+
+android.webkit.WebView
+
+
+io.anyline.view.AbstractWebView
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Nested Class Summary
+
+
+
+
+Nested classes/interfaces inherited from class android.webkit.WebView
+android.webkit.WebView.FindListener, android.webkit.WebView.HitTestResult, android.webkit.WebView.PictureListener, android.webkit.WebView.VisualStateCallback, android.webkit.WebView.WebViewTransport
+
+
+
+
+
+Nested classes/interfaces inherited from class android.widget.AbsoluteLayout
+android.widget.AbsoluteLayout.LayoutParams
+
+
+
+
+
+Nested classes/interfaces inherited from class android.view.ViewGroup
+android.view.ViewGroup.MarginLayoutParams, android.view.ViewGroup.OnHierarchyChangeListener
+
+
+
+
+
+Nested classes/interfaces inherited from class android.view.View
+android.view.View.AccessibilityDelegate, android.view.View.BaseSavedState, android.view.View.DragShadowBuilder, android.view.View.MeasureSpec, android.view.View.OnApplyWindowInsetsListener, android.view.View.OnAttachStateChangeListener, android.view.View.OnCapturedPointerListener, android.view.View.OnClickListener, android.view.View.OnContextClickListener, android.view.View.OnCreateContextMenuListener, android.view.View.OnDragListener, android.view.View.OnFocusChangeListener, android.view.View.OnGenericMotionListener, android.view.View.OnHoverListener, android.view.View.OnKeyListener, android.view.View.OnLayoutChangeListener, android.view.View.OnLongClickListener, android.view.View.OnScrollChangeListener, android.view.View.OnSystemUiVisibilityChangeListener, android.view.View.OnTouchListener, android.view.View.OnUnhandledKeyEventListener
+
+
+
+
+
+
+
+
+
+
+Field Summary
+
+
+
+
+Fields inherited from class android.webkit.WebView
+RENDERER_PRIORITY_BOUND, RENDERER_PRIORITY_IMPORTANT, RENDERER_PRIORITY_WAIVED, SCHEME_GEO, SCHEME_MAILTO, SCHEME_TEL
+
+
+
+
+
+Fields inherited from class android.view.ViewGroup
+FOCUS_AFTER_DESCENDANTS, FOCUS_BEFORE_DESCENDANTS, FOCUS_BLOCK_DESCENDANTS, LAYOUT_MODE_CLIP_BOUNDS, LAYOUT_MODE_OPTICAL_BOUNDS, PERSISTENT_ALL_CACHES, PERSISTENT_ANIMATION_CACHE, PERSISTENT_NO_CACHE, PERSISTENT_SCROLLING_CACHE
+
+
+
+
+
+Fields inherited from class android.view.View
+ACCESSIBILITY_LIVE_REGION_ASSERTIVE, ACCESSIBILITY_LIVE_REGION_NONE, ACCESSIBILITY_LIVE_REGION_POLITE, ALPHA, AUTOFILL_FLAG_INCLUDE_NOT_IMPORTANT_VIEWS, AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_DATE, AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_DAY, AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_MONTH, AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_YEAR, AUTOFILL_HINT_CREDIT_CARD_NUMBER, AUTOFILL_HINT_CREDIT_CARD_SECURITY_CODE, AUTOFILL_HINT_EMAIL_ADDRESS, AUTOFILL_HINT_NAME, AUTOFILL_HINT_PASSWORD, AUTOFILL_HINT_PHONE, AUTOFILL_HINT_POSTAL_ADDRESS, AUTOFILL_HINT_POSTAL_CODE, AUTOFILL_HINT_USERNAME, AUTOFILL_TYPE_DATE, AUTOFILL_TYPE_LIST, AUTOFILL_TYPE_NONE, AUTOFILL_TYPE_TEXT, AUTOFILL_TYPE_TOGGLE, DRAG_FLAG_GLOBAL, DRAG_FLAG_GLOBAL_PERSISTABLE_URI_PERMISSION, DRAG_FLAG_GLOBAL_PREFIX_URI_PERMISSION, DRAG_FLAG_GLOBAL_URI_READ, DRAG_FLAG_GLOBAL_URI_WRITE, DRAG_FLAG_OPAQUE, DRAWING_CACHE_QUALITY_AUTO, DRAWING_CACHE_QUALITY_HIGH, DRAWING_CACHE_QUALITY_LOW, FIND_VIEWS_WITH_CONTENT_DESCRIPTION, FIND_VIEWS_WITH_TEXT, FOCUS_BACKWARD, FOCUS_DOWN, FOCUS_FORWARD, FOCUS_LEFT, FOCUS_RIGHT, FOCUS_UP, FOCUSABLE, FOCUSABLE_AUTO, FOCUSABLES_ALL, FOCUSABLES_TOUCH_MODE, GONE, HAPTIC_FEEDBACK_ENABLED, IMPORTANT_FOR_ACCESSIBILITY_AUTO, IMPORTANT_FOR_ACCESSIBILITY_NO, IMPORTANT_FOR_ACCESSIBILITY_NO_HIDE_DESCENDANTS, IMPORTANT_FOR_ACCESSIBILITY_YES, IMPORTANT_FOR_AUTOFILL_AUTO, IMPORTANT_FOR_AUTOFILL_NO, IMPORTANT_FOR_AUTOFILL_NO_EXCLUDE_DESCENDANTS, IMPORTANT_FOR_AUTOFILL_YES, IMPORTANT_FOR_AUTOFILL_YES_EXCLUDE_DESCENDANTS, IMPORTANT_FOR_CONTENT_CAPTURE_AUTO, IMPORTANT_FOR_CONTENT_CAPTURE_NO, IMPORTANT_FOR_CONTENT_CAPTURE_NO_EXCLUDE_DESCENDANTS, IMPORTANT_FOR_CONTENT_CAPTURE_YES, IMPORTANT_FOR_CONTENT_CAPTURE_YES_EXCLUDE_DESCENDANTS, INVISIBLE, KEEP_SCREEN_ON, LAYER_TYPE_HARDWARE, LAYER_TYPE_NONE, LAYER_TYPE_SOFTWARE, LAYOUT_DIRECTION_INHERIT, LAYOUT_DIRECTION_LOCALE, LAYOUT_DIRECTION_LTR, LAYOUT_DIRECTION_RTL, MEASURED_HEIGHT_STATE_SHIFT, MEASURED_SIZE_MASK, MEASURED_STATE_MASK, MEASURED_STATE_TOO_SMALL, NO_ID, NOT_FOCUSABLE, OVER_SCROLL_ALWAYS, OVER_SCROLL_IF_CONTENT_SCROLLS, OVER_SCROLL_NEVER, ROTATION, ROTATION_X, ROTATION_Y, SCALE_X, SCALE_Y, SCREEN_STATE_OFF, SCREEN_STATE_ON, SCROLL_AXIS_HORIZONTAL, SCROLL_AXIS_NONE, SCROLL_AXIS_VERTICAL, SCROLL_INDICATOR_BOTTOM, SCROLL_INDICATOR_END, SCROLL_INDICATOR_LEFT, SCROLL_INDICATOR_RIGHT, SCROLL_INDICATOR_START, SCROLL_INDICATOR_TOP, SCROLLBAR_POSITION_DEFAULT, SCROLLBAR_POSITION_LEFT, SCROLLBAR_POSITION_RIGHT, SCROLLBARS_INSIDE_INSET, SCROLLBARS_INSIDE_OVERLAY, SCROLLBARS_OUTSIDE_INSET, SCROLLBARS_OUTSIDE_OVERLAY, SOUND_EFFECTS_ENABLED, STATUS_BAR_HIDDEN, STATUS_BAR_VISIBLE, SYSTEM_UI_FLAG_FULLSCREEN, SYSTEM_UI_FLAG_HIDE_NAVIGATION, SYSTEM_UI_FLAG_IMMERSIVE, SYSTEM_UI_FLAG_IMMERSIVE_STICKY, SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN, SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION, SYSTEM_UI_FLAG_LAYOUT_STABLE, SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR, SYSTEM_UI_FLAG_LIGHT_STATUS_BAR, SYSTEM_UI_FLAG_LOW_PROFILE, SYSTEM_UI_FLAG_VISIBLE, SYSTEM_UI_LAYOUT_FLAGS, TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_GRAVITY, TEXT_ALIGNMENT_INHERIT, TEXT_ALIGNMENT_TEXT_END, TEXT_ALIGNMENT_TEXT_START, TEXT_ALIGNMENT_VIEW_END, TEXT_ALIGNMENT_VIEW_START, TEXT_DIRECTION_ANY_RTL, TEXT_DIRECTION_FIRST_STRONG, TEXT_DIRECTION_FIRST_STRONG_LTR, TEXT_DIRECTION_FIRST_STRONG_RTL, TEXT_DIRECTION_INHERIT, TEXT_DIRECTION_LOCALE, TEXT_DIRECTION_LTR, TEXT_DIRECTION_RTL, TRANSLATION_X, TRANSLATION_Y, TRANSLATION_Z, VISIBLE, X, Y, Z
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+All Methods Instance Methods Concrete Methods
+
+Modifier and Type
+Method
+Description
+
+
+java.lang.String
+drawDocument (java.util.List<android.graphics.PointF> reportedShape)
+
+
+
+int
+getScaleWebView (android.webkit.WebView webView)
+
+
+
+java.util.List<android.graphics.PointF>
+getViewRelativePointListFromCutoutRelativeShape (java.util.List<android.graphics.PointF> shape)
+
+
+
+void
+setCutoutInfo (android.graphics.Rect cutoutRectOnView,
+ float frameToViewScale,
+ int cutoutCropOffsetOnViewX,
+ int cutoutCropOffsetOnViewY)
+
+
+
+void
+setRectRelativeToCutout (io.anyline.view.AbstractWebView.AnimatableRectF rect,
+ Rect reportedRect,
+ float resizeScale)
+
+
+
+java.util.List<android.graphics.PointF>
+setShapeRelativeToCutout (java.util.List<android.graphics.PointF> reportedShape,
+ Rect cropRect,
+ float resizeScale)
+
+
+
+java.lang.String
+updateContours (Vector_Contour contours,
+ float scale)
+
+
+
+java.lang.String
+updateContours (Vector_SevenSegmentContour contours,
+ float scale)
+
+
+
+java.lang.String
+updateContoursREACT (Vector_Contour contours,
+ float scale)
+
+
+
+java.lang.String
+updateContoursREACT (Vector_SevenSegmentContour contours,
+ float scale)
+
+
+
+java.lang.String
+updateShape (java.util.List<android.graphics.PointF> reportedShape,
+ Rect cropRect,
+ float scale)
+
+
+
+
+
+
+
+Methods inherited from class android.webkit.WebView
+addJavascriptInterface, autofill, canGoBack, canGoBackOrForward, canGoForward, canZoomIn, canZoomOut, capturePicture, clearCache, clearClientCertPreferences, clearFormData, clearHistory, clearMatches, clearSslPreferences, clearView, computeScroll, copyBackForwardList, createPrintDocumentAdapter, createPrintDocumentAdapter, createWebMessageChannel, destroy, disableWebView, dispatchKeyEvent, documentHasImages, enableSlowWholeDocumentDraw, evaluateJavascript, findAddress, findAll, findAllAsync, findFocus, findNext, flingScroll, freeMemory, getAccessibilityClassName, getAccessibilityNodeProvider, getCertificate, getContentHeight, getCurrentWebViewPackage, getFavicon, getHandler, getHitTestResult, getHttpAuthUsernamePassword, getOriginalUrl, getProgress, getRendererPriorityWaivedWhenNotVisible, getRendererRequestedPriority, getSafeBrowsingPrivacyPolicyUrl, getScale, getSettings, getTextClassifier, getTitle, getUrl, getWebChromeClient, getWebViewClassLoader, getWebViewClient, getWebViewLooper, getWebViewRenderProcess, getWebViewRenderProcessClient, goBack, goBackOrForward, goForward, invokeZoomPicker, isPrivateBrowsingEnabled, isVisibleToUserForAutofill, loadData, loadDataWithBaseURL, loadUrl, loadUrl, onCheckIsTextEditor, onChildViewAdded, onChildViewRemoved, onCreateInputConnection, onDragEvent, onFinishTemporaryDetach, onGenericMotionEvent, onGlobalFocusChanged, onHoverEvent, onKeyDown, onKeyMultiple, onKeyUp, onPause, onProvideAutofillVirtualStructure, onProvideContentCaptureStructure, onProvideVirtualStructure, onResume, onStartTemporaryDetach, onTouchEvent, onTrackballEvent, onWindowFocusChanged, overlayHorizontalScrollbar, overlayVerticalScrollbar, pageDown, pageUp, pauseTimers, performLongClick, postUrl, postVisualStateCallback, postWebMessage, reload, removeJavascriptInterface, requestChildRectangleOnScreen, requestFocus, requestFocusNodeHref, requestImageRef, restoreState, resumeTimers, savePassword, saveState, saveWebArchive, saveWebArchive, setBackgroundColor, setCertificate, setDataDirectorySuffix, setDownloadListener, setFindListener, setHorizontalScrollbarOverlay, setHttpAuthUsernamePassword, setInitialScale, setLayerType, setLayoutParams, setMapTrackballToArrowKeys, setNetworkAvailable, setOverScrollMode, setPictureListener, setRendererPriorityPolicy, setSafeBrowsingWhitelist, setScrollBarStyle, setTextClassifier, setVerticalScrollbarOverlay, setWebChromeClient, setWebContentsDebuggingEnabled, setWebViewClient, setWebViewRenderProcessClient, setWebViewRenderProcessClient, shouldDelayChildPressedState, showFindDialog, startSafeBrowsing, stopLoading, zoomBy, zoomIn, zoomOut
+
+
+
+
+
+Methods inherited from class android.widget.AbsoluteLayout
+generateLayoutParams
+
+
+
+
+
+Methods inherited from class android.view.ViewGroup
+addChildrenForAccessibility, addExtraDataToAccessibilityNodeInfo, addFocusables, addKeyboardNavigationClusters, addStatesFromChildren, addTouchables, addView, addView, addView, addView, addView, bringChildToFront, childDrawableStateChanged, childHasTransientStateChanged, clearChildFocus, clearDisappearingChildren, clearFocus, dispatchApplyWindowInsets, dispatchCapturedPointerEvent, dispatchConfigurationChanged, dispatchDisplayHint, dispatchDragEvent, dispatchDrawableHotspotChanged, dispatchFinishTemporaryDetach, dispatchKeyEventPreIme, dispatchKeyShortcutEvent, dispatchPointerCaptureChanged, dispatchProvideAutofillStructure, dispatchProvideStructure, dispatchSetActivated, dispatchSetSelected, dispatchStartTemporaryDetach, dispatchSystemUiVisibilityChanged, dispatchTouchEvent, dispatchTrackballEvent, dispatchUnhandledMove, dispatchWindowFocusChanged, dispatchWindowInsetsAnimationEnd, dispatchWindowInsetsAnimationPrepare, dispatchWindowInsetsAnimationProgress, dispatchWindowInsetsAnimationStart, dispatchWindowSystemUiVisiblityChanged, dispatchWindowVisibilityChanged, endViewTransition, findViewsWithText, focusableViewAvailable, focusSearch, gatherTransparentRegion, getChildAt, getChildCount, getChildDrawingOrder, getChildMeasureSpec, getChildVisibleRect, getClipChildren, getClipToPadding, getDescendantFocusability, getFocusedChild, getLayoutAnimation, getLayoutAnimationListener, getLayoutMode, getLayoutTransition, getNestedScrollAxes, getOverlay, getPersistentDrawingCache, getTouchscreenBlocksFocus, hasFocus, hasTransientState, indexOfChild, invalidateChild, invalidateChildInParent, isAlwaysDrawnWithCacheEnabled, isAnimationCacheEnabled, isLayoutSuppressed, isMotionEventSplittingEnabled, isTransitionGroup, jumpDrawablesToCurrentState, layout, notifySubtreeAccessibilityStateChanged, offsetDescendantRectToMyCoords, offsetRectIntoDescendantCoords, onDescendantInvalidated, onInterceptHoverEvent, onInterceptTouchEvent, onNestedFling, onNestedPreFling, onNestedPrePerformAccessibilityAction, onNestedPreScroll, onNestedScroll, onNestedScrollAccepted, onRequestSendAccessibilityEvent, onResolvePointerIcon, onStartNestedScroll, onStopNestedScroll, onViewAdded, onViewRemoved, recomputeViewAttributes, removeAllViews, removeAllViewsInLayout, removeView, removeViewAt, removeViewInLayout, removeViews, removeViewsInLayout, requestChildFocus, requestDisallowInterceptTouchEvent, requestSendAccessibilityEvent, requestTransparentRegion, restoreDefaultFocus, scheduleLayoutAnimation, setAddStatesFromChildren, setAlwaysDrawnWithCacheEnabled, setAnimationCacheEnabled, setClipChildren, setClipToPadding, setDescendantFocusability, setLayoutAnimation, setLayoutAnimationListener, setLayoutMode, setLayoutTransition, setMotionEventSplittingEnabled, setOnHierarchyChangeListener, setPersistentDrawingCache, setTouchscreenBlocksFocus, setTransitionGroup, setWindowInsetsAnimationCallback, showContextMenuForChild, showContextMenuForChild, startActionModeForChild, startActionModeForChild, startLayoutAnimation, startViewTransition, suppressLayout, updateViewLayout
+
+
+
+
+
+Methods inherited from class android.view.View
+addFocusables, addOnAttachStateChangeListener, addOnLayoutChangeListener, addOnUnhandledKeyEventListener, animate, announceForAccessibility, autofill, bringToFront, buildDrawingCache, buildDrawingCache, buildLayer, callOnClick, cancelDragAndDrop, cancelLongPress, cancelPendingInputEvents, canResolveLayoutDirection, canResolveTextAlignment, canResolveTextDirection, canScrollHorizontally, canScrollVertically, checkInputConnectionProxy, clearAnimation, combineMeasuredStates, computeSystemWindowInsets, createAccessibilityNodeInfo, createContextMenu, destroyDrawingCache, dispatchGenericMotionEvent, dispatchNestedFling, dispatchNestedPreFling, dispatchNestedPrePerformAccessibilityAction, dispatchNestedPreScroll, dispatchNestedScroll, dispatchPopulateAccessibilityEvent, draw, drawableHotspotChanged, findViewById, findViewWithTag, focusSearch, forceHasOverlappingRendering, forceLayout, generateViewId, getAccessibilityDelegate, getAccessibilityLiveRegion, getAccessibilityPaneTitle, getAccessibilityTraversalAfter, getAccessibilityTraversalBefore, getAlpha, getAnimation, getAnimationMatrix, getApplicationWindowToken, getAttributeResolutionStack, getAttributeSourceResourceMap, getAutofillHints, getAutofillId, getAutofillType, getAutofillValue, getBackground, getBackgroundTintBlendMode, getBackgroundTintList, getBackgroundTintMode, getBaseline, getBottom, getCameraDistance, getClipBounds, getClipBounds, getClipToOutline, getContentCaptureSession, getContentDescription, getContext, getDefaultFocusHighlightEnabled, getDefaultSize, getDisplay, getDrawableState, getDrawingCache, getDrawingCache, getDrawingCacheBackgroundColor, getDrawingCacheQuality, getDrawingRect, getDrawingTime, getElevation, getExplicitStyle, getFilterTouchesWhenObscured, getFitsSystemWindows, getFocusable, getFocusables, getFocusedRect, getForeground, getForegroundGravity, getForegroundTintBlendMode, getForegroundTintList, getForegroundTintMode, getGlobalVisibleRect, getGlobalVisibleRect, getHasOverlappingRendering, getHeight, getHitRect, getHorizontalFadingEdgeLength, getHorizontalScrollbarThumbDrawable, getHorizontalScrollbarTrackDrawable, getId, getImportantForAccessibility, getImportantForAutofill, getImportantForContentCapture, getKeepScreenOn, getKeyDispatcherState, getLabelFor, getLayerType, getLayoutDirection, getLayoutParams, getLeft, getLocalVisibleRect, getLocationInSurface, getLocationInWindow, getLocationOnScreen, getMatrix, getMeasuredHeight, getMeasuredHeightAndState, getMeasuredState, getMeasuredWidth, getMeasuredWidthAndState, getMinimumHeight, getMinimumWidth, getNextClusterForwardId, getNextFocusDownId, getNextFocusForwardId, getNextFocusLeftId, getNextFocusRightId, getNextFocusUpId, getOnFocusChangeListener, getOutlineAmbientShadowColor, getOutlineProvider, getOutlineSpotShadowColor, getOverScrollMode, getPaddingBottom, getPaddingEnd, getPaddingLeft, getPaddingRight, getPaddingStart, getPaddingTop, getParent, getParentForAccessibility, getPivotX, getPivotY, getPointerIcon, getResources, getRevealOnFocusHint, getRight, getRootView, getRootWindowInsets, getRotation, getRotationX, getRotationY, getScaleX, getScaleY, getScrollBarDefaultDelayBeforeFade, getScrollBarFadeDuration, getScrollBarSize, getScrollBarStyle, getScrollIndicators, getScrollX, getScrollY, getSolidColor, getSourceLayoutResId, getStateDescription, getStateListAnimator, getSystemGestureExclusionRects, getSystemUiVisibility, getTag, getTag, getTextAlignment, getTextDirection, getTooltipText, getTop, getTouchables, getTouchDelegate, getTransitionAlpha, getTransitionName, getTranslationX, getTranslationY, getTranslationZ, getUniqueDrawingId, getVerticalFadingEdgeLength, getVerticalScrollbarPosition, getVerticalScrollbarThumbDrawable, getVerticalScrollbarTrackDrawable, getVerticalScrollbarWidth, getViewTreeObserver, getVisibility, getWidth, getWindowId, getWindowInsetsController, getWindowSystemUiVisibility, getWindowToken, getWindowVisibility, getWindowVisibleDisplayFrame, getX, getY, getZ, hasExplicitFocusable, hasFocusable, hasNestedScrollingParent, hasOnClickListeners, hasOnLongClickListeners, hasOverlappingRendering, hasPointerCapture, hasWindowFocus, inflate, invalidate, invalidate, invalidate, invalidateDrawable, invalidateOutline, isAccessibilityFocused, isAccessibilityHeading, isActivated, isAttachedToWindow, isClickable, isContextClickable, isDirty, isDrawingCacheEnabled, isDuplicateParentStateEnabled, isEnabled, isFocusable, isFocusableInTouchMode, isFocused, isFocusedByDefault, isForceDarkAllowed, isHapticFeedbackEnabled, isHardwareAccelerated, isHorizontalFadingEdgeEnabled, isHorizontalScrollBarEnabled, isHovered, isImportantForAccessibility, isImportantForAutofill, isImportantForContentCapture, isInEditMode, isInLayout, isInTouchMode, isKeyboardNavigationCluster, isLaidOut, isLayoutDirectionResolved, isLayoutRequested, isLongClickable, isNestedScrollingEnabled, isOpaque, isPaddingRelative, isPivotSet, isPressed, isSaveEnabled, isSaveFromParentEnabled, isScreenReaderFocusable, isScrollbarFadingEnabled, isScrollContainer, isSelected, isShowingLayoutBounds, isShown, isSoundEffectsEnabled, isTemporarilyDetached, isTextAlignmentResolved, isTextDirectionResolved, isVerticalFadingEdgeEnabled, isVerticalScrollBarEnabled, keyboardNavigationClusterSearch, measure, offsetLeftAndRight, offsetTopAndBottom, onApplyWindowInsets, onCancelPendingInputEvents, onCapturedPointerEvent, onDrawForeground, onFilterTouchEventForSecurity, onHoverChanged, onInitializeAccessibilityEvent, onInitializeAccessibilityNodeInfo, onKeyLongPress, onKeyPreIme, onKeyShortcut, onPointerCaptureChange, onPopulateAccessibilityEvent, onProvideAutofillStructure, onProvideStructure, onRtlPropertiesChanged, onScreenStateChanged, onVisibilityAggregated, onWindowSystemUiVisibilityChanged, performAccessibilityAction, performClick, performContextClick, performContextClick, performHapticFeedback, performHapticFeedback, performLongClick, playSoundEffect, post, postDelayed, postInvalidate, postInvalidate, postInvalidateDelayed, postInvalidateDelayed, postInvalidateOnAnimation, postInvalidateOnAnimation, postOnAnimation, postOnAnimationDelayed, refreshDrawableState, releasePointerCapture, removeCallbacks, removeOnAttachStateChangeListener, removeOnLayoutChangeListener, removeOnUnhandledKeyEventListener, requestApplyInsets, requestFitSystemWindows, requestFocus, requestFocus, requestFocusFromTouch, requestLayout, requestPointerCapture, requestRectangleOnScreen, requestRectangleOnScreen, requestUnbufferedDispatch, requestUnbufferedDispatch, requireViewById, resetPivot, resolveSize, resolveSizeAndState, restoreHierarchyState, saveAttributeDataForStyleable, saveHierarchyState, scheduleDrawable, scrollBy, scrollTo, sendAccessibilityEvent, sendAccessibilityEventUnchecked, setAccessibilityDelegate, setAccessibilityHeading, setAccessibilityLiveRegion, setAccessibilityPaneTitle, setAccessibilityTraversalAfter, setAccessibilityTraversalBefore, setActivated, setAlpha, setAnimation, setAnimationMatrix, setAutofillHints, setAutofillId, setBackground, setBackgroundDrawable, setBackgroundResource, setBackgroundTintBlendMode, setBackgroundTintList, setBackgroundTintMode, setBottom, setCameraDistance, setClickable, setClipBounds, setClipToOutline, setContentCaptureSession, setContentDescription, setContextClickable, setDefaultFocusHighlightEnabled, setDrawingCacheBackgroundColor, setDrawingCacheEnabled, setDrawingCacheQuality, setDuplicateParentStateEnabled, setElevation, setEnabled, setFadingEdgeLength, setFilterTouchesWhenObscured, setFitsSystemWindows, setFocusable, setFocusable, setFocusableInTouchMode, setFocusedByDefault, setForceDarkAllowed, setForeground, setForegroundGravity, setForegroundTintBlendMode, setForegroundTintList, setForegroundTintMode, setHapticFeedbackEnabled, setHasTransientState, setHorizontalFadingEdgeEnabled, setHorizontalScrollBarEnabled, setHorizontalScrollbarThumbDrawable, setHorizontalScrollbarTrackDrawable, setHovered, setId, setImportantForAccessibility, setImportantForAutofill, setImportantForContentCapture, setKeepScreenOn, setKeyboardNavigationCluster, setLabelFor, setLayerPaint, setLayoutDirection, setLeft, setLeftTopRightBottom, setLongClickable, setMinimumHeight, setMinimumWidth, setNestedScrollingEnabled, setNextClusterForwardId, setNextFocusDownId, setNextFocusForwardId, setNextFocusLeftId, setNextFocusRightId, setNextFocusUpId, setOnApplyWindowInsetsListener, setOnCapturedPointerListener, setOnClickListener, setOnContextClickListener, setOnCreateContextMenuListener, setOnDragListener, setOnFocusChangeListener, setOnGenericMotionListener, setOnHoverListener, setOnKeyListener, setOnLongClickListener, setOnScrollChangeListener, setOnSystemUiVisibilityChangeListener, setOnTouchListener, setOutlineAmbientShadowColor, setOutlineProvider, setOutlineSpotShadowColor, setPadding, setPaddingRelative, setPivotX, setPivotY, setPointerIcon, setPressed, setRevealOnFocusHint, setRight, setRotation, setRotationX, setRotationY, setSaveEnabled, setSaveFromParentEnabled, setScaleX, setScaleY, setScreenReaderFocusable, setScrollBarDefaultDelayBeforeFade, setScrollBarFadeDuration, setScrollbarFadingEnabled, setScrollBarSize, setScrollContainer, setScrollIndicators, setScrollIndicators, setScrollX, setScrollY, setSelected, setSoundEffectsEnabled, setStateDescription, setStateListAnimator, setSystemGestureExclusionRects, setSystemUiVisibility, setTag, setTag, setTextAlignment, setTextDirection, setTooltipText, setTop, setTouchDelegate, setTransitionAlpha, setTransitionName, setTransitionVisibility, setTranslationX, setTranslationY, setTranslationZ, setVerticalFadingEdgeEnabled, setVerticalScrollBarEnabled, setVerticalScrollbarPosition, setVerticalScrollbarThumbDrawable, setVerticalScrollbarTrackDrawable, setVisibility, setWillNotCacheDrawing, setWillNotDraw, setX, setY, setZ, showContextMenu, showContextMenu, startActionMode, startActionMode, startAnimation, startDrag, startDragAndDrop, startNestedScroll, stopNestedScroll, toString, transformMatrixToGlobal, transformMatrixToLocal, unscheduleDrawable, unscheduleDrawable, updateDragShadow, willNotCacheDrawing, willNotDraw
+
+
+
+
+
+Methods inherited from class java.lang.Object
+equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
+
+
+
+
+
+Methods inherited from interface android.view.ViewParent
+canResolveLayoutDirection, canResolveTextAlignment, canResolveTextDirection, createContextMenu, getLayoutDirection, getParent, getParentForAccessibility, getTextAlignment, getTextDirection, isLayoutDirectionResolved, isLayoutRequested, isTextAlignmentResolved, isTextDirectionResolved, keyboardNavigationClusterSearch, requestFitSystemWindows, requestLayout
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+setCutoutInfo
+public void setCutoutInfo(android.graphics.Rect cutoutRectOnView,
+ float frameToViewScale,
+ int cutoutCropOffsetOnViewX,
+ int cutoutCropOffsetOnViewY)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/view/AnylineCutoutBase.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/view/AnylineCutoutBase.html
new file mode 100644
index 000000000..2d9d7d680
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/view/AnylineCutoutBase.html
@@ -0,0 +1,305 @@
+
+
+
+
+
+
AnylineCutoutBase (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+io.anyline.view.AnylineCutoutBase
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class java.lang.Object
+equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/view/AnylineFeedbackView.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/view/AnylineFeedbackView.html
new file mode 100644
index 000000000..11b93859e
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/view/AnylineFeedbackView.html
@@ -0,0 +1,384 @@
+
+
+
+
+
+
AnylineFeedbackView (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+android.view.View
+
+
+io.anyline.view.AnylineFeedbackView
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Nested Class Summary
+
+
+
+
+Nested classes/interfaces inherited from class android.view.View
+android.view.View.AccessibilityDelegate, android.view.View.BaseSavedState, android.view.View.DragShadowBuilder, android.view.View.MeasureSpec, android.view.View.OnApplyWindowInsetsListener, android.view.View.OnAttachStateChangeListener, android.view.View.OnCapturedPointerListener, android.view.View.OnClickListener, android.view.View.OnContextClickListener, android.view.View.OnCreateContextMenuListener, android.view.View.OnDragListener, android.view.View.OnFocusChangeListener, android.view.View.OnGenericMotionListener, android.view.View.OnHoverListener, android.view.View.OnKeyListener, android.view.View.OnLayoutChangeListener, android.view.View.OnLongClickListener, android.view.View.OnScrollChangeListener, android.view.View.OnSystemUiVisibilityChangeListener, android.view.View.OnTouchListener, android.view.View.OnUnhandledKeyEventListener
+
+
+
+
+
+
+
+
+
+
+Field Summary
+
+
+
+
+Fields inherited from class android.view.View
+ACCESSIBILITY_LIVE_REGION_ASSERTIVE, ACCESSIBILITY_LIVE_REGION_NONE, ACCESSIBILITY_LIVE_REGION_POLITE, ALPHA, AUTOFILL_FLAG_INCLUDE_NOT_IMPORTANT_VIEWS, AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_DATE, AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_DAY, AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_MONTH, AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_YEAR, AUTOFILL_HINT_CREDIT_CARD_NUMBER, AUTOFILL_HINT_CREDIT_CARD_SECURITY_CODE, AUTOFILL_HINT_EMAIL_ADDRESS, AUTOFILL_HINT_NAME, AUTOFILL_HINT_PASSWORD, AUTOFILL_HINT_PHONE, AUTOFILL_HINT_POSTAL_ADDRESS, AUTOFILL_HINT_POSTAL_CODE, AUTOFILL_HINT_USERNAME, AUTOFILL_TYPE_DATE, AUTOFILL_TYPE_LIST, AUTOFILL_TYPE_NONE, AUTOFILL_TYPE_TEXT, AUTOFILL_TYPE_TOGGLE, DRAG_FLAG_GLOBAL, DRAG_FLAG_GLOBAL_PERSISTABLE_URI_PERMISSION, DRAG_FLAG_GLOBAL_PREFIX_URI_PERMISSION, DRAG_FLAG_GLOBAL_URI_READ, DRAG_FLAG_GLOBAL_URI_WRITE, DRAG_FLAG_OPAQUE, DRAWING_CACHE_QUALITY_AUTO, DRAWING_CACHE_QUALITY_HIGH, DRAWING_CACHE_QUALITY_LOW, FIND_VIEWS_WITH_CONTENT_DESCRIPTION, FIND_VIEWS_WITH_TEXT, FOCUS_BACKWARD, FOCUS_DOWN, FOCUS_FORWARD, FOCUS_LEFT, FOCUS_RIGHT, FOCUS_UP, FOCUSABLE, FOCUSABLE_AUTO, FOCUSABLES_ALL, FOCUSABLES_TOUCH_MODE, GONE, HAPTIC_FEEDBACK_ENABLED, IMPORTANT_FOR_ACCESSIBILITY_AUTO, IMPORTANT_FOR_ACCESSIBILITY_NO, IMPORTANT_FOR_ACCESSIBILITY_NO_HIDE_DESCENDANTS, IMPORTANT_FOR_ACCESSIBILITY_YES, IMPORTANT_FOR_AUTOFILL_AUTO, IMPORTANT_FOR_AUTOFILL_NO, IMPORTANT_FOR_AUTOFILL_NO_EXCLUDE_DESCENDANTS, IMPORTANT_FOR_AUTOFILL_YES, IMPORTANT_FOR_AUTOFILL_YES_EXCLUDE_DESCENDANTS, IMPORTANT_FOR_CONTENT_CAPTURE_AUTO, IMPORTANT_FOR_CONTENT_CAPTURE_NO, IMPORTANT_FOR_CONTENT_CAPTURE_NO_EXCLUDE_DESCENDANTS, IMPORTANT_FOR_CONTENT_CAPTURE_YES, IMPORTANT_FOR_CONTENT_CAPTURE_YES_EXCLUDE_DESCENDANTS, INVISIBLE, KEEP_SCREEN_ON, LAYER_TYPE_HARDWARE, LAYER_TYPE_NONE, LAYER_TYPE_SOFTWARE, LAYOUT_DIRECTION_INHERIT, LAYOUT_DIRECTION_LOCALE, LAYOUT_DIRECTION_LTR, LAYOUT_DIRECTION_RTL, MEASURED_HEIGHT_STATE_SHIFT, MEASURED_SIZE_MASK, MEASURED_STATE_MASK, MEASURED_STATE_TOO_SMALL, NO_ID, NOT_FOCUSABLE, OVER_SCROLL_ALWAYS, OVER_SCROLL_IF_CONTENT_SCROLLS, OVER_SCROLL_NEVER, ROTATION, ROTATION_X, ROTATION_Y, SCALE_X, SCALE_Y, SCREEN_STATE_OFF, SCREEN_STATE_ON, SCROLL_AXIS_HORIZONTAL, SCROLL_AXIS_NONE, SCROLL_AXIS_VERTICAL, SCROLL_INDICATOR_BOTTOM, SCROLL_INDICATOR_END, SCROLL_INDICATOR_LEFT, SCROLL_INDICATOR_RIGHT, SCROLL_INDICATOR_START, SCROLL_INDICATOR_TOP, SCROLLBAR_POSITION_DEFAULT, SCROLLBAR_POSITION_LEFT, SCROLLBAR_POSITION_RIGHT, SCROLLBARS_INSIDE_INSET, SCROLLBARS_INSIDE_OVERLAY, SCROLLBARS_OUTSIDE_INSET, SCROLLBARS_OUTSIDE_OVERLAY, SOUND_EFFECTS_ENABLED, STATUS_BAR_HIDDEN, STATUS_BAR_VISIBLE, SYSTEM_UI_FLAG_FULLSCREEN, SYSTEM_UI_FLAG_HIDE_NAVIGATION, SYSTEM_UI_FLAG_IMMERSIVE, SYSTEM_UI_FLAG_IMMERSIVE_STICKY, SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN, SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION, SYSTEM_UI_FLAG_LAYOUT_STABLE, SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR, SYSTEM_UI_FLAG_LIGHT_STATUS_BAR, SYSTEM_UI_FLAG_LOW_PROFILE, SYSTEM_UI_FLAG_VISIBLE, SYSTEM_UI_LAYOUT_FLAGS, TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_GRAVITY, TEXT_ALIGNMENT_INHERIT, TEXT_ALIGNMENT_TEXT_END, TEXT_ALIGNMENT_TEXT_START, TEXT_ALIGNMENT_VIEW_END, TEXT_ALIGNMENT_VIEW_START, TEXT_DIRECTION_ANY_RTL, TEXT_DIRECTION_FIRST_STRONG, TEXT_DIRECTION_FIRST_STRONG_LTR, TEXT_DIRECTION_FIRST_STRONG_RTL, TEXT_DIRECTION_INHERIT, TEXT_DIRECTION_LOCALE, TEXT_DIRECTION_LTR, TEXT_DIRECTION_RTL, TRANSLATION_X, TRANSLATION_Y, TRANSLATION_Z, VISIBLE, X, Y, Z
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+Constructors
+
+Constructor
+Description
+
+
+AnylineFeedbackView (android.content.Context context,
+ android.util.AttributeSet attrs)
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class android.view.View
+addChildrenForAccessibility, addExtraDataToAccessibilityNodeInfo, addFocusables, addFocusables, addKeyboardNavigationClusters, addOnAttachStateChangeListener, addOnLayoutChangeListener, addOnUnhandledKeyEventListener, addTouchables, animate, announceForAccessibility, autofill, autofill, bringToFront, buildDrawingCache, buildDrawingCache, buildLayer, callOnClick, cancelDragAndDrop, cancelLongPress, cancelPendingInputEvents, canResolveLayoutDirection, canResolveTextAlignment, canResolveTextDirection, canScrollHorizontally, canScrollVertically, checkInputConnectionProxy, clearAnimation, clearFocus, combineMeasuredStates, computeScroll, computeSystemWindowInsets, createAccessibilityNodeInfo, createContextMenu, destroyDrawingCache, dispatchApplyWindowInsets, dispatchCapturedPointerEvent, dispatchConfigurationChanged, dispatchDisplayHint, dispatchDragEvent, dispatchDrawableHotspotChanged, dispatchFinishTemporaryDetach, dispatchGenericMotionEvent, dispatchKeyEvent, dispatchKeyEventPreIme, dispatchKeyShortcutEvent, dispatchNestedFling, dispatchNestedPreFling, dispatchNestedPrePerformAccessibilityAction, dispatchNestedPreScroll, dispatchNestedScroll, dispatchPointerCaptureChanged, dispatchPopulateAccessibilityEvent, dispatchProvideAutofillStructure, dispatchProvideStructure, dispatchStartTemporaryDetach, dispatchSystemUiVisibilityChanged, dispatchTouchEvent, dispatchTrackballEvent, dispatchUnhandledMove, dispatchWindowFocusChanged, dispatchWindowInsetsAnimationEnd, dispatchWindowInsetsAnimationPrepare, dispatchWindowInsetsAnimationProgress, dispatchWindowInsetsAnimationStart, dispatchWindowSystemUiVisiblityChanged, dispatchWindowVisibilityChanged, draw, drawableHotspotChanged, findFocus, findViewById, findViewsWithText, findViewWithTag, focusSearch, forceHasOverlappingRendering, forceLayout, generateViewId, getAccessibilityClassName, getAccessibilityDelegate, getAccessibilityLiveRegion, getAccessibilityNodeProvider, getAccessibilityPaneTitle, getAccessibilityTraversalAfter, getAccessibilityTraversalBefore, getAlpha, getAnimation, getAnimationMatrix, getApplicationWindowToken, getAttributeResolutionStack, getAttributeSourceResourceMap, getAutofillHints, getAutofillId, getAutofillType, getAutofillValue, getBackground, getBackgroundTintBlendMode, getBackgroundTintList, getBackgroundTintMode, getBaseline, getBottom, getCameraDistance, getClipBounds, getClipBounds, getClipToOutline, getContentCaptureSession, getContentDescription, getContext, getDefaultFocusHighlightEnabled, getDefaultSize, getDisplay, getDrawableState, getDrawingCache, getDrawingCache, getDrawingCacheBackgroundColor, getDrawingCacheQuality, getDrawingRect, getDrawingTime, getElevation, getExplicitStyle, getFilterTouchesWhenObscured, getFitsSystemWindows, getFocusable, getFocusables, getFocusedRect, getForeground, getForegroundGravity, getForegroundTintBlendMode, getForegroundTintList, getForegroundTintMode, getGlobalVisibleRect, getGlobalVisibleRect, getHandler, getHasOverlappingRendering, getHeight, getHitRect, getHorizontalFadingEdgeLength, getHorizontalScrollbarThumbDrawable, getHorizontalScrollbarTrackDrawable, getId, getImportantForAccessibility, getImportantForAutofill, getImportantForContentCapture, getKeepScreenOn, getKeyDispatcherState, getLabelFor, getLayerType, getLayoutDirection, getLayoutParams, getLeft, getLocalVisibleRect, getLocationInSurface, getLocationInWindow, getLocationOnScreen, getMatrix, getMeasuredHeight, getMeasuredHeightAndState, getMeasuredState, getMeasuredWidth, getMeasuredWidthAndState, getMinimumHeight, getMinimumWidth, getNextClusterForwardId, getNextFocusDownId, getNextFocusForwardId, getNextFocusLeftId, getNextFocusRightId, getNextFocusUpId, getOnFocusChangeListener, getOutlineAmbientShadowColor, getOutlineProvider, getOutlineSpotShadowColor, getOverlay, getOverScrollMode, getPaddingBottom, getPaddingEnd, getPaddingLeft, getPaddingRight, getPaddingStart, getPaddingTop, getParent, getParentForAccessibility, getPivotX, getPivotY, getPointerIcon, getResources, getRevealOnFocusHint, getRight, getRootView, getRootWindowInsets, getRotation, getRotationX, getRotationY, getScaleX, getScaleY, getScrollBarDefaultDelayBeforeFade, getScrollBarFadeDuration, getScrollBarSize, getScrollBarStyle, getScrollIndicators, getScrollX, getScrollY, getSolidColor, getSourceLayoutResId, getStateDescription, getStateListAnimator, getSystemGestureExclusionRects, getSystemUiVisibility, getTag, getTag, getTextAlignment, getTextDirection, getTooltipText, getTop, getTouchables, getTouchDelegate, getTransitionAlpha, getTransitionName, getTranslationX, getTranslationY, getTranslationZ, getUniqueDrawingId, getVerticalFadingEdgeLength, getVerticalScrollbarPosition, getVerticalScrollbarThumbDrawable, getVerticalScrollbarTrackDrawable, getVerticalScrollbarWidth, getViewTreeObserver, getVisibility, getWidth, getWindowId, getWindowInsetsController, getWindowSystemUiVisibility, getWindowToken, getWindowVisibility, getWindowVisibleDisplayFrame, getX, getY, getZ, hasExplicitFocusable, hasFocus, hasFocusable, hasNestedScrollingParent, hasOnClickListeners, hasOnLongClickListeners, hasOverlappingRendering, hasPointerCapture, hasTransientState, hasWindowFocus, inflate, invalidate, invalidate, invalidate, invalidateDrawable, invalidateOutline, isAccessibilityFocused, isAccessibilityHeading, isActivated, isAttachedToWindow, isClickable, isContextClickable, isDirty, isDrawingCacheEnabled, isDuplicateParentStateEnabled, isEnabled, isFocusable, isFocusableInTouchMode, isFocused, isFocusedByDefault, isForceDarkAllowed, isHapticFeedbackEnabled, isHardwareAccelerated, isHorizontalFadingEdgeEnabled, isHorizontalScrollBarEnabled, isHovered, isImportantForAccessibility, isImportantForAutofill, isImportantForContentCapture, isInEditMode, isInLayout, isInTouchMode, isKeyboardNavigationCluster, isLaidOut, isLayoutDirectionResolved, isLayoutRequested, isLongClickable, isNestedScrollingEnabled, isOpaque, isPaddingRelative, isPivotSet, isPressed, isSaveEnabled, isSaveFromParentEnabled, isScreenReaderFocusable, isScrollbarFadingEnabled, isScrollContainer, isSelected, isShowingLayoutBounds, isShown, isSoundEffectsEnabled, isTemporarilyDetached, isTextAlignmentResolved, isTextDirectionResolved, isVerticalFadingEdgeEnabled, isVerticalScrollBarEnabled, isVisibleToUserForAutofill, jumpDrawablesToCurrentState, keyboardNavigationClusterSearch, layout, measure, offsetLeftAndRight, offsetTopAndBottom, onApplyWindowInsets, onCancelPendingInputEvents, onCapturedPointerEvent, onCheckIsTextEditor, onCreateInputConnection, onDragEvent, onDrawForeground, onFilterTouchEventForSecurity, onFinishTemporaryDetach, onGenericMotionEvent, onHoverChanged, onHoverEvent, onInitializeAccessibilityEvent, onInitializeAccessibilityNodeInfo, onKeyDown, onKeyLongPress, onKeyMultiple, onKeyPreIme, onKeyShortcut, onKeyUp, onPointerCaptureChange, onPopulateAccessibilityEvent, onProvideAutofillStructure, onProvideAutofillVirtualStructure, onProvideContentCaptureStructure, onProvideStructure, onProvideVirtualStructure, onResolvePointerIcon, onRtlPropertiesChanged, onScreenStateChanged, onStartTemporaryDetach, onTouchEvent, onTrackballEvent, onVisibilityAggregated, onWindowFocusChanged, onWindowSystemUiVisibilityChanged, performAccessibilityAction, performClick, performContextClick, performContextClick, performHapticFeedback, performHapticFeedback, performLongClick, performLongClick, playSoundEffect, post, postDelayed, postInvalidate, postInvalidate, postInvalidateDelayed, postInvalidateDelayed, postInvalidateOnAnimation, postInvalidateOnAnimation, postOnAnimation, postOnAnimationDelayed, refreshDrawableState, releasePointerCapture, removeCallbacks, removeOnAttachStateChangeListener, removeOnLayoutChangeListener, removeOnUnhandledKeyEventListener, requestApplyInsets, requestFitSystemWindows, requestFocus, requestFocus, requestFocus, requestFocusFromTouch, requestLayout, requestPointerCapture, requestRectangleOnScreen, requestRectangleOnScreen, requestUnbufferedDispatch, requestUnbufferedDispatch, requireViewById, resetPivot, resolveSize, resolveSizeAndState, restoreDefaultFocus, restoreHierarchyState, saveAttributeDataForStyleable, saveHierarchyState, scheduleDrawable, scrollBy, scrollTo, sendAccessibilityEvent, sendAccessibilityEventUnchecked, setAccessibilityDelegate, setAccessibilityHeading, setAccessibilityLiveRegion, setAccessibilityPaneTitle, setAccessibilityTraversalAfter, setAccessibilityTraversalBefore, setActivated, setAlpha, setAnimation, setAnimationMatrix, setAutofillHints, setAutofillId, setBackground, setBackgroundColor, setBackgroundDrawable, setBackgroundResource, setBackgroundTintBlendMode, setBackgroundTintList, setBackgroundTintMode, setBottom, setCameraDistance, setClickable, setClipBounds, setClipToOutline, setContentCaptureSession, setContentDescription, setContextClickable, setDefaultFocusHighlightEnabled, setDrawingCacheBackgroundColor, setDrawingCacheEnabled, setDrawingCacheQuality, setDuplicateParentStateEnabled, setElevation, setEnabled, setFadingEdgeLength, setFilterTouchesWhenObscured, setFitsSystemWindows, setFocusable, setFocusable, setFocusableInTouchMode, setFocusedByDefault, setForceDarkAllowed, setForeground, setForegroundGravity, setForegroundTintBlendMode, setForegroundTintList, setForegroundTintMode, setHapticFeedbackEnabled, setHasTransientState, setHorizontalFadingEdgeEnabled, setHorizontalScrollBarEnabled, setHorizontalScrollbarThumbDrawable, setHorizontalScrollbarTrackDrawable, setHovered, setId, setImportantForAccessibility, setImportantForAutofill, setImportantForContentCapture, setKeepScreenOn, setKeyboardNavigationCluster, setLabelFor, setLayerPaint, setLayerType, setLayoutDirection, setLayoutParams, setLeft, setLeftTopRightBottom, setLongClickable, setMinimumHeight, setMinimumWidth, setNestedScrollingEnabled, setNextClusterForwardId, setNextFocusDownId, setNextFocusForwardId, setNextFocusLeftId, setNextFocusRightId, setNextFocusUpId, setOnApplyWindowInsetsListener, setOnCapturedPointerListener, setOnClickListener, setOnContextClickListener, setOnCreateContextMenuListener, setOnDragListener, setOnFocusChangeListener, setOnGenericMotionListener, setOnHoverListener, setOnKeyListener, setOnLongClickListener, setOnScrollChangeListener, setOnSystemUiVisibilityChangeListener, setOnTouchListener, setOutlineAmbientShadowColor, setOutlineProvider, setOutlineSpotShadowColor, setOverScrollMode, setPadding, setPaddingRelative, setPivotX, setPivotY, setPointerIcon, setPressed, setRevealOnFocusHint, setRight, setRotation, setRotationX, setRotationY, setSaveEnabled, setSaveFromParentEnabled, setScaleX, setScaleY, setScreenReaderFocusable, setScrollBarDefaultDelayBeforeFade, setScrollBarFadeDuration, setScrollbarFadingEnabled, setScrollBarSize, setScrollBarStyle, setScrollContainer, setScrollIndicators, setScrollIndicators, setScrollX, setScrollY, setSelected, setSoundEffectsEnabled, setStateDescription, setStateListAnimator, setSystemGestureExclusionRects, setSystemUiVisibility, setTag, setTag, setTextAlignment, setTextDirection, setTooltipText, setTop, setTouchDelegate, setTransitionAlpha, setTransitionName, setTransitionVisibility, setTranslationX, setTranslationY, setTranslationZ, setVerticalFadingEdgeEnabled, setVerticalScrollBarEnabled, setVerticalScrollbarPosition, setVerticalScrollbarThumbDrawable, setVerticalScrollbarTrackDrawable, setVisibility, setWillNotCacheDrawing, setWillNotDraw, setWindowInsetsAnimationCallback, setX, setY, setZ, showContextMenu, showContextMenu, startActionMode, startActionMode, startAnimation, startDrag, startDragAndDrop, startNestedScroll, stopNestedScroll, toString, transformMatrixToGlobal, transformMatrixToLocal, unscheduleDrawable, unscheduleDrawable, updateDragShadow, willNotCacheDrawing, willNotDraw
+
+
+
+
+
+Methods inherited from class java.lang.Object
+equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/view/AnylineViewConfig.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/view/AnylineViewConfig.html
new file mode 100644
index 000000000..2d18e2e1a
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/view/AnylineViewConfig.html
@@ -0,0 +1,320 @@
+
+
+
+
+
+
AnylineViewConfig (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+io.anyline.view.AnylineViewConfig
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+Constructors
+
+Constructor
+Description
+
+
+AnylineViewConfig (android.content.Context context,
+ java.lang.String configFilName)
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class java.lang.Object
+equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/view/AnylineWebView.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/view/AnylineWebView.html
new file mode 100644
index 000000000..10ada946d
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/view/AnylineWebView.html
@@ -0,0 +1,672 @@
+
+
+
+
+
+
AnylineWebView (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+android.view.View
+
+
+android.view.ViewGroup
+
+
+android.widget.AbsoluteLayout
+
+
+android.webkit.WebView
+
+
+io.anyline.view.AnylineWebView
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Nested Class Summary
+
+
+
+
+Nested classes/interfaces inherited from class android.webkit.WebView
+android.webkit.WebView.FindListener, android.webkit.WebView.HitTestResult, android.webkit.WebView.PictureListener, android.webkit.WebView.VisualStateCallback, android.webkit.WebView.WebViewTransport
+
+
+
+
+
+Nested classes/interfaces inherited from class android.widget.AbsoluteLayout
+android.widget.AbsoluteLayout.LayoutParams
+
+
+
+
+
+Nested classes/interfaces inherited from class android.view.ViewGroup
+android.view.ViewGroup.MarginLayoutParams, android.view.ViewGroup.OnHierarchyChangeListener
+
+
+
+
+
+Nested classes/interfaces inherited from class android.view.View
+android.view.View.AccessibilityDelegate, android.view.View.BaseSavedState, android.view.View.DragShadowBuilder, android.view.View.MeasureSpec, android.view.View.OnApplyWindowInsetsListener, android.view.View.OnAttachStateChangeListener, android.view.View.OnCapturedPointerListener, android.view.View.OnClickListener, android.view.View.OnContextClickListener, android.view.View.OnCreateContextMenuListener, android.view.View.OnDragListener, android.view.View.OnFocusChangeListener, android.view.View.OnGenericMotionListener, android.view.View.OnHoverListener, android.view.View.OnKeyListener, android.view.View.OnLayoutChangeListener, android.view.View.OnLongClickListener, android.view.View.OnScrollChangeListener, android.view.View.OnSystemUiVisibilityChangeListener, android.view.View.OnTouchListener, android.view.View.OnUnhandledKeyEventListener
+
+
+
+
+
+
+
+
+
+
+Field Summary
+
+
+
+
+Fields inherited from class android.webkit.WebView
+RENDERER_PRIORITY_BOUND, RENDERER_PRIORITY_IMPORTANT, RENDERER_PRIORITY_WAIVED, SCHEME_GEO, SCHEME_MAILTO, SCHEME_TEL
+
+
+
+
+
+Fields inherited from class android.view.ViewGroup
+FOCUS_AFTER_DESCENDANTS, FOCUS_BEFORE_DESCENDANTS, FOCUS_BLOCK_DESCENDANTS, LAYOUT_MODE_CLIP_BOUNDS, LAYOUT_MODE_OPTICAL_BOUNDS, PERSISTENT_ALL_CACHES, PERSISTENT_ANIMATION_CACHE, PERSISTENT_NO_CACHE, PERSISTENT_SCROLLING_CACHE
+
+
+
+
+
+Fields inherited from class android.view.View
+ACCESSIBILITY_LIVE_REGION_ASSERTIVE, ACCESSIBILITY_LIVE_REGION_NONE, ACCESSIBILITY_LIVE_REGION_POLITE, ALPHA, AUTOFILL_FLAG_INCLUDE_NOT_IMPORTANT_VIEWS, AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_DATE, AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_DAY, AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_MONTH, AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_YEAR, AUTOFILL_HINT_CREDIT_CARD_NUMBER, AUTOFILL_HINT_CREDIT_CARD_SECURITY_CODE, AUTOFILL_HINT_EMAIL_ADDRESS, AUTOFILL_HINT_NAME, AUTOFILL_HINT_PASSWORD, AUTOFILL_HINT_PHONE, AUTOFILL_HINT_POSTAL_ADDRESS, AUTOFILL_HINT_POSTAL_CODE, AUTOFILL_HINT_USERNAME, AUTOFILL_TYPE_DATE, AUTOFILL_TYPE_LIST, AUTOFILL_TYPE_NONE, AUTOFILL_TYPE_TEXT, AUTOFILL_TYPE_TOGGLE, DRAG_FLAG_GLOBAL, DRAG_FLAG_GLOBAL_PERSISTABLE_URI_PERMISSION, DRAG_FLAG_GLOBAL_PREFIX_URI_PERMISSION, DRAG_FLAG_GLOBAL_URI_READ, DRAG_FLAG_GLOBAL_URI_WRITE, DRAG_FLAG_OPAQUE, DRAWING_CACHE_QUALITY_AUTO, DRAWING_CACHE_QUALITY_HIGH, DRAWING_CACHE_QUALITY_LOW, FIND_VIEWS_WITH_CONTENT_DESCRIPTION, FIND_VIEWS_WITH_TEXT, FOCUS_BACKWARD, FOCUS_DOWN, FOCUS_FORWARD, FOCUS_LEFT, FOCUS_RIGHT, FOCUS_UP, FOCUSABLE, FOCUSABLE_AUTO, FOCUSABLES_ALL, FOCUSABLES_TOUCH_MODE, GONE, HAPTIC_FEEDBACK_ENABLED, IMPORTANT_FOR_ACCESSIBILITY_AUTO, IMPORTANT_FOR_ACCESSIBILITY_NO, IMPORTANT_FOR_ACCESSIBILITY_NO_HIDE_DESCENDANTS, IMPORTANT_FOR_ACCESSIBILITY_YES, IMPORTANT_FOR_AUTOFILL_AUTO, IMPORTANT_FOR_AUTOFILL_NO, IMPORTANT_FOR_AUTOFILL_NO_EXCLUDE_DESCENDANTS, IMPORTANT_FOR_AUTOFILL_YES, IMPORTANT_FOR_AUTOFILL_YES_EXCLUDE_DESCENDANTS, IMPORTANT_FOR_CONTENT_CAPTURE_AUTO, IMPORTANT_FOR_CONTENT_CAPTURE_NO, IMPORTANT_FOR_CONTENT_CAPTURE_NO_EXCLUDE_DESCENDANTS, IMPORTANT_FOR_CONTENT_CAPTURE_YES, IMPORTANT_FOR_CONTENT_CAPTURE_YES_EXCLUDE_DESCENDANTS, INVISIBLE, KEEP_SCREEN_ON, LAYER_TYPE_HARDWARE, LAYER_TYPE_NONE, LAYER_TYPE_SOFTWARE, LAYOUT_DIRECTION_INHERIT, LAYOUT_DIRECTION_LOCALE, LAYOUT_DIRECTION_LTR, LAYOUT_DIRECTION_RTL, MEASURED_HEIGHT_STATE_SHIFT, MEASURED_SIZE_MASK, MEASURED_STATE_MASK, MEASURED_STATE_TOO_SMALL, NO_ID, NOT_FOCUSABLE, OVER_SCROLL_ALWAYS, OVER_SCROLL_IF_CONTENT_SCROLLS, OVER_SCROLL_NEVER, ROTATION, ROTATION_X, ROTATION_Y, SCALE_X, SCALE_Y, SCREEN_STATE_OFF, SCREEN_STATE_ON, SCROLL_AXIS_HORIZONTAL, SCROLL_AXIS_NONE, SCROLL_AXIS_VERTICAL, SCROLL_INDICATOR_BOTTOM, SCROLL_INDICATOR_END, SCROLL_INDICATOR_LEFT, SCROLL_INDICATOR_RIGHT, SCROLL_INDICATOR_START, SCROLL_INDICATOR_TOP, SCROLLBAR_POSITION_DEFAULT, SCROLLBAR_POSITION_LEFT, SCROLLBAR_POSITION_RIGHT, SCROLLBARS_INSIDE_INSET, SCROLLBARS_INSIDE_OVERLAY, SCROLLBARS_OUTSIDE_INSET, SCROLLBARS_OUTSIDE_OVERLAY, SOUND_EFFECTS_ENABLED, STATUS_BAR_HIDDEN, STATUS_BAR_VISIBLE, SYSTEM_UI_FLAG_FULLSCREEN, SYSTEM_UI_FLAG_HIDE_NAVIGATION, SYSTEM_UI_FLAG_IMMERSIVE, SYSTEM_UI_FLAG_IMMERSIVE_STICKY, SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN, SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION, SYSTEM_UI_FLAG_LAYOUT_STABLE, SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR, SYSTEM_UI_FLAG_LIGHT_STATUS_BAR, SYSTEM_UI_FLAG_LOW_PROFILE, SYSTEM_UI_FLAG_VISIBLE, SYSTEM_UI_LAYOUT_FLAGS, TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_GRAVITY, TEXT_ALIGNMENT_INHERIT, TEXT_ALIGNMENT_TEXT_END, TEXT_ALIGNMENT_TEXT_START, TEXT_ALIGNMENT_VIEW_END, TEXT_ALIGNMENT_VIEW_START, TEXT_DIRECTION_ANY_RTL, TEXT_DIRECTION_FIRST_STRONG, TEXT_DIRECTION_FIRST_STRONG_LTR, TEXT_DIRECTION_FIRST_STRONG_RTL, TEXT_DIRECTION_INHERIT, TEXT_DIRECTION_LOCALE, TEXT_DIRECTION_LTR, TEXT_DIRECTION_RTL, TRANSLATION_X, TRANSLATION_Y, TRANSLATION_Z, VISIBLE, X, Y, Z
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+Constructors
+
+Constructor
+Description
+
+
+AnylineWebView (android.content.Context context)
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+All Methods Instance Methods Concrete Methods
+
+Modifier and Type
+Method
+Description
+
+
+void
+drawDocument (java.util.List<android.graphics.PointF> reportedShape,
+ java.lang.String id)
+
+
+
+void
+drawFeedback (java.util.List<android.graphics.PointF> shape,
+ Rect cropRect,
+ float scale,
+ float scanViewPluginScale,
+ java.lang.String color,
+ java.lang.String id,
+ int x,
+ int y,
+ VisualFeedbackConfig.FeedbackStyle style,
+ android.graphics.Rect rectOnVisibleView)
+
+
+
+int
+getScaleWebView (android.webkit.WebView webView)
+
+
+
+java.util.List<android.graphics.PointF>
+getViewRelativePointListFromCutoutRelativeShape (java.util.List<android.graphics.PointF> shape,
+ java.lang.String id,
+ Rect cropRect,
+ int x,
+ int y,
+ float scale,
+ android.graphics.Rect rectOnVisibleView,
+ float scanViewPluginScale)
+
+
+
+void
+initConfig (AbstractBaseScanViewPlugin scanViewPlugin)
+
+
+
+boolean
+onTouchEvent (android.view.MotionEvent event)
+
+
+
+void
+setCameraView (CameraView cameraView)
+
+
+
+void
+setRectRelativeToCutout (io.anyline.view.AnylineWebView.AnimatableRectF rect,
+ float scale,
+ Rect reportedRect,
+ float resizeScale,
+ java.lang.String id,
+ Rect cropRect,
+ int x,
+ int y,
+ android.graphics.Rect cutoutRectOnView)
+
+
+
+void
+setScanDelayTime (double delayTime,
+ java.lang.String id)
+
+
+
+void
+updateContours (java.lang.Object contours,
+ float scale,
+ float resizeScale,
+ java.lang.String id,
+ Rect cropRect,
+ int x,
+ int y,
+ android.graphics.Rect rectOnVisibleView)
+
+
+
+void
+updateCutouts (java.lang.String id,
+ boolean visible)
+
+
+
+void
+updateShape (java.util.List<android.graphics.PointF> reportedShape,
+ Rect cropRect,
+ float scale,
+ java.lang.String id,
+ int x,
+ int y,
+ android.graphics.Rect rectOnVisibleView,
+ float scanViewPluginScale)
+
+
+
+
+
+
+
+Methods inherited from class android.webkit.WebView
+addJavascriptInterface, autofill, canGoBack, canGoBackOrForward, canGoForward, canZoomIn, canZoomOut, capturePicture, clearCache, clearClientCertPreferences, clearFormData, clearHistory, clearMatches, clearSslPreferences, clearView, computeScroll, copyBackForwardList, createPrintDocumentAdapter, createPrintDocumentAdapter, createWebMessageChannel, destroy, disableWebView, dispatchKeyEvent, documentHasImages, enableSlowWholeDocumentDraw, evaluateJavascript, findAddress, findAll, findAllAsync, findFocus, findNext, flingScroll, freeMemory, getAccessibilityClassName, getAccessibilityNodeProvider, getCertificate, getContentHeight, getCurrentWebViewPackage, getFavicon, getHandler, getHitTestResult, getHttpAuthUsernamePassword, getOriginalUrl, getProgress, getRendererPriorityWaivedWhenNotVisible, getRendererRequestedPriority, getSafeBrowsingPrivacyPolicyUrl, getScale, getSettings, getTextClassifier, getTitle, getUrl, getWebChromeClient, getWebViewClassLoader, getWebViewClient, getWebViewLooper, getWebViewRenderProcess, getWebViewRenderProcessClient, goBack, goBackOrForward, goForward, invokeZoomPicker, isPrivateBrowsingEnabled, isVisibleToUserForAutofill, loadData, loadDataWithBaseURL, loadUrl, loadUrl, onCheckIsTextEditor, onChildViewAdded, onChildViewRemoved, onCreateInputConnection, onDragEvent, onFinishTemporaryDetach, onGenericMotionEvent, onGlobalFocusChanged, onHoverEvent, onKeyDown, onKeyMultiple, onKeyUp, onPause, onProvideAutofillVirtualStructure, onProvideContentCaptureStructure, onProvideVirtualStructure, onResume, onStartTemporaryDetach, onTrackballEvent, onWindowFocusChanged, overlayHorizontalScrollbar, overlayVerticalScrollbar, pageDown, pageUp, pauseTimers, performLongClick, postUrl, postVisualStateCallback, postWebMessage, reload, removeJavascriptInterface, requestChildRectangleOnScreen, requestFocus, requestFocusNodeHref, requestImageRef, restoreState, resumeTimers, savePassword, saveState, saveWebArchive, saveWebArchive, setBackgroundColor, setCertificate, setDataDirectorySuffix, setDownloadListener, setFindListener, setHorizontalScrollbarOverlay, setHttpAuthUsernamePassword, setInitialScale, setLayerType, setLayoutParams, setMapTrackballToArrowKeys, setNetworkAvailable, setOverScrollMode, setPictureListener, setRendererPriorityPolicy, setSafeBrowsingWhitelist, setScrollBarStyle, setTextClassifier, setVerticalScrollbarOverlay, setWebChromeClient, setWebContentsDebuggingEnabled, setWebViewClient, setWebViewRenderProcessClient, setWebViewRenderProcessClient, shouldDelayChildPressedState, showFindDialog, startSafeBrowsing, stopLoading, zoomBy, zoomIn, zoomOut
+
+
+
+
+
+Methods inherited from class android.widget.AbsoluteLayout
+generateLayoutParams
+
+
+
+
+
+Methods inherited from class android.view.ViewGroup
+addChildrenForAccessibility, addExtraDataToAccessibilityNodeInfo, addFocusables, addKeyboardNavigationClusters, addStatesFromChildren, addTouchables, addView, addView, addView, addView, addView, bringChildToFront, childDrawableStateChanged, childHasTransientStateChanged, clearChildFocus, clearDisappearingChildren, clearFocus, dispatchApplyWindowInsets, dispatchCapturedPointerEvent, dispatchConfigurationChanged, dispatchDisplayHint, dispatchDragEvent, dispatchDrawableHotspotChanged, dispatchFinishTemporaryDetach, dispatchKeyEventPreIme, dispatchKeyShortcutEvent, dispatchPointerCaptureChanged, dispatchProvideAutofillStructure, dispatchProvideStructure, dispatchSetActivated, dispatchSetSelected, dispatchStartTemporaryDetach, dispatchSystemUiVisibilityChanged, dispatchTouchEvent, dispatchTrackballEvent, dispatchUnhandledMove, dispatchWindowFocusChanged, dispatchWindowInsetsAnimationEnd, dispatchWindowInsetsAnimationPrepare, dispatchWindowInsetsAnimationProgress, dispatchWindowInsetsAnimationStart, dispatchWindowSystemUiVisiblityChanged, dispatchWindowVisibilityChanged, endViewTransition, findViewsWithText, focusableViewAvailable, focusSearch, gatherTransparentRegion, getChildAt, getChildCount, getChildDrawingOrder, getChildMeasureSpec, getChildVisibleRect, getClipChildren, getClipToPadding, getDescendantFocusability, getFocusedChild, getLayoutAnimation, getLayoutAnimationListener, getLayoutMode, getLayoutTransition, getNestedScrollAxes, getOverlay, getPersistentDrawingCache, getTouchscreenBlocksFocus, hasFocus, hasTransientState, indexOfChild, invalidateChild, invalidateChildInParent, isAlwaysDrawnWithCacheEnabled, isAnimationCacheEnabled, isLayoutSuppressed, isMotionEventSplittingEnabled, isTransitionGroup, jumpDrawablesToCurrentState, layout, notifySubtreeAccessibilityStateChanged, offsetDescendantRectToMyCoords, offsetRectIntoDescendantCoords, onDescendantInvalidated, onInterceptHoverEvent, onInterceptTouchEvent, onNestedFling, onNestedPreFling, onNestedPrePerformAccessibilityAction, onNestedPreScroll, onNestedScroll, onNestedScrollAccepted, onRequestSendAccessibilityEvent, onResolvePointerIcon, onStartNestedScroll, onStopNestedScroll, onViewAdded, onViewRemoved, recomputeViewAttributes, removeAllViews, removeAllViewsInLayout, removeView, removeViewAt, removeViewInLayout, removeViews, removeViewsInLayout, requestChildFocus, requestDisallowInterceptTouchEvent, requestSendAccessibilityEvent, requestTransparentRegion, restoreDefaultFocus, scheduleLayoutAnimation, setAddStatesFromChildren, setAlwaysDrawnWithCacheEnabled, setAnimationCacheEnabled, setClipChildren, setClipToPadding, setDescendantFocusability, setLayoutAnimation, setLayoutAnimationListener, setLayoutMode, setLayoutTransition, setMotionEventSplittingEnabled, setOnHierarchyChangeListener, setPersistentDrawingCache, setTouchscreenBlocksFocus, setTransitionGroup, setWindowInsetsAnimationCallback, showContextMenuForChild, showContextMenuForChild, startActionModeForChild, startActionModeForChild, startLayoutAnimation, startViewTransition, suppressLayout, updateViewLayout
+
+
+
+
+
+Methods inherited from class android.view.View
+addFocusables, addOnAttachStateChangeListener, addOnLayoutChangeListener, addOnUnhandledKeyEventListener, animate, announceForAccessibility, autofill, bringToFront, buildDrawingCache, buildDrawingCache, buildLayer, callOnClick, cancelDragAndDrop, cancelLongPress, cancelPendingInputEvents, canResolveLayoutDirection, canResolveTextAlignment, canResolveTextDirection, canScrollHorizontally, canScrollVertically, checkInputConnectionProxy, clearAnimation, combineMeasuredStates, computeSystemWindowInsets, createAccessibilityNodeInfo, createContextMenu, destroyDrawingCache, dispatchGenericMotionEvent, dispatchNestedFling, dispatchNestedPreFling, dispatchNestedPrePerformAccessibilityAction, dispatchNestedPreScroll, dispatchNestedScroll, dispatchPopulateAccessibilityEvent, draw, drawableHotspotChanged, findViewById, findViewWithTag, focusSearch, forceHasOverlappingRendering, forceLayout, generateViewId, getAccessibilityDelegate, getAccessibilityLiveRegion, getAccessibilityPaneTitle, getAccessibilityTraversalAfter, getAccessibilityTraversalBefore, getAlpha, getAnimation, getAnimationMatrix, getApplicationWindowToken, getAttributeResolutionStack, getAttributeSourceResourceMap, getAutofillHints, getAutofillId, getAutofillType, getAutofillValue, getBackground, getBackgroundTintBlendMode, getBackgroundTintList, getBackgroundTintMode, getBaseline, getBottom, getCameraDistance, getClipBounds, getClipBounds, getClipToOutline, getContentCaptureSession, getContentDescription, getContext, getDefaultFocusHighlightEnabled, getDefaultSize, getDisplay, getDrawableState, getDrawingCache, getDrawingCache, getDrawingCacheBackgroundColor, getDrawingCacheQuality, getDrawingRect, getDrawingTime, getElevation, getExplicitStyle, getFilterTouchesWhenObscured, getFitsSystemWindows, getFocusable, getFocusables, getFocusedRect, getForeground, getForegroundGravity, getForegroundTintBlendMode, getForegroundTintList, getForegroundTintMode, getGlobalVisibleRect, getGlobalVisibleRect, getHasOverlappingRendering, getHeight, getHitRect, getHorizontalFadingEdgeLength, getHorizontalScrollbarThumbDrawable, getHorizontalScrollbarTrackDrawable, getId, getImportantForAccessibility, getImportantForAutofill, getImportantForContentCapture, getKeepScreenOn, getKeyDispatcherState, getLabelFor, getLayerType, getLayoutDirection, getLayoutParams, getLeft, getLocalVisibleRect, getLocationInSurface, getLocationInWindow, getLocationOnScreen, getMatrix, getMeasuredHeight, getMeasuredHeightAndState, getMeasuredState, getMeasuredWidth, getMeasuredWidthAndState, getMinimumHeight, getMinimumWidth, getNextClusterForwardId, getNextFocusDownId, getNextFocusForwardId, getNextFocusLeftId, getNextFocusRightId, getNextFocusUpId, getOnFocusChangeListener, getOutlineAmbientShadowColor, getOutlineProvider, getOutlineSpotShadowColor, getOverScrollMode, getPaddingBottom, getPaddingEnd, getPaddingLeft, getPaddingRight, getPaddingStart, getPaddingTop, getParent, getParentForAccessibility, getPivotX, getPivotY, getPointerIcon, getResources, getRevealOnFocusHint, getRight, getRootView, getRootWindowInsets, getRotation, getRotationX, getRotationY, getScaleX, getScaleY, getScrollBarDefaultDelayBeforeFade, getScrollBarFadeDuration, getScrollBarSize, getScrollBarStyle, getScrollIndicators, getScrollX, getScrollY, getSolidColor, getSourceLayoutResId, getStateDescription, getStateListAnimator, getSystemGestureExclusionRects, getSystemUiVisibility, getTag, getTag, getTextAlignment, getTextDirection, getTooltipText, getTop, getTouchables, getTouchDelegate, getTransitionAlpha, getTransitionName, getTranslationX, getTranslationY, getTranslationZ, getUniqueDrawingId, getVerticalFadingEdgeLength, getVerticalScrollbarPosition, getVerticalScrollbarThumbDrawable, getVerticalScrollbarTrackDrawable, getVerticalScrollbarWidth, getViewTreeObserver, getVisibility, getWidth, getWindowId, getWindowInsetsController, getWindowSystemUiVisibility, getWindowToken, getWindowVisibility, getWindowVisibleDisplayFrame, getX, getY, getZ, hasExplicitFocusable, hasFocusable, hasNestedScrollingParent, hasOnClickListeners, hasOnLongClickListeners, hasOverlappingRendering, hasPointerCapture, hasWindowFocus, inflate, invalidate, invalidate, invalidate, invalidateDrawable, invalidateOutline, isAccessibilityFocused, isAccessibilityHeading, isActivated, isAttachedToWindow, isClickable, isContextClickable, isDirty, isDrawingCacheEnabled, isDuplicateParentStateEnabled, isEnabled, isFocusable, isFocusableInTouchMode, isFocused, isFocusedByDefault, isForceDarkAllowed, isHapticFeedbackEnabled, isHardwareAccelerated, isHorizontalFadingEdgeEnabled, isHorizontalScrollBarEnabled, isHovered, isImportantForAccessibility, isImportantForAutofill, isImportantForContentCapture, isInEditMode, isInLayout, isInTouchMode, isKeyboardNavigationCluster, isLaidOut, isLayoutDirectionResolved, isLayoutRequested, isLongClickable, isNestedScrollingEnabled, isOpaque, isPaddingRelative, isPivotSet, isPressed, isSaveEnabled, isSaveFromParentEnabled, isScreenReaderFocusable, isScrollbarFadingEnabled, isScrollContainer, isSelected, isShowingLayoutBounds, isShown, isSoundEffectsEnabled, isTemporarilyDetached, isTextAlignmentResolved, isTextDirectionResolved, isVerticalFadingEdgeEnabled, isVerticalScrollBarEnabled, keyboardNavigationClusterSearch, measure, offsetLeftAndRight, offsetTopAndBottom, onApplyWindowInsets, onCancelPendingInputEvents, onCapturedPointerEvent, onDrawForeground, onFilterTouchEventForSecurity, onHoverChanged, onInitializeAccessibilityEvent, onInitializeAccessibilityNodeInfo, onKeyLongPress, onKeyPreIme, onKeyShortcut, onPointerCaptureChange, onPopulateAccessibilityEvent, onProvideAutofillStructure, onProvideStructure, onRtlPropertiesChanged, onScreenStateChanged, onVisibilityAggregated, onWindowSystemUiVisibilityChanged, performAccessibilityAction, performClick, performContextClick, performContextClick, performHapticFeedback, performHapticFeedback, performLongClick, playSoundEffect, post, postDelayed, postInvalidate, postInvalidate, postInvalidateDelayed, postInvalidateDelayed, postInvalidateOnAnimation, postInvalidateOnAnimation, postOnAnimation, postOnAnimationDelayed, refreshDrawableState, releasePointerCapture, removeCallbacks, removeOnAttachStateChangeListener, removeOnLayoutChangeListener, removeOnUnhandledKeyEventListener, requestApplyInsets, requestFitSystemWindows, requestFocus, requestFocus, requestFocusFromTouch, requestLayout, requestPointerCapture, requestRectangleOnScreen, requestRectangleOnScreen, requestUnbufferedDispatch, requestUnbufferedDispatch, requireViewById, resetPivot, resolveSize, resolveSizeAndState, restoreHierarchyState, saveAttributeDataForStyleable, saveHierarchyState, scheduleDrawable, scrollBy, scrollTo, sendAccessibilityEvent, sendAccessibilityEventUnchecked, setAccessibilityDelegate, setAccessibilityHeading, setAccessibilityLiveRegion, setAccessibilityPaneTitle, setAccessibilityTraversalAfter, setAccessibilityTraversalBefore, setActivated, setAlpha, setAnimation, setAnimationMatrix, setAutofillHints, setAutofillId, setBackground, setBackgroundDrawable, setBackgroundResource, setBackgroundTintBlendMode, setBackgroundTintList, setBackgroundTintMode, setBottom, setCameraDistance, setClickable, setClipBounds, setClipToOutline, setContentCaptureSession, setContentDescription, setContextClickable, setDefaultFocusHighlightEnabled, setDrawingCacheBackgroundColor, setDrawingCacheEnabled, setDrawingCacheQuality, setDuplicateParentStateEnabled, setElevation, setEnabled, setFadingEdgeLength, setFilterTouchesWhenObscured, setFitsSystemWindows, setFocusable, setFocusable, setFocusableInTouchMode, setFocusedByDefault, setForceDarkAllowed, setForeground, setForegroundGravity, setForegroundTintBlendMode, setForegroundTintList, setForegroundTintMode, setHapticFeedbackEnabled, setHasTransientState, setHorizontalFadingEdgeEnabled, setHorizontalScrollBarEnabled, setHorizontalScrollbarThumbDrawable, setHorizontalScrollbarTrackDrawable, setHovered, setId, setImportantForAccessibility, setImportantForAutofill, setImportantForContentCapture, setKeepScreenOn, setKeyboardNavigationCluster, setLabelFor, setLayerPaint, setLayoutDirection, setLeft, setLeftTopRightBottom, setLongClickable, setMinimumHeight, setMinimumWidth, setNestedScrollingEnabled, setNextClusterForwardId, setNextFocusDownId, setNextFocusForwardId, setNextFocusLeftId, setNextFocusRightId, setNextFocusUpId, setOnApplyWindowInsetsListener, setOnCapturedPointerListener, setOnClickListener, setOnContextClickListener, setOnCreateContextMenuListener, setOnDragListener, setOnFocusChangeListener, setOnGenericMotionListener, setOnHoverListener, setOnKeyListener, setOnLongClickListener, setOnScrollChangeListener, setOnSystemUiVisibilityChangeListener, setOnTouchListener, setOutlineAmbientShadowColor, setOutlineProvider, setOutlineSpotShadowColor, setPadding, setPaddingRelative, setPivotX, setPivotY, setPointerIcon, setPressed, setRevealOnFocusHint, setRight, setRotation, setRotationX, setRotationY, setSaveEnabled, setSaveFromParentEnabled, setScaleX, setScaleY, setScreenReaderFocusable, setScrollBarDefaultDelayBeforeFade, setScrollBarFadeDuration, setScrollbarFadingEnabled, setScrollBarSize, setScrollContainer, setScrollIndicators, setScrollIndicators, setScrollX, setScrollY, setSelected, setSoundEffectsEnabled, setStateDescription, setStateListAnimator, setSystemGestureExclusionRects, setSystemUiVisibility, setTag, setTag, setTextAlignment, setTextDirection, setTooltipText, setTop, setTouchDelegate, setTransitionAlpha, setTransitionName, setTransitionVisibility, setTranslationX, setTranslationY, setTranslationZ, setVerticalFadingEdgeEnabled, setVerticalScrollBarEnabled, setVerticalScrollbarPosition, setVerticalScrollbarThumbDrawable, setVerticalScrollbarTrackDrawable, setVisibility, setWillNotCacheDrawing, setWillNotDraw, setX, setY, setZ, showContextMenu, showContextMenu, startActionMode, startActionMode, startAnimation, startDrag, startDragAndDrop, startNestedScroll, stopNestedScroll, toString, transformMatrixToGlobal, transformMatrixToLocal, unscheduleDrawable, unscheduleDrawable, updateDragShadow, willNotCacheDrawing, willNotDraw
+
+
+
+
+
+Methods inherited from class java.lang.Object
+equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
+
+
+
+
+
+Methods inherited from interface android.view.ViewParent
+canResolveLayoutDirection, canResolveTextAlignment, canResolveTextDirection, createContextMenu, getLayoutDirection, getParent, getParentForAccessibility, getTextAlignment, getTextDirection, isLayoutDirectionResolved, isLayoutRequested, isTextAlignmentResolved, isTextDirectionResolved, keyboardNavigationClusterSearch, requestFitSystemWindows, requestLayout
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+setRectRelativeToCutout
+public void setRectRelativeToCutout(io.anyline.view.AnylineWebView.AnimatableRectF rect,
+ float scale,
+ Rect reportedRect,
+ float resizeScale,
+ java.lang.String id,
+ Rect cropRect,
+ int x,
+ int y,
+ android.graphics.Rect cutoutRectOnView)
+
+
+
+
+
+
+
+
+
+
+
+updateContours
+public void updateContours(java.lang.Object contours,
+ float scale,
+ float resizeScale,
+ java.lang.String id,
+ Rect cropRect,
+ int x,
+ int y,
+ android.graphics.Rect rectOnVisibleView)
+
+
+
+
+
+
+
+
+
+
+
+drawFeedback
+public void drawFeedback(java.util.List<android.graphics.PointF> shape,
+ Rect cropRect,
+ float scale,
+ float scanViewPluginScale,
+ java.lang.String color,
+ java.lang.String id,
+ int x,
+ int y,
+ VisualFeedbackConfig.FeedbackStyle style,
+ android.graphics.Rect rectOnVisibleView)
+
+
+
+
+
+
+
+updateShape
+public void updateShape(java.util.List<android.graphics.PointF> reportedShape,
+ Rect cropRect,
+ float scale,
+ java.lang.String id,
+ int x,
+ int y,
+ android.graphics.Rect rectOnVisibleView,
+ float scanViewPluginScale)
+
+
+
+
+
+
+
+getViewRelativePointListFromCutoutRelativeShape
+public java.util.List<android.graphics.PointF> getViewRelativePointListFromCutoutRelativeShape(java.util.List<android.graphics.PointF> shape,
+ java.lang.String id,
+ Rect cropRect,
+ int x,
+ int y,
+ float scale,
+ android.graphics.Rect rectOnVisibleView,
+ float scanViewPluginScale)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/view/BaseScanViewConfig.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/view/BaseScanViewConfig.html
new file mode 100644
index 000000000..fcf28b03a
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/view/BaseScanViewConfig.html
@@ -0,0 +1,373 @@
+
+
+
+
+
+
BaseScanViewConfig (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+io.anyline.view.BaseScanViewConfig
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+Constructors
+
+Constructor
+Description
+
+
+BaseScanViewConfig (android.content.Context context,
+ java.lang.String configFileName)
+
+
+
+BaseScanViewConfig (android.content.Context context,
+ org.json.JSONObject json)
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class java.lang.Object
+equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/view/BrightnessHelper.BrightnessFeedback.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/view/BrightnessHelper.BrightnessFeedback.html
new file mode 100644
index 000000000..9baf8ee7f
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/view/BrightnessHelper.BrightnessFeedback.html
@@ -0,0 +1,392 @@
+
+
+
+
+
+
BrightnessHelper.BrightnessFeedback (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Enum Constant Summary
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class java.lang.Enum
+compareTo, equals, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
+
+
+
+
+
+Methods inherited from class java.lang.Object
+getClass, notify, notifyAll, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+
+
+
+
+valueOf
+public static BrightnessHelper.BrightnessFeedback valueOf(java.lang.String name)
+Returns the enum constant of this type with the specified name.
+The string must match exactly an identifier used to declare an
+enum constant in this type. (Extraneous whitespace characters are
+not permitted.)
+
+Parameters:
+name
- the name of the enum constant to be returned.
+Returns:
+the enum constant with the specified name
+Throws:
+java.lang.IllegalArgumentException
- if this enum type has no constant with the specified name
+java.lang.NullPointerException
- if the argument is null
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/view/BrightnessHelper.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/view/BrightnessHelper.html
new file mode 100644
index 000000000..75f0a0a7d
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/view/BrightnessHelper.html
@@ -0,0 +1,306 @@
+
+
+
+
+
+
BrightnessHelper (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+io.anyline.view.BrightnessHelper
+
+
+
+
+
+
+
+
+
+
+
+
+
+Nested Class Summary
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class java.lang.Object
+equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+setLevelsForAutoFlash
+public void setLevelsForAutoFlash(int lowBrightness,
+ int highBrightness,
+ int lowAmbientLight,
+ int highAmbientLight)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/view/CutoutConfig.AnimationStyle.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/view/CutoutConfig.AnimationStyle.html
new file mode 100644
index 000000000..10f0975ea
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/view/CutoutConfig.AnimationStyle.html
@@ -0,0 +1,420 @@
+
+
+
+
+
+
CutoutConfig.AnimationStyle (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Enum Constant Summary
+
+Enum Constants
+
+Enum Constant
+Description
+
+
+FADE
+
+
+
+NONE
+
+
+
+ZOOM
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class java.lang.Enum
+compareTo, equals, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
+
+
+
+
+
+Methods inherited from class java.lang.Object
+getClass, notify, notifyAll, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+
+
+
+
+valueOf
+public static CutoutConfig.AnimationStyle valueOf(java.lang.String name)
+Returns the enum constant of this type with the specified name.
+The string must match exactly an identifier used to declare an
+enum constant in this type. (Extraneous whitespace characters are
+not permitted.)
+
+Parameters:
+name
- the name of the enum constant to be returned.
+Returns:
+the enum constant with the specified name
+Throws:
+java.lang.IllegalArgumentException
- if this enum type has no constant with the specified name
+java.lang.NullPointerException
- if the argument is null
+
+
+
+
+
+
+
+
+getValue
+public int getValue()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/view/CutoutConfig.CutoutAlignment.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/view/CutoutConfig.CutoutAlignment.html
new file mode 100644
index 000000000..edb4575bc
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/view/CutoutConfig.CutoutAlignment.html
@@ -0,0 +1,433 @@
+
+
+
+
+
+
CutoutConfig.CutoutAlignment (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Enum Constant Summary
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class java.lang.Enum
+compareTo, equals, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
+
+
+
+
+
+Methods inherited from class java.lang.Object
+getClass, notify, notifyAll, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+
+
+
+
+valueOf
+public static CutoutConfig.CutoutAlignment valueOf(java.lang.String name)
+Returns the enum constant of this type with the specified name.
+The string must match exactly an identifier used to declare an
+enum constant in this type. (Extraneous whitespace characters are
+not permitted.)
+
+Parameters:
+name
- the name of the enum constant to be returned.
+Returns:
+the enum constant with the specified name
+Throws:
+java.lang.IllegalArgumentException
- if this enum type has no constant with the specified name
+java.lang.NullPointerException
- if the argument is null
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/view/CutoutConfig.CutoutStyle.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/view/CutoutConfig.CutoutStyle.html
new file mode 100644
index 000000000..b66b5470b
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/view/CutoutConfig.CutoutStyle.html
@@ -0,0 +1,420 @@
+
+
+
+
+
+
CutoutConfig.CutoutStyle (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Enum Constant Summary
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class java.lang.Enum
+compareTo, equals, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
+
+
+
+
+
+Methods inherited from class java.lang.Object
+getClass, notify, notifyAll, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+
+
+
+
+valueOf
+public static CutoutConfig.CutoutStyle valueOf(java.lang.String name)
+Returns the enum constant of this type with the specified name.
+The string must match exactly an identifier used to declare an
+enum constant in this type. (Extraneous whitespace characters are
+not permitted.)
+
+Parameters:
+name
- the name of the enum constant to be returned.
+Returns:
+the enum constant with the specified name
+Throws:
+java.lang.IllegalArgumentException
- if this enum type has no constant with the specified name
+java.lang.NullPointerException
- if the argument is null
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/view/CutoutConfig.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/view/CutoutConfig.html
new file mode 100644
index 000000000..917eb6533
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/view/CutoutConfig.html
@@ -0,0 +1,1318 @@
+
+
+
+
+
+
CutoutConfig (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+io.anyline.view.CutoutConfig
+
+
+
+
+
+
+
+
+
+
+
+
+
+Nested Class Summary
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+Constructors
+
+Constructor
+Description
+
+
+CutoutConfig ()
+
+
+
+CutoutConfig (android.content.Context context,
+ org.json.JSONObject jsonObject)
+
+Create config from the given json object.
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+All Methods Instance Methods Concrete Methods
+
+Modifier and Type
+Method
+Description
+
+
+CutoutConfig.CutoutAlignment
+getAlignment ()
+
+
+
+float
+getAlphaFactor ()
+
+
+
+java.lang.String
+getAlphaString ()
+
+
+
+CutoutConfig.AnimationStyle
+getAnimationStyle ()
+
+
+
+int
+getCornerRadiusInDp ()
+
+
+
+int
+getCornerRadiusInPix (android.content.Context context)
+
+
+
+int
+getCropOffsetX ()
+
+
+
+int
+getCropOffsetY ()
+
+
+
+int
+getCropPaddingX ()
+
+
+
+int
+getCropPaddingY ()
+
+
+
+java.lang.String
+getCutoutOuterColorString ()
+
+If the #cutoutOuterColorString is not set, this returns null
+
+
+
+java.lang.String
+getCutoutStrokeColorString ()
+
+
+
+int
+getCutoutStrokeWidthInPix (android.content.Context context)
+
+
+
+android.graphics.drawable.Drawable
+getDrawable ()
+
+
+
+int
+getFeedbackStrokeColor ()
+
+If the #feedbackStrokeColor is not set, this returns -1
+
+
+
+java.lang.String
+getFeedbackStrokeColorString ()
+
+If the #feedbackStrokeColorString is not set, this returns -1
+
+
+
+java.lang.String
+getInactiveStrokeColorForDelay ()
+
+
+
+int
+getMaxHeightPercent ()
+
+
+
+int
+getMaxWidthPercent ()
+
+
+
+int
+getOffsetX ()
+
+
+
+int
+getOffsetY ()
+
+
+
+int
+getOuterColor ()
+
+
+
+float
+getRatio ()
+
+
+
+int
+getStrokeColor ()
+
+
+
+int
+getStrokeWidthInDp ()
+
+
+
+CutoutConfig.CutoutStyle
+getStyle ()
+
+
+
+int
+getWidth ()
+
+
+
+void
+setAlignment (CutoutConfig.CutoutAlignment alignment)
+
+Set the vertical alignment for the .
+
+
+
+void
+setAnimationStyle (CutoutConfig.AnimationStyle animationStyle)
+
+Set the animation style.
+
+
+
+void
+setCornerRadiusInDp (int rectRadiusInDp)
+
+Set the rect corner radius in dp.
+
+
+
+void
+setCropOffsetX (int cropOffsetX)
+
+
+ The x offset in pixels that the image, that will be cropped out of the preview to match the ,
+ should have in relation to the .
+
+
+
+void
+setCropOffsetY (int cropOffsetY)
+
+
+ The y offset in pixels that the image, that will be cropped out of the preview to match the ,
+ should have in relation to the .
+
+
+
+void
+setCropPaddingX (int cropPaddingX)
+
+
+ The x padding in pixels that the image, that will be cropped out of the preview to match the ,
+ should have in relation to the size.
+
+
+
+void
+setCropPaddingY (int cropPaddingY)
+
+
+ The y padding in pixels that the image, that will be cropped out of the preview to match the ,
+ should have in relation to the size.
+
+
+
+void
+setCutoutOuterColorString (java.lang.String outerColorString)
+
+The color outside of the cutout area.
+
+
+
+void
+setCutoutStrokeColorString (java.lang.String strokeColorString)
+
+Set the stroke color
+
+
+
+void
+setDrawable (android.graphics.drawable.Drawable drawable)
+
+The drawable to use inside the area.
+
+
+
+void
+setFeedbackStrokeColor (int feedbackStrokeColor)
+
+Sets a feedback colors for the stroke: if set, the will change its color
+ if the scanning process has started, e.g.
+
+
+
+void
+setFeedbackStrokeColorString (java.lang.String feedbackStrokeColorString)
+
+Sets a feedback colors for the stroke: if set, the will change its color
+ if the scanning process has started, e.g.
+
+
+
+void
+setInactiveStrokeColorForDelay (java.lang.String inactiveStrokeColorForDelay)
+
+Set the inactive stroke color when users sets a delay
+
+
+
+void
+setMaxHeightPercent (int maxHeightPercent)
+
+Set the maximum height of the as percentage of the views height.
+
+
+
+void
+setMaxWidthPercent (int maxWidthPercent)
+
+Set the max width of the as percentage of the views width.
+
+
+
+void
+setOffsetX (int offsetX)
+
+Set the x offset of the (+ moves the further to the right, - to the left).
+
+
+
+void
+setOffsetY (int offsetY)
+
+Set the y offset of the (+ moves the further down, - further up).
+
+
+
+void
+setOuterColor (int outerColor)
+
+The color outside of the area.
+
+
+
+void
+setRatio (float ratio)
+
+Set the ratio (width/height).
+
+
+
+void
+setStrokeColor (int strokeColor)
+
+Set the stroke color
+
+
+
+void
+setStrokeWidthInDp (int strokeWidthInDp)
+
+The stroke width in dp.
+
+
+
+void
+setStyle (CutoutConfig.CutoutStyle style)
+
+
+ Set the style.
+
+
+
+void
+setWidth (int width)
+
+
+ Set the width of the as a fix value relative to the preview size.
+
+
+
+
+
+
+
+Methods inherited from class java.lang.Object
+equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+CutoutConfig
+public CutoutConfig()
+
+
+
+
+
+
+
+CutoutConfig
+public CutoutConfig(@NonNull
+ android.content.Context context,
+ @Nullable
+ org.json.JSONObject jsonObject)
+Create config from the given json object.
+
+Parameters:
+context
- the context
+jsonObject
- the json object with the settings
+
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+getWidth
+public int getWidth()
+
+
+
+
+
+
+
+
+
+
+
+getOffsetX
+public int getOffsetX()
+
+
+
+
+
+
+
+
+
+
+
+getOffsetY
+public int getOffsetY()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+getRatio
+public float getRatio()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+setFeedbackStrokeColor
+public void setFeedbackStrokeColor(int feedbackStrokeColor)
+Sets a feedback colors for the stroke: if set, the will change its color
+ if the scanning process has started, e.g. contours has been recongized and are being
+ analyzed.
+
+Parameters:
+feedbackStrokeColor
- the color the should stroke should get, if the
+ scanning process has started
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+getFeedbackStrokeColorString
+public java.lang.String getFeedbackStrokeColorString()
+If the #feedbackStrokeColorString is not set, this returns -1
+
+Returns:
+the the color for the feedback, or -1 if not set
+
+
+
+
+
+
+
+
+setFeedbackStrokeColorString
+public void setFeedbackStrokeColorString(java.lang.String feedbackStrokeColorString)
+Sets a feedback colors for the stroke: if set, the will change its color
+ if the scanning process has started, e.g. contours has been recongized and are being
+ analyzed.
+
+Parameters:
+feedbackStrokeColorString
- the color the should stroke should get, if the
+ scanning process has started
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+getCutoutOuterColorString
+public java.lang.String getCutoutOuterColorString()
+If the #cutoutOuterColorString is not set, this returns null
+
+Returns:
+the the color for the outside of the cutout area, or null if not set
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/view/CutoutConfigChangedListener.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/view/CutoutConfigChangedListener.html
new file mode 100644
index 000000000..bb97f0914
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/view/CutoutConfigChangedListener.html
@@ -0,0 +1,247 @@
+
+
+
+
+
+
CutoutConfigChangedListener (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/view/CutoutRect.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/view/CutoutRect.html
new file mode 100644
index 000000000..4565cbe18
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/view/CutoutRect.html
@@ -0,0 +1,467 @@
+
+
+
+
+
+
CutoutRect (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+io.anyline.view.CutoutRect
+
+
+
+
+
+
+
+
+
+
+
+
+
+Field Summary
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+Constructors
+
+Constructor
+Description
+
+
+CutoutRect (android.content.Context context,
+ CutoutConfig config)
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class java.lang.Object
+equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+calcCutOutAndImageCropBounds
+public void calcCutOutAndImageCropBounds(int frameWidth,
+ int frameHeight,
+ int viewWidth,
+ int viewHeight,
+ float scale)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+getScale
+public float getScale()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/view/DebugUtil.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/view/DebugUtil.html
new file mode 100644
index 000000000..92cd2b262
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/view/DebugUtil.html
@@ -0,0 +1,265 @@
+
+
+
+
+
+
DebugUtil (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+io.anyline.view.DebugUtil
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+Constructors
+
+Constructor
+Description
+
+
+DebugUtil ()
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+Methods inherited from class java.lang.Object
+equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+DebugUtil
+public DebugUtil()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/view/FlashView.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/view/FlashView.html
new file mode 100644
index 000000000..d514128a4
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/view/FlashView.html
@@ -0,0 +1,631 @@
+
+
+
+
+
+
FlashView (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+android.view.View
+
+
+android.widget.ImageView
+
+
+io.anyline.view.FlashView
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Nested Class Summary
+
+
+
+
+Nested classes/interfaces inherited from class android.widget.ImageView
+android.widget.ImageView.ScaleType
+
+
+
+
+
+Nested classes/interfaces inherited from class android.view.View
+android.view.View.AccessibilityDelegate, android.view.View.BaseSavedState, android.view.View.DragShadowBuilder, android.view.View.MeasureSpec, android.view.View.OnApplyWindowInsetsListener, android.view.View.OnAttachStateChangeListener, android.view.View.OnCapturedPointerListener, android.view.View.OnClickListener, android.view.View.OnContextClickListener, android.view.View.OnCreateContextMenuListener, android.view.View.OnDragListener, android.view.View.OnFocusChangeListener, android.view.View.OnGenericMotionListener, android.view.View.OnHoverListener, android.view.View.OnKeyListener, android.view.View.OnLayoutChangeListener, android.view.View.OnLongClickListener, android.view.View.OnScrollChangeListener, android.view.View.OnSystemUiVisibilityChangeListener, android.view.View.OnTouchListener, android.view.View.OnUnhandledKeyEventListener
+
+
+
+
+
+
+
+
+
+
+
+Field Summary
+
+
+
+
+Fields inherited from class android.view.View
+ACCESSIBILITY_LIVE_REGION_ASSERTIVE, ACCESSIBILITY_LIVE_REGION_NONE, ACCESSIBILITY_LIVE_REGION_POLITE, ALPHA, AUTOFILL_FLAG_INCLUDE_NOT_IMPORTANT_VIEWS, AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_DATE, AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_DAY, AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_MONTH, AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_YEAR, AUTOFILL_HINT_CREDIT_CARD_NUMBER, AUTOFILL_HINT_CREDIT_CARD_SECURITY_CODE, AUTOFILL_HINT_EMAIL_ADDRESS, AUTOFILL_HINT_NAME, AUTOFILL_HINT_PASSWORD, AUTOFILL_HINT_PHONE, AUTOFILL_HINT_POSTAL_ADDRESS, AUTOFILL_HINT_POSTAL_CODE, AUTOFILL_HINT_USERNAME, AUTOFILL_TYPE_DATE, AUTOFILL_TYPE_LIST, AUTOFILL_TYPE_NONE, AUTOFILL_TYPE_TEXT, AUTOFILL_TYPE_TOGGLE, DRAG_FLAG_GLOBAL, DRAG_FLAG_GLOBAL_PERSISTABLE_URI_PERMISSION, DRAG_FLAG_GLOBAL_PREFIX_URI_PERMISSION, DRAG_FLAG_GLOBAL_URI_READ, DRAG_FLAG_GLOBAL_URI_WRITE, DRAG_FLAG_OPAQUE, DRAWING_CACHE_QUALITY_AUTO, DRAWING_CACHE_QUALITY_HIGH, DRAWING_CACHE_QUALITY_LOW, FIND_VIEWS_WITH_CONTENT_DESCRIPTION, FIND_VIEWS_WITH_TEXT, FOCUS_BACKWARD, FOCUS_DOWN, FOCUS_FORWARD, FOCUS_LEFT, FOCUS_RIGHT, FOCUS_UP, FOCUSABLE, FOCUSABLE_AUTO, FOCUSABLES_ALL, FOCUSABLES_TOUCH_MODE, GONE, HAPTIC_FEEDBACK_ENABLED, IMPORTANT_FOR_ACCESSIBILITY_AUTO, IMPORTANT_FOR_ACCESSIBILITY_NO, IMPORTANT_FOR_ACCESSIBILITY_NO_HIDE_DESCENDANTS, IMPORTANT_FOR_ACCESSIBILITY_YES, IMPORTANT_FOR_AUTOFILL_AUTO, IMPORTANT_FOR_AUTOFILL_NO, IMPORTANT_FOR_AUTOFILL_NO_EXCLUDE_DESCENDANTS, IMPORTANT_FOR_AUTOFILL_YES, IMPORTANT_FOR_AUTOFILL_YES_EXCLUDE_DESCENDANTS, IMPORTANT_FOR_CONTENT_CAPTURE_AUTO, IMPORTANT_FOR_CONTENT_CAPTURE_NO, IMPORTANT_FOR_CONTENT_CAPTURE_NO_EXCLUDE_DESCENDANTS, IMPORTANT_FOR_CONTENT_CAPTURE_YES, IMPORTANT_FOR_CONTENT_CAPTURE_YES_EXCLUDE_DESCENDANTS, INVISIBLE, KEEP_SCREEN_ON, LAYER_TYPE_HARDWARE, LAYER_TYPE_NONE, LAYER_TYPE_SOFTWARE, LAYOUT_DIRECTION_INHERIT, LAYOUT_DIRECTION_LOCALE, LAYOUT_DIRECTION_LTR, LAYOUT_DIRECTION_RTL, MEASURED_HEIGHT_STATE_SHIFT, MEASURED_SIZE_MASK, MEASURED_STATE_MASK, MEASURED_STATE_TOO_SMALL, NO_ID, NOT_FOCUSABLE, OVER_SCROLL_ALWAYS, OVER_SCROLL_IF_CONTENT_SCROLLS, OVER_SCROLL_NEVER, ROTATION, ROTATION_X, ROTATION_Y, SCALE_X, SCALE_Y, SCREEN_STATE_OFF, SCREEN_STATE_ON, SCROLL_AXIS_HORIZONTAL, SCROLL_AXIS_NONE, SCROLL_AXIS_VERTICAL, SCROLL_INDICATOR_BOTTOM, SCROLL_INDICATOR_END, SCROLL_INDICATOR_LEFT, SCROLL_INDICATOR_RIGHT, SCROLL_INDICATOR_START, SCROLL_INDICATOR_TOP, SCROLLBAR_POSITION_DEFAULT, SCROLLBAR_POSITION_LEFT, SCROLLBAR_POSITION_RIGHT, SCROLLBARS_INSIDE_INSET, SCROLLBARS_INSIDE_OVERLAY, SCROLLBARS_OUTSIDE_INSET, SCROLLBARS_OUTSIDE_OVERLAY, SOUND_EFFECTS_ENABLED, STATUS_BAR_HIDDEN, STATUS_BAR_VISIBLE, SYSTEM_UI_FLAG_FULLSCREEN, SYSTEM_UI_FLAG_HIDE_NAVIGATION, SYSTEM_UI_FLAG_IMMERSIVE, SYSTEM_UI_FLAG_IMMERSIVE_STICKY, SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN, SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION, SYSTEM_UI_FLAG_LAYOUT_STABLE, SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR, SYSTEM_UI_FLAG_LIGHT_STATUS_BAR, SYSTEM_UI_FLAG_LOW_PROFILE, SYSTEM_UI_FLAG_VISIBLE, SYSTEM_UI_LAYOUT_FLAGS, TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_GRAVITY, TEXT_ALIGNMENT_INHERIT, TEXT_ALIGNMENT_TEXT_END, TEXT_ALIGNMENT_TEXT_START, TEXT_ALIGNMENT_VIEW_END, TEXT_ALIGNMENT_VIEW_START, TEXT_DIRECTION_ANY_RTL, TEXT_DIRECTION_FIRST_STRONG, TEXT_DIRECTION_FIRST_STRONG_LTR, TEXT_DIRECTION_FIRST_STRONG_RTL, TEXT_DIRECTION_INHERIT, TEXT_DIRECTION_LOCALE, TEXT_DIRECTION_LTR, TEXT_DIRECTION_RTL, TRANSLATION_X, TRANSLATION_Y, TRANSLATION_Z, VISIBLE, X, Y, Z
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+Constructors
+
+Constructor
+Description
+
+
+FlashView (android.content.Context context)
+
+
+
+FlashView (android.content.Context context,
+ android.util.AttributeSet attrs)
+
+
+
+FlashView (android.content.Context context,
+ android.util.AttributeSet attrs,
+ int defStyleAttr)
+
+
+
+FlashView (android.content.Context context,
+ FlashViewConfig config)
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class android.widget.ImageView
+animateTransform, clearColorFilter, drawableHotspotChanged, getAccessibilityClassName, getAdjustViewBounds, getBaseline, getBaselineAlignBottom, getColorFilter, getCropToPadding, getDrawable, getImageAlpha, getImageMatrix, getImageTintBlendMode, getImageTintList, getImageTintMode, getMaxHeight, getMaxWidth, getScaleType, hasOverlappingRendering, invalidateDrawable, isOpaque, jumpDrawablesToCurrentState, onCreateDrawableState, onRtlPropertiesChanged, onVisibilityAggregated, setAdjustViewBounds, setAlpha, setBaseline, setBaselineAlignBottom, setColorFilter, setColorFilter, setColorFilter, setCropToPadding, setImageAlpha, setImageBitmap, setImageDrawable, setImageIcon, setImageLevel, setImageMatrix, setImageResource, setImageState, setImageTintBlendMode, setImageTintList, setImageTintMode, setImageURI, setMaxHeight, setMaxWidth, setScaleType, setSelected, setVisibility
+
+
+
+
+
+Methods inherited from class android.view.View
+addChildrenForAccessibility, addExtraDataToAccessibilityNodeInfo, addFocusables, addFocusables, addKeyboardNavigationClusters, addOnAttachStateChangeListener, addOnLayoutChangeListener, addOnUnhandledKeyEventListener, addTouchables, animate, announceForAccessibility, autofill, autofill, bringToFront, buildDrawingCache, buildDrawingCache, buildLayer, callOnClick, cancelDragAndDrop, cancelLongPress, cancelPendingInputEvents, canResolveLayoutDirection, canResolveTextAlignment, canResolveTextDirection, canScrollHorizontally, canScrollVertically, checkInputConnectionProxy, clearAnimation, clearFocus, combineMeasuredStates, computeScroll, computeSystemWindowInsets, createAccessibilityNodeInfo, createContextMenu, destroyDrawingCache, dispatchApplyWindowInsets, dispatchCapturedPointerEvent, dispatchConfigurationChanged, dispatchDisplayHint, dispatchDragEvent, dispatchDrawableHotspotChanged, dispatchFinishTemporaryDetach, dispatchGenericMotionEvent, dispatchKeyEvent, dispatchKeyEventPreIme, dispatchKeyShortcutEvent, dispatchNestedFling, dispatchNestedPreFling, dispatchNestedPrePerformAccessibilityAction, dispatchNestedPreScroll, dispatchNestedScroll, dispatchPointerCaptureChanged, dispatchPopulateAccessibilityEvent, dispatchProvideAutofillStructure, dispatchProvideStructure, dispatchStartTemporaryDetach, dispatchSystemUiVisibilityChanged, dispatchTouchEvent, dispatchTrackballEvent, dispatchUnhandledMove, dispatchWindowFocusChanged, dispatchWindowInsetsAnimationEnd, dispatchWindowInsetsAnimationPrepare, dispatchWindowInsetsAnimationProgress, dispatchWindowInsetsAnimationStart, dispatchWindowSystemUiVisiblityChanged, dispatchWindowVisibilityChanged, draw, findFocus, findViewById, findViewsWithText, findViewWithTag, focusSearch, forceHasOverlappingRendering, forceLayout, generateViewId, getAccessibilityDelegate, getAccessibilityLiveRegion, getAccessibilityNodeProvider, getAccessibilityPaneTitle, getAccessibilityTraversalAfter, getAccessibilityTraversalBefore, getAlpha, getAnimation, getAnimationMatrix, getApplicationWindowToken, getAttributeResolutionStack, getAttributeSourceResourceMap, getAutofillHints, getAutofillId, getAutofillType, getAutofillValue, getBackground, getBackgroundTintBlendMode, getBackgroundTintList, getBackgroundTintMode, getBottom, getCameraDistance, getClipBounds, getClipBounds, getClipToOutline, getContentCaptureSession, getContentDescription, getContext, getDefaultFocusHighlightEnabled, getDefaultSize, getDisplay, getDrawableState, getDrawingCache, getDrawingCache, getDrawingCacheBackgroundColor, getDrawingCacheQuality, getDrawingRect, getDrawingTime, getElevation, getExplicitStyle, getFilterTouchesWhenObscured, getFitsSystemWindows, getFocusable, getFocusables, getFocusedRect, getForeground, getForegroundGravity, getForegroundTintBlendMode, getForegroundTintList, getForegroundTintMode, getGlobalVisibleRect, getGlobalVisibleRect, getHandler, getHasOverlappingRendering, getHeight, getHitRect, getHorizontalFadingEdgeLength, getHorizontalScrollbarThumbDrawable, getHorizontalScrollbarTrackDrawable, getId, getImportantForAccessibility, getImportantForAutofill, getImportantForContentCapture, getKeepScreenOn, getKeyDispatcherState, getLabelFor, getLayerType, getLayoutDirection, getLayoutParams, getLeft, getLocalVisibleRect, getLocationInSurface, getLocationInWindow, getLocationOnScreen, getMatrix, getMeasuredHeight, getMeasuredHeightAndState, getMeasuredState, getMeasuredWidth, getMeasuredWidthAndState, getMinimumHeight, getMinimumWidth, getNextClusterForwardId, getNextFocusDownId, getNextFocusForwardId, getNextFocusLeftId, getNextFocusRightId, getNextFocusUpId, getOnFocusChangeListener, getOutlineAmbientShadowColor, getOutlineProvider, getOutlineSpotShadowColor, getOverlay, getOverScrollMode, getPaddingBottom, getPaddingEnd, getPaddingLeft, getPaddingRight, getPaddingStart, getPaddingTop, getParent, getParentForAccessibility, getPivotX, getPivotY, getPointerIcon, getResources, getRevealOnFocusHint, getRight, getRootView, getRootWindowInsets, getRotation, getRotationX, getRotationY, getScaleX, getScaleY, getScrollBarDefaultDelayBeforeFade, getScrollBarFadeDuration, getScrollBarSize, getScrollBarStyle, getScrollIndicators, getScrollX, getScrollY, getSolidColor, getSourceLayoutResId, getStateDescription, getStateListAnimator, getSystemGestureExclusionRects, getSystemUiVisibility, getTag, getTag, getTextAlignment, getTextDirection, getTooltipText, getTop, getTouchables, getTouchDelegate, getTransitionAlpha, getTransitionName, getTranslationX, getTranslationY, getTranslationZ, getUniqueDrawingId, getVerticalFadingEdgeLength, getVerticalScrollbarPosition, getVerticalScrollbarThumbDrawable, getVerticalScrollbarTrackDrawable, getVerticalScrollbarWidth, getViewTreeObserver, getVisibility, getWidth, getWindowId, getWindowInsetsController, getWindowSystemUiVisibility, getWindowToken, getWindowVisibility, getWindowVisibleDisplayFrame, getX, getY, getZ, hasExplicitFocusable, hasFocus, hasFocusable, hasNestedScrollingParent, hasOnClickListeners, hasOnLongClickListeners, hasPointerCapture, hasTransientState, hasWindowFocus, inflate, invalidate, invalidate, invalidate, invalidateOutline, isAccessibilityFocused, isAccessibilityHeading, isActivated, isAttachedToWindow, isClickable, isContextClickable, isDirty, isDrawingCacheEnabled, isDuplicateParentStateEnabled, isEnabled, isFocusable, isFocusableInTouchMode, isFocused, isFocusedByDefault, isForceDarkAllowed, isHapticFeedbackEnabled, isHardwareAccelerated, isHorizontalFadingEdgeEnabled, isHorizontalScrollBarEnabled, isHovered, isImportantForAccessibility, isImportantForAutofill, isImportantForContentCapture, isInEditMode, isInLayout, isInTouchMode, isKeyboardNavigationCluster, isLaidOut, isLayoutDirectionResolved, isLayoutRequested, isLongClickable, isNestedScrollingEnabled, isPaddingRelative, isPivotSet, isPressed, isSaveEnabled, isSaveFromParentEnabled, isScreenReaderFocusable, isScrollbarFadingEnabled, isScrollContainer, isSelected, isShowingLayoutBounds, isShown, isSoundEffectsEnabled, isTemporarilyDetached, isTextAlignmentResolved, isTextDirectionResolved, isVerticalFadingEdgeEnabled, isVerticalScrollBarEnabled, isVisibleToUserForAutofill, keyboardNavigationClusterSearch, measure, offsetLeftAndRight, offsetTopAndBottom, onApplyWindowInsets, onCancelPendingInputEvents, onCapturedPointerEvent, onCheckIsTextEditor, onCreateInputConnection, onDragEvent, onDrawForeground, onFilterTouchEventForSecurity, onFinishTemporaryDetach, onGenericMotionEvent, onHoverChanged, onHoverEvent, onInitializeAccessibilityEvent, onInitializeAccessibilityNodeInfo, onKeyDown, onKeyLongPress, onKeyMultiple, onKeyPreIme, onKeyShortcut, onKeyUp, onPointerCaptureChange, onPopulateAccessibilityEvent, onProvideAutofillStructure, onProvideAutofillVirtualStructure, onProvideContentCaptureStructure, onProvideStructure, onProvideVirtualStructure, onResolvePointerIcon, onScreenStateChanged, onStartTemporaryDetach, onTouchEvent, onTrackballEvent, onWindowFocusChanged, onWindowSystemUiVisibilityChanged, performAccessibilityAction, performClick, performContextClick, performContextClick, performHapticFeedback, performHapticFeedback, performLongClick, performLongClick, playSoundEffect, post, postDelayed, postInvalidate, postInvalidate, postInvalidateDelayed, postInvalidateDelayed, postInvalidateOnAnimation, postInvalidateOnAnimation, postOnAnimation, postOnAnimationDelayed, refreshDrawableState, releasePointerCapture, removeCallbacks, removeOnAttachStateChangeListener, removeOnLayoutChangeListener, removeOnUnhandledKeyEventListener, requestApplyInsets, requestFitSystemWindows, requestFocus, requestFocus, requestFocus, requestFocusFromTouch, requestLayout, requestPointerCapture, requestRectangleOnScreen, requestRectangleOnScreen, requestUnbufferedDispatch, requestUnbufferedDispatch, requireViewById, resetPivot, resolveSize, resolveSizeAndState, restoreDefaultFocus, restoreHierarchyState, saveAttributeDataForStyleable, saveHierarchyState, scheduleDrawable, scrollBy, scrollTo, sendAccessibilityEvent, sendAccessibilityEventUnchecked, setAccessibilityDelegate, setAccessibilityHeading, setAccessibilityLiveRegion, setAccessibilityPaneTitle, setAccessibilityTraversalAfter, setAccessibilityTraversalBefore, setActivated, setAlpha, setAnimation, setAnimationMatrix, setAutofillHints, setAutofillId, setBackground, setBackgroundColor, setBackgroundDrawable, setBackgroundResource, setBackgroundTintBlendMode, setBackgroundTintList, setBackgroundTintMode, setBottom, setCameraDistance, setClickable, setClipBounds, setClipToOutline, setContentCaptureSession, setContentDescription, setContextClickable, setDefaultFocusHighlightEnabled, setDrawingCacheBackgroundColor, setDrawingCacheEnabled, setDrawingCacheQuality, setDuplicateParentStateEnabled, setElevation, setEnabled, setFadingEdgeLength, setFilterTouchesWhenObscured, setFitsSystemWindows, setFocusable, setFocusable, setFocusableInTouchMode, setFocusedByDefault, setForceDarkAllowed, setForeground, setForegroundGravity, setForegroundTintBlendMode, setForegroundTintList, setForegroundTintMode, setHapticFeedbackEnabled, setHasTransientState, setHorizontalFadingEdgeEnabled, setHorizontalScrollBarEnabled, setHorizontalScrollbarThumbDrawable, setHorizontalScrollbarTrackDrawable, setHovered, setId, setImportantForAccessibility, setImportantForAutofill, setImportantForContentCapture, setKeepScreenOn, setKeyboardNavigationCluster, setLabelFor, setLayerPaint, setLayerType, setLayoutDirection, setLayoutParams, setLeft, setLeftTopRightBottom, setLongClickable, setMinimumHeight, setMinimumWidth, setNestedScrollingEnabled, setNextClusterForwardId, setNextFocusDownId, setNextFocusForwardId, setNextFocusLeftId, setNextFocusRightId, setNextFocusUpId, setOnApplyWindowInsetsListener, setOnCapturedPointerListener, setOnClickListener, setOnContextClickListener, setOnCreateContextMenuListener, setOnDragListener, setOnFocusChangeListener, setOnGenericMotionListener, setOnHoverListener, setOnKeyListener, setOnLongClickListener, setOnScrollChangeListener, setOnSystemUiVisibilityChangeListener, setOnTouchListener, setOutlineAmbientShadowColor, setOutlineProvider, setOutlineSpotShadowColor, setOverScrollMode, setPadding, setPaddingRelative, setPivotX, setPivotY, setPointerIcon, setPressed, setRevealOnFocusHint, setRight, setRotation, setRotationX, setRotationY, setSaveEnabled, setSaveFromParentEnabled, setScaleX, setScaleY, setScreenReaderFocusable, setScrollBarDefaultDelayBeforeFade, setScrollBarFadeDuration, setScrollbarFadingEnabled, setScrollBarSize, setScrollBarStyle, setScrollContainer, setScrollIndicators, setScrollIndicators, setScrollX, setScrollY, setSoundEffectsEnabled, setStateDescription, setStateListAnimator, setSystemGestureExclusionRects, setSystemUiVisibility, setTag, setTag, setTextAlignment, setTextDirection, setTooltipText, setTop, setTouchDelegate, setTransitionAlpha, setTransitionName, setTransitionVisibility, setTranslationX, setTranslationY, setTranslationZ, setVerticalFadingEdgeEnabled, setVerticalScrollBarEnabled, setVerticalScrollbarPosition, setVerticalScrollbarThumbDrawable, setVerticalScrollbarTrackDrawable, setWillNotCacheDrawing, setWillNotDraw, setWindowInsetsAnimationCallback, setX, setY, setZ, showContextMenu, showContextMenu, startActionMode, startActionMode, startAnimation, startDrag, startDragAndDrop, startNestedScroll, stopNestedScroll, toString, transformMatrixToGlobal, transformMatrixToLocal, unscheduleDrawable, unscheduleDrawable, updateDragShadow, willNotCacheDrawing, willNotDraw
+
+
+
+
+
+Methods inherited from class java.lang.Object
+equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/view/FlashViewConfig.FlashAlignment.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/view/FlashViewConfig.FlashAlignment.html
new file mode 100644
index 000000000..3cfa5dfe1
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/view/FlashViewConfig.FlashAlignment.html
@@ -0,0 +1,460 @@
+
+
+
+
+
+
FlashViewConfig.FlashAlignment (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Enum Constant Summary
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class java.lang.Enum
+compareTo, equals, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
+
+
+
+
+
+Methods inherited from class java.lang.Object
+getClass, notify, notifyAll, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+
+
+
+
+valueOf
+public static FlashViewConfig.FlashAlignment valueOf(java.lang.String name)
+Returns the enum constant of this type with the specified name.
+The string must match exactly an identifier used to declare an
+enum constant in this type. (Extraneous whitespace characters are
+not permitted.)
+
+Parameters:
+name
- the name of the enum constant to be returned.
+Returns:
+the enum constant with the specified name
+Throws:
+java.lang.IllegalArgumentException
- if this enum type has no constant with the specified name
+java.lang.NullPointerException
- if the argument is null
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/view/FlashViewConfig.FlashMode.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/view/FlashViewConfig.FlashMode.html
new file mode 100644
index 000000000..05a2941ab
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/view/FlashViewConfig.FlashMode.html
@@ -0,0 +1,450 @@
+
+
+
+
+
+
FlashViewConfig.FlashMode (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Enum Constant Summary
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class java.lang.Enum
+compareTo, equals, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
+
+
+
+
+
+Methods inherited from class java.lang.Object
+getClass, notify, notifyAll, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+
+
+
+
+valueOf
+public static FlashViewConfig.FlashMode valueOf(java.lang.String name)
+Returns the enum constant of this type with the specified name.
+The string must match exactly an identifier used to declare an
+enum constant in this type. (Extraneous whitespace characters are
+not permitted.)
+
+Parameters:
+name
- the name of the enum constant to be returned.
+Returns:
+the enum constant with the specified name
+Throws:
+java.lang.IllegalArgumentException
- if this enum type has no constant with the specified name
+java.lang.NullPointerException
- if the argument is null
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/view/FlashViewConfig.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/view/FlashViewConfig.html
new file mode 100644
index 000000000..d5952a0d4
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/view/FlashViewConfig.html
@@ -0,0 +1,619 @@
+
+
+
+
+
+
FlashViewConfig (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+io.anyline.view.FlashViewConfig
+
+
+
+
+
+
+
+
+
+
+
+
+
+Nested Class Summary
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+Constructors
+
+Constructor
+Description
+
+
+FlashViewConfig ()
+
+
+
+FlashViewConfig (android.content.Context context,
+ org.json.JSONObject flashJson)
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class java.lang.Object
+equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+FlashViewConfig
+public FlashViewConfig()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/view/IAnylineViewConfig.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/view/IAnylineViewConfig.html
new file mode 100644
index 000000000..02d6bbeb6
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/view/IAnylineViewConfig.html
@@ -0,0 +1,254 @@
+
+
+
+
+
+
IAnylineViewConfig (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/view/JsonParser.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/view/JsonParser.html
new file mode 100644
index 000000000..b737d854a
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/view/JsonParser.html
@@ -0,0 +1,326 @@
+
+
+
+
+
+
JsonParser (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+io.anyline.view.JsonParser
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+Constructors
+
+Constructor
+Description
+
+
+JsonParser ()
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class java.lang.Object
+equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+JsonParser
+public JsonParser()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/view/LicenseKeyExceptionListener.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/view/LicenseKeyExceptionListener.html
new file mode 100644
index 000000000..e798239f2
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/view/LicenseKeyExceptionListener.html
@@ -0,0 +1,247 @@
+
+
+
+
+
+
LicenseKeyExceptionListener (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/view/LightLevelHelper.AmbientLightLevel.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/view/LightLevelHelper.AmbientLightLevel.html
new file mode 100644
index 000000000..6d98a67be
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/view/LightLevelHelper.AmbientLightLevel.html
@@ -0,0 +1,405 @@
+
+
+
+
+
+
LightLevelHelper.AmbientLightLevel (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Enum Constant Summary
+
+Enum Constants
+
+Enum Constant
+Description
+
+
+HIGH
+
+
+
+LOW
+
+
+
+NONE
+
+
+
+OK
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class java.lang.Enum
+compareTo, equals, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
+
+
+
+
+
+Methods inherited from class java.lang.Object
+getClass, notify, notifyAll, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+
+
+
+
+valueOf
+public static LightLevelHelper.AmbientLightLevel valueOf(java.lang.String name)
+Returns the enum constant of this type with the specified name.
+The string must match exactly an identifier used to declare an
+enum constant in this type. (Extraneous whitespace characters are
+not permitted.)
+
+Parameters:
+name
- the name of the enum constant to be returned.
+Returns:
+the enum constant with the specified name
+Throws:
+java.lang.IllegalArgumentException
- if this enum type has no constant with the specified name
+java.lang.NullPointerException
- if the argument is null
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/view/LightLevelHelper.BrightnessLevel.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/view/LightLevelHelper.BrightnessLevel.html
new file mode 100644
index 000000000..de4c1ec2a
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/view/LightLevelHelper.BrightnessLevel.html
@@ -0,0 +1,392 @@
+
+
+
+
+
+
LightLevelHelper.BrightnessLevel (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Enum Constant Summary
+
+Enum Constants
+
+Enum Constant
+Description
+
+
+HIGH
+
+
+
+LOW
+
+
+
+OK
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class java.lang.Enum
+compareTo, equals, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
+
+
+
+
+
+Methods inherited from class java.lang.Object
+getClass, notify, notifyAll, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+
+
+
+
+valueOf
+public static LightLevelHelper.BrightnessLevel valueOf(java.lang.String name)
+Returns the enum constant of this type with the specified name.
+The string must match exactly an identifier used to declare an
+enum constant in this type. (Extraneous whitespace characters are
+not permitted.)
+
+Parameters:
+name
- the name of the enum constant to be returned.
+Returns:
+the enum constant with the specified name
+Throws:
+java.lang.IllegalArgumentException
- if this enum type has no constant with the specified name
+java.lang.NullPointerException
- if the argument is null
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/view/LightLevelHelper.LightLevelListener.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/view/LightLevelHelper.LightLevelListener.html
new file mode 100644
index 000000000..5c824c72c
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/view/LightLevelHelper.LightLevelListener.html
@@ -0,0 +1,253 @@
+
+
+
+
+
+
LightLevelHelper.LightLevelListener (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/view/LightLevelHelper.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/view/LightLevelHelper.html
new file mode 100644
index 000000000..015760ab6
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/view/LightLevelHelper.html
@@ -0,0 +1,373 @@
+
+
+
+
+
+
LightLevelHelper (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+io.anyline.view.LightLevelHelper
+
+
+
+
+
+
+
+
+
+
+
+
+
+Nested Class Summary
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class java.lang.Object
+equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/view/ParallelScanViewComposite.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/view/ParallelScanViewComposite.html
new file mode 100644
index 000000000..8b9283c1a
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/view/ParallelScanViewComposite.html
@@ -0,0 +1,377 @@
+
+
+
+
+
+
ParallelScanViewComposite (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+
+add , addScanInfoListener , addScanResultListener , addScanRunSkippedListener , addUIConfigChangedListener , calcCutOutAndImageCropBounds , getAllScanViewPlugins , getCancelOnResult , getImageProvider , remove , removeScanInfoListener , removeScanResultListener , removeScanRunSkippedListener , removeUIConfigChangedListener , setCancelOnResult , setCancelOnResult , setCropRect , setDelayScanTime , setImageProvider , stop
+
+
+
+
+
+
+Methods inherited from class java.lang.Object
+equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/view/ScanPage.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/view/ScanPage.html
new file mode 100644
index 000000000..4613788a9
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/view/ScanPage.html
@@ -0,0 +1,661 @@
+
+
+
+
+
+
ScanPage (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+io.anyline.view.ScanPage
+
+
+
+
+
+
+
+
+
+
+
+
+
+Nested Class Summary
+
+
+
+
+Nested classes/interfaces inherited from interface android.os.Parcelable
+android.os.Parcelable.ClassLoaderCreator<T extends java.lang.Object>, android.os.Parcelable.Creator<T extends java.lang.Object>
+
+
+
+
+
+
+
+
+
+
+Field Summary
+
+Fields
+
+Modifier and Type
+Field
+Description
+
+
+static android.os.Parcelable.Creator
+CREATOR
+
+
+
+
+
+
+
+Fields inherited from interface android.os.Parcelable
+CONTENTS_FILE_DESCRIPTOR, PARCELABLE_WRITE_RETURN_VALUE
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+Constructors
+
+Constructor
+Description
+
+
+ScanPage (android.os.Parcel in)
+
+
+
+ScanPage (java.io.File fullImageFile,
+ java.io.File croppedImageFile,
+ java.util.ArrayList<android.graphics.PointF> corners)
+
+
+
+ScanPage (java.io.File fullImageFile,
+ java.io.File croppedImageFile,
+ java.util.ArrayList<android.graphics.PointF> corners,
+ java.lang.Integer startRotation)
+
+
+
+ScanPage (java.lang.String fullImagePath,
+ java.lang.String croppedImagePath,
+ java.util.ArrayList<android.graphics.PointF> corners)
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class java.lang.Object
+equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Field Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+ScanPage
+public ScanPage(java.io.File fullImageFile,
+ java.io.File croppedImageFile,
+ java.util.ArrayList<android.graphics.PointF> corners,
+ java.lang.Integer startRotation)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/view/ScanView.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/view/ScanView.html
new file mode 100644
index 000000000..d2989f6e5
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/view/ScanView.html
@@ -0,0 +1,937 @@
+
+
+
+
+
+
ScanView (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+android.view.View
+
+
+android.view.ViewGroup
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Nested Class Summary
+
+
+
+
+Nested classes/interfaces inherited from class android.view.ViewGroup
+android.view.ViewGroup.LayoutParams, android.view.ViewGroup.MarginLayoutParams, android.view.ViewGroup.OnHierarchyChangeListener
+
+
+
+
+
+Nested classes/interfaces inherited from class android.view.View
+android.view.View.AccessibilityDelegate, android.view.View.BaseSavedState, android.view.View.DragShadowBuilder, android.view.View.MeasureSpec, android.view.View.OnApplyWindowInsetsListener, android.view.View.OnAttachStateChangeListener, android.view.View.OnCapturedPointerListener, android.view.View.OnClickListener, android.view.View.OnContextClickListener, android.view.View.OnCreateContextMenuListener, android.view.View.OnDragListener, android.view.View.OnFocusChangeListener, android.view.View.OnGenericMotionListener, android.view.View.OnHoverListener, android.view.View.OnKeyListener, android.view.View.OnLayoutChangeListener, android.view.View.OnLongClickListener, android.view.View.OnScrollChangeListener, android.view.View.OnSystemUiVisibilityChangeListener, android.view.View.OnTouchListener, android.view.View.OnUnhandledKeyEventListener
+
+
+
+
+
+
+
+
+
+
+Field Summary
+
+Fields
+
+Modifier and Type
+Field
+Description
+
+
+Rect
+cropRect
+
+
+
+
+
+
+
+
+Fields inherited from class android.view.ViewGroup
+FOCUS_AFTER_DESCENDANTS, FOCUS_BEFORE_DESCENDANTS, FOCUS_BLOCK_DESCENDANTS, LAYOUT_MODE_CLIP_BOUNDS, LAYOUT_MODE_OPTICAL_BOUNDS, PERSISTENT_ALL_CACHES, PERSISTENT_ANIMATION_CACHE, PERSISTENT_NO_CACHE, PERSISTENT_SCROLLING_CACHE
+
+
+
+
+
+Fields inherited from class android.view.View
+ACCESSIBILITY_LIVE_REGION_ASSERTIVE, ACCESSIBILITY_LIVE_REGION_NONE, ACCESSIBILITY_LIVE_REGION_POLITE, ALPHA, AUTOFILL_FLAG_INCLUDE_NOT_IMPORTANT_VIEWS, AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_DATE, AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_DAY, AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_MONTH, AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_YEAR, AUTOFILL_HINT_CREDIT_CARD_NUMBER, AUTOFILL_HINT_CREDIT_CARD_SECURITY_CODE, AUTOFILL_HINT_EMAIL_ADDRESS, AUTOFILL_HINT_NAME, AUTOFILL_HINT_PASSWORD, AUTOFILL_HINT_PHONE, AUTOFILL_HINT_POSTAL_ADDRESS, AUTOFILL_HINT_POSTAL_CODE, AUTOFILL_HINT_USERNAME, AUTOFILL_TYPE_DATE, AUTOFILL_TYPE_LIST, AUTOFILL_TYPE_NONE, AUTOFILL_TYPE_TEXT, AUTOFILL_TYPE_TOGGLE, DRAG_FLAG_GLOBAL, DRAG_FLAG_GLOBAL_PERSISTABLE_URI_PERMISSION, DRAG_FLAG_GLOBAL_PREFIX_URI_PERMISSION, DRAG_FLAG_GLOBAL_URI_READ, DRAG_FLAG_GLOBAL_URI_WRITE, DRAG_FLAG_OPAQUE, DRAWING_CACHE_QUALITY_AUTO, DRAWING_CACHE_QUALITY_HIGH, DRAWING_CACHE_QUALITY_LOW, FIND_VIEWS_WITH_CONTENT_DESCRIPTION, FIND_VIEWS_WITH_TEXT, FOCUS_BACKWARD, FOCUS_DOWN, FOCUS_FORWARD, FOCUS_LEFT, FOCUS_RIGHT, FOCUS_UP, FOCUSABLE, FOCUSABLE_AUTO, FOCUSABLES_ALL, FOCUSABLES_TOUCH_MODE, GONE, HAPTIC_FEEDBACK_ENABLED, IMPORTANT_FOR_ACCESSIBILITY_AUTO, IMPORTANT_FOR_ACCESSIBILITY_NO, IMPORTANT_FOR_ACCESSIBILITY_NO_HIDE_DESCENDANTS, IMPORTANT_FOR_ACCESSIBILITY_YES, IMPORTANT_FOR_AUTOFILL_AUTO, IMPORTANT_FOR_AUTOFILL_NO, IMPORTANT_FOR_AUTOFILL_NO_EXCLUDE_DESCENDANTS, IMPORTANT_FOR_AUTOFILL_YES, IMPORTANT_FOR_AUTOFILL_YES_EXCLUDE_DESCENDANTS, IMPORTANT_FOR_CONTENT_CAPTURE_AUTO, IMPORTANT_FOR_CONTENT_CAPTURE_NO, IMPORTANT_FOR_CONTENT_CAPTURE_NO_EXCLUDE_DESCENDANTS, IMPORTANT_FOR_CONTENT_CAPTURE_YES, IMPORTANT_FOR_CONTENT_CAPTURE_YES_EXCLUDE_DESCENDANTS, INVISIBLE, KEEP_SCREEN_ON, LAYER_TYPE_HARDWARE, LAYER_TYPE_NONE, LAYER_TYPE_SOFTWARE, LAYOUT_DIRECTION_INHERIT, LAYOUT_DIRECTION_LOCALE, LAYOUT_DIRECTION_LTR, LAYOUT_DIRECTION_RTL, MEASURED_HEIGHT_STATE_SHIFT, MEASURED_SIZE_MASK, MEASURED_STATE_MASK, MEASURED_STATE_TOO_SMALL, NO_ID, NOT_FOCUSABLE, OVER_SCROLL_ALWAYS, OVER_SCROLL_IF_CONTENT_SCROLLS, OVER_SCROLL_NEVER, ROTATION, ROTATION_X, ROTATION_Y, SCALE_X, SCALE_Y, SCREEN_STATE_OFF, SCREEN_STATE_ON, SCROLL_AXIS_HORIZONTAL, SCROLL_AXIS_NONE, SCROLL_AXIS_VERTICAL, SCROLL_INDICATOR_BOTTOM, SCROLL_INDICATOR_END, SCROLL_INDICATOR_LEFT, SCROLL_INDICATOR_RIGHT, SCROLL_INDICATOR_START, SCROLL_INDICATOR_TOP, SCROLLBAR_POSITION_DEFAULT, SCROLLBAR_POSITION_LEFT, SCROLLBAR_POSITION_RIGHT, SCROLLBARS_INSIDE_INSET, SCROLLBARS_INSIDE_OVERLAY, SCROLLBARS_OUTSIDE_INSET, SCROLLBARS_OUTSIDE_OVERLAY, SOUND_EFFECTS_ENABLED, STATUS_BAR_HIDDEN, STATUS_BAR_VISIBLE, SYSTEM_UI_FLAG_FULLSCREEN, SYSTEM_UI_FLAG_HIDE_NAVIGATION, SYSTEM_UI_FLAG_IMMERSIVE, SYSTEM_UI_FLAG_IMMERSIVE_STICKY, SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN, SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION, SYSTEM_UI_FLAG_LAYOUT_STABLE, SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR, SYSTEM_UI_FLAG_LIGHT_STATUS_BAR, SYSTEM_UI_FLAG_LOW_PROFILE, SYSTEM_UI_FLAG_VISIBLE, SYSTEM_UI_LAYOUT_FLAGS, TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_GRAVITY, TEXT_ALIGNMENT_INHERIT, TEXT_ALIGNMENT_TEXT_END, TEXT_ALIGNMENT_TEXT_START, TEXT_ALIGNMENT_VIEW_END, TEXT_ALIGNMENT_VIEW_START, TEXT_DIRECTION_ANY_RTL, TEXT_DIRECTION_FIRST_STRONG, TEXT_DIRECTION_FIRST_STRONG_LTR, TEXT_DIRECTION_FIRST_STRONG_RTL, TEXT_DIRECTION_INHERIT, TEXT_DIRECTION_LOCALE, TEXT_DIRECTION_LTR, TEXT_DIRECTION_RTL, TRANSLATION_X, TRANSLATION_Y, TRANSLATION_Z, VISIBLE, X, Y, Z
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+Constructors
+
+Constructor
+Description
+
+
+ScanView (android.content.Context context)
+
+
+
+ScanView (android.content.Context context,
+ android.util.AttributeSet attrs)
+
+
+
+ScanView (android.content.Context context,
+ android.util.AttributeSet attrs,
+ int defStyleAttr)
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class io.anyline.camera.CameraView
+callAutoFocus , disableBarcodeDetection , enableBarcodeDetection , getCameraController , getFrameHeight , getFrameWidth , getLastImageWithFullSize , getLastImageWithFullSizeReceiver , getNewImage , getPreferredCameraConfig , getScale , getScaleWidth , getSettings , hasNewImage , isBarcodeDetectionEnabled , isBarcodeDetectionOperational , openCameraInBackground , releaseCamera , releaseCameraAndPreview , releaseCameraInBackground , resetAutoFocusTimer , setApi2Enabled , setCameraOpenListener , setFlashOn , setFocusConfig , setHighResolutionImageListener , setImageListener , setPreferredCameraConfig , setPreferredPictureSize , setPreferredPreviewFps , setPreferredPreviewSize , setPreviewCropGravity , setSceneMode , setUseMaxFpsRange , takeHighResolutionImage , takeHighResolutionImage
+
+
+
+
+
+Methods inherited from class android.view.ViewGroup
+addChildrenForAccessibility, addExtraDataToAccessibilityNodeInfo, addFocusables, addKeyboardNavigationClusters, addStatesFromChildren, addTouchables, addView, addView, addView, addView, addView, bringChildToFront, childDrawableStateChanged, childHasTransientStateChanged, clearChildFocus, clearDisappearingChildren, clearFocus, dispatchApplyWindowInsets, dispatchCapturedPointerEvent, dispatchConfigurationChanged, dispatchDisplayHint, dispatchDragEvent, dispatchDrawableHotspotChanged, dispatchFinishTemporaryDetach, dispatchKeyEvent, dispatchKeyEventPreIme, dispatchKeyShortcutEvent, dispatchPointerCaptureChanged, dispatchProvideAutofillStructure, dispatchProvideStructure, dispatchSetActivated, dispatchSetSelected, dispatchStartTemporaryDetach, dispatchSystemUiVisibilityChanged, dispatchTouchEvent, dispatchTrackballEvent, dispatchUnhandledMove, dispatchWindowFocusChanged, dispatchWindowInsetsAnimationEnd, dispatchWindowInsetsAnimationPrepare, dispatchWindowInsetsAnimationProgress, dispatchWindowInsetsAnimationStart, dispatchWindowSystemUiVisiblityChanged, dispatchWindowVisibilityChanged, endViewTransition, findFocus, findViewsWithText, focusableViewAvailable, focusSearch, gatherTransparentRegion, generateLayoutParams, getAccessibilityClassName, getChildAt, getChildCount, getChildDrawingOrder, getChildMeasureSpec, getChildVisibleRect, getClipChildren, getClipToPadding, getDescendantFocusability, getFocusedChild, getLayoutAnimation, getLayoutAnimationListener, getLayoutMode, getLayoutTransition, getNestedScrollAxes, getOverlay, getPersistentDrawingCache, getTouchscreenBlocksFocus, hasFocus, hasTransientState, indexOfChild, invalidateChild, invalidateChildInParent, isAlwaysDrawnWithCacheEnabled, isAnimationCacheEnabled, isLayoutSuppressed, isMotionEventSplittingEnabled, isTransitionGroup, jumpDrawablesToCurrentState, layout, notifySubtreeAccessibilityStateChanged, offsetDescendantRectToMyCoords, offsetRectIntoDescendantCoords, onDescendantInvalidated, onInterceptHoverEvent, onInterceptTouchEvent, onNestedFling, onNestedPreFling, onNestedPrePerformAccessibilityAction, onNestedPreScroll, onNestedScroll, onNestedScrollAccepted, onRequestSendAccessibilityEvent, onResolvePointerIcon, onStartNestedScroll, onStopNestedScroll, onViewAdded, onViewRemoved, recomputeViewAttributes, removeAllViews, removeAllViewsInLayout, removeView, removeViewAt, removeViewInLayout, removeViews, removeViewsInLayout, requestChildFocus, requestChildRectangleOnScreen, requestDisallowInterceptTouchEvent, requestFocus, requestSendAccessibilityEvent, requestTransparentRegion, restoreDefaultFocus, scheduleLayoutAnimation, setAddStatesFromChildren, setAlwaysDrawnWithCacheEnabled, setAnimationCacheEnabled, setClipChildren, setClipToPadding, setDescendantFocusability, setLayoutAnimation, setLayoutAnimationListener, setLayoutMode, setLayoutTransition, setMotionEventSplittingEnabled, setOnHierarchyChangeListener, setPersistentDrawingCache, setTouchscreenBlocksFocus, setTransitionGroup, setWindowInsetsAnimationCallback, shouldDelayChildPressedState, showContextMenuForChild, showContextMenuForChild, startActionModeForChild, startActionModeForChild, startLayoutAnimation, startViewTransition, suppressLayout, updateViewLayout
+
+
+
+
+
+Methods inherited from class android.view.View
+addFocusables, addOnAttachStateChangeListener, addOnLayoutChangeListener, addOnUnhandledKeyEventListener, animate, announceForAccessibility, autofill, autofill, bringToFront, buildDrawingCache, buildDrawingCache, buildLayer, callOnClick, cancelDragAndDrop, cancelLongPress, cancelPendingInputEvents, canResolveLayoutDirection, canResolveTextAlignment, canResolveTextDirection, canScrollHorizontally, canScrollVertically, checkInputConnectionProxy, clearAnimation, combineMeasuredStates, computeScroll, computeSystemWindowInsets, createAccessibilityNodeInfo, createContextMenu, destroyDrawingCache, dispatchGenericMotionEvent, dispatchNestedFling, dispatchNestedPreFling, dispatchNestedPrePerformAccessibilityAction, dispatchNestedPreScroll, dispatchNestedScroll, dispatchPopulateAccessibilityEvent, draw, drawableHotspotChanged, findViewById, findViewWithTag, focusSearch, forceHasOverlappingRendering, forceLayout, generateViewId, getAccessibilityDelegate, getAccessibilityLiveRegion, getAccessibilityNodeProvider, getAccessibilityPaneTitle, getAccessibilityTraversalAfter, getAccessibilityTraversalBefore, getAlpha, getAnimation, getAnimationMatrix, getApplicationWindowToken, getAttributeResolutionStack, getAttributeSourceResourceMap, getAutofillHints, getAutofillId, getAutofillType, getAutofillValue, getBackground, getBackgroundTintBlendMode, getBackgroundTintList, getBackgroundTintMode, getBaseline, getBottom, getCameraDistance, getClipBounds, getClipBounds, getClipToOutline, getContentCaptureSession, getContentDescription, getContext, getDefaultFocusHighlightEnabled, getDefaultSize, getDisplay, getDrawableState, getDrawingCache, getDrawingCache, getDrawingCacheBackgroundColor, getDrawingCacheQuality, getDrawingRect, getDrawingTime, getElevation, getExplicitStyle, getFilterTouchesWhenObscured, getFitsSystemWindows, getFocusable, getFocusables, getFocusedRect, getForeground, getForegroundGravity, getForegroundTintBlendMode, getForegroundTintList, getForegroundTintMode, getGlobalVisibleRect, getGlobalVisibleRect, getHandler, getHasOverlappingRendering, getHeight, getHitRect, getHorizontalFadingEdgeLength, getHorizontalScrollbarThumbDrawable, getHorizontalScrollbarTrackDrawable, getId, getImportantForAccessibility, getImportantForAutofill, getImportantForContentCapture, getKeepScreenOn, getKeyDispatcherState, getLabelFor, getLayerType, getLayoutDirection, getLayoutParams, getLeft, getLocalVisibleRect, getLocationInSurface, getLocationInWindow, getLocationOnScreen, getMatrix, getMeasuredHeight, getMeasuredHeightAndState, getMeasuredState, getMeasuredWidth, getMeasuredWidthAndState, getMinimumHeight, getMinimumWidth, getNextClusterForwardId, getNextFocusDownId, getNextFocusForwardId, getNextFocusLeftId, getNextFocusRightId, getNextFocusUpId, getOnFocusChangeListener, getOutlineAmbientShadowColor, getOutlineProvider, getOutlineSpotShadowColor, getOverScrollMode, getPaddingBottom, getPaddingEnd, getPaddingLeft, getPaddingRight, getPaddingStart, getPaddingTop, getParent, getParentForAccessibility, getPivotX, getPivotY, getPointerIcon, getResources, getRevealOnFocusHint, getRight, getRootView, getRootWindowInsets, getRotation, getRotationX, getRotationY, getScaleX, getScaleY, getScrollBarDefaultDelayBeforeFade, getScrollBarFadeDuration, getScrollBarSize, getScrollBarStyle, getScrollIndicators, getScrollX, getScrollY, getSolidColor, getSourceLayoutResId, getStateDescription, getStateListAnimator, getSystemGestureExclusionRects, getSystemUiVisibility, getTag, getTag, getTextAlignment, getTextDirection, getTooltipText, getTop, getTouchables, getTouchDelegate, getTransitionAlpha, getTransitionName, getTranslationX, getTranslationY, getTranslationZ, getUniqueDrawingId, getVerticalFadingEdgeLength, getVerticalScrollbarPosition, getVerticalScrollbarThumbDrawable, getVerticalScrollbarTrackDrawable, getVerticalScrollbarWidth, getViewTreeObserver, getVisibility, getWidth, getWindowId, getWindowInsetsController, getWindowSystemUiVisibility, getWindowToken, getWindowVisibility, getWindowVisibleDisplayFrame, getX, getY, getZ, hasExplicitFocusable, hasFocusable, hasNestedScrollingParent, hasOnClickListeners, hasOnLongClickListeners, hasOverlappingRendering, hasPointerCapture, hasWindowFocus, inflate, invalidate, invalidate, invalidate, invalidateDrawable, invalidateOutline, isAccessibilityFocused, isAccessibilityHeading, isActivated, isAttachedToWindow, isClickable, isContextClickable, isDirty, isDrawingCacheEnabled, isDuplicateParentStateEnabled, isEnabled, isFocusable, isFocusableInTouchMode, isFocused, isFocusedByDefault, isForceDarkAllowed, isHapticFeedbackEnabled, isHardwareAccelerated, isHorizontalFadingEdgeEnabled, isHorizontalScrollBarEnabled, isHovered, isImportantForAccessibility, isImportantForAutofill, isImportantForContentCapture, isInEditMode, isInLayout, isInTouchMode, isKeyboardNavigationCluster, isLaidOut, isLayoutDirectionResolved, isLayoutRequested, isLongClickable, isNestedScrollingEnabled, isOpaque, isPaddingRelative, isPivotSet, isPressed, isSaveEnabled, isSaveFromParentEnabled, isScreenReaderFocusable, isScrollbarFadingEnabled, isScrollContainer, isSelected, isShowingLayoutBounds, isShown, isSoundEffectsEnabled, isTemporarilyDetached, isTextAlignmentResolved, isTextDirectionResolved, isVerticalFadingEdgeEnabled, isVerticalScrollBarEnabled, isVisibleToUserForAutofill, keyboardNavigationClusterSearch, measure, offsetLeftAndRight, offsetTopAndBottom, onApplyWindowInsets, onCancelPendingInputEvents, onCapturedPointerEvent, onCheckIsTextEditor, onCreateInputConnection, onDragEvent, onDrawForeground, onFilterTouchEventForSecurity, onFinishTemporaryDetach, onGenericMotionEvent, onHoverChanged, onHoverEvent, onInitializeAccessibilityEvent, onInitializeAccessibilityNodeInfo, onKeyDown, onKeyLongPress, onKeyMultiple, onKeyPreIme, onKeyShortcut, onKeyUp, onPointerCaptureChange, onPopulateAccessibilityEvent, onProvideAutofillStructure, onProvideAutofillVirtualStructure, onProvideContentCaptureStructure, onProvideStructure, onProvideVirtualStructure, onRtlPropertiesChanged, onScreenStateChanged, onStartTemporaryDetach, onTrackballEvent, onVisibilityAggregated, onWindowFocusChanged, onWindowSystemUiVisibilityChanged, performAccessibilityAction, performClick, performContextClick, performContextClick, performHapticFeedback, performHapticFeedback, performLongClick, performLongClick, playSoundEffect, post, postDelayed, postInvalidate, postInvalidate, postInvalidateDelayed, postInvalidateDelayed, postInvalidateOnAnimation, postInvalidateOnAnimation, postOnAnimation, postOnAnimationDelayed, refreshDrawableState, releasePointerCapture, removeCallbacks, removeOnAttachStateChangeListener, removeOnLayoutChangeListener, removeOnUnhandledKeyEventListener, requestApplyInsets, requestFitSystemWindows, requestFocus, requestFocus, requestFocusFromTouch, requestLayout, requestPointerCapture, requestRectangleOnScreen, requestRectangleOnScreen, requestUnbufferedDispatch, requestUnbufferedDispatch, requireViewById, resetPivot, resolveSize, resolveSizeAndState, restoreHierarchyState, saveAttributeDataForStyleable, saveHierarchyState, scheduleDrawable, scrollBy, scrollTo, sendAccessibilityEvent, sendAccessibilityEventUnchecked, setAccessibilityDelegate, setAccessibilityHeading, setAccessibilityLiveRegion, setAccessibilityPaneTitle, setAccessibilityTraversalAfter, setAccessibilityTraversalBefore, setActivated, setAlpha, setAnimation, setAnimationMatrix, setAutofillHints, setAutofillId, setBackground, setBackgroundColor, setBackgroundDrawable, setBackgroundResource, setBackgroundTintBlendMode, setBackgroundTintList, setBackgroundTintMode, setBottom, setCameraDistance, setClickable, setClipBounds, setClipToOutline, setContentCaptureSession, setContentDescription, setContextClickable, setDefaultFocusHighlightEnabled, setDrawingCacheBackgroundColor, setDrawingCacheEnabled, setDrawingCacheQuality, setDuplicateParentStateEnabled, setElevation, setEnabled, setFadingEdgeLength, setFilterTouchesWhenObscured, setFitsSystemWindows, setFocusable, setFocusable, setFocusableInTouchMode, setFocusedByDefault, setForceDarkAllowed, setForeground, setForegroundGravity, setForegroundTintBlendMode, setForegroundTintList, setForegroundTintMode, setHapticFeedbackEnabled, setHasTransientState, setHorizontalFadingEdgeEnabled, setHorizontalScrollBarEnabled, setHorizontalScrollbarThumbDrawable, setHorizontalScrollbarTrackDrawable, setHovered, setId, setImportantForAccessibility, setImportantForAutofill, setImportantForContentCapture, setKeepScreenOn, setKeyboardNavigationCluster, setLabelFor, setLayerPaint, setLayerType, setLayoutDirection, setLayoutParams, setLeft, setLeftTopRightBottom, setLongClickable, setMinimumHeight, setMinimumWidth, setNestedScrollingEnabled, setNextClusterForwardId, setNextFocusDownId, setNextFocusForwardId, setNextFocusLeftId, setNextFocusRightId, setNextFocusUpId, setOnApplyWindowInsetsListener, setOnCapturedPointerListener, setOnClickListener, setOnContextClickListener, setOnCreateContextMenuListener, setOnDragListener, setOnFocusChangeListener, setOnGenericMotionListener, setOnHoverListener, setOnKeyListener, setOnLongClickListener, setOnScrollChangeListener, setOnSystemUiVisibilityChangeListener, setOnTouchListener, setOutlineAmbientShadowColor, setOutlineProvider, setOutlineSpotShadowColor, setOverScrollMode, setPadding, setPaddingRelative, setPivotX, setPivotY, setPointerIcon, setPressed, setRevealOnFocusHint, setRight, setRotation, setRotationX, setRotationY, setSaveEnabled, setSaveFromParentEnabled, setScaleX, setScaleY, setScreenReaderFocusable, setScrollBarDefaultDelayBeforeFade, setScrollBarFadeDuration, setScrollbarFadingEnabled, setScrollBarSize, setScrollBarStyle, setScrollContainer, setScrollIndicators, setScrollIndicators, setScrollX, setScrollY, setSelected, setSoundEffectsEnabled, setStateDescription, setStateListAnimator, setSystemGestureExclusionRects, setSystemUiVisibility, setTag, setTag, setTextAlignment, setTextDirection, setTooltipText, setTop, setTouchDelegate, setTransitionAlpha, setTransitionName, setTransitionVisibility, setTranslationX, setTranslationY, setTranslationZ, setVerticalFadingEdgeEnabled, setVerticalScrollBarEnabled, setVerticalScrollbarPosition, setVerticalScrollbarThumbDrawable, setVerticalScrollbarTrackDrawable, setVisibility, setWillNotCacheDrawing, setWillNotDraw, setX, setY, setZ, showContextMenu, showContextMenu, startActionMode, startActionMode, startAnimation, startDrag, startDragAndDrop, startNestedScroll, stopNestedScroll, toString, transformMatrixToGlobal, transformMatrixToLocal, unscheduleDrawable, unscheduleDrawable, updateDragShadow, willNotCacheDrawing, willNotDraw
+
+
+
+
+
+Methods inherited from class java.lang.Object
+equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
+
+
+
+
+
+Methods inherited from interface android.view.ViewParent
+canResolveLayoutDirection, canResolveTextAlignment, canResolveTextDirection, createContextMenu, getLayoutDirection, getParent, getParentForAccessibility, getTextAlignment, getTextDirection, isLayoutDirectionResolved, isLayoutRequested, isTextAlignmentResolved, isTextDirectionResolved, keyboardNavigationClusterSearch, requestFitSystemWindows, requestLayout
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Field Detail
+
+
+
+
+
+cropRect
+public Rect cropRect
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/view/ScanViewCameraConfig.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/view/ScanViewCameraConfig.html
new file mode 100644
index 000000000..e981fb08d
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/view/ScanViewCameraConfig.html
@@ -0,0 +1,660 @@
+
+
+
+
+
+
ScanViewCameraConfig (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+io.anyline.view.ScanViewCameraConfig
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+Constructors
+
+Constructor
+Description
+
+
+ScanViewCameraConfig (org.json.JSONObject jsonObject)
+
+Create config from the given json object.
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class java.lang.Object
+equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+
+
+
+
+setPreferredPreviewWidth
+public void setPreferredPreviewWidth(int preferredPreviewWidth)
+Set the preferred preview width.
+ When trying to find the best preview size, this is used instead of the views width.
+
+Parameters:
+preferredPreviewWidth
- the desired preview width
+
+
+
+
+
+
+
+
+
+
+
+
+setPreferredPreviewHeight
+public void setPreferredPreviewHeight(int preferredPreviewHeight)
+Set the preferred preview height.
+ When trying to find the best preview size, this is used instead of the views height.
+
+Parameters:
+preferredPreviewHeight
- the desired preview height
+
+
+
+
+
+
+
+
+
+
+
+
+setPreferredPictureWidth
+public void setPreferredPictureWidth(int preferredPictureWidth)
+Set the preferred width when taking a full picture.
+ When trying to find the best picture width, this is used instead of the maximum width.
+
+Parameters:
+preferredPictureWidth
- the desired picture width
+
+
+
+
+
+
+
+
+
+
+
+
+setPreferredPictureHeight
+public void setPreferredPictureHeight(int preferredPictureHeight)
+Set the preferred height when taking a full picture.
+ When trying to find the best picture height, this is used instead of the maximum height.
+
+Parameters:
+preferredPictureHeight
- the desired picture height
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+setFallbackLensFacings
+public void setFallbackLensFacings(java.util.EnumSet<CameraFeatures.LensFacing > fallbackLensFacings)
+Set the fallback camera facings which are used if the default camera facing is not available on the device
+
+Parameters:
+fallbackLensFacings
- the fallback options for CameraFacing
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/view/ScanViewPluginConfig.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/view/ScanViewPluginConfig.html
new file mode 100644
index 000000000..a8d1fb4a4
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/view/ScanViewPluginConfig.html
@@ -0,0 +1,487 @@
+
+
+
+
+
+
ScanViewPluginConfig (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+io.anyline.view.ScanViewPluginConfig
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+Methods inherited from class java.lang.Object
+equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/view/ScanViewRefactor.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/view/ScanViewRefactor.html
new file mode 100644
index 000000000..f9de14928
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/view/ScanViewRefactor.html
@@ -0,0 +1,265 @@
+
+
+
+
+
+
ScanViewRefactor (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+io.anyline.view.ScanViewRefactor
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+Methods inherited from class java.lang.Object
+equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/view/ScanViewUtil.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/view/ScanViewUtil.html
new file mode 100644
index 000000000..fe7d21dc3
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/view/ScanViewUtil.html
@@ -0,0 +1,413 @@
+
+
+
+
+
+
ScanViewUtil (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+io.anyline.view.ScanViewUtil
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+Constructors
+
+Constructor
+Description
+
+
+ScanViewUtil ()
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+All Methods Static Methods Concrete Methods
+
+Modifier and Type
+Method
+Description
+
+
+static android.graphics.Rect
+getFrameRectFromViewRect (android.graphics.Rect viewRect,
+ int frameWidth,
+ int frameHeight,
+ float scale)
+
+Get the rect relative to the camera frame from the rect that is relative to this view.
+
+
+
+static java.util.List<android.graphics.PointF>
+transformOutlineToPointListRelativeToFullFrame (AnylineImage fullFrame,
+ java.util.List<android.graphics.PointF> outlineCorners,
+ float offsetX,
+ float offsetY,
+ AnylineImage fullImage,
+ float resizeWidth,
+ int contourBorder)
+
+Transforms the provided document corners from the core to a List of PointF which are relative to the fullFrame
+ image.
+
+
+
+static java.util.List<android.graphics.PointF>
+transformOutlineToPointListRelativeToRect (java.util.List<Point > outlineCorners,
+ float resizeWidth,
+ int contourBorder,
+ android.graphics.Rect rect)
+
+Transforms the returned document outline from the core to a List of PointF which are directly drawable on the
+ screen.
+
+
+
+
+
+
+
+Methods inherited from class java.lang.Object
+equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+ScanViewUtil
+public ScanViewUtil()
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+transformOutlineToPointListRelativeToRect
+public static java.util.List<android.graphics.PointF> transformOutlineToPointListRelativeToRect(java.util.List<Point > outlineCorners,
+ float resizeWidth,
+ int contourBorder,
+ android.graphics.Rect rect)
+Transforms the returned document outline from the core to a List of PointF which are directly drawable on the
+ screen.
+ This performs transformations to return directly drawable Points.
+ The list contains the points in the following order:
+
+ upLeft
+ upRight
+ downRight
+ downLeft
+
+
+Parameters:
+outlineCorners
- The list of opencv Points to be transformed
+resizeWidth
- The resize width
+contourBorder
- The contour border
+rect
- the rect
+Returns:
+The list containing the points
+
+
+
+
+
+
+
+
+transformOutlineToPointListRelativeToFullFrame
+public static java.util.List<android.graphics.PointF> transformOutlineToPointListRelativeToFullFrame(AnylineImage fullFrame,
+ java.util.List<android.graphics.PointF> outlineCorners,
+ float offsetX,
+ float offsetY,
+ AnylineImage fullImage,
+ float resizeWidth,
+ int contourBorder)
+Transforms the provided document corners from the core to a List of PointF which are relative to the fullFrame
+ image.
+
+ In case of no outlines provided, the returned corners represent the edges of the image.
+
+ The list contains the points in the following order:
+
+ upLeft
+ upRight
+ downRight
+ downLeft
+
+
+Parameters:
+fullFrame
- The full frame image to transform the points to
+outlineCorners
- The list of opencv Points to be transformed
+offsetX
- A potential offset from the left
+offsetY
- A potential offset from top
+fullImage
- The full image
+resizeWidth
- The resize width
+contourBorder
- The contour border.
+Returns:
+The list containing the points
+
+
+
+
+
+
+
+
+getFrameRectFromViewRect
+public static android.graphics.Rect getFrameRectFromViewRect(android.graphics.Rect viewRect,
+ int frameWidth,
+ int frameHeight,
+ float scale)
+Get the rect relative to the camera frame from the rect that is relative to this view.
+
+Parameters:
+viewRect
- the rect relative to this view
+Returns:
+the rect relative to the camera frame
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/view/SerialScanViewComposite.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/view/SerialScanViewComposite.html
new file mode 100644
index 000000000..c6edac5cb
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/view/SerialScanViewComposite.html
@@ -0,0 +1,445 @@
+
+
+
+
+
+
SerialScanViewComposite (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+java.lang.Object
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Summary
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+
+add , addScanInfoListener , addScanResultListener , addScanRunSkippedListener , addUIConfigChangedListener , calcCutOutAndImageCropBounds , getAllScanViewPlugins , getImageProvider , remove , removeScanInfoListener , removeScanResultListener , removeScanRunSkippedListener , removeUIConfigChangedListener , setCancelOnResult , setCropRect , setImageProvider , stop
+
+
+
+
+
+
+Methods inherited from class java.lang.Object
+equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Constructor Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/view/UIChangeListener.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/view/UIChangeListener.html
new file mode 100644
index 000000000..b4437830a
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/view/UIChangeListener.html
@@ -0,0 +1,297 @@
+
+
+
+
+
+
UIChangeListener (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Summary
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Method Detail
+
+
+
+
+
+
+
+
+
+
+
+
+
+delayScanTime
+void delayScanTime()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+Summary:
+Nested |
+Field |
+Constr |
+Method
+
+
+Detail:
+Field |
+Constr |
+Method
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/view/package-summary.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/view/package-summary.html
new file mode 100644
index 000000000..411e4eaca
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/view/package-summary.html
@@ -0,0 +1,358 @@
+
+
+
+
+
+
io.anyline.view (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/view/package-tree.html b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/view/package-tree.html
new file mode 100644
index 000000000..2e2ff7eae
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/io/anyline/view/package-tree.html
@@ -0,0 +1,245 @@
+
+
+
+
+
+
io.anyline.view Class Hierarchy (AnylineSdk API)
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Enum Hierarchy
+
+java.lang.Object
+
+java.lang.Enum<E> (implements java.lang.Comparable<T>, java.io.Serializable)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+
+
+
+
+
+
+
+
+
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/jquery/external/jquery/jquery.js b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/jquery/external/jquery/jquery.js
new file mode 100644
index 000000000..50937333b
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/jquery/external/jquery/jquery.js
@@ -0,0 +1,10872 @@
+/*!
+ * jQuery JavaScript Library v3.5.1
+ * https://jquery.com/
+ *
+ * Includes Sizzle.js
+ * https://sizzlejs.com/
+ *
+ * Copyright JS Foundation and other contributors
+ * Released under the MIT license
+ * https://jquery.org/license
+ *
+ * Date: 2020-05-04T22:49Z
+ */
+( function( global, factory ) {
+
+ "use strict";
+
+ if ( typeof module === "object" && typeof module.exports === "object" ) {
+
+ // For CommonJS and CommonJS-like environments where a proper `window`
+ // is present, execute the factory and get jQuery.
+ // For environments that do not have a `window` with a `document`
+ // (such as Node.js), expose a factory as module.exports.
+ // This accentuates the need for the creation of a real `window`.
+ // e.g. var jQuery = require("jquery")(window);
+ // See ticket #14549 for more info.
+ module.exports = global.document ?
+ factory( global, true ) :
+ function( w ) {
+ if ( !w.document ) {
+ throw new Error( "jQuery requires a window with a document" );
+ }
+ return factory( w );
+ };
+ } else {
+ factory( global );
+ }
+
+// Pass this if window is not defined yet
+} )( typeof window !== "undefined" ? window : this, function( window, noGlobal ) {
+
+// Edge <= 12 - 13+, Firefox <=18 - 45+, IE 10 - 11, Safari 5.1 - 9+, iOS 6 - 9.1
+// throw exceptions when non-strict code (e.g., ASP.NET 4.5) accesses strict mode
+// arguments.callee.caller (trac-13335). But as of jQuery 3.0 (2016), strict mode should be common
+// enough that all such attempts are guarded in a try block.
+"use strict";
+
+var arr = [];
+
+var getProto = Object.getPrototypeOf;
+
+var slice = arr.slice;
+
+var flat = arr.flat ? function( array ) {
+ return arr.flat.call( array );
+} : function( array ) {
+ return arr.concat.apply( [], array );
+};
+
+
+var push = arr.push;
+
+var indexOf = arr.indexOf;
+
+var class2type = {};
+
+var toString = class2type.toString;
+
+var hasOwn = class2type.hasOwnProperty;
+
+var fnToString = hasOwn.toString;
+
+var ObjectFunctionString = fnToString.call( Object );
+
+var support = {};
+
+var isFunction = function isFunction( obj ) {
+
+ // Support: Chrome <=57, Firefox <=52
+ // In some browsers, typeof returns "function" for HTML
elements
+ // (i.e., `typeof document.createElement( "object" ) === "function"`).
+ // We don't want to classify *any* DOM node as a function.
+ return typeof obj === "function" && typeof obj.nodeType !== "number";
+ };
+
+
+var isWindow = function isWindow( obj ) {
+ return obj != null && obj === obj.window;
+ };
+
+
+var document = window.document;
+
+
+
+ var preservedScriptAttributes = {
+ type: true,
+ src: true,
+ nonce: true,
+ noModule: true
+ };
+
+ function DOMEval( code, node, doc ) {
+ doc = doc || document;
+
+ var i, val,
+ script = doc.createElement( "script" );
+
+ script.text = code;
+ if ( node ) {
+ for ( i in preservedScriptAttributes ) {
+
+ // Support: Firefox 64+, Edge 18+
+ // Some browsers don't support the "nonce" property on scripts.
+ // On the other hand, just using `getAttribute` is not enough as
+ // the `nonce` attribute is reset to an empty string whenever it
+ // becomes browsing-context connected.
+ // See https://github.com/whatwg/html/issues/2369
+ // See https://html.spec.whatwg.org/#nonce-attributes
+ // The `node.getAttribute` check was added for the sake of
+ // `jQuery.globalEval` so that it can fake a nonce-containing node
+ // via an object.
+ val = node[ i ] || node.getAttribute && node.getAttribute( i );
+ if ( val ) {
+ script.setAttribute( i, val );
+ }
+ }
+ }
+ doc.head.appendChild( script ).parentNode.removeChild( script );
+ }
+
+
+function toType( obj ) {
+ if ( obj == null ) {
+ return obj + "";
+ }
+
+ // Support: Android <=2.3 only (functionish RegExp)
+ return typeof obj === "object" || typeof obj === "function" ?
+ class2type[ toString.call( obj ) ] || "object" :
+ typeof obj;
+}
+/* global Symbol */
+// Defining this global in .eslintrc.json would create a danger of using the global
+// unguarded in another place, it seems safer to define global only for this module
+
+
+
+var
+ version = "3.5.1",
+
+ // Define a local copy of jQuery
+ jQuery = function( selector, context ) {
+
+ // The jQuery object is actually just the init constructor 'enhanced'
+ // Need init if jQuery is called (just allow error to be thrown if not included)
+ return new jQuery.fn.init( selector, context );
+ };
+
+jQuery.fn = jQuery.prototype = {
+
+ // The current version of jQuery being used
+ jquery: version,
+
+ constructor: jQuery,
+
+ // The default length of a jQuery object is 0
+ length: 0,
+
+ toArray: function() {
+ return slice.call( this );
+ },
+
+ // Get the Nth element in the matched element set OR
+ // Get the whole matched element set as a clean array
+ get: function( num ) {
+
+ // Return all the elements in a clean array
+ if ( num == null ) {
+ return slice.call( this );
+ }
+
+ // Return just the one element from the set
+ return num < 0 ? this[ num + this.length ] : this[ num ];
+ },
+
+ // Take an array of elements and push it onto the stack
+ // (returning the new matched element set)
+ pushStack: function( elems ) {
+
+ // Build a new jQuery matched element set
+ var ret = jQuery.merge( this.constructor(), elems );
+
+ // Add the old object onto the stack (as a reference)
+ ret.prevObject = this;
+
+ // Return the newly-formed element set
+ return ret;
+ },
+
+ // Execute a callback for every element in the matched set.
+ each: function( callback ) {
+ return jQuery.each( this, callback );
+ },
+
+ map: function( callback ) {
+ return this.pushStack( jQuery.map( this, function( elem, i ) {
+ return callback.call( elem, i, elem );
+ } ) );
+ },
+
+ slice: function() {
+ return this.pushStack( slice.apply( this, arguments ) );
+ },
+
+ first: function() {
+ return this.eq( 0 );
+ },
+
+ last: function() {
+ return this.eq( -1 );
+ },
+
+ even: function() {
+ return this.pushStack( jQuery.grep( this, function( _elem, i ) {
+ return ( i + 1 ) % 2;
+ } ) );
+ },
+
+ odd: function() {
+ return this.pushStack( jQuery.grep( this, function( _elem, i ) {
+ return i % 2;
+ } ) );
+ },
+
+ eq: function( i ) {
+ var len = this.length,
+ j = +i + ( i < 0 ? len : 0 );
+ return this.pushStack( j >= 0 && j < len ? [ this[ j ] ] : [] );
+ },
+
+ end: function() {
+ return this.prevObject || this.constructor();
+ },
+
+ // For internal use only.
+ // Behaves like an Array's method, not like a jQuery method.
+ push: push,
+ sort: arr.sort,
+ splice: arr.splice
+};
+
+jQuery.extend = jQuery.fn.extend = function() {
+ var options, name, src, copy, copyIsArray, clone,
+ target = arguments[ 0 ] || {},
+ i = 1,
+ length = arguments.length,
+ deep = false;
+
+ // Handle a deep copy situation
+ if ( typeof target === "boolean" ) {
+ deep = target;
+
+ // Skip the boolean and the target
+ target = arguments[ i ] || {};
+ i++;
+ }
+
+ // Handle case when target is a string or something (possible in deep copy)
+ if ( typeof target !== "object" && !isFunction( target ) ) {
+ target = {};
+ }
+
+ // Extend jQuery itself if only one argument is passed
+ if ( i === length ) {
+ target = this;
+ i--;
+ }
+
+ for ( ; i < length; i++ ) {
+
+ // Only deal with non-null/undefined values
+ if ( ( options = arguments[ i ] ) != null ) {
+
+ // Extend the base object
+ for ( name in options ) {
+ copy = options[ name ];
+
+ // Prevent Object.prototype pollution
+ // Prevent never-ending loop
+ if ( name === "__proto__" || target === copy ) {
+ continue;
+ }
+
+ // Recurse if we're merging plain objects or arrays
+ if ( deep && copy && ( jQuery.isPlainObject( copy ) ||
+ ( copyIsArray = Array.isArray( copy ) ) ) ) {
+ src = target[ name ];
+
+ // Ensure proper type for the source value
+ if ( copyIsArray && !Array.isArray( src ) ) {
+ clone = [];
+ } else if ( !copyIsArray && !jQuery.isPlainObject( src ) ) {
+ clone = {};
+ } else {
+ clone = src;
+ }
+ copyIsArray = false;
+
+ // Never move original objects, clone them
+ target[ name ] = jQuery.extend( deep, clone, copy );
+
+ // Don't bring in undefined values
+ } else if ( copy !== undefined ) {
+ target[ name ] = copy;
+ }
+ }
+ }
+ }
+
+ // Return the modified object
+ return target;
+};
+
+jQuery.extend( {
+
+ // Unique for each copy of jQuery on the page
+ expando: "jQuery" + ( version + Math.random() ).replace( /\D/g, "" ),
+
+ // Assume jQuery is ready without the ready module
+ isReady: true,
+
+ error: function( msg ) {
+ throw new Error( msg );
+ },
+
+ noop: function() {},
+
+ isPlainObject: function( obj ) {
+ var proto, Ctor;
+
+ // Detect obvious negatives
+ // Use toString instead of jQuery.type to catch host objects
+ if ( !obj || toString.call( obj ) !== "[object Object]" ) {
+ return false;
+ }
+
+ proto = getProto( obj );
+
+ // Objects with no prototype (e.g., `Object.create( null )`) are plain
+ if ( !proto ) {
+ return true;
+ }
+
+ // Objects with prototype are plain iff they were constructed by a global Object function
+ Ctor = hasOwn.call( proto, "constructor" ) && proto.constructor;
+ return typeof Ctor === "function" && fnToString.call( Ctor ) === ObjectFunctionString;
+ },
+
+ isEmptyObject: function( obj ) {
+ var name;
+
+ for ( name in obj ) {
+ return false;
+ }
+ return true;
+ },
+
+ // Evaluates a script in a provided context; falls back to the global one
+ // if not specified.
+ globalEval: function( code, options, doc ) {
+ DOMEval( code, { nonce: options && options.nonce }, doc );
+ },
+
+ each: function( obj, callback ) {
+ var length, i = 0;
+
+ if ( isArrayLike( obj ) ) {
+ length = obj.length;
+ for ( ; i < length; i++ ) {
+ if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) {
+ break;
+ }
+ }
+ } else {
+ for ( i in obj ) {
+ if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) {
+ break;
+ }
+ }
+ }
+
+ return obj;
+ },
+
+ // results is for internal usage only
+ makeArray: function( arr, results ) {
+ var ret = results || [];
+
+ if ( arr != null ) {
+ if ( isArrayLike( Object( arr ) ) ) {
+ jQuery.merge( ret,
+ typeof arr === "string" ?
+ [ arr ] : arr
+ );
+ } else {
+ push.call( ret, arr );
+ }
+ }
+
+ return ret;
+ },
+
+ inArray: function( elem, arr, i ) {
+ return arr == null ? -1 : indexOf.call( arr, elem, i );
+ },
+
+ // Support: Android <=4.0 only, PhantomJS 1 only
+ // push.apply(_, arraylike) throws on ancient WebKit
+ merge: function( first, second ) {
+ var len = +second.length,
+ j = 0,
+ i = first.length;
+
+ for ( ; j < len; j++ ) {
+ first[ i++ ] = second[ j ];
+ }
+
+ first.length = i;
+
+ return first;
+ },
+
+ grep: function( elems, callback, invert ) {
+ var callbackInverse,
+ matches = [],
+ i = 0,
+ length = elems.length,
+ callbackExpect = !invert;
+
+ // Go through the array, only saving the items
+ // that pass the validator function
+ for ( ; i < length; i++ ) {
+ callbackInverse = !callback( elems[ i ], i );
+ if ( callbackInverse !== callbackExpect ) {
+ matches.push( elems[ i ] );
+ }
+ }
+
+ return matches;
+ },
+
+ // arg is for internal usage only
+ map: function( elems, callback, arg ) {
+ var length, value,
+ i = 0,
+ ret = [];
+
+ // Go through the array, translating each of the items to their new values
+ if ( isArrayLike( elems ) ) {
+ length = elems.length;
+ for ( ; i < length; i++ ) {
+ value = callback( elems[ i ], i, arg );
+
+ if ( value != null ) {
+ ret.push( value );
+ }
+ }
+
+ // Go through every key on the object,
+ } else {
+ for ( i in elems ) {
+ value = callback( elems[ i ], i, arg );
+
+ if ( value != null ) {
+ ret.push( value );
+ }
+ }
+ }
+
+ // Flatten any nested arrays
+ return flat( ret );
+ },
+
+ // A global GUID counter for objects
+ guid: 1,
+
+ // jQuery.support is not used in Core but other projects attach their
+ // properties to it so it needs to exist.
+ support: support
+} );
+
+if ( typeof Symbol === "function" ) {
+ jQuery.fn[ Symbol.iterator ] = arr[ Symbol.iterator ];
+}
+
+// Populate the class2type map
+jQuery.each( "Boolean Number String Function Array Date RegExp Object Error Symbol".split( " " ),
+function( _i, name ) {
+ class2type[ "[object " + name + "]" ] = name.toLowerCase();
+} );
+
+function isArrayLike( obj ) {
+
+ // Support: real iOS 8.2 only (not reproducible in simulator)
+ // `in` check used to prevent JIT error (gh-2145)
+ // hasOwn isn't used here due to false negatives
+ // regarding Nodelist length in IE
+ var length = !!obj && "length" in obj && obj.length,
+ type = toType( obj );
+
+ if ( isFunction( obj ) || isWindow( obj ) ) {
+ return false;
+ }
+
+ return type === "array" || length === 0 ||
+ typeof length === "number" && length > 0 && ( length - 1 ) in obj;
+}
+var Sizzle =
+/*!
+ * Sizzle CSS Selector Engine v2.3.5
+ * https://sizzlejs.com/
+ *
+ * Copyright JS Foundation and other contributors
+ * Released under the MIT license
+ * https://js.foundation/
+ *
+ * Date: 2020-03-14
+ */
+( function( window ) {
+var i,
+ support,
+ Expr,
+ getText,
+ isXML,
+ tokenize,
+ compile,
+ select,
+ outermostContext,
+ sortInput,
+ hasDuplicate,
+
+ // Local document vars
+ setDocument,
+ document,
+ docElem,
+ documentIsHTML,
+ rbuggyQSA,
+ rbuggyMatches,
+ matches,
+ contains,
+
+ // Instance-specific data
+ expando = "sizzle" + 1 * new Date(),
+ preferredDoc = window.document,
+ dirruns = 0,
+ done = 0,
+ classCache = createCache(),
+ tokenCache = createCache(),
+ compilerCache = createCache(),
+ nonnativeSelectorCache = createCache(),
+ sortOrder = function( a, b ) {
+ if ( a === b ) {
+ hasDuplicate = true;
+ }
+ return 0;
+ },
+
+ // Instance methods
+ hasOwn = ( {} ).hasOwnProperty,
+ arr = [],
+ pop = arr.pop,
+ pushNative = arr.push,
+ push = arr.push,
+ slice = arr.slice,
+
+ // Use a stripped-down indexOf as it's faster than native
+ // https://jsperf.com/thor-indexof-vs-for/5
+ indexOf = function( list, elem ) {
+ var i = 0,
+ len = list.length;
+ for ( ; i < len; i++ ) {
+ if ( list[ i ] === elem ) {
+ return i;
+ }
+ }
+ return -1;
+ },
+
+ booleans = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|" +
+ "ismap|loop|multiple|open|readonly|required|scoped",
+
+ // Regular expressions
+
+ // http://www.w3.org/TR/css3-selectors/#whitespace
+ whitespace = "[\\x20\\t\\r\\n\\f]",
+
+ // https://www.w3.org/TR/css-syntax-3/#ident-token-diagram
+ identifier = "(?:\\\\[\\da-fA-F]{1,6}" + whitespace +
+ "?|\\\\[^\\r\\n\\f]|[\\w-]|[^\0-\\x7f])+",
+
+ // Attribute selectors: http://www.w3.org/TR/selectors/#attribute-selectors
+ attributes = "\\[" + whitespace + "*(" + identifier + ")(?:" + whitespace +
+
+ // Operator (capture 2)
+ "*([*^$|!~]?=)" + whitespace +
+
+ // "Attribute values must be CSS identifiers [capture 5]
+ // or strings [capture 3 or capture 4]"
+ "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + identifier + "))|)" +
+ whitespace + "*\\]",
+
+ pseudos = ":(" + identifier + ")(?:\\((" +
+
+ // To reduce the number of selectors needing tokenize in the preFilter, prefer arguments:
+ // 1. quoted (capture 3; capture 4 or capture 5)
+ "('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|" +
+
+ // 2. simple (capture 6)
+ "((?:\\\\.|[^\\\\()[\\]]|" + attributes + ")*)|" +
+
+ // 3. anything else (capture 2)
+ ".*" +
+ ")\\)|)",
+
+ // Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter
+ rwhitespace = new RegExp( whitespace + "+", "g" ),
+ rtrim = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" +
+ whitespace + "+$", "g" ),
+
+ rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ),
+ rcombinators = new RegExp( "^" + whitespace + "*([>+~]|" + whitespace + ")" + whitespace +
+ "*" ),
+ rdescend = new RegExp( whitespace + "|>" ),
+
+ rpseudo = new RegExp( pseudos ),
+ ridentifier = new RegExp( "^" + identifier + "$" ),
+
+ matchExpr = {
+ "ID": new RegExp( "^#(" + identifier + ")" ),
+ "CLASS": new RegExp( "^\\.(" + identifier + ")" ),
+ "TAG": new RegExp( "^(" + identifier + "|[*])" ),
+ "ATTR": new RegExp( "^" + attributes ),
+ "PSEUDO": new RegExp( "^" + pseudos ),
+ "CHILD": new RegExp( "^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" +
+ whitespace + "*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" +
+ whitespace + "*(\\d+)|))" + whitespace + "*\\)|)", "i" ),
+ "bool": new RegExp( "^(?:" + booleans + ")$", "i" ),
+
+ // For use in libraries implementing .is()
+ // We use this for POS matching in `select`
+ "needsContext": new RegExp( "^" + whitespace +
+ "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + whitespace +
+ "*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i" )
+ },
+
+ rhtml = /HTML$/i,
+ rinputs = /^(?:input|select|textarea|button)$/i,
+ rheader = /^h\d$/i,
+
+ rnative = /^[^{]+\{\s*\[native \w/,
+
+ // Easily-parseable/retrievable ID or TAG or CLASS selectors
+ rquickExpr = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,
+
+ rsibling = /[+~]/,
+
+ // CSS escapes
+ // http://www.w3.org/TR/CSS21/syndata.html#escaped-characters
+ runescape = new RegExp( "\\\\[\\da-fA-F]{1,6}" + whitespace + "?|\\\\([^\\r\\n\\f])", "g" ),
+ funescape = function( escape, nonHex ) {
+ var high = "0x" + escape.slice( 1 ) - 0x10000;
+
+ return nonHex ?
+
+ // Strip the backslash prefix from a non-hex escape sequence
+ nonHex :
+
+ // Replace a hexadecimal escape sequence with the encoded Unicode code point
+ // Support: IE <=11+
+ // For values outside the Basic Multilingual Plane (BMP), manually construct a
+ // surrogate pair
+ high < 0 ?
+ String.fromCharCode( high + 0x10000 ) :
+ String.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 );
+ },
+
+ // CSS string/identifier serialization
+ // https://drafts.csswg.org/cssom/#common-serializing-idioms
+ rcssescape = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,
+ fcssescape = function( ch, asCodePoint ) {
+ if ( asCodePoint ) {
+
+ // U+0000 NULL becomes U+FFFD REPLACEMENT CHARACTER
+ if ( ch === "\0" ) {
+ return "\uFFFD";
+ }
+
+ // Control characters and (dependent upon position) numbers get escaped as code points
+ return ch.slice( 0, -1 ) + "\\" +
+ ch.charCodeAt( ch.length - 1 ).toString( 16 ) + " ";
+ }
+
+ // Other potentially-special ASCII characters get backslash-escaped
+ return "\\" + ch;
+ },
+
+ // Used for iframes
+ // See setDocument()
+ // Removing the function wrapper causes a "Permission Denied"
+ // error in IE
+ unloadHandler = function() {
+ setDocument();
+ },
+
+ inDisabledFieldset = addCombinator(
+ function( elem ) {
+ return elem.disabled === true && elem.nodeName.toLowerCase() === "fieldset";
+ },
+ { dir: "parentNode", next: "legend" }
+ );
+
+// Optimize for push.apply( _, NodeList )
+try {
+ push.apply(
+ ( arr = slice.call( preferredDoc.childNodes ) ),
+ preferredDoc.childNodes
+ );
+
+ // Support: Android<4.0
+ // Detect silently failing push.apply
+ // eslint-disable-next-line no-unused-expressions
+ arr[ preferredDoc.childNodes.length ].nodeType;
+} catch ( e ) {
+ push = { apply: arr.length ?
+
+ // Leverage slice if possible
+ function( target, els ) {
+ pushNative.apply( target, slice.call( els ) );
+ } :
+
+ // Support: IE<9
+ // Otherwise append directly
+ function( target, els ) {
+ var j = target.length,
+ i = 0;
+
+ // Can't trust NodeList.length
+ while ( ( target[ j++ ] = els[ i++ ] ) ) {}
+ target.length = j - 1;
+ }
+ };
+}
+
+function Sizzle( selector, context, results, seed ) {
+ var m, i, elem, nid, match, groups, newSelector,
+ newContext = context && context.ownerDocument,
+
+ // nodeType defaults to 9, since context defaults to document
+ nodeType = context ? context.nodeType : 9;
+
+ results = results || [];
+
+ // Return early from calls with invalid selector or context
+ if ( typeof selector !== "string" || !selector ||
+ nodeType !== 1 && nodeType !== 9 && nodeType !== 11 ) {
+
+ return results;
+ }
+
+ // Try to shortcut find operations (as opposed to filters) in HTML documents
+ if ( !seed ) {
+ setDocument( context );
+ context = context || document;
+
+ if ( documentIsHTML ) {
+
+ // If the selector is sufficiently simple, try using a "get*By*" DOM method
+ // (excepting DocumentFragment context, where the methods don't exist)
+ if ( nodeType !== 11 && ( match = rquickExpr.exec( selector ) ) ) {
+
+ // ID selector
+ if ( ( m = match[ 1 ] ) ) {
+
+ // Document context
+ if ( nodeType === 9 ) {
+ if ( ( elem = context.getElementById( m ) ) ) {
+
+ // Support: IE, Opera, Webkit
+ // TODO: identify versions
+ // getElementById can match elements by name instead of ID
+ if ( elem.id === m ) {
+ results.push( elem );
+ return results;
+ }
+ } else {
+ return results;
+ }
+
+ // Element context
+ } else {
+
+ // Support: IE, Opera, Webkit
+ // TODO: identify versions
+ // getElementById can match elements by name instead of ID
+ if ( newContext && ( elem = newContext.getElementById( m ) ) &&
+ contains( context, elem ) &&
+ elem.id === m ) {
+
+ results.push( elem );
+ return results;
+ }
+ }
+
+ // Type selector
+ } else if ( match[ 2 ] ) {
+ push.apply( results, context.getElementsByTagName( selector ) );
+ return results;
+
+ // Class selector
+ } else if ( ( m = match[ 3 ] ) && support.getElementsByClassName &&
+ context.getElementsByClassName ) {
+
+ push.apply( results, context.getElementsByClassName( m ) );
+ return results;
+ }
+ }
+
+ // Take advantage of querySelectorAll
+ if ( support.qsa &&
+ !nonnativeSelectorCache[ selector + " " ] &&
+ ( !rbuggyQSA || !rbuggyQSA.test( selector ) ) &&
+
+ // Support: IE 8 only
+ // Exclude object elements
+ ( nodeType !== 1 || context.nodeName.toLowerCase() !== "object" ) ) {
+
+ newSelector = selector;
+ newContext = context;
+
+ // qSA considers elements outside a scoping root when evaluating child or
+ // descendant combinators, which is not what we want.
+ // In such cases, we work around the behavior by prefixing every selector in the
+ // list with an ID selector referencing the scope context.
+ // The technique has to be used as well when a leading combinator is used
+ // as such selectors are not recognized by querySelectorAll.
+ // Thanks to Andrew Dupont for this technique.
+ if ( nodeType === 1 &&
+ ( rdescend.test( selector ) || rcombinators.test( selector ) ) ) {
+
+ // Expand context for sibling selectors
+ newContext = rsibling.test( selector ) && testContext( context.parentNode ) ||
+ context;
+
+ // We can use :scope instead of the ID hack if the browser
+ // supports it & if we're not changing the context.
+ if ( newContext !== context || !support.scope ) {
+
+ // Capture the context ID, setting it first if necessary
+ if ( ( nid = context.getAttribute( "id" ) ) ) {
+ nid = nid.replace( rcssescape, fcssescape );
+ } else {
+ context.setAttribute( "id", ( nid = expando ) );
+ }
+ }
+
+ // Prefix every selector in the list
+ groups = tokenize( selector );
+ i = groups.length;
+ while ( i-- ) {
+ groups[ i ] = ( nid ? "#" + nid : ":scope" ) + " " +
+ toSelector( groups[ i ] );
+ }
+ newSelector = groups.join( "," );
+ }
+
+ try {
+ push.apply( results,
+ newContext.querySelectorAll( newSelector )
+ );
+ return results;
+ } catch ( qsaError ) {
+ nonnativeSelectorCache( selector, true );
+ } finally {
+ if ( nid === expando ) {
+ context.removeAttribute( "id" );
+ }
+ }
+ }
+ }
+ }
+
+ // All others
+ return select( selector.replace( rtrim, "$1" ), context, results, seed );
+}
+
+/**
+ * Create key-value caches of limited size
+ * @returns {function(string, object)} Returns the Object data after storing it on itself with
+ * property name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength)
+ * deleting the oldest entry
+ */
+function createCache() {
+ var keys = [];
+
+ function cache( key, value ) {
+
+ // Use (key + " ") to avoid collision with native prototype properties (see Issue #157)
+ if ( keys.push( key + " " ) > Expr.cacheLength ) {
+
+ // Only keep the most recent entries
+ delete cache[ keys.shift() ];
+ }
+ return ( cache[ key + " " ] = value );
+ }
+ return cache;
+}
+
+/**
+ * Mark a function for special use by Sizzle
+ * @param {Function} fn The function to mark
+ */
+function markFunction( fn ) {
+ fn[ expando ] = true;
+ return fn;
+}
+
+/**
+ * Support testing using an element
+ * @param {Function} fn Passed the created element and returns a boolean result
+ */
+function assert( fn ) {
+ var el = document.createElement( "fieldset" );
+
+ try {
+ return !!fn( el );
+ } catch ( e ) {
+ return false;
+ } finally {
+
+ // Remove from its parent by default
+ if ( el.parentNode ) {
+ el.parentNode.removeChild( el );
+ }
+
+ // release memory in IE
+ el = null;
+ }
+}
+
+/**
+ * Adds the same handler for all of the specified attrs
+ * @param {String} attrs Pipe-separated list of attributes
+ * @param {Function} handler The method that will be applied
+ */
+function addHandle( attrs, handler ) {
+ var arr = attrs.split( "|" ),
+ i = arr.length;
+
+ while ( i-- ) {
+ Expr.attrHandle[ arr[ i ] ] = handler;
+ }
+}
+
+/**
+ * Checks document order of two siblings
+ * @param {Element} a
+ * @param {Element} b
+ * @returns {Number} Returns less than 0 if a precedes b, greater than 0 if a follows b
+ */
+function siblingCheck( a, b ) {
+ var cur = b && a,
+ diff = cur && a.nodeType === 1 && b.nodeType === 1 &&
+ a.sourceIndex - b.sourceIndex;
+
+ // Use IE sourceIndex if available on both nodes
+ if ( diff ) {
+ return diff;
+ }
+
+ // Check if b follows a
+ if ( cur ) {
+ while ( ( cur = cur.nextSibling ) ) {
+ if ( cur === b ) {
+ return -1;
+ }
+ }
+ }
+
+ return a ? 1 : -1;
+}
+
+/**
+ * Returns a function to use in pseudos for input types
+ * @param {String} type
+ */
+function createInputPseudo( type ) {
+ return function( elem ) {
+ var name = elem.nodeName.toLowerCase();
+ return name === "input" && elem.type === type;
+ };
+}
+
+/**
+ * Returns a function to use in pseudos for buttons
+ * @param {String} type
+ */
+function createButtonPseudo( type ) {
+ return function( elem ) {
+ var name = elem.nodeName.toLowerCase();
+ return ( name === "input" || name === "button" ) && elem.type === type;
+ };
+}
+
+/**
+ * Returns a function to use in pseudos for :enabled/:disabled
+ * @param {Boolean} disabled true for :disabled; false for :enabled
+ */
+function createDisabledPseudo( disabled ) {
+
+ // Known :disabled false positives: fieldset[disabled] > legend:nth-of-type(n+2) :can-disable
+ return function( elem ) {
+
+ // Only certain elements can match :enabled or :disabled
+ // https://html.spec.whatwg.org/multipage/scripting.html#selector-enabled
+ // https://html.spec.whatwg.org/multipage/scripting.html#selector-disabled
+ if ( "form" in elem ) {
+
+ // Check for inherited disabledness on relevant non-disabled elements:
+ // * listed form-associated elements in a disabled fieldset
+ // https://html.spec.whatwg.org/multipage/forms.html#category-listed
+ // https://html.spec.whatwg.org/multipage/forms.html#concept-fe-disabled
+ // * option elements in a disabled optgroup
+ // https://html.spec.whatwg.org/multipage/forms.html#concept-option-disabled
+ // All such elements have a "form" property.
+ if ( elem.parentNode && elem.disabled === false ) {
+
+ // Option elements defer to a parent optgroup if present
+ if ( "label" in elem ) {
+ if ( "label" in elem.parentNode ) {
+ return elem.parentNode.disabled === disabled;
+ } else {
+ return elem.disabled === disabled;
+ }
+ }
+
+ // Support: IE 6 - 11
+ // Use the isDisabled shortcut property to check for disabled fieldset ancestors
+ return elem.isDisabled === disabled ||
+
+ // Where there is no isDisabled, check manually
+ /* jshint -W018 */
+ elem.isDisabled !== !disabled &&
+ inDisabledFieldset( elem ) === disabled;
+ }
+
+ return elem.disabled === disabled;
+
+ // Try to winnow out elements that can't be disabled before trusting the disabled property.
+ // Some victims get caught in our net (label, legend, menu, track), but it shouldn't
+ // even exist on them, let alone have a boolean value.
+ } else if ( "label" in elem ) {
+ return elem.disabled === disabled;
+ }
+
+ // Remaining elements are neither :enabled nor :disabled
+ return false;
+ };
+}
+
+/**
+ * Returns a function to use in pseudos for positionals
+ * @param {Function} fn
+ */
+function createPositionalPseudo( fn ) {
+ return markFunction( function( argument ) {
+ argument = +argument;
+ return markFunction( function( seed, matches ) {
+ var j,
+ matchIndexes = fn( [], seed.length, argument ),
+ i = matchIndexes.length;
+
+ // Match elements found at the specified indexes
+ while ( i-- ) {
+ if ( seed[ ( j = matchIndexes[ i ] ) ] ) {
+ seed[ j ] = !( matches[ j ] = seed[ j ] );
+ }
+ }
+ } );
+ } );
+}
+
+/**
+ * Checks a node for validity as a Sizzle context
+ * @param {Element|Object=} context
+ * @returns {Element|Object|Boolean} The input node if acceptable, otherwise a falsy value
+ */
+function testContext( context ) {
+ return context && typeof context.getElementsByTagName !== "undefined" && context;
+}
+
+// Expose support vars for convenience
+support = Sizzle.support = {};
+
+/**
+ * Detects XML nodes
+ * @param {Element|Object} elem An element or a document
+ * @returns {Boolean} True iff elem is a non-HTML XML node
+ */
+isXML = Sizzle.isXML = function( elem ) {
+ var namespace = elem.namespaceURI,
+ docElem = ( elem.ownerDocument || elem ).documentElement;
+
+ // Support: IE <=8
+ // Assume HTML when documentElement doesn't yet exist, such as inside loading iframes
+ // https://bugs.jquery.com/ticket/4833
+ return !rhtml.test( namespace || docElem && docElem.nodeName || "HTML" );
+};
+
+/**
+ * Sets document-related variables once based on the current document
+ * @param {Element|Object} [doc] An element or document object to use to set the document
+ * @returns {Object} Returns the current document
+ */
+setDocument = Sizzle.setDocument = function( node ) {
+ var hasCompare, subWindow,
+ doc = node ? node.ownerDocument || node : preferredDoc;
+
+ // Return early if doc is invalid or already selected
+ // Support: IE 11+, Edge 17 - 18+
+ // IE/Edge sometimes throw a "Permission denied" error when strict-comparing
+ // two documents; shallow comparisons work.
+ // eslint-disable-next-line eqeqeq
+ if ( doc == document || doc.nodeType !== 9 || !doc.documentElement ) {
+ return document;
+ }
+
+ // Update global variables
+ document = doc;
+ docElem = document.documentElement;
+ documentIsHTML = !isXML( document );
+
+ // Support: IE 9 - 11+, Edge 12 - 18+
+ // Accessing iframe documents after unload throws "permission denied" errors (jQuery #13936)
+ // Support: IE 11+, Edge 17 - 18+
+ // IE/Edge sometimes throw a "Permission denied" error when strict-comparing
+ // two documents; shallow comparisons work.
+ // eslint-disable-next-line eqeqeq
+ if ( preferredDoc != document &&
+ ( subWindow = document.defaultView ) && subWindow.top !== subWindow ) {
+
+ // Support: IE 11, Edge
+ if ( subWindow.addEventListener ) {
+ subWindow.addEventListener( "unload", unloadHandler, false );
+
+ // Support: IE 9 - 10 only
+ } else if ( subWindow.attachEvent ) {
+ subWindow.attachEvent( "onunload", unloadHandler );
+ }
+ }
+
+ // Support: IE 8 - 11+, Edge 12 - 18+, Chrome <=16 - 25 only, Firefox <=3.6 - 31 only,
+ // Safari 4 - 5 only, Opera <=11.6 - 12.x only
+ // IE/Edge & older browsers don't support the :scope pseudo-class.
+ // Support: Safari 6.0 only
+ // Safari 6.0 supports :scope but it's an alias of :root there.
+ support.scope = assert( function( el ) {
+ docElem.appendChild( el ).appendChild( document.createElement( "div" ) );
+ return typeof el.querySelectorAll !== "undefined" &&
+ !el.querySelectorAll( ":scope fieldset div" ).length;
+ } );
+
+ /* Attributes
+ ---------------------------------------------------------------------- */
+
+ // Support: IE<8
+ // Verify that getAttribute really returns attributes and not properties
+ // (excepting IE8 booleans)
+ support.attributes = assert( function( el ) {
+ el.className = "i";
+ return !el.getAttribute( "className" );
+ } );
+
+ /* getElement(s)By*
+ ---------------------------------------------------------------------- */
+
+ // Check if getElementsByTagName("*") returns only elements
+ support.getElementsByTagName = assert( function( el ) {
+ el.appendChild( document.createComment( "" ) );
+ return !el.getElementsByTagName( "*" ).length;
+ } );
+
+ // Support: IE<9
+ support.getElementsByClassName = rnative.test( document.getElementsByClassName );
+
+ // Support: IE<10
+ // Check if getElementById returns elements by name
+ // The broken getElementById methods don't pick up programmatically-set names,
+ // so use a roundabout getElementsByName test
+ support.getById = assert( function( el ) {
+ docElem.appendChild( el ).id = expando;
+ return !document.getElementsByName || !document.getElementsByName( expando ).length;
+ } );
+
+ // ID filter and find
+ if ( support.getById ) {
+ Expr.filter[ "ID" ] = function( id ) {
+ var attrId = id.replace( runescape, funescape );
+ return function( elem ) {
+ return elem.getAttribute( "id" ) === attrId;
+ };
+ };
+ Expr.find[ "ID" ] = function( id, context ) {
+ if ( typeof context.getElementById !== "undefined" && documentIsHTML ) {
+ var elem = context.getElementById( id );
+ return elem ? [ elem ] : [];
+ }
+ };
+ } else {
+ Expr.filter[ "ID" ] = function( id ) {
+ var attrId = id.replace( runescape, funescape );
+ return function( elem ) {
+ var node = typeof elem.getAttributeNode !== "undefined" &&
+ elem.getAttributeNode( "id" );
+ return node && node.value === attrId;
+ };
+ };
+
+ // Support: IE 6 - 7 only
+ // getElementById is not reliable as a find shortcut
+ Expr.find[ "ID" ] = function( id, context ) {
+ if ( typeof context.getElementById !== "undefined" && documentIsHTML ) {
+ var node, i, elems,
+ elem = context.getElementById( id );
+
+ if ( elem ) {
+
+ // Verify the id attribute
+ node = elem.getAttributeNode( "id" );
+ if ( node && node.value === id ) {
+ return [ elem ];
+ }
+
+ // Fall back on getElementsByName
+ elems = context.getElementsByName( id );
+ i = 0;
+ while ( ( elem = elems[ i++ ] ) ) {
+ node = elem.getAttributeNode( "id" );
+ if ( node && node.value === id ) {
+ return [ elem ];
+ }
+ }
+ }
+
+ return [];
+ }
+ };
+ }
+
+ // Tag
+ Expr.find[ "TAG" ] = support.getElementsByTagName ?
+ function( tag, context ) {
+ if ( typeof context.getElementsByTagName !== "undefined" ) {
+ return context.getElementsByTagName( tag );
+
+ // DocumentFragment nodes don't have gEBTN
+ } else if ( support.qsa ) {
+ return context.querySelectorAll( tag );
+ }
+ } :
+
+ function( tag, context ) {
+ var elem,
+ tmp = [],
+ i = 0,
+
+ // By happy coincidence, a (broken) gEBTN appears on DocumentFragment nodes too
+ results = context.getElementsByTagName( tag );
+
+ // Filter out possible comments
+ if ( tag === "*" ) {
+ while ( ( elem = results[ i++ ] ) ) {
+ if ( elem.nodeType === 1 ) {
+ tmp.push( elem );
+ }
+ }
+
+ return tmp;
+ }
+ return results;
+ };
+
+ // Class
+ Expr.find[ "CLASS" ] = support.getElementsByClassName && function( className, context ) {
+ if ( typeof context.getElementsByClassName !== "undefined" && documentIsHTML ) {
+ return context.getElementsByClassName( className );
+ }
+ };
+
+ /* QSA/matchesSelector
+ ---------------------------------------------------------------------- */
+
+ // QSA and matchesSelector support
+
+ // matchesSelector(:active) reports false when true (IE9/Opera 11.5)
+ rbuggyMatches = [];
+
+ // qSa(:focus) reports false when true (Chrome 21)
+ // We allow this because of a bug in IE8/9 that throws an error
+ // whenever `document.activeElement` is accessed on an iframe
+ // So, we allow :focus to pass through QSA all the time to avoid the IE error
+ // See https://bugs.jquery.com/ticket/13378
+ rbuggyQSA = [];
+
+ if ( ( support.qsa = rnative.test( document.querySelectorAll ) ) ) {
+
+ // Build QSA regex
+ // Regex strategy adopted from Diego Perini
+ assert( function( el ) {
+
+ var input;
+
+ // Select is set to empty string on purpose
+ // This is to test IE's treatment of not explicitly
+ // setting a boolean content attribute,
+ // since its presence should be enough
+ // https://bugs.jquery.com/ticket/12359
+ docElem.appendChild( el ).innerHTML = " " +
+ "" +
+ " ";
+
+ // Support: IE8, Opera 11-12.16
+ // Nothing should be selected when empty strings follow ^= or $= or *=
+ // The test attribute must be unknown in Opera but "safe" for WinRT
+ // https://msdn.microsoft.com/en-us/library/ie/hh465388.aspx#attribute_section
+ if ( el.querySelectorAll( "[msallowcapture^='']" ).length ) {
+ rbuggyQSA.push( "[*^$]=" + whitespace + "*(?:''|\"\")" );
+ }
+
+ // Support: IE8
+ // Boolean attributes and "value" are not treated correctly
+ if ( !el.querySelectorAll( "[selected]" ).length ) {
+ rbuggyQSA.push( "\\[" + whitespace + "*(?:value|" + booleans + ")" );
+ }
+
+ // Support: Chrome<29, Android<4.4, Safari<7.0+, iOS<7.0+, PhantomJS<1.9.8+
+ if ( !el.querySelectorAll( "[id~=" + expando + "-]" ).length ) {
+ rbuggyQSA.push( "~=" );
+ }
+
+ // Support: IE 11+, Edge 15 - 18+
+ // IE 11/Edge don't find elements on a `[name='']` query in some cases.
+ // Adding a temporary attribute to the document before the selection works
+ // around the issue.
+ // Interestingly, IE 10 & older don't seem to have the issue.
+ input = document.createElement( "input" );
+ input.setAttribute( "name", "" );
+ el.appendChild( input );
+ if ( !el.querySelectorAll( "[name='']" ).length ) {
+ rbuggyQSA.push( "\\[" + whitespace + "*name" + whitespace + "*=" +
+ whitespace + "*(?:''|\"\")" );
+ }
+
+ // Webkit/Opera - :checked should return selected option elements
+ // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked
+ // IE8 throws error here and will not see later tests
+ if ( !el.querySelectorAll( ":checked" ).length ) {
+ rbuggyQSA.push( ":checked" );
+ }
+
+ // Support: Safari 8+, iOS 8+
+ // https://bugs.webkit.org/show_bug.cgi?id=136851
+ // In-page `selector#id sibling-combinator selector` fails
+ if ( !el.querySelectorAll( "a#" + expando + "+*" ).length ) {
+ rbuggyQSA.push( ".#.+[+~]" );
+ }
+
+ // Support: Firefox <=3.6 - 5 only
+ // Old Firefox doesn't throw on a badly-escaped identifier.
+ el.querySelectorAll( "\\\f" );
+ rbuggyQSA.push( "[\\r\\n\\f]" );
+ } );
+
+ assert( function( el ) {
+ el.innerHTML = " " +
+ " ";
+
+ // Support: Windows 8 Native Apps
+ // The type and name attributes are restricted during .innerHTML assignment
+ var input = document.createElement( "input" );
+ input.setAttribute( "type", "hidden" );
+ el.appendChild( input ).setAttribute( "name", "D" );
+
+ // Support: IE8
+ // Enforce case-sensitivity of name attribute
+ if ( el.querySelectorAll( "[name=d]" ).length ) {
+ rbuggyQSA.push( "name" + whitespace + "*[*^$|!~]?=" );
+ }
+
+ // FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled)
+ // IE8 throws error here and will not see later tests
+ if ( el.querySelectorAll( ":enabled" ).length !== 2 ) {
+ rbuggyQSA.push( ":enabled", ":disabled" );
+ }
+
+ // Support: IE9-11+
+ // IE's :disabled selector does not pick up the children of disabled fieldsets
+ docElem.appendChild( el ).disabled = true;
+ if ( el.querySelectorAll( ":disabled" ).length !== 2 ) {
+ rbuggyQSA.push( ":enabled", ":disabled" );
+ }
+
+ // Support: Opera 10 - 11 only
+ // Opera 10-11 does not throw on post-comma invalid pseudos
+ el.querySelectorAll( "*,:x" );
+ rbuggyQSA.push( ",.*:" );
+ } );
+ }
+
+ if ( ( support.matchesSelector = rnative.test( ( matches = docElem.matches ||
+ docElem.webkitMatchesSelector ||
+ docElem.mozMatchesSelector ||
+ docElem.oMatchesSelector ||
+ docElem.msMatchesSelector ) ) ) ) {
+
+ assert( function( el ) {
+
+ // Check to see if it's possible to do matchesSelector
+ // on a disconnected node (IE 9)
+ support.disconnectedMatch = matches.call( el, "*" );
+
+ // This should fail with an exception
+ // Gecko does not error, returns false instead
+ matches.call( el, "[s!='']:x" );
+ rbuggyMatches.push( "!=", pseudos );
+ } );
+ }
+
+ rbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join( "|" ) );
+ rbuggyMatches = rbuggyMatches.length && new RegExp( rbuggyMatches.join( "|" ) );
+
+ /* Contains
+ ---------------------------------------------------------------------- */
+ hasCompare = rnative.test( docElem.compareDocumentPosition );
+
+ // Element contains another
+ // Purposefully self-exclusive
+ // As in, an element does not contain itself
+ contains = hasCompare || rnative.test( docElem.contains ) ?
+ function( a, b ) {
+ var adown = a.nodeType === 9 ? a.documentElement : a,
+ bup = b && b.parentNode;
+ return a === bup || !!( bup && bup.nodeType === 1 && (
+ adown.contains ?
+ adown.contains( bup ) :
+ a.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16
+ ) );
+ } :
+ function( a, b ) {
+ if ( b ) {
+ while ( ( b = b.parentNode ) ) {
+ if ( b === a ) {
+ return true;
+ }
+ }
+ }
+ return false;
+ };
+
+ /* Sorting
+ ---------------------------------------------------------------------- */
+
+ // Document order sorting
+ sortOrder = hasCompare ?
+ function( a, b ) {
+
+ // Flag for duplicate removal
+ if ( a === b ) {
+ hasDuplicate = true;
+ return 0;
+ }
+
+ // Sort on method existence if only one input has compareDocumentPosition
+ var compare = !a.compareDocumentPosition - !b.compareDocumentPosition;
+ if ( compare ) {
+ return compare;
+ }
+
+ // Calculate position if both inputs belong to the same document
+ // Support: IE 11+, Edge 17 - 18+
+ // IE/Edge sometimes throw a "Permission denied" error when strict-comparing
+ // two documents; shallow comparisons work.
+ // eslint-disable-next-line eqeqeq
+ compare = ( a.ownerDocument || a ) == ( b.ownerDocument || b ) ?
+ a.compareDocumentPosition( b ) :
+
+ // Otherwise we know they are disconnected
+ 1;
+
+ // Disconnected nodes
+ if ( compare & 1 ||
+ ( !support.sortDetached && b.compareDocumentPosition( a ) === compare ) ) {
+
+ // Choose the first element that is related to our preferred document
+ // Support: IE 11+, Edge 17 - 18+
+ // IE/Edge sometimes throw a "Permission denied" error when strict-comparing
+ // two documents; shallow comparisons work.
+ // eslint-disable-next-line eqeqeq
+ if ( a == document || a.ownerDocument == preferredDoc &&
+ contains( preferredDoc, a ) ) {
+ return -1;
+ }
+
+ // Support: IE 11+, Edge 17 - 18+
+ // IE/Edge sometimes throw a "Permission denied" error when strict-comparing
+ // two documents; shallow comparisons work.
+ // eslint-disable-next-line eqeqeq
+ if ( b == document || b.ownerDocument == preferredDoc &&
+ contains( preferredDoc, b ) ) {
+ return 1;
+ }
+
+ // Maintain original order
+ return sortInput ?
+ ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) :
+ 0;
+ }
+
+ return compare & 4 ? -1 : 1;
+ } :
+ function( a, b ) {
+
+ // Exit early if the nodes are identical
+ if ( a === b ) {
+ hasDuplicate = true;
+ return 0;
+ }
+
+ var cur,
+ i = 0,
+ aup = a.parentNode,
+ bup = b.parentNode,
+ ap = [ a ],
+ bp = [ b ];
+
+ // Parentless nodes are either documents or disconnected
+ if ( !aup || !bup ) {
+
+ // Support: IE 11+, Edge 17 - 18+
+ // IE/Edge sometimes throw a "Permission denied" error when strict-comparing
+ // two documents; shallow comparisons work.
+ /* eslint-disable eqeqeq */
+ return a == document ? -1 :
+ b == document ? 1 :
+ /* eslint-enable eqeqeq */
+ aup ? -1 :
+ bup ? 1 :
+ sortInput ?
+ ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) :
+ 0;
+
+ // If the nodes are siblings, we can do a quick check
+ } else if ( aup === bup ) {
+ return siblingCheck( a, b );
+ }
+
+ // Otherwise we need full lists of their ancestors for comparison
+ cur = a;
+ while ( ( cur = cur.parentNode ) ) {
+ ap.unshift( cur );
+ }
+ cur = b;
+ while ( ( cur = cur.parentNode ) ) {
+ bp.unshift( cur );
+ }
+
+ // Walk down the tree looking for a discrepancy
+ while ( ap[ i ] === bp[ i ] ) {
+ i++;
+ }
+
+ return i ?
+
+ // Do a sibling check if the nodes have a common ancestor
+ siblingCheck( ap[ i ], bp[ i ] ) :
+
+ // Otherwise nodes in our document sort first
+ // Support: IE 11+, Edge 17 - 18+
+ // IE/Edge sometimes throw a "Permission denied" error when strict-comparing
+ // two documents; shallow comparisons work.
+ /* eslint-disable eqeqeq */
+ ap[ i ] == preferredDoc ? -1 :
+ bp[ i ] == preferredDoc ? 1 :
+ /* eslint-enable eqeqeq */
+ 0;
+ };
+
+ return document;
+};
+
+Sizzle.matches = function( expr, elements ) {
+ return Sizzle( expr, null, null, elements );
+};
+
+Sizzle.matchesSelector = function( elem, expr ) {
+ setDocument( elem );
+
+ if ( support.matchesSelector && documentIsHTML &&
+ !nonnativeSelectorCache[ expr + " " ] &&
+ ( !rbuggyMatches || !rbuggyMatches.test( expr ) ) &&
+ ( !rbuggyQSA || !rbuggyQSA.test( expr ) ) ) {
+
+ try {
+ var ret = matches.call( elem, expr );
+
+ // IE 9's matchesSelector returns false on disconnected nodes
+ if ( ret || support.disconnectedMatch ||
+
+ // As well, disconnected nodes are said to be in a document
+ // fragment in IE 9
+ elem.document && elem.document.nodeType !== 11 ) {
+ return ret;
+ }
+ } catch ( e ) {
+ nonnativeSelectorCache( expr, true );
+ }
+ }
+
+ return Sizzle( expr, document, null, [ elem ] ).length > 0;
+};
+
+Sizzle.contains = function( context, elem ) {
+
+ // Set document vars if needed
+ // Support: IE 11+, Edge 17 - 18+
+ // IE/Edge sometimes throw a "Permission denied" error when strict-comparing
+ // two documents; shallow comparisons work.
+ // eslint-disable-next-line eqeqeq
+ if ( ( context.ownerDocument || context ) != document ) {
+ setDocument( context );
+ }
+ return contains( context, elem );
+};
+
+Sizzle.attr = function( elem, name ) {
+
+ // Set document vars if needed
+ // Support: IE 11+, Edge 17 - 18+
+ // IE/Edge sometimes throw a "Permission denied" error when strict-comparing
+ // two documents; shallow comparisons work.
+ // eslint-disable-next-line eqeqeq
+ if ( ( elem.ownerDocument || elem ) != document ) {
+ setDocument( elem );
+ }
+
+ var fn = Expr.attrHandle[ name.toLowerCase() ],
+
+ // Don't get fooled by Object.prototype properties (jQuery #13807)
+ val = fn && hasOwn.call( Expr.attrHandle, name.toLowerCase() ) ?
+ fn( elem, name, !documentIsHTML ) :
+ undefined;
+
+ return val !== undefined ?
+ val :
+ support.attributes || !documentIsHTML ?
+ elem.getAttribute( name ) :
+ ( val = elem.getAttributeNode( name ) ) && val.specified ?
+ val.value :
+ null;
+};
+
+Sizzle.escape = function( sel ) {
+ return ( sel + "" ).replace( rcssescape, fcssescape );
+};
+
+Sizzle.error = function( msg ) {
+ throw new Error( "Syntax error, unrecognized expression: " + msg );
+};
+
+/**
+ * Document sorting and removing duplicates
+ * @param {ArrayLike} results
+ */
+Sizzle.uniqueSort = function( results ) {
+ var elem,
+ duplicates = [],
+ j = 0,
+ i = 0;
+
+ // Unless we *know* we can detect duplicates, assume their presence
+ hasDuplicate = !support.detectDuplicates;
+ sortInput = !support.sortStable && results.slice( 0 );
+ results.sort( sortOrder );
+
+ if ( hasDuplicate ) {
+ while ( ( elem = results[ i++ ] ) ) {
+ if ( elem === results[ i ] ) {
+ j = duplicates.push( i );
+ }
+ }
+ while ( j-- ) {
+ results.splice( duplicates[ j ], 1 );
+ }
+ }
+
+ // Clear input after sorting to release objects
+ // See https://github.com/jquery/sizzle/pull/225
+ sortInput = null;
+
+ return results;
+};
+
+/**
+ * Utility function for retrieving the text value of an array of DOM nodes
+ * @param {Array|Element} elem
+ */
+getText = Sizzle.getText = function( elem ) {
+ var node,
+ ret = "",
+ i = 0,
+ nodeType = elem.nodeType;
+
+ if ( !nodeType ) {
+
+ // If no nodeType, this is expected to be an array
+ while ( ( node = elem[ i++ ] ) ) {
+
+ // Do not traverse comment nodes
+ ret += getText( node );
+ }
+ } else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) {
+
+ // Use textContent for elements
+ // innerText usage removed for consistency of new lines (jQuery #11153)
+ if ( typeof elem.textContent === "string" ) {
+ return elem.textContent;
+ } else {
+
+ // Traverse its children
+ for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) {
+ ret += getText( elem );
+ }
+ }
+ } else if ( nodeType === 3 || nodeType === 4 ) {
+ return elem.nodeValue;
+ }
+
+ // Do not include comment or processing instruction nodes
+
+ return ret;
+};
+
+Expr = Sizzle.selectors = {
+
+ // Can be adjusted by the user
+ cacheLength: 50,
+
+ createPseudo: markFunction,
+
+ match: matchExpr,
+
+ attrHandle: {},
+
+ find: {},
+
+ relative: {
+ ">": { dir: "parentNode", first: true },
+ " ": { dir: "parentNode" },
+ "+": { dir: "previousSibling", first: true },
+ "~": { dir: "previousSibling" }
+ },
+
+ preFilter: {
+ "ATTR": function( match ) {
+ match[ 1 ] = match[ 1 ].replace( runescape, funescape );
+
+ // Move the given value to match[3] whether quoted or unquoted
+ match[ 3 ] = ( match[ 3 ] || match[ 4 ] ||
+ match[ 5 ] || "" ).replace( runescape, funescape );
+
+ if ( match[ 2 ] === "~=" ) {
+ match[ 3 ] = " " + match[ 3 ] + " ";
+ }
+
+ return match.slice( 0, 4 );
+ },
+
+ "CHILD": function( match ) {
+
+ /* matches from matchExpr["CHILD"]
+ 1 type (only|nth|...)
+ 2 what (child|of-type)
+ 3 argument (even|odd|\d*|\d*n([+-]\d+)?|...)
+ 4 xn-component of xn+y argument ([+-]?\d*n|)
+ 5 sign of xn-component
+ 6 x of xn-component
+ 7 sign of y-component
+ 8 y of y-component
+ */
+ match[ 1 ] = match[ 1 ].toLowerCase();
+
+ if ( match[ 1 ].slice( 0, 3 ) === "nth" ) {
+
+ // nth-* requires argument
+ if ( !match[ 3 ] ) {
+ Sizzle.error( match[ 0 ] );
+ }
+
+ // numeric x and y parameters for Expr.filter.CHILD
+ // remember that false/true cast respectively to 0/1
+ match[ 4 ] = +( match[ 4 ] ?
+ match[ 5 ] + ( match[ 6 ] || 1 ) :
+ 2 * ( match[ 3 ] === "even" || match[ 3 ] === "odd" ) );
+ match[ 5 ] = +( ( match[ 7 ] + match[ 8 ] ) || match[ 3 ] === "odd" );
+
+ // other types prohibit arguments
+ } else if ( match[ 3 ] ) {
+ Sizzle.error( match[ 0 ] );
+ }
+
+ return match;
+ },
+
+ "PSEUDO": function( match ) {
+ var excess,
+ unquoted = !match[ 6 ] && match[ 2 ];
+
+ if ( matchExpr[ "CHILD" ].test( match[ 0 ] ) ) {
+ return null;
+ }
+
+ // Accept quoted arguments as-is
+ if ( match[ 3 ] ) {
+ match[ 2 ] = match[ 4 ] || match[ 5 ] || "";
+
+ // Strip excess characters from unquoted arguments
+ } else if ( unquoted && rpseudo.test( unquoted ) &&
+
+ // Get excess from tokenize (recursively)
+ ( excess = tokenize( unquoted, true ) ) &&
+
+ // advance to the next closing parenthesis
+ ( excess = unquoted.indexOf( ")", unquoted.length - excess ) - unquoted.length ) ) {
+
+ // excess is a negative index
+ match[ 0 ] = match[ 0 ].slice( 0, excess );
+ match[ 2 ] = unquoted.slice( 0, excess );
+ }
+
+ // Return only captures needed by the pseudo filter method (type and argument)
+ return match.slice( 0, 3 );
+ }
+ },
+
+ filter: {
+
+ "TAG": function( nodeNameSelector ) {
+ var nodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase();
+ return nodeNameSelector === "*" ?
+ function() {
+ return true;
+ } :
+ function( elem ) {
+ return elem.nodeName && elem.nodeName.toLowerCase() === nodeName;
+ };
+ },
+
+ "CLASS": function( className ) {
+ var pattern = classCache[ className + " " ];
+
+ return pattern ||
+ ( pattern = new RegExp( "(^|" + whitespace +
+ ")" + className + "(" + whitespace + "|$)" ) ) && classCache(
+ className, function( elem ) {
+ return pattern.test(
+ typeof elem.className === "string" && elem.className ||
+ typeof elem.getAttribute !== "undefined" &&
+ elem.getAttribute( "class" ) ||
+ ""
+ );
+ } );
+ },
+
+ "ATTR": function( name, operator, check ) {
+ return function( elem ) {
+ var result = Sizzle.attr( elem, name );
+
+ if ( result == null ) {
+ return operator === "!=";
+ }
+ if ( !operator ) {
+ return true;
+ }
+
+ result += "";
+
+ /* eslint-disable max-len */
+
+ return operator === "=" ? result === check :
+ operator === "!=" ? result !== check :
+ operator === "^=" ? check && result.indexOf( check ) === 0 :
+ operator === "*=" ? check && result.indexOf( check ) > -1 :
+ operator === "$=" ? check && result.slice( -check.length ) === check :
+ operator === "~=" ? ( " " + result.replace( rwhitespace, " " ) + " " ).indexOf( check ) > -1 :
+ operator === "|=" ? result === check || result.slice( 0, check.length + 1 ) === check + "-" :
+ false;
+ /* eslint-enable max-len */
+
+ };
+ },
+
+ "CHILD": function( type, what, _argument, first, last ) {
+ var simple = type.slice( 0, 3 ) !== "nth",
+ forward = type.slice( -4 ) !== "last",
+ ofType = what === "of-type";
+
+ return first === 1 && last === 0 ?
+
+ // Shortcut for :nth-*(n)
+ function( elem ) {
+ return !!elem.parentNode;
+ } :
+
+ function( elem, _context, xml ) {
+ var cache, uniqueCache, outerCache, node, nodeIndex, start,
+ dir = simple !== forward ? "nextSibling" : "previousSibling",
+ parent = elem.parentNode,
+ name = ofType && elem.nodeName.toLowerCase(),
+ useCache = !xml && !ofType,
+ diff = false;
+
+ if ( parent ) {
+
+ // :(first|last|only)-(child|of-type)
+ if ( simple ) {
+ while ( dir ) {
+ node = elem;
+ while ( ( node = node[ dir ] ) ) {
+ if ( ofType ?
+ node.nodeName.toLowerCase() === name :
+ node.nodeType === 1 ) {
+
+ return false;
+ }
+ }
+
+ // Reverse direction for :only-* (if we haven't yet done so)
+ start = dir = type === "only" && !start && "nextSibling";
+ }
+ return true;
+ }
+
+ start = [ forward ? parent.firstChild : parent.lastChild ];
+
+ // non-xml :nth-child(...) stores cache data on `parent`
+ if ( forward && useCache ) {
+
+ // Seek `elem` from a previously-cached index
+
+ // ...in a gzip-friendly way
+ node = parent;
+ outerCache = node[ expando ] || ( node[ expando ] = {} );
+
+ // Support: IE <9 only
+ // Defend against cloned attroperties (jQuery gh-1709)
+ uniqueCache = outerCache[ node.uniqueID ] ||
+ ( outerCache[ node.uniqueID ] = {} );
+
+ cache = uniqueCache[ type ] || [];
+ nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ];
+ diff = nodeIndex && cache[ 2 ];
+ node = nodeIndex && parent.childNodes[ nodeIndex ];
+
+ while ( ( node = ++nodeIndex && node && node[ dir ] ||
+
+ // Fallback to seeking `elem` from the start
+ ( diff = nodeIndex = 0 ) || start.pop() ) ) {
+
+ // When found, cache indexes on `parent` and break
+ if ( node.nodeType === 1 && ++diff && node === elem ) {
+ uniqueCache[ type ] = [ dirruns, nodeIndex, diff ];
+ break;
+ }
+ }
+
+ } else {
+
+ // Use previously-cached element index if available
+ if ( useCache ) {
+
+ // ...in a gzip-friendly way
+ node = elem;
+ outerCache = node[ expando ] || ( node[ expando ] = {} );
+
+ // Support: IE <9 only
+ // Defend against cloned attroperties (jQuery gh-1709)
+ uniqueCache = outerCache[ node.uniqueID ] ||
+ ( outerCache[ node.uniqueID ] = {} );
+
+ cache = uniqueCache[ type ] || [];
+ nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ];
+ diff = nodeIndex;
+ }
+
+ // xml :nth-child(...)
+ // or :nth-last-child(...) or :nth(-last)?-of-type(...)
+ if ( diff === false ) {
+
+ // Use the same loop as above to seek `elem` from the start
+ while ( ( node = ++nodeIndex && node && node[ dir ] ||
+ ( diff = nodeIndex = 0 ) || start.pop() ) ) {
+
+ if ( ( ofType ?
+ node.nodeName.toLowerCase() === name :
+ node.nodeType === 1 ) &&
+ ++diff ) {
+
+ // Cache the index of each encountered element
+ if ( useCache ) {
+ outerCache = node[ expando ] ||
+ ( node[ expando ] = {} );
+
+ // Support: IE <9 only
+ // Defend against cloned attroperties (jQuery gh-1709)
+ uniqueCache = outerCache[ node.uniqueID ] ||
+ ( outerCache[ node.uniqueID ] = {} );
+
+ uniqueCache[ type ] = [ dirruns, diff ];
+ }
+
+ if ( node === elem ) {
+ break;
+ }
+ }
+ }
+ }
+ }
+
+ // Incorporate the offset, then check against cycle size
+ diff -= last;
+ return diff === first || ( diff % first === 0 && diff / first >= 0 );
+ }
+ };
+ },
+
+ "PSEUDO": function( pseudo, argument ) {
+
+ // pseudo-class names are case-insensitive
+ // http://www.w3.org/TR/selectors/#pseudo-classes
+ // Prioritize by case sensitivity in case custom pseudos are added with uppercase letters
+ // Remember that setFilters inherits from pseudos
+ var args,
+ fn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] ||
+ Sizzle.error( "unsupported pseudo: " + pseudo );
+
+ // The user may use createPseudo to indicate that
+ // arguments are needed to create the filter function
+ // just as Sizzle does
+ if ( fn[ expando ] ) {
+ return fn( argument );
+ }
+
+ // But maintain support for old signatures
+ if ( fn.length > 1 ) {
+ args = [ pseudo, pseudo, "", argument ];
+ return Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ?
+ markFunction( function( seed, matches ) {
+ var idx,
+ matched = fn( seed, argument ),
+ i = matched.length;
+ while ( i-- ) {
+ idx = indexOf( seed, matched[ i ] );
+ seed[ idx ] = !( matches[ idx ] = matched[ i ] );
+ }
+ } ) :
+ function( elem ) {
+ return fn( elem, 0, args );
+ };
+ }
+
+ return fn;
+ }
+ },
+
+ pseudos: {
+
+ // Potentially complex pseudos
+ "not": markFunction( function( selector ) {
+
+ // Trim the selector passed to compile
+ // to avoid treating leading and trailing
+ // spaces as combinators
+ var input = [],
+ results = [],
+ matcher = compile( selector.replace( rtrim, "$1" ) );
+
+ return matcher[ expando ] ?
+ markFunction( function( seed, matches, _context, xml ) {
+ var elem,
+ unmatched = matcher( seed, null, xml, [] ),
+ i = seed.length;
+
+ // Match elements unmatched by `matcher`
+ while ( i-- ) {
+ if ( ( elem = unmatched[ i ] ) ) {
+ seed[ i ] = !( matches[ i ] = elem );
+ }
+ }
+ } ) :
+ function( elem, _context, xml ) {
+ input[ 0 ] = elem;
+ matcher( input, null, xml, results );
+
+ // Don't keep the element (issue #299)
+ input[ 0 ] = null;
+ return !results.pop();
+ };
+ } ),
+
+ "has": markFunction( function( selector ) {
+ return function( elem ) {
+ return Sizzle( selector, elem ).length > 0;
+ };
+ } ),
+
+ "contains": markFunction( function( text ) {
+ text = text.replace( runescape, funescape );
+ return function( elem ) {
+ return ( elem.textContent || getText( elem ) ).indexOf( text ) > -1;
+ };
+ } ),
+
+ // "Whether an element is represented by a :lang() selector
+ // is based solely on the element's language value
+ // being equal to the identifier C,
+ // or beginning with the identifier C immediately followed by "-".
+ // The matching of C against the element's language value is performed case-insensitively.
+ // The identifier C does not have to be a valid language name."
+ // http://www.w3.org/TR/selectors/#lang-pseudo
+ "lang": markFunction( function( lang ) {
+
+ // lang value must be a valid identifier
+ if ( !ridentifier.test( lang || "" ) ) {
+ Sizzle.error( "unsupported lang: " + lang );
+ }
+ lang = lang.replace( runescape, funescape ).toLowerCase();
+ return function( elem ) {
+ var elemLang;
+ do {
+ if ( ( elemLang = documentIsHTML ?
+ elem.lang :
+ elem.getAttribute( "xml:lang" ) || elem.getAttribute( "lang" ) ) ) {
+
+ elemLang = elemLang.toLowerCase();
+ return elemLang === lang || elemLang.indexOf( lang + "-" ) === 0;
+ }
+ } while ( ( elem = elem.parentNode ) && elem.nodeType === 1 );
+ return false;
+ };
+ } ),
+
+ // Miscellaneous
+ "target": function( elem ) {
+ var hash = window.location && window.location.hash;
+ return hash && hash.slice( 1 ) === elem.id;
+ },
+
+ "root": function( elem ) {
+ return elem === docElem;
+ },
+
+ "focus": function( elem ) {
+ return elem === document.activeElement &&
+ ( !document.hasFocus || document.hasFocus() ) &&
+ !!( elem.type || elem.href || ~elem.tabIndex );
+ },
+
+ // Boolean properties
+ "enabled": createDisabledPseudo( false ),
+ "disabled": createDisabledPseudo( true ),
+
+ "checked": function( elem ) {
+
+ // In CSS3, :checked should return both checked and selected elements
+ // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked
+ var nodeName = elem.nodeName.toLowerCase();
+ return ( nodeName === "input" && !!elem.checked ) ||
+ ( nodeName === "option" && !!elem.selected );
+ },
+
+ "selected": function( elem ) {
+
+ // Accessing this property makes selected-by-default
+ // options in Safari work properly
+ if ( elem.parentNode ) {
+ // eslint-disable-next-line no-unused-expressions
+ elem.parentNode.selectedIndex;
+ }
+
+ return elem.selected === true;
+ },
+
+ // Contents
+ "empty": function( elem ) {
+
+ // http://www.w3.org/TR/selectors/#empty-pseudo
+ // :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5),
+ // but not by others (comment: 8; processing instruction: 7; etc.)
+ // nodeType < 6 works because attributes (2) do not appear as children
+ for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) {
+ if ( elem.nodeType < 6 ) {
+ return false;
+ }
+ }
+ return true;
+ },
+
+ "parent": function( elem ) {
+ return !Expr.pseudos[ "empty" ]( elem );
+ },
+
+ // Element/input types
+ "header": function( elem ) {
+ return rheader.test( elem.nodeName );
+ },
+
+ "input": function( elem ) {
+ return rinputs.test( elem.nodeName );
+ },
+
+ "button": function( elem ) {
+ var name = elem.nodeName.toLowerCase();
+ return name === "input" && elem.type === "button" || name === "button";
+ },
+
+ "text": function( elem ) {
+ var attr;
+ return elem.nodeName.toLowerCase() === "input" &&
+ elem.type === "text" &&
+
+ // Support: IE<8
+ // New HTML5 attribute values (e.g., "search") appear with elem.type === "text"
+ ( ( attr = elem.getAttribute( "type" ) ) == null ||
+ attr.toLowerCase() === "text" );
+ },
+
+ // Position-in-collection
+ "first": createPositionalPseudo( function() {
+ return [ 0 ];
+ } ),
+
+ "last": createPositionalPseudo( function( _matchIndexes, length ) {
+ return [ length - 1 ];
+ } ),
+
+ "eq": createPositionalPseudo( function( _matchIndexes, length, argument ) {
+ return [ argument < 0 ? argument + length : argument ];
+ } ),
+
+ "even": createPositionalPseudo( function( matchIndexes, length ) {
+ var i = 0;
+ for ( ; i < length; i += 2 ) {
+ matchIndexes.push( i );
+ }
+ return matchIndexes;
+ } ),
+
+ "odd": createPositionalPseudo( function( matchIndexes, length ) {
+ var i = 1;
+ for ( ; i < length; i += 2 ) {
+ matchIndexes.push( i );
+ }
+ return matchIndexes;
+ } ),
+
+ "lt": createPositionalPseudo( function( matchIndexes, length, argument ) {
+ var i = argument < 0 ?
+ argument + length :
+ argument > length ?
+ length :
+ argument;
+ for ( ; --i >= 0; ) {
+ matchIndexes.push( i );
+ }
+ return matchIndexes;
+ } ),
+
+ "gt": createPositionalPseudo( function( matchIndexes, length, argument ) {
+ var i = argument < 0 ? argument + length : argument;
+ for ( ; ++i < length; ) {
+ matchIndexes.push( i );
+ }
+ return matchIndexes;
+ } )
+ }
+};
+
+Expr.pseudos[ "nth" ] = Expr.pseudos[ "eq" ];
+
+// Add button/input type pseudos
+for ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) {
+ Expr.pseudos[ i ] = createInputPseudo( i );
+}
+for ( i in { submit: true, reset: true } ) {
+ Expr.pseudos[ i ] = createButtonPseudo( i );
+}
+
+// Easy API for creating new setFilters
+function setFilters() {}
+setFilters.prototype = Expr.filters = Expr.pseudos;
+Expr.setFilters = new setFilters();
+
+tokenize = Sizzle.tokenize = function( selector, parseOnly ) {
+ var matched, match, tokens, type,
+ soFar, groups, preFilters,
+ cached = tokenCache[ selector + " " ];
+
+ if ( cached ) {
+ return parseOnly ? 0 : cached.slice( 0 );
+ }
+
+ soFar = selector;
+ groups = [];
+ preFilters = Expr.preFilter;
+
+ while ( soFar ) {
+
+ // Comma and first run
+ if ( !matched || ( match = rcomma.exec( soFar ) ) ) {
+ if ( match ) {
+
+ // Don't consume trailing commas as valid
+ soFar = soFar.slice( match[ 0 ].length ) || soFar;
+ }
+ groups.push( ( tokens = [] ) );
+ }
+
+ matched = false;
+
+ // Combinators
+ if ( ( match = rcombinators.exec( soFar ) ) ) {
+ matched = match.shift();
+ tokens.push( {
+ value: matched,
+
+ // Cast descendant combinators to space
+ type: match[ 0 ].replace( rtrim, " " )
+ } );
+ soFar = soFar.slice( matched.length );
+ }
+
+ // Filters
+ for ( type in Expr.filter ) {
+ if ( ( match = matchExpr[ type ].exec( soFar ) ) && ( !preFilters[ type ] ||
+ ( match = preFilters[ type ]( match ) ) ) ) {
+ matched = match.shift();
+ tokens.push( {
+ value: matched,
+ type: type,
+ matches: match
+ } );
+ soFar = soFar.slice( matched.length );
+ }
+ }
+
+ if ( !matched ) {
+ break;
+ }
+ }
+
+ // Return the length of the invalid excess
+ // if we're just parsing
+ // Otherwise, throw an error or return tokens
+ return parseOnly ?
+ soFar.length :
+ soFar ?
+ Sizzle.error( selector ) :
+
+ // Cache the tokens
+ tokenCache( selector, groups ).slice( 0 );
+};
+
+function toSelector( tokens ) {
+ var i = 0,
+ len = tokens.length,
+ selector = "";
+ for ( ; i < len; i++ ) {
+ selector += tokens[ i ].value;
+ }
+ return selector;
+}
+
+function addCombinator( matcher, combinator, base ) {
+ var dir = combinator.dir,
+ skip = combinator.next,
+ key = skip || dir,
+ checkNonElements = base && key === "parentNode",
+ doneName = done++;
+
+ return combinator.first ?
+
+ // Check against closest ancestor/preceding element
+ function( elem, context, xml ) {
+ while ( ( elem = elem[ dir ] ) ) {
+ if ( elem.nodeType === 1 || checkNonElements ) {
+ return matcher( elem, context, xml );
+ }
+ }
+ return false;
+ } :
+
+ // Check against all ancestor/preceding elements
+ function( elem, context, xml ) {
+ var oldCache, uniqueCache, outerCache,
+ newCache = [ dirruns, doneName ];
+
+ // We can't set arbitrary data on XML nodes, so they don't benefit from combinator caching
+ if ( xml ) {
+ while ( ( elem = elem[ dir ] ) ) {
+ if ( elem.nodeType === 1 || checkNonElements ) {
+ if ( matcher( elem, context, xml ) ) {
+ return true;
+ }
+ }
+ }
+ } else {
+ while ( ( elem = elem[ dir ] ) ) {
+ if ( elem.nodeType === 1 || checkNonElements ) {
+ outerCache = elem[ expando ] || ( elem[ expando ] = {} );
+
+ // Support: IE <9 only
+ // Defend against cloned attroperties (jQuery gh-1709)
+ uniqueCache = outerCache[ elem.uniqueID ] ||
+ ( outerCache[ elem.uniqueID ] = {} );
+
+ if ( skip && skip === elem.nodeName.toLowerCase() ) {
+ elem = elem[ dir ] || elem;
+ } else if ( ( oldCache = uniqueCache[ key ] ) &&
+ oldCache[ 0 ] === dirruns && oldCache[ 1 ] === doneName ) {
+
+ // Assign to newCache so results back-propagate to previous elements
+ return ( newCache[ 2 ] = oldCache[ 2 ] );
+ } else {
+
+ // Reuse newcache so results back-propagate to previous elements
+ uniqueCache[ key ] = newCache;
+
+ // A match means we're done; a fail means we have to keep checking
+ if ( ( newCache[ 2 ] = matcher( elem, context, xml ) ) ) {
+ return true;
+ }
+ }
+ }
+ }
+ }
+ return false;
+ };
+}
+
+function elementMatcher( matchers ) {
+ return matchers.length > 1 ?
+ function( elem, context, xml ) {
+ var i = matchers.length;
+ while ( i-- ) {
+ if ( !matchers[ i ]( elem, context, xml ) ) {
+ return false;
+ }
+ }
+ return true;
+ } :
+ matchers[ 0 ];
+}
+
+function multipleContexts( selector, contexts, results ) {
+ var i = 0,
+ len = contexts.length;
+ for ( ; i < len; i++ ) {
+ Sizzle( selector, contexts[ i ], results );
+ }
+ return results;
+}
+
+function condense( unmatched, map, filter, context, xml ) {
+ var elem,
+ newUnmatched = [],
+ i = 0,
+ len = unmatched.length,
+ mapped = map != null;
+
+ for ( ; i < len; i++ ) {
+ if ( ( elem = unmatched[ i ] ) ) {
+ if ( !filter || filter( elem, context, xml ) ) {
+ newUnmatched.push( elem );
+ if ( mapped ) {
+ map.push( i );
+ }
+ }
+ }
+ }
+
+ return newUnmatched;
+}
+
+function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) {
+ if ( postFilter && !postFilter[ expando ] ) {
+ postFilter = setMatcher( postFilter );
+ }
+ if ( postFinder && !postFinder[ expando ] ) {
+ postFinder = setMatcher( postFinder, postSelector );
+ }
+ return markFunction( function( seed, results, context, xml ) {
+ var temp, i, elem,
+ preMap = [],
+ postMap = [],
+ preexisting = results.length,
+
+ // Get initial elements from seed or context
+ elems = seed || multipleContexts(
+ selector || "*",
+ context.nodeType ? [ context ] : context,
+ []
+ ),
+
+ // Prefilter to get matcher input, preserving a map for seed-results synchronization
+ matcherIn = preFilter && ( seed || !selector ) ?
+ condense( elems, preMap, preFilter, context, xml ) :
+ elems,
+
+ matcherOut = matcher ?
+
+ // If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results,
+ postFinder || ( seed ? preFilter : preexisting || postFilter ) ?
+
+ // ...intermediate processing is necessary
+ [] :
+
+ // ...otherwise use results directly
+ results :
+ matcherIn;
+
+ // Find primary matches
+ if ( matcher ) {
+ matcher( matcherIn, matcherOut, context, xml );
+ }
+
+ // Apply postFilter
+ if ( postFilter ) {
+ temp = condense( matcherOut, postMap );
+ postFilter( temp, [], context, xml );
+
+ // Un-match failing elements by moving them back to matcherIn
+ i = temp.length;
+ while ( i-- ) {
+ if ( ( elem = temp[ i ] ) ) {
+ matcherOut[ postMap[ i ] ] = !( matcherIn[ postMap[ i ] ] = elem );
+ }
+ }
+ }
+
+ if ( seed ) {
+ if ( postFinder || preFilter ) {
+ if ( postFinder ) {
+
+ // Get the final matcherOut by condensing this intermediate into postFinder contexts
+ temp = [];
+ i = matcherOut.length;
+ while ( i-- ) {
+ if ( ( elem = matcherOut[ i ] ) ) {
+
+ // Restore matcherIn since elem is not yet a final match
+ temp.push( ( matcherIn[ i ] = elem ) );
+ }
+ }
+ postFinder( null, ( matcherOut = [] ), temp, xml );
+ }
+
+ // Move matched elements from seed to results to keep them synchronized
+ i = matcherOut.length;
+ while ( i-- ) {
+ if ( ( elem = matcherOut[ i ] ) &&
+ ( temp = postFinder ? indexOf( seed, elem ) : preMap[ i ] ) > -1 ) {
+
+ seed[ temp ] = !( results[ temp ] = elem );
+ }
+ }
+ }
+
+ // Add elements to results, through postFinder if defined
+ } else {
+ matcherOut = condense(
+ matcherOut === results ?
+ matcherOut.splice( preexisting, matcherOut.length ) :
+ matcherOut
+ );
+ if ( postFinder ) {
+ postFinder( null, results, matcherOut, xml );
+ } else {
+ push.apply( results, matcherOut );
+ }
+ }
+ } );
+}
+
+function matcherFromTokens( tokens ) {
+ var checkContext, matcher, j,
+ len = tokens.length,
+ leadingRelative = Expr.relative[ tokens[ 0 ].type ],
+ implicitRelative = leadingRelative || Expr.relative[ " " ],
+ i = leadingRelative ? 1 : 0,
+
+ // The foundational matcher ensures that elements are reachable from top-level context(s)
+ matchContext = addCombinator( function( elem ) {
+ return elem === checkContext;
+ }, implicitRelative, true ),
+ matchAnyContext = addCombinator( function( elem ) {
+ return indexOf( checkContext, elem ) > -1;
+ }, implicitRelative, true ),
+ matchers = [ function( elem, context, xml ) {
+ var ret = ( !leadingRelative && ( xml || context !== outermostContext ) ) || (
+ ( checkContext = context ).nodeType ?
+ matchContext( elem, context, xml ) :
+ matchAnyContext( elem, context, xml ) );
+
+ // Avoid hanging onto element (issue #299)
+ checkContext = null;
+ return ret;
+ } ];
+
+ for ( ; i < len; i++ ) {
+ if ( ( matcher = Expr.relative[ tokens[ i ].type ] ) ) {
+ matchers = [ addCombinator( elementMatcher( matchers ), matcher ) ];
+ } else {
+ matcher = Expr.filter[ tokens[ i ].type ].apply( null, tokens[ i ].matches );
+
+ // Return special upon seeing a positional matcher
+ if ( matcher[ expando ] ) {
+
+ // Find the next relative operator (if any) for proper handling
+ j = ++i;
+ for ( ; j < len; j++ ) {
+ if ( Expr.relative[ tokens[ j ].type ] ) {
+ break;
+ }
+ }
+ return setMatcher(
+ i > 1 && elementMatcher( matchers ),
+ i > 1 && toSelector(
+
+ // If the preceding token was a descendant combinator, insert an implicit any-element `*`
+ tokens
+ .slice( 0, i - 1 )
+ .concat( { value: tokens[ i - 2 ].type === " " ? "*" : "" } )
+ ).replace( rtrim, "$1" ),
+ matcher,
+ i < j && matcherFromTokens( tokens.slice( i, j ) ),
+ j < len && matcherFromTokens( ( tokens = tokens.slice( j ) ) ),
+ j < len && toSelector( tokens )
+ );
+ }
+ matchers.push( matcher );
+ }
+ }
+
+ return elementMatcher( matchers );
+}
+
+function matcherFromGroupMatchers( elementMatchers, setMatchers ) {
+ var bySet = setMatchers.length > 0,
+ byElement = elementMatchers.length > 0,
+ superMatcher = function( seed, context, xml, results, outermost ) {
+ var elem, j, matcher,
+ matchedCount = 0,
+ i = "0",
+ unmatched = seed && [],
+ setMatched = [],
+ contextBackup = outermostContext,
+
+ // We must always have either seed elements or outermost context
+ elems = seed || byElement && Expr.find[ "TAG" ]( "*", outermost ),
+
+ // Use integer dirruns iff this is the outermost matcher
+ dirrunsUnique = ( dirruns += contextBackup == null ? 1 : Math.random() || 0.1 ),
+ len = elems.length;
+
+ if ( outermost ) {
+
+ // Support: IE 11+, Edge 17 - 18+
+ // IE/Edge sometimes throw a "Permission denied" error when strict-comparing
+ // two documents; shallow comparisons work.
+ // eslint-disable-next-line eqeqeq
+ outermostContext = context == document || context || outermost;
+ }
+
+ // Add elements passing elementMatchers directly to results
+ // Support: IE<9, Safari
+ // Tolerate NodeList properties (IE: "length"; Safari: ) matching elements by id
+ for ( ; i !== len && ( elem = elems[ i ] ) != null; i++ ) {
+ if ( byElement && elem ) {
+ j = 0;
+
+ // Support: IE 11+, Edge 17 - 18+
+ // IE/Edge sometimes throw a "Permission denied" error when strict-comparing
+ // two documents; shallow comparisons work.
+ // eslint-disable-next-line eqeqeq
+ if ( !context && elem.ownerDocument != document ) {
+ setDocument( elem );
+ xml = !documentIsHTML;
+ }
+ while ( ( matcher = elementMatchers[ j++ ] ) ) {
+ if ( matcher( elem, context || document, xml ) ) {
+ results.push( elem );
+ break;
+ }
+ }
+ if ( outermost ) {
+ dirruns = dirrunsUnique;
+ }
+ }
+
+ // Track unmatched elements for set filters
+ if ( bySet ) {
+
+ // They will have gone through all possible matchers
+ if ( ( elem = !matcher && elem ) ) {
+ matchedCount--;
+ }
+
+ // Lengthen the array for every element, matched or not
+ if ( seed ) {
+ unmatched.push( elem );
+ }
+ }
+ }
+
+ // `i` is now the count of elements visited above, and adding it to `matchedCount`
+ // makes the latter nonnegative.
+ matchedCount += i;
+
+ // Apply set filters to unmatched elements
+ // NOTE: This can be skipped if there are no unmatched elements (i.e., `matchedCount`
+ // equals `i`), unless we didn't visit _any_ elements in the above loop because we have
+ // no element matchers and no seed.
+ // Incrementing an initially-string "0" `i` allows `i` to remain a string only in that
+ // case, which will result in a "00" `matchedCount` that differs from `i` but is also
+ // numerically zero.
+ if ( bySet && i !== matchedCount ) {
+ j = 0;
+ while ( ( matcher = setMatchers[ j++ ] ) ) {
+ matcher( unmatched, setMatched, context, xml );
+ }
+
+ if ( seed ) {
+
+ // Reintegrate element matches to eliminate the need for sorting
+ if ( matchedCount > 0 ) {
+ while ( i-- ) {
+ if ( !( unmatched[ i ] || setMatched[ i ] ) ) {
+ setMatched[ i ] = pop.call( results );
+ }
+ }
+ }
+
+ // Discard index placeholder values to get only actual matches
+ setMatched = condense( setMatched );
+ }
+
+ // Add matches to results
+ push.apply( results, setMatched );
+
+ // Seedless set matches succeeding multiple successful matchers stipulate sorting
+ if ( outermost && !seed && setMatched.length > 0 &&
+ ( matchedCount + setMatchers.length ) > 1 ) {
+
+ Sizzle.uniqueSort( results );
+ }
+ }
+
+ // Override manipulation of globals by nested matchers
+ if ( outermost ) {
+ dirruns = dirrunsUnique;
+ outermostContext = contextBackup;
+ }
+
+ return unmatched;
+ };
+
+ return bySet ?
+ markFunction( superMatcher ) :
+ superMatcher;
+}
+
+compile = Sizzle.compile = function( selector, match /* Internal Use Only */ ) {
+ var i,
+ setMatchers = [],
+ elementMatchers = [],
+ cached = compilerCache[ selector + " " ];
+
+ if ( !cached ) {
+
+ // Generate a function of recursive functions that can be used to check each element
+ if ( !match ) {
+ match = tokenize( selector );
+ }
+ i = match.length;
+ while ( i-- ) {
+ cached = matcherFromTokens( match[ i ] );
+ if ( cached[ expando ] ) {
+ setMatchers.push( cached );
+ } else {
+ elementMatchers.push( cached );
+ }
+ }
+
+ // Cache the compiled function
+ cached = compilerCache(
+ selector,
+ matcherFromGroupMatchers( elementMatchers, setMatchers )
+ );
+
+ // Save selector and tokenization
+ cached.selector = selector;
+ }
+ return cached;
+};
+
+/**
+ * A low-level selection function that works with Sizzle's compiled
+ * selector functions
+ * @param {String|Function} selector A selector or a pre-compiled
+ * selector function built with Sizzle.compile
+ * @param {Element} context
+ * @param {Array} [results]
+ * @param {Array} [seed] A set of elements to match against
+ */
+select = Sizzle.select = function( selector, context, results, seed ) {
+ var i, tokens, token, type, find,
+ compiled = typeof selector === "function" && selector,
+ match = !seed && tokenize( ( selector = compiled.selector || selector ) );
+
+ results = results || [];
+
+ // Try to minimize operations if there is only one selector in the list and no seed
+ // (the latter of which guarantees us context)
+ if ( match.length === 1 ) {
+
+ // Reduce context if the leading compound selector is an ID
+ tokens = match[ 0 ] = match[ 0 ].slice( 0 );
+ if ( tokens.length > 2 && ( token = tokens[ 0 ] ).type === "ID" &&
+ context.nodeType === 9 && documentIsHTML && Expr.relative[ tokens[ 1 ].type ] ) {
+
+ context = ( Expr.find[ "ID" ]( token.matches[ 0 ]
+ .replace( runescape, funescape ), context ) || [] )[ 0 ];
+ if ( !context ) {
+ return results;
+
+ // Precompiled matchers will still verify ancestry, so step up a level
+ } else if ( compiled ) {
+ context = context.parentNode;
+ }
+
+ selector = selector.slice( tokens.shift().value.length );
+ }
+
+ // Fetch a seed set for right-to-left matching
+ i = matchExpr[ "needsContext" ].test( selector ) ? 0 : tokens.length;
+ while ( i-- ) {
+ token = tokens[ i ];
+
+ // Abort if we hit a combinator
+ if ( Expr.relative[ ( type = token.type ) ] ) {
+ break;
+ }
+ if ( ( find = Expr.find[ type ] ) ) {
+
+ // Search, expanding context for leading sibling combinators
+ if ( ( seed = find(
+ token.matches[ 0 ].replace( runescape, funescape ),
+ rsibling.test( tokens[ 0 ].type ) && testContext( context.parentNode ) ||
+ context
+ ) ) ) {
+
+ // If seed is empty or no tokens remain, we can return early
+ tokens.splice( i, 1 );
+ selector = seed.length && toSelector( tokens );
+ if ( !selector ) {
+ push.apply( results, seed );
+ return results;
+ }
+
+ break;
+ }
+ }
+ }
+ }
+
+ // Compile and execute a filtering function if one is not provided
+ // Provide `match` to avoid retokenization if we modified the selector above
+ ( compiled || compile( selector, match ) )(
+ seed,
+ context,
+ !documentIsHTML,
+ results,
+ !context || rsibling.test( selector ) && testContext( context.parentNode ) || context
+ );
+ return results;
+};
+
+// One-time assignments
+
+// Sort stability
+support.sortStable = expando.split( "" ).sort( sortOrder ).join( "" ) === expando;
+
+// Support: Chrome 14-35+
+// Always assume duplicates if they aren't passed to the comparison function
+support.detectDuplicates = !!hasDuplicate;
+
+// Initialize against the default document
+setDocument();
+
+// Support: Webkit<537.32 - Safari 6.0.3/Chrome 25 (fixed in Chrome 27)
+// Detached nodes confoundingly follow *each other*
+support.sortDetached = assert( function( el ) {
+
+ // Should return 1, but returns 4 (following)
+ return el.compareDocumentPosition( document.createElement( "fieldset" ) ) & 1;
+} );
+
+// Support: IE<8
+// Prevent attribute/property "interpolation"
+// https://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx
+if ( !assert( function( el ) {
+ el.innerHTML = " ";
+ return el.firstChild.getAttribute( "href" ) === "#";
+} ) ) {
+ addHandle( "type|href|height|width", function( elem, name, isXML ) {
+ if ( !isXML ) {
+ return elem.getAttribute( name, name.toLowerCase() === "type" ? 1 : 2 );
+ }
+ } );
+}
+
+// Support: IE<9
+// Use defaultValue in place of getAttribute("value")
+if ( !support.attributes || !assert( function( el ) {
+ el.innerHTML = " ";
+ el.firstChild.setAttribute( "value", "" );
+ return el.firstChild.getAttribute( "value" ) === "";
+} ) ) {
+ addHandle( "value", function( elem, _name, isXML ) {
+ if ( !isXML && elem.nodeName.toLowerCase() === "input" ) {
+ return elem.defaultValue;
+ }
+ } );
+}
+
+// Support: IE<9
+// Use getAttributeNode to fetch booleans when getAttribute lies
+if ( !assert( function( el ) {
+ return el.getAttribute( "disabled" ) == null;
+} ) ) {
+ addHandle( booleans, function( elem, name, isXML ) {
+ var val;
+ if ( !isXML ) {
+ return elem[ name ] === true ? name.toLowerCase() :
+ ( val = elem.getAttributeNode( name ) ) && val.specified ?
+ val.value :
+ null;
+ }
+ } );
+}
+
+return Sizzle;
+
+} )( window );
+
+
+
+jQuery.find = Sizzle;
+jQuery.expr = Sizzle.selectors;
+
+// Deprecated
+jQuery.expr[ ":" ] = jQuery.expr.pseudos;
+jQuery.uniqueSort = jQuery.unique = Sizzle.uniqueSort;
+jQuery.text = Sizzle.getText;
+jQuery.isXMLDoc = Sizzle.isXML;
+jQuery.contains = Sizzle.contains;
+jQuery.escapeSelector = Sizzle.escape;
+
+
+
+
+var dir = function( elem, dir, until ) {
+ var matched = [],
+ truncate = until !== undefined;
+
+ while ( ( elem = elem[ dir ] ) && elem.nodeType !== 9 ) {
+ if ( elem.nodeType === 1 ) {
+ if ( truncate && jQuery( elem ).is( until ) ) {
+ break;
+ }
+ matched.push( elem );
+ }
+ }
+ return matched;
+};
+
+
+var siblings = function( n, elem ) {
+ var matched = [];
+
+ for ( ; n; n = n.nextSibling ) {
+ if ( n.nodeType === 1 && n !== elem ) {
+ matched.push( n );
+ }
+ }
+
+ return matched;
+};
+
+
+var rneedsContext = jQuery.expr.match.needsContext;
+
+
+
+function nodeName( elem, name ) {
+
+ return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase();
+
+};
+var rsingleTag = ( /^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i );
+
+
+
+// Implement the identical functionality for filter and not
+function winnow( elements, qualifier, not ) {
+ if ( isFunction( qualifier ) ) {
+ return jQuery.grep( elements, function( elem, i ) {
+ return !!qualifier.call( elem, i, elem ) !== not;
+ } );
+ }
+
+ // Single element
+ if ( qualifier.nodeType ) {
+ return jQuery.grep( elements, function( elem ) {
+ return ( elem === qualifier ) !== not;
+ } );
+ }
+
+ // Arraylike of elements (jQuery, arguments, Array)
+ if ( typeof qualifier !== "string" ) {
+ return jQuery.grep( elements, function( elem ) {
+ return ( indexOf.call( qualifier, elem ) > -1 ) !== not;
+ } );
+ }
+
+ // Filtered directly for both simple and complex selectors
+ return jQuery.filter( qualifier, elements, not );
+}
+
+jQuery.filter = function( expr, elems, not ) {
+ var elem = elems[ 0 ];
+
+ if ( not ) {
+ expr = ":not(" + expr + ")";
+ }
+
+ if ( elems.length === 1 && elem.nodeType === 1 ) {
+ return jQuery.find.matchesSelector( elem, expr ) ? [ elem ] : [];
+ }
+
+ return jQuery.find.matches( expr, jQuery.grep( elems, function( elem ) {
+ return elem.nodeType === 1;
+ } ) );
+};
+
+jQuery.fn.extend( {
+ find: function( selector ) {
+ var i, ret,
+ len = this.length,
+ self = this;
+
+ if ( typeof selector !== "string" ) {
+ return this.pushStack( jQuery( selector ).filter( function() {
+ for ( i = 0; i < len; i++ ) {
+ if ( jQuery.contains( self[ i ], this ) ) {
+ return true;
+ }
+ }
+ } ) );
+ }
+
+ ret = this.pushStack( [] );
+
+ for ( i = 0; i < len; i++ ) {
+ jQuery.find( selector, self[ i ], ret );
+ }
+
+ return len > 1 ? jQuery.uniqueSort( ret ) : ret;
+ },
+ filter: function( selector ) {
+ return this.pushStack( winnow( this, selector || [], false ) );
+ },
+ not: function( selector ) {
+ return this.pushStack( winnow( this, selector || [], true ) );
+ },
+ is: function( selector ) {
+ return !!winnow(
+ this,
+
+ // If this is a positional/relative selector, check membership in the returned set
+ // so $("p:first").is("p:last") won't return true for a doc with two "p".
+ typeof selector === "string" && rneedsContext.test( selector ) ?
+ jQuery( selector ) :
+ selector || [],
+ false
+ ).length;
+ }
+} );
+
+
+// Initialize a jQuery object
+
+
+// A central reference to the root jQuery(document)
+var rootjQuery,
+
+ // A simple way to check for HTML strings
+ // Prioritize #id over to avoid XSS via location.hash (#9521)
+ // Strict HTML recognition (#11290: must start with <)
+ // Shortcut simple #id case for speed
+ rquickExpr = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/,
+
+ init = jQuery.fn.init = function( selector, context, root ) {
+ var match, elem;
+
+ // HANDLE: $(""), $(null), $(undefined), $(false)
+ if ( !selector ) {
+ return this;
+ }
+
+ // Method init() accepts an alternate rootjQuery
+ // so migrate can support jQuery.sub (gh-2101)
+ root = root || rootjQuery;
+
+ // Handle HTML strings
+ if ( typeof selector === "string" ) {
+ if ( selector[ 0 ] === "<" &&
+ selector[ selector.length - 1 ] === ">" &&
+ selector.length >= 3 ) {
+
+ // Assume that strings that start and end with <> are HTML and skip the regex check
+ match = [ null, selector, null ];
+
+ } else {
+ match = rquickExpr.exec( selector );
+ }
+
+ // Match html or make sure no context is specified for #id
+ if ( match && ( match[ 1 ] || !context ) ) {
+
+ // HANDLE: $(html) -> $(array)
+ if ( match[ 1 ] ) {
+ context = context instanceof jQuery ? context[ 0 ] : context;
+
+ // Option to run scripts is true for back-compat
+ // Intentionally let the error be thrown if parseHTML is not present
+ jQuery.merge( this, jQuery.parseHTML(
+ match[ 1 ],
+ context && context.nodeType ? context.ownerDocument || context : document,
+ true
+ ) );
+
+ // HANDLE: $(html, props)
+ if ( rsingleTag.test( match[ 1 ] ) && jQuery.isPlainObject( context ) ) {
+ for ( match in context ) {
+
+ // Properties of context are called as methods if possible
+ if ( isFunction( this[ match ] ) ) {
+ this[ match ]( context[ match ] );
+
+ // ...and otherwise set as attributes
+ } else {
+ this.attr( match, context[ match ] );
+ }
+ }
+ }
+
+ return this;
+
+ // HANDLE: $(#id)
+ } else {
+ elem = document.getElementById( match[ 2 ] );
+
+ if ( elem ) {
+
+ // Inject the element directly into the jQuery object
+ this[ 0 ] = elem;
+ this.length = 1;
+ }
+ return this;
+ }
+
+ // HANDLE: $(expr, $(...))
+ } else if ( !context || context.jquery ) {
+ return ( context || root ).find( selector );
+
+ // HANDLE: $(expr, context)
+ // (which is just equivalent to: $(context).find(expr)
+ } else {
+ return this.constructor( context ).find( selector );
+ }
+
+ // HANDLE: $(DOMElement)
+ } else if ( selector.nodeType ) {
+ this[ 0 ] = selector;
+ this.length = 1;
+ return this;
+
+ // HANDLE: $(function)
+ // Shortcut for document ready
+ } else if ( isFunction( selector ) ) {
+ return root.ready !== undefined ?
+ root.ready( selector ) :
+
+ // Execute immediately if ready is not present
+ selector( jQuery );
+ }
+
+ return jQuery.makeArray( selector, this );
+ };
+
+// Give the init function the jQuery prototype for later instantiation
+init.prototype = jQuery.fn;
+
+// Initialize central reference
+rootjQuery = jQuery( document );
+
+
+var rparentsprev = /^(?:parents|prev(?:Until|All))/,
+
+ // Methods guaranteed to produce a unique set when starting from a unique set
+ guaranteedUnique = {
+ children: true,
+ contents: true,
+ next: true,
+ prev: true
+ };
+
+jQuery.fn.extend( {
+ has: function( target ) {
+ var targets = jQuery( target, this ),
+ l = targets.length;
+
+ return this.filter( function() {
+ var i = 0;
+ for ( ; i < l; i++ ) {
+ if ( jQuery.contains( this, targets[ i ] ) ) {
+ return true;
+ }
+ }
+ } );
+ },
+
+ closest: function( selectors, context ) {
+ var cur,
+ i = 0,
+ l = this.length,
+ matched = [],
+ targets = typeof selectors !== "string" && jQuery( selectors );
+
+ // Positional selectors never match, since there's no _selection_ context
+ if ( !rneedsContext.test( selectors ) ) {
+ for ( ; i < l; i++ ) {
+ for ( cur = this[ i ]; cur && cur !== context; cur = cur.parentNode ) {
+
+ // Always skip document fragments
+ if ( cur.nodeType < 11 && ( targets ?
+ targets.index( cur ) > -1 :
+
+ // Don't pass non-elements to Sizzle
+ cur.nodeType === 1 &&
+ jQuery.find.matchesSelector( cur, selectors ) ) ) {
+
+ matched.push( cur );
+ break;
+ }
+ }
+ }
+ }
+
+ return this.pushStack( matched.length > 1 ? jQuery.uniqueSort( matched ) : matched );
+ },
+
+ // Determine the position of an element within the set
+ index: function( elem ) {
+
+ // No argument, return index in parent
+ if ( !elem ) {
+ return ( this[ 0 ] && this[ 0 ].parentNode ) ? this.first().prevAll().length : -1;
+ }
+
+ // Index in selector
+ if ( typeof elem === "string" ) {
+ return indexOf.call( jQuery( elem ), this[ 0 ] );
+ }
+
+ // Locate the position of the desired element
+ return indexOf.call( this,
+
+ // If it receives a jQuery object, the first element is used
+ elem.jquery ? elem[ 0 ] : elem
+ );
+ },
+
+ add: function( selector, context ) {
+ return this.pushStack(
+ jQuery.uniqueSort(
+ jQuery.merge( this.get(), jQuery( selector, context ) )
+ )
+ );
+ },
+
+ addBack: function( selector ) {
+ return this.add( selector == null ?
+ this.prevObject : this.prevObject.filter( selector )
+ );
+ }
+} );
+
+function sibling( cur, dir ) {
+ while ( ( cur = cur[ dir ] ) && cur.nodeType !== 1 ) {}
+ return cur;
+}
+
+jQuery.each( {
+ parent: function( elem ) {
+ var parent = elem.parentNode;
+ return parent && parent.nodeType !== 11 ? parent : null;
+ },
+ parents: function( elem ) {
+ return dir( elem, "parentNode" );
+ },
+ parentsUntil: function( elem, _i, until ) {
+ return dir( elem, "parentNode", until );
+ },
+ next: function( elem ) {
+ return sibling( elem, "nextSibling" );
+ },
+ prev: function( elem ) {
+ return sibling( elem, "previousSibling" );
+ },
+ nextAll: function( elem ) {
+ return dir( elem, "nextSibling" );
+ },
+ prevAll: function( elem ) {
+ return dir( elem, "previousSibling" );
+ },
+ nextUntil: function( elem, _i, until ) {
+ return dir( elem, "nextSibling", until );
+ },
+ prevUntil: function( elem, _i, until ) {
+ return dir( elem, "previousSibling", until );
+ },
+ siblings: function( elem ) {
+ return siblings( ( elem.parentNode || {} ).firstChild, elem );
+ },
+ children: function( elem ) {
+ return siblings( elem.firstChild );
+ },
+ contents: function( elem ) {
+ if ( elem.contentDocument != null &&
+
+ // Support: IE 11+
+ // elements with no `data` attribute has an object
+ // `contentDocument` with a `null` prototype.
+ getProto( elem.contentDocument ) ) {
+
+ return elem.contentDocument;
+ }
+
+ // Support: IE 9 - 11 only, iOS 7 only, Android Browser <=4.3 only
+ // Treat the template element as a regular one in browsers that
+ // don't support it.
+ if ( nodeName( elem, "template" ) ) {
+ elem = elem.content || elem;
+ }
+
+ return jQuery.merge( [], elem.childNodes );
+ }
+}, function( name, fn ) {
+ jQuery.fn[ name ] = function( until, selector ) {
+ var matched = jQuery.map( this, fn, until );
+
+ if ( name.slice( -5 ) !== "Until" ) {
+ selector = until;
+ }
+
+ if ( selector && typeof selector === "string" ) {
+ matched = jQuery.filter( selector, matched );
+ }
+
+ if ( this.length > 1 ) {
+
+ // Remove duplicates
+ if ( !guaranteedUnique[ name ] ) {
+ jQuery.uniqueSort( matched );
+ }
+
+ // Reverse order for parents* and prev-derivatives
+ if ( rparentsprev.test( name ) ) {
+ matched.reverse();
+ }
+ }
+
+ return this.pushStack( matched );
+ };
+} );
+var rnothtmlwhite = ( /[^\x20\t\r\n\f]+/g );
+
+
+
+// Convert String-formatted options into Object-formatted ones
+function createOptions( options ) {
+ var object = {};
+ jQuery.each( options.match( rnothtmlwhite ) || [], function( _, flag ) {
+ object[ flag ] = true;
+ } );
+ return object;
+}
+
+/*
+ * Create a callback list using the following parameters:
+ *
+ * options: an optional list of space-separated options that will change how
+ * the callback list behaves or a more traditional option object
+ *
+ * By default a callback list will act like an event callback list and can be
+ * "fired" multiple times.
+ *
+ * Possible options:
+ *
+ * once: will ensure the callback list can only be fired once (like a Deferred)
+ *
+ * memory: will keep track of previous values and will call any callback added
+ * after the list has been fired right away with the latest "memorized"
+ * values (like a Deferred)
+ *
+ * unique: will ensure a callback can only be added once (no duplicate in the list)
+ *
+ * stopOnFalse: interrupt callings when a callback returns false
+ *
+ */
+jQuery.Callbacks = function( options ) {
+
+ // Convert options from String-formatted to Object-formatted if needed
+ // (we check in cache first)
+ options = typeof options === "string" ?
+ createOptions( options ) :
+ jQuery.extend( {}, options );
+
+ var // Flag to know if list is currently firing
+ firing,
+
+ // Last fire value for non-forgettable lists
+ memory,
+
+ // Flag to know if list was already fired
+ fired,
+
+ // Flag to prevent firing
+ locked,
+
+ // Actual callback list
+ list = [],
+
+ // Queue of execution data for repeatable lists
+ queue = [],
+
+ // Index of currently firing callback (modified by add/remove as needed)
+ firingIndex = -1,
+
+ // Fire callbacks
+ fire = function() {
+
+ // Enforce single-firing
+ locked = locked || options.once;
+
+ // Execute callbacks for all pending executions,
+ // respecting firingIndex overrides and runtime changes
+ fired = firing = true;
+ for ( ; queue.length; firingIndex = -1 ) {
+ memory = queue.shift();
+ while ( ++firingIndex < list.length ) {
+
+ // Run callback and check for early termination
+ if ( list[ firingIndex ].apply( memory[ 0 ], memory[ 1 ] ) === false &&
+ options.stopOnFalse ) {
+
+ // Jump to end and forget the data so .add doesn't re-fire
+ firingIndex = list.length;
+ memory = false;
+ }
+ }
+ }
+
+ // Forget the data if we're done with it
+ if ( !options.memory ) {
+ memory = false;
+ }
+
+ firing = false;
+
+ // Clean up if we're done firing for good
+ if ( locked ) {
+
+ // Keep an empty list if we have data for future add calls
+ if ( memory ) {
+ list = [];
+
+ // Otherwise, this object is spent
+ } else {
+ list = "";
+ }
+ }
+ },
+
+ // Actual Callbacks object
+ self = {
+
+ // Add a callback or a collection of callbacks to the list
+ add: function() {
+ if ( list ) {
+
+ // If we have memory from a past run, we should fire after adding
+ if ( memory && !firing ) {
+ firingIndex = list.length - 1;
+ queue.push( memory );
+ }
+
+ ( function add( args ) {
+ jQuery.each( args, function( _, arg ) {
+ if ( isFunction( arg ) ) {
+ if ( !options.unique || !self.has( arg ) ) {
+ list.push( arg );
+ }
+ } else if ( arg && arg.length && toType( arg ) !== "string" ) {
+
+ // Inspect recursively
+ add( arg );
+ }
+ } );
+ } )( arguments );
+
+ if ( memory && !firing ) {
+ fire();
+ }
+ }
+ return this;
+ },
+
+ // Remove a callback from the list
+ remove: function() {
+ jQuery.each( arguments, function( _, arg ) {
+ var index;
+ while ( ( index = jQuery.inArray( arg, list, index ) ) > -1 ) {
+ list.splice( index, 1 );
+
+ // Handle firing indexes
+ if ( index <= firingIndex ) {
+ firingIndex--;
+ }
+ }
+ } );
+ return this;
+ },
+
+ // Check if a given callback is in the list.
+ // If no argument is given, return whether or not list has callbacks attached.
+ has: function( fn ) {
+ return fn ?
+ jQuery.inArray( fn, list ) > -1 :
+ list.length > 0;
+ },
+
+ // Remove all callbacks from the list
+ empty: function() {
+ if ( list ) {
+ list = [];
+ }
+ return this;
+ },
+
+ // Disable .fire and .add
+ // Abort any current/pending executions
+ // Clear all callbacks and values
+ disable: function() {
+ locked = queue = [];
+ list = memory = "";
+ return this;
+ },
+ disabled: function() {
+ return !list;
+ },
+
+ // Disable .fire
+ // Also disable .add unless we have memory (since it would have no effect)
+ // Abort any pending executions
+ lock: function() {
+ locked = queue = [];
+ if ( !memory && !firing ) {
+ list = memory = "";
+ }
+ return this;
+ },
+ locked: function() {
+ return !!locked;
+ },
+
+ // Call all callbacks with the given context and arguments
+ fireWith: function( context, args ) {
+ if ( !locked ) {
+ args = args || [];
+ args = [ context, args.slice ? args.slice() : args ];
+ queue.push( args );
+ if ( !firing ) {
+ fire();
+ }
+ }
+ return this;
+ },
+
+ // Call all the callbacks with the given arguments
+ fire: function() {
+ self.fireWith( this, arguments );
+ return this;
+ },
+
+ // To know if the callbacks have already been called at least once
+ fired: function() {
+ return !!fired;
+ }
+ };
+
+ return self;
+};
+
+
+function Identity( v ) {
+ return v;
+}
+function Thrower( ex ) {
+ throw ex;
+}
+
+function adoptValue( value, resolve, reject, noValue ) {
+ var method;
+
+ try {
+
+ // Check for promise aspect first to privilege synchronous behavior
+ if ( value && isFunction( ( method = value.promise ) ) ) {
+ method.call( value ).done( resolve ).fail( reject );
+
+ // Other thenables
+ } else if ( value && isFunction( ( method = value.then ) ) ) {
+ method.call( value, resolve, reject );
+
+ // Other non-thenables
+ } else {
+
+ // Control `resolve` arguments by letting Array#slice cast boolean `noValue` to integer:
+ // * false: [ value ].slice( 0 ) => resolve( value )
+ // * true: [ value ].slice( 1 ) => resolve()
+ resolve.apply( undefined, [ value ].slice( noValue ) );
+ }
+
+ // For Promises/A+, convert exceptions into rejections
+ // Since jQuery.when doesn't unwrap thenables, we can skip the extra checks appearing in
+ // Deferred#then to conditionally suppress rejection.
+ } catch ( value ) {
+
+ // Support: Android 4.0 only
+ // Strict mode functions invoked without .call/.apply get global-object context
+ reject.apply( undefined, [ value ] );
+ }
+}
+
+jQuery.extend( {
+
+ Deferred: function( func ) {
+ var tuples = [
+
+ // action, add listener, callbacks,
+ // ... .then handlers, argument index, [final state]
+ [ "notify", "progress", jQuery.Callbacks( "memory" ),
+ jQuery.Callbacks( "memory" ), 2 ],
+ [ "resolve", "done", jQuery.Callbacks( "once memory" ),
+ jQuery.Callbacks( "once memory" ), 0, "resolved" ],
+ [ "reject", "fail", jQuery.Callbacks( "once memory" ),
+ jQuery.Callbacks( "once memory" ), 1, "rejected" ]
+ ],
+ state = "pending",
+ promise = {
+ state: function() {
+ return state;
+ },
+ always: function() {
+ deferred.done( arguments ).fail( arguments );
+ return this;
+ },
+ "catch": function( fn ) {
+ return promise.then( null, fn );
+ },
+
+ // Keep pipe for back-compat
+ pipe: function( /* fnDone, fnFail, fnProgress */ ) {
+ var fns = arguments;
+
+ return jQuery.Deferred( function( newDefer ) {
+ jQuery.each( tuples, function( _i, tuple ) {
+
+ // Map tuples (progress, done, fail) to arguments (done, fail, progress)
+ var fn = isFunction( fns[ tuple[ 4 ] ] ) && fns[ tuple[ 4 ] ];
+
+ // deferred.progress(function() { bind to newDefer or newDefer.notify })
+ // deferred.done(function() { bind to newDefer or newDefer.resolve })
+ // deferred.fail(function() { bind to newDefer or newDefer.reject })
+ deferred[ tuple[ 1 ] ]( function() {
+ var returned = fn && fn.apply( this, arguments );
+ if ( returned && isFunction( returned.promise ) ) {
+ returned.promise()
+ .progress( newDefer.notify )
+ .done( newDefer.resolve )
+ .fail( newDefer.reject );
+ } else {
+ newDefer[ tuple[ 0 ] + "With" ](
+ this,
+ fn ? [ returned ] : arguments
+ );
+ }
+ } );
+ } );
+ fns = null;
+ } ).promise();
+ },
+ then: function( onFulfilled, onRejected, onProgress ) {
+ var maxDepth = 0;
+ function resolve( depth, deferred, handler, special ) {
+ return function() {
+ var that = this,
+ args = arguments,
+ mightThrow = function() {
+ var returned, then;
+
+ // Support: Promises/A+ section 2.3.3.3.3
+ // https://promisesaplus.com/#point-59
+ // Ignore double-resolution attempts
+ if ( depth < maxDepth ) {
+ return;
+ }
+
+ returned = handler.apply( that, args );
+
+ // Support: Promises/A+ section 2.3.1
+ // https://promisesaplus.com/#point-48
+ if ( returned === deferred.promise() ) {
+ throw new TypeError( "Thenable self-resolution" );
+ }
+
+ // Support: Promises/A+ sections 2.3.3.1, 3.5
+ // https://promisesaplus.com/#point-54
+ // https://promisesaplus.com/#point-75
+ // Retrieve `then` only once
+ then = returned &&
+
+ // Support: Promises/A+ section 2.3.4
+ // https://promisesaplus.com/#point-64
+ // Only check objects and functions for thenability
+ ( typeof returned === "object" ||
+ typeof returned === "function" ) &&
+ returned.then;
+
+ // Handle a returned thenable
+ if ( isFunction( then ) ) {
+
+ // Special processors (notify) just wait for resolution
+ if ( special ) {
+ then.call(
+ returned,
+ resolve( maxDepth, deferred, Identity, special ),
+ resolve( maxDepth, deferred, Thrower, special )
+ );
+
+ // Normal processors (resolve) also hook into progress
+ } else {
+
+ // ...and disregard older resolution values
+ maxDepth++;
+
+ then.call(
+ returned,
+ resolve( maxDepth, deferred, Identity, special ),
+ resolve( maxDepth, deferred, Thrower, special ),
+ resolve( maxDepth, deferred, Identity,
+ deferred.notifyWith )
+ );
+ }
+
+ // Handle all other returned values
+ } else {
+
+ // Only substitute handlers pass on context
+ // and multiple values (non-spec behavior)
+ if ( handler !== Identity ) {
+ that = undefined;
+ args = [ returned ];
+ }
+
+ // Process the value(s)
+ // Default process is resolve
+ ( special || deferred.resolveWith )( that, args );
+ }
+ },
+
+ // Only normal processors (resolve) catch and reject exceptions
+ process = special ?
+ mightThrow :
+ function() {
+ try {
+ mightThrow();
+ } catch ( e ) {
+
+ if ( jQuery.Deferred.exceptionHook ) {
+ jQuery.Deferred.exceptionHook( e,
+ process.stackTrace );
+ }
+
+ // Support: Promises/A+ section 2.3.3.3.4.1
+ // https://promisesaplus.com/#point-61
+ // Ignore post-resolution exceptions
+ if ( depth + 1 >= maxDepth ) {
+
+ // Only substitute handlers pass on context
+ // and multiple values (non-spec behavior)
+ if ( handler !== Thrower ) {
+ that = undefined;
+ args = [ e ];
+ }
+
+ deferred.rejectWith( that, args );
+ }
+ }
+ };
+
+ // Support: Promises/A+ section 2.3.3.3.1
+ // https://promisesaplus.com/#point-57
+ // Re-resolve promises immediately to dodge false rejection from
+ // subsequent errors
+ if ( depth ) {
+ process();
+ } else {
+
+ // Call an optional hook to record the stack, in case of exception
+ // since it's otherwise lost when execution goes async
+ if ( jQuery.Deferred.getStackHook ) {
+ process.stackTrace = jQuery.Deferred.getStackHook();
+ }
+ window.setTimeout( process );
+ }
+ };
+ }
+
+ return jQuery.Deferred( function( newDefer ) {
+
+ // progress_handlers.add( ... )
+ tuples[ 0 ][ 3 ].add(
+ resolve(
+ 0,
+ newDefer,
+ isFunction( onProgress ) ?
+ onProgress :
+ Identity,
+ newDefer.notifyWith
+ )
+ );
+
+ // fulfilled_handlers.add( ... )
+ tuples[ 1 ][ 3 ].add(
+ resolve(
+ 0,
+ newDefer,
+ isFunction( onFulfilled ) ?
+ onFulfilled :
+ Identity
+ )
+ );
+
+ // rejected_handlers.add( ... )
+ tuples[ 2 ][ 3 ].add(
+ resolve(
+ 0,
+ newDefer,
+ isFunction( onRejected ) ?
+ onRejected :
+ Thrower
+ )
+ );
+ } ).promise();
+ },
+
+ // Get a promise for this deferred
+ // If obj is provided, the promise aspect is added to the object
+ promise: function( obj ) {
+ return obj != null ? jQuery.extend( obj, promise ) : promise;
+ }
+ },
+ deferred = {};
+
+ // Add list-specific methods
+ jQuery.each( tuples, function( i, tuple ) {
+ var list = tuple[ 2 ],
+ stateString = tuple[ 5 ];
+
+ // promise.progress = list.add
+ // promise.done = list.add
+ // promise.fail = list.add
+ promise[ tuple[ 1 ] ] = list.add;
+
+ // Handle state
+ if ( stateString ) {
+ list.add(
+ function() {
+
+ // state = "resolved" (i.e., fulfilled)
+ // state = "rejected"
+ state = stateString;
+ },
+
+ // rejected_callbacks.disable
+ // fulfilled_callbacks.disable
+ tuples[ 3 - i ][ 2 ].disable,
+
+ // rejected_handlers.disable
+ // fulfilled_handlers.disable
+ tuples[ 3 - i ][ 3 ].disable,
+
+ // progress_callbacks.lock
+ tuples[ 0 ][ 2 ].lock,
+
+ // progress_handlers.lock
+ tuples[ 0 ][ 3 ].lock
+ );
+ }
+
+ // progress_handlers.fire
+ // fulfilled_handlers.fire
+ // rejected_handlers.fire
+ list.add( tuple[ 3 ].fire );
+
+ // deferred.notify = function() { deferred.notifyWith(...) }
+ // deferred.resolve = function() { deferred.resolveWith(...) }
+ // deferred.reject = function() { deferred.rejectWith(...) }
+ deferred[ tuple[ 0 ] ] = function() {
+ deferred[ tuple[ 0 ] + "With" ]( this === deferred ? undefined : this, arguments );
+ return this;
+ };
+
+ // deferred.notifyWith = list.fireWith
+ // deferred.resolveWith = list.fireWith
+ // deferred.rejectWith = list.fireWith
+ deferred[ tuple[ 0 ] + "With" ] = list.fireWith;
+ } );
+
+ // Make the deferred a promise
+ promise.promise( deferred );
+
+ // Call given func if any
+ if ( func ) {
+ func.call( deferred, deferred );
+ }
+
+ // All done!
+ return deferred;
+ },
+
+ // Deferred helper
+ when: function( singleValue ) {
+ var
+
+ // count of uncompleted subordinates
+ remaining = arguments.length,
+
+ // count of unprocessed arguments
+ i = remaining,
+
+ // subordinate fulfillment data
+ resolveContexts = Array( i ),
+ resolveValues = slice.call( arguments ),
+
+ // the master Deferred
+ master = jQuery.Deferred(),
+
+ // subordinate callback factory
+ updateFunc = function( i ) {
+ return function( value ) {
+ resolveContexts[ i ] = this;
+ resolveValues[ i ] = arguments.length > 1 ? slice.call( arguments ) : value;
+ if ( !( --remaining ) ) {
+ master.resolveWith( resolveContexts, resolveValues );
+ }
+ };
+ };
+
+ // Single- and empty arguments are adopted like Promise.resolve
+ if ( remaining <= 1 ) {
+ adoptValue( singleValue, master.done( updateFunc( i ) ).resolve, master.reject,
+ !remaining );
+
+ // Use .then() to unwrap secondary thenables (cf. gh-3000)
+ if ( master.state() === "pending" ||
+ isFunction( resolveValues[ i ] && resolveValues[ i ].then ) ) {
+
+ return master.then();
+ }
+ }
+
+ // Multiple arguments are aggregated like Promise.all array elements
+ while ( i-- ) {
+ adoptValue( resolveValues[ i ], updateFunc( i ), master.reject );
+ }
+
+ return master.promise();
+ }
+} );
+
+
+// These usually indicate a programmer mistake during development,
+// warn about them ASAP rather than swallowing them by default.
+var rerrorNames = /^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;
+
+jQuery.Deferred.exceptionHook = function( error, stack ) {
+
+ // Support: IE 8 - 9 only
+ // Console exists when dev tools are open, which can happen at any time
+ if ( window.console && window.console.warn && error && rerrorNames.test( error.name ) ) {
+ window.console.warn( "jQuery.Deferred exception: " + error.message, error.stack, stack );
+ }
+};
+
+
+
+
+jQuery.readyException = function( error ) {
+ window.setTimeout( function() {
+ throw error;
+ } );
+};
+
+
+
+
+// The deferred used on DOM ready
+var readyList = jQuery.Deferred();
+
+jQuery.fn.ready = function( fn ) {
+
+ readyList
+ .then( fn )
+
+ // Wrap jQuery.readyException in a function so that the lookup
+ // happens at the time of error handling instead of callback
+ // registration.
+ .catch( function( error ) {
+ jQuery.readyException( error );
+ } );
+
+ return this;
+};
+
+jQuery.extend( {
+
+ // Is the DOM ready to be used? Set to true once it occurs.
+ isReady: false,
+
+ // A counter to track how many items to wait for before
+ // the ready event fires. See #6781
+ readyWait: 1,
+
+ // Handle when the DOM is ready
+ ready: function( wait ) {
+
+ // Abort if there are pending holds or we're already ready
+ if ( wait === true ? --jQuery.readyWait : jQuery.isReady ) {
+ return;
+ }
+
+ // Remember that the DOM is ready
+ jQuery.isReady = true;
+
+ // If a normal DOM Ready event fired, decrement, and wait if need be
+ if ( wait !== true && --jQuery.readyWait > 0 ) {
+ return;
+ }
+
+ // If there are functions bound, to execute
+ readyList.resolveWith( document, [ jQuery ] );
+ }
+} );
+
+jQuery.ready.then = readyList.then;
+
+// The ready event handler and self cleanup method
+function completed() {
+ document.removeEventListener( "DOMContentLoaded", completed );
+ window.removeEventListener( "load", completed );
+ jQuery.ready();
+}
+
+// Catch cases where $(document).ready() is called
+// after the browser event has already occurred.
+// Support: IE <=9 - 10 only
+// Older IE sometimes signals "interactive" too soon
+if ( document.readyState === "complete" ||
+ ( document.readyState !== "loading" && !document.documentElement.doScroll ) ) {
+
+ // Handle it asynchronously to allow scripts the opportunity to delay ready
+ window.setTimeout( jQuery.ready );
+
+} else {
+
+ // Use the handy event callback
+ document.addEventListener( "DOMContentLoaded", completed );
+
+ // A fallback to window.onload, that will always work
+ window.addEventListener( "load", completed );
+}
+
+
+
+
+// Multifunctional method to get and set values of a collection
+// The value/s can optionally be executed if it's a function
+var access = function( elems, fn, key, value, chainable, emptyGet, raw ) {
+ var i = 0,
+ len = elems.length,
+ bulk = key == null;
+
+ // Sets many values
+ if ( toType( key ) === "object" ) {
+ chainable = true;
+ for ( i in key ) {
+ access( elems, fn, i, key[ i ], true, emptyGet, raw );
+ }
+
+ // Sets one value
+ } else if ( value !== undefined ) {
+ chainable = true;
+
+ if ( !isFunction( value ) ) {
+ raw = true;
+ }
+
+ if ( bulk ) {
+
+ // Bulk operations run against the entire set
+ if ( raw ) {
+ fn.call( elems, value );
+ fn = null;
+
+ // ...except when executing function values
+ } else {
+ bulk = fn;
+ fn = function( elem, _key, value ) {
+ return bulk.call( jQuery( elem ), value );
+ };
+ }
+ }
+
+ if ( fn ) {
+ for ( ; i < len; i++ ) {
+ fn(
+ elems[ i ], key, raw ?
+ value :
+ value.call( elems[ i ], i, fn( elems[ i ], key ) )
+ );
+ }
+ }
+ }
+
+ if ( chainable ) {
+ return elems;
+ }
+
+ // Gets
+ if ( bulk ) {
+ return fn.call( elems );
+ }
+
+ return len ? fn( elems[ 0 ], key ) : emptyGet;
+};
+
+
+// Matches dashed string for camelizing
+var rmsPrefix = /^-ms-/,
+ rdashAlpha = /-([a-z])/g;
+
+// Used by camelCase as callback to replace()
+function fcamelCase( _all, letter ) {
+ return letter.toUpperCase();
+}
+
+// Convert dashed to camelCase; used by the css and data modules
+// Support: IE <=9 - 11, Edge 12 - 15
+// Microsoft forgot to hump their vendor prefix (#9572)
+function camelCase( string ) {
+ return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase );
+}
+var acceptData = function( owner ) {
+
+ // Accepts only:
+ // - Node
+ // - Node.ELEMENT_NODE
+ // - Node.DOCUMENT_NODE
+ // - Object
+ // - Any
+ return owner.nodeType === 1 || owner.nodeType === 9 || !( +owner.nodeType );
+};
+
+
+
+
+function Data() {
+ this.expando = jQuery.expando + Data.uid++;
+}
+
+Data.uid = 1;
+
+Data.prototype = {
+
+ cache: function( owner ) {
+
+ // Check if the owner object already has a cache
+ var value = owner[ this.expando ];
+
+ // If not, create one
+ if ( !value ) {
+ value = {};
+
+ // We can accept data for non-element nodes in modern browsers,
+ // but we should not, see #8335.
+ // Always return an empty object.
+ if ( acceptData( owner ) ) {
+
+ // If it is a node unlikely to be stringify-ed or looped over
+ // use plain assignment
+ if ( owner.nodeType ) {
+ owner[ this.expando ] = value;
+
+ // Otherwise secure it in a non-enumerable property
+ // configurable must be true to allow the property to be
+ // deleted when data is removed
+ } else {
+ Object.defineProperty( owner, this.expando, {
+ value: value,
+ configurable: true
+ } );
+ }
+ }
+ }
+
+ return value;
+ },
+ set: function( owner, data, value ) {
+ var prop,
+ cache = this.cache( owner );
+
+ // Handle: [ owner, key, value ] args
+ // Always use camelCase key (gh-2257)
+ if ( typeof data === "string" ) {
+ cache[ camelCase( data ) ] = value;
+
+ // Handle: [ owner, { properties } ] args
+ } else {
+
+ // Copy the properties one-by-one to the cache object
+ for ( prop in data ) {
+ cache[ camelCase( prop ) ] = data[ prop ];
+ }
+ }
+ return cache;
+ },
+ get: function( owner, key ) {
+ return key === undefined ?
+ this.cache( owner ) :
+
+ // Always use camelCase key (gh-2257)
+ owner[ this.expando ] && owner[ this.expando ][ camelCase( key ) ];
+ },
+ access: function( owner, key, value ) {
+
+ // In cases where either:
+ //
+ // 1. No key was specified
+ // 2. A string key was specified, but no value provided
+ //
+ // Take the "read" path and allow the get method to determine
+ // which value to return, respectively either:
+ //
+ // 1. The entire cache object
+ // 2. The data stored at the key
+ //
+ if ( key === undefined ||
+ ( ( key && typeof key === "string" ) && value === undefined ) ) {
+
+ return this.get( owner, key );
+ }
+
+ // When the key is not a string, or both a key and value
+ // are specified, set or extend (existing objects) with either:
+ //
+ // 1. An object of properties
+ // 2. A key and value
+ //
+ this.set( owner, key, value );
+
+ // Since the "set" path can have two possible entry points
+ // return the expected data based on which path was taken[*]
+ return value !== undefined ? value : key;
+ },
+ remove: function( owner, key ) {
+ var i,
+ cache = owner[ this.expando ];
+
+ if ( cache === undefined ) {
+ return;
+ }
+
+ if ( key !== undefined ) {
+
+ // Support array or space separated string of keys
+ if ( Array.isArray( key ) ) {
+
+ // If key is an array of keys...
+ // We always set camelCase keys, so remove that.
+ key = key.map( camelCase );
+ } else {
+ key = camelCase( key );
+
+ // If a key with the spaces exists, use it.
+ // Otherwise, create an array by matching non-whitespace
+ key = key in cache ?
+ [ key ] :
+ ( key.match( rnothtmlwhite ) || [] );
+ }
+
+ i = key.length;
+
+ while ( i-- ) {
+ delete cache[ key[ i ] ];
+ }
+ }
+
+ // Remove the expando if there's no more data
+ if ( key === undefined || jQuery.isEmptyObject( cache ) ) {
+
+ // Support: Chrome <=35 - 45
+ // Webkit & Blink performance suffers when deleting properties
+ // from DOM nodes, so set to undefined instead
+ // https://bugs.chromium.org/p/chromium/issues/detail?id=378607 (bug restricted)
+ if ( owner.nodeType ) {
+ owner[ this.expando ] = undefined;
+ } else {
+ delete owner[ this.expando ];
+ }
+ }
+ },
+ hasData: function( owner ) {
+ var cache = owner[ this.expando ];
+ return cache !== undefined && !jQuery.isEmptyObject( cache );
+ }
+};
+var dataPriv = new Data();
+
+var dataUser = new Data();
+
+
+
+// Implementation Summary
+//
+// 1. Enforce API surface and semantic compatibility with 1.9.x branch
+// 2. Improve the module's maintainability by reducing the storage
+// paths to a single mechanism.
+// 3. Use the same single mechanism to support "private" and "user" data.
+// 4. _Never_ expose "private" data to user code (TODO: Drop _data, _removeData)
+// 5. Avoid exposing implementation details on user objects (eg. expando properties)
+// 6. Provide a clear path for implementation upgrade to WeakMap in 2014
+
+var rbrace = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,
+ rmultiDash = /[A-Z]/g;
+
+function getData( data ) {
+ if ( data === "true" ) {
+ return true;
+ }
+
+ if ( data === "false" ) {
+ return false;
+ }
+
+ if ( data === "null" ) {
+ return null;
+ }
+
+ // Only convert to a number if it doesn't change the string
+ if ( data === +data + "" ) {
+ return +data;
+ }
+
+ if ( rbrace.test( data ) ) {
+ return JSON.parse( data );
+ }
+
+ return data;
+}
+
+function dataAttr( elem, key, data ) {
+ var name;
+
+ // If nothing was found internally, try to fetch any
+ // data from the HTML5 data-* attribute
+ if ( data === undefined && elem.nodeType === 1 ) {
+ name = "data-" + key.replace( rmultiDash, "-$&" ).toLowerCase();
+ data = elem.getAttribute( name );
+
+ if ( typeof data === "string" ) {
+ try {
+ data = getData( data );
+ } catch ( e ) {}
+
+ // Make sure we set the data so it isn't changed later
+ dataUser.set( elem, key, data );
+ } else {
+ data = undefined;
+ }
+ }
+ return data;
+}
+
+jQuery.extend( {
+ hasData: function( elem ) {
+ return dataUser.hasData( elem ) || dataPriv.hasData( elem );
+ },
+
+ data: function( elem, name, data ) {
+ return dataUser.access( elem, name, data );
+ },
+
+ removeData: function( elem, name ) {
+ dataUser.remove( elem, name );
+ },
+
+ // TODO: Now that all calls to _data and _removeData have been replaced
+ // with direct calls to dataPriv methods, these can be deprecated.
+ _data: function( elem, name, data ) {
+ return dataPriv.access( elem, name, data );
+ },
+
+ _removeData: function( elem, name ) {
+ dataPriv.remove( elem, name );
+ }
+} );
+
+jQuery.fn.extend( {
+ data: function( key, value ) {
+ var i, name, data,
+ elem = this[ 0 ],
+ attrs = elem && elem.attributes;
+
+ // Gets all values
+ if ( key === undefined ) {
+ if ( this.length ) {
+ data = dataUser.get( elem );
+
+ if ( elem.nodeType === 1 && !dataPriv.get( elem, "hasDataAttrs" ) ) {
+ i = attrs.length;
+ while ( i-- ) {
+
+ // Support: IE 11 only
+ // The attrs elements can be null (#14894)
+ if ( attrs[ i ] ) {
+ name = attrs[ i ].name;
+ if ( name.indexOf( "data-" ) === 0 ) {
+ name = camelCase( name.slice( 5 ) );
+ dataAttr( elem, name, data[ name ] );
+ }
+ }
+ }
+ dataPriv.set( elem, "hasDataAttrs", true );
+ }
+ }
+
+ return data;
+ }
+
+ // Sets multiple values
+ if ( typeof key === "object" ) {
+ return this.each( function() {
+ dataUser.set( this, key );
+ } );
+ }
+
+ return access( this, function( value ) {
+ var data;
+
+ // The calling jQuery object (element matches) is not empty
+ // (and therefore has an element appears at this[ 0 ]) and the
+ // `value` parameter was not undefined. An empty jQuery object
+ // will result in `undefined` for elem = this[ 0 ] which will
+ // throw an exception if an attempt to read a data cache is made.
+ if ( elem && value === undefined ) {
+
+ // Attempt to get data from the cache
+ // The key will always be camelCased in Data
+ data = dataUser.get( elem, key );
+ if ( data !== undefined ) {
+ return data;
+ }
+
+ // Attempt to "discover" the data in
+ // HTML5 custom data-* attrs
+ data = dataAttr( elem, key );
+ if ( data !== undefined ) {
+ return data;
+ }
+
+ // We tried really hard, but the data doesn't exist.
+ return;
+ }
+
+ // Set the data...
+ this.each( function() {
+
+ // We always store the camelCased key
+ dataUser.set( this, key, value );
+ } );
+ }, null, value, arguments.length > 1, null, true );
+ },
+
+ removeData: function( key ) {
+ return this.each( function() {
+ dataUser.remove( this, key );
+ } );
+ }
+} );
+
+
+jQuery.extend( {
+ queue: function( elem, type, data ) {
+ var queue;
+
+ if ( elem ) {
+ type = ( type || "fx" ) + "queue";
+ queue = dataPriv.get( elem, type );
+
+ // Speed up dequeue by getting out quickly if this is just a lookup
+ if ( data ) {
+ if ( !queue || Array.isArray( data ) ) {
+ queue = dataPriv.access( elem, type, jQuery.makeArray( data ) );
+ } else {
+ queue.push( data );
+ }
+ }
+ return queue || [];
+ }
+ },
+
+ dequeue: function( elem, type ) {
+ type = type || "fx";
+
+ var queue = jQuery.queue( elem, type ),
+ startLength = queue.length,
+ fn = queue.shift(),
+ hooks = jQuery._queueHooks( elem, type ),
+ next = function() {
+ jQuery.dequeue( elem, type );
+ };
+
+ // If the fx queue is dequeued, always remove the progress sentinel
+ if ( fn === "inprogress" ) {
+ fn = queue.shift();
+ startLength--;
+ }
+
+ if ( fn ) {
+
+ // Add a progress sentinel to prevent the fx queue from being
+ // automatically dequeued
+ if ( type === "fx" ) {
+ queue.unshift( "inprogress" );
+ }
+
+ // Clear up the last queue stop function
+ delete hooks.stop;
+ fn.call( elem, next, hooks );
+ }
+
+ if ( !startLength && hooks ) {
+ hooks.empty.fire();
+ }
+ },
+
+ // Not public - generate a queueHooks object, or return the current one
+ _queueHooks: function( elem, type ) {
+ var key = type + "queueHooks";
+ return dataPriv.get( elem, key ) || dataPriv.access( elem, key, {
+ empty: jQuery.Callbacks( "once memory" ).add( function() {
+ dataPriv.remove( elem, [ type + "queue", key ] );
+ } )
+ } );
+ }
+} );
+
+jQuery.fn.extend( {
+ queue: function( type, data ) {
+ var setter = 2;
+
+ if ( typeof type !== "string" ) {
+ data = type;
+ type = "fx";
+ setter--;
+ }
+
+ if ( arguments.length < setter ) {
+ return jQuery.queue( this[ 0 ], type );
+ }
+
+ return data === undefined ?
+ this :
+ this.each( function() {
+ var queue = jQuery.queue( this, type, data );
+
+ // Ensure a hooks for this queue
+ jQuery._queueHooks( this, type );
+
+ if ( type === "fx" && queue[ 0 ] !== "inprogress" ) {
+ jQuery.dequeue( this, type );
+ }
+ } );
+ },
+ dequeue: function( type ) {
+ return this.each( function() {
+ jQuery.dequeue( this, type );
+ } );
+ },
+ clearQueue: function( type ) {
+ return this.queue( type || "fx", [] );
+ },
+
+ // Get a promise resolved when queues of a certain type
+ // are emptied (fx is the type by default)
+ promise: function( type, obj ) {
+ var tmp,
+ count = 1,
+ defer = jQuery.Deferred(),
+ elements = this,
+ i = this.length,
+ resolve = function() {
+ if ( !( --count ) ) {
+ defer.resolveWith( elements, [ elements ] );
+ }
+ };
+
+ if ( typeof type !== "string" ) {
+ obj = type;
+ type = undefined;
+ }
+ type = type || "fx";
+
+ while ( i-- ) {
+ tmp = dataPriv.get( elements[ i ], type + "queueHooks" );
+ if ( tmp && tmp.empty ) {
+ count++;
+ tmp.empty.add( resolve );
+ }
+ }
+ resolve();
+ return defer.promise( obj );
+ }
+} );
+var pnum = ( /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/ ).source;
+
+var rcssNum = new RegExp( "^(?:([+-])=|)(" + pnum + ")([a-z%]*)$", "i" );
+
+
+var cssExpand = [ "Top", "Right", "Bottom", "Left" ];
+
+var documentElement = document.documentElement;
+
+
+
+ var isAttached = function( elem ) {
+ return jQuery.contains( elem.ownerDocument, elem );
+ },
+ composed = { composed: true };
+
+ // Support: IE 9 - 11+, Edge 12 - 18+, iOS 10.0 - 10.2 only
+ // Check attachment across shadow DOM boundaries when possible (gh-3504)
+ // Support: iOS 10.0-10.2 only
+ // Early iOS 10 versions support `attachShadow` but not `getRootNode`,
+ // leading to errors. We need to check for `getRootNode`.
+ if ( documentElement.getRootNode ) {
+ isAttached = function( elem ) {
+ return jQuery.contains( elem.ownerDocument, elem ) ||
+ elem.getRootNode( composed ) === elem.ownerDocument;
+ };
+ }
+var isHiddenWithinTree = function( elem, el ) {
+
+ // isHiddenWithinTree might be called from jQuery#filter function;
+ // in that case, element will be second argument
+ elem = el || elem;
+
+ // Inline style trumps all
+ return elem.style.display === "none" ||
+ elem.style.display === "" &&
+
+ // Otherwise, check computed style
+ // Support: Firefox <=43 - 45
+ // Disconnected elements can have computed display: none, so first confirm that elem is
+ // in the document.
+ isAttached( elem ) &&
+
+ jQuery.css( elem, "display" ) === "none";
+ };
+
+
+
+function adjustCSS( elem, prop, valueParts, tween ) {
+ var adjusted, scale,
+ maxIterations = 20,
+ currentValue = tween ?
+ function() {
+ return tween.cur();
+ } :
+ function() {
+ return jQuery.css( elem, prop, "" );
+ },
+ initial = currentValue(),
+ unit = valueParts && valueParts[ 3 ] || ( jQuery.cssNumber[ prop ] ? "" : "px" ),
+
+ // Starting value computation is required for potential unit mismatches
+ initialInUnit = elem.nodeType &&
+ ( jQuery.cssNumber[ prop ] || unit !== "px" && +initial ) &&
+ rcssNum.exec( jQuery.css( elem, prop ) );
+
+ if ( initialInUnit && initialInUnit[ 3 ] !== unit ) {
+
+ // Support: Firefox <=54
+ // Halve the iteration target value to prevent interference from CSS upper bounds (gh-2144)
+ initial = initial / 2;
+
+ // Trust units reported by jQuery.css
+ unit = unit || initialInUnit[ 3 ];
+
+ // Iteratively approximate from a nonzero starting point
+ initialInUnit = +initial || 1;
+
+ while ( maxIterations-- ) {
+
+ // Evaluate and update our best guess (doubling guesses that zero out).
+ // Finish if the scale equals or crosses 1 (making the old*new product non-positive).
+ jQuery.style( elem, prop, initialInUnit + unit );
+ if ( ( 1 - scale ) * ( 1 - ( scale = currentValue() / initial || 0.5 ) ) <= 0 ) {
+ maxIterations = 0;
+ }
+ initialInUnit = initialInUnit / scale;
+
+ }
+
+ initialInUnit = initialInUnit * 2;
+ jQuery.style( elem, prop, initialInUnit + unit );
+
+ // Make sure we update the tween properties later on
+ valueParts = valueParts || [];
+ }
+
+ if ( valueParts ) {
+ initialInUnit = +initialInUnit || +initial || 0;
+
+ // Apply relative offset (+=/-=) if specified
+ adjusted = valueParts[ 1 ] ?
+ initialInUnit + ( valueParts[ 1 ] + 1 ) * valueParts[ 2 ] :
+ +valueParts[ 2 ];
+ if ( tween ) {
+ tween.unit = unit;
+ tween.start = initialInUnit;
+ tween.end = adjusted;
+ }
+ }
+ return adjusted;
+}
+
+
+var defaultDisplayMap = {};
+
+function getDefaultDisplay( elem ) {
+ var temp,
+ doc = elem.ownerDocument,
+ nodeName = elem.nodeName,
+ display = defaultDisplayMap[ nodeName ];
+
+ if ( display ) {
+ return display;
+ }
+
+ temp = doc.body.appendChild( doc.createElement( nodeName ) );
+ display = jQuery.css( temp, "display" );
+
+ temp.parentNode.removeChild( temp );
+
+ if ( display === "none" ) {
+ display = "block";
+ }
+ defaultDisplayMap[ nodeName ] = display;
+
+ return display;
+}
+
+function showHide( elements, show ) {
+ var display, elem,
+ values = [],
+ index = 0,
+ length = elements.length;
+
+ // Determine new display value for elements that need to change
+ for ( ; index < length; index++ ) {
+ elem = elements[ index ];
+ if ( !elem.style ) {
+ continue;
+ }
+
+ display = elem.style.display;
+ if ( show ) {
+
+ // Since we force visibility upon cascade-hidden elements, an immediate (and slow)
+ // check is required in this first loop unless we have a nonempty display value (either
+ // inline or about-to-be-restored)
+ if ( display === "none" ) {
+ values[ index ] = dataPriv.get( elem, "display" ) || null;
+ if ( !values[ index ] ) {
+ elem.style.display = "";
+ }
+ }
+ if ( elem.style.display === "" && isHiddenWithinTree( elem ) ) {
+ values[ index ] = getDefaultDisplay( elem );
+ }
+ } else {
+ if ( display !== "none" ) {
+ values[ index ] = "none";
+
+ // Remember what we're overwriting
+ dataPriv.set( elem, "display", display );
+ }
+ }
+ }
+
+ // Set the display of the elements in a second loop to avoid constant reflow
+ for ( index = 0; index < length; index++ ) {
+ if ( values[ index ] != null ) {
+ elements[ index ].style.display = values[ index ];
+ }
+ }
+
+ return elements;
+}
+
+jQuery.fn.extend( {
+ show: function() {
+ return showHide( this, true );
+ },
+ hide: function() {
+ return showHide( this );
+ },
+ toggle: function( state ) {
+ if ( typeof state === "boolean" ) {
+ return state ? this.show() : this.hide();
+ }
+
+ return this.each( function() {
+ if ( isHiddenWithinTree( this ) ) {
+ jQuery( this ).show();
+ } else {
+ jQuery( this ).hide();
+ }
+ } );
+ }
+} );
+var rcheckableType = ( /^(?:checkbox|radio)$/i );
+
+var rtagName = ( /<([a-z][^\/\0>\x20\t\r\n\f]*)/i );
+
+var rscriptType = ( /^$|^module$|\/(?:java|ecma)script/i );
+
+
+
+( function() {
+ var fragment = document.createDocumentFragment(),
+ div = fragment.appendChild( document.createElement( "div" ) ),
+ input = document.createElement( "input" );
+
+ // Support: Android 4.0 - 4.3 only
+ // Check state lost if the name is set (#11217)
+ // Support: Windows Web Apps (WWA)
+ // `name` and `type` must use .setAttribute for WWA (#14901)
+ input.setAttribute( "type", "radio" );
+ input.setAttribute( "checked", "checked" );
+ input.setAttribute( "name", "t" );
+
+ div.appendChild( input );
+
+ // Support: Android <=4.1 only
+ // Older WebKit doesn't clone checked state correctly in fragments
+ support.checkClone = div.cloneNode( true ).cloneNode( true ).lastChild.checked;
+
+ // Support: IE <=11 only
+ // Make sure textarea (and checkbox) defaultValue is properly cloned
+ div.innerHTML = "";
+ support.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue;
+
+ // Support: IE <=9 only
+ // IE <=9 replaces tags with their contents when inserted outside of
+ // the select element.
+ div.innerHTML = " ";
+ support.option = !!div.lastChild;
+} )();
+
+
+// We have to close these tags to support XHTML (#13200)
+var wrapMap = {
+
+ // XHTML parsers do not magically insert elements in the
+ // same way that tag soup parsers do. So we cannot shorten
+ // this by omitting or other required elements.
+ thead: [ 1, "" ],
+ col: [ 2, "" ],
+ tr: [ 2, "" ],
+ td: [ 3, "" ],
+
+ _default: [ 0, "", "" ]
+};
+
+wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead;
+wrapMap.th = wrapMap.td;
+
+// Support: IE <=9 only
+if ( !support.option ) {
+ wrapMap.optgroup = wrapMap.option = [ 1, "", " " ];
+}
+
+
+function getAll( context, tag ) {
+
+ // Support: IE <=9 - 11 only
+ // Use typeof to avoid zero-argument method invocation on host objects (#15151)
+ var ret;
+
+ if ( typeof context.getElementsByTagName !== "undefined" ) {
+ ret = context.getElementsByTagName( tag || "*" );
+
+ } else if ( typeof context.querySelectorAll !== "undefined" ) {
+ ret = context.querySelectorAll( tag || "*" );
+
+ } else {
+ ret = [];
+ }
+
+ if ( tag === undefined || tag && nodeName( context, tag ) ) {
+ return jQuery.merge( [ context ], ret );
+ }
+
+ return ret;
+}
+
+
+// Mark scripts as having already been evaluated
+function setGlobalEval( elems, refElements ) {
+ var i = 0,
+ l = elems.length;
+
+ for ( ; i < l; i++ ) {
+ dataPriv.set(
+ elems[ i ],
+ "globalEval",
+ !refElements || dataPriv.get( refElements[ i ], "globalEval" )
+ );
+ }
+}
+
+
+var rhtml = /<|?\w+;/;
+
+function buildFragment( elems, context, scripts, selection, ignored ) {
+ var elem, tmp, tag, wrap, attached, j,
+ fragment = context.createDocumentFragment(),
+ nodes = [],
+ i = 0,
+ l = elems.length;
+
+ for ( ; i < l; i++ ) {
+ elem = elems[ i ];
+
+ if ( elem || elem === 0 ) {
+
+ // Add nodes directly
+ if ( toType( elem ) === "object" ) {
+
+ // Support: Android <=4.0 only, PhantomJS 1 only
+ // push.apply(_, arraylike) throws on ancient WebKit
+ jQuery.merge( nodes, elem.nodeType ? [ elem ] : elem );
+
+ // Convert non-html into a text node
+ } else if ( !rhtml.test( elem ) ) {
+ nodes.push( context.createTextNode( elem ) );
+
+ // Convert html into DOM nodes
+ } else {
+ tmp = tmp || fragment.appendChild( context.createElement( "div" ) );
+
+ // Deserialize a standard representation
+ tag = ( rtagName.exec( elem ) || [ "", "" ] )[ 1 ].toLowerCase();
+ wrap = wrapMap[ tag ] || wrapMap._default;
+ tmp.innerHTML = wrap[ 1 ] + jQuery.htmlPrefilter( elem ) + wrap[ 2 ];
+
+ // Descend through wrappers to the right content
+ j = wrap[ 0 ];
+ while ( j-- ) {
+ tmp = tmp.lastChild;
+ }
+
+ // Support: Android <=4.0 only, PhantomJS 1 only
+ // push.apply(_, arraylike) throws on ancient WebKit
+ jQuery.merge( nodes, tmp.childNodes );
+
+ // Remember the top-level container
+ tmp = fragment.firstChild;
+
+ // Ensure the created nodes are orphaned (#12392)
+ tmp.textContent = "";
+ }
+ }
+ }
+
+ // Remove wrapper from fragment
+ fragment.textContent = "";
+
+ i = 0;
+ while ( ( elem = nodes[ i++ ] ) ) {
+
+ // Skip elements already in the context collection (trac-4087)
+ if ( selection && jQuery.inArray( elem, selection ) > -1 ) {
+ if ( ignored ) {
+ ignored.push( elem );
+ }
+ continue;
+ }
+
+ attached = isAttached( elem );
+
+ // Append to fragment
+ tmp = getAll( fragment.appendChild( elem ), "script" );
+
+ // Preserve script evaluation history
+ if ( attached ) {
+ setGlobalEval( tmp );
+ }
+
+ // Capture executables
+ if ( scripts ) {
+ j = 0;
+ while ( ( elem = tmp[ j++ ] ) ) {
+ if ( rscriptType.test( elem.type || "" ) ) {
+ scripts.push( elem );
+ }
+ }
+ }
+ }
+
+ return fragment;
+}
+
+
+var
+ rkeyEvent = /^key/,
+ rmouseEvent = /^(?:mouse|pointer|contextmenu|drag|drop)|click/,
+ rtypenamespace = /^([^.]*)(?:\.(.+)|)/;
+
+function returnTrue() {
+ return true;
+}
+
+function returnFalse() {
+ return false;
+}
+
+// Support: IE <=9 - 11+
+// focus() and blur() are asynchronous, except when they are no-op.
+// So expect focus to be synchronous when the element is already active,
+// and blur to be synchronous when the element is not already active.
+// (focus and blur are always synchronous in other supported browsers,
+// this just defines when we can count on it).
+function expectSync( elem, type ) {
+ return ( elem === safeActiveElement() ) === ( type === "focus" );
+}
+
+// Support: IE <=9 only
+// Accessing document.activeElement can throw unexpectedly
+// https://bugs.jquery.com/ticket/13393
+function safeActiveElement() {
+ try {
+ return document.activeElement;
+ } catch ( err ) { }
+}
+
+function on( elem, types, selector, data, fn, one ) {
+ var origFn, type;
+
+ // Types can be a map of types/handlers
+ if ( typeof types === "object" ) {
+
+ // ( types-Object, selector, data )
+ if ( typeof selector !== "string" ) {
+
+ // ( types-Object, data )
+ data = data || selector;
+ selector = undefined;
+ }
+ for ( type in types ) {
+ on( elem, type, selector, data, types[ type ], one );
+ }
+ return elem;
+ }
+
+ if ( data == null && fn == null ) {
+
+ // ( types, fn )
+ fn = selector;
+ data = selector = undefined;
+ } else if ( fn == null ) {
+ if ( typeof selector === "string" ) {
+
+ // ( types, selector, fn )
+ fn = data;
+ data = undefined;
+ } else {
+
+ // ( types, data, fn )
+ fn = data;
+ data = selector;
+ selector = undefined;
+ }
+ }
+ if ( fn === false ) {
+ fn = returnFalse;
+ } else if ( !fn ) {
+ return elem;
+ }
+
+ if ( one === 1 ) {
+ origFn = fn;
+ fn = function( event ) {
+
+ // Can use an empty set, since event contains the info
+ jQuery().off( event );
+ return origFn.apply( this, arguments );
+ };
+
+ // Use same guid so caller can remove using origFn
+ fn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ );
+ }
+ return elem.each( function() {
+ jQuery.event.add( this, types, fn, data, selector );
+ } );
+}
+
+/*
+ * Helper functions for managing events -- not part of the public interface.
+ * Props to Dean Edwards' addEvent library for many of the ideas.
+ */
+jQuery.event = {
+
+ global: {},
+
+ add: function( elem, types, handler, data, selector ) {
+
+ var handleObjIn, eventHandle, tmp,
+ events, t, handleObj,
+ special, handlers, type, namespaces, origType,
+ elemData = dataPriv.get( elem );
+
+ // Only attach events to objects that accept data
+ if ( !acceptData( elem ) ) {
+ return;
+ }
+
+ // Caller can pass in an object of custom data in lieu of the handler
+ if ( handler.handler ) {
+ handleObjIn = handler;
+ handler = handleObjIn.handler;
+ selector = handleObjIn.selector;
+ }
+
+ // Ensure that invalid selectors throw exceptions at attach time
+ // Evaluate against documentElement in case elem is a non-element node (e.g., document)
+ if ( selector ) {
+ jQuery.find.matchesSelector( documentElement, selector );
+ }
+
+ // Make sure that the handler has a unique ID, used to find/remove it later
+ if ( !handler.guid ) {
+ handler.guid = jQuery.guid++;
+ }
+
+ // Init the element's event structure and main handler, if this is the first
+ if ( !( events = elemData.events ) ) {
+ events = elemData.events = Object.create( null );
+ }
+ if ( !( eventHandle = elemData.handle ) ) {
+ eventHandle = elemData.handle = function( e ) {
+
+ // Discard the second event of a jQuery.event.trigger() and
+ // when an event is called after a page has unloaded
+ return typeof jQuery !== "undefined" && jQuery.event.triggered !== e.type ?
+ jQuery.event.dispatch.apply( elem, arguments ) : undefined;
+ };
+ }
+
+ // Handle multiple events separated by a space
+ types = ( types || "" ).match( rnothtmlwhite ) || [ "" ];
+ t = types.length;
+ while ( t-- ) {
+ tmp = rtypenamespace.exec( types[ t ] ) || [];
+ type = origType = tmp[ 1 ];
+ namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort();
+
+ // There *must* be a type, no attaching namespace-only handlers
+ if ( !type ) {
+ continue;
+ }
+
+ // If event changes its type, use the special event handlers for the changed type
+ special = jQuery.event.special[ type ] || {};
+
+ // If selector defined, determine special event api type, otherwise given type
+ type = ( selector ? special.delegateType : special.bindType ) || type;
+
+ // Update special based on newly reset type
+ special = jQuery.event.special[ type ] || {};
+
+ // handleObj is passed to all event handlers
+ handleObj = jQuery.extend( {
+ type: type,
+ origType: origType,
+ data: data,
+ handler: handler,
+ guid: handler.guid,
+ selector: selector,
+ needsContext: selector && jQuery.expr.match.needsContext.test( selector ),
+ namespace: namespaces.join( "." )
+ }, handleObjIn );
+
+ // Init the event handler queue if we're the first
+ if ( !( handlers = events[ type ] ) ) {
+ handlers = events[ type ] = [];
+ handlers.delegateCount = 0;
+
+ // Only use addEventListener if the special events handler returns false
+ if ( !special.setup ||
+ special.setup.call( elem, data, namespaces, eventHandle ) === false ) {
+
+ if ( elem.addEventListener ) {
+ elem.addEventListener( type, eventHandle );
+ }
+ }
+ }
+
+ if ( special.add ) {
+ special.add.call( elem, handleObj );
+
+ if ( !handleObj.handler.guid ) {
+ handleObj.handler.guid = handler.guid;
+ }
+ }
+
+ // Add to the element's handler list, delegates in front
+ if ( selector ) {
+ handlers.splice( handlers.delegateCount++, 0, handleObj );
+ } else {
+ handlers.push( handleObj );
+ }
+
+ // Keep track of which events have ever been used, for event optimization
+ jQuery.event.global[ type ] = true;
+ }
+
+ },
+
+ // Detach an event or set of events from an element
+ remove: function( elem, types, handler, selector, mappedTypes ) {
+
+ var j, origCount, tmp,
+ events, t, handleObj,
+ special, handlers, type, namespaces, origType,
+ elemData = dataPriv.hasData( elem ) && dataPriv.get( elem );
+
+ if ( !elemData || !( events = elemData.events ) ) {
+ return;
+ }
+
+ // Once for each type.namespace in types; type may be omitted
+ types = ( types || "" ).match( rnothtmlwhite ) || [ "" ];
+ t = types.length;
+ while ( t-- ) {
+ tmp = rtypenamespace.exec( types[ t ] ) || [];
+ type = origType = tmp[ 1 ];
+ namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort();
+
+ // Unbind all events (on this namespace, if provided) for the element
+ if ( !type ) {
+ for ( type in events ) {
+ jQuery.event.remove( elem, type + types[ t ], handler, selector, true );
+ }
+ continue;
+ }
+
+ special = jQuery.event.special[ type ] || {};
+ type = ( selector ? special.delegateType : special.bindType ) || type;
+ handlers = events[ type ] || [];
+ tmp = tmp[ 2 ] &&
+ new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" );
+
+ // Remove matching events
+ origCount = j = handlers.length;
+ while ( j-- ) {
+ handleObj = handlers[ j ];
+
+ if ( ( mappedTypes || origType === handleObj.origType ) &&
+ ( !handler || handler.guid === handleObj.guid ) &&
+ ( !tmp || tmp.test( handleObj.namespace ) ) &&
+ ( !selector || selector === handleObj.selector ||
+ selector === "**" && handleObj.selector ) ) {
+ handlers.splice( j, 1 );
+
+ if ( handleObj.selector ) {
+ handlers.delegateCount--;
+ }
+ if ( special.remove ) {
+ special.remove.call( elem, handleObj );
+ }
+ }
+ }
+
+ // Remove generic event handler if we removed something and no more handlers exist
+ // (avoids potential for endless recursion during removal of special event handlers)
+ if ( origCount && !handlers.length ) {
+ if ( !special.teardown ||
+ special.teardown.call( elem, namespaces, elemData.handle ) === false ) {
+
+ jQuery.removeEvent( elem, type, elemData.handle );
+ }
+
+ delete events[ type ];
+ }
+ }
+
+ // Remove data and the expando if it's no longer used
+ if ( jQuery.isEmptyObject( events ) ) {
+ dataPriv.remove( elem, "handle events" );
+ }
+ },
+
+ dispatch: function( nativeEvent ) {
+
+ var i, j, ret, matched, handleObj, handlerQueue,
+ args = new Array( arguments.length ),
+
+ // Make a writable jQuery.Event from the native event object
+ event = jQuery.event.fix( nativeEvent ),
+
+ handlers = (
+ dataPriv.get( this, "events" ) || Object.create( null )
+ )[ event.type ] || [],
+ special = jQuery.event.special[ event.type ] || {};
+
+ // Use the fix-ed jQuery.Event rather than the (read-only) native event
+ args[ 0 ] = event;
+
+ for ( i = 1; i < arguments.length; i++ ) {
+ args[ i ] = arguments[ i ];
+ }
+
+ event.delegateTarget = this;
+
+ // Call the preDispatch hook for the mapped type, and let it bail if desired
+ if ( special.preDispatch && special.preDispatch.call( this, event ) === false ) {
+ return;
+ }
+
+ // Determine handlers
+ handlerQueue = jQuery.event.handlers.call( this, event, handlers );
+
+ // Run delegates first; they may want to stop propagation beneath us
+ i = 0;
+ while ( ( matched = handlerQueue[ i++ ] ) && !event.isPropagationStopped() ) {
+ event.currentTarget = matched.elem;
+
+ j = 0;
+ while ( ( handleObj = matched.handlers[ j++ ] ) &&
+ !event.isImmediatePropagationStopped() ) {
+
+ // If the event is namespaced, then each handler is only invoked if it is
+ // specially universal or its namespaces are a superset of the event's.
+ if ( !event.rnamespace || handleObj.namespace === false ||
+ event.rnamespace.test( handleObj.namespace ) ) {
+
+ event.handleObj = handleObj;
+ event.data = handleObj.data;
+
+ ret = ( ( jQuery.event.special[ handleObj.origType ] || {} ).handle ||
+ handleObj.handler ).apply( matched.elem, args );
+
+ if ( ret !== undefined ) {
+ if ( ( event.result = ret ) === false ) {
+ event.preventDefault();
+ event.stopPropagation();
+ }
+ }
+ }
+ }
+ }
+
+ // Call the postDispatch hook for the mapped type
+ if ( special.postDispatch ) {
+ special.postDispatch.call( this, event );
+ }
+
+ return event.result;
+ },
+
+ handlers: function( event, handlers ) {
+ var i, handleObj, sel, matchedHandlers, matchedSelectors,
+ handlerQueue = [],
+ delegateCount = handlers.delegateCount,
+ cur = event.target;
+
+ // Find delegate handlers
+ if ( delegateCount &&
+
+ // Support: IE <=9
+ // Black-hole SVG instance trees (trac-13180)
+ cur.nodeType &&
+
+ // Support: Firefox <=42
+ // Suppress spec-violating clicks indicating a non-primary pointer button (trac-3861)
+ // https://www.w3.org/TR/DOM-Level-3-Events/#event-type-click
+ // Support: IE 11 only
+ // ...but not arrow key "clicks" of radio inputs, which can have `button` -1 (gh-2343)
+ !( event.type === "click" && event.button >= 1 ) ) {
+
+ for ( ; cur !== this; cur = cur.parentNode || this ) {
+
+ // Don't check non-elements (#13208)
+ // Don't process clicks on disabled elements (#6911, #8165, #11382, #11764)
+ if ( cur.nodeType === 1 && !( event.type === "click" && cur.disabled === true ) ) {
+ matchedHandlers = [];
+ matchedSelectors = {};
+ for ( i = 0; i < delegateCount; i++ ) {
+ handleObj = handlers[ i ];
+
+ // Don't conflict with Object.prototype properties (#13203)
+ sel = handleObj.selector + " ";
+
+ if ( matchedSelectors[ sel ] === undefined ) {
+ matchedSelectors[ sel ] = handleObj.needsContext ?
+ jQuery( sel, this ).index( cur ) > -1 :
+ jQuery.find( sel, this, null, [ cur ] ).length;
+ }
+ if ( matchedSelectors[ sel ] ) {
+ matchedHandlers.push( handleObj );
+ }
+ }
+ if ( matchedHandlers.length ) {
+ handlerQueue.push( { elem: cur, handlers: matchedHandlers } );
+ }
+ }
+ }
+ }
+
+ // Add the remaining (directly-bound) handlers
+ cur = this;
+ if ( delegateCount < handlers.length ) {
+ handlerQueue.push( { elem: cur, handlers: handlers.slice( delegateCount ) } );
+ }
+
+ return handlerQueue;
+ },
+
+ addProp: function( name, hook ) {
+ Object.defineProperty( jQuery.Event.prototype, name, {
+ enumerable: true,
+ configurable: true,
+
+ get: isFunction( hook ) ?
+ function() {
+ if ( this.originalEvent ) {
+ return hook( this.originalEvent );
+ }
+ } :
+ function() {
+ if ( this.originalEvent ) {
+ return this.originalEvent[ name ];
+ }
+ },
+
+ set: function( value ) {
+ Object.defineProperty( this, name, {
+ enumerable: true,
+ configurable: true,
+ writable: true,
+ value: value
+ } );
+ }
+ } );
+ },
+
+ fix: function( originalEvent ) {
+ return originalEvent[ jQuery.expando ] ?
+ originalEvent :
+ new jQuery.Event( originalEvent );
+ },
+
+ special: {
+ load: {
+
+ // Prevent triggered image.load events from bubbling to window.load
+ noBubble: true
+ },
+ click: {
+
+ // Utilize native event to ensure correct state for checkable inputs
+ setup: function( data ) {
+
+ // For mutual compressibility with _default, replace `this` access with a local var.
+ // `|| data` is dead code meant only to preserve the variable through minification.
+ var el = this || data;
+
+ // Claim the first handler
+ if ( rcheckableType.test( el.type ) &&
+ el.click && nodeName( el, "input" ) ) {
+
+ // dataPriv.set( el, "click", ... )
+ leverageNative( el, "click", returnTrue );
+ }
+
+ // Return false to allow normal processing in the caller
+ return false;
+ },
+ trigger: function( data ) {
+
+ // For mutual compressibility with _default, replace `this` access with a local var.
+ // `|| data` is dead code meant only to preserve the variable through minification.
+ var el = this || data;
+
+ // Force setup before triggering a click
+ if ( rcheckableType.test( el.type ) &&
+ el.click && nodeName( el, "input" ) ) {
+
+ leverageNative( el, "click" );
+ }
+
+ // Return non-false to allow normal event-path propagation
+ return true;
+ },
+
+ // For cross-browser consistency, suppress native .click() on links
+ // Also prevent it if we're currently inside a leveraged native-event stack
+ _default: function( event ) {
+ var target = event.target;
+ return rcheckableType.test( target.type ) &&
+ target.click && nodeName( target, "input" ) &&
+ dataPriv.get( target, "click" ) ||
+ nodeName( target, "a" );
+ }
+ },
+
+ beforeunload: {
+ postDispatch: function( event ) {
+
+ // Support: Firefox 20+
+ // Firefox doesn't alert if the returnValue field is not set.
+ if ( event.result !== undefined && event.originalEvent ) {
+ event.originalEvent.returnValue = event.result;
+ }
+ }
+ }
+ }
+};
+
+// Ensure the presence of an event listener that handles manually-triggered
+// synthetic events by interrupting progress until reinvoked in response to
+// *native* events that it fires directly, ensuring that state changes have
+// already occurred before other listeners are invoked.
+function leverageNative( el, type, expectSync ) {
+
+ // Missing expectSync indicates a trigger call, which must force setup through jQuery.event.add
+ if ( !expectSync ) {
+ if ( dataPriv.get( el, type ) === undefined ) {
+ jQuery.event.add( el, type, returnTrue );
+ }
+ return;
+ }
+
+ // Register the controller as a special universal handler for all event namespaces
+ dataPriv.set( el, type, false );
+ jQuery.event.add( el, type, {
+ namespace: false,
+ handler: function( event ) {
+ var notAsync, result,
+ saved = dataPriv.get( this, type );
+
+ if ( ( event.isTrigger & 1 ) && this[ type ] ) {
+
+ // Interrupt processing of the outer synthetic .trigger()ed event
+ // Saved data should be false in such cases, but might be a leftover capture object
+ // from an async native handler (gh-4350)
+ if ( !saved.length ) {
+
+ // Store arguments for use when handling the inner native event
+ // There will always be at least one argument (an event object), so this array
+ // will not be confused with a leftover capture object.
+ saved = slice.call( arguments );
+ dataPriv.set( this, type, saved );
+
+ // Trigger the native event and capture its result
+ // Support: IE <=9 - 11+
+ // focus() and blur() are asynchronous
+ notAsync = expectSync( this, type );
+ this[ type ]();
+ result = dataPriv.get( this, type );
+ if ( saved !== result || notAsync ) {
+ dataPriv.set( this, type, false );
+ } else {
+ result = {};
+ }
+ if ( saved !== result ) {
+
+ // Cancel the outer synthetic event
+ event.stopImmediatePropagation();
+ event.preventDefault();
+ return result.value;
+ }
+
+ // If this is an inner synthetic event for an event with a bubbling surrogate
+ // (focus or blur), assume that the surrogate already propagated from triggering the
+ // native event and prevent that from happening again here.
+ // This technically gets the ordering wrong w.r.t. to `.trigger()` (in which the
+ // bubbling surrogate propagates *after* the non-bubbling base), but that seems
+ // less bad than duplication.
+ } else if ( ( jQuery.event.special[ type ] || {} ).delegateType ) {
+ event.stopPropagation();
+ }
+
+ // If this is a native event triggered above, everything is now in order
+ // Fire an inner synthetic event with the original arguments
+ } else if ( saved.length ) {
+
+ // ...and capture the result
+ dataPriv.set( this, type, {
+ value: jQuery.event.trigger(
+
+ // Support: IE <=9 - 11+
+ // Extend with the prototype to reset the above stopImmediatePropagation()
+ jQuery.extend( saved[ 0 ], jQuery.Event.prototype ),
+ saved.slice( 1 ),
+ this
+ )
+ } );
+
+ // Abort handling of the native event
+ event.stopImmediatePropagation();
+ }
+ }
+ } );
+}
+
+jQuery.removeEvent = function( elem, type, handle ) {
+
+ // This "if" is needed for plain objects
+ if ( elem.removeEventListener ) {
+ elem.removeEventListener( type, handle );
+ }
+};
+
+jQuery.Event = function( src, props ) {
+
+ // Allow instantiation without the 'new' keyword
+ if ( !( this instanceof jQuery.Event ) ) {
+ return new jQuery.Event( src, props );
+ }
+
+ // Event object
+ if ( src && src.type ) {
+ this.originalEvent = src;
+ this.type = src.type;
+
+ // Events bubbling up the document may have been marked as prevented
+ // by a handler lower down the tree; reflect the correct value.
+ this.isDefaultPrevented = src.defaultPrevented ||
+ src.defaultPrevented === undefined &&
+
+ // Support: Android <=2.3 only
+ src.returnValue === false ?
+ returnTrue :
+ returnFalse;
+
+ // Create target properties
+ // Support: Safari <=6 - 7 only
+ // Target should not be a text node (#504, #13143)
+ this.target = ( src.target && src.target.nodeType === 3 ) ?
+ src.target.parentNode :
+ src.target;
+
+ this.currentTarget = src.currentTarget;
+ this.relatedTarget = src.relatedTarget;
+
+ // Event type
+ } else {
+ this.type = src;
+ }
+
+ // Put explicitly provided properties onto the event object
+ if ( props ) {
+ jQuery.extend( this, props );
+ }
+
+ // Create a timestamp if incoming event doesn't have one
+ this.timeStamp = src && src.timeStamp || Date.now();
+
+ // Mark it as fixed
+ this[ jQuery.expando ] = true;
+};
+
+// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding
+// https://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html
+jQuery.Event.prototype = {
+ constructor: jQuery.Event,
+ isDefaultPrevented: returnFalse,
+ isPropagationStopped: returnFalse,
+ isImmediatePropagationStopped: returnFalse,
+ isSimulated: false,
+
+ preventDefault: function() {
+ var e = this.originalEvent;
+
+ this.isDefaultPrevented = returnTrue;
+
+ if ( e && !this.isSimulated ) {
+ e.preventDefault();
+ }
+ },
+ stopPropagation: function() {
+ var e = this.originalEvent;
+
+ this.isPropagationStopped = returnTrue;
+
+ if ( e && !this.isSimulated ) {
+ e.stopPropagation();
+ }
+ },
+ stopImmediatePropagation: function() {
+ var e = this.originalEvent;
+
+ this.isImmediatePropagationStopped = returnTrue;
+
+ if ( e && !this.isSimulated ) {
+ e.stopImmediatePropagation();
+ }
+
+ this.stopPropagation();
+ }
+};
+
+// Includes all common event props including KeyEvent and MouseEvent specific props
+jQuery.each( {
+ altKey: true,
+ bubbles: true,
+ cancelable: true,
+ changedTouches: true,
+ ctrlKey: true,
+ detail: true,
+ eventPhase: true,
+ metaKey: true,
+ pageX: true,
+ pageY: true,
+ shiftKey: true,
+ view: true,
+ "char": true,
+ code: true,
+ charCode: true,
+ key: true,
+ keyCode: true,
+ button: true,
+ buttons: true,
+ clientX: true,
+ clientY: true,
+ offsetX: true,
+ offsetY: true,
+ pointerId: true,
+ pointerType: true,
+ screenX: true,
+ screenY: true,
+ targetTouches: true,
+ toElement: true,
+ touches: true,
+
+ which: function( event ) {
+ var button = event.button;
+
+ // Add which for key events
+ if ( event.which == null && rkeyEvent.test( event.type ) ) {
+ return event.charCode != null ? event.charCode : event.keyCode;
+ }
+
+ // Add which for click: 1 === left; 2 === middle; 3 === right
+ if ( !event.which && button !== undefined && rmouseEvent.test( event.type ) ) {
+ if ( button & 1 ) {
+ return 1;
+ }
+
+ if ( button & 2 ) {
+ return 3;
+ }
+
+ if ( button & 4 ) {
+ return 2;
+ }
+
+ return 0;
+ }
+
+ return event.which;
+ }
+}, jQuery.event.addProp );
+
+jQuery.each( { focus: "focusin", blur: "focusout" }, function( type, delegateType ) {
+ jQuery.event.special[ type ] = {
+
+ // Utilize native event if possible so blur/focus sequence is correct
+ setup: function() {
+
+ // Claim the first handler
+ // dataPriv.set( this, "focus", ... )
+ // dataPriv.set( this, "blur", ... )
+ leverageNative( this, type, expectSync );
+
+ // Return false to allow normal processing in the caller
+ return false;
+ },
+ trigger: function() {
+
+ // Force setup before trigger
+ leverageNative( this, type );
+
+ // Return non-false to allow normal event-path propagation
+ return true;
+ },
+
+ delegateType: delegateType
+ };
+} );
+
+// Create mouseenter/leave events using mouseover/out and event-time checks
+// so that event delegation works in jQuery.
+// Do the same for pointerenter/pointerleave and pointerover/pointerout
+//
+// Support: Safari 7 only
+// Safari sends mouseenter too often; see:
+// https://bugs.chromium.org/p/chromium/issues/detail?id=470258
+// for the description of the bug (it existed in older Chrome versions as well).
+jQuery.each( {
+ mouseenter: "mouseover",
+ mouseleave: "mouseout",
+ pointerenter: "pointerover",
+ pointerleave: "pointerout"
+}, function( orig, fix ) {
+ jQuery.event.special[ orig ] = {
+ delegateType: fix,
+ bindType: fix,
+
+ handle: function( event ) {
+ var ret,
+ target = this,
+ related = event.relatedTarget,
+ handleObj = event.handleObj;
+
+ // For mouseenter/leave call the handler if related is outside the target.
+ // NB: No relatedTarget if the mouse left/entered the browser window
+ if ( !related || ( related !== target && !jQuery.contains( target, related ) ) ) {
+ event.type = handleObj.origType;
+ ret = handleObj.handler.apply( this, arguments );
+ event.type = fix;
+ }
+ return ret;
+ }
+ };
+} );
+
+jQuery.fn.extend( {
+
+ on: function( types, selector, data, fn ) {
+ return on( this, types, selector, data, fn );
+ },
+ one: function( types, selector, data, fn ) {
+ return on( this, types, selector, data, fn, 1 );
+ },
+ off: function( types, selector, fn ) {
+ var handleObj, type;
+ if ( types && types.preventDefault && types.handleObj ) {
+
+ // ( event ) dispatched jQuery.Event
+ handleObj = types.handleObj;
+ jQuery( types.delegateTarget ).off(
+ handleObj.namespace ?
+ handleObj.origType + "." + handleObj.namespace :
+ handleObj.origType,
+ handleObj.selector,
+ handleObj.handler
+ );
+ return this;
+ }
+ if ( typeof types === "object" ) {
+
+ // ( types-object [, selector] )
+ for ( type in types ) {
+ this.off( type, selector, types[ type ] );
+ }
+ return this;
+ }
+ if ( selector === false || typeof selector === "function" ) {
+
+ // ( types [, fn] )
+ fn = selector;
+ selector = undefined;
+ }
+ if ( fn === false ) {
+ fn = returnFalse;
+ }
+ return this.each( function() {
+ jQuery.event.remove( this, types, fn, selector );
+ } );
+ }
+} );
+
+
+var
+
+ // Support: IE <=10 - 11, Edge 12 - 13 only
+ // In IE/Edge using regex groups here causes severe slowdowns.
+ // See https://connect.microsoft.com/IE/feedback/details/1736512/
+ rnoInnerhtml = /\r\n";
+
+// inject VBScript
+document.write(IEBinaryToArray_ByteStr_Script);
+
+global.JSZipUtils._getBinaryFromXHR = function (xhr) {
+ var binary = xhr.responseBody;
+ var byteMapping = {};
+ for ( var i = 0; i < 256; i++ ) {
+ for ( var j = 0; j < 256; j++ ) {
+ byteMapping[ String.fromCharCode( i + (j << 8) ) ] =
+ String.fromCharCode(i) + String.fromCharCode(j);
+ }
+ }
+ var rawBytes = IEBinaryToArray_ByteStr(binary);
+ var lastChr = IEBinaryToArray_ByteStr_Last(binary);
+ return rawBytes.replace(/[\s\S]/g, function( match ) {
+ return byteMapping[match];
+ }) + lastChr;
+};
+
+// enforcing Stuk's coding style
+// vim: set shiftwidth=4 softtabstop=4:
+
+},{}]},{},[1])
+;
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/jquery/jszip-utils/dist/jszip-utils-ie.min.js b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/jquery/jszip-utils/dist/jszip-utils-ie.min.js
new file mode 100644
index 000000000..93d8bc8ef
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/jquery/jszip-utils/dist/jszip-utils-ie.min.js
@@ -0,0 +1,10 @@
+/*!
+
+JSZipUtils - A collection of cross-browser utilities to go along with JSZip.
+
+
+(c) 2014 Stuart Knightley, David Duponchel
+Dual licenced under the MIT license or GPLv3. See https://raw.github.com/Stuk/jszip-utils/master/LICENSE.markdown.
+
+*/
+!function a(b,c,d){function e(g,h){if(!c[g]){if(!b[g]){var i="function"==typeof require&&require;if(!h&&i)return i(g,!0);if(f)return f(g,!0);throw new Error("Cannot find module '"+g+"'")}var j=c[g]={exports:{}};b[g][0].call(j.exports,function(a){var c=b[g][1][a];return e(c?c:a)},j,j.exports,a,b,c,d)}return c[g].exports}for(var f="function"==typeof require&&require,g=0;g\r\n\r\n";document.write(b),a.JSZipUtils._getBinaryFromXHR=function(a){for(var b=a.responseBody,c={},d=0;256>d;d++)for(var e=0;256>e;e++)c[String.fromCharCode(d+(e<<8))]=String.fromCharCode(d)+String.fromCharCode(e);var f=IEBinaryToArray_ByteStr(b),g=IEBinaryToArray_ByteStr_Last(b);return f.replace(/[\s\S]/g,function(a){return c[a]})+g}},{}]},{},[1]);
diff --git a/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/jquery/jszip-utils/dist/jszip-utils.js b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/jquery/jszip-utils/dist/jszip-utils.js
new file mode 100644
index 000000000..775895ec9
--- /dev/null
+++ b/BindingSource/AnylineXamarinSDK.Droid/Assets/tools/javadoc/jquery/jszip-utils/dist/jszip-utils.js
@@ -0,0 +1,118 @@
+/*!
+
+JSZipUtils - A collection of cross-browser utilities to go along with JSZip.
+
+
+(c) 2014 Stuart Knightley, David Duponchel
+Dual licenced under the MIT license or GPLv3. See https://raw.github.com/Stuk/jszip-utils/master/LICENSE.markdown.
+
+*/
+!function(e){"object"==typeof exports?module.exports=e():"function"==typeof define&&define.amd?define(e):"undefined"!=typeof window?window.JSZipUtils=e():"undefined"!=typeof global?global.JSZipUtils=e():"undefined"!=typeof self&&(self.JSZipUtils=e())}(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);throw new Error("Cannot find module '"+o+"'")}var f=n[o]={exports:{}};t[o][0].call(f.exports,function(e){var n=t[o][1][e];return s(n?n:e)},f,f.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o
+
+(c) 2014 Stuart Knightley, David Duponchel
+Dual licenced under the MIT license or GPLv3. See https://raw.github.com/Stuk/jszip-utils/master/LICENSE.markdown.
+
+*/
+!function(a){"object"==typeof exports?module.exports=a():"function"==typeof define&&define.amd?define(a):"undefined"!=typeof window?window.JSZipUtils=a():"undefined"!=typeof global?global.JSZipUtils=a():"undefined"!=typeof self&&(self.JSZipUtils=a())}(function(){return function a(b,c,d){function e(g,h){if(!c[g]){if(!b[g]){var i="function"==typeof require&&require;if(!h&&i)return i(g,!0);if(f)return f(g,!0);throw new Error("Cannot find module '"+g+"'")}var j=c[g]={exports:{}};b[g][0].call(j.exports,function(a){var c=b[g][1][a];return e(c?c:a)},j,j.exports,a,b,c,d)}return c[g].exports}for(var f="function"==typeof require&&require,g=0;g
+
+(c) 2009-2016 Stuart Knightley
+Dual licenced under the MIT license or GPLv3. See https://raw.github.com/Stuk/jszip/master/LICENSE.markdown.
+
+JSZip uses the library pako released under the MIT license :
+https://github.com/nodeca/pako/blob/master/LICENSE
+*/
+
+(function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.JSZip = f()}})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o> 2;
+ enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);
+ enc3 = remainingBytes > 1 ? (((chr2 & 15) << 2) | (chr3 >> 6)) : 64;
+ enc4 = remainingBytes > 2 ? (chr3 & 63) : 64;
+
+ output.push(_keyStr.charAt(enc1) + _keyStr.charAt(enc2) + _keyStr.charAt(enc3) + _keyStr.charAt(enc4));
+
+ }
+
+ return output.join("");
+};
+
+// public method for decoding
+exports.decode = function(input) {
+ var chr1, chr2, chr3;
+ var enc1, enc2, enc3, enc4;
+ var i = 0, resultIndex = 0;
+
+ var dataUrlPrefix = "data:";
+
+ if (input.substr(0, dataUrlPrefix.length) === dataUrlPrefix) {
+ // This is a common error: people give a data url
+ // (data:image/png;base64,iVBOR...) with a {base64: true} and
+ // wonders why things don't work.
+ // We can detect that the string input looks like a data url but we
+ // *can't* be sure it is one: removing everything up to the comma would
+ // be too dangerous.
+ throw new Error("Invalid base64 input, it looks like a data url.");
+ }
+
+ input = input.replace(/[^A-Za-z0-9\+\/\=]/g, "");
+
+ var totalLength = input.length * 3 / 4;
+ if(input.charAt(input.length - 1) === _keyStr.charAt(64)) {
+ totalLength--;
+ }
+ if(input.charAt(input.length - 2) === _keyStr.charAt(64)) {
+ totalLength--;
+ }
+ if (totalLength % 1 !== 0) {
+ // totalLength is not an integer, the length does not match a valid
+ // base64 content. That can happen if:
+ // - the input is not a base64 content
+ // - the input is *almost* a base64 content, with a extra chars at the
+ // beginning or at the end
+ // - the input uses a base64 variant (base64url for example)
+ throw new Error("Invalid base64 input, bad content length.");
+ }
+ var output;
+ if (support.uint8array) {
+ output = new Uint8Array(totalLength|0);
+ } else {
+ output = new Array(totalLength|0);
+ }
+
+ while (i < input.length) {
+
+ enc1 = _keyStr.indexOf(input.charAt(i++));
+ enc2 = _keyStr.indexOf(input.charAt(i++));
+ enc3 = _keyStr.indexOf(input.charAt(i++));
+ enc4 = _keyStr.indexOf(input.charAt(i++));
+
+ chr1 = (enc1 << 2) | (enc2 >> 4);
+ chr2 = ((enc2 & 15) << 4) | (enc3 >> 2);
+ chr3 = ((enc3 & 3) << 6) | enc4;
+
+ output[resultIndex++] = chr1;
+
+ if (enc3 !== 64) {
+ output[resultIndex++] = chr2;
+ }
+ if (enc4 !== 64) {
+ output[resultIndex++] = chr3;
+ }
+
+ }
+
+ return output;
+};
+
+},{"./support":30,"./utils":32}],2:[function(require,module,exports){
+'use strict';
+
+var external = require("./external");
+var DataWorker = require('./stream/DataWorker');
+var DataLengthProbe = require('./stream/DataLengthProbe');
+var Crc32Probe = require('./stream/Crc32Probe');
+var DataLengthProbe = require('./stream/DataLengthProbe');
+
+/**
+ * Represent a compressed object, with everything needed to decompress it.
+ * @constructor
+ * @param {number} compressedSize the size of the data compressed.
+ * @param {number} uncompressedSize the size of the data after decompression.
+ * @param {number} crc32 the crc32 of the decompressed file.
+ * @param {object} compression the type of compression, see lib/compressions.js.
+ * @param {String|ArrayBuffer|Uint8Array|Buffer} data the compressed data.
+ */
+function CompressedObject(compressedSize, uncompressedSize, crc32, compression, data) {
+ this.compressedSize = compressedSize;
+ this.uncompressedSize = uncompressedSize;
+ this.crc32 = crc32;
+ this.compression = compression;
+ this.compressedContent = data;
+}
+
+CompressedObject.prototype = {
+ /**
+ * Create a worker to get the uncompressed content.
+ * @return {GenericWorker} the worker.
+ */
+ getContentWorker : function () {
+ var worker = new DataWorker(external.Promise.resolve(this.compressedContent))
+ .pipe(this.compression.uncompressWorker())
+ .pipe(new DataLengthProbe("data_length"));
+
+ var that = this;
+ worker.on("end", function () {
+ if(this.streamInfo['data_length'] !== that.uncompressedSize) {
+ throw new Error("Bug : uncompressed data size mismatch");
+ }
+ });
+ return worker;
+ },
+ /**
+ * Create a worker to get the compressed content.
+ * @return {GenericWorker} the worker.
+ */
+ getCompressedWorker : function () {
+ return new DataWorker(external.Promise.resolve(this.compressedContent))
+ .withStreamInfo("compressedSize", this.compressedSize)
+ .withStreamInfo("uncompressedSize", this.uncompressedSize)
+ .withStreamInfo("crc32", this.crc32)
+ .withStreamInfo("compression", this.compression)
+ ;
+ }
+};
+
+/**
+ * Chain the given worker with other workers to compress the content with the
+ * given compresion.
+ * @param {GenericWorker} uncompressedWorker the worker to pipe.
+ * @param {Object} compression the compression object.
+ * @param {Object} compressionOptions the options to use when compressing.
+ * @return {GenericWorker} the new worker compressing the content.
+ */
+CompressedObject.createWorkerFrom = function (uncompressedWorker, compression, compressionOptions) {
+ return uncompressedWorker
+ .pipe(new Crc32Probe())
+ .pipe(new DataLengthProbe("uncompressedSize"))
+ .pipe(compression.compressWorker(compressionOptions))
+ .pipe(new DataLengthProbe("compressedSize"))
+ .withStreamInfo("compression", compression);
+};
+
+module.exports = CompressedObject;
+
+},{"./external":6,"./stream/Crc32Probe":25,"./stream/DataLengthProbe":26,"./stream/DataWorker":27}],3:[function(require,module,exports){
+'use strict';
+
+var GenericWorker = require("./stream/GenericWorker");
+
+exports.STORE = {
+ magic: "\x00\x00",
+ compressWorker : function (compressionOptions) {
+ return new GenericWorker("STORE compression");
+ },
+ uncompressWorker : function () {
+ return new GenericWorker("STORE decompression");
+ }
+};
+exports.DEFLATE = require('./flate');
+
+},{"./flate":7,"./stream/GenericWorker":28}],4:[function(require,module,exports){
+'use strict';
+
+var utils = require('./utils');
+
+/**
+ * The following functions come from pako, from pako/lib/zlib/crc32.js
+ * released under the MIT license, see pako https://github.com/nodeca/pako/
+ */
+
+// Use ordinary array, since untyped makes no boost here
+function makeTable() {
+ var c, table = [];
+
+ for(var n =0; n < 256; n++){
+ c = n;
+ for(var k =0; k < 8; k++){
+ c = ((c&1) ? (0xEDB88320 ^ (c >>> 1)) : (c >>> 1));
+ }
+ table[n] = c;
+ }
+
+ return table;
+}
+
+// Create table on load. Just 255 signed longs. Not a problem.
+var crcTable = makeTable();
+
+
+function crc32(crc, buf, len, pos) {
+ var t = crcTable, end = pos + len;
+
+ crc = crc ^ (-1);
+
+ for (var i = pos; i < end; i++ ) {
+ crc = (crc >>> 8) ^ t[(crc ^ buf[i]) & 0xFF];
+ }
+
+ return (crc ^ (-1)); // >>> 0;
+}
+
+// That's all for the pako functions.
+
+/**
+ * Compute the crc32 of a string.
+ * This is almost the same as the function crc32, but for strings. Using the
+ * same function for the two use cases leads to horrible performances.
+ * @param {Number} crc the starting value of the crc.
+ * @param {String} str the string to use.
+ * @param {Number} len the length of the string.
+ * @param {Number} pos the starting position for the crc32 computation.
+ * @return {Number} the computed crc32.
+ */
+function crc32str(crc, str, len, pos) {
+ var t = crcTable, end = pos + len;
+
+ crc = crc ^ (-1);
+
+ for (var i = pos; i < end; i++ ) {
+ crc = (crc >>> 8) ^ t[(crc ^ str.charCodeAt(i)) & 0xFF];
+ }
+
+ return (crc ^ (-1)); // >>> 0;
+}
+
+module.exports = function crc32wrapper(input, crc) {
+ if (typeof input === "undefined" || !input.length) {
+ return 0;
+ }
+
+ var isArray = utils.getTypeOf(input) !== "string";
+
+ if(isArray) {
+ return crc32(crc|0, input, input.length, 0);
+ } else {
+ return crc32str(crc|0, input, input.length, 0);
+ }
+};
+
+},{"./utils":32}],5:[function(require,module,exports){
+'use strict';
+exports.base64 = false;
+exports.binary = false;
+exports.dir = false;
+exports.createFolders = true;
+exports.date = null;
+exports.compression = null;
+exports.compressionOptions = null;
+exports.comment = null;
+exports.unixPermissions = null;
+exports.dosPermissions = null;
+
+},{}],6:[function(require,module,exports){
+/* global Promise */
+'use strict';
+
+// load the global object first:
+// - it should be better integrated in the system (unhandledRejection in node)
+// - the environment may have a custom Promise implementation (see zone.js)
+var ES6Promise = null;
+if (typeof Promise !== "undefined") {
+ ES6Promise = Promise;
+} else {
+ ES6Promise = require("lie");
+}
+
+/**
+ * Let the user use/change some implementations.
+ */
+module.exports = {
+ Promise: ES6Promise
+};
+
+},{"lie":37}],7:[function(require,module,exports){
+'use strict';
+var USE_TYPEDARRAY = (typeof Uint8Array !== 'undefined') && (typeof Uint16Array !== 'undefined') && (typeof Uint32Array !== 'undefined');
+
+var pako = require("pako");
+var utils = require("./utils");
+var GenericWorker = require("./stream/GenericWorker");
+
+var ARRAY_TYPE = USE_TYPEDARRAY ? "uint8array" : "array";
+
+exports.magic = "\x08\x00";
+
+/**
+ * Create a worker that uses pako to inflate/deflate.
+ * @constructor
+ * @param {String} action the name of the pako function to call : either "Deflate" or "Inflate".
+ * @param {Object} options the options to use when (de)compressing.
+ */
+function FlateWorker(action, options) {
+ GenericWorker.call(this, "FlateWorker/" + action);
+
+ this._pako = null;
+ this._pakoAction = action;
+ this._pakoOptions = options;
+ // the `meta` object from the last chunk received
+ // this allow this worker to pass around metadata
+ this.meta = {};
+}
+
+utils.inherits(FlateWorker, GenericWorker);
+
+/**
+ * @see GenericWorker.processChunk
+ */
+FlateWorker.prototype.processChunk = function (chunk) {
+ this.meta = chunk.meta;
+ if (this._pako === null) {
+ this._createPako();
+ }
+ this._pako.push(utils.transformTo(ARRAY_TYPE, chunk.data), false);
+};
+
+/**
+ * @see GenericWorker.flush
+ */
+FlateWorker.prototype.flush = function () {
+ GenericWorker.prototype.flush.call(this);
+ if (this._pako === null) {
+ this._createPako();
+ }
+ this._pako.push([], true);
+};
+/**
+ * @see GenericWorker.cleanUp
+ */
+FlateWorker.prototype.cleanUp = function () {
+ GenericWorker.prototype.cleanUp.call(this);
+ this._pako = null;
+};
+
+/**
+ * Create the _pako object.
+ * TODO: lazy-loading this object isn't the best solution but it's the
+ * quickest. The best solution is to lazy-load the worker list. See also the
+ * issue #446.
+ */
+FlateWorker.prototype._createPako = function () {
+ this._pako = new pako[this._pakoAction]({
+ raw: true,
+ level: this._pakoOptions.level || -1 // default compression
+ });
+ var self = this;
+ this._pako.onData = function(data) {
+ self.push({
+ data : data,
+ meta : self.meta
+ });
+ };
+};
+
+exports.compressWorker = function (compressionOptions) {
+ return new FlateWorker("Deflate", compressionOptions);
+};
+exports.uncompressWorker = function () {
+ return new FlateWorker("Inflate", {});
+};
+
+},{"./stream/GenericWorker":28,"./utils":32,"pako":38}],8:[function(require,module,exports){
+'use strict';
+
+var utils = require('../utils');
+var GenericWorker = require('../stream/GenericWorker');
+var utf8 = require('../utf8');
+var crc32 = require('../crc32');
+var signature = require('../signature');
+
+/**
+ * Transform an integer into a string in hexadecimal.
+ * @private
+ * @param {number} dec the number to convert.
+ * @param {number} bytes the number of bytes to generate.
+ * @returns {string} the result.
+ */
+var decToHex = function(dec, bytes) {
+ var hex = "", i;
+ for (i = 0; i < bytes; i++) {
+ hex += String.fromCharCode(dec & 0xff);
+ dec = dec >>> 8;
+ }
+ return hex;
+};
+
+/**
+ * Generate the UNIX part of the external file attributes.
+ * @param {Object} unixPermissions the unix permissions or null.
+ * @param {Boolean} isDir true if the entry is a directory, false otherwise.
+ * @return {Number} a 32 bit integer.
+ *
+ * adapted from http://unix.stackexchange.com/questions/14705/the-zip-formats-external-file-attribute :
+ *
+ * TTTTsstrwxrwxrwx0000000000ADVSHR
+ * ^^^^____________________________ file type, see zipinfo.c (UNX_*)
+ * ^^^_________________________ setuid, setgid, sticky
+ * ^^^^^^^^^________________ permissions
+ * ^^^^^^^^^^______ not used ?
+ * ^^^^^^ DOS attribute bits : Archive, Directory, Volume label, System file, Hidden, Read only
+ */
+var generateUnixExternalFileAttr = function (unixPermissions, isDir) {
+
+ var result = unixPermissions;
+ if (!unixPermissions) {
+ // I can't use octal values in strict mode, hence the hexa.
+ // 040775 => 0x41fd
+ // 0100664 => 0x81b4
+ result = isDir ? 0x41fd : 0x81b4;
+ }
+ return (result & 0xFFFF) << 16;
+};
+
+/**
+ * Generate the DOS part of the external file attributes.
+ * @param {Object} dosPermissions the dos permissions or null.
+ * @param {Boolean} isDir true if the entry is a directory, false otherwise.
+ * @return {Number} a 32 bit integer.
+ *
+ * Bit 0 Read-Only
+ * Bit 1 Hidden
+ * Bit 2 System
+ * Bit 3 Volume Label
+ * Bit 4 Directory
+ * Bit 5 Archive
+ */
+var generateDosExternalFileAttr = function (dosPermissions, isDir) {
+
+ // the dir flag is already set for compatibility
+ return (dosPermissions || 0) & 0x3F;
+};
+
+/**
+ * Generate the various parts used in the construction of the final zip file.
+ * @param {Object} streamInfo the hash with informations about the compressed file.
+ * @param {Boolean} streamedContent is the content streamed ?
+ * @param {Boolean} streamingEnded is the stream finished ?
+ * @param {number} offset the current offset from the start of the zip file.
+ * @param {String} platform let's pretend we are this platform (change platform dependents fields)
+ * @param {Function} encodeFileName the function to encode the file name / comment.
+ * @return {Object} the zip parts.
+ */
+var generateZipParts = function(streamInfo, streamedContent, streamingEnded, offset, platform, encodeFileName) {
+ var file = streamInfo['file'],
+ compression = streamInfo['compression'],
+ useCustomEncoding = encodeFileName !== utf8.utf8encode,
+ encodedFileName = utils.transformTo("string", encodeFileName(file.name)),
+ utfEncodedFileName = utils.transformTo("string", utf8.utf8encode(file.name)),
+ comment = file.comment,
+ encodedComment = utils.transformTo("string", encodeFileName(comment)),
+ utfEncodedComment = utils.transformTo("string", utf8.utf8encode(comment)),
+ useUTF8ForFileName = utfEncodedFileName.length !== file.name.length,
+ useUTF8ForComment = utfEncodedComment.length !== comment.length,
+ dosTime,
+ dosDate,
+ extraFields = "",
+ unicodePathExtraField = "",
+ unicodeCommentExtraField = "",
+ dir = file.dir,
+ date = file.date;
+
+
+ var dataInfo = {
+ crc32 : 0,
+ compressedSize : 0,
+ uncompressedSize : 0
+ };
+
+ // if the content is streamed, the sizes/crc32 are only available AFTER
+ // the end of the stream.
+ if (!streamedContent || streamingEnded) {
+ dataInfo.crc32 = streamInfo['crc32'];
+ dataInfo.compressedSize = streamInfo['compressedSize'];
+ dataInfo.uncompressedSize = streamInfo['uncompressedSize'];
+ }
+
+ var bitflag = 0;
+ if (streamedContent) {
+ // Bit 3: the sizes/crc32 are set to zero in the local header.
+ // The correct values are put in the data descriptor immediately
+ // following the compressed data.
+ bitflag |= 0x0008;
+ }
+ if (!useCustomEncoding && (useUTF8ForFileName || useUTF8ForComment)) {
+ // Bit 11: Language encoding flag (EFS).
+ bitflag |= 0x0800;
+ }
+
+
+ var extFileAttr = 0;
+ var versionMadeBy = 0;
+ if (dir) {
+ // dos or unix, we set the dos dir flag
+ extFileAttr |= 0x00010;
+ }
+ if(platform === "UNIX") {
+ versionMadeBy = 0x031E; // UNIX, version 3.0
+ extFileAttr |= generateUnixExternalFileAttr(file.unixPermissions, dir);
+ } else { // DOS or other, fallback to DOS
+ versionMadeBy = 0x0014; // DOS, version 2.0
+ extFileAttr |= generateDosExternalFileAttr(file.dosPermissions, dir);
+ }
+
+ // date
+ // @see http://www.delorie.com/djgpp/doc/rbinter/it/52/13.html
+ // @see http://www.delorie.com/djgpp/doc/rbinter/it/65/16.html
+ // @see http://www.delorie.com/djgpp/doc/rbinter/it/66/16.html
+
+ dosTime = date.getUTCHours();
+ dosTime = dosTime << 6;
+ dosTime = dosTime | date.getUTCMinutes();
+ dosTime = dosTime << 5;
+ dosTime = dosTime | date.getUTCSeconds() / 2;
+
+ dosDate = date.getUTCFullYear() - 1980;
+ dosDate = dosDate << 4;
+ dosDate = dosDate | (date.getUTCMonth() + 1);
+ dosDate = dosDate << 5;
+ dosDate = dosDate | date.getUTCDate();
+
+ if (useUTF8ForFileName) {
+ // set the unicode path extra field. unzip needs at least one extra
+ // field to correctly handle unicode path, so using the path is as good
+ // as any other information. This could improve the situation with
+ // other archive managers too.
+ // This field is usually used without the utf8 flag, with a non
+ // unicode path in the header (winrar, winzip). This helps (a bit)
+ // with the messy Windows' default compressed folders feature but
+ // breaks on p7zip which doesn't seek the unicode path extra field.
+ // So for now, UTF-8 everywhere !
+ unicodePathExtraField =
+ // Version
+ decToHex(1, 1) +
+ // NameCRC32
+ decToHex(crc32(encodedFileName), 4) +
+ // UnicodeName
+ utfEncodedFileName;
+
+ extraFields +=
+ // Info-ZIP Unicode Path Extra Field
+ "\x75\x70" +
+ // size
+ decToHex(unicodePathExtraField.length, 2) +
+ // content
+ unicodePathExtraField;
+ }
+
+ if(useUTF8ForComment) {
+
+ unicodeCommentExtraField =
+ // Version
+ decToHex(1, 1) +
+ // CommentCRC32
+ decToHex(crc32(encodedComment), 4) +
+ // UnicodeName
+ utfEncodedComment;
+
+ extraFields +=
+ // Info-ZIP Unicode Path Extra Field
+ "\x75\x63" +
+ // size
+ decToHex(unicodeCommentExtraField.length, 2) +
+ // content
+ unicodeCommentExtraField;
+ }
+
+ var header = "";
+
+ // version needed to extract
+ header += "\x0A\x00";
+ // general purpose bit flag
+ header += decToHex(bitflag, 2);
+ // compression method
+ header += compression.magic;
+ // last mod file time
+ header += decToHex(dosTime, 2);
+ // last mod file date
+ header += decToHex(dosDate, 2);
+ // crc-32
+ header += decToHex(dataInfo.crc32, 4);
+ // compressed size
+ header += decToHex(dataInfo.compressedSize, 4);
+ // uncompressed size
+ header += decToHex(dataInfo.uncompressedSize, 4);
+ // file name length
+ header += decToHex(encodedFileName.length, 2);
+ // extra field length
+ header += decToHex(extraFields.length, 2);
+
+
+ var fileRecord = signature.LOCAL_FILE_HEADER + header + encodedFileName + extraFields;
+
+ var dirRecord = signature.CENTRAL_FILE_HEADER +
+ // version made by (00: DOS)
+ decToHex(versionMadeBy, 2) +
+ // file header (common to file and central directory)
+ header +
+ // file comment length
+ decToHex(encodedComment.length, 2) +
+ // disk number start
+ "\x00\x00" +
+ // internal file attributes TODO
+ "\x00\x00" +
+ // external file attributes
+ decToHex(extFileAttr, 4) +
+ // relative offset of local header
+ decToHex(offset, 4) +
+ // file name
+ encodedFileName +
+ // extra field
+ extraFields +
+ // file comment
+ encodedComment;
+
+ return {
+ fileRecord: fileRecord,
+ dirRecord: dirRecord
+ };
+};
+
+/**
+ * Generate the EOCD record.
+ * @param {Number} entriesCount the number of entries in the zip file.
+ * @param {Number} centralDirLength the length (in bytes) of the central dir.
+ * @param {Number} localDirLength the length (in bytes) of the local dir.
+ * @param {String} comment the zip file comment as a binary string.
+ * @param {Function} encodeFileName the function to encode the comment.
+ * @return {String} the EOCD record.
+ */
+var generateCentralDirectoryEnd = function (entriesCount, centralDirLength, localDirLength, comment, encodeFileName) {
+ var dirEnd = "";
+ var encodedComment = utils.transformTo("string", encodeFileName(comment));
+
+ // end of central dir signature
+ dirEnd = signature.CENTRAL_DIRECTORY_END +
+ // number of this disk
+ "\x00\x00" +
+ // number of the disk with the start of the central directory
+ "\x00\x00" +
+ // total number of entries in the central directory on this disk
+ decToHex(entriesCount, 2) +
+ // total number of entries in the central directory
+ decToHex(entriesCount, 2) +
+ // size of the central directory 4 bytes
+ decToHex(centralDirLength, 4) +
+ // offset of start of central directory with respect to the starting disk number
+ decToHex(localDirLength, 4) +
+ // .ZIP file comment length
+ decToHex(encodedComment.length, 2) +
+ // .ZIP file comment
+ encodedComment;
+
+ return dirEnd;
+};
+
+/**
+ * Generate data descriptors for a file entry.
+ * @param {Object} streamInfo the hash generated by a worker, containing informations
+ * on the file entry.
+ * @return {String} the data descriptors.
+ */
+var generateDataDescriptors = function (streamInfo) {
+ var descriptor = "";
+ descriptor = signature.DATA_DESCRIPTOR +
+ // crc-32 4 bytes
+ decToHex(streamInfo['crc32'], 4) +
+ // compressed size 4 bytes
+ decToHex(streamInfo['compressedSize'], 4) +
+ // uncompressed size 4 bytes
+ decToHex(streamInfo['uncompressedSize'], 4);
+
+ return descriptor;
+};
+
+
+/**
+ * A worker to concatenate other workers to create a zip file.
+ * @param {Boolean} streamFiles `true` to stream the content of the files,
+ * `false` to accumulate it.
+ * @param {String} comment the comment to use.
+ * @param {String} platform the platform to use, "UNIX" or "DOS".
+ * @param {Function} encodeFileName the function to encode file names and comments.
+ */
+function ZipFileWorker(streamFiles, comment, platform, encodeFileName) {
+ GenericWorker.call(this, "ZipFileWorker");
+ // The number of bytes written so far. This doesn't count accumulated chunks.
+ this.bytesWritten = 0;
+ // The comment of the zip file
+ this.zipComment = comment;
+ // The platform "generating" the zip file.
+ this.zipPlatform = platform;
+ // the function to encode file names and comments.
+ this.encodeFileName = encodeFileName;
+ // Should we stream the content of the files ?
+ this.streamFiles = streamFiles;
+ // If `streamFiles` is false, we will need to accumulate the content of the
+ // files to calculate sizes / crc32 (and write them *before* the content).
+ // This boolean indicates if we are accumulating chunks (it will change a lot
+ // during the lifetime of this worker).
+ this.accumulate = false;
+ // The buffer receiving chunks when accumulating content.
+ this.contentBuffer = [];
+ // The list of generated directory records.
+ this.dirRecords = [];
+ // The offset (in bytes) from the beginning of the zip file for the current source.
+ this.currentSourceOffset = 0;
+ // The total number of entries in this zip file.
+ this.entriesCount = 0;
+ // the name of the file currently being added, null when handling the end of the zip file.
+ // Used for the emited metadata.
+ this.currentFile = null;
+
+
+
+ this._sources = [];
+}
+utils.inherits(ZipFileWorker, GenericWorker);
+
+/**
+ * @see GenericWorker.push
+ */
+ZipFileWorker.prototype.push = function (chunk) {
+
+ var currentFilePercent = chunk.meta.percent || 0;
+ var entriesCount = this.entriesCount;
+ var remainingFiles = this._sources.length;
+
+ if(this.accumulate) {
+ this.contentBuffer.push(chunk);
+ } else {
+ this.bytesWritten += chunk.data.length;
+
+ GenericWorker.prototype.push.call(this, {
+ data : chunk.data,
+ meta : {
+ currentFile : this.currentFile,
+ percent : entriesCount ? (currentFilePercent + 100 * (entriesCount - remainingFiles - 1)) / entriesCount : 100
+ }
+ });
+ }
+};
+
+/**
+ * The worker started a new source (an other worker).
+ * @param {Object} streamInfo the streamInfo object from the new source.
+ */
+ZipFileWorker.prototype.openedSource = function (streamInfo) {
+ this.currentSourceOffset = this.bytesWritten;
+ this.currentFile = streamInfo['file'].name;
+
+ var streamedContent = this.streamFiles && !streamInfo['file'].dir;
+
+ // don't stream folders (because they don't have any content)
+ if(streamedContent) {
+ var record = generateZipParts(streamInfo, streamedContent, false, this.currentSourceOffset, this.zipPlatform, this.encodeFileName);
+ this.push({
+ data : record.fileRecord,
+ meta : {percent:0}
+ });
+ } else {
+ // we need to wait for the whole file before pushing anything
+ this.accumulate = true;
+ }
+};
+
+/**
+ * The worker finished a source (an other worker).
+ * @param {Object} streamInfo the streamInfo object from the finished source.
+ */
+ZipFileWorker.prototype.closedSource = function (streamInfo) {
+ this.accumulate = false;
+ var streamedContent = this.streamFiles && !streamInfo['file'].dir;
+ var record = generateZipParts(streamInfo, streamedContent, true, this.currentSourceOffset, this.zipPlatform, this.encodeFileName);
+
+ this.dirRecords.push(record.dirRecord);
+ if(streamedContent) {
+ // after the streamed file, we put data descriptors
+ this.push({
+ data : generateDataDescriptors(streamInfo),
+ meta : {percent:100}
+ });
+ } else {
+ // the content wasn't streamed, we need to push everything now
+ // first the file record, then the content
+ this.push({
+ data : record.fileRecord,
+ meta : {percent:0}
+ });
+ while(this.contentBuffer.length) {
+ this.push(this.contentBuffer.shift());
+ }
+ }
+ this.currentFile = null;
+};
+
+/**
+ * @see GenericWorker.flush
+ */
+ZipFileWorker.prototype.flush = function () {
+
+ var localDirLength = this.bytesWritten;
+ for(var i = 0; i < this.dirRecords.length; i++) {
+ this.push({
+ data : this.dirRecords[i],
+ meta : {percent:100}
+ });
+ }
+ var centralDirLength = this.bytesWritten - localDirLength;
+
+ var dirEnd = generateCentralDirectoryEnd(this.dirRecords.length, centralDirLength, localDirLength, this.zipComment, this.encodeFileName);
+
+ this.push({
+ data : dirEnd,
+ meta : {percent:100}
+ });
+};
+
+/**
+ * Prepare the next source to be read.
+ */
+ZipFileWorker.prototype.prepareNextSource = function () {
+ this.previous = this._sources.shift();
+ this.openedSource(this.previous.streamInfo);
+ if (this.isPaused) {
+ this.previous.pause();
+ } else {
+ this.previous.resume();
+ }
+};
+
+/**
+ * @see GenericWorker.registerPrevious
+ */
+ZipFileWorker.prototype.registerPrevious = function (previous) {
+ this._sources.push(previous);
+ var self = this;
+
+ previous.on('data', function (chunk) {
+ self.processChunk(chunk);
+ });
+ previous.on('end', function () {
+ self.closedSource(self.previous.streamInfo);
+ if(self._sources.length) {
+ self.prepareNextSource();
+ } else {
+ self.end();
+ }
+ });
+ previous.on('error', function (e) {
+ self.error(e);
+ });
+ return this;
+};
+
+/**
+ * @see GenericWorker.resume
+ */
+ZipFileWorker.prototype.resume = function () {
+ if(!GenericWorker.prototype.resume.call(this)) {
+ return false;
+ }
+
+ if (!this.previous && this._sources.length) {
+ this.prepareNextSource();
+ return true;
+ }
+ if (!this.previous && !this._sources.length && !this.generatedError) {
+ this.end();
+ return true;
+ }
+};
+
+/**
+ * @see GenericWorker.error
+ */
+ZipFileWorker.prototype.error = function (e) {
+ var sources = this._sources;
+ if(!GenericWorker.prototype.error.call(this, e)) {
+ return false;
+ }
+ for(var i = 0; i < sources.length; i++) {
+ try {
+ sources[i].error(e);
+ } catch(e) {
+ // the `error` exploded, nothing to do
+ }
+ }
+ return true;
+};
+
+/**
+ * @see GenericWorker.lock
+ */
+ZipFileWorker.prototype.lock = function () {
+ GenericWorker.prototype.lock.call(this);
+ var sources = this._sources;
+ for(var i = 0; i < sources.length; i++) {
+ sources[i].lock();
+ }
+};
+
+module.exports = ZipFileWorker;
+
+},{"../crc32":4,"../signature":23,"../stream/GenericWorker":28,"../utf8":31,"../utils":32}],9:[function(require,module,exports){
+'use strict';
+
+var compressions = require('../compressions');
+var ZipFileWorker = require('./ZipFileWorker');
+
+/**
+ * Find the compression to use.
+ * @param {String} fileCompression the compression defined at the file level, if any.
+ * @param {String} zipCompression the compression defined at the load() level.
+ * @return {Object} the compression object to use.
+ */
+var getCompression = function (fileCompression, zipCompression) {
+
+ var compressionName = fileCompression || zipCompression;
+ var compression = compressions[compressionName];
+ if (!compression) {
+ throw new Error(compressionName + " is not a valid compression method !");
+ }
+ return compression;
+};
+
+/**
+ * Create a worker to generate a zip file.
+ * @param {JSZip} zip the JSZip instance at the right root level.
+ * @param {Object} options to generate the zip file.
+ * @param {String} comment the comment to use.
+ */
+exports.generateWorker = function (zip, options, comment) {
+
+ var zipFileWorker = new ZipFileWorker(options.streamFiles, comment, options.platform, options.encodeFileName);
+ var entriesCount = 0;
+ try {
+
+ zip.forEach(function (relativePath, file) {
+ entriesCount++;
+ var compression = getCompression(file.options.compression, options.compression);
+ var compressionOptions = file.options.compressionOptions || options.compressionOptions || {};
+ var dir = file.dir, date = file.date;
+
+ file._compressWorker(compression, compressionOptions)
+ .withStreamInfo("file", {
+ name : relativePath,
+ dir : dir,
+ date : date,
+ comment : file.comment || "",
+ unixPermissions : file.unixPermissions,
+ dosPermissions : file.dosPermissions
+ })
+ .pipe(zipFileWorker);
+ });
+ zipFileWorker.entriesCount = entriesCount;
+ } catch (e) {
+ zipFileWorker.error(e);
+ }
+
+ return zipFileWorker;
+};
+
+},{"../compressions":3,"./ZipFileWorker":8}],10:[function(require,module,exports){
+'use strict';
+
+/**
+ * Representation a of zip file in js
+ * @constructor
+ */
+function JSZip() {
+ // if this constructor is used without `new`, it adds `new` before itself:
+ if(!(this instanceof JSZip)) {
+ return new JSZip();
+ }
+
+ if(arguments.length) {
+ throw new Error("The constructor with parameters has been removed in JSZip 3.0, please check the upgrade guide.");
+ }
+
+ // object containing the files :
+ // {
+ // "folder/" : {...},
+ // "folder/data.txt" : {...}
+ // }
+ this.files = {};
+
+ this.comment = null;
+
+ // Where we are in the hierarchy
+ this.root = "";
+ this.clone = function() {
+ var newObj = new JSZip();
+ for (var i in this) {
+ if (typeof this[i] !== "function") {
+ newObj[i] = this[i];
+ }
+ }
+ return newObj;
+ };
+}
+JSZip.prototype = require('./object');
+JSZip.prototype.loadAsync = require('./load');
+JSZip.support = require('./support');
+JSZip.defaults = require('./defaults');
+
+// TODO find a better way to handle this version,
+// a require('package.json').version doesn't work with webpack, see #327
+JSZip.version = "3.2.0";
+
+JSZip.loadAsync = function (content, options) {
+ return new JSZip().loadAsync(content, options);
+};
+
+JSZip.external = require("./external");
+module.exports = JSZip;
+
+},{"./defaults":5,"./external":6,"./load":11,"./object":15,"./support":30}],11:[function(require,module,exports){
+'use strict';
+var utils = require('./utils');
+var external = require("./external");
+var utf8 = require('./utf8');
+var utils = require('./utils');
+var ZipEntries = require('./zipEntries');
+var Crc32Probe = require('./stream/Crc32Probe');
+var nodejsUtils = require("./nodejsUtils");
+
+/**
+ * Check the CRC32 of an entry.
+ * @param {ZipEntry} zipEntry the zip entry to check.
+ * @return {Promise} the result.
+ */
+function checkEntryCRC32(zipEntry) {
+ return new external.Promise(function (resolve, reject) {
+ var worker = zipEntry.decompressed.getContentWorker().pipe(new Crc32Probe());
+ worker.on("error", function (e) {
+ reject(e);
+ })
+ .on("end", function () {
+ if (worker.streamInfo.crc32 !== zipEntry.decompressed.crc32) {
+ reject(new Error("Corrupted zip : CRC32 mismatch"));
+ } else {
+ resolve();
+ }
+ })
+ .resume();
+ });
+}
+
+module.exports = function(data, options) {
+ var zip = this;
+ options = utils.extend(options || {}, {
+ base64: false,
+ checkCRC32: false,
+ optimizedBinaryString: false,
+ createFolders: false,
+ decodeFileName: utf8.utf8decode
+ });
+
+ if (nodejsUtils.isNode && nodejsUtils.isStream(data)) {
+ return external.Promise.reject(new Error("JSZip can't accept a stream when loading a zip file."));
+ }
+
+ return utils.prepareContent("the loaded zip file", data, true, options.optimizedBinaryString, options.base64)
+ .then(function(data) {
+ var zipEntries = new ZipEntries(options);
+ zipEntries.load(data);
+ return zipEntries;
+ }).then(function checkCRC32(zipEntries) {
+ var promises = [external.Promise.resolve(zipEntries)];
+ var files = zipEntries.files;
+ if (options.checkCRC32) {
+ for (var i = 0; i < files.length; i++) {
+ promises.push(checkEntryCRC32(files[i]));
+ }
+ }
+ return external.Promise.all(promises);
+ }).then(function addFiles(results) {
+ var zipEntries = results.shift();
+ var files = zipEntries.files;
+ for (var i = 0; i < files.length; i++) {
+ var input = files[i];
+ zip.file(input.fileNameStr, input.decompressed, {
+ binary: true,
+ optimizedBinaryString: true,
+ date: input.date,
+ dir: input.dir,
+ comment : input.fileCommentStr.length ? input.fileCommentStr : null,
+ unixPermissions : input.unixPermissions,
+ dosPermissions : input.dosPermissions,
+ createFolders: options.createFolders
+ });
+ }
+ if (zipEntries.zipComment.length) {
+ zip.comment = zipEntries.zipComment;
+ }
+
+ return zip;
+ });
+};
+
+},{"./external":6,"./nodejsUtils":14,"./stream/Crc32Probe":25,"./utf8":31,"./utils":32,"./zipEntries":33}],12:[function(require,module,exports){
+"use strict";
+
+var utils = require('../utils');
+var GenericWorker = require('../stream/GenericWorker');
+
+/**
+ * A worker that use a nodejs stream as source.
+ * @constructor
+ * @param {String} filename the name of the file entry for this stream.
+ * @param {Readable} stream the nodejs stream.
+ */
+function NodejsStreamInputAdapter(filename, stream) {
+ GenericWorker.call(this, "Nodejs stream input adapter for " + filename);
+ this._upstreamEnded = false;
+ this._bindStream(stream);
+}
+
+utils.inherits(NodejsStreamInputAdapter, GenericWorker);
+
+/**
+ * Prepare the stream and bind the callbacks on it.
+ * Do this ASAP on node 0.10 ! A lazy binding doesn't always work.
+ * @param {Stream} stream the nodejs stream to use.
+ */
+NodejsStreamInputAdapter.prototype._bindStream = function (stream) {
+ var self = this;
+ this._stream = stream;
+ stream.pause();
+ stream
+ .on("data", function (chunk) {
+ self.push({
+ data: chunk,
+ meta : {
+ percent : 0
+ }
+ });
+ })
+ .on("error", function (e) {
+ if(self.isPaused) {
+ this.generatedError = e;
+ } else {
+ self.error(e);
+ }
+ })
+ .on("end", function () {
+ if(self.isPaused) {
+ self._upstreamEnded = true;
+ } else {
+ self.end();
+ }
+ });
+};
+NodejsStreamInputAdapter.prototype.pause = function () {
+ if(!GenericWorker.prototype.pause.call(this)) {
+ return false;
+ }
+ this._stream.pause();
+ return true;
+};
+NodejsStreamInputAdapter.prototype.resume = function () {
+ if(!GenericWorker.prototype.resume.call(this)) {
+ return false;
+ }
+
+ if(this._upstreamEnded) {
+ this.end();
+ } else {
+ this._stream.resume();
+ }
+
+ return true;
+};
+
+module.exports = NodejsStreamInputAdapter;
+
+},{"../stream/GenericWorker":28,"../utils":32}],13:[function(require,module,exports){
+'use strict';
+
+var Readable = require('readable-stream').Readable;
+
+var utils = require('../utils');
+utils.inherits(NodejsStreamOutputAdapter, Readable);
+
+/**
+* A nodejs stream using a worker as source.
+* @see the SourceWrapper in http://nodejs.org/api/stream.html
+* @constructor
+* @param {StreamHelper} helper the helper wrapping the worker
+* @param {Object} options the nodejs stream options
+* @param {Function} updateCb the update callback.
+*/
+function NodejsStreamOutputAdapter(helper, options, updateCb) {
+ Readable.call(this, options);
+ this._helper = helper;
+
+ var self = this;
+ helper.on("data", function (data, meta) {
+ if (!self.push(data)) {
+ self._helper.pause();
+ }
+ if(updateCb) {
+ updateCb(meta);
+ }
+ })
+ .on("error", function(e) {
+ self.emit('error', e);
+ })
+ .on("end", function () {
+ self.push(null);
+ });
+}
+
+
+NodejsStreamOutputAdapter.prototype._read = function() {
+ this._helper.resume();
+};
+
+module.exports = NodejsStreamOutputAdapter;
+
+},{"../utils":32,"readable-stream":16}],14:[function(require,module,exports){
+'use strict';
+
+module.exports = {
+ /**
+ * True if this is running in Nodejs, will be undefined in a browser.
+ * In a browser, browserify won't include this file and the whole module
+ * will be resolved an empty object.
+ */
+ isNode : typeof Buffer !== "undefined",
+ /**
+ * Create a new nodejs Buffer from an existing content.
+ * @param {Object} data the data to pass to the constructor.
+ * @param {String} encoding the encoding to use.
+ * @return {Buffer} a new Buffer.
+ */
+ newBufferFrom: function(data, encoding) {
+ if (Buffer.from && Buffer.from !== Uint8Array.from) {
+ return Buffer.from(data, encoding);
+ } else {
+ if (typeof data === "number") {
+ // Safeguard for old Node.js versions. On newer versions,
+ // Buffer.from(number) / Buffer(number, encoding) already throw.
+ throw new Error("The \"data\" argument must not be a number");
+ }
+ return new Buffer(data, encoding);
+ }
+ },
+ /**
+ * Create a new nodejs Buffer with the specified size.
+ * @param {Integer} size the size of the buffer.
+ * @return {Buffer} a new Buffer.
+ */
+ allocBuffer: function (size) {
+ if (Buffer.alloc) {
+ return Buffer.alloc(size);
+ } else {
+ var buf = new Buffer(size);
+ buf.fill(0);
+ return buf;
+ }
+ },
+ /**
+ * Find out if an object is a Buffer.
+ * @param {Object} b the object to test.
+ * @return {Boolean} true if the object is a Buffer, false otherwise.
+ */
+ isBuffer : function(b){
+ return Buffer.isBuffer(b);
+ },
+
+ isStream : function (obj) {
+ return obj &&
+ typeof obj.on === "function" &&
+ typeof obj.pause === "function" &&
+ typeof obj.resume === "function";
+ }
+};
+
+},{}],15:[function(require,module,exports){
+'use strict';
+var utf8 = require('./utf8');
+var utils = require('./utils');
+var GenericWorker = require('./stream/GenericWorker');
+var StreamHelper = require('./stream/StreamHelper');
+var defaults = require('./defaults');
+var CompressedObject = require('./compressedObject');
+var ZipObject = require('./zipObject');
+var generate = require("./generate");
+var nodejsUtils = require("./nodejsUtils");
+var NodejsStreamInputAdapter = require("./nodejs/NodejsStreamInputAdapter");
+
+
+/**
+ * Add a file in the current folder.
+ * @private
+ * @param {string} name the name of the file
+ * @param {String|ArrayBuffer|Uint8Array|Buffer} data the data of the file
+ * @param {Object} originalOptions the options of the file
+ * @return {Object} the new file.
+ */
+var fileAdd = function(name, data, originalOptions) {
+ // be sure sub folders exist
+ var dataType = utils.getTypeOf(data),
+ parent;
+
+
+ /*
+ * Correct options.
+ */
+
+ var o = utils.extend(originalOptions || {}, defaults);
+ o.date = o.date || new Date();
+ if (o.compression !== null) {
+ o.compression = o.compression.toUpperCase();
+ }
+
+ if (typeof o.unixPermissions === "string") {
+ o.unixPermissions = parseInt(o.unixPermissions, 8);
+ }
+
+ // UNX_IFDIR 0040000 see zipinfo.c
+ if (o.unixPermissions && (o.unixPermissions & 0x4000)) {
+ o.dir = true;
+ }
+ // Bit 4 Directory
+ if (o.dosPermissions && (o.dosPermissions & 0x0010)) {
+ o.dir = true;
+ }
+
+ if (o.dir) {
+ name = forceTrailingSlash(name);
+ }
+ if (o.createFolders && (parent = parentFolder(name))) {
+ folderAdd.call(this, parent, true);
+ }
+
+ var isUnicodeString = dataType === "string" && o.binary === false && o.base64 === false;
+ if (!originalOptions || typeof originalOptions.binary === "undefined") {
+ o.binary = !isUnicodeString;
+ }
+
+
+ var isCompressedEmpty = (data instanceof CompressedObject) && data.uncompressedSize === 0;
+
+ if (isCompressedEmpty || o.dir || !data || data.length === 0) {
+ o.base64 = false;
+ o.binary = true;
+ data = "";
+ o.compression = "STORE";
+ dataType = "string";
+ }
+
+ /*
+ * Convert content to fit.
+ */
+
+ var zipObjectContent = null;
+ if (data instanceof CompressedObject || data instanceof GenericWorker) {
+ zipObjectContent = data;
+ } else if (nodejsUtils.isNode && nodejsUtils.isStream(data)) {
+ zipObjectContent = new NodejsStreamInputAdapter(name, data);
+ } else {
+ zipObjectContent = utils.prepareContent(name, data, o.binary, o.optimizedBinaryString, o.base64);
+ }
+
+ var object = new ZipObject(name, zipObjectContent, o);
+ this.files[name] = object;
+ /*
+ TODO: we can't throw an exception because we have async promises
+ (we can have a promise of a Date() for example) but returning a
+ promise is useless because file(name, data) returns the JSZip
+ object for chaining. Should we break that to allow the user
+ to catch the error ?
+
+ return external.Promise.resolve(zipObjectContent)
+ .then(function () {
+ return object;
+ });
+ */
+};
+
+/**
+ * Find the parent folder of the path.
+ * @private
+ * @param {string} path the path to use
+ * @return {string} the parent folder, or ""
+ */
+var parentFolder = function (path) {
+ if (path.slice(-1) === '/') {
+ path = path.substring(0, path.length - 1);
+ }
+ var lastSlash = path.lastIndexOf('/');
+ return (lastSlash > 0) ? path.substring(0, lastSlash) : "";
+};
+
+/**
+ * Returns the path with a slash at the end.
+ * @private
+ * @param {String} path the path to check.
+ * @return {String} the path with a trailing slash.
+ */
+var forceTrailingSlash = function(path) {
+ // Check the name ends with a /
+ if (path.slice(-1) !== "/") {
+ path += "/"; // IE doesn't like substr(-1)
+ }
+ return path;
+};
+
+/**
+ * Add a (sub) folder in the current folder.
+ * @private
+ * @param {string} name the folder's name
+ * @param {boolean=} [createFolders] If true, automatically create sub
+ * folders. Defaults to false.
+ * @return {Object} the new folder.
+ */
+var folderAdd = function(name, createFolders) {
+ createFolders = (typeof createFolders !== 'undefined') ? createFolders : defaults.createFolders;
+
+ name = forceTrailingSlash(name);
+
+ // Does this folder already exist?
+ if (!this.files[name]) {
+ fileAdd.call(this, name, null, {
+ dir: true,
+ createFolders: createFolders
+ });
+ }
+ return this.files[name];
+};
+
+/**
+* Cross-window, cross-Node-context regular expression detection
+* @param {Object} object Anything
+* @return {Boolean} true if the object is a regular expression,
+* false otherwise
+*/
+function isRegExp(object) {
+ return Object.prototype.toString.call(object) === "[object RegExp]";
+}
+
+// return the actual prototype of JSZip
+var out = {
+ /**
+ * @see loadAsync
+ */
+ load: function() {
+ throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.");
+ },
+
+
+ /**
+ * Call a callback function for each entry at this folder level.
+ * @param {Function} cb the callback function:
+ * function (relativePath, file) {...}
+ * It takes 2 arguments : the relative path and the file.
+ */
+ forEach: function(cb) {
+ var filename, relativePath, file;
+ for (filename in this.files) {
+ if (!this.files.hasOwnProperty(filename)) {
+ continue;
+ }
+ file = this.files[filename];
+ relativePath = filename.slice(this.root.length, filename.length);
+ if (relativePath && filename.slice(0, this.root.length) === this.root) { // the file is in the current root
+ cb(relativePath, file); // TODO reverse the parameters ? need to be clean AND consistent with the filter search fn...
+ }
+ }
+ },
+
+ /**
+ * Filter nested files/folders with the specified function.
+ * @param {Function} search the predicate to use :
+ * function (relativePath, file) {...}
+ * It takes 2 arguments : the relative path and the file.
+ * @return {Array} An array of matching elements.
+ */
+ filter: function(search) {
+ var result = [];
+ this.forEach(function (relativePath, entry) {
+ if (search(relativePath, entry)) { // the file matches the function
+ result.push(entry);
+ }
+
+ });
+ return result;
+ },
+
+ /**
+ * Add a file to the zip file, or search a file.
+ * @param {string|RegExp} name The name of the file to add (if data is defined),
+ * the name of the file to find (if no data) or a regex to match files.
+ * @param {String|ArrayBuffer|Uint8Array|Buffer} data The file data, either raw or base64 encoded
+ * @param {Object} o File options
+ * @return {JSZip|Object|Array} this JSZip object (when adding a file),
+ * a file (when searching by string) or an array of files (when searching by regex).
+ */
+ file: function(name, data, o) {
+ if (arguments.length === 1) {
+ if (isRegExp(name)) {
+ var regexp = name;
+ return this.filter(function(relativePath, file) {
+ return !file.dir && regexp.test(relativePath);
+ });
+ }
+ else { // text
+ var obj = this.files[this.root + name];
+ if (obj && !obj.dir) {
+ return obj;
+ } else {
+ return null;
+ }
+ }
+ }
+ else { // more than one argument : we have data !
+ name = this.root + name;
+ fileAdd.call(this, name, data, o);
+ }
+ return this;
+ },
+
+ /**
+ * Add a directory to the zip file, or search.
+ * @param {String|RegExp} arg The name of the directory to add, or a regex to search folders.
+ * @return {JSZip} an object with the new directory as the root, or an array containing matching folders.
+ */
+ folder: function(arg) {
+ if (!arg) {
+ return this;
+ }
+
+ if (isRegExp(arg)) {
+ return this.filter(function(relativePath, file) {
+ return file.dir && arg.test(relativePath);
+ });
+ }
+
+ // else, name is a new folder
+ var name = this.root + arg;
+ var newFolder = folderAdd.call(this, name);
+
+ // Allow chaining by returning a new object with this folder as the root
+ var ret = this.clone();
+ ret.root = newFolder.name;
+ return ret;
+ },
+
+ /**
+ * Delete a file, or a directory and all sub-files, from the zip
+ * @param {string} name the name of the file to delete
+ * @return {JSZip} this JSZip object
+ */
+ remove: function(name) {
+ name = this.root + name;
+ var file = this.files[name];
+ if (!file) {
+ // Look for any folders
+ if (name.slice(-1) !== "/") {
+ name += "/";
+ }
+ file = this.files[name];
+ }
+
+ if (file && !file.dir) {
+ // file
+ delete this.files[name];
+ } else {
+ // maybe a folder, delete recursively
+ var kids = this.filter(function(relativePath, file) {
+ return file.name.slice(0, name.length) === name;
+ });
+ for (var i = 0; i < kids.length; i++) {
+ delete this.files[kids[i].name];
+ }
+ }
+
+ return this;
+ },
+
+ /**
+ * Generate the complete zip file
+ * @param {Object} options the options to generate the zip file :
+ * - compression, "STORE" by default.
+ * - type, "base64" by default. Values are : string, base64, uint8array, arraybuffer, blob.
+ * @return {String|Uint8Array|ArrayBuffer|Buffer|Blob} the zip file
+ */
+ generate: function(options) {
+ throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.");
+ },
+
+ /**
+ * Generate the complete zip file as an internal stream.
+ * @param {Object} options the options to generate the zip file :
+ * - compression, "STORE" by default.
+ * - type, "base64" by default. Values are : string, base64, uint8array, arraybuffer, blob.
+ * @return {StreamHelper} the streamed zip file.
+ */
+ generateInternalStream: function(options) {
+ var worker, opts = {};
+ try {
+ opts = utils.extend(options || {}, {
+ streamFiles: false,
+ compression: "STORE",
+ compressionOptions : null,
+ type: "",
+ platform: "DOS",
+ comment: null,
+ mimeType: 'application/zip',
+ encodeFileName: utf8.utf8encode
+ });
+
+ opts.type = opts.type.toLowerCase();
+ opts.compression = opts.compression.toUpperCase();
+
+ // "binarystring" is prefered but the internals use "string".
+ if(opts.type === "binarystring") {
+ opts.type = "string";
+ }
+
+ if (!opts.type) {
+ throw new Error("No output type specified.");
+ }
+
+ utils.checkSupport(opts.type);
+
+ // accept nodejs `process.platform`
+ if(
+ opts.platform === 'darwin' ||
+ opts.platform === 'freebsd' ||
+ opts.platform === 'linux' ||
+ opts.platform === 'sunos'
+ ) {
+ opts.platform = "UNIX";
+ }
+ if (opts.platform === 'win32') {
+ opts.platform = "DOS";
+ }
+
+ var comment = opts.comment || this.comment || "";
+ worker = generate.generateWorker(this, opts, comment);
+ } catch (e) {
+ worker = new GenericWorker("error");
+ worker.error(e);
+ }
+ return new StreamHelper(worker, opts.type || "string", opts.mimeType);
+ },
+ /**
+ * Generate the complete zip file asynchronously.
+ * @see generateInternalStream
+ */
+ generateAsync: function(options, onUpdate) {
+ return this.generateInternalStream(options).accumulate(onUpdate);
+ },
+ /**
+ * Generate the complete zip file asynchronously.
+ * @see generateInternalStream
+ */
+ generateNodeStream: function(options, onUpdate) {
+ options = options || {};
+ if (!options.type) {
+ options.type = "nodebuffer";
+ }
+ return this.generateInternalStream(options).toNodejsStream(onUpdate);
+ }
+};
+module.exports = out;
+
+},{"./compressedObject":2,"./defaults":5,"./generate":9,"./nodejs/NodejsStreamInputAdapter":12,"./nodejsUtils":14,"./stream/GenericWorker":28,"./stream/StreamHelper":29,"./utf8":31,"./utils":32,"./zipObject":35}],16:[function(require,module,exports){
+/*
+ * This file is used by module bundlers (browserify/webpack/etc) when
+ * including a stream implementation. We use "readable-stream" to get a
+ * consistent behavior between nodejs versions but bundlers often have a shim
+ * for "stream". Using this shim greatly improve the compatibility and greatly
+ * reduce the final size of the bundle (only one stream implementation, not
+ * two).
+ */
+module.exports = require("stream");
+
+},{"stream":undefined}],17:[function(require,module,exports){
+'use strict';
+var DataReader = require('./DataReader');
+var utils = require('../utils');
+
+function ArrayReader(data) {
+ DataReader.call(this, data);
+ for(var i = 0; i < this.data.length; i++) {
+ data[i] = data[i] & 0xFF;
+ }
+}
+utils.inherits(ArrayReader, DataReader);
+/**
+ * @see DataReader.byteAt
+ */
+ArrayReader.prototype.byteAt = function(i) {
+ return this.data[this.zero + i];
+};
+/**
+ * @see DataReader.lastIndexOfSignature
+ */
+ArrayReader.prototype.lastIndexOfSignature = function(sig) {
+ var sig0 = sig.charCodeAt(0),
+ sig1 = sig.charCodeAt(1),
+ sig2 = sig.charCodeAt(2),
+ sig3 = sig.charCodeAt(3);
+ for (var i = this.length - 4; i >= 0; --i) {
+ if (this.data[i] === sig0 && this.data[i + 1] === sig1 && this.data[i + 2] === sig2 && this.data[i + 3] === sig3) {
+ return i - this.zero;
+ }
+ }
+
+ return -1;
+};
+/**
+ * @see DataReader.readAndCheckSignature
+ */
+ArrayReader.prototype.readAndCheckSignature = function (sig) {
+ var sig0 = sig.charCodeAt(0),
+ sig1 = sig.charCodeAt(1),
+ sig2 = sig.charCodeAt(2),
+ sig3 = sig.charCodeAt(3),
+ data = this.readData(4);
+ return sig0 === data[0] && sig1 === data[1] && sig2 === data[2] && sig3 === data[3];
+};
+/**
+ * @see DataReader.readData
+ */
+ArrayReader.prototype.readData = function(size) {
+ this.checkOffset(size);
+ if(size === 0) {
+ return [];
+ }
+ var result = this.data.slice(this.zero + this.index, this.zero + this.index + size);
+ this.index += size;
+ return result;
+};
+module.exports = ArrayReader;
+
+},{"../utils":32,"./DataReader":18}],18:[function(require,module,exports){
+'use strict';
+var utils = require('../utils');
+
+function DataReader(data) {
+ this.data = data; // type : see implementation
+ this.length = data.length;
+ this.index = 0;
+ this.zero = 0;
+}
+DataReader.prototype = {
+ /**
+ * Check that the offset will not go too far.
+ * @param {string} offset the additional offset to check.
+ * @throws {Error} an Error if the offset is out of bounds.
+ */
+ checkOffset: function(offset) {
+ this.checkIndex(this.index + offset);
+ },
+ /**
+ * Check that the specified index will not be too far.
+ * @param {string} newIndex the index to check.
+ * @throws {Error} an Error if the index is out of bounds.
+ */
+ checkIndex: function(newIndex) {
+ if (this.length < this.zero + newIndex || newIndex < 0) {
+ throw new Error("End of data reached (data length = " + this.length + ", asked index = " + (newIndex) + "). Corrupted zip ?");
+ }
+ },
+ /**
+ * Change the index.
+ * @param {number} newIndex The new index.
+ * @throws {Error} if the new index is out of the data.
+ */
+ setIndex: function(newIndex) {
+ this.checkIndex(newIndex);
+ this.index = newIndex;
+ },
+ /**
+ * Skip the next n bytes.
+ * @param {number} n the number of bytes to skip.
+ * @throws {Error} if the new index is out of the data.
+ */
+ skip: function(n) {
+ this.setIndex(this.index + n);
+ },
+ /**
+ * Get the byte at the specified index.
+ * @param {number} i the index to use.
+ * @return {number} a byte.
+ */
+ byteAt: function(i) {
+ // see implementations
+ },
+ /**
+ * Get the next number with a given byte size.
+ * @param {number} size the number of bytes to read.
+ * @return {number} the corresponding number.
+ */
+ readInt: function(size) {
+ var result = 0,
+ i;
+ this.checkOffset(size);
+ for (i = this.index + size - 1; i >= this.index; i--) {
+ result = (result << 8) + this.byteAt(i);
+ }
+ this.index += size;
+ return result;
+ },
+ /**
+ * Get the next string with a given byte size.
+ * @param {number} size the number of bytes to read.
+ * @return {string} the corresponding string.
+ */
+ readString: function(size) {
+ return utils.transformTo("string", this.readData(size));
+ },
+ /**
+ * Get raw data without conversion, bytes.
+ * @param {number} size the number of bytes to read.
+ * @return {Object} the raw data, implementation specific.
+ */
+ readData: function(size) {
+ // see implementations
+ },
+ /**
+ * Find the last occurence of a zip signature (4 bytes).
+ * @param {string} sig the signature to find.
+ * @return {number} the index of the last occurence, -1 if not found.
+ */
+ lastIndexOfSignature: function(sig) {
+ // see implementations
+ },
+ /**
+ * Read the signature (4 bytes) at the current position and compare it with sig.
+ * @param {string} sig the expected signature
+ * @return {boolean} true if the signature matches, false otherwise.
+ */
+ readAndCheckSignature: function(sig) {
+ // see implementations
+ },
+ /**
+ * Get the next date.
+ * @return {Date} the date.
+ */
+ readDate: function() {
+ var dostime = this.readInt(4);
+ return new Date(Date.UTC(
+ ((dostime >> 25) & 0x7f) + 1980, // year
+ ((dostime >> 21) & 0x0f) - 1, // month
+ (dostime >> 16) & 0x1f, // day
+ (dostime >> 11) & 0x1f, // hour
+ (dostime >> 5) & 0x3f, // minute
+ (dostime & 0x1f) << 1)); // second
+ }
+};
+module.exports = DataReader;
+
+},{"../utils":32}],19:[function(require,module,exports){
+'use strict';
+var Uint8ArrayReader = require('./Uint8ArrayReader');
+var utils = require('../utils');
+
+function NodeBufferReader(data) {
+ Uint8ArrayReader.call(this, data);
+}
+utils.inherits(NodeBufferReader, Uint8ArrayReader);
+
+/**
+ * @see DataReader.readData
+ */
+NodeBufferReader.prototype.readData = function(size) {
+ this.checkOffset(size);
+ var result = this.data.slice(this.zero + this.index, this.zero + this.index + size);
+ this.index += size;
+ return result;
+};
+module.exports = NodeBufferReader;
+
+},{"../utils":32,"./Uint8ArrayReader":21}],20:[function(require,module,exports){
+'use strict';
+var DataReader = require('./DataReader');
+var utils = require('../utils');
+
+function StringReader(data) {
+ DataReader.call(this, data);
+}
+utils.inherits(StringReader, DataReader);
+/**
+ * @see DataReader.byteAt
+ */
+StringReader.prototype.byteAt = function(i) {
+ return this.data.charCodeAt(this.zero + i);
+};
+/**
+ * @see DataReader.lastIndexOfSignature
+ */
+StringReader.prototype.lastIndexOfSignature = function(sig) {
+ return this.data.lastIndexOf(sig) - this.zero;
+};
+/**
+ * @see DataReader.readAndCheckSignature
+ */
+StringReader.prototype.readAndCheckSignature = function (sig) {
+ var data = this.readData(4);
+ return sig === data;
+};
+/**
+ * @see DataReader.readData
+ */
+StringReader.prototype.readData = function(size) {
+ this.checkOffset(size);
+ // this will work because the constructor applied the "& 0xff" mask.
+ var result = this.data.slice(this.zero + this.index, this.zero + this.index + size);
+ this.index += size;
+ return result;
+};
+module.exports = StringReader;
+
+},{"../utils":32,"./DataReader":18}],21:[function(require,module,exports){
+'use strict';
+var ArrayReader = require('./ArrayReader');
+var utils = require('../utils');
+
+function Uint8ArrayReader(data) {
+ ArrayReader.call(this, data);
+}
+utils.inherits(Uint8ArrayReader, ArrayReader);
+/**
+ * @see DataReader.readData
+ */
+Uint8ArrayReader.prototype.readData = function(size) {
+ this.checkOffset(size);
+ if(size === 0) {
+ // in IE10, when using subarray(idx, idx), we get the array [0x00] instead of [].
+ return new Uint8Array(0);
+ }
+ var result = this.data.subarray(this.zero + this.index, this.zero + this.index + size);
+ this.index += size;
+ return result;
+};
+module.exports = Uint8ArrayReader;
+
+},{"../utils":32,"./ArrayReader":17}],22:[function(require,module,exports){
+'use strict';
+
+var utils = require('../utils');
+var support = require('../support');
+var ArrayReader = require('./ArrayReader');
+var StringReader = require('./StringReader');
+var NodeBufferReader = require('./NodeBufferReader');
+var Uint8ArrayReader = require('./Uint8ArrayReader');
+
+/**
+ * Create a reader adapted to the data.
+ * @param {String|ArrayBuffer|Uint8Array|Buffer} data the data to read.
+ * @return {DataReader} the data reader.
+ */
+module.exports = function (data) {
+ var type = utils.getTypeOf(data);
+ utils.checkSupport(type);
+ if (type === "string" && !support.uint8array) {
+ return new StringReader(data);
+ }
+ if (type === "nodebuffer") {
+ return new NodeBufferReader(data);
+ }
+ if (support.uint8array) {
+ return new Uint8ArrayReader(utils.transformTo("uint8array", data));
+ }
+ return new ArrayReader(utils.transformTo("array", data));
+};
+
+},{"../support":30,"../utils":32,"./ArrayReader":17,"./NodeBufferReader":19,"./StringReader":20,"./Uint8ArrayReader":21}],23:[function(require,module,exports){
+'use strict';
+exports.LOCAL_FILE_HEADER = "PK\x03\x04";
+exports.CENTRAL_FILE_HEADER = "PK\x01\x02";
+exports.CENTRAL_DIRECTORY_END = "PK\x05\x06";
+exports.ZIP64_CENTRAL_DIRECTORY_LOCATOR = "PK\x06\x07";
+exports.ZIP64_CENTRAL_DIRECTORY_END = "PK\x06\x06";
+exports.DATA_DESCRIPTOR = "PK\x07\x08";
+
+},{}],24:[function(require,module,exports){
+'use strict';
+
+var GenericWorker = require('./GenericWorker');
+var utils = require('../utils');
+
+/**
+ * A worker which convert chunks to a specified type.
+ * @constructor
+ * @param {String} destType the destination type.
+ */
+function ConvertWorker(destType) {
+ GenericWorker.call(this, "ConvertWorker to " + destType);
+ this.destType = destType;
+}
+utils.inherits(ConvertWorker, GenericWorker);
+
+/**
+ * @see GenericWorker.processChunk
+ */
+ConvertWorker.prototype.processChunk = function (chunk) {
+ this.push({
+ data : utils.transformTo(this.destType, chunk.data),
+ meta : chunk.meta
+ });
+};
+module.exports = ConvertWorker;
+
+},{"../utils":32,"./GenericWorker":28}],25:[function(require,module,exports){
+'use strict';
+
+var GenericWorker = require('./GenericWorker');
+var crc32 = require('../crc32');
+var utils = require('../utils');
+
+/**
+ * A worker which calculate the crc32 of the data flowing through.
+ * @constructor
+ */
+function Crc32Probe() {
+ GenericWorker.call(this, "Crc32Probe");
+ this.withStreamInfo("crc32", 0);
+}
+utils.inherits(Crc32Probe, GenericWorker);
+
+/**
+ * @see GenericWorker.processChunk
+ */
+Crc32Probe.prototype.processChunk = function (chunk) {
+ this.streamInfo.crc32 = crc32(chunk.data, this.streamInfo.crc32 || 0);
+ this.push(chunk);
+};
+module.exports = Crc32Probe;
+
+},{"../crc32":4,"../utils":32,"./GenericWorker":28}],26:[function(require,module,exports){
+'use strict';
+
+var utils = require('../utils');
+var GenericWorker = require('./GenericWorker');
+
+/**
+ * A worker which calculate the total length of the data flowing through.
+ * @constructor
+ * @param {String} propName the name used to expose the length
+ */
+function DataLengthProbe(propName) {
+ GenericWorker.call(this, "DataLengthProbe for " + propName);
+ this.propName = propName;
+ this.withStreamInfo(propName, 0);
+}
+utils.inherits(DataLengthProbe, GenericWorker);
+
+/**
+ * @see GenericWorker.processChunk
+ */
+DataLengthProbe.prototype.processChunk = function (chunk) {
+ if(chunk) {
+ var length = this.streamInfo[this.propName] || 0;
+ this.streamInfo[this.propName] = length + chunk.data.length;
+ }
+ GenericWorker.prototype.processChunk.call(this, chunk);
+};
+module.exports = DataLengthProbe;
+
+
+},{"../utils":32,"./GenericWorker":28}],27:[function(require,module,exports){
+'use strict';
+
+var utils = require('../utils');
+var GenericWorker = require('./GenericWorker');
+
+// the size of the generated chunks
+// TODO expose this as a public variable
+var DEFAULT_BLOCK_SIZE = 16 * 1024;
+
+/**
+ * A worker that reads a content and emits chunks.
+ * @constructor
+ * @param {Promise} dataP the promise of the data to split
+ */
+function DataWorker(dataP) {
+ GenericWorker.call(this, "DataWorker");
+ var self = this;
+ this.dataIsReady = false;
+ this.index = 0;
+ this.max = 0;
+ this.data = null;
+ this.type = "";
+
+ this._tickScheduled = false;
+
+ dataP.then(function (data) {
+ self.dataIsReady = true;
+ self.data = data;
+ self.max = data && data.length || 0;
+ self.type = utils.getTypeOf(data);
+ if(!self.isPaused) {
+ self._tickAndRepeat();
+ }
+ }, function (e) {
+ self.error(e);
+ });
+}
+
+utils.inherits(DataWorker, GenericWorker);
+
+/**
+ * @see GenericWorker.cleanUp
+ */
+DataWorker.prototype.cleanUp = function () {
+ GenericWorker.prototype.cleanUp.call(this);
+ this.data = null;
+};
+
+/**
+ * @see GenericWorker.resume
+ */
+DataWorker.prototype.resume = function () {
+ if(!GenericWorker.prototype.resume.call(this)) {
+ return false;
+ }
+
+ if (!this._tickScheduled && this.dataIsReady) {
+ this._tickScheduled = true;
+ utils.delay(this._tickAndRepeat, [], this);
+ }
+ return true;
+};
+
+/**
+ * Trigger a tick a schedule an other call to this function.
+ */
+DataWorker.prototype._tickAndRepeat = function() {
+ this._tickScheduled = false;
+ if(this.isPaused || this.isFinished) {
+ return;
+ }
+ this._tick();
+ if(!this.isFinished) {
+ utils.delay(this._tickAndRepeat, [], this);
+ this._tickScheduled = true;
+ }
+};
+
+/**
+ * Read and push a chunk.
+ */
+DataWorker.prototype._tick = function() {
+
+ if(this.isPaused || this.isFinished) {
+ return false;
+ }
+
+ var size = DEFAULT_BLOCK_SIZE;
+ var data = null, nextIndex = Math.min(this.max, this.index + size);
+ if (this.index >= this.max) {
+ // EOF
+ return this.end();
+ } else {
+ switch(this.type) {
+ case "string":
+ data = this.data.substring(this.index, nextIndex);
+ break;
+ case "uint8array":
+ data = this.data.subarray(this.index, nextIndex);
+ break;
+ case "array":
+ case "nodebuffer":
+ data = this.data.slice(this.index, nextIndex);
+ break;
+ }
+ this.index = nextIndex;
+ return this.push({
+ data : data,
+ meta : {
+ percent : this.max ? this.index / this.max * 100 : 0
+ }
+ });
+ }
+};
+
+module.exports = DataWorker;
+
+},{"../utils":32,"./GenericWorker":28}],28:[function(require,module,exports){
+'use strict';
+
+/**
+ * A worker that does nothing but passing chunks to the next one. This is like
+ * a nodejs stream but with some differences. On the good side :
+ * - it works on IE 6-9 without any issue / polyfill
+ * - it weights less than the full dependencies bundled with browserify
+ * - it forwards errors (no need to declare an error handler EVERYWHERE)
+ *
+ * A chunk is an object with 2 attributes : `meta` and `data`. The former is an
+ * object containing anything (`percent` for example), see each worker for more
+ * details. The latter is the real data (String, Uint8Array, etc).
+ *
+ * @constructor
+ * @param {String} name the name of the stream (mainly used for debugging purposes)
+ */
+function GenericWorker(name) {
+ // the name of the worker
+ this.name = name || "default";
+ // an object containing metadata about the workers chain
+ this.streamInfo = {};
+ // an error which happened when the worker was paused
+ this.generatedError = null;
+ // an object containing metadata to be merged by this worker into the general metadata
+ this.extraStreamInfo = {};
+ // true if the stream is paused (and should not do anything), false otherwise
+ this.isPaused = true;
+ // true if the stream is finished (and should not do anything), false otherwise
+ this.isFinished = false;
+ // true if the stream is locked to prevent further structure updates (pipe), false otherwise
+ this.isLocked = false;
+ // the event listeners
+ this._listeners = {
+ 'data':[],
+ 'end':[],
+ 'error':[]
+ };
+ // the previous worker, if any
+ this.previous = null;
+}
+
+GenericWorker.prototype = {
+ /**
+ * Push a chunk to the next workers.
+ * @param {Object} chunk the chunk to push
+ */
+ push : function (chunk) {
+ this.emit("data", chunk);
+ },
+ /**
+ * End the stream.
+ * @return {Boolean} true if this call ended the worker, false otherwise.
+ */
+ end : function () {
+ if (this.isFinished) {
+ return false;
+ }
+
+ this.flush();
+ try {
+ this.emit("end");
+ this.cleanUp();
+ this.isFinished = true;
+ } catch (e) {
+ this.emit("error", e);
+ }
+ return true;
+ },
+ /**
+ * End the stream with an error.
+ * @param {Error} e the error which caused the premature end.
+ * @return {Boolean} true if this call ended the worker with an error, false otherwise.
+ */
+ error : function (e) {
+ if (this.isFinished) {
+ return false;
+ }
+
+ if(this.isPaused) {
+ this.generatedError = e;
+ } else {
+ this.isFinished = true;
+
+ this.emit("error", e);
+
+ // in the workers chain exploded in the middle of the chain,
+ // the error event will go downward but we also need to notify
+ // workers upward that there has been an error.
+ if(this.previous) {
+ this.previous.error(e);
+ }
+
+ this.cleanUp();
+ }
+ return true;
+ },
+ /**
+ * Add a callback on an event.
+ * @param {String} name the name of the event (data, end, error)
+ * @param {Function} listener the function to call when the event is triggered
+ * @return {GenericWorker} the current object for chainability
+ */
+ on : function (name, listener) {
+ this._listeners[name].push(listener);
+ return this;
+ },
+ /**
+ * Clean any references when a worker is ending.
+ */
+ cleanUp : function () {
+ this.streamInfo = this.generatedError = this.extraStreamInfo = null;
+ this._listeners = [];
+ },
+ /**
+ * Trigger an event. This will call registered callback with the provided arg.
+ * @param {String} name the name of the event (data, end, error)
+ * @param {Object} arg the argument to call the callback with.
+ */
+ emit : function (name, arg) {
+ if (this._listeners[name]) {
+ for(var i = 0; i < this._listeners[name].length; i++) {
+ this._listeners[name][i].call(this, arg);
+ }
+ }
+ },
+ /**
+ * Chain a worker with an other.
+ * @param {Worker} next the worker receiving events from the current one.
+ * @return {worker} the next worker for chainability
+ */
+ pipe : function (next) {
+ return next.registerPrevious(this);
+ },
+ /**
+ * Same as `pipe` in the other direction.
+ * Using an API with `pipe(next)` is very easy.
+ * Implementing the API with the point of view of the next one registering
+ * a source is easier, see the ZipFileWorker.
+ * @param {Worker} previous the previous worker, sending events to this one
+ * @return {Worker} the current worker for chainability
+ */
+ registerPrevious : function (previous) {
+ if (this.isLocked) {
+ throw new Error("The stream '" + this + "' has already been used.");
+ }
+
+ // sharing the streamInfo...
+ this.streamInfo = previous.streamInfo;
+ // ... and adding our own bits
+ this.mergeStreamInfo();
+ this.previous = previous;
+ var self = this;
+ previous.on('data', function (chunk) {
+ self.processChunk(chunk);
+ });
+ previous.on('end', function () {
+ self.end();
+ });
+ previous.on('error', function (e) {
+ self.error(e);
+ });
+ return this;
+ },
+ /**
+ * Pause the stream so it doesn't send events anymore.
+ * @return {Boolean} true if this call paused the worker, false otherwise.
+ */
+ pause : function () {
+ if(this.isPaused || this.isFinished) {
+ return false;
+ }
+ this.isPaused = true;
+
+ if(this.previous) {
+ this.previous.pause();
+ }
+ return true;
+ },
+ /**
+ * Resume a paused stream.
+ * @return {Boolean} true if this call resumed the worker, false otherwise.
+ */
+ resume : function () {
+ if(!this.isPaused || this.isFinished) {
+ return false;
+ }
+ this.isPaused = false;
+
+ // if true, the worker tried to resume but failed
+ var withError = false;
+ if(this.generatedError) {
+ this.error(this.generatedError);
+ withError = true;
+ }
+ if(this.previous) {
+ this.previous.resume();
+ }
+
+ return !withError;
+ },
+ /**
+ * Flush any remaining bytes as the stream is ending.
+ */
+ flush : function () {},
+ /**
+ * Process a chunk. This is usually the method overridden.
+ * @param {Object} chunk the chunk to process.
+ */
+ processChunk : function(chunk) {
+ this.push(chunk);
+ },
+ /**
+ * Add a key/value to be added in the workers chain streamInfo once activated.
+ * @param {String} key the key to use
+ * @param {Object} value the associated value
+ * @return {Worker} the current worker for chainability
+ */
+ withStreamInfo : function (key, value) {
+ this.extraStreamInfo[key] = value;
+ this.mergeStreamInfo();
+ return this;
+ },
+ /**
+ * Merge this worker's streamInfo into the chain's streamInfo.
+ */
+ mergeStreamInfo : function () {
+ for(var key in this.extraStreamInfo) {
+ if (!this.extraStreamInfo.hasOwnProperty(key)) {
+ continue;
+ }
+ this.streamInfo[key] = this.extraStreamInfo[key];
+ }
+ },
+
+ /**
+ * Lock the stream to prevent further updates on the workers chain.
+ * After calling this method, all calls to pipe will fail.
+ */
+ lock: function () {
+ if (this.isLocked) {
+ throw new Error("The stream '" + this + "' has already been used.");
+ }
+ this.isLocked = true;
+ if (this.previous) {
+ this.previous.lock();
+ }
+ },
+
+ /**
+ *
+ * Pretty print the workers chain.
+ */
+ toString : function () {
+ var me = "Worker " + this.name;
+ if (this.previous) {
+ return this.previous + " -> " + me;
+ } else {
+ return me;
+ }
+ }
+};
+
+module.exports = GenericWorker;
+
+},{}],29:[function(require,module,exports){
+'use strict';
+
+var utils = require('../utils');
+var ConvertWorker = require('./ConvertWorker');
+var GenericWorker = require('./GenericWorker');
+var base64 = require('../base64');
+var support = require("../support");
+var external = require("../external");
+
+var NodejsStreamOutputAdapter = null;
+if (support.nodestream) {
+ try {
+ NodejsStreamOutputAdapter = require('../nodejs/NodejsStreamOutputAdapter');
+ } catch(e) {}
+}
+
+/**
+ * Apply the final transformation of the data. If the user wants a Blob for
+ * example, it's easier to work with an U8intArray and finally do the
+ * ArrayBuffer/Blob conversion.
+ * @param {String} type the name of the final type
+ * @param {String|Uint8Array|Buffer} content the content to transform
+ * @param {String} mimeType the mime type of the content, if applicable.
+ * @return {String|Uint8Array|ArrayBuffer|Buffer|Blob} the content in the right format.
+ */
+function transformZipOutput(type, content, mimeType) {
+ switch(type) {
+ case "blob" :
+ return utils.newBlob(utils.transformTo("arraybuffer", content), mimeType);
+ case "base64" :
+ return base64.encode(content);
+ default :
+ return utils.transformTo(type, content);
+ }
+}
+
+/**
+ * Concatenate an array of data of the given type.
+ * @param {String} type the type of the data in the given array.
+ * @param {Array} dataArray the array containing the data chunks to concatenate
+ * @return {String|Uint8Array|Buffer} the concatenated data
+ * @throws Error if the asked type is unsupported
+ */
+function concat (type, dataArray) {
+ var i, index = 0, res = null, totalLength = 0;
+ for(i = 0; i < dataArray.length; i++) {
+ totalLength += dataArray[i].length;
+ }
+ switch(type) {
+ case "string":
+ return dataArray.join("");
+ case "array":
+ return Array.prototype.concat.apply([], dataArray);
+ case "uint8array":
+ res = new Uint8Array(totalLength);
+ for(i = 0; i < dataArray.length; i++) {
+ res.set(dataArray[i], index);
+ index += dataArray[i].length;
+ }
+ return res;
+ case "nodebuffer":
+ return Buffer.concat(dataArray);
+ default:
+ throw new Error("concat : unsupported type '" + type + "'");
+ }
+}
+
+/**
+ * Listen a StreamHelper, accumulate its content and concatenate it into a
+ * complete block.
+ * @param {StreamHelper} helper the helper to use.
+ * @param {Function} updateCallback a callback called on each update. Called
+ * with one arg :
+ * - the metadata linked to the update received.
+ * @return Promise the promise for the accumulation.
+ */
+function accumulate(helper, updateCallback) {
+ return new external.Promise(function (resolve, reject){
+ var dataArray = [];
+ var chunkType = helper._internalType,
+ resultType = helper._outputType,
+ mimeType = helper._mimeType;
+ helper
+ .on('data', function (data, meta) {
+ dataArray.push(data);
+ if(updateCallback) {
+ updateCallback(meta);
+ }
+ })
+ .on('error', function(err) {
+ dataArray = [];
+ reject(err);
+ })
+ .on('end', function (){
+ try {
+ var result = transformZipOutput(resultType, concat(chunkType, dataArray), mimeType);
+ resolve(result);
+ } catch (e) {
+ reject(e);
+ }
+ dataArray = [];
+ })
+ .resume();
+ });
+}
+
+/**
+ * An helper to easily use workers outside of JSZip.
+ * @constructor
+ * @param {Worker} worker the worker to wrap
+ * @param {String} outputType the type of data expected by the use
+ * @param {String} mimeType the mime type of the content, if applicable.
+ */
+function StreamHelper(worker, outputType, mimeType) {
+ var internalType = outputType;
+ switch(outputType) {
+ case "blob":
+ case "arraybuffer":
+ internalType = "uint8array";
+ break;
+ case "base64":
+ internalType = "string";
+ break;
+ }
+
+ try {
+ // the type used internally
+ this._internalType = internalType;
+ // the type used to output results
+ this._outputType = outputType;
+ // the mime type
+ this._mimeType = mimeType;
+ utils.checkSupport(internalType);
+ this._worker = worker.pipe(new ConvertWorker(internalType));
+ // the last workers can be rewired without issues but we need to
+ // prevent any updates on previous workers.
+ worker.lock();
+ } catch(e) {
+ this._worker = new GenericWorker("error");
+ this._worker.error(e);
+ }
+}
+
+StreamHelper.prototype = {
+ /**
+ * Listen a StreamHelper, accumulate its content and concatenate it into a
+ * complete block.
+ * @param {Function} updateCb the update callback.
+ * @return Promise the promise for the accumulation.
+ */
+ accumulate : function (updateCb) {
+ return accumulate(this, updateCb);
+ },
+ /**
+ * Add a listener on an event triggered on a stream.
+ * @param {String} evt the name of the event
+ * @param {Function} fn the listener
+ * @return {StreamHelper} the current helper.
+ */
+ on : function (evt, fn) {
+ var self = this;
+
+ if(evt === "data") {
+ this._worker.on(evt, function (chunk) {
+ fn.call(self, chunk.data, chunk.meta);
+ });
+ } else {
+ this._worker.on(evt, function () {
+ utils.delay(fn, arguments, self);
+ });
+ }
+ return this;
+ },
+ /**
+ * Resume the flow of chunks.
+ * @return {StreamHelper} the current helper.
+ */
+ resume : function () {
+ utils.delay(this._worker.resume, [], this._worker);
+ return this;
+ },
+ /**
+ * Pause the flow of chunks.
+ * @return {StreamHelper} the current helper.
+ */
+ pause : function () {
+ this._worker.pause();
+ return this;
+ },
+ /**
+ * Return a nodejs stream for this helper.
+ * @param {Function} updateCb the update callback.
+ * @return {NodejsStreamOutputAdapter} the nodejs stream.
+ */
+ toNodejsStream : function (updateCb) {
+ utils.checkSupport("nodestream");
+ if (this._outputType !== "nodebuffer") {
+ // an object stream containing blob/arraybuffer/uint8array/string
+ // is strange and I don't know if it would be useful.
+ // I you find this comment and have a good usecase, please open a
+ // bug report !
+ throw new Error(this._outputType + " is not supported by this method");
+ }
+
+ return new NodejsStreamOutputAdapter(this, {
+ objectMode : this._outputType !== "nodebuffer"
+ }, updateCb);
+ }
+};
+
+
+module.exports = StreamHelper;
+
+},{"../base64":1,"../external":6,"../nodejs/NodejsStreamOutputAdapter":13,"../support":30,"../utils":32,"./ConvertWorker":24,"./GenericWorker":28}],30:[function(require,module,exports){
+'use strict';
+
+exports.base64 = true;
+exports.array = true;
+exports.string = true;
+exports.arraybuffer = typeof ArrayBuffer !== "undefined" && typeof Uint8Array !== "undefined";
+exports.nodebuffer = typeof Buffer !== "undefined";
+// contains true if JSZip can read/generate Uint8Array, false otherwise.
+exports.uint8array = typeof Uint8Array !== "undefined";
+
+if (typeof ArrayBuffer === "undefined") {
+ exports.blob = false;
+}
+else {
+ var buffer = new ArrayBuffer(0);
+ try {
+ exports.blob = new Blob([buffer], {
+ type: "application/zip"
+ }).size === 0;
+ }
+ catch (e) {
+ try {
+ var Builder = self.BlobBuilder || self.WebKitBlobBuilder || self.MozBlobBuilder || self.MSBlobBuilder;
+ var builder = new Builder();
+ builder.append(buffer);
+ exports.blob = builder.getBlob('application/zip').size === 0;
+ }
+ catch (e) {
+ exports.blob = false;
+ }
+ }
+}
+
+try {
+ exports.nodestream = !!require('readable-stream').Readable;
+} catch(e) {
+ exports.nodestream = false;
+}
+
+},{"readable-stream":16}],31:[function(require,module,exports){
+'use strict';
+
+var utils = require('./utils');
+var support = require('./support');
+var nodejsUtils = require('./nodejsUtils');
+var GenericWorker = require('./stream/GenericWorker');
+
+/**
+ * The following functions come from pako, from pako/lib/utils/strings
+ * released under the MIT license, see pako https://github.com/nodeca/pako/
+ */
+
+// Table with utf8 lengths (calculated by first byte of sequence)
+// Note, that 5 & 6-byte values and some 4-byte values can not be represented in JS,
+// because max possible codepoint is 0x10ffff
+var _utf8len = new Array(256);
+for (var i=0; i<256; i++) {
+ _utf8len[i] = (i >= 252 ? 6 : i >= 248 ? 5 : i >= 240 ? 4 : i >= 224 ? 3 : i >= 192 ? 2 : 1);
+}
+_utf8len[254]=_utf8len[254]=1; // Invalid sequence start
+
+// convert string to array (typed, when possible)
+var string2buf = function (str) {
+ var buf, c, c2, m_pos, i, str_len = str.length, buf_len = 0;
+
+ // count binary size
+ for (m_pos = 0; m_pos < str_len; m_pos++) {
+ c = str.charCodeAt(m_pos);
+ if ((c & 0xfc00) === 0xd800 && (m_pos+1 < str_len)) {
+ c2 = str.charCodeAt(m_pos+1);
+ if ((c2 & 0xfc00) === 0xdc00) {
+ c = 0x10000 + ((c - 0xd800) << 10) + (c2 - 0xdc00);
+ m_pos++;
+ }
+ }
+ buf_len += c < 0x80 ? 1 : c < 0x800 ? 2 : c < 0x10000 ? 3 : 4;
+ }
+
+ // allocate buffer
+ if (support.uint8array) {
+ buf = new Uint8Array(buf_len);
+ } else {
+ buf = new Array(buf_len);
+ }
+
+ // convert
+ for (i=0, m_pos = 0; i < buf_len; m_pos++) {
+ c = str.charCodeAt(m_pos);
+ if ((c & 0xfc00) === 0xd800 && (m_pos+1 < str_len)) {
+ c2 = str.charCodeAt(m_pos+1);
+ if ((c2 & 0xfc00) === 0xdc00) {
+ c = 0x10000 + ((c - 0xd800) << 10) + (c2 - 0xdc00);
+ m_pos++;
+ }
+ }
+ if (c < 0x80) {
+ /* one byte */
+ buf[i++] = c;
+ } else if (c < 0x800) {
+ /* two bytes */
+ buf[i++] = 0xC0 | (c >>> 6);
+ buf[i++] = 0x80 | (c & 0x3f);
+ } else if (c < 0x10000) {
+ /* three bytes */
+ buf[i++] = 0xE0 | (c >>> 12);
+ buf[i++] = 0x80 | (c >>> 6 & 0x3f);
+ buf[i++] = 0x80 | (c & 0x3f);
+ } else {
+ /* four bytes */
+ buf[i++] = 0xf0 | (c >>> 18);
+ buf[i++] = 0x80 | (c >>> 12 & 0x3f);
+ buf[i++] = 0x80 | (c >>> 6 & 0x3f);
+ buf[i++] = 0x80 | (c & 0x3f);
+ }
+ }
+
+ return buf;
+};
+
+// Calculate max possible position in utf8 buffer,
+// that will not break sequence. If that's not possible
+// - (very small limits) return max size as is.
+//
+// buf[] - utf8 bytes array
+// max - length limit (mandatory);
+var utf8border = function(buf, max) {
+ var pos;
+
+ max = max || buf.length;
+ if (max > buf.length) { max = buf.length; }
+
+ // go back from last position, until start of sequence found
+ pos = max-1;
+ while (pos >= 0 && (buf[pos] & 0xC0) === 0x80) { pos--; }
+
+ // Fuckup - very small and broken sequence,
+ // return max, because we should return something anyway.
+ if (pos < 0) { return max; }
+
+ // If we came to start of buffer - that means vuffer is too small,
+ // return max too.
+ if (pos === 0) { return max; }
+
+ return (pos + _utf8len[buf[pos]] > max) ? pos : max;
+};
+
+// convert array to string
+var buf2string = function (buf) {
+ var str, i, out, c, c_len;
+ var len = buf.length;
+
+ // Reserve max possible length (2 words per char)
+ // NB: by unknown reasons, Array is significantly faster for
+ // String.fromCharCode.apply than Uint16Array.
+ var utf16buf = new Array(len*2);
+
+ for (out=0, i=0; i 4) { utf16buf[out++] = 0xfffd; i += c_len-1; continue; }
+
+ // apply mask on first byte
+ c &= c_len === 2 ? 0x1f : c_len === 3 ? 0x0f : 0x07;
+ // join the rest
+ while (c_len > 1 && i < len) {
+ c = (c << 6) | (buf[i++] & 0x3f);
+ c_len--;
+ }
+
+ // terminated by end of string?
+ if (c_len > 1) { utf16buf[out++] = 0xfffd; continue; }
+
+ if (c < 0x10000) {
+ utf16buf[out++] = c;
+ } else {
+ c -= 0x10000;
+ utf16buf[out++] = 0xd800 | ((c >> 10) & 0x3ff);
+ utf16buf[out++] = 0xdc00 | (c & 0x3ff);
+ }
+ }
+
+ // shrinkBuf(utf16buf, out)
+ if (utf16buf.length !== out) {
+ if(utf16buf.subarray) {
+ utf16buf = utf16buf.subarray(0, out);
+ } else {
+ utf16buf.length = out;
+ }
+ }
+
+ // return String.fromCharCode.apply(null, utf16buf);
+ return utils.applyFromCharCode(utf16buf);
+};
+
+
+// That's all for the pako functions.
+
+
+/**
+ * Transform a javascript string into an array (typed if possible) of bytes,
+ * UTF-8 encoded.
+ * @param {String} str the string to encode
+ * @return {Array|Uint8Array|Buffer} the UTF-8 encoded string.
+ */
+exports.utf8encode = function utf8encode(str) {
+ if (support.nodebuffer) {
+ return nodejsUtils.newBufferFrom(str, "utf-8");
+ }
+
+ return string2buf(str);
+};
+
+
+/**
+ * Transform a bytes array (or a representation) representing an UTF-8 encoded
+ * string into a javascript string.
+ * @param {Array|Uint8Array|Buffer} buf the data de decode
+ * @return {String} the decoded string.
+ */
+exports.utf8decode = function utf8decode(buf) {
+ if (support.nodebuffer) {
+ return utils.transformTo("nodebuffer", buf).toString("utf-8");
+ }
+
+ buf = utils.transformTo(support.uint8array ? "uint8array" : "array", buf);
+
+ return buf2string(buf);
+};
+
+/**
+ * A worker to decode utf8 encoded binary chunks into string chunks.
+ * @constructor
+ */
+function Utf8DecodeWorker() {
+ GenericWorker.call(this, "utf-8 decode");
+ // the last bytes if a chunk didn't end with a complete codepoint.
+ this.leftOver = null;
+}
+utils.inherits(Utf8DecodeWorker, GenericWorker);
+
+/**
+ * @see GenericWorker.processChunk
+ */
+Utf8DecodeWorker.prototype.processChunk = function (chunk) {
+
+ var data = utils.transformTo(support.uint8array ? "uint8array" : "array", chunk.data);
+
+ // 1st step, re-use what's left of the previous chunk
+ if (this.leftOver && this.leftOver.length) {
+ if(support.uint8array) {
+ var previousData = data;
+ data = new Uint8Array(previousData.length + this.leftOver.length);
+ data.set(this.leftOver, 0);
+ data.set(previousData, this.leftOver.length);
+ } else {
+ data = this.leftOver.concat(data);
+ }
+ this.leftOver = null;
+ }
+
+ var nextBoundary = utf8border(data);
+ var usableData = data;
+ if (nextBoundary !== data.length) {
+ if (support.uint8array) {
+ usableData = data.subarray(0, nextBoundary);
+ this.leftOver = data.subarray(nextBoundary, data.length);
+ } else {
+ usableData = data.slice(0, nextBoundary);
+ this.leftOver = data.slice(nextBoundary, data.length);
+ }
+ }
+
+ this.push({
+ data : exports.utf8decode(usableData),
+ meta : chunk.meta
+ });
+};
+
+/**
+ * @see GenericWorker.flush
+ */
+Utf8DecodeWorker.prototype.flush = function () {
+ if(this.leftOver && this.leftOver.length) {
+ this.push({
+ data : exports.utf8decode(this.leftOver),
+ meta : {}
+ });
+ this.leftOver = null;
+ }
+};
+exports.Utf8DecodeWorker = Utf8DecodeWorker;
+
+/**
+ * A worker to endcode string chunks into utf8 encoded binary chunks.
+ * @constructor
+ */
+function Utf8EncodeWorker() {
+ GenericWorker.call(this, "utf-8 encode");
+}
+utils.inherits(Utf8EncodeWorker, GenericWorker);
+
+/**
+ * @see GenericWorker.processChunk
+ */
+Utf8EncodeWorker.prototype.processChunk = function (chunk) {
+ this.push({
+ data : exports.utf8encode(chunk.data),
+ meta : chunk.meta
+ });
+};
+exports.Utf8EncodeWorker = Utf8EncodeWorker;
+
+},{"./nodejsUtils":14,"./stream/GenericWorker":28,"./support":30,"./utils":32}],32:[function(require,module,exports){
+'use strict';
+
+var support = require('./support');
+var base64 = require('./base64');
+var nodejsUtils = require('./nodejsUtils');
+var setImmediate = require('set-immediate-shim');
+var external = require("./external");
+
+
+/**
+ * Convert a string that pass as a "binary string": it should represent a byte
+ * array but may have > 255 char codes. Be sure to take only the first byte
+ * and returns the byte array.
+ * @param {String} str the string to transform.
+ * @return {Array|Uint8Array} the string in a binary format.
+ */
+function string2binary(str) {
+ var result = null;
+ if (support.uint8array) {
+ result = new Uint8Array(str.length);
+ } else {
+ result = new Array(str.length);
+ }
+ return stringToArrayLike(str, result);
+}
+
+/**
+ * Create a new blob with the given content and the given type.
+ * @param {String|ArrayBuffer} part the content to put in the blob. DO NOT use
+ * an Uint8Array because the stock browser of android 4 won't accept it (it
+ * will be silently converted to a string, "[object Uint8Array]").
+ *
+ * Use only ONE part to build the blob to avoid a memory leak in IE11 / Edge:
+ * when a large amount of Array is used to create the Blob, the amount of
+ * memory consumed is nearly 100 times the original data amount.
+ *
+ * @param {String} type the mime type of the blob.
+ * @return {Blob} the created blob.
+ */
+exports.newBlob = function(part, type) {
+ exports.checkSupport("blob");
+
+ try {
+ // Blob constructor
+ return new Blob([part], {
+ type: type
+ });
+ }
+ catch (e) {
+
+ try {
+ // deprecated, browser only, old way
+ var Builder = self.BlobBuilder || self.WebKitBlobBuilder || self.MozBlobBuilder || self.MSBlobBuilder;
+ var builder = new Builder();
+ builder.append(part);
+ return builder.getBlob(type);
+ }
+ catch (e) {
+
+ // well, fuck ?!
+ throw new Error("Bug : can't construct the Blob.");
+ }
+ }
+
+
+};
+/**
+ * The identity function.
+ * @param {Object} input the input.
+ * @return {Object} the same input.
+ */
+function identity(input) {
+ return input;
+}
+
+/**
+ * Fill in an array with a string.
+ * @param {String} str the string to use.
+ * @param {Array|ArrayBuffer|Uint8Array|Buffer} array the array to fill in (will be mutated).
+ * @return {Array|ArrayBuffer|Uint8Array|Buffer} the updated array.
+ */
+function stringToArrayLike(str, array) {
+ for (var i = 0; i < str.length; ++i) {
+ array[i] = str.charCodeAt(i) & 0xFF;
+ }
+ return array;
+}
+
+/**
+ * An helper for the function arrayLikeToString.
+ * This contains static informations and functions that
+ * can be optimized by the browser JIT compiler.
+ */
+var arrayToStringHelper = {
+ /**
+ * Transform an array of int into a string, chunk by chunk.
+ * See the performances notes on arrayLikeToString.
+ * @param {Array|ArrayBuffer|Uint8Array|Buffer} array the array to transform.
+ * @param {String} type the type of the array.
+ * @param {Integer} chunk the chunk size.
+ * @return {String} the resulting string.
+ * @throws Error if the chunk is too big for the stack.
+ */
+ stringifyByChunk: function(array, type, chunk) {
+ var result = [], k = 0, len = array.length;
+ // shortcut
+ if (len <= chunk) {
+ return String.fromCharCode.apply(null, array);
+ }
+ while (k < len) {
+ if (type === "array" || type === "nodebuffer") {
+ result.push(String.fromCharCode.apply(null, array.slice(k, Math.min(k + chunk, len))));
+ }
+ else {
+ result.push(String.fromCharCode.apply(null, array.subarray(k, Math.min(k + chunk, len))));
+ }
+ k += chunk;
+ }
+ return result.join("");
+ },
+ /**
+ * Call String.fromCharCode on every item in the array.
+ * This is the naive implementation, which generate A LOT of intermediate string.
+ * This should be used when everything else fail.
+ * @param {Array|ArrayBuffer|Uint8Array|Buffer} array the array to transform.
+ * @return {String} the result.
+ */
+ stringifyByChar: function(array){
+ var resultStr = "";
+ for(var i = 0; i < array.length; i++) {
+ resultStr += String.fromCharCode(array[i]);
+ }
+ return resultStr;
+ },
+ applyCanBeUsed : {
+ /**
+ * true if the browser accepts to use String.fromCharCode on Uint8Array
+ */
+ uint8array : (function () {
+ try {
+ return support.uint8array && String.fromCharCode.apply(null, new Uint8Array(1)).length === 1;
+ } catch (e) {
+ return false;
+ }
+ })(),
+ /**
+ * true if the browser accepts to use String.fromCharCode on nodejs Buffer.
+ */
+ nodebuffer : (function () {
+ try {
+ return support.nodebuffer && String.fromCharCode.apply(null, nodejsUtils.allocBuffer(1)).length === 1;
+ } catch (e) {
+ return false;
+ }
+ })()
+ }
+};
+
+/**
+ * Transform an array-like object to a string.
+ * @param {Array|ArrayBuffer|Uint8Array|Buffer} array the array to transform.
+ * @return {String} the result.
+ */
+function arrayLikeToString(array) {
+ // Performances notes :
+ // --------------------
+ // String.fromCharCode.apply(null, array) is the fastest, see
+ // see http://jsperf.com/converting-a-uint8array-to-a-string/2
+ // but the stack is limited (and we can get huge arrays !).
+ //
+ // result += String.fromCharCode(array[i]); generate too many strings !
+ //
+ // This code is inspired by http://jsperf.com/arraybuffer-to-string-apply-performance/2
+ // TODO : we now have workers that split the work. Do we still need that ?
+ var chunk = 65536,
+ type = exports.getTypeOf(array),
+ canUseApply = true;
+ if (type === "uint8array") {
+ canUseApply = arrayToStringHelper.applyCanBeUsed.uint8array;
+ } else if (type === "nodebuffer") {
+ canUseApply = arrayToStringHelper.applyCanBeUsed.nodebuffer;
+ }
+
+ if (canUseApply) {
+ while (chunk > 1) {
+ try {
+ return arrayToStringHelper.stringifyByChunk(array, type, chunk);
+ } catch (e) {
+ chunk = Math.floor(chunk / 2);
+ }
+ }
+ }
+
+ // no apply or chunk error : slow and painful algorithm
+ // default browser on android 4.*
+ return arrayToStringHelper.stringifyByChar(array);
+}
+
+exports.applyFromCharCode = arrayLikeToString;
+
+
+/**
+ * Copy the data from an array-like to an other array-like.
+ * @param {Array|ArrayBuffer|Uint8Array|Buffer} arrayFrom the origin array.
+ * @param {Array|ArrayBuffer|Uint8Array|Buffer} arrayTo the destination array which will be mutated.
+ * @return {Array|ArrayBuffer|Uint8Array|Buffer} the updated destination array.
+ */
+function arrayLikeToArrayLike(arrayFrom, arrayTo) {
+ for (var i = 0; i < arrayFrom.length; i++) {
+ arrayTo[i] = arrayFrom[i];
+ }
+ return arrayTo;
+}
+
+// a matrix containing functions to transform everything into everything.
+var transform = {};
+
+// string to ?
+transform["string"] = {
+ "string": identity,
+ "array": function(input) {
+ return stringToArrayLike(input, new Array(input.length));
+ },
+ "arraybuffer": function(input) {
+ return transform["string"]["uint8array"](input).buffer;
+ },
+ "uint8array": function(input) {
+ return stringToArrayLike(input, new Uint8Array(input.length));
+ },
+ "nodebuffer": function(input) {
+ return stringToArrayLike(input, nodejsUtils.allocBuffer(input.length));
+ }
+};
+
+// array to ?
+transform["array"] = {
+ "string": arrayLikeToString,
+ "array": identity,
+ "arraybuffer": function(input) {
+ return (new Uint8Array(input)).buffer;
+ },
+ "uint8array": function(input) {
+ return new Uint8Array(input);
+ },
+ "nodebuffer": function(input) {
+ return nodejsUtils.newBufferFrom(input);
+ }
+};
+
+// arraybuffer to ?
+transform["arraybuffer"] = {
+ "string": function(input) {
+ return arrayLikeToString(new Uint8Array(input));
+ },
+ "array": function(input) {
+ return arrayLikeToArrayLike(new Uint8Array(input), new Array(input.byteLength));
+ },
+ "arraybuffer": identity,
+ "uint8array": function(input) {
+ return new Uint8Array(input);
+ },
+ "nodebuffer": function(input) {
+ return nodejsUtils.newBufferFrom(new Uint8Array(input));
+ }
+};
+
+// uint8array to ?
+transform["uint8array"] = {
+ "string": arrayLikeToString,
+ "array": function(input) {
+ return arrayLikeToArrayLike(input, new Array(input.length));
+ },
+ "arraybuffer": function(input) {
+ return input.buffer;
+ },
+ "uint8array": identity,
+ "nodebuffer": function(input) {
+ return nodejsUtils.newBufferFrom(input);
+ }
+};
+
+// nodebuffer to ?
+transform["nodebuffer"] = {
+ "string": arrayLikeToString,
+ "array": function(input) {
+ return arrayLikeToArrayLike(input, new Array(input.length));
+ },
+ "arraybuffer": function(input) {
+ return transform["nodebuffer"]["uint8array"](input).buffer;
+ },
+ "uint8array": function(input) {
+ return arrayLikeToArrayLike(input, new Uint8Array(input.length));
+ },
+ "nodebuffer": identity
+};
+
+/**
+ * Transform an input into any type.
+ * The supported output type are : string, array, uint8array, arraybuffer, nodebuffer.
+ * If no output type is specified, the unmodified input will be returned.
+ * @param {String} outputType the output type.
+ * @param {String|Array|ArrayBuffer|Uint8Array|Buffer} input the input to convert.
+ * @throws {Error} an Error if the browser doesn't support the requested output type.
+ */
+exports.transformTo = function(outputType, input) {
+ if (!input) {
+ // undefined, null, etc
+ // an empty string won't harm.
+ input = "";
+ }
+ if (!outputType) {
+ return input;
+ }
+ exports.checkSupport(outputType);
+ var inputType = exports.getTypeOf(input);
+ var result = transform[inputType][outputType](input);
+ return result;
+};
+
+/**
+ * Return the type of the input.
+ * The type will be in a format valid for JSZip.utils.transformTo : string, array, uint8array, arraybuffer.
+ * @param {Object} input the input to identify.
+ * @return {String} the (lowercase) type of the input.
+ */
+exports.getTypeOf = function(input) {
+ if (typeof input === "string") {
+ return "string";
+ }
+ if (Object.prototype.toString.call(input) === "[object Array]") {
+ return "array";
+ }
+ if (support.nodebuffer && nodejsUtils.isBuffer(input)) {
+ return "nodebuffer";
+ }
+ if (support.uint8array && input instanceof Uint8Array) {
+ return "uint8array";
+ }
+ if (support.arraybuffer && input instanceof ArrayBuffer) {
+ return "arraybuffer";
+ }
+};
+
+/**
+ * Throw an exception if the type is not supported.
+ * @param {String} type the type to check.
+ * @throws {Error} an Error if the browser doesn't support the requested type.
+ */
+exports.checkSupport = function(type) {
+ var supported = support[type.toLowerCase()];
+ if (!supported) {
+ throw new Error(type + " is not supported by this platform");
+ }
+};
+
+exports.MAX_VALUE_16BITS = 65535;
+exports.MAX_VALUE_32BITS = -1; // well, "\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF" is parsed as -1
+
+/**
+ * Prettify a string read as binary.
+ * @param {string} str the string to prettify.
+ * @return {string} a pretty string.
+ */
+exports.pretty = function(str) {
+ var res = '',
+ code, i;
+ for (i = 0; i < (str || "").length; i++) {
+ code = str.charCodeAt(i);
+ res += '\\x' + (code < 16 ? "0" : "") + code.toString(16).toUpperCase();
+ }
+ return res;
+};
+
+/**
+ * Defer the call of a function.
+ * @param {Function} callback the function to call asynchronously.
+ * @param {Array} args the arguments to give to the callback.
+ */
+exports.delay = function(callback, args, self) {
+ setImmediate(function () {
+ callback.apply(self || null, args || []);
+ });
+};
+
+/**
+ * Extends a prototype with an other, without calling a constructor with
+ * side effects. Inspired by nodejs' `utils.inherits`
+ * @param {Function} ctor the constructor to augment
+ * @param {Function} superCtor the parent constructor to use
+ */
+exports.inherits = function (ctor, superCtor) {
+ var Obj = function() {};
+ Obj.prototype = superCtor.prototype;
+ ctor.prototype = new Obj();
+};
+
+/**
+ * Merge the objects passed as parameters into a new one.
+ * @private
+ * @param {...Object} var_args All objects to merge.
+ * @return {Object} a new object with the data of the others.
+ */
+exports.extend = function() {
+ var result = {}, i, attr;
+ for (i = 0; i < arguments.length; i++) { // arguments is not enumerable in some browsers
+ for (attr in arguments[i]) {
+ if (arguments[i].hasOwnProperty(attr) && typeof result[attr] === "undefined") {
+ result[attr] = arguments[i][attr];
+ }
+ }
+ }
+ return result;
+};
+
+/**
+ * Transform arbitrary content into a Promise.
+ * @param {String} name a name for the content being processed.
+ * @param {Object} inputData the content to process.
+ * @param {Boolean} isBinary true if the content is not an unicode string
+ * @param {Boolean} isOptimizedBinaryString true if the string content only has one byte per character.
+ * @param {Boolean} isBase64 true if the string content is encoded with base64.
+ * @return {Promise} a promise in a format usable by JSZip.
+ */
+exports.prepareContent = function(name, inputData, isBinary, isOptimizedBinaryString, isBase64) {
+
+ // if inputData is already a promise, this flatten it.
+ var promise = external.Promise.resolve(inputData).then(function(data) {
+
+
+ var isBlob = support.blob && (data instanceof Blob || ['[object File]', '[object Blob]'].indexOf(Object.prototype.toString.call(data)) !== -1);
+
+ if (isBlob && typeof FileReader !== "undefined") {
+ return new external.Promise(function (resolve, reject) {
+ var reader = new FileReader();
+
+ reader.onload = function(e) {
+ resolve(e.target.result);
+ };
+ reader.onerror = function(e) {
+ reject(e.target.error);
+ };
+ reader.readAsArrayBuffer(data);
+ });
+ } else {
+ return data;
+ }
+ });
+
+ return promise.then(function(data) {
+ var dataType = exports.getTypeOf(data);
+
+ if (!dataType) {
+ return external.Promise.reject(
+ new Error("Can't read the data of '" + name + "'. Is it " +
+ "in a supported JavaScript type (String, Blob, ArrayBuffer, etc) ?")
+ );
+ }
+ // special case : it's way easier to work with Uint8Array than with ArrayBuffer
+ if (dataType === "arraybuffer") {
+ data = exports.transformTo("uint8array", data);
+ } else if (dataType === "string") {
+ if (isBase64) {
+ data = base64.decode(data);
+ }
+ else if (isBinary) {
+ // optimizedBinaryString === true means that the file has already been filtered with a 0xFF mask
+ if (isOptimizedBinaryString !== true) {
+ // this is a string, not in a base64 format.
+ // Be sure that this is a correct "binary string"
+ data = string2binary(data);
+ }
+ }
+ }
+ return data;
+ });
+};
+
+},{"./base64":1,"./external":6,"./nodejsUtils":14,"./support":30,"set-immediate-shim":54}],33:[function(require,module,exports){
+'use strict';
+var readerFor = require('./reader/readerFor');
+var utils = require('./utils');
+var sig = require('./signature');
+var ZipEntry = require('./zipEntry');
+var utf8 = require('./utf8');
+var support = require('./support');
+// class ZipEntries {{{
+/**
+ * All the entries in the zip file.
+ * @constructor
+ * @param {Object} loadOptions Options for loading the stream.
+ */
+function ZipEntries(loadOptions) {
+ this.files = [];
+ this.loadOptions = loadOptions;
+}
+ZipEntries.prototype = {
+ /**
+ * Check that the reader is on the specified signature.
+ * @param {string} expectedSignature the expected signature.
+ * @throws {Error} if it is an other signature.
+ */
+ checkSignature: function(expectedSignature) {
+ if (!this.reader.readAndCheckSignature(expectedSignature)) {
+ this.reader.index -= 4;
+ var signature = this.reader.readString(4);
+ throw new Error("Corrupted zip or bug: unexpected signature " + "(" + utils.pretty(signature) + ", expected " + utils.pretty(expectedSignature) + ")");
+ }
+ },
+ /**
+ * Check if the given signature is at the given index.
+ * @param {number} askedIndex the index to check.
+ * @param {string} expectedSignature the signature to expect.
+ * @return {boolean} true if the signature is here, false otherwise.
+ */
+ isSignature: function(askedIndex, expectedSignature) {
+ var currentIndex = this.reader.index;
+ this.reader.setIndex(askedIndex);
+ var signature = this.reader.readString(4);
+ var result = signature === expectedSignature;
+ this.reader.setIndex(currentIndex);
+ return result;
+ },
+ /**
+ * Read the end of the central directory.
+ */
+ readBlockEndOfCentral: function() {
+ this.diskNumber = this.reader.readInt(2);
+ this.diskWithCentralDirStart = this.reader.readInt(2);
+ this.centralDirRecordsOnThisDisk = this.reader.readInt(2);
+ this.centralDirRecords = this.reader.readInt(2);
+ this.centralDirSize = this.reader.readInt(4);
+ this.centralDirOffset = this.reader.readInt(4);
+
+ this.zipCommentLength = this.reader.readInt(2);
+ // warning : the encoding depends of the system locale
+ // On a linux machine with LANG=en_US.utf8, this field is utf8 encoded.
+ // On a windows machine, this field is encoded with the localized windows code page.
+ var zipComment = this.reader.readData(this.zipCommentLength);
+ var decodeParamType = support.uint8array ? "uint8array" : "array";
+ // To get consistent behavior with the generation part, we will assume that
+ // this is utf8 encoded unless specified otherwise.
+ var decodeContent = utils.transformTo(decodeParamType, zipComment);
+ this.zipComment = this.loadOptions.decodeFileName(decodeContent);
+ },
+ /**
+ * Read the end of the Zip 64 central directory.
+ * Not merged with the method readEndOfCentral :
+ * The end of central can coexist with its Zip64 brother,
+ * I don't want to read the wrong number of bytes !
+ */
+ readBlockZip64EndOfCentral: function() {
+ this.zip64EndOfCentralSize = this.reader.readInt(8);
+ this.reader.skip(4);
+ // this.versionMadeBy = this.reader.readString(2);
+ // this.versionNeeded = this.reader.readInt(2);
+ this.diskNumber = this.reader.readInt(4);
+ this.diskWithCentralDirStart = this.reader.readInt(4);
+ this.centralDirRecordsOnThisDisk = this.reader.readInt(8);
+ this.centralDirRecords = this.reader.readInt(8);
+ this.centralDirSize = this.reader.readInt(8);
+ this.centralDirOffset = this.reader.readInt(8);
+
+ this.zip64ExtensibleData = {};
+ var extraDataSize = this.zip64EndOfCentralSize - 44,
+ index = 0,
+ extraFieldId,
+ extraFieldLength,
+ extraFieldValue;
+ while (index < extraDataSize) {
+ extraFieldId = this.reader.readInt(2);
+ extraFieldLength = this.reader.readInt(4);
+ extraFieldValue = this.reader.readData(extraFieldLength);
+ this.zip64ExtensibleData[extraFieldId] = {
+ id: extraFieldId,
+ length: extraFieldLength,
+ value: extraFieldValue
+ };
+ }
+ },
+ /**
+ * Read the end of the Zip 64 central directory locator.
+ */
+ readBlockZip64EndOfCentralLocator: function() {
+ this.diskWithZip64CentralDirStart = this.reader.readInt(4);
+ this.relativeOffsetEndOfZip64CentralDir = this.reader.readInt(8);
+ this.disksCount = this.reader.readInt(4);
+ if (this.disksCount > 1) {
+ throw new Error("Multi-volumes zip are not supported");
+ }
+ },
+ /**
+ * Read the local files, based on the offset read in the central part.
+ */
+ readLocalFiles: function() {
+ var i, file;
+ for (i = 0; i < this.files.length; i++) {
+ file = this.files[i];
+ this.reader.setIndex(file.localHeaderOffset);
+ this.checkSignature(sig.LOCAL_FILE_HEADER);
+ file.readLocalPart(this.reader);
+ file.handleUTF8();
+ file.processAttributes();
+ }
+ },
+ /**
+ * Read the central directory.
+ */
+ readCentralDir: function() {
+ var file;
+
+ this.reader.setIndex(this.centralDirOffset);
+ while (this.reader.readAndCheckSignature(sig.CENTRAL_FILE_HEADER)) {
+ file = new ZipEntry({
+ zip64: this.zip64
+ }, this.loadOptions);
+ file.readCentralPart(this.reader);
+ this.files.push(file);
+ }
+
+ if (this.centralDirRecords !== this.files.length) {
+ if (this.centralDirRecords !== 0 && this.files.length === 0) {
+ // We expected some records but couldn't find ANY.
+ // This is really suspicious, as if something went wrong.
+ throw new Error("Corrupted zip or bug: expected " + this.centralDirRecords + " records in central dir, got " + this.files.length);
+ } else {
+ // We found some records but not all.
+ // Something is wrong but we got something for the user: no error here.
+ // console.warn("expected", this.centralDirRecords, "records in central dir, got", this.files.length);
+ }
+ }
+ },
+ /**
+ * Read the end of central directory.
+ */
+ readEndOfCentral: function() {
+ var offset = this.reader.lastIndexOfSignature(sig.CENTRAL_DIRECTORY_END);
+ if (offset < 0) {
+ // Check if the content is a truncated zip or complete garbage.
+ // A "LOCAL_FILE_HEADER" is not required at the beginning (auto
+ // extractible zip for example) but it can give a good hint.
+ // If an ajax request was used without responseType, we will also
+ // get unreadable data.
+ var isGarbage = !this.isSignature(0, sig.LOCAL_FILE_HEADER);
+
+ if (isGarbage) {
+ throw new Error("Can't find end of central directory : is this a zip file ? " +
+ "If it is, see https://stuk.github.io/jszip/documentation/howto/read_zip.html");
+ } else {
+ throw new Error("Corrupted zip: can't find end of central directory");
+ }
+
+ }
+ this.reader.setIndex(offset);
+ var endOfCentralDirOffset = offset;
+ this.checkSignature(sig.CENTRAL_DIRECTORY_END);
+ this.readBlockEndOfCentral();
+
+
+ /* extract from the zip spec :
+ 4) If one of the fields in the end of central directory
+ record is too small to hold required data, the field
+ should be set to -1 (0xFFFF or 0xFFFFFFFF) and the
+ ZIP64 format record should be created.
+ 5) The end of central directory record and the
+ Zip64 end of central directory locator record must
+ reside on the same disk when splitting or spanning
+ an archive.
+ */
+ if (this.diskNumber === utils.MAX_VALUE_16BITS || this.diskWithCentralDirStart === utils.MAX_VALUE_16BITS || this.centralDirRecordsOnThisDisk === utils.MAX_VALUE_16BITS || this.centralDirRecords === utils.MAX_VALUE_16BITS || this.centralDirSize === utils.MAX_VALUE_32BITS || this.centralDirOffset === utils.MAX_VALUE_32BITS) {
+ this.zip64 = true;
+
+ /*
+ Warning : the zip64 extension is supported, but ONLY if the 64bits integer read from
+ the zip file can fit into a 32bits integer. This cannot be solved : JavaScript represents
+ all numbers as 64-bit double precision IEEE 754 floating point numbers.
+ So, we have 53bits for integers and bitwise operations treat everything as 32bits.
+ see https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Operators/Bitwise_Operators
+ and http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-262.pdf section 8.5
+ */
+
+ // should look for a zip64 EOCD locator
+ offset = this.reader.lastIndexOfSignature(sig.ZIP64_CENTRAL_DIRECTORY_LOCATOR);
+ if (offset < 0) {
+ throw new Error("Corrupted zip: can't find the ZIP64 end of central directory locator");
+ }
+ this.reader.setIndex(offset);
+ this.checkSignature(sig.ZIP64_CENTRAL_DIRECTORY_LOCATOR);
+ this.readBlockZip64EndOfCentralLocator();
+
+ // now the zip64 EOCD record
+ if (!this.isSignature(this.relativeOffsetEndOfZip64CentralDir, sig.ZIP64_CENTRAL_DIRECTORY_END)) {
+ // console.warn("ZIP64 end of central directory not where expected.");
+ this.relativeOffsetEndOfZip64CentralDir = this.reader.lastIndexOfSignature(sig.ZIP64_CENTRAL_DIRECTORY_END);
+ if (this.relativeOffsetEndOfZip64CentralDir < 0) {
+ throw new Error("Corrupted zip: can't find the ZIP64 end of central directory");
+ }
+ }
+ this.reader.setIndex(this.relativeOffsetEndOfZip64CentralDir);
+ this.checkSignature(sig.ZIP64_CENTRAL_DIRECTORY_END);
+ this.readBlockZip64EndOfCentral();
+ }
+
+ var expectedEndOfCentralDirOffset = this.centralDirOffset + this.centralDirSize;
+ if (this.zip64) {
+ expectedEndOfCentralDirOffset += 20; // end of central dir 64 locator
+ expectedEndOfCentralDirOffset += 12 /* should not include the leading 12 bytes */ + this.zip64EndOfCentralSize;
+ }
+
+ var extraBytes = endOfCentralDirOffset - expectedEndOfCentralDirOffset;
+
+ if (extraBytes > 0) {
+ // console.warn(extraBytes, "extra bytes at beginning or within zipfile");
+ if (this.isSignature(endOfCentralDirOffset, sig.CENTRAL_FILE_HEADER)) {
+ // The offsets seem wrong, but we have something at the specified offset.
+ // So… we keep it.
+ } else {
+ // the offset is wrong, update the "zero" of the reader
+ // this happens if data has been prepended (crx files for example)
+ this.reader.zero = extraBytes;
+ }
+ } else if (extraBytes < 0) {
+ throw new Error("Corrupted zip: missing " + Math.abs(extraBytes) + " bytes.");
+ }
+ },
+ prepareReader: function(data) {
+ this.reader = readerFor(data);
+ },
+ /**
+ * Read a zip file and create ZipEntries.
+ * @param {String|ArrayBuffer|Uint8Array|Buffer} data the binary string representing a zip file.
+ */
+ load: function(data) {
+ this.prepareReader(data);
+ this.readEndOfCentral();
+ this.readCentralDir();
+ this.readLocalFiles();
+ }
+};
+// }}} end of ZipEntries
+module.exports = ZipEntries;
+
+},{"./reader/readerFor":22,"./signature":23,"./support":30,"./utf8":31,"./utils":32,"./zipEntry":34}],34:[function(require,module,exports){
+'use strict';
+var readerFor = require('./reader/readerFor');
+var utils = require('./utils');
+var CompressedObject = require('./compressedObject');
+var crc32fn = require('./crc32');
+var utf8 = require('./utf8');
+var compressions = require('./compressions');
+var support = require('./support');
+
+var MADE_BY_DOS = 0x00;
+var MADE_BY_UNIX = 0x03;
+
+/**
+ * Find a compression registered in JSZip.
+ * @param {string} compressionMethod the method magic to find.
+ * @return {Object|null} the JSZip compression object, null if none found.
+ */
+var findCompression = function(compressionMethod) {
+ for (var method in compressions) {
+ if (!compressions.hasOwnProperty(method)) {
+ continue;
+ }
+ if (compressions[method].magic === compressionMethod) {
+ return compressions[method];
+ }
+ }
+ return null;
+};
+
+// class ZipEntry {{{
+/**
+ * An entry in the zip file.
+ * @constructor
+ * @param {Object} options Options of the current file.
+ * @param {Object} loadOptions Options for loading the stream.
+ */
+function ZipEntry(options, loadOptions) {
+ this.options = options;
+ this.loadOptions = loadOptions;
+}
+ZipEntry.prototype = {
+ /**
+ * say if the file is encrypted.
+ * @return {boolean} true if the file is encrypted, false otherwise.
+ */
+ isEncrypted: function() {
+ // bit 1 is set
+ return (this.bitFlag & 0x0001) === 0x0001;
+ },
+ /**
+ * say if the file has utf-8 filename/comment.
+ * @return {boolean} true if the filename/comment is in utf-8, false otherwise.
+ */
+ useUTF8: function() {
+ // bit 11 is set
+ return (this.bitFlag & 0x0800) === 0x0800;
+ },
+ /**
+ * Read the local part of a zip file and add the info in this object.
+ * @param {DataReader} reader the reader to use.
+ */
+ readLocalPart: function(reader) {
+ var compression, localExtraFieldsLength;
+
+ // we already know everything from the central dir !
+ // If the central dir data are false, we are doomed.
+ // On the bright side, the local part is scary : zip64, data descriptors, both, etc.
+ // The less data we get here, the more reliable this should be.
+ // Let's skip the whole header and dash to the data !
+ reader.skip(22);
+ // in some zip created on windows, the filename stored in the central dir contains \ instead of /.
+ // Strangely, the filename here is OK.
+ // I would love to treat these zip files as corrupted (see http://www.info-zip.org/FAQ.html#backslashes
+ // or APPNOTE#4.4.17.1, "All slashes MUST be forward slashes '/'") but there are a lot of bad zip generators...
+ // Search "unzip mismatching "local" filename continuing with "central" filename version" on
+ // the internet.
+ //
+ // I think I see the logic here : the central directory is used to display
+ // content and the local directory is used to extract the files. Mixing / and \
+ // may be used to display \ to windows users and use / when extracting the files.
+ // Unfortunately, this lead also to some issues : http://seclists.org/fulldisclosure/2009/Sep/394
+ this.fileNameLength = reader.readInt(2);
+ localExtraFieldsLength = reader.readInt(2); // can't be sure this will be the same as the central dir
+ // the fileName is stored as binary data, the handleUTF8 method will take care of the encoding.
+ this.fileName = reader.readData(this.fileNameLength);
+ reader.skip(localExtraFieldsLength);
+
+ if (this.compressedSize === -1 || this.uncompressedSize === -1) {
+ throw new Error("Bug or corrupted zip : didn't get enough informations from the central directory " + "(compressedSize === -1 || uncompressedSize === -1)");
+ }
+
+ compression = findCompression(this.compressionMethod);
+ if (compression === null) { // no compression found
+ throw new Error("Corrupted zip : compression " + utils.pretty(this.compressionMethod) + " unknown (inner file : " + utils.transformTo("string", this.fileName) + ")");
+ }
+ this.decompressed = new CompressedObject(this.compressedSize, this.uncompressedSize, this.crc32, compression, reader.readData(this.compressedSize));
+ },
+
+ /**
+ * Read the central part of a zip file and add the info in this object.
+ * @param {DataReader} reader the reader to use.
+ */
+ readCentralPart: function(reader) {
+ this.versionMadeBy = reader.readInt(2);
+ reader.skip(2);
+ // this.versionNeeded = reader.readInt(2);
+ this.bitFlag = reader.readInt(2);
+ this.compressionMethod = reader.readString(2);
+ this.date = reader.readDate();
+ this.crc32 = reader.readInt(4);
+ this.compressedSize = reader.readInt(4);
+ this.uncompressedSize = reader.readInt(4);
+ var fileNameLength = reader.readInt(2);
+ this.extraFieldsLength = reader.readInt(2);
+ this.fileCommentLength = reader.readInt(2);
+ this.diskNumberStart = reader.readInt(2);
+ this.internalFileAttributes = reader.readInt(2);
+ this.externalFileAttributes = reader.readInt(4);
+ this.localHeaderOffset = reader.readInt(4);
+
+ if (this.isEncrypted()) {
+ throw new Error("Encrypted zip are not supported");
+ }
+
+ // will be read in the local part, see the comments there
+ reader.skip(fileNameLength);
+ this.readExtraFields(reader);
+ this.parseZIP64ExtraField(reader);
+ this.fileComment = reader.readData(this.fileCommentLength);
+ },
+
+ /**
+ * Parse the external file attributes and get the unix/dos permissions.
+ */
+ processAttributes: function () {
+ this.unixPermissions = null;
+ this.dosPermissions = null;
+ var madeBy = this.versionMadeBy >> 8;
+
+ // Check if we have the DOS directory flag set.
+ // We look for it in the DOS and UNIX permissions
+ // but some unknown platform could set it as a compatibility flag.
+ this.dir = this.externalFileAttributes & 0x0010 ? true : false;
+
+ if(madeBy === MADE_BY_DOS) {
+ // first 6 bits (0 to 5)
+ this.dosPermissions = this.externalFileAttributes & 0x3F;
+ }
+
+ if(madeBy === MADE_BY_UNIX) {
+ this.unixPermissions = (this.externalFileAttributes >> 16) & 0xFFFF;
+ // the octal permissions are in (this.unixPermissions & 0x01FF).toString(8);
+ }
+
+ // fail safe : if the name ends with a / it probably means a folder
+ if (!this.dir && this.fileNameStr.slice(-1) === '/') {
+ this.dir = true;
+ }
+ },
+
+ /**
+ * Parse the ZIP64 extra field and merge the info in the current ZipEntry.
+ * @param {DataReader} reader the reader to use.
+ */
+ parseZIP64ExtraField: function(reader) {
+
+ if (!this.extraFields[0x0001]) {
+ return;
+ }
+
+ // should be something, preparing the extra reader
+ var extraReader = readerFor(this.extraFields[0x0001].value);
+
+ // I really hope that these 64bits integer can fit in 32 bits integer, because js
+ // won't let us have more.
+ if (this.uncompressedSize === utils.MAX_VALUE_32BITS) {
+ this.uncompressedSize = extraReader.readInt(8);
+ }
+ if (this.compressedSize === utils.MAX_VALUE_32BITS) {
+ this.compressedSize = extraReader.readInt(8);
+ }
+ if (this.localHeaderOffset === utils.MAX_VALUE_32BITS) {
+ this.localHeaderOffset = extraReader.readInt(8);
+ }
+ if (this.diskNumberStart === utils.MAX_VALUE_32BITS) {
+ this.diskNumberStart = extraReader.readInt(4);
+ }
+ },
+ /**
+ * Read the central part of a zip file and add the info in this object.
+ * @param {DataReader} reader the reader to use.
+ */
+ readExtraFields: function(reader) {
+ var end = reader.index + this.extraFieldsLength,
+ extraFieldId,
+ extraFieldLength,
+ extraFieldValue;
+
+ if (!this.extraFields) {
+ this.extraFields = {};
+ }
+
+ while (reader.index < end) {
+ extraFieldId = reader.readInt(2);
+ extraFieldLength = reader.readInt(2);
+ extraFieldValue = reader.readData(extraFieldLength);
+
+ this.extraFields[extraFieldId] = {
+ id: extraFieldId,
+ length: extraFieldLength,
+ value: extraFieldValue
+ };
+ }
+ },
+ /**
+ * Apply an UTF8 transformation if needed.
+ */
+ handleUTF8: function() {
+ var decodeParamType = support.uint8array ? "uint8array" : "array";
+ if (this.useUTF8()) {
+ this.fileNameStr = utf8.utf8decode(this.fileName);
+ this.fileCommentStr = utf8.utf8decode(this.fileComment);
+ } else {
+ var upath = this.findExtraFieldUnicodePath();
+ if (upath !== null) {
+ this.fileNameStr = upath;
+ } else {
+ // ASCII text or unsupported code page
+ var fileNameByteArray = utils.transformTo(decodeParamType, this.fileName);
+ this.fileNameStr = this.loadOptions.decodeFileName(fileNameByteArray);
+ }
+
+ var ucomment = this.findExtraFieldUnicodeComment();
+ if (ucomment !== null) {
+ this.fileCommentStr = ucomment;
+ } else {
+ // ASCII text or unsupported code page
+ var commentByteArray = utils.transformTo(decodeParamType, this.fileComment);
+ this.fileCommentStr = this.loadOptions.decodeFileName(commentByteArray);
+ }
+ }
+ },
+
+ /**
+ * Find the unicode path declared in the extra field, if any.
+ * @return {String} the unicode path, null otherwise.
+ */
+ findExtraFieldUnicodePath: function() {
+ var upathField = this.extraFields[0x7075];
+ if (upathField) {
+ var extraReader = readerFor(upathField.value);
+
+ // wrong version
+ if (extraReader.readInt(1) !== 1) {
+ return null;
+ }
+
+ // the crc of the filename changed, this field is out of date.
+ if (crc32fn(this.fileName) !== extraReader.readInt(4)) {
+ return null;
+ }
+
+ return utf8.utf8decode(extraReader.readData(upathField.length - 5));
+ }
+ return null;
+ },
+
+ /**
+ * Find the unicode comment declared in the extra field, if any.
+ * @return {String} the unicode comment, null otherwise.
+ */
+ findExtraFieldUnicodeComment: function() {
+ var ucommentField = this.extraFields[0x6375];
+ if (ucommentField) {
+ var extraReader = readerFor(ucommentField.value);
+
+ // wrong version
+ if (extraReader.readInt(1) !== 1) {
+ return null;
+ }
+
+ // the crc of the comment changed, this field is out of date.
+ if (crc32fn(this.fileComment) !== extraReader.readInt(4)) {
+ return null;
+ }
+
+ return utf8.utf8decode(extraReader.readData(ucommentField.length - 5));
+ }
+ return null;
+ }
+};
+module.exports = ZipEntry;
+
+},{"./compressedObject":2,"./compressions":3,"./crc32":4,"./reader/readerFor":22,"./support":30,"./utf8":31,"./utils":32}],35:[function(require,module,exports){
+'use strict';
+
+var StreamHelper = require('./stream/StreamHelper');
+var DataWorker = require('./stream/DataWorker');
+var utf8 = require('./utf8');
+var CompressedObject = require('./compressedObject');
+var GenericWorker = require('./stream/GenericWorker');
+
+/**
+ * A simple object representing a file in the zip file.
+ * @constructor
+ * @param {string} name the name of the file
+ * @param {String|ArrayBuffer|Uint8Array|Buffer} data the data
+ * @param {Object} options the options of the file
+ */
+var ZipObject = function(name, data, options) {
+ this.name = name;
+ this.dir = options.dir;
+ this.date = options.date;
+ this.comment = options.comment;
+ this.unixPermissions = options.unixPermissions;
+ this.dosPermissions = options.dosPermissions;
+
+ this._data = data;
+ this._dataBinary = options.binary;
+ // keep only the compression
+ this.options = {
+ compression : options.compression,
+ compressionOptions : options.compressionOptions
+ };
+};
+
+ZipObject.prototype = {
+ /**
+ * Create an internal stream for the content of this object.
+ * @param {String} type the type of each chunk.
+ * @return StreamHelper the stream.
+ */
+ internalStream: function (type) {
+ var result = null, outputType = "string";
+ try {
+ if (!type) {
+ throw new Error("No output type specified.");
+ }
+ outputType = type.toLowerCase();
+ var askUnicodeString = outputType === "string" || outputType === "text";
+ if (outputType === "binarystring" || outputType === "text") {
+ outputType = "string";
+ }
+ result = this._decompressWorker();
+
+ var isUnicodeString = !this._dataBinary;
+
+ if (isUnicodeString && !askUnicodeString) {
+ result = result.pipe(new utf8.Utf8EncodeWorker());
+ }
+ if (!isUnicodeString && askUnicodeString) {
+ result = result.pipe(new utf8.Utf8DecodeWorker());
+ }
+ } catch (e) {
+ result = new GenericWorker("error");
+ result.error(e);
+ }
+
+ return new StreamHelper(result, outputType, "");
+ },
+
+ /**
+ * Prepare the content in the asked type.
+ * @param {String} type the type of the result.
+ * @param {Function} onUpdate a function to call on each internal update.
+ * @return Promise the promise of the result.
+ */
+ async: function (type, onUpdate) {
+ return this.internalStream(type).accumulate(onUpdate);
+ },
+
+ /**
+ * Prepare the content as a nodejs stream.
+ * @param {String} type the type of each chunk.
+ * @param {Function} onUpdate a function to call on each internal update.
+ * @return Stream the stream.
+ */
+ nodeStream: function (type, onUpdate) {
+ return this.internalStream(type || "nodebuffer").toNodejsStream(onUpdate);
+ },
+
+ /**
+ * Return a worker for the compressed content.
+ * @private
+ * @param {Object} compression the compression object to use.
+ * @param {Object} compressionOptions the options to use when compressing.
+ * @return Worker the worker.
+ */
+ _compressWorker: function (compression, compressionOptions) {
+ if (
+ this._data instanceof CompressedObject &&
+ this._data.compression.magic === compression.magic
+ ) {
+ return this._data.getCompressedWorker();
+ } else {
+ var result = this._decompressWorker();
+ if(!this._dataBinary) {
+ result = result.pipe(new utf8.Utf8EncodeWorker());
+ }
+ return CompressedObject.createWorkerFrom(result, compression, compressionOptions);
+ }
+ },
+ /**
+ * Return a worker for the decompressed content.
+ * @private
+ * @return Worker the worker.
+ */
+ _decompressWorker : function () {
+ if (this._data instanceof CompressedObject) {
+ return this._data.getContentWorker();
+ } else if (this._data instanceof GenericWorker) {
+ return this._data;
+ } else {
+ return new DataWorker(this._data);
+ }
+ }
+};
+
+var removedMethods = ["asText", "asBinary", "asNodeBuffer", "asUint8Array", "asArrayBuffer"];
+var removedFn = function () {
+ throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.");
+};
+
+for(var i = 0; i < removedMethods.length; i++) {
+ ZipObject.prototype[removedMethods[i]] = removedFn;
+}
+module.exports = ZipObject;
+
+},{"./compressedObject":2,"./stream/DataWorker":27,"./stream/GenericWorker":28,"./stream/StreamHelper":29,"./utf8":31}],36:[function(require,module,exports){
+(function (global){
+'use strict';
+var Mutation = global.MutationObserver || global.WebKitMutationObserver;
+
+var scheduleDrain;
+
+{
+ if (Mutation) {
+ var called = 0;
+ var observer = new Mutation(nextTick);
+ var element = global.document.createTextNode('');
+ observer.observe(element, {
+ characterData: true
+ });
+ scheduleDrain = function () {
+ element.data = (called = ++called % 2);
+ };
+ } else if (!global.setImmediate && typeof global.MessageChannel !== 'undefined') {
+ var channel = new global.MessageChannel();
+ channel.port1.onmessage = nextTick;
+ scheduleDrain = function () {
+ channel.port2.postMessage(0);
+ };
+ } else if ('document' in global && 'onreadystatechange' in global.document.createElement('script')) {
+ scheduleDrain = function () {
+
+ // Create a
+
+
+
+
+
+
+
+
+
+JavaScript is disabled on your browser.
+
+index.html
+
+
+