From 1ed848c3331528f5d43f88aded3c4da12432cba4 Mon Sep 17 00:00:00 2001 From: jciereszko1 Date: Fri, 22 Nov 2024 15:26:30 -0800 Subject: [PATCH] [All] Sync changes for the 1.36.1 release (#74) Co-authored-by: bot-snapenginesc --- CHANGELOG.md | 5 + README.md | 6 +- VERSION | 2 +- docs/api/README.md | 8 +- .../-p-r-o-p-e-r-t-y_-a-m-o-u-n-t.html | 69 + .../amount.html | 69 + .../index.html | 121 + .../properties.html | 69 + .../-adjustment/-controller/-noop/index.html | 123 + .../-adjustment/-controller/-noop/set.html | 69 + .../-adjustment/-controller/index.html | 153 + .../-adjustment/-controller/set.html | 69 + .../-adjustment/-property/id.html | 69 + .../-adjustment/-property/index.html | 91 + .../-adjustment/index.html | 147 + .../-adjustment/properties.html | 69 + .../-adjustments-component/-noop/close.html | 69 + .../-adjustments-component/-noop/index.html | 108 + .../-noop/processor.html | 69 + .../-processor/-noop/apply.html | 69 + .../-processor/-noop/available.html | 69 + .../-processor/-noop/connect-input.html | 69 + .../-processor/-noop/connect-output.html | 69 + .../-processor/-noop/index.html | 166 + .../-noop/observe-required-capabilities.html | 69 + .../-processor/-noop/remove.html | 69 + .../-processor/-result/-applied/-applied.html | 69 + .../-result/-applied/adjustment.html | 69 + .../-result/-applied/controller.html | 69 + .../-processor/-result/-applied/equals.html | 69 + .../-result/-applied/hash-code.html | 69 + .../-processor/-result/-applied/index.html | 187 + .../-result/-applied/to-string.html | 69 + .../-result/-unavailable/-unavailable.html | 69 + .../-result/-unavailable/adjustment.html | 69 + .../-result/-unavailable/equals.html | 69 + .../-result/-unavailable/hash-code.html | 69 + .../-result/-unavailable/index.html | 172 + .../-result/-unavailable/to-string.html | 69 + .../-processor/-result/index.html | 147 + .../-processor/apply.html | 69 + .../-processor/available.html | 69 + .../-processor/index.html | 211 + .../-processor/remove.html | 69 + .../-adjustments-component/close.html | 69 + .../-adjustments-component/index.html | 168 + .../-adjustments-component/processor.html | 69 + .../-p-r-o-p-e-r-t-y_-b-l-u-r.html | 69 + .../-portrait-adjustment/blur.html | 69 + .../-portrait-adjustment/index.html | 121 + .../-portrait-adjustment/properties.html | 69 + .../com.snap.camerakit.adjustments/index.html | 137 + .../when-applied.html | 69 + .../-consumer/accept.html | 69 + .../-consumer/index.html | 126 + .../com.snap.camerakit.common/index.html | 90 + ...-e-n-s_-g-r-o-u-p_-i-d_-b-u-n-d-l-e-d.html | 69 + .../-adjustment/-volume/-mute/index.html | 91 + .../-adjustment/-volume/-mute/to-string.html | 69 + .../-adjustment/-volume/-un-mute/index.html | 91 + .../-volume/-un-mute/to-string.html | 69 + .../-audio/-adjustment/-volume/index.html | 130 + .../-audio/-adjustment/index.html | 104 + .../-audio/-noop/adjust.html | 69 + .../-lenses-component/-audio/-noop/index.html | 91 + .../-lenses-component/-audio/adjust.html | 69 + .../-lenses-component/-audio/index.html | 136 + .../-builder/attach-widgets-to.html | 69 + .../-lenses-component/-builder/build.html | 69 + .../-builder/configure-cache.html | 69 + .../-builder/configure-carousel.html | 69 + .../-builder/configure-hints.html | 69 + .../-builder/configure-loading-overlay.html | 69 + .../-builder/configure-media-picker.html | 69 + .../-builder/configure-processor.html | 69 + .../-builder/dispatch-touch-events-to.html | 69 + .../-lenses-component/-builder/index.html | 226 + .../-builder/remote-api-service-factory.html | 69 + .../-cache/-configuration/index.html | 91 + .../-configuration/lens-content-max-size.html | 69 + .../-lenses-component/-cache/index.html | 91 + .../-configuration/activate-idle.html | 69 + .../-configuration/activate-on-start.html | 69 + .../-configuration/activate-on-tap.html | 69 + .../-configuration/attach-view-to.html | 69 + .../-configuration/close-button-enabled.html | 69 + .../close-button-margin-bottom-dimen-res.html | 69 + .../-configuration/configure-each-item.html | 69 + .../-configuration/deactivate-on-close.html | 69 + .../-configuration/disable-idle.html | 69 + .../-carousel/-configuration/enabled.html | 69 + .../-configuration/height-dimen-res.html | 69 + .../-carousel/-configuration/index.html | 348 + .../margin-bottom-dimen-res.html | 69 + .../-configuration/observe-group-ids.html | 69 + .../observed-group-ids-provider.html | 69 + .../-configuration/observed-group-ids.html | 69 + .../padding-bottom-dimen-res.html | 69 + .../-configuration/padding-top-dimen-res.html | 69 + .../-carousel/-configuration/view.html | 69 + .../-event/-activated/-idle/index.html | 153 + .../-event/-activated/-idle/to-string.html | 69 + .../-activated/-with-lens/-with-lens.html | 69 + .../-event/-activated/-with-lens/equals.html | 69 + .../-activated/-with-lens/hash-code.html | 69 + .../-event/-activated/-with-lens/index.html | 217 + .../-event/-activated/-with-lens/lens.html | 69 + .../-activated/-with-lens/to-string.html | 69 + .../-carousel/-event/-activated/index.html | 192 + .../-carousel/-event/-deactivated/index.html | 153 + .../-event/-deactivated/to-string.html | 69 + .../-carousel/-event/index.html | 192 + .../-carousel/-item-options/--index--.html | 69 + .../-item-options/content-description.html | 69 + .../-carousel/-item-options/enabled.html | 69 + .../-carousel/-item-options/index.html | 198 + .../-carousel/-item-options/lens.html | 69 + .../-carousel/-item-options/lenses.html | 69 + .../-carousel/-item-options/move-to-left.html | 69 + .../-item-options/move-to-right.html | 69 + .../-carousel/-item-options/side.html | 69 + .../-layout-placement/-above/index.html | 91 + .../-layout-placement/-above/to-string.html | 69 + .../-layout-placement/-behind/index.html | 91 + .../-layout-placement/-behind/to-string.html | 69 + .../-layout-placement/-in-front/index.html | 91 + .../-in-front/to-string.html | 69 + .../-carousel/-layout-placement/index.html | 156 + .../-carousel/-noop/activate.html | 69 + .../-carousel/-noop/deactivate.html | 69 + .../-carousel/-noop/index.html | 121 + .../-carousel/-noop/observe.html | 69 + .../-carousel/-side/-l-e-f-t/index.html | 106 + .../-carousel/-side/-r-i-g-h-t/index.html | 106 + .../-carousel/-side/index.html | 170 + .../-carousel/-side/value-of.html | 69 + .../-carousel/-side/values.html | 69 + .../-event/-close-button-clicked/index.html | 91 + .../-close-button-clicked/to-string.html | 69 + .../-event/-item-selected/-item-selected.html | 69 + .../-view/-event/-item-selected/equals.html | 69 + .../-event/-item-selected/hash-code.html | 69 + .../-view/-event/-item-selected/index.html | 155 + .../-view/-event/-item-selected/item.html | 69 + .../-event/-item-selected/to-string.html | 69 + .../-visible-items-changed.html | 69 + .../-event/-visible-items-changed/equals.html | 69 + .../-visible-items-changed/hash-code.html | 69 + .../-event/-visible-items-changed/index.html | 155 + .../-visible-items-changed/to-string.html | 69 + .../-visible-items-changed/visible-items.html | 69 + .../-carousel/-view/-event/index.html | 156 + .../-carousel/-view/-item/-idle/id.html | 69 + .../-carousel/-view/-item/-idle/index.html | 108 + .../-view/-item/-idle/to-string.html | 69 + .../-item/-lens/content-description.html | 69 + .../-carousel/-view/-item/-lens/icon-uri.html | 69 + .../-carousel/-view/-item/-lens/index.html | 138 + .../-item/-lens/observe-loading-state.html | 69 + .../-item/-loading-state/-done/index.html | 91 + .../-item/-loading-state/-done/to-string.html | 69 + .../-item/-loading-state/-idle/index.html | 91 + .../-item/-loading-state/-idle/to-string.html | 69 + .../-loading-state/-in-progress/index.html | 91 + .../-in-progress/to-string.html | 69 + .../-view/-item/-loading-state/index.html | 156 + .../-carousel/-view/-item/id.html | 69 + .../-carousel/-view/-item/index.html | 162 + .../-carousel/-view/-model/-hidden/index.html | 91 + .../-view/-model/-hidden/to-string.html | 69 + .../-view/-model/-visible/-visible.html | 69 + .../-view/-model/-visible/closeable.html | 69 + .../-view/-model/-visible/equals.html | 69 + .../-view/-model/-visible/hash-code.html | 69 + .../-view/-model/-visible/index.html | 185 + .../-view/-model/-visible/items.html | 69 + .../-visible/selected-item-position.html | 69 + .../-view/-model/-visible/to-string.html | 69 + .../-carousel/-view/-model/index.html | 130 + .../-carousel/-view/index.html | 153 + .../-carousel/-view/observe.html | 69 + .../-lenses-component/-carousel/activate.html | 69 + .../-carousel/deactivate.html | 69 + .../-lenses-component/-carousel/index.html | 241 + .../-lenses-component/-carousel/observe.html | 69 + .../-hints/-configuration/enabled.html | 69 + .../-hints/-configuration/index.html | 106 + .../-hints/-configuration/view.html | 69 + .../-view/-model/-displayed/-displayed.html | 69 + .../-view/-model/-displayed/auto-hide.html | 69 + .../-view/-model/-displayed/equals.html | 69 + .../-view/-model/-displayed/hash-code.html | 69 + .../-hints/-view/-model/-displayed/id.html | 69 + .../-hints/-view/-model/-displayed/index.html | 200 + .../-hints/-view/-model/-displayed/text.html | 69 + .../-view/-model/-displayed/to-string.html | 69 + .../-hints/-view/-model/-hidden/index.html | 91 + .../-view/-model/-hidden/to-string.html | 69 + .../-hints/-view/-model/index.html | 130 + .../-lenses-component/-hints/-view/index.html | 108 + .../-lenses-component/-hints/index.html | 106 + .../-lens/-companion/index.html | 73 + .../-lens/-facing/-b-a-c-k/index.html | 106 + .../-lens/-facing/-f-r-o-n-t/index.html | 106 + .../-lens/-facing/index.html | 170 + .../-lens/-facing/value-of.html | 69 + .../-lens/-facing/values.html | 69 + .../-lens/-launch-data/-builder/build.html | 69 + .../-lens/-launch-data/-builder/index.html | 151 + .../-launch-data/-builder/put-number.html | 69 + .../-launch-data/-builder/put-numbers.html | 69 + .../-launch-data/-builder/put-string.html | 69 + .../-launch-data/-builder/put-strings.html | 69 + .../-lens/-launch-data/-companion/index.html | 73 + .../-lens/-launch-data/-empty/index.html | 91 + .../-lens/-launch-data/-empty/to-string.html | 69 + .../-lens/-launch-data/index.html | 134 + .../-lens/-media/-deep-link/-deep-link.html | 69 + .../-lens/-media/-deep-link/equals.html | 69 + .../-lens/-media/-deep-link/hash-code.html | 69 + .../-lens/-media/-deep-link/index.html | 155 + .../-lens/-media/-deep-link/to-string.html | 69 + .../-lens/-media/-deep-link/uri.html | 69 + .../-lens/-media/-image/-png/-png.html | 69 + .../-lens/-media/-image/-png/equals.html | 69 + .../-lens/-media/-image/-png/hash-code.html | 69 + .../-lens/-media/-image/-png/index.html | 155 + .../-lens/-media/-image/-png/to-string.html | 69 + .../-lens/-media/-image/-png/uri.html | 69 + .../-lens/-media/-image/-webp/-webp.html | 69 + .../-lens/-media/-image/-webp/equals.html | 69 + .../-lens/-media/-image/-webp/hash-code.html | 69 + .../-lens/-media/-image/-webp/index.html | 155 + .../-lens/-media/-image/-webp/to-string.html | 69 + .../-lens/-media/-image/-webp/uri.html | 69 + .../-lens/-media/-image/index.html | 147 + .../-lens/-media/-sequence/-webp/-webp.html | 69 + .../-lens/-media/-sequence/-webp/equals.html | 69 + .../-media/-sequence/-webp/hash-code.html | 69 + .../-lens/-media/-sequence/-webp/index.html | 170 + .../-media/-sequence/-webp/to-string.html | 69 + .../-lens/-media/-sequence/-webp/values.html | 69 + .../-lens/-media/-sequence/index.html | 140 + .../-lens/-media/-sequence/values.html | 69 + .../-lenses-component/-lens/-media/index.html | 177 + .../-lenses-component/-lens/-media/uri.html | 69 + .../-lens/-preview/-image/-image.html | 69 + .../-lens/-preview/-image/equals.html | 69 + .../-lens/-preview/-image/hash-code.html | 69 + .../-lens/-preview/-image/index.html | 155 + .../-lens/-preview/-image/to-string.html | 69 + .../-lens/-preview/-image/uri.html | 69 + .../-lens/-preview/index.html | 104 + .../-lens/facing-preference.html | 69 + .../-lenses-component/-lens/group-id.html | 69 + .../-lenses-component/-lens/icon-uri.html | 69 + .../-lenses-component/-lens/icons.html | 69 + .../-lenses-component/-lens/id.html | 69 + .../-lenses-component/-lens/index.html | 303 + .../-lenses-component/-lens/name.html | 69 + .../-lenses-component/-lens/preview.html | 69 + .../-lenses-component/-lens/previews.html | 69 + .../-lenses-component/-lens/snapcodes.html | 69 + .../-lenses-component/-lens/vendor-data.html | 69 + .../-configuration/enabled.html | 69 + .../-configuration/index.html | 91 + .../-loading-overlay/index.html | 91 + .../-media-picker/-configuration/enabled.html | 69 + .../-media-picker/-configuration/index.html | 106 + .../-media-picker/-configuration/view.html | 69 + .../-event/-item-selected/-item-selected.html | 69 + .../-view/-event/-item-selected/equals.html | 69 + .../-event/-item-selected/hash-code.html | 69 + .../-view/-event/-item-selected/index.html | 155 + .../-view/-event/-item-selected/item.html | 69 + .../-event/-item-selected/to-string.html | 69 + .../-event/-last-item-visible/index.html | 91 + .../-event/-last-item-visible/to-string.html | 69 + .../-media-picker/-view/-event/index.html | 130 + .../-view/-item/-loading/index.html | 91 + .../-view/-item/-loading/to-string.html | 69 + .../-view/-item/-media/-media.html | 69 + .../-view/-item/-media/crop-rect.html | 69 + .../-view/-item/-media/equals.html | 69 + .../-view/-item/-media/hash-code.html | 69 + .../-view/-item/-media/icon-uri.html | 69 + .../-media-picker/-view/-item/-media/id.html | 69 + .../-view/-item/-media/index.html | 215 + .../-view/-item/-media/label.html | 69 + .../-view/-item/-media/selected.html | 69 + .../-view/-item/-media/to-string.html | 69 + .../-media-picker/-view/-item/index.html | 130 + .../-view/-model/-hidden/index.html | 91 + .../-view/-model/-hidden/to-string.html | 69 + .../-view/-model/-visible/-visible.html | 69 + .../-view/-model/-visible/equals.html | 69 + .../-view/-model/-visible/hash-code.html | 69 + .../-view/-model/-visible/index.html | 155 + .../-view/-model/-visible/items.html | 69 + .../-view/-model/-visible/to-string.html | 69 + .../-media-picker/-view/-model/index.html | 130 + .../-media-picker/-view/index.html | 153 + .../-media-picker/-view/observe.html | 69 + .../-media-picker/index.html | 106 + .../-lenses-component/-noop/close.html | 69 + .../-lenses-component/-noop/index.html | 183 + .../-preferences/-noop/clear.html | 69 + .../-preferences/-noop/index.html | 91 + .../-lenses-component/-preferences/clear.html | 69 + .../-lenses-component/-preferences/index.html | 121 + .../-prefetcher/-noop/index.html | 106 + .../-prefetcher/-noop/observe.html | 69 + .../-prefetcher/-noop/run.html | 69 + .../-status/-l-o-a-d-e-d/index.html | 106 + .../-status/-l-o-a-d-i-n-g/index.html | 106 + .../-status/-u-n-l-o-a-d-e-d/index.html | 106 + .../-prefetcher/-status/index.html | 185 + .../-prefetcher/-status/value-of.html | 69 + .../-prefetcher/-status/values.html | 69 + .../-lenses-component/-prefetcher/index.html | 151 + .../-prefetcher/observe.html | 69 + .../-lenses-component/-prefetcher/run.html | 69 + .../-processor/-configuration/index.html | 106 + .../input-frame-rotation-behavior.html | 69 + ...device-orientation-for-face-detection.html | 69 + .../-processor/-event/-applied/-applied.html | 69 + .../-processor/-event/-applied/equals.html | 69 + .../-processor/-event/-applied/hash-code.html | 69 + .../-processor/-event/-applied/index.html | 202 + .../-processor/-event/-applied/lens.html | 69 + .../-processor/-event/-applied/to-string.html | 69 + .../-first-frame-processed.html | 69 + .../-event/-first-frame-processed/equals.html | 69 + .../-first-frame-processed/hash-code.html | 69 + .../-event/-first-frame-processed/index.html | 202 + .../-event/-first-frame-processed/lens.html | 69 + .../-first-frame-processed/to-string.html | 69 + .../-processor/-event/-idle/index.html | 138 + .../-processor/-event/-idle/to-string.html | 69 + .../-processor/-event/index.html | 203 + .../-failure/-internal/-internal.html | 69 + .../-processor/-failure/-internal/index.html | 245 + .../-processor/-failure/-lens/-lens.html | 69 + .../-processor/-failure/-lens/id.html | 69 + .../-processor/-failure/-lens/index.html | 260 + .../-library-loading/-library-loading.html | 69 + .../-failure/-library-loading/index.html | 245 + .../-processor/-failure/index.html | 310 + .../index.html | 106 + .../index.html | 106 + .../-input-frame-rotation-behavior/index.html | 170 + .../value-of.html | 69 + .../values.html | 69 + .../-processor/-noop/apply.html | 69 + .../-processor/-noop/clear.html | 69 + .../-processor/-noop/connect-input.html | 69 + .../-processor/-noop/connect-output.html | 69 + .../-processor/-noop/index.html | 166 + .../-noop/observe-required-capabilities.html | 69 + .../-processor/-noop/observe.html | 69 + .../-lenses-component/-processor/apply.html | 69 + .../-lenses-component/-processor/clear.html | 69 + .../-lenses-component/-processor/index.html | 256 + .../-lenses-component/-processor/observe.html | 69 + .../-call/-answered/index.html | 91 + .../-call/-answered/to-string.html | 69 + .../-call/-ignored/index.html | 91 + .../-call/-ignored/to-string.html | 69 + .../-call/-ongoing/-ongoing.html | 69 + .../-call/-ongoing/closeable.html | 69 + .../-call/-ongoing/index.html | 140 + .../-call/-ongoing/to-string.html | 69 + .../-remote-api-service/-call/index.html | 156 + .../-remote-api-service/-companion/index.html | 73 + .../-factory/-noop/create-for.html | 69 + .../-factory/-noop/index.html | 108 + .../-noop/supported-api-spec-ids.html | 69 + .../-factory/create-for.html | 69 + .../-remote-api-service/-factory/index.html | 138 + .../-factory/supported-api-spec-ids.html | 69 + .../-remote-api-service/-noop/close.html | 69 + .../-remote-api-service/-noop/index.html | 106 + .../-remote-api-service/-noop/process.html | 69 + .../-request/-request.html | 69 + .../-request/api-spec-id.html | 69 + .../-remote-api-service/-request/body.html | 69 + .../-request/endpoint-id.html | 69 + .../-remote-api-service/-request/equals.html | 69 + .../-request/hash-code.html | 69 + .../-remote-api-service/-request/id.html | 69 + .../-remote-api-service/-request/index.html | 219 + .../-request/parameters.html | 69 + .../-request/to-string.html | 69 + .../-response/-response.html | 69 + .../-a-c-c-e-s-s_-d-e-n-i-e-d/index.html | 106 + .../-status/-b-a-d_-r-e-q-u-e-s-t/index.html | 106 + .../-status/-c-a-n-c-e-l-l-e-d/index.html | 106 + .../index.html | 106 + .../-status/-n-o-t_-f-o-u-n-d/index.html | 106 + .../-status/-r-e-d-i-r-e-c-t-e-d/index.html | 106 + .../index.html | 106 + .../-status/-s-u-c-c-e-s-s/index.html | 106 + .../-status/-t-i-m-e-o-u-t/index.html | 106 + .../-response/-status/index.html | 275 + .../-response/-status/value-of.html | 69 + .../-response/-status/values.html | 69 + .../-remote-api-service/-response/body.html | 69 + .../-remote-api-service/-response/equals.html | 69 + .../-response/hash-code.html | 69 + .../-remote-api-service/-response/index.html | 221 + .../-response/metadata.html | 69 + .../-response/request.html | 69 + .../-remote-api-service/-response/status.html | 69 + .../-response/to-string.html | 69 + .../-remote-api-service/close.html | 69 + .../-remote-api-service/index.html | 211 + .../-remote-api-service/process.html | 69 + .../-repository/-noop/get.html | 69 + .../-repository/-noop/index.html | 106 + .../-repository/-noop/observe.html | 69 + .../-available/-available.html | 69 + .../-query-criteria/-available/equals.html | 69 + .../-query-criteria/-available/group-ids.html | 69 + .../-query-criteria/-available/hash-code.html | 69 + .../-query-criteria/-available/index.html | 170 + .../-query-criteria/-available/to-string.html | 69 + .../-query-criteria/-by-id/-by-id.html | 69 + .../-query-criteria/-by-id/equals.html | 69 + .../-query-criteria/-by-id/group-id.html | 69 + .../-query-criteria/-by-id/hash-code.html | 69 + .../-query-criteria/-by-id/id.html | 69 + .../-query-criteria/-by-id/index.html | 170 + .../-query-criteria/-by-id/to-string.html | 69 + .../-repository/-query-criteria/index.html | 130 + .../-repository/-result/-none/index.html | 123 + .../-repository/-result/-none/to-string.html | 69 + .../-repository/-result/-some/-some.html | 69 + .../-repository/-result/-some/equals.html | 69 + .../-repository/-result/-some/hash-code.html | 69 + .../-repository/-result/-some/index.html | 202 + .../-repository/-result/-some/lenses.html | 69 + .../-repository/-result/-some/to-string.html | 69 + .../-repository/-result/index.html | 162 + .../-lenses-component/-repository/get.html | 69 + .../-lenses-component/-repository/index.html | 166 + .../-repository/observe.html | 69 + .../-lenses-component/audio.html | 69 + .../-lenses-component/carousel.html | 69 + .../-lenses-component/close.html | 69 + .../-lenses-component/index.html | 408 + .../-lenses-component/preferences.html | 69 + .../-lenses-component/prefetcher.html | 69 + .../-lenses-component/processor.html | 69 + .../-lenses-component/repository.html | 69 + .../-lenses-launch-data/index.html | 91 + .../-lenses-launch-data/new-builder.html | 69 + .../com.snap.camerakit.lenses/index.html | 259 + .../when-activated-idle.html | 69 + .../when-activated-with-lens.html | 69 + .../when-activated.html | 69 + .../when-applied.html | 69 + .../when-deactivated.html | 69 + .../when-first-frame-processed.html | 69 + .../when-has-first.html | 69 + .../when-has-some.html | 69 + .../com.snap.camerakit.lenses/when-idle.html | 69 + .../-input/-frame/buffer.html | 69 + .../-audio-processor/-input/-frame/index.html | 123 + .../-input/-frame/recycle.html | 69 + .../-input/-frame/samples-count.html | 69 + .../-audio-processor/-input/buffer-size.html | 69 + .../-audio-processor/-input/channels.html | 69 + .../-audio-processor/-input/index.html | 155 + .../-audio-processor/-input/sample-rate.html | 69 + .../-audio-processor/-input/subscribe-to.html | 69 + .../-audio-processor/connect-input.html | 69 + .../-audio-processor/index.html | 132 + .../-experimental/index.html | 73 + .../-failure/-graphics/-graphics.html | 69 + .../-failure/-graphics/index.html | 245 + .../-image-processor/-failure/index.html | 258 + .../-backed-by-surface-texture.html | 69 + .../-backed-by-surface-texture/index.html | 230 + .../surface-texture.html | 69 + .../index.html | 106 + .../-input/-capability/index.html | 155 + .../-input/-capability/value-of.html | 69 + .../-input/-capability/values.html | 69 + .../-input/-companion/index.html | 73 + .../-frame/horizontal-field-of-view.html | 69 + .../-image-processor/-input/-frame/index.html | 153 + .../-input/-frame/recycle.html | 69 + .../-input/-frame/timestamp.html | 69 + .../-input/-frame/transformation-matrix.html | 69 + .../-input/-frame/vertical-field-of-view.html | 69 + .../-input/-option/-crop/-center/-center.html | 69 + .../-center/aspect-ratio-denominator.html | 69 + .../-crop/-center/aspect-ratio-numerator.html | 69 + .../-input/-option/-crop/-center/equals.html | 69 + .../-option/-crop/-center/hash-code.html | 69 + .../-input/-option/-crop/-center/index.html | 174 + .../-option/-crop/-center/to-string.html | 69 + .../-input/-option/-crop/index.html | 104 + .../-mirror-frames-horizontally/index.html | 73 + .../-mirror-frames-vertically/index.html | 73 + .../-input/-option/index.html | 156 + .../-input/-pausable/index.html | 243 + .../-input/-pausable/pause.html | 69 + .../-input/-pausable/resume.html | 69 + .../-input/attach-to-gl-context.html | 69 + .../-input/detach-from-gl-context.html | 69 + .../-image-processor/-input/facing-front.html | 69 + .../-image-processor/-input/height.html | 69 + .../-image-processor/-input/index.html | 314 + .../-image-processor/-input/read-frame.html | 69 + .../-input/rotation-degrees.html | 69 + .../-image-processor/-input/subscribe-to.html | 69 + .../-image-processor/-input/width.html | 69 + .../-backed-by-surface-texture.html | 69 + .../-backed-by-surface-texture/index.html | 155 + .../-backed-by-surface-texture/purpose.html | 69 + .../surface-texture.html | 69 + .../-backed-by-surface.html | 69 + .../-output/-backed-by-surface/index.html | 155 + .../-output/-backed-by-surface/purpose.html | 69 + .../-output/-backed-by-surface/surface.html | 69 + .../-output/-companion/index.html | 73 + .../-output/-frame/index.html | 108 + .../-output/-frame/recycle.html | 69 + .../-output/-frame/timestamp.html | 69 + .../-clear-on-disconnect.html | 69 + .../-option/-clear-on-disconnect/color.html | 69 + .../-option/-clear-on-disconnect/equals.html | 69 + .../-clear-on-disconnect/hash-code.html | 69 + .../-option/-clear-on-disconnect/index.html | 155 + .../-clear-on-disconnect/to-string.html | 69 + .../-ignore-device-rotation/index.html | 73 + .../-output/-option/index.html | 130 + .../-purpose/-p-r-e-v-i-e-w/index.html | 106 + .../-purpose/-r-e-c-o-r-d-i-n-g/index.html | 106 + .../-purpose/-s-n-a-p-s-h-o-t/index.html | 106 + .../-output/-purpose/index.html | 185 + .../-output/-purpose/value-of.html | 69 + .../-output/-purpose/values.html | 69 + .../-image-processor/-output/index.html | 239 + .../-image-processor/-output/purpose.html | 69 + .../-output/rotation-degrees.html | 69 + .../-image-processor/-output/write-frame.html | 69 + .../-image-processor/connect-input.html | 69 + .../-image-processor/connect-output.html | 69 + .../-image-processor/index.html | 203 + .../observe-required-capabilities.html | 69 + .../-input/-prompt/-prompt.html | 69 + .../-input/-prompt/equals.html | 69 + .../-input/-prompt/hash-code.html | 69 + .../-legal-processor/-input/-prompt/id.html | 69 + .../-input/-prompt/index.html | 170 + .../-input/-prompt/message.html | 69 + .../-input/-prompt/to-string.html | 69 + .../-request-update/-a-l-w-a-y-s/index.html | 106 + .../-request-update/-n-e-v-e-r/index.html | 106 + .../index.html | 106 + .../-input/-request-update/index.html | 185 + .../-input/-request-update/value-of.html | 69 + .../-input/-request-update/values.html | 69 + .../-input/-result/-accepted/index.html | 91 + .../-input/-result/-accepted/to-string.html | 69 + .../-input/-result/-dismissed/index.html | 91 + .../-input/-result/-dismissed/to-string.html | 69 + .../-input/-result/-missing/index.html | 91 + .../-input/-result/-missing/to-string.html | 69 + .../-input/-result/index.html | 156 + .../-legal-processor/-input/index.html | 138 + .../-legal-processor/-input/subscribe-to.html | 69 + .../-legal-processor/connect-input.html | 69 + .../-legal-processor/index.html | 151 + .../-legal-processor/observe.html | 69 + .../-legal-processor/wait-for.html | 69 + .../-tracking-requirements.html | 69 + .../-input/-tracking-requirements/equals.html | 69 + .../-tracking-requirements/hash-code.html | 69 + .../-input/-tracking-requirements/index.html | 170 + .../-tracking-requirements/to-string.html | 69 + .../update-interval-time-unit.html | 69 + .../update-interval.html | 69 + .../-location-processor/-input/index.html | 108 + .../-input/subscribe-to.html | 69 + .../-location-processor/connect-input.html | 69 + .../-location-processor/index.html | 132 + .../-media-type/-all-original/index.html | 73 + .../-media-type/-images/-original/index.html | 78 + .../-media-type/-images/-with-face/index.html | 78 + .../-media-type/-images/index.html | 130 + .../-media-type/-videos/-original/index.html | 78 + .../-media-type/-videos/index.html | 104 + .../-requirements/-media-type/index.html | 156 + .../-multiple-media-items-to-pick-from.html | 69 + .../equals.html | 69 + .../hash-code.html | 69 + .../index.html | 185 + .../media-type.html | 69 + .../media-types.html | 69 + .../to-string.html | 69 + .../-single-media-item.html | 69 + .../-single-media-item/equals.html | 69 + .../-single-media-item/hash-code.html | 69 + .../-single-media-item/index.html | 185 + .../-single-media-item/media-type.html | 69 + .../-single-media-item/media-types.html | 69 + .../-single-media-item/to-string.html | 69 + .../-input/-requirements/index.html | 145 + .../-with-media-items-to-pick-from.html | 69 + .../equals.html | 69 + .../hash-code.html | 69 + .../-with-media-items-to-pick-from/index.html | 170 + .../-with-media-items-to-pick-from/items.html | 69 + .../request-more.html | 69 + .../to-string.html | 69 + .../-with-single-media-item.html | 69 + .../-with-single-media-item/equals.html | 69 + .../-with-single-media-item/hash-code.html | 69 + .../-with-single-media-item/index.html | 155 + .../-result/-with-single-media-item/item.html | 69 + .../-with-single-media-item/to-string.html | 69 + .../-input/-result/index.html | 130 + .../-media-processor/-input/index.html | 123 + .../-media-processor/-input/subscribe-to.html | 69 + .../-media/-image/-face/-face.html | 69 + .../-media/-image/-face/equals.html | 69 + .../-media/-image/-face/hash-code.html | 69 + .../-media/-image/-face/height.html | 69 + .../-media/-image/-face/index.html | 204 + .../-media/-image/-face/to-string.html | 69 + .../-media/-image/-face/width.html | 69 + .../-media/-image/-face/x.html | 69 + .../-media/-image/-face/y.html | 69 + .../-image/-original/-by-uri/-by-uri.html | 69 + .../-image/-original/-by-uri/equals.html | 69 + .../-image/-original/-by-uri/hash-code.html | 69 + .../-image/-original/-by-uri/height.html | 69 + .../-image/-original/-by-uri/index.html | 204 + .../-original/-by-uri/rotation-degrees.html | 69 + .../-image/-original/-by-uri/to-string.html | 69 + .../-media/-image/-original/-by-uri/uri.html | 69 + .../-image/-original/-by-uri/width.html | 69 + .../-media/-image/-original/index.html | 104 + .../-media/-image/-with-face/-with-face.html | 69 + .../-media/-image/-with-face/equals.html | 69 + .../-media/-image/-with-face/face.html | 69 + .../-media/-image/-with-face/hash-code.html | 69 + .../-media/-image/-with-face/image.html | 69 + .../-media/-image/-with-face/index.html | 170 + .../-media/-image/-with-face/to-string.html | 69 + .../-media-processor/-media/-image/index.html | 145 + .../-video/-original/-by-uri/-by-uri.html | 69 + .../-original/-by-uri/duration-in-millis.html | 69 + .../-video/-original/-by-uri/equals.html | 69 + .../-video/-original/-by-uri/hash-code.html | 69 + .../-video/-original/-by-uri/index.html | 174 + .../-video/-original/-by-uri/to-string.html | 69 + .../-media/-video/-original/-by-uri/uri.html | 69 + .../-media/-video/-original/index.html | 104 + .../-media-processor/-media/-video/index.html | 104 + .../-media-processor/-media/index.html | 130 + .../-media-processor/connect-input.html | 69 + .../-media-processor/index.html | 147 + .../com.snap.camerakit/-processor/index.html | 153 + .../-input/index.html | 91 + .../-input/subscribe-to.html | 69 + .../connect-input.html | 69 + .../-safe-render-area-processor/index.html | 132 + .../-session/-builder/api-token.html | 69 + .../-session/-builder/application-id.html | 69 + .../-session/-builder/attach-to.html | 69 + .../-builder/audio-processor-source.html | 69 + .../-session/-builder/build.html | 69 + .../-session/-builder/configure-lenses.html | 69 + .../-session/-builder/configure-with.html | 69 + .../-session/-builder/handle-errors-with.html | 69 + .../-builder/image-processor-source.html | 69 + .../-session/-builder/index.html | 286 + .../-builder/legal-processor-source.html | 69 + .../-builder/location-processor-source.html | 69 + .../-builder/media-processor-source.html | 69 + .../safe-render-area-processor-source.html | 69 + .../-builder/user-processor-source.html | 69 + .../-session/-companion/index.html | 73 + .../-session/-processor/index.html | 151 + .../-session/adjustments.html | 69 + .../com.snap.camerakit/-session/close.html | 69 + .../com.snap.camerakit/-session/index.html | 185 + .../com.snap.camerakit/-session/lenses.html | 69 + .../-session/processor.html | 69 + .../-source/-noop/attach.html | 69 + .../com.snap.camerakit/-source/-noop/get.html | 69 + .../-source/-noop/index.html | 106 + .../com.snap.camerakit/-source/attach.html | 69 + .../com.snap.camerakit/-source/index.html | 121 + .../-unauthorized-application-exception.html | 69 + .../api-token.html | 69 + .../application-id.html | 69 + .../equals.html | 69 + .../hash-code.html | 69 + .../index.html | 335 + .../package-name.html | 69 + .../-user-processor/-input/-user/-user.html | 69 + .../-input/-user/birth-date.html | 69 + .../-input/-user/display-name.html | 69 + .../-user-processor/-input/-user/equals.html | 69 + .../-input/-user/hash-code.html | 69 + .../-user-processor/-input/-user/index.html | 170 + .../-input/-user/to-string.html | 69 + .../-user-processor/-input/index.html | 108 + .../-user-processor/-input/subscribe-to.html | 69 + .../-user-processor/connect-input.html | 69 + .../-user-processor/index.html | 132 + .../-version/-companion/index.html | 73 + .../com.snap.camerakit/-version/-version.html | 69 + .../-version/compare-to.html | 69 + .../com.snap.camerakit/-version/equals.html | 69 + .../-version/hash-code.html | 69 + .../com.snap.camerakit/-version/index.html | 236 + .../com.snap.camerakit/-version/major.html | 69 + .../com.snap.camerakit/-version/minor.html | 69 + .../com.snap.camerakit/-version/patch.html | 69 + .../-version/qualifier.html | 69 + .../-version/to-string.html | 69 + .../com.snap.camerakit/ar-core-input.html | 69 + .../com.snap.camerakit/connect-input.html | 69 + .../com.snap.camerakit/connect-output.html | 69 + .../-camera-kit/com.snap.camerakit/index.html | 499 + .../com.snap.camerakit/input-frame-from.html | 69 + .../com.snap.camerakit/input-from.html | 69 + .../com.snap.camerakit/lens-core-version.html | 69 + .../microphone-source-for.html | 69 + .../com.snap.camerakit/new-builder.html | 69 + .../com.snap.camerakit/output-from.html | 69 + .../com.snap.camerakit/process-bitmap.html | 69 + .../com.snap.camerakit/process-image.html | 69 + .../com.snap.camerakit/source-from.html | 69 + .../com.snap.camerakit/supported.html | 69 + .../com.snap.camerakit/to-bitmap.html | 69 + .../com.snap.camerakit/version-from.html | 69 + .../android/1.36.1/-camera-kit/package-list | 767 ++ .../1.36.1/images/anchor-copy-button.svg | 4 + docs/api/android/1.36.1/images/arrow_down.svg | 3 + docs/api/android/1.36.1/images/copy-icon.svg | 3 + .../1.36.1/images/copy-successful-icon.svg | 3 + .../1.36.1/images/footer-go-to-link.svg | 3 + .../android/1.36.1/images/go-to-top-icon.svg | 4 + docs/api/android/1.36.1/images/logo-icon.svg | 10 + .../nav-icons/abstract-class-kotlin.svg | 22 + .../images/nav-icons/abstract-class.svg | 20 + .../images/nav-icons/annotation-kotlin.svg | 9 + .../1.36.1/images/nav-icons/annotation.svg | 7 + .../1.36.1/images/nav-icons/class-kotlin.svg | 9 + .../android/1.36.1/images/nav-icons/class.svg | 7 + .../1.36.1/images/nav-icons/enum-kotlin.svg | 9 + .../android/1.36.1/images/nav-icons/enum.svg | 7 + .../images/nav-icons/exception-class.svg | 7 + .../1.36.1/images/nav-icons/field-value.svg | 6 + .../images/nav-icons/field-variable.svg | 6 + .../1.36.1/images/nav-icons/function.svg | 7 + .../images/nav-icons/interface-kotlin.svg | 9 + .../1.36.1/images/nav-icons/interface.svg | 7 + .../1.36.1/images/nav-icons/object.svg | 9 + .../android/1.36.1/images/theme-toggle.svg | 4 + docs/api/android/1.36.1/index.html | 126 + docs/api/android/1.36.1/navigation.html | 788 ++ docs/api/android/1.36.1/scripts/clipboard.js | 52 + docs/api/android/1.36.1/scripts/main.js | 44 + .../1.36.1/scripts/navigation-loader.js | 91 + docs/api/android/1.36.1/scripts/pages.json | 1 + .../scripts/platform-content-handler.js | 359 + docs/api/android/1.36.1/scripts/prism.js | 22 + .../1.36.1/scripts/sourceset_dependencies.js | 1 + .../symbol-parameters-wrapper_deferred.js | 83 + .../android/1.36.1/styles/jetbrains-mono.css | 17 + .../api/android/1.36.1/styles/logo-styles.css | 15 + docs/api/android/1.36.1/styles/main.css | 118 + docs/api/android/1.36.1/styles/prism.css | 213 + docs/api/android/1.36.1/styles/style.css | 1293 ++ docs/api/android/latest | 2 +- docs/api/index.html | 24 +- docs/api/ios/1.36.1/README.md | 17 + .../ios/1.36.1/SCSDKCameraKit/Classes.html | 1021 ++ .../Classes/SCCameraKitARSessionInput.html | 592 + .../Classes/SCCameraKitAVSessionInput.html | 655 + .../Classes/SCCameraKitAVWriterOutput.html | 679 + .../Classes/SCCameraKitCacheConfig.html | 512 + .../SCCameraKitDataProviderComponent.html | 1082 ++ .../SCCameraKitExplicitViewportProvider.html | 696 + .../SCCameraKitLensLaunchDataBuilder.html | 760 ++ ...itLensMediaPickerProviderPhotoLibrary.html | 539 + .../SCCameraKitLensRemoteApiResponse.html | 577 + .../Classes/SCCameraKitLensesConfig.html | 507 + .../SCCameraKitPhotoCaptureOutput.html | 686 + .../SCCameraKitPortraitAdjustment.html | 450 + .../Classes/SCCameraKitPreviewView.html | 654 + .../Classes/SCCameraKitSession.html | 566 + .../Classes/SCCameraKitSessionConfig.html | 898 ++ .../Classes/SCCameraKitToneMapAdjustment.html | 450 + .../Classes/SCCameraKitUserData.html | 613 + .../ios/1.36.1/SCSDKCameraKit/Constants.html | 959 ++ docs/api/ios/1.36.1/SCSDKCameraKit/Enums.html | 698 + .../SCCameraKitAdjustmentsComponentError.html | 459 + .../SCCameraKitLensFacingPreference.html | 518 + .../Enums/SCCameraKitLensFetchStatus.html | 521 + .../SCCameraKitLensMediaPickerAssetType.html | 489 + ...nsMediaPickerProviderAllowedMediaType.html | 559 + ...CCameraKitLensRemoteApiResponseStatus.html | 710 + ...meraKitLensRemoteApiServiceCallStatus.html | 519 + .../SCCameraKitPreviewViewContentMode.html | 502 + .../ios/1.36.1/SCSDKCameraKit/Extensions.html | 437 + .../Extensions/AdjustmentsProcessor.html | 466 + .../ios/1.36.1/SCSDKCameraKit/Protocols.html | 2323 ++++ .../SCSDKCameraKit/Protocols/Adjustment.html | 443 + .../Protocols/SCCameraKitARInput.html | 595 + .../Protocols/SCCameraKitARInputDelegate.html | 616 + .../SCCameraKitAccessTokenProvider.html | 544 + .../SCCameraKitAccessTokenProviderTask.html | 454 + .../SCCameraKitAdjustmentsComponent.html | 454 + .../SCCameraKitAdjustmentsProcessor.html | 667 + ...CameraKitAdjustmentsProcessorObserver.html | 474 + .../Protocols/SCCameraKitAgreementSet.html | 519 + ...AgreementsPresentationContextProvider.html | 524 + .../Protocols/SCCameraKitAgreementsStore.html | 588 + .../SCCameraKitDeviceMotionDataProvider.html | 538 + .../SCCameraKitDeviceMotionParameters.html | 454 + .../Protocols/SCCameraKitErrorHandler.html | 473 + .../Protocols/SCCameraKitInput.html | 772 ++ .../SCCameraKitInputDestination.html | 601 + .../Protocols/SCCameraKitLens.html | 678 + .../SCCameraKitLensHintDelegate.html | 576 + .../SCCameraKitLensHintProvider.html | 486 + .../SCCameraKitLensMediaPickerAsset.html | 550 + .../SCCameraKitLensMediaPickerProvider.html | 849 ++ ...ickerProviderMediaApplicationDelegate.html | 523 + ...aKitLensMediaPickerProviderUIDelegate.html | 526 + .../Protocols/SCCameraKitLensPrefetcher.html | 619 + .../SCCameraKitLensPrefetcherObserver.html | 499 + .../SCCameraKitLensPrefetcherTask.html | 454 + .../Protocols/SCCameraKitLensPreview.html | 454 + .../Protocols/SCCameraKitLensProcessor.html | 974 ++ .../SCCameraKitLensProcessorObserver.html | 601 + .../SCCameraKitLensRemoteApiRequest.html | 582 + .../SCCameraKitLensRemoteApiResponse.html | 550 + .../SCCameraKitLensRemoteApiService.html | 490 + .../SCCameraKitLensRemoteApiServiceCall.html | 487 + ...CameraKitLensRemoteApiServiceProvider.html | 507 + .../Protocols/SCCameraKitLensRepository.html | 860 ++ ...CCameraKitLensRepositoryGroupObserver.html | 581 + ...meraKitLensRepositorySpecificObserver.html | 589 + .../Protocols/SCCameraKitLensSnapcodes.html | 486 + .../Protocols/SCCameraKitLensesComponent.html | 550 + .../SCCameraKitLocationDataProvider.html | 544 + .../SCCameraKitLocationParameters.html | 518 + .../Protocols/SCCameraKitOutput.html | 645 + ...CameraKitPortraitAdjustmentController.html | 456 + .../Protocols/SCCameraKitPreferences.html | 455 + .../Protocols/SCCameraKitProtocol.html | 1201 ++ .../SCCameraKitTextInputContextProvider.html | 488 + ...KitTextInputKeyboardAccessoryProvider.html | 550 + ...CCameraKitToneMapAdjustmentController.html | 457 + .../SCCameraKitUserDataProvider.html | 486 + .../SCCameraKitUserDataProviderDelegate.html | 487 + .../ios/1.36.1/SCSDKCameraKit/Structs.html | 443 + ...CameraKitLensMediaPickerAssetMetadata.html | 454 + .../SCSDKCameraKit/Type Definitions.html | 439 + ...CameraKitLensMediaPickerAssetMetadata.html | 451 + ...CameraKitLensMediaPickerAssetMetadata.html | 454 + docs/api/ios/1.36.1/SCSDKCameraKit/badge.svg | 28 + .../1.36.1/SCSDKCameraKit/css/highlight.css | 202 + .../ios/1.36.1/SCSDKCameraKit/css/jazzy.css | 404 + .../docsets/.docset/Contents/Info.plist | 20 + .../Contents/Resources/Documents/Classes.html | 1021 ++ .../Classes/SCCameraKitARSessionInput.html | 592 + .../Classes/SCCameraKitAVSessionInput.html | 655 + .../Classes/SCCameraKitAVWriterOutput.html | 679 + .../Classes/SCCameraKitCacheConfig.html | 512 + .../SCCameraKitDataProviderComponent.html | 1082 ++ .../SCCameraKitExplicitViewportProvider.html | 696 + .../SCCameraKitLensLaunchDataBuilder.html | 760 ++ ...itLensMediaPickerProviderPhotoLibrary.html | 539 + .../SCCameraKitLensRemoteApiResponse.html | 577 + .../Classes/SCCameraKitLensesConfig.html | 507 + .../SCCameraKitPhotoCaptureOutput.html | 686 + .../SCCameraKitPortraitAdjustment.html | 450 + .../Classes/SCCameraKitPreviewView.html | 654 + .../Documents/Classes/SCCameraKitSession.html | 566 + .../Classes/SCCameraKitSessionConfig.html | 898 ++ .../Classes/SCCameraKitToneMapAdjustment.html | 450 + .../Classes/SCCameraKitUserData.html | 613 + .../Resources/Documents/Constants.html | 959 ++ .../Contents/Resources/Documents/Enums.html | 698 + .../SCCameraKitAdjustmentsComponentError.html | 459 + .../SCCameraKitLensFacingPreference.html | 518 + .../Enums/SCCameraKitLensFetchStatus.html | 521 + .../SCCameraKitLensMediaPickerAssetType.html | 489 + ...nsMediaPickerProviderAllowedMediaType.html | 559 + ...CCameraKitLensRemoteApiResponseStatus.html | 710 + ...meraKitLensRemoteApiServiceCallStatus.html | 519 + .../SCCameraKitPreviewViewContentMode.html | 502 + .../Resources/Documents/Extensions.html | 437 + .../Extensions/AdjustmentsProcessor.html | 466 + .../Resources/Documents/Protocols.html | 2323 ++++ .../Documents/Protocols/Adjustment.html | 443 + .../Protocols/SCCameraKitARInput.html | 595 + .../Protocols/SCCameraKitARInputDelegate.html | 616 + .../SCCameraKitAccessTokenProvider.html | 544 + .../SCCameraKitAccessTokenProviderTask.html | 454 + .../SCCameraKitAdjustmentsComponent.html | 454 + .../SCCameraKitAdjustmentsProcessor.html | 667 + ...CameraKitAdjustmentsProcessorObserver.html | 474 + .../Protocols/SCCameraKitAgreementSet.html | 519 + ...AgreementsPresentationContextProvider.html | 524 + .../Protocols/SCCameraKitAgreementsStore.html | 588 + .../SCCameraKitDeviceMotionDataProvider.html | 538 + .../SCCameraKitDeviceMotionParameters.html | 454 + .../Protocols/SCCameraKitErrorHandler.html | 473 + .../Documents/Protocols/SCCameraKitInput.html | 772 ++ .../SCCameraKitInputDestination.html | 601 + .../Documents/Protocols/SCCameraKitLens.html | 678 + .../SCCameraKitLensHintDelegate.html | 576 + .../SCCameraKitLensHintProvider.html | 486 + .../SCCameraKitLensMediaPickerAsset.html | 550 + .../SCCameraKitLensMediaPickerProvider.html | 849 ++ ...ickerProviderMediaApplicationDelegate.html | 523 + ...aKitLensMediaPickerProviderUIDelegate.html | 526 + .../Protocols/SCCameraKitLensPrefetcher.html | 619 + .../SCCameraKitLensPrefetcherObserver.html | 499 + .../SCCameraKitLensPrefetcherTask.html | 454 + .../Protocols/SCCameraKitLensPreview.html | 454 + .../Protocols/SCCameraKitLensProcessor.html | 974 ++ .../SCCameraKitLensProcessorObserver.html | 601 + .../SCCameraKitLensRemoteApiRequest.html | 582 + .../SCCameraKitLensRemoteApiResponse.html | 550 + .../SCCameraKitLensRemoteApiService.html | 490 + .../SCCameraKitLensRemoteApiServiceCall.html | 487 + ...CameraKitLensRemoteApiServiceProvider.html | 507 + .../Protocols/SCCameraKitLensRepository.html | 860 ++ ...CCameraKitLensRepositoryGroupObserver.html | 581 + ...meraKitLensRepositorySpecificObserver.html | 589 + .../Protocols/SCCameraKitLensSnapcodes.html | 486 + .../Protocols/SCCameraKitLensesComponent.html | 550 + .../SCCameraKitLocationDataProvider.html | 544 + .../SCCameraKitLocationParameters.html | 518 + .../Protocols/SCCameraKitOutput.html | 645 + ...CameraKitPortraitAdjustmentController.html | 456 + .../Protocols/SCCameraKitPreferences.html | 455 + .../Protocols/SCCameraKitProtocol.html | 1201 ++ .../SCCameraKitTextInputContextProvider.html | 488 + ...KitTextInputKeyboardAccessoryProvider.html | 550 + ...CCameraKitToneMapAdjustmentController.html | 457 + .../SCCameraKitUserDataProvider.html | 486 + .../SCCameraKitUserDataProviderDelegate.html | 487 + .../Contents/Resources/Documents/Structs.html | 443 + ...CameraKitLensMediaPickerAssetMetadata.html | 454 + .../Resources/Documents/Type Definitions.html | 439 + ...CameraKitLensMediaPickerAssetMetadata.html | 451 + ...CameraKitLensMediaPickerAssetMetadata.html | 454 + .../Resources/Documents/css/highlight.css | 202 + .../Resources/Documents/css/jazzy.css | 404 + .../Resources/Documents/img/carat.png | Bin 0 -> 274 bytes .../Contents/Resources/Documents/img/dash.png | Bin 0 -> 1338 bytes .../Resources/Documents/img/spinner.gif | Bin 0 -> 1849 bytes .../Contents/Resources/Documents/index.html | 498 + .../Contents/Resources/Documents/js/jazzy.js | 74 + .../Resources/Documents/js/jazzy.search.js | 74 + .../Resources/Documents/js/jquery.min.js | 2 + .../Resources/Documents/js/lunr.min.js | 6 + .../Documents/js/typeahead.jquery.js | 1694 +++ .../Contents/Resources/Documents/search.json | 1 + .../.docset/Contents/Resources/docSet.dsidx | Bin 0 -> 126976 bytes .../ios/1.36.1/SCSDKCameraKit/docsets/.tgz | Bin 0 -> 276040 bytes .../ios/1.36.1/SCSDKCameraKit/img/carat.png | Bin 0 -> 274 bytes .../ios/1.36.1/SCSDKCameraKit/img/dash.png | Bin 0 -> 1338 bytes .../ios/1.36.1/SCSDKCameraKit/img/spinner.gif | Bin 0 -> 1849 bytes docs/api/ios/1.36.1/SCSDKCameraKit/index.html | 498 + .../api/ios/1.36.1/SCSDKCameraKit/js/jazzy.js | 74 + .../1.36.1/SCSDKCameraKit/js/jazzy.search.js | 74 + .../1.36.1/SCSDKCameraKit/js/jquery.min.js | 2 + .../ios/1.36.1/SCSDKCameraKit/js/lunr.min.js | 6 + .../SCSDKCameraKit/js/typeahead.jquery.js | 1694 +++ .../api/ios/1.36.1/SCSDKCameraKit/search.json | 1 + .../1.36.1/SCSDKCameraKit/undocumented.json | 362 + .../Classes.html | 144 + .../Classes/CameraViewState.html | 411 + .../Structs.html | 311 + .../Structs/CameraButton.html | 227 + .../Structs/CameraButton/Coordinator.html | 225 + .../Structs/CameraView.html | 175 + .../Structs/CarouselView.html | 227 + .../Structs/CarouselView/Coordinator.html | 224 + .../Structs/ImagePreviewView.html | 232 + .../Structs/MediaPickerView.html | 194 + .../Structs/PreviewView.html | 232 + .../Structs/VideoPreviewView.html | 232 + .../SCSDKCameraKitReferenceSwiftUI/badge.svg | 28 + .../css/highlight.css | 202 + .../css/jazzy.css | 404 + .../Contents/Info.plist | 20 + .../Contents/Resources/Documents/Classes.html | 144 + .../Documents/Classes/CameraViewState.html | 411 + .../Contents/Resources/Documents/Structs.html | 311 + .../Documents/Structs/CameraButton.html | 227 + .../Structs/CameraButton/Coordinator.html | 225 + .../Documents/Structs/CameraView.html | 175 + .../Documents/Structs/CarouselView.html | 227 + .../Structs/CarouselView/Coordinator.html | 224 + .../Documents/Structs/ImagePreviewView.html | 232 + .../Documents/Structs/MediaPickerView.html | 194 + .../Documents/Structs/PreviewView.html | 232 + .../Documents/Structs/VideoPreviewView.html | 232 + .../Resources/Documents/css/highlight.css | 202 + .../Resources/Documents/css/jazzy.css | 404 + .../Resources/Documents/img/carat.png | Bin 0 -> 274 bytes .../Contents/Resources/Documents/img/dash.png | Bin 0 -> 1338 bytes .../Resources/Documents/img/spinner.gif | Bin 0 -> 1849 bytes .../Contents/Resources/Documents/index.html | 145 + .../Contents/Resources/Documents/js/jazzy.js | 74 + .../Resources/Documents/js/jazzy.search.js | 74 + .../Resources/Documents/js/jquery.min.js | 2 + .../Resources/Documents/js/lunr.min.js | 6 + .../Documents/js/typeahead.jquery.js | 1694 +++ .../Contents/Resources/Documents/search.json | 1 + .../Contents/Resources/docSet.dsidx | Bin 0 -> 28672 bytes .../SCSDKCameraKitReferenceSwiftUI.tgz | Bin 0 -> 75926 bytes .../img/carat.png | Bin 0 -> 274 bytes .../img/dash.png | Bin 0 -> 1338 bytes .../img/spinner.gif | Bin 0 -> 1849 bytes .../SCSDKCameraKitReferenceSwiftUI/index.html | 145 + .../js/jazzy.js | 74 + .../js/jazzy.search.js | 74 + .../js/jquery.min.js | 2 + .../js/lunr.min.js | 6 + .../js/typeahead.jquery.js | 1694 +++ .../search.json | 1 + .../undocumented.json | 96 + .../SCSDKCameraKitReferenceUI/Classes.html | 1230 ++ .../Classes/AdjustmentControlView.html | 598 + .../AdjustmentControlView/Variant.html | 396 + .../Classes/BundleHelper.html | 342 + .../Classes/CameraActionsView.html | 673 + .../Classes/CameraBottomBar.html | 369 + .../Classes/CameraButton.html | 924 ++ .../Classes/CameraConfigurableActionView.html | 756 ++ .../Classes/CameraController.html | 2095 +++ .../Classes/CameraController/FlashMode.html | 368 + .../Classes/CameraController/FlashState.html | 422 + .../PointOfInterestOptions.html | 420 + .../Classes/CameraView.html | 1054 ++ .../Classes/CameraViewController.html | 1578 +++ .../Classes/CarouselCollectionViewCell.html | 449 + .../Classes/CarouselCollectionViewLayout.html | 455 + .../Classes/CarouselItem.html | 557 + .../Classes/CarouselView.html | 867 ++ .../Classes/ControlSlider.html | 482 + .../Classes/DefaultCarouselImageLoader.html | 451 + .../Classes/EmptyItem.html | 341 + .../Classes/FlashControlView.html | 649 + .../Classes/FlashModeSelectionView.html | 408 + .../Classes/ImagePreviewViewController.html | 530 + .../KeyboardAccessoryViewProvider.html | 423 + .../Classes/MediaPickerView.html | 545 + .../Classes/MessageNotificationView.html | 368 + .../Classes/PreviewViewController.html | 514 + .../Classes/Recorder.html | 470 + .../Classes/RingLightColorSelectionView.html | 644 + .../RingLightColorSelectionViewCell.html | 508 + .../Classes/RingLightGradientView.html | 494 + .../Classes/RingLightView.html | 541 + .../Classes/SnapAttributionView.html | 368 + .../Classes/TapAnimationView.html | 368 + .../Classes/UserDataProvider.html | 368 + .../Classes/VideoPreviewViewController.html | 530 + .../SCSDKCameraKitReferenceUI/Enums.html | 622 + .../Enums/CameraBottomBarElements.html | 341 + .../Enums/CameraElements.html | 814 ++ .../Enums/CameraElements/CameraFlip.html | 368 + .../Enums/CarouselElements.html | 395 + .../Enums/FlashControlElements.html | 395 + .../Enums/MessageNotificationElements.html | 341 + .../Enums/OtherElements.html | 476 + .../Enums/PreviewElements.html | 449 + .../Enums/SnapchatScreen.html | 422 + .../SCSDKCameraKitReferenceUI/Extensions.html | 474 + .../Extensions/NSString.html | 348 + .../Extensions/UIButton.html | 341 + .../Extensions/UIColor.html | 340 + .../Extensions/UIFont.html | 476 + .../Extensions/UIImage.html | 376 + .../Extensions/UILabel.html | 345 + .../SCSDKCameraKitReferenceUI/Functions.html | 411 + .../SCSDKCameraKitReferenceUI/Protocols.html | 755 ++ .../AdjustmentControlViewDelegate.html | 372 + .../Protocols/AppOrientationDelegate.html | 387 + .../Protocols/CameraButtonDelegate.html | 499 + .../Protocols/CameraControllerUIDelegate.html | 882 ++ ...arouselCollectionViewLayoutDataSource.html | 373 + .../CarouselCollectionViewLayoutDelegate.html | 372 + .../Protocols/CarouselImageLoader.html | 486 + .../Protocols/CarouselViewDataSource.html | 364 + .../Protocols/CarouselViewDelegate.html | 384 + .../Protocols/ControlSliderDelegate.html | 384 + .../Protocols/FlashControlViewDelegate.html | 488 + .../FlashModeSelectionViewDelegate.html | 372 + .../Protocols/MediaPickerViewDelegate.html | 372 + .../RingLightColorSelectionViewDelegate.html | 372 + .../Protocols/SnapchatDelegate.html | 372 + .../Protocols/TestableElement.html | 341 + .../SCSDKCameraKitReferenceUI/badge.svg | 28 + .../css/highlight.css | 202 + .../SCSDKCameraKitReferenceUI/css/jazzy.css | 404 + .../Contents/Info.plist | 20 + .../Contents/Resources/Documents/Classes.html | 1230 ++ .../Classes/AdjustmentControlView.html | 598 + .../AdjustmentControlView/Variant.html | 396 + .../Documents/Classes/BundleHelper.html | 342 + .../Documents/Classes/CameraActionsView.html | 673 + .../Documents/Classes/CameraBottomBar.html | 369 + .../Documents/Classes/CameraButton.html | 924 ++ .../Classes/CameraConfigurableActionView.html | 756 ++ .../Documents/Classes/CameraController.html | 2095 +++ .../Classes/CameraController/FlashMode.html | 368 + .../Classes/CameraController/FlashState.html | 422 + .../PointOfInterestOptions.html | 420 + .../Documents/Classes/CameraView.html | 1054 ++ .../Classes/CameraViewController.html | 1578 +++ .../Classes/CarouselCollectionViewCell.html | 449 + .../Classes/CarouselCollectionViewLayout.html | 455 + .../Documents/Classes/CarouselItem.html | 557 + .../Documents/Classes/CarouselView.html | 867 ++ .../Documents/Classes/ControlSlider.html | 482 + .../Classes/DefaultCarouselImageLoader.html | 451 + .../Documents/Classes/EmptyItem.html | 341 + .../Documents/Classes/FlashControlView.html | 649 + .../Classes/FlashModeSelectionView.html | 408 + .../Classes/ImagePreviewViewController.html | 530 + .../KeyboardAccessoryViewProvider.html | 423 + .../Documents/Classes/MediaPickerView.html | 545 + .../Classes/MessageNotificationView.html | 368 + .../Classes/PreviewViewController.html | 514 + .../Resources/Documents/Classes/Recorder.html | 470 + .../Classes/RingLightColorSelectionView.html | 644 + .../RingLightColorSelectionViewCell.html | 508 + .../Classes/RingLightGradientView.html | 494 + .../Documents/Classes/RingLightView.html | 541 + .../Classes/SnapAttributionView.html | 368 + .../Documents/Classes/TapAnimationView.html | 368 + .../Documents/Classes/UserDataProvider.html | 368 + .../Classes/VideoPreviewViewController.html | 530 + .../Contents/Resources/Documents/Enums.html | 622 + .../Enums/CameraBottomBarElements.html | 341 + .../Documents/Enums/CameraElements.html | 814 ++ .../Enums/CameraElements/CameraFlip.html | 368 + .../Documents/Enums/CarouselElements.html | 395 + .../Documents/Enums/FlashControlElements.html | 395 + .../Enums/MessageNotificationElements.html | 341 + .../Documents/Enums/OtherElements.html | 476 + .../Documents/Enums/PreviewElements.html | 449 + .../Documents/Enums/SnapchatScreen.html | 422 + .../Resources/Documents/Extensions.html | 474 + .../Documents/Extensions/NSString.html | 348 + .../Documents/Extensions/UIButton.html | 341 + .../Documents/Extensions/UIColor.html | 340 + .../Documents/Extensions/UIFont.html | 476 + .../Documents/Extensions/UIImage.html | 376 + .../Documents/Extensions/UILabel.html | 345 + .../Resources/Documents/Functions.html | 411 + .../Resources/Documents/Protocols.html | 755 ++ .../AdjustmentControlViewDelegate.html | 372 + .../Protocols/AppOrientationDelegate.html | 387 + .../Protocols/CameraButtonDelegate.html | 499 + .../Protocols/CameraControllerUIDelegate.html | 882 ++ ...arouselCollectionViewLayoutDataSource.html | 373 + .../CarouselCollectionViewLayoutDelegate.html | 372 + .../Protocols/CarouselImageLoader.html | 486 + .../Protocols/CarouselViewDataSource.html | 364 + .../Protocols/CarouselViewDelegate.html | 384 + .../Protocols/ControlSliderDelegate.html | 384 + .../Protocols/FlashControlViewDelegate.html | 488 + .../FlashModeSelectionViewDelegate.html | 372 + .../Protocols/MediaPickerViewDelegate.html | 372 + .../RingLightColorSelectionViewDelegate.html | 372 + .../Documents/Protocols/SnapchatDelegate.html | 372 + .../Documents/Protocols/TestableElement.html | 341 + .../Resources/Documents/css/highlight.css | 202 + .../Resources/Documents/css/jazzy.css | 404 + .../Resources/Documents/img/carat.png | Bin 0 -> 274 bytes .../Contents/Resources/Documents/img/dash.png | Bin 0 -> 1338 bytes .../Resources/Documents/img/spinner.gif | Bin 0 -> 1849 bytes .../Contents/Resources/Documents/index.html | 334 + .../Contents/Resources/Documents/js/jazzy.js | 74 + .../Resources/Documents/js/jazzy.search.js | 74 + .../Resources/Documents/js/jquery.min.js | 2 + .../Resources/Documents/js/lunr.min.js | 6 + .../Documents/js/typeahead.jquery.js | 1694 +++ .../Contents/Resources/Documents/search.json | 1 + .../Contents/Resources/docSet.dsidx | Bin 0 -> 163840 bytes .../docsets/SCSDKCameraKitReferenceUI.tgz | Bin 0 -> 199359 bytes .../SCSDKCameraKitReferenceUI/img/carat.png | Bin 0 -> 274 bytes .../SCSDKCameraKitReferenceUI/img/dash.png | Bin 0 -> 1338 bytes .../SCSDKCameraKitReferenceUI/img/spinner.gif | Bin 0 -> 1849 bytes .../SCSDKCameraKitReferenceUI/index.html | 334 + .../SCSDKCameraKitReferenceUI/js/jazzy.js | 74 + .../js/jazzy.search.js | 74 + .../js/jquery.min.js | 2 + .../SCSDKCameraKitReferenceUI/js/lunr.min.js | 6 + .../js/typeahead.jquery.js | 1694 +++ .../SCSDKCameraKitReferenceUI/search.json | 1 + .../undocumented.json | 1314 ++ docs/api/ios/1.36.1/index.html | 10681 ++++++++++++++++ docs/api/ios/latest | 2 +- docs/index.html | 16 +- .../camerakit/sample/basic/MainActivity.kt | 3 - samples/android/gradle.properties | 4 +- .../CameraKitAlternateCarouselSample/Podfile | 2 +- samples/ios/CameraKitBasicSample/Podfile | 2 +- .../CameraKitSample/AppDelegate.swift | 1 + samples/ios/CameraKitSample/Podfile | 14 +- 1221 files changed, 287529 insertions(+), 43 deletions(-) create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adaptive-tone-mapping-adjustment/-p-r-o-p-e-r-t-y_-a-m-o-u-n-t.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adaptive-tone-mapping-adjustment/amount.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adaptive-tone-mapping-adjustment/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adaptive-tone-mapping-adjustment/properties.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-adjustment/-controller/-noop/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-adjustment/-controller/-noop/set.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-adjustment/-controller/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-adjustment/-controller/set.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-adjustment/-property/id.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-adjustment/-property/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-adjustment/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-adjustment/properties.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-noop/close.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-noop/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-noop/processor.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-noop/apply.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-noop/available.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-noop/connect-input.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-noop/connect-output.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-noop/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-noop/observe-required-capabilities.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-noop/remove.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-result/-applied/-applied.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-result/-applied/adjustment.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-result/-applied/controller.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-result/-applied/equals.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-result/-applied/hash-code.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-result/-applied/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-result/-applied/to-string.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-result/-unavailable/-unavailable.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-result/-unavailable/adjustment.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-result/-unavailable/equals.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-result/-unavailable/hash-code.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-result/-unavailable/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-result/-unavailable/to-string.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-result/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/apply.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/available.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/remove.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/close.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/processor.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-portrait-adjustment/-p-r-o-p-e-r-t-y_-b-l-u-r.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-portrait-adjustment/blur.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-portrait-adjustment/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-portrait-adjustment/properties.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/when-applied.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.common/-consumer/accept.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.common/-consumer/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.common/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-l-e-n-s_-g-r-o-u-p_-i-d_-b-u-n-d-l-e-d.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-audio/-adjustment/-volume/-mute/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-audio/-adjustment/-volume/-mute/to-string.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-audio/-adjustment/-volume/-un-mute/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-audio/-adjustment/-volume/-un-mute/to-string.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-audio/-adjustment/-volume/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-audio/-adjustment/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-audio/-noop/adjust.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-audio/-noop/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-audio/adjust.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-audio/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-builder/attach-widgets-to.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-builder/build.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-builder/configure-cache.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-builder/configure-carousel.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-builder/configure-hints.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-builder/configure-loading-overlay.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-builder/configure-media-picker.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-builder/configure-processor.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-builder/dispatch-touch-events-to.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-builder/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-builder/remote-api-service-factory.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-cache/-configuration/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-cache/-configuration/lens-content-max-size.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-cache/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-configuration/activate-idle.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-configuration/activate-on-start.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-configuration/activate-on-tap.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-configuration/attach-view-to.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-configuration/close-button-enabled.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-configuration/close-button-margin-bottom-dimen-res.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-configuration/configure-each-item.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-configuration/deactivate-on-close.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-configuration/disable-idle.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-configuration/enabled.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-configuration/height-dimen-res.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-configuration/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-configuration/margin-bottom-dimen-res.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-configuration/observe-group-ids.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-configuration/observed-group-ids-provider.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-configuration/observed-group-ids.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-configuration/padding-bottom-dimen-res.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-configuration/padding-top-dimen-res.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-configuration/view.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-event/-activated/-idle/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-event/-activated/-idle/to-string.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-event/-activated/-with-lens/-with-lens.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-event/-activated/-with-lens/equals.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-event/-activated/-with-lens/hash-code.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-event/-activated/-with-lens/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-event/-activated/-with-lens/lens.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-event/-activated/-with-lens/to-string.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-event/-activated/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-event/-deactivated/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-event/-deactivated/to-string.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-event/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-item-options/--index--.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-item-options/content-description.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-item-options/enabled.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-item-options/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-item-options/lens.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-item-options/lenses.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-item-options/move-to-left.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-item-options/move-to-right.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-item-options/side.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-layout-placement/-above/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-layout-placement/-above/to-string.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-layout-placement/-behind/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-layout-placement/-behind/to-string.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-layout-placement/-in-front/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-layout-placement/-in-front/to-string.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-layout-placement/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-noop/activate.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-noop/deactivate.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-noop/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-noop/observe.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-side/-l-e-f-t/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-side/-r-i-g-h-t/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-side/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-side/value-of.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-side/values.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-event/-close-button-clicked/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-event/-close-button-clicked/to-string.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-event/-item-selected/-item-selected.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-event/-item-selected/equals.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-event/-item-selected/hash-code.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-event/-item-selected/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-event/-item-selected/item.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-event/-item-selected/to-string.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-event/-visible-items-changed/-visible-items-changed.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-event/-visible-items-changed/equals.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-event/-visible-items-changed/hash-code.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-event/-visible-items-changed/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-event/-visible-items-changed/to-string.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-event/-visible-items-changed/visible-items.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-event/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-item/-idle/id.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-item/-idle/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-item/-idle/to-string.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-item/-lens/content-description.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-item/-lens/icon-uri.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-item/-lens/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-item/-lens/observe-loading-state.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-item/-loading-state/-done/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-item/-loading-state/-done/to-string.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-item/-loading-state/-idle/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-item/-loading-state/-idle/to-string.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-item/-loading-state/-in-progress/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-item/-loading-state/-in-progress/to-string.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-item/-loading-state/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-item/id.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-item/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-model/-hidden/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-model/-hidden/to-string.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-model/-visible/-visible.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-model/-visible/closeable.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-model/-visible/equals.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-model/-visible/hash-code.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-model/-visible/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-model/-visible/items.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-model/-visible/selected-item-position.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-model/-visible/to-string.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-model/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/observe.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/activate.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/deactivate.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/observe.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-hints/-configuration/enabled.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-hints/-configuration/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-hints/-configuration/view.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-hints/-view/-model/-displayed/-displayed.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-hints/-view/-model/-displayed/auto-hide.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-hints/-view/-model/-displayed/equals.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-hints/-view/-model/-displayed/hash-code.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-hints/-view/-model/-displayed/id.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-hints/-view/-model/-displayed/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-hints/-view/-model/-displayed/text.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-hints/-view/-model/-displayed/to-string.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-hints/-view/-model/-hidden/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-hints/-view/-model/-hidden/to-string.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-hints/-view/-model/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-hints/-view/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-hints/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-companion/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-facing/-b-a-c-k/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-facing/-f-r-o-n-t/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-facing/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-facing/value-of.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-facing/values.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-launch-data/-builder/build.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-launch-data/-builder/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-launch-data/-builder/put-number.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-launch-data/-builder/put-numbers.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-launch-data/-builder/put-string.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-launch-data/-builder/put-strings.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-launch-data/-companion/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-launch-data/-empty/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-launch-data/-empty/to-string.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-launch-data/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-deep-link/-deep-link.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-deep-link/equals.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-deep-link/hash-code.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-deep-link/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-deep-link/to-string.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-deep-link/uri.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-image/-png/-png.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-image/-png/equals.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-image/-png/hash-code.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-image/-png/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-image/-png/to-string.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-image/-png/uri.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-image/-webp/-webp.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-image/-webp/equals.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-image/-webp/hash-code.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-image/-webp/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-image/-webp/to-string.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-image/-webp/uri.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-image/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-sequence/-webp/-webp.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-sequence/-webp/equals.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-sequence/-webp/hash-code.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-sequence/-webp/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-sequence/-webp/to-string.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-sequence/-webp/values.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-sequence/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-sequence/values.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/uri.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-preview/-image/-image.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-preview/-image/equals.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-preview/-image/hash-code.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-preview/-image/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-preview/-image/to-string.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-preview/-image/uri.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-preview/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/facing-preference.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/group-id.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/icon-uri.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/icons.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/id.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/name.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/preview.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/previews.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/snapcodes.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/vendor-data.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-loading-overlay/-configuration/enabled.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-loading-overlay/-configuration/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-loading-overlay/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-configuration/enabled.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-configuration/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-configuration/view.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-event/-item-selected/-item-selected.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-event/-item-selected/equals.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-event/-item-selected/hash-code.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-event/-item-selected/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-event/-item-selected/item.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-event/-item-selected/to-string.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-event/-last-item-visible/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-event/-last-item-visible/to-string.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-event/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-item/-loading/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-item/-loading/to-string.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-item/-media/-media.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-item/-media/crop-rect.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-item/-media/equals.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-item/-media/hash-code.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-item/-media/icon-uri.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-item/-media/id.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-item/-media/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-item/-media/label.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-item/-media/selected.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-item/-media/to-string.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-item/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-model/-hidden/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-model/-hidden/to-string.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-model/-visible/-visible.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-model/-visible/equals.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-model/-visible/hash-code.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-model/-visible/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-model/-visible/items.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-model/-visible/to-string.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-model/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/observe.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-noop/close.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-noop/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-preferences/-noop/clear.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-preferences/-noop/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-preferences/clear.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-preferences/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-prefetcher/-noop/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-prefetcher/-noop/observe.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-prefetcher/-noop/run.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-prefetcher/-status/-l-o-a-d-e-d/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-prefetcher/-status/-l-o-a-d-i-n-g/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-prefetcher/-status/-u-n-l-o-a-d-e-d/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-prefetcher/-status/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-prefetcher/-status/value-of.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-prefetcher/-status/values.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-prefetcher/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-prefetcher/observe.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-prefetcher/run.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-configuration/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-configuration/input-frame-rotation-behavior.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-configuration/use-device-orientation-for-face-detection.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-event/-applied/-applied.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-event/-applied/equals.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-event/-applied/hash-code.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-event/-applied/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-event/-applied/lens.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-event/-applied/to-string.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-event/-first-frame-processed/-first-frame-processed.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-event/-first-frame-processed/equals.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-event/-first-frame-processed/hash-code.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-event/-first-frame-processed/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-event/-first-frame-processed/lens.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-event/-first-frame-processed/to-string.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-event/-idle/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-event/-idle/to-string.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-event/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-failure/-internal/-internal.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-failure/-internal/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-failure/-lens/-lens.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-failure/-lens/id.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-failure/-lens/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-failure/-library-loading/-library-loading.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-failure/-library-loading/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-failure/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-input-frame-rotation-behavior/-a-s-s-u-m-e_-p-o-r-t-r-a-i-t_-o-r-i-e-n-t-a-t-i-o-n/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-input-frame-rotation-behavior/-u-s-e_-s-c-r-e-e-n_-o-r-i-e-n-t-a-t-i-o-n/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-input-frame-rotation-behavior/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-input-frame-rotation-behavior/value-of.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-input-frame-rotation-behavior/values.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-noop/apply.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-noop/clear.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-noop/connect-input.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-noop/connect-output.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-noop/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-noop/observe-required-capabilities.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-noop/observe.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/apply.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/clear.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/observe.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-call/-answered/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-call/-answered/to-string.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-call/-ignored/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-call/-ignored/to-string.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-call/-ongoing/-ongoing.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-call/-ongoing/closeable.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-call/-ongoing/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-call/-ongoing/to-string.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-call/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-companion/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-factory/-noop/create-for.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-factory/-noop/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-factory/-noop/supported-api-spec-ids.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-factory/create-for.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-factory/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-factory/supported-api-spec-ids.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-noop/close.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-noop/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-noop/process.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-request/-request.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-request/api-spec-id.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-request/body.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-request/endpoint-id.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-request/equals.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-request/hash-code.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-request/id.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-request/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-request/parameters.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-request/to-string.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-response/-response.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-response/-status/-a-c-c-e-s-s_-d-e-n-i-e-d/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-response/-status/-b-a-d_-r-e-q-u-e-s-t/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-response/-status/-c-a-n-c-e-l-l-e-d/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-response/-status/-i-n-t-e-r-n-a-l_-s-e-r-v-i-c-e_-e-r-r-o-r/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-response/-status/-n-o-t_-f-o-u-n-d/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-response/-status/-r-e-d-i-r-e-c-t-e-d/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-response/-status/-r-e-q-u-e-s-t_-t-o-o_-l-a-r-g-e/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-response/-status/-s-u-c-c-e-s-s/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-response/-status/-t-i-m-e-o-u-t/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-response/-status/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-response/-status/value-of.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-response/-status/values.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-response/body.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-response/equals.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-response/hash-code.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-response/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-response/metadata.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-response/request.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-response/status.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-response/to-string.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/close.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/process.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-noop/get.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-noop/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-noop/observe.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-query-criteria/-available/-available.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-query-criteria/-available/equals.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-query-criteria/-available/group-ids.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-query-criteria/-available/hash-code.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-query-criteria/-available/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-query-criteria/-available/to-string.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-query-criteria/-by-id/-by-id.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-query-criteria/-by-id/equals.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-query-criteria/-by-id/group-id.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-query-criteria/-by-id/hash-code.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-query-criteria/-by-id/id.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-query-criteria/-by-id/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-query-criteria/-by-id/to-string.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-query-criteria/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-result/-none/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-result/-none/to-string.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-result/-some/-some.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-result/-some/equals.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-result/-some/hash-code.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-result/-some/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-result/-some/lenses.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-result/-some/to-string.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-result/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/get.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/observe.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/audio.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/carousel.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/close.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/preferences.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/prefetcher.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/processor.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/repository.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-launch-data/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-launch-data/new-builder.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/when-activated-idle.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/when-activated-with-lens.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/when-activated.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/when-applied.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/when-deactivated.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/when-first-frame-processed.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/when-has-first.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/when-has-some.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/when-idle.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-audio-processor/-input/-frame/buffer.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-audio-processor/-input/-frame/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-audio-processor/-input/-frame/recycle.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-audio-processor/-input/-frame/samples-count.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-audio-processor/-input/buffer-size.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-audio-processor/-input/channels.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-audio-processor/-input/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-audio-processor/-input/sample-rate.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-audio-processor/-input/subscribe-to.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-audio-processor/connect-input.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-audio-processor/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-experimental/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-failure/-graphics/-graphics.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-failure/-graphics/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-failure/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-input/-backed-by-surface-texture/-backed-by-surface-texture.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-input/-backed-by-surface-texture/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-input/-backed-by-surface-texture/surface-texture.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-input/-capability/-s-u-r-f-a-c-e_-t-r-a-c-k-i-n-g/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-input/-capability/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-input/-capability/value-of.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-input/-capability/values.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-input/-companion/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-input/-frame/horizontal-field-of-view.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-input/-frame/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-input/-frame/recycle.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-input/-frame/timestamp.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-input/-frame/transformation-matrix.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-input/-frame/vertical-field-of-view.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-input/-option/-crop/-center/-center.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-input/-option/-crop/-center/aspect-ratio-denominator.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-input/-option/-crop/-center/aspect-ratio-numerator.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-input/-option/-crop/-center/equals.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-input/-option/-crop/-center/hash-code.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-input/-option/-crop/-center/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-input/-option/-crop/-center/to-string.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-input/-option/-crop/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-input/-option/-mirror-frames-horizontally/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-input/-option/-mirror-frames-vertically/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-input/-option/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-input/-pausable/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-input/-pausable/pause.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-input/-pausable/resume.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-input/attach-to-gl-context.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-input/detach-from-gl-context.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-input/facing-front.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-input/height.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-input/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-input/read-frame.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-input/rotation-degrees.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-input/subscribe-to.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-input/width.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-output/-backed-by-surface-texture/-backed-by-surface-texture.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-output/-backed-by-surface-texture/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-output/-backed-by-surface-texture/purpose.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-output/-backed-by-surface-texture/surface-texture.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-output/-backed-by-surface/-backed-by-surface.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-output/-backed-by-surface/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-output/-backed-by-surface/purpose.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-output/-backed-by-surface/surface.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-output/-companion/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-output/-frame/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-output/-frame/recycle.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-output/-frame/timestamp.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-output/-option/-clear-on-disconnect/-clear-on-disconnect.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-output/-option/-clear-on-disconnect/color.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-output/-option/-clear-on-disconnect/equals.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-output/-option/-clear-on-disconnect/hash-code.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-output/-option/-clear-on-disconnect/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-output/-option/-clear-on-disconnect/to-string.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-output/-option/-ignore-device-rotation/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-output/-option/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-output/-purpose/-p-r-e-v-i-e-w/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-output/-purpose/-r-e-c-o-r-d-i-n-g/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-output/-purpose/-s-n-a-p-s-h-o-t/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-output/-purpose/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-output/-purpose/value-of.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-output/-purpose/values.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-output/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-output/purpose.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-output/rotation-degrees.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-output/write-frame.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/connect-input.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/connect-output.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/observe-required-capabilities.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-legal-processor/-input/-prompt/-prompt.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-legal-processor/-input/-prompt/equals.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-legal-processor/-input/-prompt/hash-code.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-legal-processor/-input/-prompt/id.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-legal-processor/-input/-prompt/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-legal-processor/-input/-prompt/message.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-legal-processor/-input/-prompt/to-string.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-legal-processor/-input/-request-update/-a-l-w-a-y-s/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-legal-processor/-input/-request-update/-n-e-v-e-r/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-legal-processor/-input/-request-update/-w-h-e-n_-d-i-s-m-i-s-s-e-d_-o-r_-m-i-s-s-i-n-g/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-legal-processor/-input/-request-update/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-legal-processor/-input/-request-update/value-of.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-legal-processor/-input/-request-update/values.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-legal-processor/-input/-result/-accepted/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-legal-processor/-input/-result/-accepted/to-string.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-legal-processor/-input/-result/-dismissed/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-legal-processor/-input/-result/-dismissed/to-string.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-legal-processor/-input/-result/-missing/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-legal-processor/-input/-result/-missing/to-string.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-legal-processor/-input/-result/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-legal-processor/-input/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-legal-processor/-input/subscribe-to.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-legal-processor/connect-input.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-legal-processor/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-legal-processor/observe.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-legal-processor/wait-for.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-location-processor/-input/-tracking-requirements/-tracking-requirements.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-location-processor/-input/-tracking-requirements/equals.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-location-processor/-input/-tracking-requirements/hash-code.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-location-processor/-input/-tracking-requirements/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-location-processor/-input/-tracking-requirements/to-string.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-location-processor/-input/-tracking-requirements/update-interval-time-unit.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-location-processor/-input/-tracking-requirements/update-interval.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-location-processor/-input/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-location-processor/-input/subscribe-to.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-location-processor/connect-input.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-location-processor/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/-media-type/-all-original/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/-media-type/-images/-original/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/-media-type/-images/-with-face/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/-media-type/-images/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/-media-type/-videos/-original/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/-media-type/-videos/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/-media-type/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/-multiple-media-items-to-pick-from/-multiple-media-items-to-pick-from.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/-multiple-media-items-to-pick-from/equals.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/-multiple-media-items-to-pick-from/hash-code.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/-multiple-media-items-to-pick-from/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/-multiple-media-items-to-pick-from/media-type.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/-multiple-media-items-to-pick-from/media-types.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/-multiple-media-items-to-pick-from/to-string.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/-single-media-item/-single-media-item.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/-single-media-item/equals.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/-single-media-item/hash-code.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/-single-media-item/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/-single-media-item/media-type.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/-single-media-item/media-types.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/-single-media-item/to-string.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-input/-result/-with-media-items-to-pick-from/-with-media-items-to-pick-from.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-input/-result/-with-media-items-to-pick-from/equals.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-input/-result/-with-media-items-to-pick-from/hash-code.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-input/-result/-with-media-items-to-pick-from/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-input/-result/-with-media-items-to-pick-from/items.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-input/-result/-with-media-items-to-pick-from/request-more.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-input/-result/-with-media-items-to-pick-from/to-string.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-input/-result/-with-single-media-item/-with-single-media-item.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-input/-result/-with-single-media-item/equals.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-input/-result/-with-single-media-item/hash-code.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-input/-result/-with-single-media-item/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-input/-result/-with-single-media-item/item.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-input/-result/-with-single-media-item/to-string.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-input/-result/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-input/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-input/subscribe-to.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-face/-face.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-face/equals.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-face/hash-code.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-face/height.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-face/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-face/to-string.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-face/width.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-face/x.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-face/y.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-original/-by-uri/-by-uri.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-original/-by-uri/equals.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-original/-by-uri/hash-code.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-original/-by-uri/height.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-original/-by-uri/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-original/-by-uri/rotation-degrees.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-original/-by-uri/to-string.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-original/-by-uri/uri.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-original/-by-uri/width.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-original/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-with-face/-with-face.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-with-face/equals.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-with-face/face.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-with-face/hash-code.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-with-face/image.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-with-face/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-with-face/to-string.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-media/-video/-original/-by-uri/-by-uri.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-media/-video/-original/-by-uri/duration-in-millis.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-media/-video/-original/-by-uri/equals.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-media/-video/-original/-by-uri/hash-code.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-media/-video/-original/-by-uri/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-media/-video/-original/-by-uri/to-string.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-media/-video/-original/-by-uri/uri.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-media/-video/-original/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-media/-video/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-media/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/connect-input.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-processor/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-safe-render-area-processor/-input/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-safe-render-area-processor/-input/subscribe-to.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-safe-render-area-processor/connect-input.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-safe-render-area-processor/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-session/-builder/api-token.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-session/-builder/application-id.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-session/-builder/attach-to.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-session/-builder/audio-processor-source.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-session/-builder/build.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-session/-builder/configure-lenses.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-session/-builder/configure-with.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-session/-builder/handle-errors-with.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-session/-builder/image-processor-source.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-session/-builder/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-session/-builder/legal-processor-source.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-session/-builder/location-processor-source.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-session/-builder/media-processor-source.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-session/-builder/safe-render-area-processor-source.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-session/-builder/user-processor-source.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-session/-companion/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-session/-processor/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-session/adjustments.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-session/close.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-session/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-session/lenses.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-session/processor.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-source/-noop/attach.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-source/-noop/get.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-source/-noop/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-source/attach.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-source/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-unauthorized-application-exception/-unauthorized-application-exception.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-unauthorized-application-exception/api-token.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-unauthorized-application-exception/application-id.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-unauthorized-application-exception/equals.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-unauthorized-application-exception/hash-code.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-unauthorized-application-exception/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-unauthorized-application-exception/package-name.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-user-processor/-input/-user/-user.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-user-processor/-input/-user/birth-date.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-user-processor/-input/-user/display-name.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-user-processor/-input/-user/equals.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-user-processor/-input/-user/hash-code.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-user-processor/-input/-user/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-user-processor/-input/-user/to-string.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-user-processor/-input/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-user-processor/-input/subscribe-to.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-user-processor/connect-input.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-user-processor/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-version/-companion/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-version/-version.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-version/compare-to.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-version/equals.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-version/hash-code.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-version/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-version/major.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-version/minor.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-version/patch.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-version/qualifier.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-version/to-string.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/ar-core-input.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/connect-input.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/connect-output.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/index.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/input-frame-from.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/input-from.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/lens-core-version.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/microphone-source-for.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/new-builder.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/output-from.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/process-bitmap.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/process-image.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/source-from.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/supported.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/to-bitmap.html create mode 100644 docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/version-from.html create mode 100644 docs/api/android/1.36.1/-camera-kit/package-list create mode 100644 docs/api/android/1.36.1/images/anchor-copy-button.svg create mode 100644 docs/api/android/1.36.1/images/arrow_down.svg create mode 100644 docs/api/android/1.36.1/images/copy-icon.svg create mode 100644 docs/api/android/1.36.1/images/copy-successful-icon.svg create mode 100644 docs/api/android/1.36.1/images/footer-go-to-link.svg create mode 100644 docs/api/android/1.36.1/images/go-to-top-icon.svg create mode 100644 docs/api/android/1.36.1/images/logo-icon.svg create mode 100644 docs/api/android/1.36.1/images/nav-icons/abstract-class-kotlin.svg create mode 100644 docs/api/android/1.36.1/images/nav-icons/abstract-class.svg create mode 100644 docs/api/android/1.36.1/images/nav-icons/annotation-kotlin.svg create mode 100644 docs/api/android/1.36.1/images/nav-icons/annotation.svg create mode 100644 docs/api/android/1.36.1/images/nav-icons/class-kotlin.svg create mode 100644 docs/api/android/1.36.1/images/nav-icons/class.svg create mode 100644 docs/api/android/1.36.1/images/nav-icons/enum-kotlin.svg create mode 100644 docs/api/android/1.36.1/images/nav-icons/enum.svg create mode 100644 docs/api/android/1.36.1/images/nav-icons/exception-class.svg create mode 100644 docs/api/android/1.36.1/images/nav-icons/field-value.svg create mode 100644 docs/api/android/1.36.1/images/nav-icons/field-variable.svg create mode 100644 docs/api/android/1.36.1/images/nav-icons/function.svg create mode 100644 docs/api/android/1.36.1/images/nav-icons/interface-kotlin.svg create mode 100644 docs/api/android/1.36.1/images/nav-icons/interface.svg create mode 100644 docs/api/android/1.36.1/images/nav-icons/object.svg create mode 100644 docs/api/android/1.36.1/images/theme-toggle.svg create mode 100644 docs/api/android/1.36.1/index.html create mode 100644 docs/api/android/1.36.1/navigation.html create mode 100644 docs/api/android/1.36.1/scripts/clipboard.js create mode 100644 docs/api/android/1.36.1/scripts/main.js create mode 100644 docs/api/android/1.36.1/scripts/navigation-loader.js create mode 100644 docs/api/android/1.36.1/scripts/pages.json create mode 100644 docs/api/android/1.36.1/scripts/platform-content-handler.js create mode 100644 docs/api/android/1.36.1/scripts/prism.js create mode 100644 docs/api/android/1.36.1/scripts/sourceset_dependencies.js create mode 100644 docs/api/android/1.36.1/scripts/symbol-parameters-wrapper_deferred.js create mode 100644 docs/api/android/1.36.1/styles/jetbrains-mono.css create mode 100644 docs/api/android/1.36.1/styles/logo-styles.css create mode 100644 docs/api/android/1.36.1/styles/main.css create mode 100644 docs/api/android/1.36.1/styles/prism.css create mode 100644 docs/api/android/1.36.1/styles/style.css create mode 100644 docs/api/ios/1.36.1/README.md create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/Classes.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/Classes/SCCameraKitARSessionInput.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/Classes/SCCameraKitAVSessionInput.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/Classes/SCCameraKitAVWriterOutput.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/Classes/SCCameraKitCacheConfig.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/Classes/SCCameraKitDataProviderComponent.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/Classes/SCCameraKitExplicitViewportProvider.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/Classes/SCCameraKitLensLaunchDataBuilder.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/Classes/SCCameraKitLensMediaPickerProviderPhotoLibrary.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/Classes/SCCameraKitLensRemoteApiResponse.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/Classes/SCCameraKitLensesConfig.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/Classes/SCCameraKitPhotoCaptureOutput.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/Classes/SCCameraKitPortraitAdjustment.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/Classes/SCCameraKitPreviewView.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/Classes/SCCameraKitSession.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/Classes/SCCameraKitSessionConfig.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/Classes/SCCameraKitToneMapAdjustment.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/Classes/SCCameraKitUserData.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/Constants.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/Enums.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/Enums/SCCameraKitAdjustmentsComponentError.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/Enums/SCCameraKitLensFacingPreference.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/Enums/SCCameraKitLensFetchStatus.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/Enums/SCCameraKitLensMediaPickerAssetType.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/Enums/SCCameraKitLensMediaPickerProviderAllowedMediaType.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/Enums/SCCameraKitLensRemoteApiResponseStatus.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/Enums/SCCameraKitLensRemoteApiServiceCallStatus.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/Enums/SCCameraKitPreviewViewContentMode.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/Extensions.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/Extensions/AdjustmentsProcessor.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/Protocols.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/Adjustment.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitARInput.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitARInputDelegate.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitAccessTokenProvider.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitAccessTokenProviderTask.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitAdjustmentsComponent.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitAdjustmentsProcessor.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitAdjustmentsProcessorObserver.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitAgreementSet.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitAgreementsPresentationContextProvider.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitAgreementsStore.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitDeviceMotionDataProvider.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitDeviceMotionParameters.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitErrorHandler.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitInput.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitInputDestination.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitLens.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitLensHintDelegate.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitLensHintProvider.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitLensMediaPickerAsset.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitLensMediaPickerProvider.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitLensMediaPickerProviderMediaApplicationDelegate.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitLensMediaPickerProviderUIDelegate.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitLensPrefetcher.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitLensPrefetcherObserver.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitLensPrefetcherTask.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitLensPreview.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitLensProcessor.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitLensProcessorObserver.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitLensRemoteApiRequest.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitLensRemoteApiResponse.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitLensRemoteApiService.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitLensRemoteApiServiceCall.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitLensRemoteApiServiceProvider.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitLensRepository.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitLensRepositoryGroupObserver.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitLensRepositorySpecificObserver.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitLensSnapcodes.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitLensesComponent.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitLocationDataProvider.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitLocationParameters.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitOutput.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitPortraitAdjustmentController.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitPreferences.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitProtocol.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitTextInputContextProvider.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitTextInputKeyboardAccessoryProvider.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitToneMapAdjustmentController.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitUserDataProvider.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitUserDataProviderDelegate.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/Structs.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/Structs/SCCameraKitLensMediaPickerAssetMetadata.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/Type Definitions.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/Type Definitions/SCCameraKitLensMediaPickerAssetMetadata.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/Type Definitions/SCCameraKitLensMediaPickerAssetMetadata/SCCameraKitLensMediaPickerAssetMetadata.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/badge.svg create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/css/highlight.css create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/css/jazzy.css create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Info.plist create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Classes.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Classes/SCCameraKitARSessionInput.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Classes/SCCameraKitAVSessionInput.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Classes/SCCameraKitAVWriterOutput.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Classes/SCCameraKitCacheConfig.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Classes/SCCameraKitDataProviderComponent.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Classes/SCCameraKitExplicitViewportProvider.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Classes/SCCameraKitLensLaunchDataBuilder.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Classes/SCCameraKitLensMediaPickerProviderPhotoLibrary.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Classes/SCCameraKitLensRemoteApiResponse.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Classes/SCCameraKitLensesConfig.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Classes/SCCameraKitPhotoCaptureOutput.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Classes/SCCameraKitPortraitAdjustment.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Classes/SCCameraKitPreviewView.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Classes/SCCameraKitSession.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Classes/SCCameraKitSessionConfig.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Classes/SCCameraKitToneMapAdjustment.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Classes/SCCameraKitUserData.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Constants.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Enums.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Enums/SCCameraKitAdjustmentsComponentError.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Enums/SCCameraKitLensFacingPreference.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Enums/SCCameraKitLensFetchStatus.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Enums/SCCameraKitLensMediaPickerAssetType.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Enums/SCCameraKitLensMediaPickerProviderAllowedMediaType.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Enums/SCCameraKitLensRemoteApiResponseStatus.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Enums/SCCameraKitLensRemoteApiServiceCallStatus.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Enums/SCCameraKitPreviewViewContentMode.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Extensions.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Extensions/AdjustmentsProcessor.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/Adjustment.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitARInput.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitARInputDelegate.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitAccessTokenProvider.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitAccessTokenProviderTask.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitAdjustmentsComponent.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitAdjustmentsProcessor.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitAdjustmentsProcessorObserver.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitAgreementSet.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitAgreementsPresentationContextProvider.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitAgreementsStore.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitDeviceMotionDataProvider.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitDeviceMotionParameters.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitErrorHandler.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitInput.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitInputDestination.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLens.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensHintDelegate.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensHintProvider.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensMediaPickerAsset.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensMediaPickerProvider.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensMediaPickerProviderMediaApplicationDelegate.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensMediaPickerProviderUIDelegate.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensPrefetcher.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensPrefetcherObserver.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensPrefetcherTask.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensPreview.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensProcessor.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensProcessorObserver.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensRemoteApiRequest.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensRemoteApiResponse.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensRemoteApiService.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensRemoteApiServiceCall.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensRemoteApiServiceProvider.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensRepository.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensRepositoryGroupObserver.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensRepositorySpecificObserver.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensSnapcodes.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensesComponent.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLocationDataProvider.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLocationParameters.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitOutput.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitPortraitAdjustmentController.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitPreferences.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitProtocol.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitTextInputContextProvider.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitTextInputKeyboardAccessoryProvider.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitToneMapAdjustmentController.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitUserDataProvider.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitUserDataProviderDelegate.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Structs.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Structs/SCCameraKitLensMediaPickerAssetMetadata.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Type Definitions.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Type Definitions/SCCameraKitLensMediaPickerAssetMetadata.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Type Definitions/SCCameraKitLensMediaPickerAssetMetadata/SCCameraKitLensMediaPickerAssetMetadata.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/css/highlight.css create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/css/jazzy.css create mode 100755 docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/img/carat.png create mode 100755 docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/img/dash.png create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/img/spinner.gif create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/index.html create mode 100755 docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/js/jazzy.js create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/js/jazzy.search.js create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/js/jquery.min.js create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/js/lunr.min.js create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/js/typeahead.jquery.js create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/search.json create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/docSet.dsidx create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.tgz create mode 100755 docs/api/ios/1.36.1/SCSDKCameraKit/img/carat.png create mode 100755 docs/api/ios/1.36.1/SCSDKCameraKit/img/dash.png create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/img/spinner.gif create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/index.html create mode 100755 docs/api/ios/1.36.1/SCSDKCameraKit/js/jazzy.js create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/js/jazzy.search.js create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/js/jquery.min.js create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/js/lunr.min.js create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/js/typeahead.jquery.js create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/search.json create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKit/undocumented.json create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/Classes.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/Classes/CameraViewState.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/Structs.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/Structs/CameraButton.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/Structs/CameraButton/Coordinator.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/Structs/CameraView.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/Structs/CarouselView.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/Structs/CarouselView/Coordinator.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/Structs/ImagePreviewView.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/Structs/MediaPickerView.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/Structs/PreviewView.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/Structs/VideoPreviewView.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/badge.svg create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/css/highlight.css create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/css/jazzy.css create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Info.plist create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/Documents/Classes.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/Documents/Classes/CameraViewState.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/Documents/Structs.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/Documents/Structs/CameraButton.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/Documents/Structs/CameraButton/Coordinator.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/Documents/Structs/CameraView.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/Documents/Structs/CarouselView.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/Documents/Structs/CarouselView/Coordinator.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/Documents/Structs/ImagePreviewView.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/Documents/Structs/MediaPickerView.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/Documents/Structs/PreviewView.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/Documents/Structs/VideoPreviewView.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/Documents/css/highlight.css create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/Documents/css/jazzy.css create mode 100755 docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/Documents/img/carat.png create mode 100755 docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/Documents/img/dash.png create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/Documents/img/spinner.gif create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/Documents/index.html create mode 100755 docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/Documents/js/jazzy.js create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/Documents/js/jazzy.search.js create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/Documents/js/jquery.min.js create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/Documents/js/lunr.min.js create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/Documents/js/typeahead.jquery.js create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/Documents/search.json create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/docSet.dsidx create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.tgz create mode 100755 docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/img/carat.png create mode 100755 docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/img/dash.png create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/img/spinner.gif create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/index.html create mode 100755 docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/js/jazzy.js create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/js/jazzy.search.js create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/js/jquery.min.js create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/js/lunr.min.js create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/js/typeahead.jquery.js create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/search.json create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/undocumented.json create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Classes.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Classes/AdjustmentControlView.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Classes/AdjustmentControlView/Variant.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Classes/BundleHelper.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Classes/CameraActionsView.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Classes/CameraBottomBar.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Classes/CameraButton.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Classes/CameraConfigurableActionView.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Classes/CameraController.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Classes/CameraController/FlashMode.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Classes/CameraController/FlashState.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Classes/CameraController/PointOfInterestOptions.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Classes/CameraView.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Classes/CameraViewController.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Classes/CarouselCollectionViewCell.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Classes/CarouselCollectionViewLayout.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Classes/CarouselItem.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Classes/CarouselView.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Classes/ControlSlider.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Classes/DefaultCarouselImageLoader.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Classes/EmptyItem.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Classes/FlashControlView.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Classes/FlashModeSelectionView.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Classes/ImagePreviewViewController.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Classes/KeyboardAccessoryViewProvider.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Classes/MediaPickerView.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Classes/MessageNotificationView.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Classes/PreviewViewController.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Classes/Recorder.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Classes/RingLightColorSelectionView.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Classes/RingLightColorSelectionViewCell.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Classes/RingLightGradientView.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Classes/RingLightView.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Classes/SnapAttributionView.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Classes/TapAnimationView.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Classes/UserDataProvider.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Classes/VideoPreviewViewController.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Enums.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Enums/CameraBottomBarElements.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Enums/CameraElements.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Enums/CameraElements/CameraFlip.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Enums/CarouselElements.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Enums/FlashControlElements.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Enums/MessageNotificationElements.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Enums/OtherElements.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Enums/PreviewElements.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Enums/SnapchatScreen.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Extensions.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Extensions/NSString.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Extensions/UIButton.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Extensions/UIColor.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Extensions/UIFont.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Extensions/UIImage.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Extensions/UILabel.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Functions.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Protocols.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Protocols/AdjustmentControlViewDelegate.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Protocols/AppOrientationDelegate.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Protocols/CameraButtonDelegate.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Protocols/CameraControllerUIDelegate.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Protocols/CarouselCollectionViewLayoutDataSource.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Protocols/CarouselCollectionViewLayoutDelegate.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Protocols/CarouselImageLoader.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Protocols/CarouselViewDataSource.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Protocols/CarouselViewDelegate.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Protocols/ControlSliderDelegate.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Protocols/FlashControlViewDelegate.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Protocols/FlashModeSelectionViewDelegate.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Protocols/MediaPickerViewDelegate.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Protocols/RingLightColorSelectionViewDelegate.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Protocols/SnapchatDelegate.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Protocols/TestableElement.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/badge.svg create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/css/highlight.css create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/css/jazzy.css create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Info.plist create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/AdjustmentControlView.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/AdjustmentControlView/Variant.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/BundleHelper.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/CameraActionsView.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/CameraBottomBar.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/CameraButton.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/CameraConfigurableActionView.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/CameraController.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/CameraController/FlashMode.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/CameraController/FlashState.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/CameraController/PointOfInterestOptions.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/CameraView.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/CameraViewController.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/CarouselCollectionViewCell.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/CarouselCollectionViewLayout.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/CarouselItem.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/CarouselView.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/ControlSlider.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/DefaultCarouselImageLoader.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/EmptyItem.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/FlashControlView.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/FlashModeSelectionView.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/ImagePreviewViewController.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/KeyboardAccessoryViewProvider.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/MediaPickerView.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/MessageNotificationView.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/PreviewViewController.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/Recorder.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/RingLightColorSelectionView.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/RingLightColorSelectionViewCell.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/RingLightGradientView.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/RingLightView.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/SnapAttributionView.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/TapAnimationView.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/UserDataProvider.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/VideoPreviewViewController.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Enums.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Enums/CameraBottomBarElements.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Enums/CameraElements.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Enums/CameraElements/CameraFlip.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Enums/CarouselElements.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Enums/FlashControlElements.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Enums/MessageNotificationElements.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Enums/OtherElements.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Enums/PreviewElements.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Enums/SnapchatScreen.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Extensions.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Extensions/NSString.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Extensions/UIButton.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Extensions/UIColor.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Extensions/UIFont.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Extensions/UIImage.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Extensions/UILabel.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Functions.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Protocols.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Protocols/AdjustmentControlViewDelegate.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Protocols/AppOrientationDelegate.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Protocols/CameraButtonDelegate.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Protocols/CameraControllerUIDelegate.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Protocols/CarouselCollectionViewLayoutDataSource.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Protocols/CarouselCollectionViewLayoutDelegate.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Protocols/CarouselImageLoader.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Protocols/CarouselViewDataSource.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Protocols/CarouselViewDelegate.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Protocols/ControlSliderDelegate.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Protocols/FlashControlViewDelegate.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Protocols/FlashModeSelectionViewDelegate.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Protocols/MediaPickerViewDelegate.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Protocols/RingLightColorSelectionViewDelegate.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Protocols/SnapchatDelegate.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Protocols/TestableElement.html create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/css/highlight.css create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/css/jazzy.css create mode 100755 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/img/carat.png create mode 100755 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/img/dash.png create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/img/spinner.gif create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/index.html create mode 100755 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/js/jazzy.js create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/js/jazzy.search.js create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/js/jquery.min.js create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/js/lunr.min.js create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/js/typeahead.jquery.js create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/search.json create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/docSet.dsidx create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.tgz create mode 100755 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/img/carat.png create mode 100755 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/img/dash.png create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/img/spinner.gif create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/index.html create mode 100755 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/js/jazzy.js create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/js/jazzy.search.js create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/js/jquery.min.js create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/js/lunr.min.js create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/js/typeahead.jquery.js create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/search.json create mode 100644 docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/undocumented.json create mode 100644 docs/api/ios/1.36.1/index.html diff --git a/CHANGELOG.md b/CHANGELOG.md index 0984239ba..f6d878b11 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,11 @@ and the Camera Kit SDK adheres to [Semantic Versioning](https://semver.org/spec/ ## [Unreleased] + +## [1.36.1] - 2024-11-22 +### Bug Fixes +- **iOS:** Fix for Lens Studio 5.3 support + ## [1.36.0] - 2024-11-14 ### Features diff --git a/README.md b/README.md index 2a7cdafb6..122754837 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,7 @@ > [!IMPORTANT] -> Camera Kit for iOS now supports Swift Package Manager and has a new home: https://github.com/Snapchat/camera-kit-ios-sdk +> Camera Kit iOS and Android have new homes: +> **iOS** (now supports Swift Package Manger): https://github.com/Snapchat/camera-kit-ios-sdk +> **Android**: https://github.com/Snapchat/camera-kit-android-sdk @@ -7,4 +9,4 @@
-This repository contains [documentation](./docs) as well as [sample applications](./samples) demonstrating how to integrate the 1.36.0 version of the [Camera Kit](https://kit.snapchat.com/camera-kit) SDK. +This repository contains [documentation](./docs) as well as [sample applications](./samples) demonstrating how to integrate the 1.36.1 version of the [Camera Kit](https://kit.snapchat.com/camera-kit) SDK. diff --git a/VERSION b/VERSION index 39fc130ef..f107550c2 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -1.36.0 +1.36.1 diff --git a/docs/api/README.md b/docs/api/README.md index 706d110f3..6c259a2bb 100644 --- a/docs/api/README.md +++ b/docs/api/README.md @@ -5,7 +5,7 @@ - [**Android**](./android/latest) - [**iOS**](./ios/latest) - -## 1.36.0 -- [**Android**](./android/1.36.0) -- [**iOS**](./ios/1.36.0) \ No newline at end of file + +## 1.36.1 +- [**Android**](./android/1.36.1) +- [**iOS**](./ios/1.36.1) \ No newline at end of file diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adaptive-tone-mapping-adjustment/-p-r-o-p-e-r-t-y_-a-m-o-u-n-t.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adaptive-tone-mapping-adjustment/-p-r-o-p-e-r-t-y_-a-m-o-u-n-t.html new file mode 100644 index 000000000..a6f1a2114 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adaptive-tone-mapping-adjustment/-p-r-o-p-e-r-t-y_-a-m-o-u-n-t.html @@ -0,0 +1,69 @@ + + + + + PROPERTY_AMOUNT + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

PROPERTY_AMOUNT

+
+ +
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adaptive-tone-mapping-adjustment/amount.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adaptive-tone-mapping-adjustment/amount.html new file mode 100644 index 000000000..8f28eafa5 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adaptive-tone-mapping-adjustment/amount.html @@ -0,0 +1,69 @@ + + + + + amount + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adaptive-tone-mapping-adjustment/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adaptive-tone-mapping-adjustment/index.html new file mode 100644 index 000000000..93dae859f --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adaptive-tone-mapping-adjustment/index.html @@ -0,0 +1,121 @@ + + + + + AdaptiveToneMappingAdjustment + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

AdaptiveToneMappingAdjustment

+

AdjustmentsComponent.Adjustment model which provides an image processing algorithm that remaps image color space to better highlight a person's face based on its skin tone.

Since

1.12.0

+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+ +
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

A set of properties which specify how this adjustment can be modified.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+ +
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adaptive-tone-mapping-adjustment/properties.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adaptive-tone-mapping-adjustment/properties.html new file mode 100644 index 000000000..8e16fa13c --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adaptive-tone-mapping-adjustment/properties.html @@ -0,0 +1,69 @@ + + + + + properties + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

properties

+
+

A set of properties which specify how this adjustment can be modified.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-adjustment/-controller/-noop/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-adjustment/-controller/-noop/index.html new file mode 100644 index 000000000..38ba797bf --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-adjustment/-controller/-noop/index.html @@ -0,0 +1,123 @@ + + + + + Noop + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Noop

+

Convenience implementation of Controller which does nothing.

+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun <T : Any> set(property: AdjustmentsComponent.Adjustment.Property<T>, value: T)

Attempts to set the provided property of an adjustment to the value.

+
+
+
+
+
+

Extensions

+
+
+
+
+ + +
Link copied to clipboard
+
+ +
+
+ +
+
+
+ + +
Link copied to clipboard
+
+ +
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-adjustment/-controller/-noop/set.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-adjustment/-controller/-noop/set.html new file mode 100644 index 000000000..16368dbe4 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-adjustment/-controller/-noop/set.html @@ -0,0 +1,69 @@ + + + + + set + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

set

+
+
open override fun <T : Any> set(property: AdjustmentsComponent.Adjustment.Property<T>, value: T)

Attempts to set the provided property of an adjustment to the value.

Throws

if property is not supported by the Adjustment that this controller is associated with.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-adjustment/-controller/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-adjustment/-controller/index.html new file mode 100644 index 000000000..ec2f818ec --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-adjustment/-controller/index.html @@ -0,0 +1,153 @@ + + + + + Controller + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Controller

+
interface Controller

Provides a way to modify Adjustment properties.

+
+
+
+
+

Types

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+

Convenience implementation of Controller which does nothing.

+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract fun <T : Any> set(property: AdjustmentsComponent.Adjustment.Property<T>, value: T)

Attempts to set the provided property of an adjustment to the value.

+
+
+
+
+
+

Inheritors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
+
+

Extensions

+
+
+
+
+ + +
Link copied to clipboard
+
+ +
+
+ +
+
+
+ + +
Link copied to clipboard
+
+ +
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-adjustment/-controller/set.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-adjustment/-controller/set.html new file mode 100644 index 000000000..9c3ac00ed --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-adjustment/-controller/set.html @@ -0,0 +1,69 @@ + + + + + set + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

set

+
+
abstract fun <T : Any> set(property: AdjustmentsComponent.Adjustment.Property<T>, value: T)

Attempts to set the provided property of an adjustment to the value.

Throws

if property is not supported by the Adjustment that this controller is associated with.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-adjustment/-property/id.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-adjustment/-property/id.html new file mode 100644 index 000000000..dfc545216 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-adjustment/-property/id.html @@ -0,0 +1,69 @@ + + + + + id + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

id

+
+
abstract val id: String

Non-empty identifier of a unique property.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-adjustment/-property/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-adjustment/-property/index.html new file mode 100644 index 000000000..ee8d4b784 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-adjustment/-property/index.html @@ -0,0 +1,91 @@ + + + + + Property + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Property

+
interface Property<T>

Represents a modifiable property exposed from a adjustment.

+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract val id: String

Non-empty identifier of a unique property.

+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-adjustment/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-adjustment/index.html new file mode 100644 index 000000000..8115a7092 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-adjustment/index.html @@ -0,0 +1,147 @@ + + + + + Adjustment + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Adjustment

+
interface Adjustment

Defines the data model of an adjustment that is available to be used by AdjustmentsComponent exposed features.

+
+
+
+
+

Types

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
interface Controller

Provides a way to modify Adjustment properties.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
interface Property<T>

Represents a modifiable property exposed from a adjustment.

+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+

A set of properties which specify how this adjustment can be modified.

+
+
+
+
+
+

Inheritors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-adjustment/properties.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-adjustment/properties.html new file mode 100644 index 000000000..e2ec89b4e --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-adjustment/properties.html @@ -0,0 +1,69 @@ + + + + + properties + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

properties

+
+

A set of properties which specify how this adjustment can be modified.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-noop/close.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-noop/close.html new file mode 100644 index 000000000..77718fab8 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-noop/close.html @@ -0,0 +1,69 @@ + + + + + close + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

close

+
+
open override fun close()

Closes all resources allocated for this AdjustmentsComponent. Overridden to indicate that calling close will not throw.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-noop/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-noop/index.html new file mode 100644 index 000000000..d3fc2ce68 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-noop/index.html @@ -0,0 +1,108 @@ + + + + + Noop + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Noop

+

Convenience implementation of AdjustmentsComponent that does nothing.

+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun close()

Closes all resources allocated for this AdjustmentsComponent. Overridden to indicate that calling close will not throw.

+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+

Provides adjustments specific Processor which allows to process image input with applied adjustments while rendering results to connected outputs. If this AdjustmentsComponent is closed then the returned Processor is expected to be no-op.

+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-noop/processor.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-noop/processor.html new file mode 100644 index 000000000..480b6e945 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-noop/processor.html @@ -0,0 +1,69 @@ + + + + + processor + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

processor

+
+

Provides adjustments specific Processor which allows to process image input with applied adjustments while rendering results to connected outputs. If this AdjustmentsComponent is closed then the returned Processor is expected to be no-op.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-noop/apply.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-noop/apply.html new file mode 100644 index 000000000..0acc3ed2f --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-noop/apply.html @@ -0,0 +1,69 @@ + + + + + apply + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

apply

+
+

Attempts to apply the provided adjustment model. The operation is async with the result provided as Result.Applied or Result.Unavailable to the callback.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-noop/available.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-noop/available.html new file mode 100644 index 000000000..d31c16ce8 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-noop/available.html @@ -0,0 +1,69 @@ + + + + + available + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

available

+
+
open override fun available(adjustment: AdjustmentsComponent.Adjustment, callback: Consumer<Boolean>)

Checks whether the provided adjustment is available to the current client environment. The result of the async operation is success if adjustment is available, false otherwise. If adjustment is not available, calls to apply will always lead to a Result.Unavailable.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-noop/connect-input.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-noop/connect-input.html new file mode 100644 index 000000000..e403abbdf --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-noop/connect-input.html @@ -0,0 +1,69 @@ + + + + + connectInput + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

connectInput

+
+
open override fun connectInput(input: ImageProcessor.Input): Closeable

Connects the provided input to this processor and returns a Closeable to release the connection when required. Normally, processing of the provided input starts instantly however certain processors may do it async so it is not guaranteed that any work will be done as soon as input is connected.

It is essential to manage the returned Closeable to avoid leaking resources.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-noop/connect-output.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-noop/connect-output.html new file mode 100644 index 000000000..04dce0fb9 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-noop/connect-output.html @@ -0,0 +1,69 @@ + + + + + connectOutput + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

connectOutput

+
+
open override fun connectOutput(output: ImageProcessor.Output): Closeable

Connects the provided output to this processor and returns a Closeable to release the connection when required. Similarly to connectInput, it is not guaranteed that the provided output will receive results as soon as it is connected, the processor may do it async.

It is essential to manage the returned Closeable to avoid leaking resources.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-noop/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-noop/index.html new file mode 100644 index 000000000..551a5c777 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-noop/index.html @@ -0,0 +1,166 @@ + + + + + Noop + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Noop

+

Convenience implementation of Processor that does nothing.

+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+

Attempts to apply the provided adjustment model. The operation is async with the result provided as Result.Applied or Result.Unavailable to the callback.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun available(adjustment: AdjustmentsComponent.Adjustment, callback: Consumer<Boolean>)

Checks whether the provided adjustment is available to the current client environment. The result of the async operation is success if adjustment is available, false otherwise. If adjustment is not available, calls to apply will always lead to a Result.Unavailable.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun connectInput(input: ImageProcessor.Input): Closeable

Connects the provided input to this processor and returns a Closeable to release the connection when required. Normally, processing of the provided input starts instantly however certain processors may do it async so it is not guaranteed that any work will be done as soon as input is connected.

Connects the provided input to this processor and returns a Closeable to release the connection when required. Normally, processing of the provided input starts instantly however certain processors may do it async so it is not guaranteed that any work will be done as soon as input is connected.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun connectOutput(output: ImageProcessor.Output): Closeable

Connects the provided output to this processor and returns a Closeable to release the connection when required. Similarly to connectInput, it is not guaranteed that the provided output will receive results as soon as it is connected, the processor may do it async.

Connects the provided output to this processor and returns a Closeable to release the connection when required. Similarly to connectInput, it is not guaranteed that the provided output will receive results as soon as it is connected, the processor may do it async.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Takes in onCapabilitiesRequested that will be notified when image processing operations require additional data from connected Input. Right after observeRequiredCapabilities is called onCapabilitiesRequested consumer will be invoked on the caller thread with the current set of required capabilities. emptySet is used to represent that additional capabilities aren't required.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun remove(adjustment: AdjustmentsComponent.Adjustment, callback: Consumer<Boolean>)

Removes the provided adjustment model, if applied. The result of the async operation is success if adjustment was removed or failure when there were was no Adjustment to be removed or operation failed to execute.

+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-noop/observe-required-capabilities.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-noop/observe-required-capabilities.html new file mode 100644 index 000000000..44397c620 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-noop/observe-required-capabilities.html @@ -0,0 +1,69 @@ + + + + + observeRequiredCapabilities + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

observeRequiredCapabilities

+
+

Takes in onCapabilitiesRequested that will be notified when image processing operations require additional data from connected Input. Right after observeRequiredCapabilities is called onCapabilitiesRequested consumer will be invoked on the caller thread with the current set of required capabilities. emptySet is used to represent that additional capabilities aren't required.

When capabilities are requested client can connect different Input which provides those capabilities, or ignore that request. In case the capabilities request is ignored some image processing functionality may not work.

It is essential to manage the returned Closeable to avoid leaking resources.

Since

1.6.0

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-noop/remove.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-noop/remove.html new file mode 100644 index 000000000..fdb1c2892 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-noop/remove.html @@ -0,0 +1,69 @@ + + + + + remove + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

remove

+
+
open override fun remove(adjustment: AdjustmentsComponent.Adjustment, callback: Consumer<Boolean>)

Removes the provided adjustment model, if applied. The result of the async operation is success if adjustment was removed or failure when there were was no Adjustment to be removed or operation failed to execute.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-result/-applied/-applied.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-result/-applied/-applied.html new file mode 100644 index 000000000..77a4534ab --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-result/-applied/-applied.html @@ -0,0 +1,69 @@ + + + + + Applied + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Applied

+
+ +
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-result/-applied/adjustment.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-result/-applied/adjustment.html new file mode 100644 index 000000000..2b5f29c30 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-result/-applied/adjustment.html @@ -0,0 +1,69 @@ + + + + + adjustment + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

adjustment

+
+ +
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-result/-applied/controller.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-result/-applied/controller.html new file mode 100644 index 000000000..fbc97a2a1 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-result/-applied/controller.html @@ -0,0 +1,69 @@ + + + + + controller + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-result/-applied/equals.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-result/-applied/equals.html new file mode 100644 index 000000000..18504541d --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-result/-applied/equals.html @@ -0,0 +1,69 @@ + + + + + equals + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

equals

+
+
open operator override fun equals(other: Any?): Boolean
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-result/-applied/hash-code.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-result/-applied/hash-code.html new file mode 100644 index 000000000..41188c215 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-result/-applied/hash-code.html @@ -0,0 +1,69 @@ + + + + + hashCode + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

hashCode

+
+
open override fun hashCode(): Int
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-result/-applied/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-result/-applied/index.html new file mode 100644 index 000000000..196f7ab7e --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-result/-applied/index.html @@ -0,0 +1,187 @@ + + + + + Applied + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Applied

+

The adjustment was successfully applied. The associated controller can be used to modify the adjustment's properties until it the adjustment is removed.

+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+ +
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open operator override fun equals(other: Any?): Boolean
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun hashCode(): Int
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun toString(): String
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+ +
+
+
+

Extensions

+ +
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-result/-applied/to-string.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-result/-applied/to-string.html new file mode 100644 index 000000000..5d21b8275 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-result/-applied/to-string.html @@ -0,0 +1,69 @@ + + + + + toString + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

toString

+
+
open override fun toString(): String
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-result/-unavailable/-unavailable.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-result/-unavailable/-unavailable.html new file mode 100644 index 000000000..2bc7adc81 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-result/-unavailable/-unavailable.html @@ -0,0 +1,69 @@ + + + + + Unavailable + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Unavailable

+
+ +
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-result/-unavailable/adjustment.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-result/-unavailable/adjustment.html new file mode 100644 index 000000000..65a14f657 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-result/-unavailable/adjustment.html @@ -0,0 +1,69 @@ + + + + + adjustment + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

adjustment

+
+ +
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-result/-unavailable/equals.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-result/-unavailable/equals.html new file mode 100644 index 000000000..1383a6037 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-result/-unavailable/equals.html @@ -0,0 +1,69 @@ + + + + + equals + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

equals

+
+
open operator override fun equals(other: Any?): Boolean
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-result/-unavailable/hash-code.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-result/-unavailable/hash-code.html new file mode 100644 index 000000000..e796b2afa --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-result/-unavailable/hash-code.html @@ -0,0 +1,69 @@ + + + + + hashCode + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

hashCode

+
+
open override fun hashCode(): Int
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-result/-unavailable/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-result/-unavailable/index.html new file mode 100644 index 000000000..283f8c704 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-result/-unavailable/index.html @@ -0,0 +1,172 @@ + + + + + Unavailable + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Unavailable

+

The adjustment could not be applied as it is unavailable or unsupported in the current client environment.

+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open operator override fun equals(other: Any?): Boolean
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun hashCode(): Int
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun toString(): String
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+

Extensions

+ +
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-result/-unavailable/to-string.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-result/-unavailable/to-string.html new file mode 100644 index 000000000..4f9a14004 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-result/-unavailable/to-string.html @@ -0,0 +1,69 @@ + + + + + toString + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

toString

+
+
open override fun toString(): String
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-result/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-result/index.html new file mode 100644 index 000000000..6c262f288 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-result/index.html @@ -0,0 +1,147 @@ + + + + + Result + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Result

+

Defines the possible outcomes of the apply operation.

+
+
+
+
+

Types

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+

The adjustment was successfully applied. The associated controller can be used to modify the adjustment's properties until it the adjustment is removed.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

The adjustment could not be applied as it is unavailable or unsupported in the current client environment.

+
+
+
+
+
+

Inheritors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
+
+

Extensions

+ +
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/apply.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/apply.html new file mode 100644 index 000000000..4bab48118 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/apply.html @@ -0,0 +1,69 @@ + + + + + apply + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

apply

+
+
abstract fun <T : AdjustmentsComponent.Adjustment> apply(adjustment: T, callback: Consumer<AdjustmentsComponent.Processor.Result<T>> = Consumer {})

Attempts to apply the provided adjustment model. The operation is async with the result provided as Result.Applied or Result.Unavailable to the callback.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/available.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/available.html new file mode 100644 index 000000000..49511c247 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/available.html @@ -0,0 +1,69 @@ + + + + + available + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

available

+
+
abstract fun available(adjustment: AdjustmentsComponent.Adjustment, callback: Consumer<Boolean>)

Checks whether the provided adjustment is available to the current client environment. The result of the async operation is success if adjustment is available, false otherwise. If adjustment is not available, calls to apply will always lead to a Result.Unavailable.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/index.html new file mode 100644 index 000000000..0718713f5 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/index.html @@ -0,0 +1,211 @@ + + + + + Processor + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Processor

+

Extension of ImageProcessor that allows to apply and remove adjustments on top of the incoming image input stream rendered to connected outputs.

+
+
+
+
+

Types

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+

Convenience implementation of Processor that does nothing.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Defines the possible outcomes of the apply operation.

+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract fun <T : AdjustmentsComponent.Adjustment> apply(adjustment: T, callback: Consumer<AdjustmentsComponent.Processor.Result<T>> = Consumer {})

Attempts to apply the provided adjustment model. The operation is async with the result provided as Result.Applied or Result.Unavailable to the callback.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract fun available(adjustment: AdjustmentsComponent.Adjustment, callback: Consumer<Boolean>)

Checks whether the provided adjustment is available to the current client environment. The result of the async operation is success if adjustment is available, false otherwise. If adjustment is not available, calls to apply will always lead to a Result.Unavailable.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Connects the provided input to this processor and returns a Closeable to release the connection when required. Normally, processing of the provided input starts instantly however certain processors may do it async so it is not guaranteed that any work will be done as soon as input is connected.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Connects the provided output to this processor and returns a Closeable to release the connection when required. Similarly to connectInput, it is not guaranteed that the provided output will receive results as soon as it is connected, the processor may do it async.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Takes in onCapabilitiesRequested that will be notified when image processing operations require additional data from connected Input. Right after observeRequiredCapabilities is called onCapabilitiesRequested consumer will be invoked on the caller thread with the current set of required capabilities. emptySet is used to represent that additional capabilities aren't required.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract fun remove(adjustment: AdjustmentsComponent.Adjustment, callback: Consumer<Boolean> = Consumer {})

Removes the provided adjustment model, if applied. The result of the async operation is success if adjustment was removed or failure when there were was no Adjustment to be removed or operation failed to execute.

+
+
+
+
+
+

Inheritors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/remove.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/remove.html new file mode 100644 index 000000000..f1927cd91 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/remove.html @@ -0,0 +1,69 @@ + + + + + remove + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

remove

+
+
abstract fun remove(adjustment: AdjustmentsComponent.Adjustment, callback: Consumer<Boolean> = Consumer {})

Removes the provided adjustment model, if applied. The result of the async operation is success if adjustment was removed or failure when there were was no Adjustment to be removed or operation failed to execute.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/close.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/close.html new file mode 100644 index 000000000..4785b5a82 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/close.html @@ -0,0 +1,69 @@ + + + + + close + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

close

+
+
abstract override fun close()

Closes all resources allocated for this AdjustmentsComponent. Overridden to indicate that calling close will not throw.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/index.html new file mode 100644 index 000000000..43bb47aa6 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/index.html @@ -0,0 +1,168 @@ + + + + + AdjustmentsComponent + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

AdjustmentsComponent

+

Provides access to all available features of adjustments. Normally, an instance of a component is acquired through com.snap.camerakit.Session which manages the lifecycle of the component.

Since

1.12.0

+
+
+
+
+

Types

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
interface Adjustment

Defines the data model of an adjustment that is available to be used by AdjustmentsComponent exposed features.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Convenience implementation of AdjustmentsComponent that does nothing.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Extension of ImageProcessor that allows to apply and remove adjustments on top of the incoming image input stream rendered to connected outputs.

+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract override fun close()

Closes all resources allocated for this AdjustmentsComponent. Overridden to indicate that calling close will not throw.

+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+

Provides adjustments specific Processor which allows to process image input with applied adjustments while rendering results to connected outputs. If this AdjustmentsComponent is closed then the returned Processor is expected to be no-op.

+
+
+
+
+
+

Inheritors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/processor.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/processor.html new file mode 100644 index 000000000..d04823d75 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/processor.html @@ -0,0 +1,69 @@ + + + + + processor + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

processor

+
+

Provides adjustments specific Processor which allows to process image input with applied adjustments while rendering results to connected outputs. If this AdjustmentsComponent is closed then the returned Processor is expected to be no-op.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-portrait-adjustment/-p-r-o-p-e-r-t-y_-b-l-u-r.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-portrait-adjustment/-p-r-o-p-e-r-t-y_-b-l-u-r.html new file mode 100644 index 000000000..3deb63307 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-portrait-adjustment/-p-r-o-p-e-r-t-y_-b-l-u-r.html @@ -0,0 +1,69 @@ + + + + + PROPERTY_BLUR + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

PROPERTY_BLUR

+
+ +
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-portrait-adjustment/blur.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-portrait-adjustment/blur.html new file mode 100644 index 000000000..810fcb776 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-portrait-adjustment/blur.html @@ -0,0 +1,69 @@ + + + + + blur + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-portrait-adjustment/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-portrait-adjustment/index.html new file mode 100644 index 000000000..f615cbaa3 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-portrait-adjustment/index.html @@ -0,0 +1,121 @@ + + + + + PortraitAdjustment + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

PortraitAdjustment

+

AdjustmentsComponent.Adjustment model which provides an image processing algorithm that adds a bokeh-like blur around a person subject.

Since

1.12.0

+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+ +
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

A set of properties which specify how this adjustment can be modified.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+ +
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-portrait-adjustment/properties.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-portrait-adjustment/properties.html new file mode 100644 index 000000000..968d156e2 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/-portrait-adjustment/properties.html @@ -0,0 +1,69 @@ + + + + + properties + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

properties

+
+

A set of properties which specify how this adjustment can be modified.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/index.html new file mode 100644 index 000000000..adb5325fa --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/index.html @@ -0,0 +1,137 @@ + + + + + com.snap.camerakit.adjustments + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Package-level declarations

+
+
+
+
+

Types

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+

AdjustmentsComponent.Adjustment model which provides an image processing algorithm that remaps image color space to better highlight a person's face based on its skin tone.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Provides access to all available features of adjustments. Normally, an instance of a component is acquired through com.snap.camerakit.Session which manages the lifecycle of the component.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

AdjustmentsComponent.Adjustment model which provides an image processing algorithm that adds a bokeh-like blur around a person subject.

+
+
+
+
+
+

Functions

+ +
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/when-applied.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/when-applied.html new file mode 100644 index 000000000..660fba5b2 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.adjustments/when-applied.html @@ -0,0 +1,69 @@ + + + + + whenApplied + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.common/-consumer/accept.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.common/-consumer/accept.html new file mode 100644 index 000000000..bd3642dec --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.common/-consumer/accept.html @@ -0,0 +1,69 @@ + + + + + accept + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

accept

+
+
abstract fun accept(t: T)

Consumes the given value of type T.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.common/-consumer/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.common/-consumer/index.html new file mode 100644 index 000000000..b5a8100ee --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.common/-consumer/index.html @@ -0,0 +1,126 @@ + + + + + Consumer + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Consumer

+
interface Consumer<T>

Convenience interface for cases where it is not possible to use neither Kotlin lambda nor Java8 functional interfaces to interact with CameraKit APIs.

+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract fun accept(t: T)
Consumes the given value of type T.
+
+
+
+
+
+

Inheritors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.common/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.common/index.html new file mode 100644 index 000000000..a339b08a6 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.common/index.html @@ -0,0 +1,90 @@ + + + + + com.snap.camerakit.common + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Package-level declarations

+
+
+
+
+

Types

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
interface Consumer<T>
Convenience interface for cases where it is not possible to use neither Kotlin lambda nor Java8 functional interfaces to interact with CameraKit APIs.
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-l-e-n-s_-g-r-o-u-p_-i-d_-b-u-n-d-l-e-d.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-l-e-n-s_-g-r-o-u-p_-i-d_-b-u-n-d-l-e-d.html new file mode 100644 index 000000000..150267bde --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-l-e-n-s_-g-r-o-u-p_-i-d_-b-u-n-d-l-e-d.html @@ -0,0 +1,69 @@ + + + + + LENS_GROUP_ID_BUNDLED + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

LENS_GROUP_ID_BUNDLED

+
+

Identifies bundled lens group which which is optionally provided to CameraKit from assets.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-audio/-adjustment/-volume/-mute/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-audio/-adjustment/-volume/-mute/index.html new file mode 100644 index 000000000..61e145961 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-audio/-adjustment/-volume/-mute/index.html @@ -0,0 +1,91 @@ + + + + + Mute + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Mute

+

Turns off lenses audio output.

+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun toString(): String
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-audio/-adjustment/-volume/-mute/to-string.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-audio/-adjustment/-volume/-mute/to-string.html new file mode 100644 index 000000000..6c34cd61a --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-audio/-adjustment/-volume/-mute/to-string.html @@ -0,0 +1,69 @@ + + + + + toString + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

toString

+
+
open override fun toString(): String
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-audio/-adjustment/-volume/-un-mute/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-audio/-adjustment/-volume/-un-mute/index.html new file mode 100644 index 000000000..7f012266a --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-audio/-adjustment/-volume/-un-mute/index.html @@ -0,0 +1,91 @@ + + + + + UnMute + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

UnMute

+

Turns on lenses output output.

+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun toString(): String
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-audio/-adjustment/-volume/-un-mute/to-string.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-audio/-adjustment/-volume/-un-mute/to-string.html new file mode 100644 index 000000000..6051b33d5 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-audio/-adjustment/-volume/-un-mute/to-string.html @@ -0,0 +1,69 @@ + + + + + toString + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

toString

+
+
open override fun toString(): String
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-audio/-adjustment/-volume/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-audio/-adjustment/-volume/index.html new file mode 100644 index 000000000..52a0331d3 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-audio/-adjustment/-volume/index.html @@ -0,0 +1,130 @@ + + + + + Volume + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Volume

+

Defines all adjustments for lenses sound volume.

+
+
+
+
+

Types

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+

Turns off lenses audio output.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Turns on lenses output output.

+
+
+
+
+
+

Inheritors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-audio/-adjustment/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-audio/-adjustment/index.html new file mode 100644 index 000000000..ed4ddd336 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-audio/-adjustment/index.html @@ -0,0 +1,104 @@ + + + + + Adjustment + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Adjustment

+
sealed class Adjustment

Defines all possible ways to adjust lenses audio state.

+
+
+
+
+

Types

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+

Defines all adjustments for lenses sound volume.

+
+
+
+
+
+

Inheritors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-audio/-noop/adjust.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-audio/-noop/adjust.html new file mode 100644 index 000000000..0ed0065da --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-audio/-noop/adjust.html @@ -0,0 +1,69 @@ + + + + + adjust + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

adjust

+
+
open override fun adjust(adjustment: LensesComponent.Audio.Adjustment, callback: Consumer<Boolean>)

Adjusts lenses audio state using an adjustment value. The operation is async with the result provided as success or failure flag to the callback.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-audio/-noop/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-audio/-noop/index.html new file mode 100644 index 000000000..5af91967d --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-audio/-noop/index.html @@ -0,0 +1,91 @@ + + + + + Noop + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Noop

+ +
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun adjust(adjustment: LensesComponent.Audio.Adjustment, callback: Consumer<Boolean>)

Adjusts lenses audio state using an adjustment value. The operation is async with the result provided as success or failure flag to the callback.

+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-audio/adjust.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-audio/adjust.html new file mode 100644 index 000000000..20f674adb --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-audio/adjust.html @@ -0,0 +1,69 @@ + + + + + adjust + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

adjust

+
+
abstract fun adjust(adjustment: LensesComponent.Audio.Adjustment, callback: Consumer<Boolean> = Consumer {})

Adjusts lenses audio state using an adjustment value. The operation is async with the result provided as success or failure flag to the callback.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-audio/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-audio/index.html new file mode 100644 index 000000000..56c82f473 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-audio/index.html @@ -0,0 +1,136 @@ + + + + + Audio + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Audio

+
interface Audio

Provides control over the lenses audio.

Since

1.8.0

+
+
+
+
+

Types

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
sealed class Adjustment

Defines all possible ways to adjust lenses audio state.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract fun adjust(adjustment: LensesComponent.Audio.Adjustment, callback: Consumer<Boolean> = Consumer {})

Adjusts lenses audio state using an adjustment value. The operation is async with the result provided as success or failure flag to the callback.

+
+
+
+
+
+

Inheritors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-builder/attach-widgets-to.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-builder/attach-widgets-to.html new file mode 100644 index 000000000..2f8da509d --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-builder/attach-widgets-to.html @@ -0,0 +1,69 @@ + + + + + attachWidgetsTo + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

attachWidgetsTo

+
+

Uses the provided viewStub to inflate view hierarchy of the lens widgets (like media picker) which otherwise appear above the lenses carousel.

Since

1.7.0

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-builder/build.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-builder/build.html new file mode 100644 index 000000000..55d590ff4 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-builder/build.html @@ -0,0 +1,69 @@ + + + + + build + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

build

+
+

Builds an instance of LensesComponent with the configuration of this builder and starts the internal lifecycle which can be disposed by calling LensesComponent.close.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-builder/configure-cache.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-builder/configure-cache.html new file mode 100644 index 000000000..33f5d47f2 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-builder/configure-cache.html @@ -0,0 +1,69 @@ + + + + + configureCache + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

configureCache

+
+

Allows to configure lenses cache by receiving Cache.Configuration in the provided Consumer.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-builder/configure-carousel.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-builder/configure-carousel.html new file mode 100644 index 000000000..3ba6cf139 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-builder/configure-carousel.html @@ -0,0 +1,69 @@ + + + + + configureCarousel + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

configureCarousel

+
+

Allows to enable and configure lenses carousel feature by receiving Carousel.Configuration in the provided Consumer.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-builder/configure-hints.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-builder/configure-hints.html new file mode 100644 index 000000000..ca7a1b5f6 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-builder/configure-hints.html @@ -0,0 +1,69 @@ + + + + + configureHints + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

configureHints

+
+

Allows to enable and configure lens hints feature by receiving Hints.Configuration in the provided Consumer.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-builder/configure-loading-overlay.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-builder/configure-loading-overlay.html new file mode 100644 index 000000000..bc21206c0 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-builder/configure-loading-overlay.html @@ -0,0 +1,69 @@ + + + + + configureLoadingOverlay + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

configureLoadingOverlay

+
+

Allows to enable and configure lens loading overlay feature by receiving LoadingOverlay.Configuration in the provided Consumer.

Since

1.5.4

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-builder/configure-media-picker.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-builder/configure-media-picker.html new file mode 100644 index 000000000..dd5882579 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-builder/configure-media-picker.html @@ -0,0 +1,69 @@ + + + + + configureMediaPicker + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

configureMediaPicker

+
+

Allows to enable and configure lens media picker feature by receiving MediaPicker.Configuration in the provided Consumer.

Since

1.6.0

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-builder/configure-processor.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-builder/configure-processor.html new file mode 100644 index 000000000..8cbec915d --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-builder/configure-processor.html @@ -0,0 +1,69 @@ + + + + + configureProcessor + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

configureProcessor

+
+

Allows to configure lenses processor by receiving Processor.Configuration in the provided Consumer.

Since

1.4.0

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-builder/dispatch-touch-events-to.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-builder/dispatch-touch-events-to.html new file mode 100644 index 000000000..f75a0fb2d --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-builder/dispatch-touch-events-to.html @@ -0,0 +1,69 @@ + + + + + dispatchTouchEventsTo + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

dispatchTouchEventsTo

+
+

Allows to receive touch events that were not handled by LensesComponent, if any views are configured to be shown, see com.snap.camerakit.Session.Builder.imageProcessorSource.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-builder/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-builder/index.html new file mode 100644 index 000000000..ca825b806 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-builder/index.html @@ -0,0 +1,226 @@ + + + + + Builder + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Builder

+
interface Builder
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+

Uses the provided viewStub to inflate view hierarchy of the lens widgets (like media picker) which otherwise appear above the lenses carousel.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Builds an instance of LensesComponent with the configuration of this builder and starts the internal lifecycle which can be disposed by calling LensesComponent.close.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Allows to configure lenses cache by receiving Cache.Configuration in the provided Consumer.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Allows to enable and configure lenses carousel feature by receiving Carousel.Configuration in the provided Consumer.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Allows to enable and configure lens hints feature by receiving Hints.Configuration in the provided Consumer.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Allows to enable and configure lens loading overlay feature by receiving LoadingOverlay.Configuration in the provided Consumer.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Allows to enable and configure lens media picker feature by receiving MediaPicker.Configuration in the provided Consumer.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Allows to configure lenses processor by receiving Processor.Configuration in the provided Consumer.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Allows to receive touch events that were not handled by LensesComponent, if any views are configured to be shown, see com.snap.camerakit.Session.Builder.imageProcessorSource.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Allows to provide a RemoteApiService.Factory called per each lifecycle of a lens which sends requests to a remote API service.

+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-builder/remote-api-service-factory.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-builder/remote-api-service-factory.html new file mode 100644 index 000000000..9a3ba64bb --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-builder/remote-api-service-factory.html @@ -0,0 +1,69 @@ + + + + + remoteApiServiceFactory + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

remoteApiServiceFactory

+
+

Allows to provide a RemoteApiService.Factory called per each lifecycle of a lens which sends requests to a remote API service.

Since

1.13.0

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-cache/-configuration/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-cache/-configuration/index.html new file mode 100644 index 000000000..5de8dae9f --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-cache/-configuration/index.html @@ -0,0 +1,91 @@ + + + + + Configuration + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Configuration

+
interface Configuration

Exposes configuration options available to lenses cache.

+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract var lensContentMaxSize: Long

Maximum size for cached lenses content, in bytes.

+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-cache/-configuration/lens-content-max-size.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-cache/-configuration/lens-content-max-size.html new file mode 100644 index 000000000..349e53738 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-cache/-configuration/lens-content-max-size.html @@ -0,0 +1,69 @@ + + + + + lensContentMaxSize + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

lensContentMaxSize

+
+
abstract var lensContentMaxSize: Long

Maximum size for cached lenses content, in bytes.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-cache/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-cache/index.html new file mode 100644 index 000000000..17c278106 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-cache/index.html @@ -0,0 +1,91 @@ + + + + + Cache + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Cache

+
interface Cache

Provides ability to interact with lenses content cache used by LensesComponent.

+
+
+
+
+

Types

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
interface Configuration

Exposes configuration options available to lenses cache.

+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-configuration/activate-idle.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-configuration/activate-idle.html new file mode 100644 index 000000000..9f9c92fe8 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-configuration/activate-idle.html @@ -0,0 +1,69 @@ + + + + + activateIdle + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

activateIdle

+
+
abstract var activateIdle: Boolean

Deprecated

Idle state can be disabled using 'disableIdle' which makes this option lose it's actual meaning, please use 'activateOnStart' instead

Replace with

activateOnStart

By default, carousel reacts to interactions of processor and displays any applied lens as selected, while this option enables carousel to start in the idle state where no lens is yet applied and selected.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-configuration/activate-on-start.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-configuration/activate-on-start.html new file mode 100644 index 000000000..9011be84a --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-configuration/activate-on-start.html @@ -0,0 +1,69 @@ + + + + + activateOnStart + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

activateOnStart

+
+
abstract var activateOnStart: Boolean

By default, carousel reacts to interactions of processor and displays any applied lens as selected, while this option enables carousel to start in an activated state - idle or with a lens selected if disableIdle is true.

Since

1.6.0

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-configuration/activate-on-tap.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-configuration/activate-on-tap.html new file mode 100644 index 000000000..95db51c9f --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-configuration/activate-on-tap.html @@ -0,0 +1,69 @@ + + + + + activateOnTap + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

activateOnTap

+
+
abstract var activateOnTap: Boolean

Enables activation of lenses carousel by a tap gesture on the root view that the CameraKit views are inflated to. True by default and activate only when lenses carousel is deactivated.

Since

1.4.0

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-configuration/attach-view-to.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-configuration/attach-view-to.html new file mode 100644 index 000000000..4e673f88d --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-configuration/attach-view-to.html @@ -0,0 +1,69 @@ + + + + + attachViewTo + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

attachViewTo

+
+
abstract fun attachViewTo(layoutPlacement: LensesComponent.Carousel.LayoutPlacement, onViewStub: Consumer<ViewStub>)

Allows placing of views relative to the carousel based on a given LayoutPlacement. When a ViewStub has been attached to the carousel, the Consumer will provide that available ViewStub to inflate the views into.

Since

1.11.0

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-configuration/close-button-enabled.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-configuration/close-button-enabled.html new file mode 100644 index 000000000..fd36c5f89 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-configuration/close-button-enabled.html @@ -0,0 +1,69 @@ + + + + + closeButtonEnabled + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

closeButtonEnabled

+
+

Sets whether the carousel close button should be visible and operational or completely disabled, invisible.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-configuration/close-button-margin-bottom-dimen-res.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-configuration/close-button-margin-bottom-dimen-res.html new file mode 100644 index 000000000..6e1a6bcd4 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-configuration/close-button-margin-bottom-dimen-res.html @@ -0,0 +1,69 @@ + + + + + closeButtonMarginBottomDimenRes + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

closeButtonMarginBottomDimenRes

+
+

Sets the carousel close button bottom margin to the value of provided dimension resource. This parameter has no effect if closeButtonEnabled value is false. This parameter has no effect if custom view is set.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-configuration/configure-each-item.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-configuration/configure-each-item.html new file mode 100644 index 000000000..615dcd0b5 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-configuration/configure-each-item.html @@ -0,0 +1,69 @@ + + + + + configureEachItem + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

configureEachItem

+
+

Allows to configure each lenses carousel item by receiving ItemOptions in the provided Consumer.

Since

1.4.0

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-configuration/deactivate-on-close.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-configuration/deactivate-on-close.html new file mode 100644 index 000000000..aefbc2ace --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-configuration/deactivate-on-close.html @@ -0,0 +1,69 @@ + + + + + deactivateOnClose + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

deactivateOnClose

+
+

Enables deactivation of lenses carousel by clicking on close button when closeButtonEnabled is true. False by default, meaning that a click on the close button resets lenses carousel to idle, no lens selected state.

Since

1.4.0

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-configuration/disable-idle.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-configuration/disable-idle.html new file mode 100644 index 000000000..117df7443 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-configuration/disable-idle.html @@ -0,0 +1,69 @@ + + + + + disableIdle + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

disableIdle

+
+
abstract var disableIdle: Boolean

Disables presentation of the idle state - an empty item which can be selected to remove any previously applied lens.

Since

1.6.0

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-configuration/enabled.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-configuration/enabled.html new file mode 100644 index 000000000..d01df428f --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-configuration/enabled.html @@ -0,0 +1,69 @@ + + + + + enabled + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

enabled

+
+
abstract var enabled: Boolean

True if carousel feature should be enabled. Typically, it is True when observedGroupIds is not empty, False otherwise.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-configuration/height-dimen-res.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-configuration/height-dimen-res.html new file mode 100644 index 000000000..789c7f870 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-configuration/height-dimen-res.html @@ -0,0 +1,69 @@ + + + + + heightDimenRes + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

heightDimenRes

+
+
abstract var heightDimenRes: Int?

Sets the carousel height to the value of provided dimension resource. This parameter has no effect if custom view is set.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-configuration/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-configuration/index.html new file mode 100644 index 000000000..3c7e87ec2 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-configuration/index.html @@ -0,0 +1,348 @@ + + + + + Configuration + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Configuration

+
interface Configuration

Exposes configuration options available to lenses carousel feature.

+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract fun attachViewTo(layoutPlacement: LensesComponent.Carousel.LayoutPlacement, onViewStub: Consumer<ViewStub>)

Allows placing of views relative to the carousel based on a given LayoutPlacement. When a ViewStub has been attached to the carousel, the Consumer will provide that available ViewStub to inflate the views into.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Allows to configure each lenses carousel item by receiving ItemOptions in the provided Consumer.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract var activateIdle: Boolean

By default, carousel reacts to interactions of processor and displays any applied lens as selected, while this option enables carousel to start in the idle state where no lens is yet applied and selected.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract var activateOnStart: Boolean

By default, carousel reacts to interactions of processor and displays any applied lens as selected, while this option enables carousel to start in an activated state - idle or with a lens selected if disableIdle is true.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract var activateOnTap: Boolean

Enables activation of lenses carousel by a tap gesture on the root view that the CameraKit views are inflated to. True by default and activate only when lenses carousel is deactivated.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Sets whether the carousel close button should be visible and operational or completely disabled, invisible.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Sets the carousel close button bottom margin to the value of provided dimension resource. This parameter has no effect if closeButtonEnabled value is false. This parameter has no effect if custom view is set.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Enables deactivation of lenses carousel by clicking on close button when closeButtonEnabled is true. False by default, meaning that a click on the close button resets lenses carousel to idle, no lens selected state.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract var disableIdle: Boolean

Disables presentation of the idle state - an empty item which can be selected to remove any previously applied lens.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract var enabled: Boolean

True if carousel feature should be enabled. Typically, it is True when observedGroupIds is not empty, False otherwise.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract var heightDimenRes: Int?

Sets the carousel height to the value of provided dimension resource. This parameter has no effect if custom view is set.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract var marginBottomDimenRes: Int?

Sets the carousel bottom margin to the value of provided dimension resource. This parameter has no effect if custom view is set.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract var observedGroupIds: Set<String>

Uses the provided observedGroupIds to present lenses in carousel. If observedGroupIds is empty (default) then the carousel feature is considered to be disabled, any interaction with Carousel is no-op.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Allows to asynchronously provide lens group IDs to present lenses in carousel. By default, the observedGroupIdsProvider is backed by a Callable which returns the observedGroupIds set as is, however, if custom observedGroupIdsProvider is supplied, then its results are merged with the observedGroupIds to a final set of lens groups that appear in the carousel. Any Exception thrown in the provided observedGroupIdsProvider is suppressed resulting in only the observedGroupIds used as the final set of group IDs that appear in the carousel.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Sets the carousel bottom padding to the value of provided dimension resource. This parameter has no effect if custom view is set.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract var paddingTopDimenRes: Int?

Sets the carousel top padding to the value of provided dimension resource. This parameter has no effect if custom view is set.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Custom implementation of Carousel.View to be used as a delegate to show and hide lenses carousel. By default, the internal carousel view implementation is used.

+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-configuration/margin-bottom-dimen-res.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-configuration/margin-bottom-dimen-res.html new file mode 100644 index 000000000..2ecd756c2 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-configuration/margin-bottom-dimen-res.html @@ -0,0 +1,69 @@ + + + + + marginBottomDimenRes + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

marginBottomDimenRes

+
+
abstract var marginBottomDimenRes: Int?

Sets the carousel bottom margin to the value of provided dimension resource. This parameter has no effect if custom view is set.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-configuration/observe-group-ids.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-configuration/observe-group-ids.html new file mode 100644 index 000000000..a5b2d8e92 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-configuration/observe-group-ids.html @@ -0,0 +1,69 @@ + + + + + observeGroupIds + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

observeGroupIds

+
+ +
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-configuration/observed-group-ids-provider.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-configuration/observed-group-ids-provider.html new file mode 100644 index 000000000..e4eeeef2c --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-configuration/observed-group-ids-provider.html @@ -0,0 +1,69 @@ + + + + + observedGroupIdsProvider + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

observedGroupIdsProvider

+
+

Allows to asynchronously provide lens group IDs to present lenses in carousel. By default, the observedGroupIdsProvider is backed by a Callable which returns the observedGroupIds set as is, however, if custom observedGroupIdsProvider is supplied, then its results are merged with the observedGroupIds to a final set of lens groups that appear in the carousel. Any Exception thrown in the provided observedGroupIdsProvider is suppressed resulting in only the observedGroupIds used as the final set of group IDs that appear in the carousel.

Since

1.7.0

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-configuration/observed-group-ids.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-configuration/observed-group-ids.html new file mode 100644 index 000000000..adec52a85 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-configuration/observed-group-ids.html @@ -0,0 +1,69 @@ + + + + + observedGroupIds + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

observedGroupIds

+
+
abstract var observedGroupIds: Set<String>

Uses the provided observedGroupIds to present lenses in carousel. If observedGroupIds is empty (default) then the carousel feature is considered to be disabled, any interaction with Carousel is no-op.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-configuration/padding-bottom-dimen-res.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-configuration/padding-bottom-dimen-res.html new file mode 100644 index 000000000..ca71dfa68 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-configuration/padding-bottom-dimen-res.html @@ -0,0 +1,69 @@ + + + + + paddingBottomDimenRes + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

paddingBottomDimenRes

+
+

Sets the carousel bottom padding to the value of provided dimension resource. This parameter has no effect if custom view is set.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-configuration/padding-top-dimen-res.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-configuration/padding-top-dimen-res.html new file mode 100644 index 000000000..e3878944a --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-configuration/padding-top-dimen-res.html @@ -0,0 +1,69 @@ + + + + + paddingTopDimenRes + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

paddingTopDimenRes

+
+
abstract var paddingTopDimenRes: Int?

Sets the carousel top padding to the value of provided dimension resource. This parameter has no effect if custom view is set.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-configuration/view.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-configuration/view.html new file mode 100644 index 000000000..1953f18c6 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-configuration/view.html @@ -0,0 +1,69 @@ + + + + + view + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

view

+
+

Custom implementation of Carousel.View to be used as a delegate to show and hide lenses carousel. By default, the internal carousel view implementation is used.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-event/-activated/-idle/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-event/-activated/-idle/index.html new file mode 100644 index 000000000..58c089826 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-event/-activated/-idle/index.html @@ -0,0 +1,153 @@ + + + + + Idle + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Idle

+

Emitted when lenses carousel is activated without a lens selected.

+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun toString(): String
+
+
+
+
+
+

Extensions

+ +
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-event/-activated/-idle/to-string.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-event/-activated/-idle/to-string.html new file mode 100644 index 000000000..7ea17f312 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-event/-activated/-idle/to-string.html @@ -0,0 +1,69 @@ + + + + + toString + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

toString

+
+
open override fun toString(): String
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-event/-activated/-with-lens/-with-lens.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-event/-activated/-with-lens/-with-lens.html new file mode 100644 index 000000000..c7daa5623 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-event/-activated/-with-lens/-with-lens.html @@ -0,0 +1,69 @@ + + + + + WithLens + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

WithLens

+
+ +
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-event/-activated/-with-lens/equals.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-event/-activated/-with-lens/equals.html new file mode 100644 index 000000000..a51831c54 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-event/-activated/-with-lens/equals.html @@ -0,0 +1,69 @@ + + + + + equals + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

equals

+
+
open operator override fun equals(other: Any?): Boolean
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-event/-activated/-with-lens/hash-code.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-event/-activated/-with-lens/hash-code.html new file mode 100644 index 000000000..c65c15ece --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-event/-activated/-with-lens/hash-code.html @@ -0,0 +1,69 @@ + + + + + hashCode + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

hashCode

+
+
open override fun hashCode(): Int
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-event/-activated/-with-lens/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-event/-activated/-with-lens/index.html new file mode 100644 index 000000000..3be1651f2 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-event/-activated/-with-lens/index.html @@ -0,0 +1,217 @@ + + + + + WithLens + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

WithLens

+

Emitted when lenses carousel is activated with a lens selected.

+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open operator override fun equals(other: Any?): Boolean
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun hashCode(): Int
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun toString(): String
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+
+

Extensions

+ +
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-event/-activated/-with-lens/lens.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-event/-activated/-with-lens/lens.html new file mode 100644 index 000000000..f747f614b --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-event/-activated/-with-lens/lens.html @@ -0,0 +1,69 @@ + + + + + lens + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

lens

+
+ +
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-event/-activated/-with-lens/to-string.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-event/-activated/-with-lens/to-string.html new file mode 100644 index 000000000..c81032e0b --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-event/-activated/-with-lens/to-string.html @@ -0,0 +1,69 @@ + + + + + toString + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

toString

+
+
open override fun toString(): String
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-event/-activated/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-event/-activated/index.html new file mode 100644 index 000000000..7e2c5581d --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-event/-activated/index.html @@ -0,0 +1,192 @@ + + + + + Activated + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Activated

+

Emitted when lenses carousel is activated or, in other words, visible to user.

+
+
+
+
+

Types

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+

Emitted when lenses carousel is activated without a lens selected.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Emitted when lenses carousel is activated with a lens selected.

+
+
+
+
+
+

Inheritors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
+
+

Extensions

+ +
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-event/-deactivated/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-event/-deactivated/index.html new file mode 100644 index 000000000..22d885d17 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-event/-deactivated/index.html @@ -0,0 +1,153 @@ + + + + + Deactivated + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Deactivated

+

Emitted when lenses carousel is deactivated or, in other words, not visible to user.

+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun toString(): String
+
+
+
+
+
+

Extensions

+ +
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-event/-deactivated/to-string.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-event/-deactivated/to-string.html new file mode 100644 index 000000000..0127a76cc --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-event/-deactivated/to-string.html @@ -0,0 +1,69 @@ + + + + + toString + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

toString

+
+
open override fun toString(): String
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-event/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-event/index.html new file mode 100644 index 000000000..57ed1b719 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-event/index.html @@ -0,0 +1,192 @@ + + + + + Event + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Event

+
sealed class Event

All lenses carousel lifecycle events available to observe.

Since

1.4.0

+
+
+
+
+

Types

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+

Emitted when lenses carousel is activated or, in other words, visible to user.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Emitted when lenses carousel is deactivated or, in other words, not visible to user.

+
+
+
+
+
+

Inheritors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
+
+

Extensions

+ +
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-item-options/--index--.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-item-options/--index--.html new file mode 100644 index 000000000..717278202 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-item-options/--index--.html @@ -0,0 +1,69 @@ + + + + + index + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

index

+
+
abstract var index: Int

Absolute position of this item in the lenses list. Can be modified to any positive number that represents distance to the center of lenses carousel relative to the item's side.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-item-options/content-description.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-item-options/content-description.html new file mode 100644 index 000000000..218a98a2a --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-item-options/content-description.html @@ -0,0 +1,69 @@ + + + + + contentDescription + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

contentDescription

+
+

Brief description of this item that is primarily used for accessibility support. By default it is equal to `Lens.name Lens' if lens name is not empty, empty string otherwise.

Since

1.6.0

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-item-options/enabled.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-item-options/enabled.html new file mode 100644 index 000000000..ec636a067 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-item-options/enabled.html @@ -0,0 +1,69 @@ + + + + + enabled + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

enabled

+
+
abstract var enabled: Boolean

Specifies if this item should be presented in lenses carousel, true by default.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-item-options/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-item-options/index.html new file mode 100644 index 000000000..808fb257d --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-item-options/index.html @@ -0,0 +1,198 @@ + + + + + ItemOptions + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

ItemOptions

+
interface ItemOptions

Represents options to customize lenses carousel item appearance.

Since

1.4.0

+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open fun moveToLeft()

Specifies that this item should be presented on the left side of lenses carousel.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open fun moveToRight()

Specifies that this item should be presented on the right side of lenses carousel.

+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+

Brief description of this item that is primarily used for accessibility support. By default it is equal to `Lens.name Lens' if lens name is not empty, empty string otherwise.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract var enabled: Boolean

Specifies if this item should be presented in lenses carousel, true by default.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract var index: Int

Absolute position of this item in the lenses list. Can be modified to any positive number that represents distance to the center of lenses carousel relative to the item's side.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Lens model that represents this item.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Full list of available lenses that the item's lens belongs to.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Specifies the side of lenses carousel this item should be presented in, typically Side.RIGHT.

+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-item-options/lens.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-item-options/lens.html new file mode 100644 index 000000000..6dcee3974 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-item-options/lens.html @@ -0,0 +1,69 @@ + + + + + lens + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

lens

+
+

Lens model that represents this item.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-item-options/lenses.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-item-options/lenses.html new file mode 100644 index 000000000..ae0e8d6ce --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-item-options/lenses.html @@ -0,0 +1,69 @@ + + + + + lenses + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

lenses

+
+

Full list of available lenses that the item's lens belongs to.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-item-options/move-to-left.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-item-options/move-to-left.html new file mode 100644 index 000000000..976d94e5a --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-item-options/move-to-left.html @@ -0,0 +1,69 @@ + + + + + moveToLeft + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

moveToLeft

+
+
open fun moveToLeft()

Specifies that this item should be presented on the left side of lenses carousel.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-item-options/move-to-right.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-item-options/move-to-right.html new file mode 100644 index 000000000..141be15e1 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-item-options/move-to-right.html @@ -0,0 +1,69 @@ + + + + + moveToRight + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

moveToRight

+
+
open fun moveToRight()

Specifies that this item should be presented on the right side of lenses carousel.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-item-options/side.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-item-options/side.html new file mode 100644 index 000000000..b54d5dba9 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-item-options/side.html @@ -0,0 +1,69 @@ + + + + + side + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

side

+
+

Specifies the side of lenses carousel this item should be presented in, typically Side.RIGHT.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-layout-placement/-above/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-layout-placement/-above/index.html new file mode 100644 index 000000000..49189ffff --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-layout-placement/-above/index.html @@ -0,0 +1,91 @@ + + + + + Above + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Above

+

Placement for attaching above the lens carousel.

+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun toString(): String
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-layout-placement/-above/to-string.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-layout-placement/-above/to-string.html new file mode 100644 index 000000000..54fbc029b --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-layout-placement/-above/to-string.html @@ -0,0 +1,69 @@ + + + + + toString + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

toString

+
+
open override fun toString(): String
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-layout-placement/-behind/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-layout-placement/-behind/index.html new file mode 100644 index 000000000..374d2ad8f --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-layout-placement/-behind/index.html @@ -0,0 +1,91 @@ + + + + + Behind + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Behind

+

Placement for attaching behind the lens carousel.

+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun toString(): String
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-layout-placement/-behind/to-string.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-layout-placement/-behind/to-string.html new file mode 100644 index 000000000..55a1fcfa8 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-layout-placement/-behind/to-string.html @@ -0,0 +1,69 @@ + + + + + toString + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

toString

+
+
open override fun toString(): String
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-layout-placement/-in-front/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-layout-placement/-in-front/index.html new file mode 100644 index 000000000..d23b0df76 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-layout-placement/-in-front/index.html @@ -0,0 +1,91 @@ + + + + + InFront + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

InFront

+

Placement for attaching in front of the lens carousel.

+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun toString(): String
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-layout-placement/-in-front/to-string.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-layout-placement/-in-front/to-string.html new file mode 100644 index 000000000..2652b03ab --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-layout-placement/-in-front/to-string.html @@ -0,0 +1,69 @@ + + + + + toString + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

toString

+
+
open override fun toString(): String
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-layout-placement/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-layout-placement/index.html new file mode 100644 index 000000000..ef62a32e1 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-layout-placement/index.html @@ -0,0 +1,156 @@ + + + + + LayoutPlacement + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

LayoutPlacement

+
sealed class LayoutPlacement

Describes directional placement relative to the lens carousel.

Since

1.11.0

+
+
+
+
+

Types

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+

Placement for attaching above the lens carousel.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Placement for attaching behind the lens carousel.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Placement for attaching in front of the lens carousel.

+
+
+
+
+
+

Inheritors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-noop/activate.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-noop/activate.html new file mode 100644 index 000000000..5afe50ff3 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-noop/activate.html @@ -0,0 +1,69 @@ + + + + + activate + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

activate

+
+
open override fun activate(lens: LensesComponent.Lens?, callback: Consumer<Boolean>)

Attempts to activate lenses carousel with an optional Lens pre-selected. The operation is async with the result provided as success or failure flag to the callback.

Since

1.4.0

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-noop/deactivate.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-noop/deactivate.html new file mode 100644 index 000000000..9e9f218a0 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-noop/deactivate.html @@ -0,0 +1,69 @@ + + + + + deactivate + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

deactivate

+
+
open override fun deactivate(callback: Consumer<Boolean>)

Attempts to deactivate lenses carousel. The operation is async with the result provided as success or failure flag to the callback.

Since

1.4.0

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-noop/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-noop/index.html new file mode 100644 index 000000000..fdab85dce --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-noop/index.html @@ -0,0 +1,121 @@ + + + + + Noop + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Noop

+ +
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun activate(lens: LensesComponent.Lens?, callback: Consumer<Boolean>)

Attempts to activate lenses carousel with an optional Lens pre-selected. The operation is async with the result provided as success or failure flag to the callback.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun deactivate(callback: Consumer<Boolean>)

Attempts to deactivate lenses carousel. The operation is async with the result provided as success or failure flag to the callback.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Allows to observe lenses carousel lifecycle events defined in Event.

+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-noop/observe.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-noop/observe.html new file mode 100644 index 000000000..e89c5cb7d --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-noop/observe.html @@ -0,0 +1,69 @@ + + + + + observe + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

observe

+
+

Allows to observe lenses carousel lifecycle events defined in Event.

Since

1.4.0

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-side/-l-e-f-t/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-side/-l-e-f-t/index.html new file mode 100644 index 000000000..6ac8ad4fe --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-side/-l-e-f-t/index.html @@ -0,0 +1,106 @@ + + + + + LEFT + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

LEFT

+ +
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-side/-r-i-g-h-t/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-side/-r-i-g-h-t/index.html new file mode 100644 index 000000000..daac41c2f --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-side/-r-i-g-h-t/index.html @@ -0,0 +1,106 @@ + + + + + RIGHT + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

RIGHT

+ +
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-side/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-side/index.html new file mode 100644 index 000000000..9c7d59790 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-side/index.html @@ -0,0 +1,170 @@ + + + + + Side + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Side

+

Describes position on the left or right to the center of lenses carousel.

Since

1.4.0

+
+
+
+
+

Entries

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+

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.)

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Returns an array containing the constants of this enum type, in the order they're declared.

+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-side/value-of.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-side/value-of.html new file mode 100644 index 000000000..9106e0571 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-side/value-of.html @@ -0,0 +1,69 @@ + + + + + valueOf + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

valueOf

+
+

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.)

Throws

if this enum type has no constant with the specified name

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-side/values.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-side/values.html new file mode 100644 index 000000000..1463817e0 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-side/values.html @@ -0,0 +1,69 @@ + + + + + values + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

values

+
+

Returns an array containing the constants of this enum type, in the order they're declared.

This method may be used to iterate over the constants.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-event/-close-button-clicked/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-event/-close-button-clicked/index.html new file mode 100644 index 000000000..b3d2f3b80 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-event/-close-button-clicked/index.html @@ -0,0 +1,91 @@ + + + + + CloseButtonClicked + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

CloseButtonClicked

+

Emitted when carousel close button clicked.

+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun toString(): String
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-event/-close-button-clicked/to-string.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-event/-close-button-clicked/to-string.html new file mode 100644 index 000000000..7132f4a40 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-event/-close-button-clicked/to-string.html @@ -0,0 +1,69 @@ + + + + + toString + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

toString

+
+
open override fun toString(): String
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-event/-item-selected/-item-selected.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-event/-item-selected/-item-selected.html new file mode 100644 index 000000000..c711fe992 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-event/-item-selected/-item-selected.html @@ -0,0 +1,69 @@ + + + + + ItemSelected + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

ItemSelected

+
+ +
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-event/-item-selected/equals.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-event/-item-selected/equals.html new file mode 100644 index 000000000..f4511106d --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-event/-item-selected/equals.html @@ -0,0 +1,69 @@ + + + + + equals + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

equals

+
+
open operator override fun equals(other: Any?): Boolean
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-event/-item-selected/hash-code.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-event/-item-selected/hash-code.html new file mode 100644 index 000000000..58593b138 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-event/-item-selected/hash-code.html @@ -0,0 +1,69 @@ + + + + + hashCode + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

hashCode

+
+
open override fun hashCode(): Int
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-event/-item-selected/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-event/-item-selected/index.html new file mode 100644 index 000000000..8e7bfabed --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-event/-item-selected/index.html @@ -0,0 +1,155 @@ + + + + + ItemSelected + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

ItemSelected

+

Emitted when a carousel item is selected.

+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+ +
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open operator override fun equals(other: Any?): Boolean
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun hashCode(): Int
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun toString(): String
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+ +
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-event/-item-selected/item.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-event/-item-selected/item.html new file mode 100644 index 000000000..faaac04f5 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-event/-item-selected/item.html @@ -0,0 +1,69 @@ + + + + + item + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-event/-item-selected/to-string.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-event/-item-selected/to-string.html new file mode 100644 index 000000000..68e205471 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-event/-item-selected/to-string.html @@ -0,0 +1,69 @@ + + + + + toString + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

toString

+
+
open override fun toString(): String
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-event/-visible-items-changed/-visible-items-changed.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-event/-visible-items-changed/-visible-items-changed.html new file mode 100644 index 000000000..4ad0d7b7b --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-event/-visible-items-changed/-visible-items-changed.html @@ -0,0 +1,69 @@ + + + + + VisibleItemsChanged + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

VisibleItemsChanged

+
+ +
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-event/-visible-items-changed/equals.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-event/-visible-items-changed/equals.html new file mode 100644 index 000000000..a532f713a --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-event/-visible-items-changed/equals.html @@ -0,0 +1,69 @@ + + + + + equals + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

equals

+
+
open operator override fun equals(other: Any?): Boolean
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-event/-visible-items-changed/hash-code.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-event/-visible-items-changed/hash-code.html new file mode 100644 index 000000000..4aeb1828f --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-event/-visible-items-changed/hash-code.html @@ -0,0 +1,69 @@ + + + + + hashCode + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

hashCode

+
+
open override fun hashCode(): Int
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-event/-visible-items-changed/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-event/-visible-items-changed/index.html new file mode 100644 index 000000000..1e73ef29e --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-event/-visible-items-changed/index.html @@ -0,0 +1,155 @@ + + + + + VisibleItemsChanged + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

VisibleItemsChanged

+

Emitted when carousel visible items have been changed.

+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+ +
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open operator override fun equals(other: Any?): Boolean
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun hashCode(): Int
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun toString(): String
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+ +
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-event/-visible-items-changed/to-string.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-event/-visible-items-changed/to-string.html new file mode 100644 index 000000000..0850a0226 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-event/-visible-items-changed/to-string.html @@ -0,0 +1,69 @@ + + + + + toString + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

toString

+
+
open override fun toString(): String
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-event/-visible-items-changed/visible-items.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-event/-visible-items-changed/visible-items.html new file mode 100644 index 000000000..f8370cb75 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-event/-visible-items-changed/visible-items.html @@ -0,0 +1,69 @@ + + + + + visibleItems + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

visibleItems

+
+ +
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-event/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-event/index.html new file mode 100644 index 000000000..570a2ee95 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-event/index.html @@ -0,0 +1,156 @@ + + + + + Event + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Event

+
sealed class Event

All lenses carousel view events available to observe.

+
+
+
+
+

Types

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+

Emitted when carousel close button clicked.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Emitted when a carousel item is selected.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Emitted when carousel visible items have been changed.

+
+
+
+
+
+

Inheritors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-item/-idle/id.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-item/-idle/id.html new file mode 100644 index 000000000..67f999d32 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-item/-idle/id.html @@ -0,0 +1,69 @@ + + + + + id + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

id

+
+
open override val id: String

An identifier for an Item.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-item/-idle/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-item/-idle/index.html new file mode 100644 index 000000000..c3ef58b01 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-item/-idle/index.html @@ -0,0 +1,108 @@ + + + + + Idle + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Idle

+

Represents the idle state - an empty item which can be selected to remove any previously applied lens.

+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun toString(): String
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val id: String

An identifier for an Item.

+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-item/-idle/to-string.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-item/-idle/to-string.html new file mode 100644 index 000000000..6501c1870 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-item/-idle/to-string.html @@ -0,0 +1,69 @@ + + + + + toString + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

toString

+
+
open override fun toString(): String
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-item/-lens/content-description.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-item/-lens/content-description.html new file mode 100644 index 000000000..36f819166 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-item/-lens/content-description.html @@ -0,0 +1,69 @@ + + + + + contentDescription + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

contentDescription

+
+

Brief description of the Lens that is primarily used for accessibility support.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-item/-lens/icon-uri.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-item/-lens/icon-uri.html new file mode 100644 index 000000000..37b8e719a --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-item/-lens/icon-uri.html @@ -0,0 +1,69 @@ + + + + + iconUri + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

iconUri

+
+
abstract val iconUri: String?

Icon resource URI that represents the Lens, null when not available.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-item/-lens/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-item/-lens/index.html new file mode 100644 index 000000000..b0c29b4b6 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-item/-lens/index.html @@ -0,0 +1,138 @@ + + + + + Lens + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Lens

+

Represents the lens displayed in the lenses carousel.

+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+

Allows to observe lenses content loading states defined in LoadingState.

+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+

Brief description of the Lens that is primarily used for accessibility support.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract val iconUri: String?

Icon resource URI that represents the Lens, null when not available.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract val id: String

An identifier for an Item.

+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-item/-lens/observe-loading-state.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-item/-lens/observe-loading-state.html new file mode 100644 index 000000000..8388fa8e4 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-item/-lens/observe-loading-state.html @@ -0,0 +1,69 @@ + + + + + observeLoadingState + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

observeLoadingState

+
+

Allows to observe lenses content loading states defined in LoadingState.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-item/-loading-state/-done/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-item/-loading-state/-done/index.html new file mode 100644 index 000000000..1d4d821a2 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-item/-loading-state/-done/index.html @@ -0,0 +1,91 @@ + + + + + Done + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Done

+

Emitted when content is loaded.

+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun toString(): String
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-item/-loading-state/-done/to-string.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-item/-loading-state/-done/to-string.html new file mode 100644 index 000000000..d8605a032 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-item/-loading-state/-done/to-string.html @@ -0,0 +1,69 @@ + + + + + toString + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

toString

+
+
open override fun toString(): String
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-item/-loading-state/-idle/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-item/-loading-state/-idle/index.html new file mode 100644 index 000000000..ca848abda --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-item/-loading-state/-idle/index.html @@ -0,0 +1,91 @@ + + + + + Idle + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Idle

+

Emitted when content is not loading.

+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun toString(): String
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-item/-loading-state/-idle/to-string.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-item/-loading-state/-idle/to-string.html new file mode 100644 index 000000000..ff562ad71 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-item/-loading-state/-idle/to-string.html @@ -0,0 +1,69 @@ + + + + + toString + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

toString

+
+
open override fun toString(): String
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-item/-loading-state/-in-progress/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-item/-loading-state/-in-progress/index.html new file mode 100644 index 000000000..e6de5ff0c --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-item/-loading-state/-in-progress/index.html @@ -0,0 +1,91 @@ + + + + + InProgress + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

InProgress

+

Emitted when content loading in progress.

+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun toString(): String
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-item/-loading-state/-in-progress/to-string.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-item/-loading-state/-in-progress/to-string.html new file mode 100644 index 000000000..480033218 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-item/-loading-state/-in-progress/to-string.html @@ -0,0 +1,69 @@ + + + + + toString + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

toString

+
+
open override fun toString(): String
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-item/-loading-state/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-item/-loading-state/index.html new file mode 100644 index 000000000..51270a2a0 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-item/-loading-state/index.html @@ -0,0 +1,156 @@ + + + + + LoadingState + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

LoadingState

+
sealed class LoadingState

All loading states for the carousel Item content.

+
+
+
+
+

Types

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+

Emitted when content is loaded.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Emitted when content is not loading.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Emitted when content loading in progress.

+
+
+
+
+
+

Inheritors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-item/id.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-item/id.html new file mode 100644 index 000000000..c8dfe2491 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-item/id.html @@ -0,0 +1,69 @@ + + + + + id + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

id

+
+
abstract val id: String

An identifier for an Item.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-item/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-item/index.html new file mode 100644 index 000000000..ec4f26f5e --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-item/index.html @@ -0,0 +1,162 @@ + + + + + Item + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Item

+
interface Item

Defines all possible item types that can be displayed in the lenses carousel.

+
+
+
+
+

Types

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+

Represents the idle state - an empty item which can be selected to remove any previously applied lens.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Represents the lens displayed in the lenses carousel.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
sealed class LoadingState

All loading states for the carousel Item content.

+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract val id: String

An identifier for an Item.

+
+
+
+
+
+

Inheritors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-model/-hidden/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-model/-hidden/index.html new file mode 100644 index 000000000..fc8e9122d --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-model/-hidden/index.html @@ -0,0 +1,91 @@ + + + + + Hidden + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Hidden

+

Lenses carousel should not be displayed, hide any if shown already.

+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun toString(): String
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-model/-hidden/to-string.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-model/-hidden/to-string.html new file mode 100644 index 000000000..89bc7a08b --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-model/-hidden/to-string.html @@ -0,0 +1,69 @@ + + + + + toString + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

toString

+
+
open override fun toString(): String
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-model/-visible/-visible.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-model/-visible/-visible.html new file mode 100644 index 000000000..795b2d848 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-model/-visible/-visible.html @@ -0,0 +1,69 @@ + + + + + Visible + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Visible

+
+
fun Visible(items: List<LensesComponent.Carousel.View.Item>, selectedItemPosition: Int = 0, closeable: Boolean = true)
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-model/-visible/closeable.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-model/-visible/closeable.html new file mode 100644 index 000000000..fbae797b7 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-model/-visible/closeable.html @@ -0,0 +1,69 @@ + + + + + closeable + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

closeable

+
+
val closeable: Boolean = true
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-model/-visible/equals.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-model/-visible/equals.html new file mode 100644 index 000000000..6724d6851 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-model/-visible/equals.html @@ -0,0 +1,69 @@ + + + + + equals + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

equals

+
+
open operator override fun equals(other: Any?): Boolean
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-model/-visible/hash-code.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-model/-visible/hash-code.html new file mode 100644 index 000000000..9d4369ffa --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-model/-visible/hash-code.html @@ -0,0 +1,69 @@ + + + + + hashCode + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

hashCode

+
+
open override fun hashCode(): Int
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-model/-visible/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-model/-visible/index.html new file mode 100644 index 000000000..ef88de4e8 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-model/-visible/index.html @@ -0,0 +1,185 @@ + + + + + Visible + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Visible

+
class Visible(val items: List<LensesComponent.Carousel.View.Item>, val selectedItemPosition: Int = 0, val closeable: Boolean = true) : LensesComponent.Carousel.View.Model

Lenses carousel should be displayed with the provided items. selectedItemPosition is the position of the Item withing the items that should be selected. closeable determines if the lenses carousel can be closed either by user or programmatically.

+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun Visible(items: List<LensesComponent.Carousel.View.Item>, selectedItemPosition: Int = 0, closeable: Boolean = true)
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open operator override fun equals(other: Any?): Boolean
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun hashCode(): Int
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun toString(): String
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
val closeable: Boolean = true
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+ +
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-model/-visible/items.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-model/-visible/items.html new file mode 100644 index 000000000..53046a42d --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-model/-visible/items.html @@ -0,0 +1,69 @@ + + + + + items + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

items

+
+ +
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-model/-visible/selected-item-position.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-model/-visible/selected-item-position.html new file mode 100644 index 000000000..d98215d86 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-model/-visible/selected-item-position.html @@ -0,0 +1,69 @@ + + + + + selectedItemPosition + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

selectedItemPosition

+
+ +
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-model/-visible/to-string.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-model/-visible/to-string.html new file mode 100644 index 000000000..44ae3233c --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-model/-visible/to-string.html @@ -0,0 +1,69 @@ + + + + + toString + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

toString

+
+
open override fun toString(): String
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-model/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-model/index.html new file mode 100644 index 000000000..4e0ff50f4 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-model/index.html @@ -0,0 +1,130 @@ + + + + + Model + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Model

+
sealed class Model

Defines possible states of the lenses carousel view.

+
+
+
+
+

Types

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+

Lenses carousel should not be displayed, hide any if shown already.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
class Visible(val items: List<LensesComponent.Carousel.View.Item>, val selectedItemPosition: Int = 0, val closeable: Boolean = true) : LensesComponent.Carousel.View.Model

Lenses carousel should be displayed with the provided items. selectedItemPosition is the position of the Item withing the items that should be selected. closeable determines if the lenses carousel can be closed either by user or programmatically.

+
+
+
+
+
+

Inheritors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/index.html new file mode 100644 index 000000000..a117ebe2a --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/index.html @@ -0,0 +1,153 @@ + + + + + View + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

View

+

Defines a contract of a view that is called to show and hide lenses carousel.

Since

1.7.0

+
+
+
+
+

Types

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
sealed class Event

All lenses carousel view events available to observe.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
interface Item

Defines all possible item types that can be displayed in the lenses carousel.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
sealed class Model

Defines possible states of the lenses carousel view.

+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+

Consumes the given value of type T.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Allows to observe lenses carousel view events defined in Event.

+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/observe.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/observe.html new file mode 100644 index 000000000..c8d09b4b3 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/observe.html @@ -0,0 +1,69 @@ + + + + + observe + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

observe

+
+

Allows to observe lenses carousel view events defined in Event.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/activate.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/activate.html new file mode 100644 index 000000000..a87a3e7de --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/activate.html @@ -0,0 +1,69 @@ + + + + + activate + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

activate

+
+
abstract fun activate(lens: LensesComponent.Lens? = null, callback: Consumer<Boolean> = Consumer {})

Attempts to activate lenses carousel with an optional Lens pre-selected. The operation is async with the result provided as success or failure flag to the callback.

Since

1.4.0

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/deactivate.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/deactivate.html new file mode 100644 index 000000000..af8f2673b --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/deactivate.html @@ -0,0 +1,69 @@ + + + + + deactivate + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

deactivate

+
+
abstract fun deactivate(callback: Consumer<Boolean> = Consumer {})

Attempts to deactivate lenses carousel. The operation is async with the result provided as success or failure flag to the callback.

Since

1.4.0

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/index.html new file mode 100644 index 000000000..01a2994eb --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/index.html @@ -0,0 +1,241 @@ + + + + + Carousel + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Carousel

+
interface Carousel

Provides ability to interact with lenses carousel feature which can be enabled with Configuration supplied to LensesComponent.Builder.configureCarousel method.

+
+
+
+
+

Types

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
interface Configuration

Exposes configuration options available to lenses carousel feature.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
sealed class Event

All lenses carousel lifecycle events available to observe.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
interface ItemOptions

Represents options to customize lenses carousel item appearance.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
sealed class LayoutPlacement

Describes directional placement relative to the lens carousel.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Describes position on the left or right to the center of lenses carousel.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Defines a contract of a view that is called to show and hide lenses carousel.

+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract fun activate(lens: LensesComponent.Lens? = null, callback: Consumer<Boolean> = Consumer {})

Attempts to activate lenses carousel with an optional Lens pre-selected. The operation is async with the result provided as success or failure flag to the callback.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract fun deactivate(callback: Consumer<Boolean> = Consumer {})

Attempts to deactivate lenses carousel. The operation is async with the result provided as success or failure flag to the callback.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Allows to observe lenses carousel lifecycle events defined in Event.

+
+
+
+
+
+

Inheritors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/observe.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/observe.html new file mode 100644 index 000000000..d1291ef74 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/observe.html @@ -0,0 +1,69 @@ + + + + + observe + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

observe

+
+

Allows to observe lenses carousel lifecycle events defined in Event.

Since

1.4.0

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-hints/-configuration/enabled.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-hints/-configuration/enabled.html new file mode 100644 index 000000000..6c95e0a56 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-hints/-configuration/enabled.html @@ -0,0 +1,69 @@ + + + + + enabled + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

enabled

+
+
abstract var enabled: Boolean

True if lens hints feature should be enabled. Typically, it is True when view is not null, False otherwise.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-hints/-configuration/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-hints/-configuration/index.html new file mode 100644 index 000000000..1321a6f4a --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-hints/-configuration/index.html @@ -0,0 +1,106 @@ + + + + + Configuration + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Configuration

+
interface Configuration

Exposes configuration options available to lens hints feature.

+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract var enabled: Boolean

True if lens hints feature should be enabled. Typically, it is True when view is not null, False otherwise.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Custom implementation of Hints.View to be used as a delegate to show and hide lens hints.

+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-hints/-configuration/view.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-hints/-configuration/view.html new file mode 100644 index 000000000..da5980f51 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-hints/-configuration/view.html @@ -0,0 +1,69 @@ + + + + + view + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

view

+
+

Custom implementation of Hints.View to be used as a delegate to show and hide lens hints.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-hints/-view/-model/-displayed/-displayed.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-hints/-view/-model/-displayed/-displayed.html new file mode 100644 index 000000000..018f571e6 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-hints/-view/-model/-displayed/-displayed.html @@ -0,0 +1,69 @@ + + + + + Displayed + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Displayed

+
+
fun Displayed(id: String, text: String, autoHide: Boolean)


fun Displayed(text: String, autoHide: Boolean)

Deprecated

Constructor that is missing 'id' parameter is not used anymore

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-hints/-view/-model/-displayed/auto-hide.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-hints/-view/-model/-displayed/auto-hide.html new file mode 100644 index 000000000..4918b2e53 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-hints/-view/-model/-displayed/auto-hide.html @@ -0,0 +1,69 @@ + + + + + autoHide + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

autoHide

+
+ +
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-hints/-view/-model/-displayed/equals.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-hints/-view/-model/-displayed/equals.html new file mode 100644 index 000000000..ec04deb8f --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-hints/-view/-model/-displayed/equals.html @@ -0,0 +1,69 @@ + + + + + equals + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

equals

+
+
open operator override fun equals(other: Any?): Boolean
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-hints/-view/-model/-displayed/hash-code.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-hints/-view/-model/-displayed/hash-code.html new file mode 100644 index 000000000..3412a7bc6 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-hints/-view/-model/-displayed/hash-code.html @@ -0,0 +1,69 @@ + + + + + hashCode + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

hashCode

+
+
open override fun hashCode(): Int
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-hints/-view/-model/-displayed/id.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-hints/-view/-model/-displayed/id.html new file mode 100644 index 000000000..82e93283e --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-hints/-view/-model/-displayed/id.html @@ -0,0 +1,69 @@ + + + + + id + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

id

+
+
val id: String
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-hints/-view/-model/-displayed/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-hints/-view/-model/-displayed/index.html new file mode 100644 index 000000000..5f5944ee2 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-hints/-view/-model/-displayed/index.html @@ -0,0 +1,200 @@ + + + + + Displayed + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Displayed

+
class Displayed(val id: String, val text: String, val autoHide: Boolean) : LensesComponent.Hints.View.Model

Lens hint displayed using the provided text which is translated to match the current device locale. id represents a unique string that can be used to look up custom text for a specific hint in case the provided text is not suitable. autoHide indicates that this hint should get hidden after some amount of time which is long enough for user to read the hint text. When autoHide is False, it is expected that the hint will remain displayed until Model.Hidden is received by Hints.View.

+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun Displayed(text: String, autoHide: Boolean)
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun Displayed(id: String, text: String, autoHide: Boolean)
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open operator override fun equals(other: Any?): Boolean
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun hashCode(): Int
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun toString(): String
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val id: String
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-hints/-view/-model/-displayed/text.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-hints/-view/-model/-displayed/text.html new file mode 100644 index 000000000..70362b7d1 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-hints/-view/-model/-displayed/text.html @@ -0,0 +1,69 @@ + + + + + text + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

text

+
+ +
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-hints/-view/-model/-displayed/to-string.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-hints/-view/-model/-displayed/to-string.html new file mode 100644 index 000000000..dd98fe392 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-hints/-view/-model/-displayed/to-string.html @@ -0,0 +1,69 @@ + + + + + toString + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

toString

+
+
open override fun toString(): String
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-hints/-view/-model/-hidden/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-hints/-view/-model/-hidden/index.html new file mode 100644 index 000000000..176091fba --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-hints/-view/-model/-hidden/index.html @@ -0,0 +1,91 @@ + + + + + Hidden + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Hidden

+

No lens hint should be displayed, hide any if shown already.

+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun toString(): String
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-hints/-view/-model/-hidden/to-string.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-hints/-view/-model/-hidden/to-string.html new file mode 100644 index 000000000..486d7690f --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-hints/-view/-model/-hidden/to-string.html @@ -0,0 +1,69 @@ + + + + + toString + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

toString

+
+
open override fun toString(): String
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-hints/-view/-model/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-hints/-view/-model/index.html new file mode 100644 index 000000000..c77d50153 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-hints/-view/-model/index.html @@ -0,0 +1,130 @@ + + + + + Model + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Model

+
sealed class Model

Defines possible states of lens hints view.

+
+
+
+
+

Types

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
class Displayed(val id: String, val text: String, val autoHide: Boolean) : LensesComponent.Hints.View.Model

Lens hint displayed using the provided text which is translated to match the current device locale. id represents a unique string that can be used to look up custom text for a specific hint in case the provided text is not suitable. autoHide indicates that this hint should get hidden after some amount of time which is long enough for user to read the hint text. When autoHide is False, it is expected that the hint will remain displayed until Model.Hidden is received by Hints.View.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

No lens hint should be displayed, hide any if shown already.

+
+
+
+
+
+

Inheritors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-hints/-view/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-hints/-view/index.html new file mode 100644 index 000000000..8c39a7416 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-hints/-view/index.html @@ -0,0 +1,108 @@ + + + + + View + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

View

+

Defines a contract of a view that is called to show and hide textual hints requested by individual lenses.

+
+
+
+
+

Types

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
sealed class Model

Defines possible states of lens hints view.

+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+

Consumes the given value of type T.

+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-hints/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-hints/index.html new file mode 100644 index 000000000..5cb6a38ac --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-hints/index.html @@ -0,0 +1,106 @@ + + + + + Hints + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Hints

+
interface Hints

Provides ability to interact with lens hints feature which can be enabled with Configuration supplied to LensesComponent.Builder.configureHints method.

+
+
+
+
+

Types

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
interface Configuration

Exposes configuration options available to lens hints feature.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Defines a contract of a view that is called to show and hide textual hints requested by individual lenses.

+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-companion/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-companion/index.html new file mode 100644 index 000000000..a9b0ca484 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-companion/index.html @@ -0,0 +1,73 @@ + + + + + Companion + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Companion

+
object Companion

Provides ability to attach utility functions to the Lens interface on implementation side.

+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-facing/-b-a-c-k/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-facing/-b-a-c-k/index.html new file mode 100644 index 000000000..08940db34 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-facing/-b-a-c-k/index.html @@ -0,0 +1,106 @@ + + + + + BACK + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

BACK

+ +
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-facing/-f-r-o-n-t/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-facing/-f-r-o-n-t/index.html new file mode 100644 index 000000000..370a28d2d --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-facing/-f-r-o-n-t/index.html @@ -0,0 +1,106 @@ + + + + + FRONT + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

FRONT

+ +
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-facing/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-facing/index.html new file mode 100644 index 000000000..f0ca54eb8 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-facing/index.html @@ -0,0 +1,170 @@ + + + + + Facing + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Facing

+

Defines all possible facings (inversely relative to user) that a lens can be designed for.

Since

1.10.0

+
+
+
+
+

Entries

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+

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.)

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Returns an array containing the constants of this enum type, in the order they're declared.

+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-facing/value-of.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-facing/value-of.html new file mode 100644 index 000000000..fec65e845 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-facing/value-of.html @@ -0,0 +1,69 @@ + + + + + valueOf + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

valueOf

+
+

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.)

Throws

if this enum type has no constant with the specified name

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-facing/values.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-facing/values.html new file mode 100644 index 000000000..ff703cf32 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-facing/values.html @@ -0,0 +1,69 @@ + + + + + values + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

values

+
+

Returns an array containing the constants of this enum type, in the order they're declared.

This method may be used to iterate over the constants.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-launch-data/-builder/build.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-launch-data/-builder/build.html new file mode 100644 index 000000000..484c9d1bb --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-launch-data/-builder/build.html @@ -0,0 +1,69 @@ + + + + + build + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

build

+
+

Builds an instance of LaunchData with all provided key-value pairs.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-launch-data/-builder/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-launch-data/-builder/index.html new file mode 100644 index 000000000..1e1c299a6 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-launch-data/-builder/index.html @@ -0,0 +1,151 @@ + + + + + Builder + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Builder

+
interface Builder
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+

Builds an instance of LaunchData with all provided key-value pairs.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Puts number key-value pair to launch data.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Puts number array key-value pair to launch data.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Puts string key-value pair to launch data.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Puts string array key-value pair to launch data.

+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-launch-data/-builder/put-number.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-launch-data/-builder/put-number.html new file mode 100644 index 000000000..98531ee52 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-launch-data/-builder/put-number.html @@ -0,0 +1,69 @@ + + + + + putNumber + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

putNumber

+
+

Puts number key-value pair to launch data.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-launch-data/-builder/put-numbers.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-launch-data/-builder/put-numbers.html new file mode 100644 index 000000000..738eecd65 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-launch-data/-builder/put-numbers.html @@ -0,0 +1,69 @@ + + + + + putNumbers + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

putNumbers

+
+

Puts number array key-value pair to launch data.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-launch-data/-builder/put-string.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-launch-data/-builder/put-string.html new file mode 100644 index 000000000..c5ede6ba1 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-launch-data/-builder/put-string.html @@ -0,0 +1,69 @@ + + + + + putString + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

putString

+
+

Puts string key-value pair to launch data.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-launch-data/-builder/put-strings.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-launch-data/-builder/put-strings.html new file mode 100644 index 000000000..c358635de --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-launch-data/-builder/put-strings.html @@ -0,0 +1,69 @@ + + + + + putStrings + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

putStrings

+
+

Puts string array key-value pair to launch data.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-launch-data/-companion/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-launch-data/-companion/index.html new file mode 100644 index 000000000..6556ff3c2 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-launch-data/-companion/index.html @@ -0,0 +1,73 @@ + + + + + Companion + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Companion

+
object Companion

Provides ability to attach utility functions to the LaunchData interface on implementation side.

+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-launch-data/-empty/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-launch-data/-empty/index.html new file mode 100644 index 000000000..6aa2e0ca5 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-launch-data/-empty/index.html @@ -0,0 +1,91 @@ + + + + + Empty + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Empty

+

Defines empty launch data. No additional data is passed when lens is launched.

+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun toString(): String
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-launch-data/-empty/to-string.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-launch-data/-empty/to-string.html new file mode 100644 index 000000000..dc871fec0 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-launch-data/-empty/to-string.html @@ -0,0 +1,69 @@ + + + + + toString + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

toString

+
+
open override fun toString(): String
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-launch-data/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-launch-data/index.html new file mode 100644 index 000000000..5d3dbe3a7 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-launch-data/index.html @@ -0,0 +1,134 @@ + + + + + LaunchData + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

LaunchData

+
interface LaunchData

Represents an additional data that is passed to a lens at its launch time.

Since

1.1.0

+
+
+
+
+

Types

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
interface Builder
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
object Companion

Provides ability to attach utility functions to the LaunchData interface on implementation side.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Defines empty launch data. No additional data is passed when lens is launched.

+
+
+
+
+
+

Inheritors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-deep-link/-deep-link.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-deep-link/-deep-link.html new file mode 100644 index 000000000..06e16aad2 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-deep-link/-deep-link.html @@ -0,0 +1,69 @@ + + + + + DeepLink + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

DeepLink

+
+
fun DeepLink(uri: String)
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-deep-link/equals.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-deep-link/equals.html new file mode 100644 index 000000000..aef1eaa7c --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-deep-link/equals.html @@ -0,0 +1,69 @@ + + + + + equals + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

equals

+
+
open operator override fun equals(other: Any?): Boolean
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-deep-link/hash-code.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-deep-link/hash-code.html new file mode 100644 index 000000000..12e4b5e6f --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-deep-link/hash-code.html @@ -0,0 +1,69 @@ + + + + + hashCode + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

hashCode

+
+
open override fun hashCode(): Int
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-deep-link/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-deep-link/index.html new file mode 100644 index 000000000..1bbba26b9 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-deep-link/index.html @@ -0,0 +1,155 @@ + + + + + DeepLink + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

DeepLink

+

Defines a deeplink media resource, typically leading to a web page or in-app content, accessible by the uri that can be associated with a Lens.

Since

1.24.0

+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun DeepLink(uri: String)
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open operator override fun equals(other: Any?): Boolean
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun hashCode(): Int
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun toString(): String
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val uri: String
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-deep-link/to-string.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-deep-link/to-string.html new file mode 100644 index 000000000..01864a42c --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-deep-link/to-string.html @@ -0,0 +1,69 @@ + + + + + toString + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

toString

+
+
open override fun toString(): String
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-deep-link/uri.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-deep-link/uri.html new file mode 100644 index 000000000..98051011e --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-deep-link/uri.html @@ -0,0 +1,69 @@ + + + + + uri + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

uri

+
+
open override val uri: String

Parameters

uri

Represents a local or remote resource for this media instance, typically a URL.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-image/-png/-png.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-image/-png/-png.html new file mode 100644 index 000000000..520a97667 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-image/-png/-png.html @@ -0,0 +1,69 @@ + + + + + Png + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Png

+
+
fun Png(uri: String)
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-image/-png/equals.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-image/-png/equals.html new file mode 100644 index 000000000..713c83286 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-image/-png/equals.html @@ -0,0 +1,69 @@ + + + + + equals + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

equals

+
+
open operator override fun equals(other: Any?): Boolean
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-image/-png/hash-code.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-image/-png/hash-code.html new file mode 100644 index 000000000..3e35b5852 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-image/-png/hash-code.html @@ -0,0 +1,69 @@ + + + + + hashCode + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

hashCode

+
+
open override fun hashCode(): Int
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-image/-png/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-image/-png/index.html new file mode 100644 index 000000000..3490bb6a2 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-image/-png/index.html @@ -0,0 +1,155 @@ + + + + + Png + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Png

+

Image media encoded in the PNG format, accessible by the uri.

+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun Png(uri: String)
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open operator override fun equals(other: Any?): Boolean
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun hashCode(): Int
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun toString(): String
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val uri: String
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-image/-png/to-string.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-image/-png/to-string.html new file mode 100644 index 000000000..601a61354 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-image/-png/to-string.html @@ -0,0 +1,69 @@ + + + + + toString + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

toString

+
+
open override fun toString(): String
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-image/-png/uri.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-image/-png/uri.html new file mode 100644 index 000000000..d806e1936 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-image/-png/uri.html @@ -0,0 +1,69 @@ + + + + + uri + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

uri

+
+
open override val uri: String

Parameters

uri

Represents a local or remote resource for this media instance, typically a URL.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-image/-webp/-webp.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-image/-webp/-webp.html new file mode 100644 index 000000000..8689b379c --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-image/-webp/-webp.html @@ -0,0 +1,69 @@ + + + + + Webp + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Webp

+
+
fun Webp(uri: String)
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-image/-webp/equals.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-image/-webp/equals.html new file mode 100644 index 000000000..90ef385f2 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-image/-webp/equals.html @@ -0,0 +1,69 @@ + + + + + equals + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

equals

+
+
open operator override fun equals(other: Any?): Boolean
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-image/-webp/hash-code.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-image/-webp/hash-code.html new file mode 100644 index 000000000..a83aefa7c --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-image/-webp/hash-code.html @@ -0,0 +1,69 @@ + + + + + hashCode + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

hashCode

+
+
open override fun hashCode(): Int
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-image/-webp/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-image/-webp/index.html new file mode 100644 index 000000000..9614eab68 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-image/-webp/index.html @@ -0,0 +1,155 @@ + + + + + Webp + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Webp

+

Image media encoded in the WebP format, accessible by the uri.

+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun Webp(uri: String)
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open operator override fun equals(other: Any?): Boolean
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun hashCode(): Int
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun toString(): String
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val uri: String
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-image/-webp/to-string.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-image/-webp/to-string.html new file mode 100644 index 000000000..06c30f5b2 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-image/-webp/to-string.html @@ -0,0 +1,69 @@ + + + + + toString + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

toString

+
+
open override fun toString(): String
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-image/-webp/uri.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-image/-webp/uri.html new file mode 100644 index 000000000..2318e4359 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-image/-webp/uri.html @@ -0,0 +1,69 @@ + + + + + uri + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

uri

+
+
open override val uri: String

Parameters

uri

Represents a local or remote resource for this media instance, typically a URL.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-image/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-image/index.html new file mode 100644 index 000000000..edc741f42 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-image/index.html @@ -0,0 +1,147 @@ + + + + + Image + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Image

+

Defines all expected image media resources that can be associated with a Lens.

+
+
+
+
+

Types

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+

Image media encoded in the PNG format, accessible by the uri.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Image media encoded in the WebP format, accessible by the uri.

+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open val uri: String
+
+
+
+
+
+

Inheritors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-sequence/-webp/-webp.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-sequence/-webp/-webp.html new file mode 100644 index 000000000..e1db6fde8 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-sequence/-webp/-webp.html @@ -0,0 +1,69 @@ + + + + + Webp + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Webp

+
+ +
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-sequence/-webp/equals.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-sequence/-webp/equals.html new file mode 100644 index 000000000..f6c4c00ec --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-sequence/-webp/equals.html @@ -0,0 +1,69 @@ + + + + + equals + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

equals

+
+
open operator override fun equals(other: Any?): Boolean
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-sequence/-webp/hash-code.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-sequence/-webp/hash-code.html new file mode 100644 index 000000000..24f20d514 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-sequence/-webp/hash-code.html @@ -0,0 +1,69 @@ + + + + + hashCode + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

hashCode

+
+
open override fun hashCode(): Int
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-sequence/-webp/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-sequence/-webp/index.html new file mode 100644 index 000000000..5391e1e67 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-sequence/-webp/index.html @@ -0,0 +1,170 @@ + + + + + Webp + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Webp

+

Image sequence media encoded in the WebP format, each frame provided in the values collection.

+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+ +
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open operator override fun equals(other: Any?): Boolean
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun hashCode(): Int
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun toString(): String
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open val uri: String
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+ +
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-sequence/-webp/to-string.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-sequence/-webp/to-string.html new file mode 100644 index 000000000..8b53fc9e8 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-sequence/-webp/to-string.html @@ -0,0 +1,69 @@ + + + + + toString + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

toString

+
+
open override fun toString(): String
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-sequence/-webp/values.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-sequence/-webp/values.html new file mode 100644 index 000000000..24fd140db --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-sequence/-webp/values.html @@ -0,0 +1,69 @@ + + + + + values + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

values

+
+

Parameters

values

Represents a collection of frames of a media type T.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-sequence/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-sequence/index.html new file mode 100644 index 000000000..887a2c0a3 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-sequence/index.html @@ -0,0 +1,140 @@ + + + + + Sequence + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Sequence

+

Defines all expected sequence media resources that can be associated with a Lens.

Since

1.23.0

+
+
+
+
+

Parameters

+
+
values

Represents a collection of frames of a media type T.

+
+

Types

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+

Image sequence media encoded in the WebP format, each frame provided in the values collection.

+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open val uri: String
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open val values: Collection<T>
+
+
+
+
+
+

Inheritors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-sequence/values.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-sequence/values.html new file mode 100644 index 000000000..620676325 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-sequence/values.html @@ -0,0 +1,69 @@ + + + + + values + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

values

+
+
open val values: Collection<T>

Parameters

values

Represents a collection of frames of a media type T.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/index.html new file mode 100644 index 000000000..af8138eb6 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/index.html @@ -0,0 +1,177 @@ + + + + + Media + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Media

+
sealed class Media

Represents all expected media resources that can be associated with a Lens.

Since

1.17.0

+
+
+
+
+

Parameters

+
+
uri

Represents a local or remote resource for this media instance, typically a URL.

+
+

Types

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+

Defines a deeplink media resource, typically leading to a web page or in-app content, accessible by the uri that can be associated with a Lens.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Defines all expected image media resources that can be associated with a Lens.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Defines all expected sequence media resources that can be associated with a Lens.

+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open val uri: String
+
+
+
+
+
+

Inheritors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/uri.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/uri.html new file mode 100644 index 000000000..d59b0cf47 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/uri.html @@ -0,0 +1,69 @@ + + + + + uri + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

uri

+
+
open val uri: String

Parameters

uri

Represents a local or remote resource for this media instance, typically a URL.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-preview/-image/-image.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-preview/-image/-image.html new file mode 100644 index 000000000..16ef5c4b7 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-preview/-image/-image.html @@ -0,0 +1,69 @@ + + + + + Image + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Image

+
+
fun Image(uri: String)
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-preview/-image/equals.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-preview/-image/equals.html new file mode 100644 index 000000000..d9d17a37d --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-preview/-image/equals.html @@ -0,0 +1,69 @@ + + + + + equals + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

equals

+
+
open operator override fun equals(other: Any?): Boolean
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-preview/-image/hash-code.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-preview/-image/hash-code.html new file mode 100644 index 000000000..5a9a12087 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-preview/-image/hash-code.html @@ -0,0 +1,69 @@ + + + + + hashCode + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

hashCode

+
+
open override fun hashCode(): Int
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-preview/-image/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-preview/-image/index.html new file mode 100644 index 000000000..dd5e3be6d --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-preview/-image/index.html @@ -0,0 +1,155 @@ + + + + + Image + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Image

+

Single image, lens preview accessible as uri resource.

+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun Image(uri: String)
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open operator override fun equals(other: Any?): Boolean
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun hashCode(): Int
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun toString(): String
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
val uri: String
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-preview/-image/to-string.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-preview/-image/to-string.html new file mode 100644 index 000000000..f28c70911 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-preview/-image/to-string.html @@ -0,0 +1,69 @@ + + + + + toString + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

toString

+
+
open override fun toString(): String
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-preview/-image/uri.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-preview/-image/uri.html new file mode 100644 index 000000000..63f71881b --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-preview/-image/uri.html @@ -0,0 +1,69 @@ + + + + + uri + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

uri

+
+
val uri: String
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-preview/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-preview/index.html new file mode 100644 index 000000000..929519282 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-preview/index.html @@ -0,0 +1,104 @@ + + + + + Preview + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Preview

+
sealed class Preview

Deprecated

Replaced by LensesComponent.Lens.Media which represents all available formats. To be removed in 1.19.0.

Represents data that can be used to display lens preview to a user.

Since

1.4.0

+
+
+
+
+

Types

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+

Single image, lens preview accessible as uri resource.

+
+
+
+
+
+

Inheritors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/facing-preference.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/facing-preference.html new file mode 100644 index 000000000..70a970fe8 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/facing-preference.html @@ -0,0 +1,69 @@ + + + + + facingPreference + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

facingPreference

+
+

Specifies a Facing that this lens is designed for, null when no preference is expressed.

Since

1.10.0

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/group-id.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/group-id.html new file mode 100644 index 000000000..ef9aabea3 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/group-id.html @@ -0,0 +1,69 @@ + + + + + groupId + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

groupId

+
+
abstract val groupId: String

Non-empty identifier of a group this lens belongs to.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/icon-uri.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/icon-uri.html new file mode 100644 index 000000000..33c40d86b --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/icon-uri.html @@ -0,0 +1,69 @@ + + + + + iconUri + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

iconUri

+
+
abstract val iconUri: String?

Deprecated

Use the icons member field which provides access to all available icon media formats. Note that the PNG icon resources are deprecated, the WebP icon resources are recommended due to their smaller binary size.

Replace with

icons.find { it is LensesComponent.Lens.Media.Image.Png }?.uri

Icon resource URI that represents this lens, null when not available.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/icons.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/icons.html new file mode 100644 index 000000000..3ce9a8734 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/icons.html @@ -0,0 +1,69 @@ + + + + + icons + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

icons

+
+

A set of icon image resources that represent this lens, empty when not available.

Since

1.17.0

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/id.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/id.html new file mode 100644 index 000000000..f16abd9f6 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/id.html @@ -0,0 +1,69 @@ + + + + + id + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

id

+
+
abstract val id: String

Non-empty identifier of a unique lens available to be applied through processor.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/index.html new file mode 100644 index 000000000..4a6f0b20c --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/index.html @@ -0,0 +1,303 @@ + + + + + Lens + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Lens

+
interface Lens

Defines the data model of a lens that is available to be used by LensesComponent exposed features.

+
+
+
+
+

Types

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
object Companion

Provides ability to attach utility functions to the Lens interface on implementation side.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Defines all possible facings (inversely relative to user) that a lens can be designed for.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
interface LaunchData

Represents an additional data that is passed to a lens at its launch time.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
sealed class Media

Represents all expected media resources that can be associated with a Lens.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
sealed class Preview

Represents data that can be used to display lens preview to a user.

+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+

Specifies a Facing that this lens is designed for, null when no preference is expressed.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract val groupId: String

Non-empty identifier of a group this lens belongs to.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

A set of icon image resources that represent this lens, empty when not available.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract val iconUri: String?

Icon resource URI that represents this lens, null when not available.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract val id: String

Non-empty identifier of a unique lens available to be applied through processor.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract val name: String?

Human readable name of this lens, null when not available.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Preview that represents this lens, null when not available.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

A set of preview media resources that represent this lens, empty when not available.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

A set of snapcodes that represent this lens, empty when not available.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract val vendorData: Map<String, String>

Vendor specific metadata associated with this lens, empty by default.

+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/name.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/name.html new file mode 100644 index 000000000..7968ded17 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/name.html @@ -0,0 +1,69 @@ + + + + + name + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

name

+
+
abstract val name: String?

Human readable name of this lens, null when not available.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/preview.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/preview.html new file mode 100644 index 000000000..2065c3774 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/preview.html @@ -0,0 +1,69 @@ + + + + + preview + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

preview

+
+

Deprecated

Use the previews member field which provides access to all available preview media formats.

Replace with

previews.find { it is LensesComponent.Lens.Media.Image.Webp }?.let { LensesComponent.Lens.Preview.Image(it.uri) }

Preview that represents this lens, null when not available.

Since

1.4.0

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/previews.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/previews.html new file mode 100644 index 000000000..1cef94f57 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/previews.html @@ -0,0 +1,69 @@ + + + + + previews + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

previews

+
+

A set of preview media resources that represent this lens, empty when not available.

Since

1.17.0

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/snapcodes.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/snapcodes.html new file mode 100644 index 000000000..0ae5ef830 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/snapcodes.html @@ -0,0 +1,69 @@ + + + + + snapcodes + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

snapcodes

+
+

A set of snapcodes that represent this lens, empty when not available.

A snapcode is typically represented as Media.Image.Png and Media.DeepLink which points to the lens content in the Snapchat app, when installed, or a dedicated web page.

Since

1.24.0

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/vendor-data.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/vendor-data.html new file mode 100644 index 000000000..ee511c81d --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/vendor-data.html @@ -0,0 +1,69 @@ + + + + + vendorData + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

vendorData

+
+
abstract val vendorData: Map<String, String>

Vendor specific metadata associated with this lens, empty by default.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-loading-overlay/-configuration/enabled.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-loading-overlay/-configuration/enabled.html new file mode 100644 index 000000000..41d887eae --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-loading-overlay/-configuration/enabled.html @@ -0,0 +1,69 @@ + + + + + enabled + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

enabled

+
+
abstract var enabled: Boolean

True if lens overlay feature should be enabled. Typically, it is True by default.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-loading-overlay/-configuration/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-loading-overlay/-configuration/index.html new file mode 100644 index 000000000..a0cb92d65 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-loading-overlay/-configuration/index.html @@ -0,0 +1,91 @@ + + + + + Configuration + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Configuration

+
interface Configuration

Exposes configuration options available to lens loading overlay feature.

+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract var enabled: Boolean

True if lens overlay feature should be enabled. Typically, it is True by default.

+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-loading-overlay/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-loading-overlay/index.html new file mode 100644 index 000000000..6ff5b7785 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-loading-overlay/index.html @@ -0,0 +1,91 @@ + + + + + LoadingOverlay + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

LoadingOverlay

+
interface LoadingOverlay

Provides ability to interact with lens loading overlay feature which can be enabled with Configuration supplied to LensesComponent.Builder.configureLoadingOverlay method. If enabled, loading overlay is shown when a lens that is being applied via Processor.apply or selected via Carousel is loading resources from network or other sources.

Since

1.5.4

+
+
+
+
+

Types

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
interface Configuration

Exposes configuration options available to lens loading overlay feature.

+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-configuration/enabled.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-configuration/enabled.html new file mode 100644 index 000000000..8739c9bdd --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-configuration/enabled.html @@ -0,0 +1,69 @@ + + + + + enabled + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

enabled

+
+
abstract var enabled: Boolean

True if lens media picker should be enabled. Typically, it is True by default.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-configuration/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-configuration/index.html new file mode 100644 index 000000000..b9ac8364c --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-configuration/index.html @@ -0,0 +1,106 @@ + + + + + Configuration + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Configuration

+
interface Configuration

Exposes configuration options available to lens media picker feature.

+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract var enabled: Boolean

True if lens media picker should be enabled. Typically, it is True by default.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Custom implementation of MediaPicker.View to be used as a delegate to show and hide media picker.

+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-configuration/view.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-configuration/view.html new file mode 100644 index 000000000..1f3cad80c --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-configuration/view.html @@ -0,0 +1,69 @@ + + + + + view + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

view

+
+

Custom implementation of MediaPicker.View to be used as a delegate to show and hide media picker.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-event/-item-selected/-item-selected.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-event/-item-selected/-item-selected.html new file mode 100644 index 000000000..53accf6fc --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-event/-item-selected/-item-selected.html @@ -0,0 +1,69 @@ + + + + + ItemSelected + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

ItemSelected

+
+ +
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-event/-item-selected/equals.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-event/-item-selected/equals.html new file mode 100644 index 000000000..20ee1bfed --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-event/-item-selected/equals.html @@ -0,0 +1,69 @@ + + + + + equals + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

equals

+
+
open operator override fun equals(other: Any?): Boolean
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-event/-item-selected/hash-code.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-event/-item-selected/hash-code.html new file mode 100644 index 000000000..123823003 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-event/-item-selected/hash-code.html @@ -0,0 +1,69 @@ + + + + + hashCode + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

hashCode

+
+
open override fun hashCode(): Int
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-event/-item-selected/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-event/-item-selected/index.html new file mode 100644 index 000000000..39501e294 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-event/-item-selected/index.html @@ -0,0 +1,155 @@ + + + + + ItemSelected + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

ItemSelected

+

Emitted when a media picker item is selected.

+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+ +
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open operator override fun equals(other: Any?): Boolean
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun hashCode(): Int
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun toString(): String
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+ +
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-event/-item-selected/item.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-event/-item-selected/item.html new file mode 100644 index 000000000..a58e9712d --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-event/-item-selected/item.html @@ -0,0 +1,69 @@ + + + + + item + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-event/-item-selected/to-string.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-event/-item-selected/to-string.html new file mode 100644 index 000000000..1ecd0be79 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-event/-item-selected/to-string.html @@ -0,0 +1,69 @@ + + + + + toString + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

toString

+
+
open override fun toString(): String
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-event/-last-item-visible/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-event/-last-item-visible/index.html new file mode 100644 index 000000000..fd6d8dffb --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-event/-last-item-visible/index.html @@ -0,0 +1,91 @@ + + + + + LastItemVisible + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

LastItemVisible

+

Emitted when the last media picker item is visible. Can be used as a signal to load more items for the media picker.

+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun toString(): String
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-event/-last-item-visible/to-string.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-event/-last-item-visible/to-string.html new file mode 100644 index 000000000..bc8cf642f --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-event/-last-item-visible/to-string.html @@ -0,0 +1,69 @@ + + + + + toString + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

toString

+
+
open override fun toString(): String
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-event/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-event/index.html new file mode 100644 index 000000000..493e4d5e0 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-event/index.html @@ -0,0 +1,130 @@ + + + + + Event + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Event

+
sealed class Event

All media picker view events available to observe.

+
+
+
+
+

Types

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+

Emitted when a media picker item is selected.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Emitted when the last media picker item is visible. Can be used as a signal to load more items for the media picker.

+
+
+
+
+
+

Inheritors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-item/-loading/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-item/-loading/index.html new file mode 100644 index 000000000..c79220f2f --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-item/-loading/index.html @@ -0,0 +1,91 @@ + + + + + Loading + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Loading

+

Represents a loading item.

+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun toString(): String
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-item/-loading/to-string.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-item/-loading/to-string.html new file mode 100644 index 000000000..430825109 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-item/-loading/to-string.html @@ -0,0 +1,69 @@ + + + + + toString + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

toString

+
+
open override fun toString(): String
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-item/-media/-media.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-item/-media/-media.html new file mode 100644 index 000000000..935cea295 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-item/-media/-media.html @@ -0,0 +1,69 @@ + + + + + Media + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Media

+
+
fun Media(id: String, iconUri: String?, cropRect: RectF?, label: String, selected: Boolean)
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-item/-media/crop-rect.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-item/-media/crop-rect.html new file mode 100644 index 000000000..6366231d8 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-item/-media/crop-rect.html @@ -0,0 +1,69 @@ + + + + + cropRect + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

cropRect

+
+ +
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-item/-media/equals.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-item/-media/equals.html new file mode 100644 index 000000000..4b65d451c --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-item/-media/equals.html @@ -0,0 +1,69 @@ + + + + + equals + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

equals

+
+
open operator override fun equals(other: Any?): Boolean
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-item/-media/hash-code.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-item/-media/hash-code.html new file mode 100644 index 000000000..e8eb98237 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-item/-media/hash-code.html @@ -0,0 +1,69 @@ + + + + + hashCode + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

hashCode

+
+
open override fun hashCode(): Int
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-item/-media/icon-uri.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-item/-media/icon-uri.html new file mode 100644 index 000000000..ff460f7cb --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-item/-media/icon-uri.html @@ -0,0 +1,69 @@ + + + + + iconUri + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

iconUri

+
+ +
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-item/-media/id.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-item/-media/id.html new file mode 100644 index 000000000..9a07fe954 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-item/-media/id.html @@ -0,0 +1,69 @@ + + + + + id + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

id

+
+
val id: String
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-item/-media/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-item/-media/index.html new file mode 100644 index 000000000..7dc6148b1 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-item/-media/index.html @@ -0,0 +1,215 @@ + + + + + Media + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Media

+
class Media(val id: String, val iconUri: String?, val cropRect: RectF?, val label: String, val selected: Boolean) : LensesComponent.MediaPicker.View.Item

Represents a media item with a unique id. iconUri is an icon resource URI of the media item. cropRect is a rect to crop media item icon when displaying. label is a text to be displayed on a media item view. selected defines if the media item is selected in media picker.

+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun Media(id: String, iconUri: String?, cropRect: RectF?, label: String, selected: Boolean)
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open operator override fun equals(other: Any?): Boolean
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun hashCode(): Int
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun toString(): String
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val id: String
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-item/-media/label.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-item/-media/label.html new file mode 100644 index 000000000..aaf53da5d --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-item/-media/label.html @@ -0,0 +1,69 @@ + + + + + label + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

label

+
+ +
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-item/-media/selected.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-item/-media/selected.html new file mode 100644 index 000000000..02b1e0ce9 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-item/-media/selected.html @@ -0,0 +1,69 @@ + + + + + selected + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

selected

+
+ +
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-item/-media/to-string.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-item/-media/to-string.html new file mode 100644 index 000000000..69f0508ae --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-item/-media/to-string.html @@ -0,0 +1,69 @@ + + + + + toString + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

toString

+
+
open override fun toString(): String
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-item/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-item/index.html new file mode 100644 index 000000000..d380f806f --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-item/index.html @@ -0,0 +1,130 @@ + + + + + Item + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Item

+
sealed class Item

Defines all possible item types that can be displayed in the media picker.

+
+
+
+
+

Types

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+

Represents a loading item.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
class Media(val id: String, val iconUri: String?, val cropRect: RectF?, val label: String, val selected: Boolean) : LensesComponent.MediaPicker.View.Item

Represents a media item with a unique id. iconUri is an icon resource URI of the media item. cropRect is a rect to crop media item icon when displaying. label is a text to be displayed on a media item view. selected defines if the media item is selected in media picker.

+
+
+
+
+
+

Inheritors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-model/-hidden/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-model/-hidden/index.html new file mode 100644 index 000000000..07f3b9c40 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-model/-hidden/index.html @@ -0,0 +1,91 @@ + + + + + Hidden + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Hidden

+

Media picker should not be displayed, hide any if shown already.

+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun toString(): String
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-model/-hidden/to-string.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-model/-hidden/to-string.html new file mode 100644 index 000000000..ca2ebe970 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-model/-hidden/to-string.html @@ -0,0 +1,69 @@ + + + + + toString + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

toString

+
+
open override fun toString(): String
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-model/-visible/-visible.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-model/-visible/-visible.html new file mode 100644 index 000000000..252676e74 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-model/-visible/-visible.html @@ -0,0 +1,69 @@ + + + + + Visible + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Visible

+
+ +
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-model/-visible/equals.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-model/-visible/equals.html new file mode 100644 index 000000000..2058f6c45 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-model/-visible/equals.html @@ -0,0 +1,69 @@ + + + + + equals + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

equals

+
+
open operator override fun equals(other: Any?): Boolean
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-model/-visible/hash-code.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-model/-visible/hash-code.html new file mode 100644 index 000000000..63aff2b30 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-model/-visible/hash-code.html @@ -0,0 +1,69 @@ + + + + + hashCode + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

hashCode

+
+
open override fun hashCode(): Int
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-model/-visible/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-model/-visible/index.html new file mode 100644 index 000000000..14665db4a --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-model/-visible/index.html @@ -0,0 +1,155 @@ + + + + + Visible + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Visible

+

Media picker should be displayed with the provided items.

+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+ +
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open operator override fun equals(other: Any?): Boolean
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun hashCode(): Int
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun toString(): String
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+ +
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-model/-visible/items.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-model/-visible/items.html new file mode 100644 index 000000000..7dc87b068 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-model/-visible/items.html @@ -0,0 +1,69 @@ + + + + + items + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-model/-visible/to-string.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-model/-visible/to-string.html new file mode 100644 index 000000000..208103952 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-model/-visible/to-string.html @@ -0,0 +1,69 @@ + + + + + toString + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

toString

+
+
open override fun toString(): String
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-model/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-model/index.html new file mode 100644 index 000000000..94ef0e44a --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-model/index.html @@ -0,0 +1,130 @@ + + + + + Model + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Model

+
sealed class Model

Defines possible states of the media picker view.

+
+
+
+
+

Types

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+

Media picker should not be displayed, hide any if shown already.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Media picker should be displayed with the provided items.

+
+
+
+
+
+

Inheritors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/index.html new file mode 100644 index 000000000..0021ac18a --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/index.html @@ -0,0 +1,153 @@ + + + + + View + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

View

+

Defines a contract of a view that is called to show and hide media picker.

Since

1.26.0

+
+
+
+
+

Types

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
sealed class Event

All media picker view events available to observe.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
sealed class Item

Defines all possible item types that can be displayed in the media picker.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
sealed class Model

Defines possible states of the media picker view.

+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+

Consumes the given value of type T.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Allows to observe media picker view events defined in Event.

+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/observe.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/observe.html new file mode 100644 index 000000000..e7d4513e5 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/observe.html @@ -0,0 +1,69 @@ + + + + + observe + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

observe

+
+

Allows to observe media picker view events defined in Event.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/index.html new file mode 100644 index 000000000..ce14eed62 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/index.html @@ -0,0 +1,106 @@ + + + + + MediaPicker + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

MediaPicker

+
interface MediaPicker

Provides ability to interact with lens media picker feature which can be enabled with Configuration supplied to LensesComponent.Builder.configureMediaPicker method. If enabled, media picker is shown when an applied lens requires media data and displays media items which MediaProcessor receives from MediaProcessor.Input.

Since

1.6.0

+
+
+
+
+

Types

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
interface Configuration

Exposes configuration options available to lens media picker feature.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Defines a contract of a view that is called to show and hide media picker.

+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-noop/close.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-noop/close.html new file mode 100644 index 000000000..cf93001d1 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-noop/close.html @@ -0,0 +1,69 @@ + + + + + close + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

close

+
+
open override fun close()

Closes all resources allocated for this LensesComponent. Overridden to indicate that calling close will not throw.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-noop/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-noop/index.html new file mode 100644 index 000000000..cb4b63720 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-noop/index.html @@ -0,0 +1,183 @@ + + + + + Noop + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Noop

+

Implementation of LensesComponent which does nothing.

+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun close()

Closes all resources allocated for this LensesComponent. Overridden to indicate that calling close will not throw.

+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+

Provides control over the lenses audio. If this LensesComponent is closed then the returned Audio is expected to be no-op.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Provides a Carousel of lenses available to interact with during this component lifecycle. If this LensesComponent is closed or if this LensesComponent was not configured to enable carousel using LensesComponent.Builder.configureCarousel then the returned Carousel is expected to be no-op.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Provides a Preferences of lenses available to interact with during this component lifecycle. If this LensesComponent is closed then the returned Preferences is expected to be no-op.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Provides a Prefetcher of lenses available to interact with during this component lifecycle. If this LensesComponent is closed then the returned Prefetcher is expected to be no-op.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Provides lenses specific Processor which allows to process image and audio input with applied lenses while rendering results to connected outputs. If this LensesComponent is closed then the returned Processor is expected to be no-op.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Provides a Repository of lenses available to interact with during this component lifecycle. If this LensesComponent is closed then the returned Repository is expected to be no-op.

+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-preferences/-noop/clear.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-preferences/-noop/clear.html new file mode 100644 index 000000000..ed341c6ac --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-preferences/-noop/clear.html @@ -0,0 +1,69 @@ + + + + + clear + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

clear

+
+
open override fun clear(callback: Consumer<Boolean>)

Clears all persistent data stored by lenses. After this operation completes, lenses can be re-applied with no state restored.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-preferences/-noop/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-preferences/-noop/index.html new file mode 100644 index 000000000..dfe9c980f --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-preferences/-noop/index.html @@ -0,0 +1,91 @@ + + + + + Noop + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Noop

+ +
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun clear(callback: Consumer<Boolean>)

Clears all persistent data stored by lenses. After this operation completes, lenses can be re-applied with no state restored.

+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-preferences/clear.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-preferences/clear.html new file mode 100644 index 000000000..fc5c3a322 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-preferences/clear.html @@ -0,0 +1,69 @@ + + + + + clear + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

clear

+
+
abstract fun clear(callback: Consumer<Boolean> = Consumer {})

Clears all persistent data stored by lenses. After this operation completes, lenses can be re-applied with no state restored.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-preferences/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-preferences/index.html new file mode 100644 index 000000000..5ad119dcb --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-preferences/index.html @@ -0,0 +1,121 @@ + + + + + Preferences + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Preferences

+
interface Preferences

Provides ability to interact with storage used by lenses to store user specific data such as game or on-boarding state, options etc.

+
+
+
+
+

Types

+
+
+
+
+ + +
Link copied to clipboard
+
+ +
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract fun clear(callback: Consumer<Boolean> = Consumer {})

Clears all persistent data stored by lenses. After this operation completes, lenses can be re-applied with no state restored.

+
+
+
+
+
+

Inheritors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-prefetcher/-noop/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-prefetcher/-noop/index.html new file mode 100644 index 000000000..8bd875d4b --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-prefetcher/-noop/index.html @@ -0,0 +1,106 @@ + + + + + Noop + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Noop

+ +
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+

Allows to observe individual lens content loading Status.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun run(lenses: List<LensesComponent.Lens>, callback: Consumer<Boolean>): Closeable

Starts a new operation to prefetch content for the provided list of lenses. The callback receives True when operation completes successfully or False if it fails or is interrupted before completion. The returned Closeable can be used to cancel the operation. However, if Closeable is ignored, then any incomplete prefetch operation will be cancelled once LensesComponent is closed.

+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-prefetcher/-noop/observe.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-prefetcher/-noop/observe.html new file mode 100644 index 000000000..530872081 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-prefetcher/-noop/observe.html @@ -0,0 +1,69 @@ + + + + + observe + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

observe

+
+

Allows to observe individual lens content loading Status.

Since

1.6.0

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-prefetcher/-noop/run.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-prefetcher/-noop/run.html new file mode 100644 index 000000000..9f9d5f163 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-prefetcher/-noop/run.html @@ -0,0 +1,69 @@ + + + + + run + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

run

+
+
open override fun run(lenses: List<LensesComponent.Lens>, callback: Consumer<Boolean>): Closeable

Starts a new operation to prefetch content for the provided list of lenses. The callback receives True when operation completes successfully or False if it fails or is interrupted before completion. The returned Closeable can be used to cancel the operation. However, if Closeable is ignored, then any incomplete prefetch operation will be cancelled once LensesComponent is closed.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-prefetcher/-status/-l-o-a-d-e-d/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-prefetcher/-status/-l-o-a-d-e-d/index.html new file mode 100644 index 000000000..ab9a76ea3 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-prefetcher/-status/-l-o-a-d-e-d/index.html @@ -0,0 +1,106 @@ + + + + + LOADED + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

LOADED

+

Lens content has been loaded for local use.

+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-prefetcher/-status/-l-o-a-d-i-n-g/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-prefetcher/-status/-l-o-a-d-i-n-g/index.html new file mode 100644 index 000000000..c47b64316 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-prefetcher/-status/-l-o-a-d-i-n-g/index.html @@ -0,0 +1,106 @@ + + + + + LOADING + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

LOADING

+

Lens content is being loaded for local use.

+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-prefetcher/-status/-u-n-l-o-a-d-e-d/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-prefetcher/-status/-u-n-l-o-a-d-e-d/index.html new file mode 100644 index 000000000..e5df8ec9d --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-prefetcher/-status/-u-n-l-o-a-d-e-d/index.html @@ -0,0 +1,106 @@ + + + + + UNLOADED + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

UNLOADED

+

Lens content is not loaded locally yet.

+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-prefetcher/-status/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-prefetcher/-status/index.html new file mode 100644 index 000000000..72fcb69a9 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-prefetcher/-status/index.html @@ -0,0 +1,185 @@ + + + + + Status + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Status

+

Possible states of lens content availability for local use.

Since

1.6.0

+
+
+
+
+

Entries

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+

Lens content is not loaded locally yet.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Lens content is being loaded for local use.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Lens content has been loaded for local use.

+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+

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.)

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Returns an array containing the constants of this enum type, in the order they're declared.

+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-prefetcher/-status/value-of.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-prefetcher/-status/value-of.html new file mode 100644 index 000000000..8f8dc49da --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-prefetcher/-status/value-of.html @@ -0,0 +1,69 @@ + + + + + valueOf + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

valueOf

+
+

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.)

Throws

if this enum type has no constant with the specified name

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-prefetcher/-status/values.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-prefetcher/-status/values.html new file mode 100644 index 000000000..b7f10d5a5 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-prefetcher/-status/values.html @@ -0,0 +1,69 @@ + + + + + values + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

values

+
+

Returns an array containing the constants of this enum type, in the order they're declared.

This method may be used to iterate over the constants.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-prefetcher/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-prefetcher/index.html new file mode 100644 index 000000000..154d65c02 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-prefetcher/index.html @@ -0,0 +1,151 @@ + + + + + Prefetcher + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Prefetcher

+
interface Prefetcher

Provides ability to prefetch content of lenses before they are applied using a Processor. The amount of lenses content that gets prefetched is limited by the Cache.Configuration provided to LensesComponent.

+
+
+
+
+

Types

+
+
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Possible states of lens content availability for local use.

+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+

Allows to observe individual lens content loading Status.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract fun run(lenses: List<LensesComponent.Lens>, callback: Consumer<Boolean> = Consumer {}): Closeable

Starts a new operation to prefetch content for the provided list of lenses. The callback receives True when operation completes successfully or False if it fails or is interrupted before completion. The returned Closeable can be used to cancel the operation. However, if Closeable is ignored, then any incomplete prefetch operation will be cancelled once LensesComponent is closed.

+
+
+
+
+
+

Inheritors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-prefetcher/observe.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-prefetcher/observe.html new file mode 100644 index 000000000..a95c8af4e --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-prefetcher/observe.html @@ -0,0 +1,69 @@ + + + + + observe + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

observe

+
+

Allows to observe individual lens content loading Status.

Since

1.6.0

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-prefetcher/run.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-prefetcher/run.html new file mode 100644 index 000000000..c7a49dde8 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-prefetcher/run.html @@ -0,0 +1,69 @@ + + + + + run + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

run

+
+
abstract fun run(lenses: List<LensesComponent.Lens>, callback: Consumer<Boolean> = Consumer {}): Closeable

Starts a new operation to prefetch content for the provided list of lenses. The callback receives True when operation completes successfully or False if it fails or is interrupted before completion. The returned Closeable can be used to cancel the operation. However, if Closeable is ignored, then any incomplete prefetch operation will be cancelled once LensesComponent is closed.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-configuration/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-configuration/index.html new file mode 100644 index 000000000..f1e3fe928 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-configuration/index.html @@ -0,0 +1,106 @@ + + + + + Configuration + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Configuration

+
interface Configuration

Exposes configuration options available to lenses processor.

Since

1.4.0

+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+

Specifies the way processor rotates input frame before processing. InputFrameRotationBehavior.USE_SCREEN_ORIENTATION by default, meaning processor rotates input frames relative to current screen orientation.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Specifies if face detection and further tracking should be performed on input frames rotated correspondingly to real orientation of the device, while screen orientation is locked to either portrait or landscape. Since 1.6.0 face detection performed by default in portrait, landscape and reverse landscape device orientation. This option should be used only to enable face detection for the reverse portrait orientation. False by default.

+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-configuration/input-frame-rotation-behavior.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-configuration/input-frame-rotation-behavior.html new file mode 100644 index 000000000..e4c5f2087 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-configuration/input-frame-rotation-behavior.html @@ -0,0 +1,69 @@ + + + + + inputFrameRotationBehavior + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

inputFrameRotationBehavior

+
+

Specifies the way processor rotates input frame before processing. InputFrameRotationBehavior.USE_SCREEN_ORIENTATION by default, meaning processor rotates input frames relative to current screen orientation.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-configuration/use-device-orientation-for-face-detection.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-configuration/use-device-orientation-for-face-detection.html new file mode 100644 index 000000000..8a4edd60e --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-configuration/use-device-orientation-for-face-detection.html @@ -0,0 +1,69 @@ + + + + + useDeviceOrientationForFaceDetection + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

useDeviceOrientationForFaceDetection

+
+

Specifies if face detection and further tracking should be performed on input frames rotated correspondingly to real orientation of the device, while screen orientation is locked to either portrait or landscape. Since 1.6.0 face detection performed by default in portrait, landscape and reverse landscape device orientation. This option should be used only to enable face detection for the reverse portrait orientation. False by default.

NOTE: Enabling this option may increase resource usage and degrade processing performance so it should be used cautiously.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-event/-applied/-applied.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-event/-applied/-applied.html new file mode 100644 index 000000000..ce1dcc33c --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-event/-applied/-applied.html @@ -0,0 +1,69 @@ + + + + + Applied + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Applied

+
+ +
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-event/-applied/equals.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-event/-applied/equals.html new file mode 100644 index 000000000..930f338e5 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-event/-applied/equals.html @@ -0,0 +1,69 @@ + + + + + equals + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

equals

+
+
open operator override fun equals(other: Any?): Boolean
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-event/-applied/hash-code.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-event/-applied/hash-code.html new file mode 100644 index 000000000..dc3d85aa8 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-event/-applied/hash-code.html @@ -0,0 +1,69 @@ + + + + + hashCode + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

hashCode

+
+
open override fun hashCode(): Int
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-event/-applied/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-event/-applied/index.html new file mode 100644 index 000000000..5af596724 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-event/-applied/index.html @@ -0,0 +1,202 @@ + + + + + Applied + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Applied

+

Emitted when the specified lens is applied or, in other words, active.

+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open operator override fun equals(other: Any?): Boolean
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun hashCode(): Int
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun toString(): String
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+
+

Extensions

+ +
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-event/-applied/lens.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-event/-applied/lens.html new file mode 100644 index 000000000..40115d3df --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-event/-applied/lens.html @@ -0,0 +1,69 @@ + + + + + lens + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

lens

+
+ +
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-event/-applied/to-string.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-event/-applied/to-string.html new file mode 100644 index 000000000..9c2d15d16 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-event/-applied/to-string.html @@ -0,0 +1,69 @@ + + + + + toString + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

toString

+
+
open override fun toString(): String
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-event/-first-frame-processed/-first-frame-processed.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-event/-first-frame-processed/-first-frame-processed.html new file mode 100644 index 000000000..2a8be3b97 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-event/-first-frame-processed/-first-frame-processed.html @@ -0,0 +1,69 @@ + + + + + FirstFrameProcessed + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

FirstFrameProcessed

+
+ +
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-event/-first-frame-processed/equals.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-event/-first-frame-processed/equals.html new file mode 100644 index 000000000..8651da648 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-event/-first-frame-processed/equals.html @@ -0,0 +1,69 @@ + + + + + equals + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

equals

+
+
open operator override fun equals(other: Any?): Boolean
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-event/-first-frame-processed/hash-code.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-event/-first-frame-processed/hash-code.html new file mode 100644 index 000000000..62568a48c --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-event/-first-frame-processed/hash-code.html @@ -0,0 +1,69 @@ + + + + + hashCode + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

hashCode

+
+
open override fun hashCode(): Int
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-event/-first-frame-processed/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-event/-first-frame-processed/index.html new file mode 100644 index 000000000..966994059 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-event/-first-frame-processed/index.html @@ -0,0 +1,202 @@ + + + + + FirstFrameProcessed + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

FirstFrameProcessed

+

Emitted after the specified lens is applied to the first input frame.

Since

1.5.0

+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+ +
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open operator override fun equals(other: Any?): Boolean
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun hashCode(): Int
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun toString(): String
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+
+

Extensions

+ +
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-event/-first-frame-processed/lens.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-event/-first-frame-processed/lens.html new file mode 100644 index 000000000..ee850333f --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-event/-first-frame-processed/lens.html @@ -0,0 +1,69 @@ + + + + + lens + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

lens

+
+ +
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-event/-first-frame-processed/to-string.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-event/-first-frame-processed/to-string.html new file mode 100644 index 000000000..1a6f1c62e --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-event/-first-frame-processed/to-string.html @@ -0,0 +1,69 @@ + + + + + toString + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

toString

+
+
open override fun toString(): String
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-event/-idle/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-event/-idle/index.html new file mode 100644 index 000000000..23c6b0de8 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-event/-idle/index.html @@ -0,0 +1,138 @@ + + + + + Idle + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Idle

+

Emitted when no Lens is currently applied.

+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun toString(): String
+
+
+
+
+
+

Extensions

+ +
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-event/-idle/to-string.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-event/-idle/to-string.html new file mode 100644 index 000000000..b63870e59 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-event/-idle/to-string.html @@ -0,0 +1,69 @@ + + + + + toString + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

toString

+
+
open override fun toString(): String
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-event/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-event/index.html new file mode 100644 index 000000000..6eb8aaf7d --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-event/index.html @@ -0,0 +1,203 @@ + + + + + Event + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Event

+
sealed class Event

All lens lifecycle events available to observe.

+
+
+
+
+

Types

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+

Emitted when the specified lens is applied or, in other words, active.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Emitted after the specified lens is applied to the first input frame.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Emitted when no Lens is currently applied.

+
+
+
+
+
+

Inheritors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
+
+

Extensions

+ +
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-failure/-internal/-internal.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-failure/-internal/-internal.html new file mode 100644 index 000000000..a3287e7e1 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-failure/-internal/-internal.html @@ -0,0 +1,69 @@ + + + + + Internal + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Internal

+
+
fun Internal(cause: Throwable? = null)
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-failure/-internal/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-failure/-internal/index.html new file mode 100644 index 000000000..ad89647fe --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-failure/-internal/index.html @@ -0,0 +1,245 @@ + + + + + Internal + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Internal

+

Reported when processing fails due to an internal error. Cause of such errors can be bugs in the lenses processing engine or resource (memory, disk) exhaustion.

+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun Internal(cause: Throwable? = null)
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open val cause: Throwable?
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open val message: String?
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-failure/-lens/-lens.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-failure/-lens/-lens.html new file mode 100644 index 000000000..62bc1b839 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-failure/-lens/-lens.html @@ -0,0 +1,69 @@ + + + + + Lens + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Lens

+
+
fun Lens(id: String, cause: Throwable? = null)
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-failure/-lens/id.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-failure/-lens/id.html new file mode 100644 index 000000000..abd34121d --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-failure/-lens/id.html @@ -0,0 +1,69 @@ + + + + + id + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

id

+
+
val id: String
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-failure/-lens/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-failure/-lens/index.html new file mode 100644 index 000000000..03526e2fd --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-failure/-lens/index.html @@ -0,0 +1,260 @@ + + + + + Lens + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Lens

+
class Lens(val id: String, cause: Throwable? = null) : LensesComponent.Processor.Failure

Reported when processing fails due to a lens error. Lens errors are normally caused by dynamic scripting errors or missing resources in lens bundle.

+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun Lens(id: String, cause: Throwable? = null)
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open val cause: Throwable?
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val id: String
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open val message: String?
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-failure/-library-loading/-library-loading.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-failure/-library-loading/-library-loading.html new file mode 100644 index 000000000..594f1bea1 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-failure/-library-loading/-library-loading.html @@ -0,0 +1,69 @@ + + + + + LibraryLoading + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

LibraryLoading

+
+
fun LibraryLoading(cause: Throwable? = null)
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-failure/-library-loading/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-failure/-library-loading/index.html new file mode 100644 index 000000000..186a3ec17 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-failure/-library-loading/index.html @@ -0,0 +1,245 @@ + + + + + LibraryLoading + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

LibraryLoading

+

Unrecoverable error indicating that libraries required to run lenses processing failed to load.

+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun LibraryLoading(cause: Throwable? = null)
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open val cause: Throwable?
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open val message: String?
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-failure/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-failure/index.html new file mode 100644 index 000000000..fad11742c --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-failure/index.html @@ -0,0 +1,310 @@ + + + + + Failure + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Failure

+
sealed class Failure : RuntimeException

Defines known failure modes of a lenses processor.

+
+
+
+
+

Types

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+

Reported when processing fails due to an internal error. Cause of such errors can be bugs in the lenses processing engine or resource (memory, disk) exhaustion.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
class Lens(val id: String, cause: Throwable? = null) : LensesComponent.Processor.Failure

Reported when processing fails due to a lens error. Lens errors are normally caused by dynamic scripting errors or missing resources in lens bundle.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Unrecoverable error indicating that libraries required to run lenses processing failed to load.

+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open val cause: Throwable?
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open val message: String?
+
+
+
+
+
+

Inheritors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-input-frame-rotation-behavior/-a-s-s-u-m-e_-p-o-r-t-r-a-i-t_-o-r-i-e-n-t-a-t-i-o-n/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-input-frame-rotation-behavior/-a-s-s-u-m-e_-p-o-r-t-r-a-i-t_-o-r-i-e-n-t-a-t-i-o-n/index.html new file mode 100644 index 000000000..9e4753e3b --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-input-frame-rotation-behavior/-a-s-s-u-m-e_-p-o-r-t-r-a-i-t_-o-r-i-e-n-t-a-t-i-o-n/index.html @@ -0,0 +1,106 @@ + + + + + ASSUME_PORTRAIT_ORIENTATION + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

ASSUME_PORTRAIT_ORIENTATION

+

Processor rotates each input frame assuming screen orientation is portrait no matter what real screen orientation is. The value can be used in case an activity handles orientation changes itself, otherwise some lenses may work incorrectly.

+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-input-frame-rotation-behavior/-u-s-e_-s-c-r-e-e-n_-o-r-i-e-n-t-a-t-i-o-n/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-input-frame-rotation-behavior/-u-s-e_-s-c-r-e-e-n_-o-r-i-e-n-t-a-t-i-o-n/index.html new file mode 100644 index 000000000..e3571c09b --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-input-frame-rotation-behavior/-u-s-e_-s-c-r-e-e-n_-o-r-i-e-n-t-a-t-i-o-n/index.html @@ -0,0 +1,106 @@ + + + + + USE_SCREEN_ORIENTATION + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

USE_SCREEN_ORIENTATION

+

Processor rotates each input frame relative to current screen orientation. The value should be used in most cases unless an activity handles orientation changes itself.

+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-input-frame-rotation-behavior/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-input-frame-rotation-behavior/index.html new file mode 100644 index 000000000..c0f6d3bff --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-input-frame-rotation-behavior/index.html @@ -0,0 +1,170 @@ + + + + + InputFrameRotationBehavior + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

InputFrameRotationBehavior

+

Defines how each input frame should be rotated relative to device rotation while processing.

Since

1.4.0

+
+
+
+
+

Entries

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+

Processor rotates each input frame assuming screen orientation is portrait no matter what real screen orientation is. The value can be used in case an activity handles orientation changes itself, otherwise some lenses may work incorrectly.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Processor rotates each input frame relative to current screen orientation. The value should be used in most cases unless an activity handles orientation changes itself.

+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+

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.)

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Returns an array containing the constants of this enum type, in the order they're declared.

+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-input-frame-rotation-behavior/value-of.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-input-frame-rotation-behavior/value-of.html new file mode 100644 index 000000000..c39d30e33 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-input-frame-rotation-behavior/value-of.html @@ -0,0 +1,69 @@ + + + + + valueOf + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

valueOf

+
+

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.)

Throws

if this enum type has no constant with the specified name

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-input-frame-rotation-behavior/values.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-input-frame-rotation-behavior/values.html new file mode 100644 index 000000000..690d0a116 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-input-frame-rotation-behavior/values.html @@ -0,0 +1,69 @@ + + + + + values + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

values

+
+

Returns an array containing the constants of this enum type, in the order they're declared.

This method may be used to iterate over the constants.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-noop/apply.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-noop/apply.html new file mode 100644 index 000000000..13077d1bb --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-noop/apply.html @@ -0,0 +1,69 @@ + + + + + apply + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

apply

+
+
open override fun apply(lens: LensesComponent.Lens, launchData: LensesComponent.Lens.LaunchData, reset: Boolean, callback: Consumer<Boolean>)

Attempts to apply the provided lens model with launchData and the reset flag which determines whether lens state should be reset if the same lens is currently applied. The operation is async with the result provided as success or failure flag to the callback.

Since

1.15.0

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-noop/clear.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-noop/clear.html new file mode 100644 index 000000000..2e5d0f628 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-noop/clear.html @@ -0,0 +1,69 @@ + + + + + clear + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

clear

+
+
open override fun clear(callback: Consumer<Boolean>)

Removes any applied Lens models. The result of the async operation is success if any Lens was removed or failure when there were no lenses to be removed or operation failed to execute.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-noop/connect-input.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-noop/connect-input.html new file mode 100644 index 000000000..5eaea6923 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-noop/connect-input.html @@ -0,0 +1,69 @@ + + + + + connectInput + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

connectInput

+
+
open override fun connectInput(input: ImageProcessor.Input): Closeable
open override fun connectInput(input: AudioProcessor.Input): Closeable
open override fun connectInput(input: UserProcessor.Input): Closeable
open override fun connectInput(input: MediaProcessor.Input): Closeable

Connects the provided input to this processor and returns a Closeable to release the connection when required. Normally, processing of the provided input starts instantly however certain processors may do it async so it is not guaranteed that any work will be done as soon as input is connected.

It is essential to manage the returned Closeable to avoid leaking resources.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-noop/connect-output.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-noop/connect-output.html new file mode 100644 index 000000000..6f9f47d22 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-noop/connect-output.html @@ -0,0 +1,69 @@ + + + + + connectOutput + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

connectOutput

+
+
open override fun connectOutput(output: ImageProcessor.Output): Closeable

Connects the provided output to this processor and returns a Closeable to release the connection when required. Similarly to connectInput, it is not guaranteed that the provided output will receive results as soon as it is connected, the processor may do it async.

It is essential to manage the returned Closeable to avoid leaking resources.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-noop/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-noop/index.html new file mode 100644 index 000000000..d5f5be177 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-noop/index.html @@ -0,0 +1,166 @@ + + + + + Noop + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Noop

+

Convenience implementation of Processor which does nothing but notify operation callbacks with failure.

+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open fun apply(lens: LensesComponent.Lens, callback: Consumer<Boolean> = Consumer {})

Attempts to apply the provided lens model with Lens.LaunchData.Empty. The operation is async with the result provided as success or failure flag to the callback.

open fun apply(lens: LensesComponent.Lens, launchData: LensesComponent.Lens.LaunchData = Lens.LaunchData.Empty, callback: Consumer<Boolean> = Consumer {})

Attempts to apply the provided lens model with launchData. The operation is async with the result provided as success or failure flag to the callback.

open override fun apply(lens: LensesComponent.Lens, launchData: LensesComponent.Lens.LaunchData, reset: Boolean, callback: Consumer<Boolean>)

Attempts to apply the provided lens model with launchData and the reset flag which determines whether lens state should be reset if the same lens is currently applied. The operation is async with the result provided as success or failure flag to the callback.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun clear(callback: Consumer<Boolean>)

Removes any applied Lens models. The result of the async operation is success if any Lens was removed or failure when there were no lenses to be removed or operation failed to execute.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun connectInput(input: AudioProcessor.Input): Closeable
open override fun connectInput(input: ImageProcessor.Input): Closeable
open override fun connectInput(input: MediaProcessor.Input): Closeable
open override fun connectInput(input: UserProcessor.Input): Closeable

Connects the provided input to this processor and returns a Closeable to release the connection when required. Normally, processing of the provided input starts instantly however certain processors may do it async so it is not guaranteed that any work will be done as soon as input is connected.

Connects the provided input to this processor and returns a Closeable to release the connection when required. Normally, processing of the provided input starts instantly however certain processors may do it async so it is not guaranteed that any work will be done as soon as input is connected.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun connectOutput(output: ImageProcessor.Output): Closeable

Connects the provided output to this processor and returns a Closeable to release the connection when required. Similarly to connectInput, it is not guaranteed that the provided output will receive results as soon as it is connected, the processor may do it async.

Connects the provided output to this processor and returns a Closeable to release the connection when required. Similarly to connectInput, it is not guaranteed that the provided output will receive results as soon as it is connected, the processor may do it async.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Allows to observe lens lifecycle events defined in Event.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Takes in onCapabilitiesRequested that will be notified when image processing operations require additional data from connected Input. Right after observeRequiredCapabilities is called onCapabilitiesRequested consumer will be invoked on the caller thread with the current set of required capabilities. emptySet is used to represent that additional capabilities aren't required.

+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-noop/observe-required-capabilities.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-noop/observe-required-capabilities.html new file mode 100644 index 000000000..ca14100fa --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-noop/observe-required-capabilities.html @@ -0,0 +1,69 @@ + + + + + observeRequiredCapabilities + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

observeRequiredCapabilities

+
+

Takes in onCapabilitiesRequested that will be notified when image processing operations require additional data from connected Input. Right after observeRequiredCapabilities is called onCapabilitiesRequested consumer will be invoked on the caller thread with the current set of required capabilities. emptySet is used to represent that additional capabilities aren't required.

When capabilities are requested client can connect different Input which provides those capabilities, or ignore that request. In case the capabilities request is ignored some image processing functionality may not work.

It is essential to manage the returned Closeable to avoid leaking resources.

Since

1.6.0

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-noop/observe.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-noop/observe.html new file mode 100644 index 000000000..7fc4ae7b7 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-noop/observe.html @@ -0,0 +1,69 @@ + + + + + observe + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

observe

+
+

Allows to observe lens lifecycle events defined in Event.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/apply.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/apply.html new file mode 100644 index 000000000..4adbacdd8 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/apply.html @@ -0,0 +1,69 @@ + + + + + apply + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

apply

+
+
open fun apply(lens: LensesComponent.Lens, callback: Consumer<Boolean> = Consumer {})

Attempts to apply the provided lens model with Lens.LaunchData.Empty. The operation is async with the result provided as success or failure flag to the callback.


open fun apply(lens: LensesComponent.Lens, launchData: LensesComponent.Lens.LaunchData = Lens.LaunchData.Empty, callback: Consumer<Boolean> = Consumer {})

Attempts to apply the provided lens model with launchData. The operation is async with the result provided as success or failure flag to the callback.


abstract fun apply(lens: LensesComponent.Lens, launchData: LensesComponent.Lens.LaunchData = Lens.LaunchData.Empty, reset: Boolean = false, callback: Consumer<Boolean> = Consumer {})

Attempts to apply the provided lens model with launchData and the reset flag which determines whether lens state should be reset if the same lens is currently applied. The operation is async with the result provided as success or failure flag to the callback.

Since

1.15.0

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/clear.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/clear.html new file mode 100644 index 000000000..819044771 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/clear.html @@ -0,0 +1,69 @@ + + + + + clear + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

clear

+
+
abstract fun clear(callback: Consumer<Boolean> = Consumer {})

Removes any applied Lens models. The result of the async operation is success if any Lens was removed or failure when there were no lenses to be removed or operation failed to execute.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/index.html new file mode 100644 index 000000000..78172172d --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/index.html @@ -0,0 +1,256 @@ + + + + + Processor + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Processor

+

Extension of ImageProcessor that allows to apply and remove lenses on top of the incoming image and audio input stream rendered to connected outputs.

+
+
+
+
+

Types

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
interface Configuration

Exposes configuration options available to lenses processor.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
sealed class Event

All lens lifecycle events available to observe.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
sealed class Failure : RuntimeException

Defines known failure modes of a lenses processor.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Defines how each input frame should be rotated relative to device rotation while processing.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Convenience implementation of Processor which does nothing but notify operation callbacks with failure.

+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open fun apply(lens: LensesComponent.Lens, callback: Consumer<Boolean> = Consumer {})

Attempts to apply the provided lens model with Lens.LaunchData.Empty. The operation is async with the result provided as success or failure flag to the callback.

open fun apply(lens: LensesComponent.Lens, launchData: LensesComponent.Lens.LaunchData = Lens.LaunchData.Empty, callback: Consumer<Boolean> = Consumer {})

Attempts to apply the provided lens model with launchData. The operation is async with the result provided as success or failure flag to the callback.

abstract fun apply(lens: LensesComponent.Lens, launchData: LensesComponent.Lens.LaunchData = Lens.LaunchData.Empty, reset: Boolean = false, callback: Consumer<Boolean> = Consumer {})

Attempts to apply the provided lens model with launchData and the reset flag which determines whether lens state should be reset if the same lens is currently applied. The operation is async with the result provided as success or failure flag to the callback.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract fun clear(callback: Consumer<Boolean> = Consumer {})

Removes any applied Lens models. The result of the async operation is success if any Lens was removed or failure when there were no lenses to be removed or operation failed to execute.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Connects the provided input to this processor and returns a Closeable to release the connection when required. Normally, processing of the provided input starts instantly however certain processors may do it async so it is not guaranteed that any work will be done as soon as input is connected.

Connects the provided input to this processor and returns a Closeable to release the connection when required. Normally, processing of the provided input starts instantly however certain processors may do it async so it is not guaranteed that any work will be done as soon as input is connected.

Connects the provided input to this processor and returns a Closeable to release the connection when required. Normally, processing of the provided input starts instantly however certain processors may do it async so it is not guaranteed that any work will be done as soon as input is connected.

Connects the provided input to this processor and returns a Closeable to release the connection when required. Normally, processing of the provided input starts instantly however certain processors may do it async so it is not guaranteed that any work will be done as soon as input is connected.

Connects the provided input to this processor and returns a Closeable to release the connection when required. Normally, processing of the provided input starts instantly however certain processors may do it async so it is not guaranteed that any work will be done as soon as input is connected.

Connects the provided input to this processor and returns a Closeable to release the connection when required. Normally, processing of the provided input starts instantly however certain processors may do it async so it is not guaranteed that any work will be done as soon as input is connected.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Connects the provided output to this processor and returns a Closeable to release the connection when required. Similarly to connectInput, it is not guaranteed that the provided output will receive results as soon as it is connected, the processor may do it async.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Allows to observe lens lifecycle events defined in Event.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Takes in onCapabilitiesRequested that will be notified when image processing operations require additional data from connected Input. Right after observeRequiredCapabilities is called onCapabilitiesRequested consumer will be invoked on the caller thread with the current set of required capabilities. emptySet is used to represent that additional capabilities aren't required.

+
+
+
+
+
+

Inheritors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/observe.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/observe.html new file mode 100644 index 000000000..47926283e --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/observe.html @@ -0,0 +1,69 @@ + + + + + observe + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

observe

+
+

Allows to observe lens lifecycle events defined in Event.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-call/-answered/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-call/-answered/index.html new file mode 100644 index 000000000..d761f07c5 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-call/-answered/index.html @@ -0,0 +1,91 @@ + + + + + Answered + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Answered

+

Request was received and a single Response was sent indicating that call is complete.

NOTE: a single Response must be sent to the onResponse Consumer parameter of the process method before returning Answered, no Response will lead to an exception being thrown. If more than one Response is sent before returning Answered then only the first Response will be sent to a lens.

+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun toString(): String
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-call/-answered/to-string.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-call/-answered/to-string.html new file mode 100644 index 000000000..823884a1b --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-call/-answered/to-string.html @@ -0,0 +1,69 @@ + + + + + toString + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

toString

+
+
open override fun toString(): String
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-call/-ignored/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-call/-ignored/index.html new file mode 100644 index 000000000..d36cbc953 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-call/-ignored/index.html @@ -0,0 +1,91 @@ + + + + + Ignored + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Ignored

+

Request was ignored. Typically used when RemoteApiService is not interested to handle a Request, allowing other RemoteApiService instances that are associated with the same RemoteApiService.Factory.supportedApiSpecIds to process it.

+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun toString(): String
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-call/-ignored/to-string.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-call/-ignored/to-string.html new file mode 100644 index 000000000..b94a68ae4 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-call/-ignored/to-string.html @@ -0,0 +1,69 @@ + + + + + toString + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

toString

+
+
open override fun toString(): String
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-call/-ongoing/-ongoing.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-call/-ongoing/-ongoing.html new file mode 100644 index 000000000..d9582fd6d --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-call/-ongoing/-ongoing.html @@ -0,0 +1,69 @@ + + + + + Ongoing + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Ongoing

+
+
fun Ongoing(closeable: Closeable)
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-call/-ongoing/closeable.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-call/-ongoing/closeable.html new file mode 100644 index 000000000..2fa30fae7 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-call/-ongoing/closeable.html @@ -0,0 +1,69 @@ + + + + + closeable + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

closeable

+
+ +
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-call/-ongoing/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-call/-ongoing/index.html new file mode 100644 index 000000000..529a172ef --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-call/-ongoing/index.html @@ -0,0 +1,140 @@ + + + + + Ongoing + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Ongoing

+

Request was received but one or more Responses are yet to be sent. The associated closeable is closed when the Request sender terminates the call.

+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun Ongoing(closeable: Closeable)
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun close()
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun toString(): String
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-call/-ongoing/to-string.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-call/-ongoing/to-string.html new file mode 100644 index 000000000..5be991fd9 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-call/-ongoing/to-string.html @@ -0,0 +1,69 @@ + + + + + toString + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

toString

+
+
open override fun toString(): String
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-call/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-call/index.html new file mode 100644 index 000000000..521941ef1 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-call/index.html @@ -0,0 +1,156 @@ + + + + + Call + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Call

+
sealed class Call

Represents all the possible outcomes when RemoteApiService processes a Request.

+
+
+
+
+

Types

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+

Request was received and a single Response was sent indicating that call is complete.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Request was ignored. Typically used when RemoteApiService is not interested to handle a Request, allowing other RemoteApiService instances that are associated with the same RemoteApiService.Factory.supportedApiSpecIds to process it.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Request was received but one or more Responses are yet to be sent. The associated closeable is closed when the Request sender terminates the call.

+
+
+
+
+
+

Inheritors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-companion/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-companion/index.html new file mode 100644 index 000000000..3a342586b --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-companion/index.html @@ -0,0 +1,73 @@ + + + + + Companion + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Companion

+
object Companion

Provides ability to attach utility functions to the RemoteApiService interface on implementation side.

+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-factory/-noop/create-for.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-factory/-noop/create-for.html new file mode 100644 index 000000000..169308d21 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-factory/-noop/create-for.html @@ -0,0 +1,69 @@ + + + + + createFor + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

createFor

+
+

Called to create a new instance of RemoteApiService scoped to a lifecycle of the provided lens. The returned RemoteApiService is closed when the associated lens is removed from the processing pipeline.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-factory/-noop/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-factory/-noop/index.html new file mode 100644 index 000000000..2b0550f2d --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-factory/-noop/index.html @@ -0,0 +1,108 @@ + + + + + Noop + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Noop

+

Convenience implementation of RemoteApiService.Factory which does not support any API spec IDs and always returns RemoteApiService.Noop.

+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+

Called to create a new instance of RemoteApiService scoped to a lifecycle of the provided lens. The returned RemoteApiService is closed when the associated lens is removed from the processing pipeline.

+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val supportedApiSpecIds: Set<String>

A set of API spec IDs that are supported by RemoteApiService instances created by this Factory. NOTE: API spec ID can be obtained from a Lens Studio project which uses a particular remote API service associated to an API spec ID.

+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-factory/-noop/supported-api-spec-ids.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-factory/-noop/supported-api-spec-ids.html new file mode 100644 index 000000000..f7e660d63 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-factory/-noop/supported-api-spec-ids.html @@ -0,0 +1,69 @@ + + + + + supportedApiSpecIds + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

supportedApiSpecIds

+
+
open override val supportedApiSpecIds: Set<String>

A set of API spec IDs that are supported by RemoteApiService instances created by this Factory. NOTE: API spec ID can be obtained from a Lens Studio project which uses a particular remote API service associated to an API spec ID.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-factory/create-for.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-factory/create-for.html new file mode 100644 index 000000000..d551f0256 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-factory/create-for.html @@ -0,0 +1,69 @@ + + + + + createFor + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

createFor

+
+

Called to create a new instance of RemoteApiService scoped to a lifecycle of the provided lens. The returned RemoteApiService is closed when the associated lens is removed from the processing pipeline.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-factory/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-factory/index.html new file mode 100644 index 000000000..cabbe72f3 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-factory/index.html @@ -0,0 +1,138 @@ + + + + + Factory + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Factory

+
interface Factory

Creates instances of RemoteApiService scoped to a lifecycle of a single lens.

+
+
+
+
+

Types

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+

Convenience implementation of RemoteApiService.Factory which does not support any API spec IDs and always returns RemoteApiService.Noop.

+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+

Called to create a new instance of RemoteApiService scoped to a lifecycle of the provided lens. The returned RemoteApiService is closed when the associated lens is removed from the processing pipeline.

+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+

A set of API spec IDs that are supported by RemoteApiService instances created by this Factory. NOTE: API spec ID can be obtained from a Lens Studio project which uses a particular remote API service associated to an API spec ID.

+
+
+
+
+
+

Inheritors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-factory/supported-api-spec-ids.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-factory/supported-api-spec-ids.html new file mode 100644 index 000000000..f0200d73c --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-factory/supported-api-spec-ids.html @@ -0,0 +1,69 @@ + + + + + supportedApiSpecIds + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

supportedApiSpecIds

+
+

A set of API spec IDs that are supported by RemoteApiService instances created by this Factory. NOTE: API spec ID can be obtained from a Lens Studio project which uses a particular remote API service associated to an API spec ID.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-noop/close.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-noop/close.html new file mode 100644 index 000000000..7b0e2403b --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-noop/close.html @@ -0,0 +1,69 @@ + + + + + close + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

close

+
+
open override fun close()

Closes all resources allocated for this RemoteApiService. Overridden to indicate that calling close will not throw.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-noop/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-noop/index.html new file mode 100644 index 000000000..f373791c0 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-noop/index.html @@ -0,0 +1,106 @@ + + + + + Noop + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Noop

+

Convenience implementation of RemoteApiService which ignores all requests.

+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun close()

Closes all resources allocated for this RemoteApiService. Overridden to indicate that calling close will not throw.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Attempts to process the request with one or multiple Responses sent back to the provided onResponse. The returned Call indicates how this RemoteApiService handled the request so that callers can act accordingly:

+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-noop/process.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-noop/process.html new file mode 100644 index 000000000..43ef75aa7 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-noop/process.html @@ -0,0 +1,69 @@ + + + + + process + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

process

+
+

Attempts to process the request with one or multiple Responses sent back to the provided onResponse. The returned Call indicates how this RemoteApiService handled the request so that callers can act accordingly:

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-request/-request.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-request/-request.html new file mode 100644 index 000000000..c4e4bb6c3 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-request/-request.html @@ -0,0 +1,69 @@ + + + + + Request + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Request

+
+
fun Request(id: String, apiSpecId: String, endpointId: String, parameters: Map<String, String>, body: ByteArray)

Parameters

id

Unique id of the request.

apiSpecId

Unique id of the remote API service specification.

endpointId

Unique id of the remote API service endpoint requested by this request.

parameters

A map of named parameters associated with the request.

body

Additional request payload as a ByteArray.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-request/api-spec-id.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-request/api-spec-id.html new file mode 100644 index 000000000..73dc1ddf9 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-request/api-spec-id.html @@ -0,0 +1,69 @@ + + + + + apiSpecId + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

apiSpecId

+
+

Parameters

apiSpecId

Unique id of the remote API service specification.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-request/body.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-request/body.html new file mode 100644 index 000000000..08bf38be7 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-request/body.html @@ -0,0 +1,69 @@ + + + + + body + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

body

+
+

Parameters

body

Additional request payload as a ByteArray.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-request/endpoint-id.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-request/endpoint-id.html new file mode 100644 index 000000000..577857a64 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-request/endpoint-id.html @@ -0,0 +1,69 @@ + + + + + endpointId + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

endpointId

+
+

Parameters

endpointId

Unique id of the remote API service endpoint requested by this request.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-request/equals.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-request/equals.html new file mode 100644 index 000000000..75dae7ec7 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-request/equals.html @@ -0,0 +1,69 @@ + + + + + equals + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

equals

+
+
open operator override fun equals(other: Any?): Boolean
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-request/hash-code.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-request/hash-code.html new file mode 100644 index 000000000..971150085 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-request/hash-code.html @@ -0,0 +1,69 @@ + + + + + hashCode + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

hashCode

+
+
open override fun hashCode(): Int
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-request/id.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-request/id.html new file mode 100644 index 000000000..811a3b1bb --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-request/id.html @@ -0,0 +1,69 @@ + + + + + id + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

id

+
+
val id: String

Parameters

id

Unique id of the request.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-request/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-request/index.html new file mode 100644 index 000000000..176d25a6e --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-request/index.html @@ -0,0 +1,219 @@ + + + + + Request + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Request

+
class Request(val id: String, val apiSpecId: String, val endpointId: String, val parameters: Map<String, String>, val body: ByteArray)

Defines the data model for a request sent by a lens.

+
+
+
+
+

Parameters

+
+
id

Unique id of the request.

apiSpecId

Unique id of the remote API service specification.

endpointId

Unique id of the remote API service endpoint requested by this request.

parameters

A map of named parameters associated with the request.

body

Additional request payload as a ByteArray.

+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun Request(id: String, apiSpecId: String, endpointId: String, parameters: Map<String, String>, body: ByteArray)
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open operator override fun equals(other: Any?): Boolean
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun hashCode(): Int
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun toString(): String
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val id: String
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-request/parameters.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-request/parameters.html new file mode 100644 index 000000000..225c1ec23 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-request/parameters.html @@ -0,0 +1,69 @@ + + + + + parameters + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

parameters

+
+

Parameters

parameters

A map of named parameters associated with the request.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-request/to-string.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-request/to-string.html new file mode 100644 index 000000000..f9ddd7347 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-request/to-string.html @@ -0,0 +1,69 @@ + + + + + toString + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

toString

+
+
open override fun toString(): String
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-response/-response.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-response/-response.html new file mode 100644 index 000000000..e766e04d6 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-response/-response.html @@ -0,0 +1,69 @@ + + + + + Response + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Response

+
+

Parameters

request

Request that triggered this response.

status

Status of the response.

metadata

A map of named metadata associated with the response.

body

Additional response payload as a ByteArray.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-response/-status/-a-c-c-e-s-s_-d-e-n-i-e-d/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-response/-status/-a-c-c-e-s-s_-d-e-n-i-e-d/index.html new file mode 100644 index 000000000..5a703d413 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-response/-status/-a-c-c-e-s-s_-d-e-n-i-e-d/index.html @@ -0,0 +1,106 @@ + + + + + ACCESS_DENIED + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

ACCESS_DENIED

+

Caller doesn't have permission to access resource.

+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-response/-status/-b-a-d_-r-e-q-u-e-s-t/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-response/-status/-b-a-d_-r-e-q-u-e-s-t/index.html new file mode 100644 index 000000000..6cc24f258 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-response/-status/-b-a-d_-r-e-q-u-e-s-t/index.html @@ -0,0 +1,106 @@ + + + + + BAD_REQUEST + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

BAD_REQUEST

+

Invalid request.

+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-response/-status/-c-a-n-c-e-l-l-e-d/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-response/-status/-c-a-n-c-e-l-l-e-d/index.html new file mode 100644 index 000000000..23724e2bf --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-response/-status/-c-a-n-c-e-l-l-e-d/index.html @@ -0,0 +1,106 @@ + + + + + CANCELLED + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

CANCELLED

+

Request cancelled by caller.

+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-response/-status/-i-n-t-e-r-n-a-l_-s-e-r-v-i-c-e_-e-r-r-o-r/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-response/-status/-i-n-t-e-r-n-a-l_-s-e-r-v-i-c-e_-e-r-r-o-r/index.html new file mode 100644 index 000000000..95ae8b097 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-response/-status/-i-n-t-e-r-n-a-l_-s-e-r-v-i-c-e_-e-r-r-o-r/index.html @@ -0,0 +1,106 @@ + + + + + INTERNAL_SERVICE_ERROR + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

INTERNAL_SERVICE_ERROR

+

Internal service error.

+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-response/-status/-n-o-t_-f-o-u-n-d/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-response/-status/-n-o-t_-f-o-u-n-d/index.html new file mode 100644 index 000000000..b2aa1e53f --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-response/-status/-n-o-t_-f-o-u-n-d/index.html @@ -0,0 +1,106 @@ + + + + + NOT_FOUND + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

NOT_FOUND

+

Resource not found.

+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-response/-status/-r-e-d-i-r-e-c-t-e-d/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-response/-status/-r-e-d-i-r-e-c-t-e-d/index.html new file mode 100644 index 000000000..d12f0972a --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-response/-status/-r-e-d-i-r-e-c-t-e-d/index.html @@ -0,0 +1,106 @@ + + + + + REDIRECTED + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

REDIRECTED

+

Request was redirected.

+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-response/-status/-r-e-q-u-e-s-t_-t-o-o_-l-a-r-g-e/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-response/-status/-r-e-q-u-e-s-t_-t-o-o_-l-a-r-g-e/index.html new file mode 100644 index 000000000..7be489356 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-response/-status/-r-e-q-u-e-s-t_-t-o-o_-l-a-r-g-e/index.html @@ -0,0 +1,106 @@ + + + + + REQUEST_TOO_LARGE + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

REQUEST_TOO_LARGE

+

Request too large.

+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-response/-status/-s-u-c-c-e-s-s/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-response/-status/-s-u-c-c-e-s-s/index.html new file mode 100644 index 000000000..b76762174 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-response/-status/-s-u-c-c-e-s-s/index.html @@ -0,0 +1,106 @@ + + + + + SUCCESS + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

SUCCESS

+

Request succeeded.

+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-response/-status/-t-i-m-e-o-u-t/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-response/-status/-t-i-m-e-o-u-t/index.html new file mode 100644 index 000000000..a31ea61a0 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-response/-status/-t-i-m-e-o-u-t/index.html @@ -0,0 +1,106 @@ + + + + + TIMEOUT + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

TIMEOUT

+

Request timed out.

+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-response/-status/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-response/-status/index.html new file mode 100644 index 000000000..728c31b3f --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-response/-status/index.html @@ -0,0 +1,275 @@ + + + + + Status + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Status

+

Defines all the available statuses that a Response can carry.

+
+
+
+
+

Entries

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+

Request succeeded.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Request was redirected.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Invalid request.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Caller doesn't have permission to access resource.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Resource not found.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Request timed out.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Request too large.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Internal service error.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Request cancelled by caller.

+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+

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.)

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Returns an array containing the constants of this enum type, in the order they're declared.

+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-response/-status/value-of.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-response/-status/value-of.html new file mode 100644 index 000000000..d9aac6b8c --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-response/-status/value-of.html @@ -0,0 +1,69 @@ + + + + + valueOf + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

valueOf

+
+

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.)

Throws

if this enum type has no constant with the specified name

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-response/-status/values.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-response/-status/values.html new file mode 100644 index 000000000..23c15f5ff --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-response/-status/values.html @@ -0,0 +1,69 @@ + + + + + values + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

values

+
+

Returns an array containing the constants of this enum type, in the order they're declared.

This method may be used to iterate over the constants.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-response/body.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-response/body.html new file mode 100644 index 000000000..b7762b9d7 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-response/body.html @@ -0,0 +1,69 @@ + + + + + body + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

body

+
+

Parameters

body

Additional response payload as a ByteArray.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-response/equals.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-response/equals.html new file mode 100644 index 000000000..a12c5d7f2 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-response/equals.html @@ -0,0 +1,69 @@ + + + + + equals + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

equals

+
+
open operator override fun equals(other: Any?): Boolean
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-response/hash-code.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-response/hash-code.html new file mode 100644 index 000000000..896b2ccb9 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-response/hash-code.html @@ -0,0 +1,69 @@ + + + + + hashCode + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

hashCode

+
+
open override fun hashCode(): Int
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-response/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-response/index.html new file mode 100644 index 000000000..9f65b3d49 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-response/index.html @@ -0,0 +1,221 @@ + + + + + Response + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Response

+

Defines the data model for a response to a request sent by a lens.

+
+
+
+
+

Parameters

+
+
request

Request that triggered this response.

status

Status of the response.

metadata

A map of named metadata associated with the response.

body

Additional response payload as a ByteArray.

+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+ +
+
+
+

Types

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+

Defines all the available statuses that a Response can carry.

+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open operator override fun equals(other: Any?): Boolean
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun hashCode(): Int
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun toString(): String
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+ +
+
+ +
+
+
+ + +
Link copied to clipboard
+
+ +
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-response/metadata.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-response/metadata.html new file mode 100644 index 000000000..7b9ffba2d --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-response/metadata.html @@ -0,0 +1,69 @@ + + + + + metadata + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

metadata

+
+

Parameters

metadata

A map of named metadata associated with the response.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-response/request.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-response/request.html new file mode 100644 index 000000000..006a7752c --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-response/request.html @@ -0,0 +1,69 @@ + + + + + request + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

request

+
+

Parameters

request

Request that triggered this response.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-response/status.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-response/status.html new file mode 100644 index 000000000..3077d17e1 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-response/status.html @@ -0,0 +1,69 @@ + + + + + status + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

status

+
+ +
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-response/to-string.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-response/to-string.html new file mode 100644 index 000000000..7590a2232 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-response/to-string.html @@ -0,0 +1,69 @@ + + + + + toString + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

toString

+
+
open override fun toString(): String
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/close.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/close.html new file mode 100644 index 000000000..4bae5742d --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/close.html @@ -0,0 +1,69 @@ + + + + + close + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

close

+
+
abstract override fun close()

Closes all resources allocated for this RemoteApiService. Overridden to indicate that calling close will not throw.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/index.html new file mode 100644 index 000000000..76946397e --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/index.html @@ -0,0 +1,211 @@ + + + + + RemoteApiService + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

RemoteApiService

+

Provides ability to handle remote API requests that originate within lenses. Lifecycle of a RemoteApiService is scoped to a lifecycle of a single lens. To provide RemoteApiService instances, register a RemoteApiService.Factory via the Builder.remoteApiServiceFactory method.

Since

1.13.0

+
+
+
+
+

Types

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
sealed class Call

Represents all the possible outcomes when RemoteApiService processes a Request.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
object Companion

Provides ability to attach utility functions to the RemoteApiService interface on implementation side.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
interface Factory

Creates instances of RemoteApiService scoped to a lifecycle of a single lens.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Convenience implementation of RemoteApiService which ignores all requests.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
class Request(val id: String, val apiSpecId: String, val endpointId: String, val parameters: Map<String, String>, val body: ByteArray)

Defines the data model for a request sent by a lens.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Defines the data model for a response to a request sent by a lens.

+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract override fun close()

Closes all resources allocated for this RemoteApiService. Overridden to indicate that calling close will not throw.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Attempts to process the request with one or multiple Responses sent back to the provided onResponse. The returned Call indicates how this RemoteApiService handled the request so that callers can act accordingly:

+
+
+
+
+
+

Inheritors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/process.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/process.html new file mode 100644 index 000000000..6b5267678 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/process.html @@ -0,0 +1,69 @@ + + + + + process + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

process

+
+

Attempts to process the request with one or multiple Responses sent back to the provided onResponse. The returned Call indicates how this RemoteApiService handled the request so that callers can act accordingly:

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-noop/get.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-noop/get.html new file mode 100644 index 000000000..d1e48b9d2 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-noop/get.html @@ -0,0 +1,69 @@ + + + + + get + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

get

+
+

Submits a query for QueryCriteria to receive the most up-to-date results into the provided onResult callback. When querying for multiple groups via QueryCriteria.Available it is not guaranteed that results will contain data for all underlying lens group sources - some maybe empty in case of network errors etc. To avoid incomplete data, prefer continuous observation of a specific QueryCriteria through observe.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-noop/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-noop/index.html new file mode 100644 index 000000000..c4ed3fd8a --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-noop/index.html @@ -0,0 +1,106 @@ + + + + + Noop + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Noop

+

Convenience implementation of Repository which always returns empty results for any submitted query.

+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+

Submits a query for QueryCriteria to receive the most up-to-date results into the provided onResult callback. When querying for multiple groups via QueryCriteria.Available it is not guaranteed that results will contain data for all underlying lens group sources - some maybe empty in case of network errors etc. To avoid incomplete data, prefer continuous observation of a specific QueryCriteria through observe.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Submits a query for QueryCriteria to receive results into the provided onResult callback. The callback is invoked every time there is a change in the underlying Repository data. The returned Closeable allows to cancel the ongoing subscription by calling Closeable.close. If Closeable is ignored then subscription is cancelled once LensesComponent is closed via LensesComponent.close or its parent.

+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-noop/observe.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-noop/observe.html new file mode 100644 index 000000000..021051d87 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-noop/observe.html @@ -0,0 +1,69 @@ + + + + + observe + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

observe

+
+

Submits a query for QueryCriteria to receive results into the provided onResult callback. The callback is invoked every time there is a change in the underlying Repository data. The returned Closeable allows to cancel the ongoing subscription by calling Closeable.close. If Closeable is ignored then subscription is cancelled once LensesComponent is closed via LensesComponent.close or its parent.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-query-criteria/-available/-available.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-query-criteria/-available/-available.html new file mode 100644 index 000000000..4232f0bb4 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-query-criteria/-available/-available.html @@ -0,0 +1,69 @@ + + + + + Available + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Available

+
+
fun Available(vararg groupIds: String)
fun Available(groupIds: Set<String>)
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-query-criteria/-available/equals.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-query-criteria/-available/equals.html new file mode 100644 index 000000000..030877fe7 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-query-criteria/-available/equals.html @@ -0,0 +1,69 @@ + + + + + equals + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

equals

+
+
open operator override fun equals(other: Any?): Boolean
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-query-criteria/-available/group-ids.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-query-criteria/-available/group-ids.html new file mode 100644 index 000000000..5520e09bf --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-query-criteria/-available/group-ids.html @@ -0,0 +1,69 @@ + + + + + groupIds + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

groupIds

+
+ +
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-query-criteria/-available/hash-code.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-query-criteria/-available/hash-code.html new file mode 100644 index 000000000..7c06dcb43 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-query-criteria/-available/hash-code.html @@ -0,0 +1,69 @@ + + + + + hashCode + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

hashCode

+
+
open override fun hashCode(): Int
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-query-criteria/-available/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-query-criteria/-available/index.html new file mode 100644 index 000000000..3a314af06 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-query-criteria/-available/index.html @@ -0,0 +1,170 @@ + + + + + Available + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Available

+

Query for all available lenses in groups matching provided group IDs.

+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun Available(vararg groupIds: String)
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun Available(groupIds: Set<String>)
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open operator override fun equals(other: Any?): Boolean
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun hashCode(): Int
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun toString(): String
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-query-criteria/-available/to-string.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-query-criteria/-available/to-string.html new file mode 100644 index 000000000..0c99e635e --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-query-criteria/-available/to-string.html @@ -0,0 +1,69 @@ + + + + + toString + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

toString

+
+
open override fun toString(): String
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-query-criteria/-by-id/-by-id.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-query-criteria/-by-id/-by-id.html new file mode 100644 index 000000000..219d58eaa --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-query-criteria/-by-id/-by-id.html @@ -0,0 +1,69 @@ + + + + + ById + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

ById

+
+
fun ById(id: String, groupId: String)
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-query-criteria/-by-id/equals.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-query-criteria/-by-id/equals.html new file mode 100644 index 000000000..cf7805f29 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-query-criteria/-by-id/equals.html @@ -0,0 +1,69 @@ + + + + + equals + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

equals

+
+
open operator override fun equals(other: Any?): Boolean
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-query-criteria/-by-id/group-id.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-query-criteria/-by-id/group-id.html new file mode 100644 index 000000000..e2844e332 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-query-criteria/-by-id/group-id.html @@ -0,0 +1,69 @@ + + + + + groupId + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

groupId

+
+ +
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-query-criteria/-by-id/hash-code.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-query-criteria/-by-id/hash-code.html new file mode 100644 index 000000000..47a582f70 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-query-criteria/-by-id/hash-code.html @@ -0,0 +1,69 @@ + + + + + hashCode + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

hashCode

+
+
open override fun hashCode(): Int
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-query-criteria/-by-id/id.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-query-criteria/-by-id/id.html new file mode 100644 index 000000000..cd4e14a6e --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-query-criteria/-by-id/id.html @@ -0,0 +1,69 @@ + + + + + id + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

id

+
+
val id: String
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-query-criteria/-by-id/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-query-criteria/-by-id/index.html new file mode 100644 index 000000000..1bf355b08 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-query-criteria/-by-id/index.html @@ -0,0 +1,170 @@ + + + + + ById + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

ById

+

Query for a lens matching the provided id and groupId.

+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun ById(id: String, groupId: String)
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open operator override fun equals(other: Any?): Boolean
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun hashCode(): Int
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun toString(): String
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val id: String
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-query-criteria/-by-id/to-string.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-query-criteria/-by-id/to-string.html new file mode 100644 index 000000000..847ac8846 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-query-criteria/-by-id/to-string.html @@ -0,0 +1,69 @@ + + + + + toString + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

toString

+
+
open override fun toString(): String
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-query-criteria/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-query-criteria/index.html new file mode 100644 index 000000000..98d4b267a --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-query-criteria/index.html @@ -0,0 +1,130 @@ + + + + + QueryCriteria + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

QueryCriteria

+
sealed class QueryCriteria

Defines all possible ways this repository can be queried for lenses.

+
+
+
+
+

Types

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+

Query for all available lenses in groups matching provided group IDs.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Query for a lens matching the provided id and groupId.

+
+
+
+
+
+

Inheritors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-result/-none/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-result/-none/index.html new file mode 100644 index 000000000..11f7b7cd4 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-result/-none/index.html @@ -0,0 +1,123 @@ + + + + + None + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

None

+

Indicates that no lenses are available at the moment of querying.

+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun toString(): String
+
+
+
+
+
+

Extensions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+

Notifies when LensesComponent.Repository has some available lenses calling back with the first one.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-result/-none/to-string.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-result/-none/to-string.html new file mode 100644 index 000000000..9b1cdaebb --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-result/-none/to-string.html @@ -0,0 +1,69 @@ + + + + + toString + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

toString

+
+
open override fun toString(): String
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-result/-some/-some.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-result/-some/-some.html new file mode 100644 index 000000000..0d1f5553f --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-result/-some/-some.html @@ -0,0 +1,69 @@ + + + + + Some + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Some

+
+ +
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-result/-some/equals.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-result/-some/equals.html new file mode 100644 index 000000000..960faf518 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-result/-some/equals.html @@ -0,0 +1,69 @@ + + + + + equals + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

equals

+
+
open operator override fun equals(other: Any?): Boolean
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-result/-some/hash-code.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-result/-some/hash-code.html new file mode 100644 index 000000000..1e4f1369c --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-result/-some/hash-code.html @@ -0,0 +1,69 @@ + + + + + hashCode + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

hashCode

+
+
open override fun hashCode(): Int
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-result/-some/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-result/-some/index.html new file mode 100644 index 000000000..05911922a --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-result/-some/index.html @@ -0,0 +1,202 @@ + + + + + Some + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Some

+

Indicates that some lenses are available at the moment of querying. The lenses list is guaranteed to be non-empty.

+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open operator override fun equals(other: Any?): Boolean
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun hashCode(): Int
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun toString(): String
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+ +
+
+
+

Extensions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+

Notifies when LensesComponent.Repository has some available lenses calling back with the first one.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-result/-some/lenses.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-result/-some/lenses.html new file mode 100644 index 000000000..9b02be1d6 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-result/-some/lenses.html @@ -0,0 +1,69 @@ + + + + + lenses + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

lenses

+
+ +
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-result/-some/to-string.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-result/-some/to-string.html new file mode 100644 index 000000000..461de2027 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-result/-some/to-string.html @@ -0,0 +1,69 @@ + + + + + toString + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

toString

+
+
open override fun toString(): String
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-result/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-result/index.html new file mode 100644 index 000000000..053fd7f7e --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-result/index.html @@ -0,0 +1,162 @@ + + + + + Result + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Result

+
sealed class Result

Defines all possible results that queries for lenses can yield.

+
+
+
+
+

Types

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+

Indicates that no lenses are available at the moment of querying.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Indicates that some lenses are available at the moment of querying. The lenses list is guaranteed to be non-empty.

+
+
+
+
+
+

Inheritors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
+
+

Extensions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+

Notifies when LensesComponent.Repository has some available lenses calling back with the first one.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/get.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/get.html new file mode 100644 index 000000000..41be4eac0 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/get.html @@ -0,0 +1,69 @@ + + + + + get + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

get

+
+

Submits a query for QueryCriteria to receive the most up-to-date results into the provided onResult callback. When querying for multiple groups via QueryCriteria.Available it is not guaranteed that results will contain data for all underlying lens group sources - some maybe empty in case of network errors etc. To avoid incomplete data, prefer continuous observation of a specific QueryCriteria through observe.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/index.html new file mode 100644 index 000000000..d59a570e4 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/index.html @@ -0,0 +1,166 @@ + + + + + Repository + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Repository

+
interface Repository

Provides ability to query lenses that are available to interact with by specific criteria.

+
+
+
+
+

Types

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+

Convenience implementation of Repository which always returns empty results for any submitted query.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
sealed class QueryCriteria

Defines all possible ways this repository can be queried for lenses.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
sealed class Result

Defines all possible results that queries for lenses can yield.

+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+

Submits a query for QueryCriteria to receive the most up-to-date results into the provided onResult callback. When querying for multiple groups via QueryCriteria.Available it is not guaranteed that results will contain data for all underlying lens group sources - some maybe empty in case of network errors etc. To avoid incomplete data, prefer continuous observation of a specific QueryCriteria through observe.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Submits a query for QueryCriteria to receive results into the provided onResult callback. The callback is invoked every time there is a change in the underlying Repository data. The returned Closeable allows to cancel the ongoing subscription by calling Closeable.close. If Closeable is ignored then subscription is cancelled once LensesComponent is closed via LensesComponent.close or its parent.

+
+
+
+
+
+

Inheritors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/observe.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/observe.html new file mode 100644 index 000000000..2aea23416 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/observe.html @@ -0,0 +1,69 @@ + + + + + observe + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

observe

+
+

Submits a query for QueryCriteria to receive results into the provided onResult callback. The callback is invoked every time there is a change in the underlying Repository data. The returned Closeable allows to cancel the ongoing subscription by calling Closeable.close. If Closeable is ignored then subscription is cancelled once LensesComponent is closed via LensesComponent.close or its parent.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/audio.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/audio.html new file mode 100644 index 000000000..e781fb3e4 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/audio.html @@ -0,0 +1,69 @@ + + + + + audio + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

audio

+
+

Provides control over the lenses audio. If this LensesComponent is closed then the returned Audio is expected to be no-op.

NOTE: by default lenses audio output is turned on.

Since

1.8.0

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/carousel.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/carousel.html new file mode 100644 index 000000000..d168c591f --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/carousel.html @@ -0,0 +1,69 @@ + + + + + carousel + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

carousel

+
+

Provides a Carousel of lenses available to interact with during this component lifecycle. If this LensesComponent is closed or if this LensesComponent was not configured to enable carousel using LensesComponent.Builder.configureCarousel then the returned Carousel is expected to be no-op.

Since

1.4.0

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/close.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/close.html new file mode 100644 index 000000000..1a7e9dc16 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/close.html @@ -0,0 +1,69 @@ + + + + + close + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

close

+
+
abstract override fun close()

Closes all resources allocated for this LensesComponent. Overridden to indicate that calling close will not throw.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/index.html new file mode 100644 index 000000000..8c044b2b0 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/index.html @@ -0,0 +1,408 @@ + + + + + LensesComponent + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

LensesComponent

+

Provides access to all available features of lenses. Normally, an instance of a component is acquired through com.snap.camerakit.Session which manages the lifecycle of the component.

+
+
+
+
+

Types

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
interface Audio

Provides control over the lenses audio.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
interface Builder
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
interface Cache

Provides ability to interact with lenses content cache used by LensesComponent.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
interface Carousel

Provides ability to interact with lenses carousel feature which can be enabled with Configuration supplied to LensesComponent.Builder.configureCarousel method.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
interface Hints

Provides ability to interact with lens hints feature which can be enabled with Configuration supplied to LensesComponent.Builder.configureHints method.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
interface Lens

Defines the data model of a lens that is available to be used by LensesComponent exposed features.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
interface LoadingOverlay

Provides ability to interact with lens loading overlay feature which can be enabled with Configuration supplied to LensesComponent.Builder.configureLoadingOverlay method. If enabled, loading overlay is shown when a lens that is being applied via Processor.apply or selected via Carousel is loading resources from network or other sources.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
interface MediaPicker

Provides ability to interact with lens media picker feature which can be enabled with Configuration supplied to LensesComponent.Builder.configureMediaPicker method. If enabled, media picker is shown when an applied lens requires media data and displays media items which MediaProcessor receives from MediaProcessor.Input.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Implementation of LensesComponent which does nothing.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
interface Preferences

Provides ability to interact with storage used by lenses to store user specific data such as game or on-boarding state, options etc.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
interface Prefetcher

Provides ability to prefetch content of lenses before they are applied using a Processor. The amount of lenses content that gets prefetched is limited by the Cache.Configuration provided to LensesComponent.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Extension of ImageProcessor that allows to apply and remove lenses on top of the incoming image and audio input stream rendered to connected outputs.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Provides ability to handle remote API requests that originate within lenses. Lifecycle of a RemoteApiService is scoped to a lifecycle of a single lens. To provide RemoteApiService instances, register a RemoteApiService.Factory via the Builder.remoteApiServiceFactory method.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
interface Repository

Provides ability to query lenses that are available to interact with by specific criteria.

+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract override fun close()

Closes all resources allocated for this LensesComponent. Overridden to indicate that calling close will not throw.

+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+

Provides control over the lenses audio. If this LensesComponent is closed then the returned Audio is expected to be no-op.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Provides a Carousel of lenses available to interact with during this component lifecycle. If this LensesComponent is closed or if this LensesComponent was not configured to enable carousel using LensesComponent.Builder.configureCarousel then the returned Carousel is expected to be no-op.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Provides a Preferences of lenses available to interact with during this component lifecycle. If this LensesComponent is closed then the returned Preferences is expected to be no-op.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Provides a Prefetcher of lenses available to interact with during this component lifecycle. If this LensesComponent is closed then the returned Prefetcher is expected to be no-op.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Provides lenses specific Processor which allows to process image and audio input with applied lenses while rendering results to connected outputs. If this LensesComponent is closed then the returned Processor is expected to be no-op.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Provides a Repository of lenses available to interact with during this component lifecycle. If this LensesComponent is closed then the returned Repository is expected to be no-op.

+
+
+
+
+
+

Inheritors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/preferences.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/preferences.html new file mode 100644 index 000000000..50f4a0d0b --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/preferences.html @@ -0,0 +1,69 @@ + + + + + preferences + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

preferences

+
+

Provides a Preferences of lenses available to interact with during this component lifecycle. If this LensesComponent is closed then the returned Preferences is expected to be no-op.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/prefetcher.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/prefetcher.html new file mode 100644 index 000000000..aeeef7454 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/prefetcher.html @@ -0,0 +1,69 @@ + + + + + prefetcher + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

prefetcher

+
+

Provides a Prefetcher of lenses available to interact with during this component lifecycle. If this LensesComponent is closed then the returned Prefetcher is expected to be no-op.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/processor.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/processor.html new file mode 100644 index 000000000..83c0a29d8 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/processor.html @@ -0,0 +1,69 @@ + + + + + processor + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

processor

+
+

Provides lenses specific Processor which allows to process image and audio input with applied lenses while rendering results to connected outputs. If this LensesComponent is closed then the returned Processor is expected to be no-op.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/repository.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/repository.html new file mode 100644 index 000000000..bd237031b --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-component/repository.html @@ -0,0 +1,69 @@ + + + + + repository + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

repository

+
+

Provides a Repository of lenses available to interact with during this component lifecycle. If this LensesComponent is closed then the returned Repository is expected to be no-op.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-launch-data/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-launch-data/index.html new file mode 100644 index 000000000..dce0192e2 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-launch-data/index.html @@ -0,0 +1,91 @@ + + + + + LensesLaunchData + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

LensesLaunchData

+

Convenience methods to create LensesComponent.Lens.LaunchData instances.

+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+ +
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-launch-data/new-builder.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-launch-data/new-builder.html new file mode 100644 index 000000000..fb4e7a7f4 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/-lenses-launch-data/new-builder.html @@ -0,0 +1,69 @@ + + + + + newBuilder + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

newBuilder

+
+ +
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/index.html new file mode 100644 index 000000000..683d75a00 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/index.html @@ -0,0 +1,259 @@ + + + + + com.snap.camerakit.lenses + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Package-level declarations

+
+
+
+
+

Types

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+

Provides access to all available features of lenses. Normally, an instance of a component is acquired through com.snap.camerakit.Session which manages the lifecycle of the component.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
Convenience methods to create LensesComponent.Lens.LaunchData instances.
+
+
+
+
+
+

Functions

+
+ + + + + + + + + + + + +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Notifies when LensesComponent.Repository has some available lenses calling back with the first one.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+ +
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+

Identifies bundled lens group which which is optionally provided to CameraKit from assets.

+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/when-activated-idle.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/when-activated-idle.html new file mode 100644 index 000000000..3a9bb38fe --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/when-activated-idle.html @@ -0,0 +1,69 @@ + + + + + whenActivatedIdle + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

whenActivatedIdle

+
+ +
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/when-activated-with-lens.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/when-activated-with-lens.html new file mode 100644 index 000000000..cf10147fd --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/when-activated-with-lens.html @@ -0,0 +1,69 @@ + + + + + whenActivatedWithLens + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

whenActivatedWithLens

+
+ +
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/when-activated.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/when-activated.html new file mode 100644 index 000000000..ef17acc07 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/when-activated.html @@ -0,0 +1,69 @@ + + + + + whenActivated + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

whenActivated

+
+ +
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/when-applied.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/when-applied.html new file mode 100644 index 000000000..51a1331da --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/when-applied.html @@ -0,0 +1,69 @@ + + + + + whenApplied + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

whenApplied

+
+ +
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/when-deactivated.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/when-deactivated.html new file mode 100644 index 000000000..8981840f4 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/when-deactivated.html @@ -0,0 +1,69 @@ + + + + + whenDeactivated + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

whenDeactivated

+
+ +
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/when-first-frame-processed.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/when-first-frame-processed.html new file mode 100644 index 000000000..eea97a8b8 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/when-first-frame-processed.html @@ -0,0 +1,69 @@ + + + + + whenFirstFrameProcessed + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

whenFirstFrameProcessed

+
+ +
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/when-has-first.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/when-has-first.html new file mode 100644 index 000000000..f699490a7 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/when-has-first.html @@ -0,0 +1,69 @@ + + + + + whenHasFirst + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

whenHasFirst

+
+

Notifies when LensesComponent.Repository has some available lenses calling back with the first one.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/when-has-some.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/when-has-some.html new file mode 100644 index 000000000..4765c1fe1 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/when-has-some.html @@ -0,0 +1,69 @@ + + + + + whenHasSome + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

whenHasSome

+
+ +
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/when-idle.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/when-idle.html new file mode 100644 index 000000000..881d7ab50 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit.lenses/when-idle.html @@ -0,0 +1,69 @@ + + + + + whenIdle + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

whenIdle

+
+ +
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-audio-processor/-input/-frame/buffer.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-audio-processor/-input/-frame/buffer.html new file mode 100644 index 000000000..0f48e818f --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-audio-processor/-input/-frame/buffer.html @@ -0,0 +1,69 @@ + + + + + buffer + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

buffer

+
+
abstract val buffer: ByteArray

Audio data samples where each sample is encoded in PCM_16, stored in a ByteArray.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-audio-processor/-input/-frame/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-audio-processor/-input/-frame/index.html new file mode 100644 index 000000000..4dd98cc55 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-audio-processor/-input/-frame/index.html @@ -0,0 +1,123 @@ + + + + + Frame + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Frame

+
interface Frame

Defines the properties of a single audio input Frame. The buffer in each Frame is mutable which allows to apply audio processing operations to the input audio before it gets written / played somewhere else.

+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract fun recycle()

Allows to recycle the instance of this frame for a new frame.

+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract val buffer: ByteArray

Audio data samples where each sample is encoded in PCM_16, stored in a ByteArray.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract val samplesCount: Int

The count of samples present in the buffer. This is normally buffer.size / bytesPerChannel where bytesPerChannel = 2 for PCM_16 data.

+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-audio-processor/-input/-frame/recycle.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-audio-processor/-input/-frame/recycle.html new file mode 100644 index 000000000..65030244b --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-audio-processor/-input/-frame/recycle.html @@ -0,0 +1,69 @@ + + + + + recycle + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

recycle

+
+
abstract fun recycle()

Allows to recycle the instance of this frame for a new frame.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-audio-processor/-input/-frame/samples-count.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-audio-processor/-input/-frame/samples-count.html new file mode 100644 index 000000000..83cdbcf11 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-audio-processor/-input/-frame/samples-count.html @@ -0,0 +1,69 @@ + + + + + samplesCount + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

samplesCount

+
+
abstract val samplesCount: Int

The count of samples present in the buffer. This is normally buffer.size / bytesPerChannel where bytesPerChannel = 2 for PCM_16 data.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-audio-processor/-input/buffer-size.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-audio-processor/-input/buffer-size.html new file mode 100644 index 000000000..b1c667c58 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-audio-processor/-input/buffer-size.html @@ -0,0 +1,69 @@ + + + + + bufferSize + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

bufferSize

+
+
abstract val bufferSize: Int

Size of audio data expected to be delivered per frame.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-audio-processor/-input/channels.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-audio-processor/-input/channels.html new file mode 100644 index 000000000..23ace5bcf --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-audio-processor/-input/channels.html @@ -0,0 +1,69 @@ + + + + + channels + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

channels

+
+
abstract val channels: Int

Number of channels in audio data.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-audio-processor/-input/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-audio-processor/-input/index.html new file mode 100644 index 000000000..c42069e85 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-audio-processor/-input/index.html @@ -0,0 +1,155 @@ + + + + + Input + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Input

+
interface Input

Defines the audio input source model that is available to be read from by the processor.

+
+
+
+
+

Types

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
interface Frame

Defines the properties of a single audio input Frame. The buffer in each Frame is mutable which allows to apply audio processing operations to the input audio before it gets written / played somewhere else.

+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+

Subscribes to the provided onFrameAvailable to be notified when a new Frame is available for this input. The returned Closeable must be closed when done working with this input otherwise underlying resources will be leaked.

+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract val bufferSize: Int

Size of audio data expected to be delivered per frame.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract val channels: Int

Number of channels in audio data.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract val sampleRate: Int

Number of samples for each audio channel per second, typically 44100Hz.

+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-audio-processor/-input/sample-rate.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-audio-processor/-input/sample-rate.html new file mode 100644 index 000000000..50cbfa1bc --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-audio-processor/-input/sample-rate.html @@ -0,0 +1,69 @@ + + + + + sampleRate + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

sampleRate

+
+
abstract val sampleRate: Int

Number of samples for each audio channel per second, typically 44100Hz.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-audio-processor/-input/subscribe-to.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-audio-processor/-input/subscribe-to.html new file mode 100644 index 000000000..215e26fe1 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-audio-processor/-input/subscribe-to.html @@ -0,0 +1,69 @@ + + + + + subscribeTo + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

subscribeTo

+
+

Subscribes to the provided onFrameAvailable to be notified when a new Frame is available for this input. The returned Closeable must be closed when done working with this input otherwise underlying resources will be leaked.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-audio-processor/connect-input.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-audio-processor/connect-input.html new file mode 100644 index 000000000..8795f43bf --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-audio-processor/connect-input.html @@ -0,0 +1,69 @@ + + + + + connectInput + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

connectInput

+
+

Connects the provided input to this processor and returns a Closeable to release the connection when required. Normally, processing of the provided input starts instantly however certain processors may do it async so it is not guaranteed that any work will be done as soon as input is connected.

It is essential to manage the returned Closeable to avoid leaking resources.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-audio-processor/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-audio-processor/index.html new file mode 100644 index 000000000..ec7f36436 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-audio-processor/index.html @@ -0,0 +1,132 @@ + + + + + AudioProcessor + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

AudioProcessor

+

Defines a Processor that is able to take AudioProcessor.Input and run audio processing operations that analyze data to detect patterns and/or mutate the provided AudioProcessor.Input.Frames to apply effects such as filtering, pitch correction etc.

+
+
+
+
+

Types

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
interface Input

Defines the audio input source model that is available to be read from by the processor.

+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+

Connects the provided input to this processor and returns a Closeable to release the connection when required. Normally, processing of the provided input starts instantly however certain processors may do it async so it is not guaranteed that any work will be done as soon as input is connected.

+
+
+
+
+
+

Inheritors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-experimental/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-experimental/index.html new file mode 100644 index 000000000..8c412093c --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-experimental/index.html @@ -0,0 +1,73 @@ + + + + + Experimental + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Experimental

+
annotation class Experimental

Indicates that the annotated feature is experimental: it may be removed, its signature or behavior may be changed without warning from one release to the next.

+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-failure/-graphics/-graphics.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-failure/-graphics/-graphics.html new file mode 100644 index 000000000..532c837d5 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-failure/-graphics/-graphics.html @@ -0,0 +1,69 @@ + + + + + Graphics + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Graphics

+
+
fun Graphics(message: String? = null, cause: Throwable? = null)
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-failure/-graphics/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-failure/-graphics/index.html new file mode 100644 index 000000000..6b9e4ec0f --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-failure/-graphics/index.html @@ -0,0 +1,245 @@ + + + + + Graphics + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Graphics

+
class Graphics(message: String? = null, cause: Throwable? = null) : ImageProcessor.Failure

A case when image processing fails due to graphics, most likely OpenGL, error. Normally unrecoverable, device specific failure which means that further image processing will always fail.

+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun Graphics(message: String? = null, cause: Throwable? = null)
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open val cause: Throwable?
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open val message: String?
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-failure/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-failure/index.html new file mode 100644 index 000000000..30651a68d --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-failure/index.html @@ -0,0 +1,258 @@ + + + + + Failure + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Failure

+
sealed class Failure : RuntimeException

Defines known failure modes of an image processor.

+
+
+
+
+

Types

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
class Graphics(message: String? = null, cause: Throwable? = null) : ImageProcessor.Failure

A case when image processing fails due to graphics, most likely OpenGL, error. Normally unrecoverable, device specific failure which means that further image processing will always fail.

+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open val cause: Throwable?
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open val message: String?
+
+
+
+
+
+

Inheritors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-input/-backed-by-surface-texture/-backed-by-surface-texture.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-input/-backed-by-surface-texture/-backed-by-surface-texture.html new file mode 100644 index 000000000..4079574ff --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-input/-backed-by-surface-texture/-backed-by-surface-texture.html @@ -0,0 +1,69 @@ + + + + + BackedBySurfaceTexture + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

BackedBySurfaceTexture

+
+ +
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-input/-backed-by-surface-texture/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-input/-backed-by-surface-texture/index.html new file mode 100644 index 000000000..c771042ad --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-input/-backed-by-surface-texture/index.html @@ -0,0 +1,230 @@ + + + + + BackedBySurfaceTexture + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

BackedBySurfaceTexture

+
abstract class BackedBySurfaceTexture(val surfaceTexture: SurfaceTexture) : ImageProcessor.Input

Convenience base Input that is backed by android.graphics.SurfaceTexture.

+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+ +
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Allows to read a Frame when notified by in a callback subscribed via subscribeTo.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Subscribes to the provided onFrameAvailable to be notified when a new Frame is available for this input. The returned Closeable must be closed when done working with this input otherwise underlying resources will be leaked.

+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract val facingFront: Boolean

True indicates whether a Frame is facing front in relation to user that is observing it.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract val height: Int

The expected height in pixels of a Frame that is read once available.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract val rotationDegrees: Int

The natural orientation of a Frame in relation to a device that is providing it.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract val width: Int

The expected width in pixels of a Frame that is read once available.

+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-input/-backed-by-surface-texture/surface-texture.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-input/-backed-by-surface-texture/surface-texture.html new file mode 100644 index 000000000..062dd3928 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-input/-backed-by-surface-texture/surface-texture.html @@ -0,0 +1,69 @@ + + + + + surfaceTexture + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

surfaceTexture

+
+ +
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-input/-capability/-s-u-r-f-a-c-e_-t-r-a-c-k-i-n-g/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-input/-capability/-s-u-r-f-a-c-e_-t-r-a-c-k-i-n-g/index.html new file mode 100644 index 000000000..3ee44874a --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-input/-capability/-s-u-r-f-a-c-e_-t-r-a-c-k-i-n-g/index.html @@ -0,0 +1,106 @@ + + + + + SURFACE_TRACKING + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

SURFACE_TRACKING

+

Provides tracking data such as positions of physical surfaces or depth images.

+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-input/-capability/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-input/-capability/index.html new file mode 100644 index 000000000..724e3438c --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-input/-capability/index.html @@ -0,0 +1,155 @@ + + + + + Capability + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Capability

+

Defines all capabilities that Input may provide in addition to image data.

Since

1.6.0

+
+
+
+
+

Entries

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+

Provides tracking data such as positions of physical surfaces or depth images.

+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+

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.)

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Returns an array containing the constants of this enum type, in the order they're declared.

+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-input/-capability/value-of.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-input/-capability/value-of.html new file mode 100644 index 000000000..bd72bf40d --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-input/-capability/value-of.html @@ -0,0 +1,69 @@ + + + + + valueOf + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

valueOf

+
+

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.)

Throws

if this enum type has no constant with the specified name

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-input/-capability/values.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-input/-capability/values.html new file mode 100644 index 000000000..9edc2fc97 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-input/-capability/values.html @@ -0,0 +1,69 @@ + + + + + values + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

values

+
+

Returns an array containing the constants of this enum type, in the order they're declared.

This method may be used to iterate over the constants.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-input/-companion/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-input/-companion/index.html new file mode 100644 index 000000000..18392990d --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-input/-companion/index.html @@ -0,0 +1,73 @@ + + + + + Companion + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Companion

+
object Companion

Allows to attach extension functions to the Input interface on implementation side.

+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-input/-frame/horizontal-field-of-view.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-input/-frame/horizontal-field-of-view.html new file mode 100644 index 000000000..6f3d75909 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-input/-frame/horizontal-field-of-view.html @@ -0,0 +1,69 @@ + + + + + horizontalFieldOfView + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

horizontalFieldOfView

+
+

The horizontal field of view in degrees of this image frame.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-input/-frame/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-input/-frame/index.html new file mode 100644 index 000000000..430a15d5e --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-input/-frame/index.html @@ -0,0 +1,153 @@ + + + + + Frame + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Frame

+
interface Frame

Defines the properties of a single image input Frame available from Input.readFrame.

+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract fun recycle()

Allows to recycle the instance of this frame for a new frame.

+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+

The horizontal field of view in degrees of this image frame.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract val timestamp: Long

Monotonically increasing timestamp of this frame in nanoseconds.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

The 4x4 texture coordinate transform matrix of this image frame.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

The vertical field of view in degrees of this image frame.

+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-input/-frame/recycle.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-input/-frame/recycle.html new file mode 100644 index 000000000..a64e7f0ab --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-input/-frame/recycle.html @@ -0,0 +1,69 @@ + + + + + recycle + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

recycle

+
+
abstract fun recycle()

Allows to recycle the instance of this frame for a new frame.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-input/-frame/timestamp.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-input/-frame/timestamp.html new file mode 100644 index 000000000..9a19c3b48 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-input/-frame/timestamp.html @@ -0,0 +1,69 @@ + + + + + timestamp + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

timestamp

+
+
abstract val timestamp: Long

Monotonically increasing timestamp of this frame in nanoseconds.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-input/-frame/transformation-matrix.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-input/-frame/transformation-matrix.html new file mode 100644 index 000000000..9696fb607 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-input/-frame/transformation-matrix.html @@ -0,0 +1,69 @@ + + + + + transformationMatrix + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

transformationMatrix

+
+

The 4x4 texture coordinate transform matrix of this image frame.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-input/-frame/vertical-field-of-view.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-input/-frame/vertical-field-of-view.html new file mode 100644 index 000000000..17d44ffd1 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-input/-frame/vertical-field-of-view.html @@ -0,0 +1,69 @@ + + + + + verticalFieldOfView + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

verticalFieldOfView

+
+

The vertical field of view in degrees of this image frame.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-input/-option/-crop/-center/-center.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-input/-option/-crop/-center/-center.html new file mode 100644 index 000000000..af4d026be --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-input/-option/-crop/-center/-center.html @@ -0,0 +1,69 @@ + + + + + Center + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Center

+
+
fun Center(aspectRatioNumerator: Int, aspectRatioDenominator: Int)

Parameters

aspectRatioNumerator

should be greater than 0.

aspectRatioDenominator

should be greater than 0.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-input/-option/-crop/-center/aspect-ratio-denominator.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-input/-option/-crop/-center/aspect-ratio-denominator.html new file mode 100644 index 000000000..1bf74427e --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-input/-option/-crop/-center/aspect-ratio-denominator.html @@ -0,0 +1,69 @@ + + + + + aspectRatioDenominator + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

aspectRatioDenominator

+
+

Parameters

aspectRatioDenominator

should be greater than 0.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-input/-option/-crop/-center/aspect-ratio-numerator.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-input/-option/-crop/-center/aspect-ratio-numerator.html new file mode 100644 index 000000000..aad2b618a --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-input/-option/-crop/-center/aspect-ratio-numerator.html @@ -0,0 +1,69 @@ + + + + + aspectRatioNumerator + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

aspectRatioNumerator

+
+

Parameters

aspectRatioNumerator

should be greater than 0.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-input/-option/-crop/-center/equals.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-input/-option/-crop/-center/equals.html new file mode 100644 index 000000000..63efece7d --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-input/-option/-crop/-center/equals.html @@ -0,0 +1,69 @@ + + + + + equals + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

equals

+
+
open operator override fun equals(other: Any?): Boolean
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-input/-option/-crop/-center/hash-code.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-input/-option/-crop/-center/hash-code.html new file mode 100644 index 000000000..56484c6b6 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-input/-option/-crop/-center/hash-code.html @@ -0,0 +1,69 @@ + + + + + hashCode + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

hashCode

+
+
open override fun hashCode(): Int
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-input/-option/-crop/-center/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-input/-option/-crop/-center/index.html new file mode 100644 index 000000000..249cb45ae --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-input/-option/-crop/-center/index.html @@ -0,0 +1,174 @@ + + + + + Center + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Center

+
class Center(val aspectRatioNumerator: Int, val aspectRatioDenominator: Int) : ImageProcessor.Input.Option.Crop

An option to crop each Input.Frame around the central point to match aspectRatioNumerator/aspectRatioDenominator aspect ratio.

+
+
+
+
+

Parameters

+
+
aspectRatioNumerator

should be greater than 0.

aspectRatioDenominator

should be greater than 0.

+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun Center(aspectRatioNumerator: Int, aspectRatioDenominator: Int)
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open operator override fun equals(other: Any?): Boolean
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun hashCode(): Int
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun toString(): String
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+ +
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-input/-option/-crop/-center/to-string.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-input/-option/-crop/-center/to-string.html new file mode 100644 index 000000000..3eb839deb --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-input/-option/-crop/-center/to-string.html @@ -0,0 +1,69 @@ + + + + + toString + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

toString

+
+
open override fun toString(): String
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-input/-option/-crop/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-input/-option/-crop/index.html new file mode 100644 index 000000000..ed8ea031a --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-input/-option/-crop/index.html @@ -0,0 +1,104 @@ + + + + + Crop + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Crop

+

ImageProcessor should crop each Input.Frame before processing. Only a single Crop option can be passed while calling ImageProcessor.connectInput.

Since

1.12.0

+
+
+
+
+

Types

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
class Center(val aspectRatioNumerator: Int, val aspectRatioDenominator: Int) : ImageProcessor.Input.Option.Crop

An option to crop each Input.Frame around the central point to match aspectRatioNumerator/aspectRatioDenominator aspect ratio.

+
+
+
+
+
+

Inheritors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-input/-option/-mirror-frames-horizontally/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-input/-option/-mirror-frames-horizontally/index.html new file mode 100644 index 000000000..f171a0950 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-input/-option/-mirror-frames-horizontally/index.html @@ -0,0 +1,73 @@ + + + + + MirrorFramesHorizontally + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

MirrorFramesHorizontally

+

ImageProcessor should mirror each Input.Frame horizontally before processing.

+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-input/-option/-mirror-frames-vertically/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-input/-option/-mirror-frames-vertically/index.html new file mode 100644 index 000000000..a0c2db6d8 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-input/-option/-mirror-frames-vertically/index.html @@ -0,0 +1,73 @@ + + + + + MirrorFramesVertically + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

MirrorFramesVertically

+

ImageProcessor should mirror each Input.Frame vertically before processing.

+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-input/-option/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-input/-option/index.html new file mode 100644 index 000000000..ff00797d5 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-input/-option/index.html @@ -0,0 +1,156 @@ + + + + + Option + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Option

+
sealed class Option

Defines possible Input usage options that ImageProcessor should consider when interacting with it.

Since

1.7.0

+
+
+
+
+

Types

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+

ImageProcessor should crop each Input.Frame before processing. Only a single Crop option can be passed while calling ImageProcessor.connectInput.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

ImageProcessor should mirror each Input.Frame horizontally before processing.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

ImageProcessor should mirror each Input.Frame vertically before processing.

+
+
+
+
+
+

Inheritors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-input/-pausable/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-input/-pausable/index.html new file mode 100644 index 000000000..81ea14b77 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-input/-pausable/index.html @@ -0,0 +1,243 @@ + + + + + Pausable + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Pausable

+

Defines an Input that provides an ability to pause and resume frame updates. Once done using an instance of Pausable, close must be called to avoid leaking resources.

Since

1.6.0

+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract override fun close()
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+ +
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract fun pause()

Pauses frame updates made available to listeners through subscribeTo.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Allows to read a Frame when notified by in a callback subscribed via subscribeTo.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract fun resume()

Starts or resumes frame updates made available to listeners through subscribeTo.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Subscribes to the provided onFrameAvailable to be notified when a new Frame is available for this input. The returned Closeable must be closed when done working with this input otherwise underlying resources will be leaked.

+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract val facingFront: Boolean

True indicates whether a Frame is facing front in relation to user that is observing it.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract val height: Int

The expected height in pixels of a Frame that is read once available.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract val rotationDegrees: Int

The natural orientation of a Frame in relation to a device that is providing it.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract val width: Int

The expected width in pixels of a Frame that is read once available.

+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-input/-pausable/pause.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-input/-pausable/pause.html new file mode 100644 index 000000000..6ed9e21be --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-input/-pausable/pause.html @@ -0,0 +1,69 @@ + + + + + pause + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

pause

+
+
abstract fun pause()

Pauses frame updates made available to listeners through subscribeTo.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-input/-pausable/resume.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-input/-pausable/resume.html new file mode 100644 index 000000000..3635686b8 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-input/-pausable/resume.html @@ -0,0 +1,69 @@ + + + + + resume + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

resume

+
+
abstract fun resume()

Starts or resumes frame updates made available to listeners through subscribeTo.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-input/attach-to-gl-context.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-input/attach-to-gl-context.html new file mode 100644 index 000000000..8f6b652dd --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-input/attach-to-gl-context.html @@ -0,0 +1,69 @@ + + + + + attachToGlContext + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

attachToGlContext

+
+ +
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-input/detach-from-gl-context.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-input/detach-from-gl-context.html new file mode 100644 index 000000000..41687454d --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-input/detach-from-gl-context.html @@ -0,0 +1,69 @@ + + + + + detachFromGlContext + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

detachFromGlContext

+
+ +
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-input/facing-front.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-input/facing-front.html new file mode 100644 index 000000000..c1e1ad7cb --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-input/facing-front.html @@ -0,0 +1,69 @@ + + + + + facingFront + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

facingFront

+
+
abstract val facingFront: Boolean

True indicates whether a Frame is facing front in relation to user that is observing it.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-input/height.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-input/height.html new file mode 100644 index 000000000..e241e9355 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-input/height.html @@ -0,0 +1,69 @@ + + + + + height + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

height

+
+
abstract val height: Int

The expected height in pixels of a Frame that is read once available.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-input/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-input/index.html new file mode 100644 index 000000000..4176fe18d --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-input/index.html @@ -0,0 +1,314 @@ + + + + + Input + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Input

+
interface Input

Defines the image input source model that is available to be read from by the processor.

+
+
+
+
+

Types

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract class BackedBySurfaceTexture(val surfaceTexture: SurfaceTexture) : ImageProcessor.Input

Convenience base Input that is backed by android.graphics.SurfaceTexture.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Defines all capabilities that Input may provide in addition to image data.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
object Companion

Allows to attach extension functions to the Input interface on implementation side.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
interface Frame

Defines the properties of a single image input Frame available from Input.readFrame.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
sealed class Option

Defines possible Input usage options that ImageProcessor should consider when interacting with it.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Defines an Input that provides an ability to pause and resume frame updates. Once done using an instance of Pausable, close must be called to avoid leaking resources.

+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+ +
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Allows to read a Frame when notified by in a callback subscribed via subscribeTo.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Subscribes to the provided onFrameAvailable to be notified when a new Frame is available for this input. The returned Closeable must be closed when done working with this input otherwise underlying resources will be leaked.

+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract val facingFront: Boolean

True indicates whether a Frame is facing front in relation to user that is observing it.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract val height: Int

The expected height in pixels of a Frame that is read once available.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract val rotationDegrees: Int

The natural orientation of a Frame in relation to a device that is providing it.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract val width: Int

The expected width in pixels of a Frame that is read once available.

+
+
+
+
+
+

Inheritors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-input/read-frame.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-input/read-frame.html new file mode 100644 index 000000000..89f659a36 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-input/read-frame.html @@ -0,0 +1,69 @@ + + + + + readFrame + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

readFrame

+
+

Allows to read a Frame when notified by in a callback subscribed via subscribeTo.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-input/rotation-degrees.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-input/rotation-degrees.html new file mode 100644 index 000000000..8ce0f8a7b --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-input/rotation-degrees.html @@ -0,0 +1,69 @@ + + + + + rotationDegrees + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

rotationDegrees

+
+
abstract val rotationDegrees: Int

The natural orientation of a Frame in relation to a device that is providing it.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-input/subscribe-to.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-input/subscribe-to.html new file mode 100644 index 000000000..9538bd71d --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-input/subscribe-to.html @@ -0,0 +1,69 @@ + + + + + subscribeTo + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

subscribeTo

+
+

Subscribes to the provided onFrameAvailable to be notified when a new Frame is available for this input. The returned Closeable must be closed when done working with this input otherwise underlying resources will be leaked.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-input/width.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-input/width.html new file mode 100644 index 000000000..e3cbe3787 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-input/width.html @@ -0,0 +1,69 @@ + + + + + width + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

width

+
+
abstract val width: Int

The expected width in pixels of a Frame that is read once available.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-output/-backed-by-surface-texture/-backed-by-surface-texture.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-output/-backed-by-surface-texture/-backed-by-surface-texture.html new file mode 100644 index 000000000..f8096c87f --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-output/-backed-by-surface-texture/-backed-by-surface-texture.html @@ -0,0 +1,69 @@ + + + + + BackedBySurfaceTexture + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

BackedBySurfaceTexture

+
+ +
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-output/-backed-by-surface-texture/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-output/-backed-by-surface-texture/index.html new file mode 100644 index 000000000..cfa7e5b4d --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-output/-backed-by-surface-texture/index.html @@ -0,0 +1,155 @@ + + + + + BackedBySurfaceTexture + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

BackedBySurfaceTexture

+

Convenience base Output that is backed by android.graphics.SurfaceTexture.

+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+ +
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+

Prepares a Frame to obtain information that is required for ImageProcessor to render.

+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+

Provides the single purpose of this output so that ImageProcessor can adjust its internal implementation to write image data optimized for it.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

The natural orientation of a Frame in relation to a device that is rendering it. If returned value is Int.MIN_VALUE (the default) then implementation is expected to use the current device rotation to adjust the rendered output.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-output/-backed-by-surface-texture/purpose.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-output/-backed-by-surface-texture/purpose.html new file mode 100644 index 000000000..e23f2021f --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-output/-backed-by-surface-texture/purpose.html @@ -0,0 +1,69 @@ + + + + + purpose + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

purpose

+
+

Provides the single purpose of this output so that ImageProcessor can adjust its internal implementation to write image data optimized for it.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-output/-backed-by-surface-texture/surface-texture.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-output/-backed-by-surface-texture/surface-texture.html new file mode 100644 index 000000000..0ed751d25 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-output/-backed-by-surface-texture/surface-texture.html @@ -0,0 +1,69 @@ + + + + + surfaceTexture + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

surfaceTexture

+
+ +
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-output/-backed-by-surface/-backed-by-surface.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-output/-backed-by-surface/-backed-by-surface.html new file mode 100644 index 000000000..9e3c94a81 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-output/-backed-by-surface/-backed-by-surface.html @@ -0,0 +1,69 @@ + + + + + BackedBySurface + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

BackedBySurface

+
+ +
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-output/-backed-by-surface/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-output/-backed-by-surface/index.html new file mode 100644 index 000000000..b6e4d5a7d --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-output/-backed-by-surface/index.html @@ -0,0 +1,155 @@ + + + + + BackedBySurface + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

BackedBySurface

+
abstract class BackedBySurface(val surface: Surface, val purpose: ImageProcessor.Output.Purpose) : ImageProcessor.Output

Convenience base Output that is backed by android.view.Surface.

+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+

Prepares a Frame to obtain information that is required for ImageProcessor to render.

+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+

Provides the single purpose of this output so that ImageProcessor can adjust its internal implementation to write image data optimized for it.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

The natural orientation of a Frame in relation to a device that is rendering it. If returned value is Int.MIN_VALUE (the default) then implementation is expected to use the current device rotation to adjust the rendered output.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open val surface: Surface
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-output/-backed-by-surface/purpose.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-output/-backed-by-surface/purpose.html new file mode 100644 index 000000000..119713e58 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-output/-backed-by-surface/purpose.html @@ -0,0 +1,69 @@ + + + + + purpose + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

purpose

+
+

Provides the single purpose of this output so that ImageProcessor can adjust its internal implementation to write image data optimized for it.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-output/-backed-by-surface/surface.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-output/-backed-by-surface/surface.html new file mode 100644 index 000000000..0c5bd9585 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-output/-backed-by-surface/surface.html @@ -0,0 +1,69 @@ + + + + + surface + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

surface

+
+
open val surface: Surface
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-output/-companion/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-output/-companion/index.html new file mode 100644 index 000000000..044970839 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-output/-companion/index.html @@ -0,0 +1,73 @@ + + + + + Companion + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Companion

+
object Companion

Allows to attach extension functions to the Input interface on implementation side.

+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-output/-frame/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-output/-frame/index.html new file mode 100644 index 000000000..2e7c2409e --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-output/-frame/index.html @@ -0,0 +1,108 @@ + + + + + Frame + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Frame

+
interface Frame

Defines properties of a single image output Frame available from Output.writeFrame.

+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract fun recycle()

Allows to recycle the instance of this frame for a new frame.

+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract val timestamp: Long

A timestamp of this frame in nanoseconds.

+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-output/-frame/recycle.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-output/-frame/recycle.html new file mode 100644 index 000000000..c1ccec011 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-output/-frame/recycle.html @@ -0,0 +1,69 @@ + + + + + recycle + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

recycle

+
+
abstract fun recycle()

Allows to recycle the instance of this frame for a new frame.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-output/-frame/timestamp.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-output/-frame/timestamp.html new file mode 100644 index 000000000..c790cd8b0 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-output/-frame/timestamp.html @@ -0,0 +1,69 @@ + + + + + timestamp + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

timestamp

+
+
abstract val timestamp: Long

A timestamp of this frame in nanoseconds.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-output/-option/-clear-on-disconnect/-clear-on-disconnect.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-output/-option/-clear-on-disconnect/-clear-on-disconnect.html new file mode 100644 index 000000000..6cfab7dea --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-output/-option/-clear-on-disconnect/-clear-on-disconnect.html @@ -0,0 +1,69 @@ + + + + + ClearOnDisconnect + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

ClearOnDisconnect

+
+
fun ClearOnDisconnect(@ColorInt color: Int = Color.BLACK)
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-output/-option/-clear-on-disconnect/color.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-output/-option/-clear-on-disconnect/color.html new file mode 100644 index 000000000..735e2e02c --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-output/-option/-clear-on-disconnect/color.html @@ -0,0 +1,69 @@ + + + + + color + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

color

+
+
val color: Int
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-output/-option/-clear-on-disconnect/equals.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-output/-option/-clear-on-disconnect/equals.html new file mode 100644 index 000000000..3a70a275f --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-output/-option/-clear-on-disconnect/equals.html @@ -0,0 +1,69 @@ + + + + + equals + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

equals

+
+
open operator override fun equals(other: Any?): Boolean
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-output/-option/-clear-on-disconnect/hash-code.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-output/-option/-clear-on-disconnect/hash-code.html new file mode 100644 index 000000000..4a59192f5 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-output/-option/-clear-on-disconnect/hash-code.html @@ -0,0 +1,69 @@ + + + + + hashCode + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

hashCode

+
+
open override fun hashCode(): Int
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-output/-option/-clear-on-disconnect/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-output/-option/-clear-on-disconnect/index.html new file mode 100644 index 000000000..cee18fb64 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-output/-option/-clear-on-disconnect/index.html @@ -0,0 +1,155 @@ + + + + + ClearOnDisconnect + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

ClearOnDisconnect

+
class ClearOnDisconnect(@ColorInt val color: Int = Color.BLACK) : ImageProcessor.Output.Option

When ImageProcessor disconnects an Output, its contents should be cleared to the specified color. When not provided, the color is opaque black, by default.

+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun ClearOnDisconnect(@ColorInt color: Int = Color.BLACK)
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open operator override fun equals(other: Any?): Boolean
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun hashCode(): Int
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun toString(): String
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
val color: Int
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-output/-option/-clear-on-disconnect/to-string.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-output/-option/-clear-on-disconnect/to-string.html new file mode 100644 index 000000000..36eb58a5a --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-output/-option/-clear-on-disconnect/to-string.html @@ -0,0 +1,69 @@ + + + + + toString + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

toString

+
+
open override fun toString(): String
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-output/-option/-ignore-device-rotation/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-output/-option/-ignore-device-rotation/index.html new file mode 100644 index 000000000..8969223af --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-output/-option/-ignore-device-rotation/index.html @@ -0,0 +1,73 @@ + + + + + IgnoreDeviceRotation + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

IgnoreDeviceRotation

+

When ImageProcessor renders an Output, the current device rotation should not be taken into account when applying the provided rotationDegrees to the output's final transformation.

Since

1.5.1

+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-output/-option/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-output/-option/index.html new file mode 100644 index 000000000..9f569ae07 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-output/-option/index.html @@ -0,0 +1,130 @@ + + + + + Option + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Option

+
sealed class Option

Defines possible Output usage options that ImageProcessor should consider when interacting with it.

Since

1.5.1

+
+
+
+
+

Types

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
class ClearOnDisconnect(@ColorInt val color: Int = Color.BLACK) : ImageProcessor.Output.Option

When ImageProcessor disconnects an Output, its contents should be cleared to the specified color. When not provided, the color is opaque black, by default.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

When ImageProcessor renders an Output, the current device rotation should not be taken into account when applying the provided rotationDegrees to the output's final transformation.

+
+
+
+
+
+

Inheritors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-output/-purpose/-p-r-e-v-i-e-w/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-output/-purpose/-p-r-e-v-i-e-w/index.html new file mode 100644 index 000000000..83f6e7102 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-output/-purpose/-p-r-e-v-i-e-w/index.html @@ -0,0 +1,106 @@ + + + + + PREVIEW + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

PREVIEW

+ +
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-output/-purpose/-r-e-c-o-r-d-i-n-g/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-output/-purpose/-r-e-c-o-r-d-i-n-g/index.html new file mode 100644 index 000000000..371a5e900 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-output/-purpose/-r-e-c-o-r-d-i-n-g/index.html @@ -0,0 +1,106 @@ + + + + + RECORDING + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

RECORDING

+ +
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-output/-purpose/-s-n-a-p-s-h-o-t/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-output/-purpose/-s-n-a-p-s-h-o-t/index.html new file mode 100644 index 000000000..62a2049f2 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-output/-purpose/-s-n-a-p-s-h-o-t/index.html @@ -0,0 +1,106 @@ + + + + + SNAPSHOT + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

SNAPSHOT

+ +
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-output/-purpose/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-output/-purpose/index.html new file mode 100644 index 000000000..251da3b67 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-output/-purpose/index.html @@ -0,0 +1,185 @@ + + + + + Purpose + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Purpose

+

Defines all known purposes that this output can be used for.

+
+
+
+
+

Entries

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+

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.)

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Returns an array containing the constants of this enum type, in the order they're declared.

+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-output/-purpose/value-of.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-output/-purpose/value-of.html new file mode 100644 index 000000000..447d5c743 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-output/-purpose/value-of.html @@ -0,0 +1,69 @@ + + + + + valueOf + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

valueOf

+
+

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.)

Throws

if this enum type has no constant with the specified name

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-output/-purpose/values.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-output/-purpose/values.html new file mode 100644 index 000000000..62fa5631e --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-output/-purpose/values.html @@ -0,0 +1,69 @@ + + + + + values + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

values

+
+

Returns an array containing the constants of this enum type, in the order they're declared.

This method may be used to iterate over the constants.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-output/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-output/index.html new file mode 100644 index 000000000..013897126 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-output/index.html @@ -0,0 +1,239 @@ + + + + + Output + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Output

+
interface Output

Defines the image output model that is available to write to by a ImageProcessor.

+
+
+
+
+

Types

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract class BackedBySurface(val surface: Surface, val purpose: ImageProcessor.Output.Purpose) : ImageProcessor.Output

Convenience base Output that is backed by android.view.Surface.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Convenience base Output that is backed by android.graphics.SurfaceTexture.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
object Companion

Allows to attach extension functions to the Input interface on implementation side.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
interface Frame

Defines properties of a single image output Frame available from Output.writeFrame.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
sealed class Option

Defines possible Output usage options that ImageProcessor should consider when interacting with it.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Defines all known purposes that this output can be used for.

+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+

Prepares a Frame to obtain information that is required for ImageProcessor to render.

+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+

Provides the single purpose of this output so that ImageProcessor can adjust its internal implementation to write image data optimized for it.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

The natural orientation of a Frame in relation to a device that is rendering it. If returned value is Int.MIN_VALUE (the default) then implementation is expected to use the current device rotation to adjust the rendered output.

+
+
+
+
+
+

Inheritors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-output/purpose.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-output/purpose.html new file mode 100644 index 000000000..d4e29ec77 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-output/purpose.html @@ -0,0 +1,69 @@ + + + + + purpose + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

purpose

+
+

Provides the single purpose of this output so that ImageProcessor can adjust its internal implementation to write image data optimized for it.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-output/rotation-degrees.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-output/rotation-degrees.html new file mode 100644 index 000000000..2291f9f44 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-output/rotation-degrees.html @@ -0,0 +1,69 @@ + + + + + rotationDegrees + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

rotationDegrees

+
+

The natural orientation of a Frame in relation to a device that is rendering it. If returned value is Int.MIN_VALUE (the default) then implementation is expected to use the current device rotation to adjust the rendered output.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-output/write-frame.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-output/write-frame.html new file mode 100644 index 000000000..700ed6a09 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/-output/write-frame.html @@ -0,0 +1,69 @@ + + + + + writeFrame + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

writeFrame

+
+

Prepares a Frame to obtain information that is required for ImageProcessor to render.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/connect-input.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/connect-input.html new file mode 100644 index 000000000..c96b50e4d --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/connect-input.html @@ -0,0 +1,69 @@ + + + + + connectInput + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

connectInput

+
+

Connects the provided input to this processor and returns a Closeable to release the connection when required. Normally, processing of the provided input starts instantly however certain processors may do it async so it is not guaranteed that any work will be done as soon as input is connected.

It is essential to manage the returned Closeable to avoid leaking resources.


Connects the provided input to this processor and returns a Closeable to release the connection when required. Normally, processing of the provided input starts instantly however certain processors may do it async so it is not guaranteed that any work will be done as soon as input is connected.

It is essential to manage the returned Closeable to avoid leaking resources.

A set of options can be provided to inform this processor how it should manipulate the connected input.

Since

1.7.0

See also

for all available options.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/connect-output.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/connect-output.html new file mode 100644 index 000000000..8227a4172 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/connect-output.html @@ -0,0 +1,69 @@ + + + + + connectOutput + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

connectOutput

+
+

Connects the provided output to this processor and returns a Closeable to release the connection when required. Similarly to connectInput, it is not guaranteed that the provided output will receive results as soon as it is connected, the processor may do it async.

It is essential to manage the returned Closeable to avoid leaking resources.


Connects the provided output to this processor and returns a Closeable to release the connection when required. Similarly to connectInput, it is not guaranteed that the provided output will receive results as soon as it is connected, the processor may do it async.

It is essential to manage the returned Closeable to avoid leaking resources.

A set of options can be provided to inform this processor how it should manipulate the connected output.

Since

1.5.1

See also

for all available options.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/index.html new file mode 100644 index 000000000..6841a36f8 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/index.html @@ -0,0 +1,203 @@ + + + + + ImageProcessor + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

ImageProcessor

+

Defines a Processor that is able to take ImageProcessor.Input, run some image processing operations on it and render the final result to ImageProcessor.Output.

+
+
+
+
+

Types

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
sealed class Failure : RuntimeException

Defines known failure modes of an image processor.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
interface Input

Defines the image input source model that is available to be read from by the processor.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
interface Output

Defines the image output model that is available to write to by a ImageProcessor.

+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+

Connects the provided input to this processor and returns a Closeable to release the connection when required. Normally, processing of the provided input starts instantly however certain processors may do it async so it is not guaranteed that any work will be done as soon as input is connected.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Connects the provided output to this processor and returns a Closeable to release the connection when required. Similarly to connectInput, it is not guaranteed that the provided output will receive results as soon as it is connected, the processor may do it async.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Takes in onCapabilitiesRequested that will be notified when image processing operations require additional data from connected Input. Right after observeRequiredCapabilities is called onCapabilitiesRequested consumer will be invoked on the caller thread with the current set of required capabilities. emptySet is used to represent that additional capabilities aren't required.

+
+
+
+
+
+

Inheritors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/observe-required-capabilities.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/observe-required-capabilities.html new file mode 100644 index 000000000..955ce1177 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-image-processor/observe-required-capabilities.html @@ -0,0 +1,69 @@ + + + + + observeRequiredCapabilities + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

observeRequiredCapabilities

+
+

Takes in onCapabilitiesRequested that will be notified when image processing operations require additional data from connected Input. Right after observeRequiredCapabilities is called onCapabilitiesRequested consumer will be invoked on the caller thread with the current set of required capabilities. emptySet is used to represent that additional capabilities aren't required.

When capabilities are requested client can connect different Input which provides those capabilities, or ignore that request. In case the capabilities request is ignored some image processing functionality may not work.

It is essential to manage the returned Closeable to avoid leaking resources.

Since

1.6.0

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-legal-processor/-input/-prompt/-prompt.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-legal-processor/-input/-prompt/-prompt.html new file mode 100644 index 000000000..f38288231 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-legal-processor/-input/-prompt/-prompt.html @@ -0,0 +1,69 @@ + + + + + Prompt + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Prompt

+
+
fun Prompt(id: String, message: String)
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-legal-processor/-input/-prompt/equals.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-legal-processor/-input/-prompt/equals.html new file mode 100644 index 000000000..ee7ca96e7 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-legal-processor/-input/-prompt/equals.html @@ -0,0 +1,69 @@ + + + + + equals + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

equals

+
+
open operator override fun equals(other: Any?): Boolean
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-legal-processor/-input/-prompt/hash-code.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-legal-processor/-input/-prompt/hash-code.html new file mode 100644 index 000000000..5718eeba6 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-legal-processor/-input/-prompt/hash-code.html @@ -0,0 +1,69 @@ + + + + + hashCode + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

hashCode

+
+
open override fun hashCode(): Int
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-legal-processor/-input/-prompt/id.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-legal-processor/-input/-prompt/id.html new file mode 100644 index 000000000..7a487c8cc --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-legal-processor/-input/-prompt/id.html @@ -0,0 +1,69 @@ + + + + + id + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

id

+
+
val id: String
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-legal-processor/-input/-prompt/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-legal-processor/-input/-prompt/index.html new file mode 100644 index 000000000..c7b3746bd --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-legal-processor/-input/-prompt/index.html @@ -0,0 +1,170 @@ + + + + + Prompt + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Prompt

+
class Prompt(val id: String, val message: String)

Defines the content in the form of a localized and HTML formatted message to prompt a user for a legal agreement. The provided id uniquely identifies the backing content of the message, it should be used as a key when saving user response and determining whether a user needs to be re-prompted instead of serving a saved response.

+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun Prompt(id: String, message: String)
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open operator override fun equals(other: Any?): Boolean
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun hashCode(): Int
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun toString(): String
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
val id: String
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-legal-processor/-input/-prompt/message.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-legal-processor/-input/-prompt/message.html new file mode 100644 index 000000000..34c8a2fa6 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-legal-processor/-input/-prompt/message.html @@ -0,0 +1,69 @@ + + + + + message + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

message

+
+ +
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-legal-processor/-input/-prompt/to-string.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-legal-processor/-input/-prompt/to-string.html new file mode 100644 index 000000000..e21ba57be --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-legal-processor/-input/-prompt/to-string.html @@ -0,0 +1,69 @@ + + + + + toString + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

toString

+
+
open override fun toString(): String
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-legal-processor/-input/-request-update/-a-l-w-a-y-s/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-legal-processor/-input/-request-update/-a-l-w-a-y-s/index.html new file mode 100644 index 000000000..679151e66 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-legal-processor/-input/-request-update/-a-l-w-a-y-s/index.html @@ -0,0 +1,106 @@ + + + + + ALWAYS + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

ALWAYS

+

Force re-prompt to update user response.

+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-legal-processor/-input/-request-update/-n-e-v-e-r/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-legal-processor/-input/-request-update/-n-e-v-e-r/index.html new file mode 100644 index 000000000..1d2c05448 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-legal-processor/-input/-request-update/-n-e-v-e-r/index.html @@ -0,0 +1,106 @@ + + + + + NEVER + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

NEVER

+

No update is necessary, respond with a previous saved response, if any.

+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-legal-processor/-input/-request-update/-w-h-e-n_-d-i-s-m-i-s-s-e-d_-o-r_-m-i-s-s-i-n-g/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-legal-processor/-input/-request-update/-w-h-e-n_-d-i-s-m-i-s-s-e-d_-o-r_-m-i-s-s-i-n-g/index.html new file mode 100644 index 000000000..148404bb1 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-legal-processor/-input/-request-update/-w-h-e-n_-d-i-s-m-i-s-s-e-d_-o-r_-m-i-s-s-i-n-g/index.html @@ -0,0 +1,106 @@ + + + + + WHEN_DISMISSED_OR_MISSING + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

WHEN_DISMISSED_OR_MISSING

+

Force re-prompt to update user response only if it was previously dismissed or is missing.

+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-legal-processor/-input/-request-update/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-legal-processor/-input/-request-update/index.html new file mode 100644 index 000000000..87f99bdd3 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-legal-processor/-input/-request-update/index.html @@ -0,0 +1,185 @@ + + + + + RequestUpdate + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

RequestUpdate

+

Specifies when a LegalProcessor.Input implementation should re-prompt user to get a new response.

+
+
+
+
+

Entries

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+

No update is necessary, respond with a previous saved response, if any.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Force re-prompt to update user response.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Force re-prompt to update user response only if it was previously dismissed or is missing.

+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+

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.)

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Returns an array containing the constants of this enum type, in the order they're declared.

+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-legal-processor/-input/-request-update/value-of.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-legal-processor/-input/-request-update/value-of.html new file mode 100644 index 000000000..98f1ffc96 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-legal-processor/-input/-request-update/value-of.html @@ -0,0 +1,69 @@ + + + + + valueOf + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

valueOf

+
+

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.)

Throws

if this enum type has no constant with the specified name

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-legal-processor/-input/-request-update/values.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-legal-processor/-input/-request-update/values.html new file mode 100644 index 000000000..e89d88ff4 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-legal-processor/-input/-request-update/values.html @@ -0,0 +1,69 @@ + + + + + values + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

values

+
+

Returns an array containing the constants of this enum type, in the order they're declared.

This method may be used to iterate over the constants.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-legal-processor/-input/-result/-accepted/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-legal-processor/-input/-result/-accepted/index.html new file mode 100644 index 000000000..0ea789a23 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-legal-processor/-input/-result/-accepted/index.html @@ -0,0 +1,91 @@ + + + + + Accepted + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Accepted

+

User has accepted a prompt.

+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun toString(): String
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-legal-processor/-input/-result/-accepted/to-string.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-legal-processor/-input/-result/-accepted/to-string.html new file mode 100644 index 000000000..4ba3930df --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-legal-processor/-input/-result/-accepted/to-string.html @@ -0,0 +1,69 @@ + + + + + toString + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

toString

+
+
open override fun toString(): String
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-legal-processor/-input/-result/-dismissed/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-legal-processor/-input/-result/-dismissed/index.html new file mode 100644 index 000000000..a43d75630 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-legal-processor/-input/-result/-dismissed/index.html @@ -0,0 +1,91 @@ + + + + + Dismissed + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Dismissed

+

User has declined or ignored a prompt.

+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun toString(): String
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-legal-processor/-input/-result/-dismissed/to-string.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-legal-processor/-input/-result/-dismissed/to-string.html new file mode 100644 index 000000000..1f51af44d --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-legal-processor/-input/-result/-dismissed/to-string.html @@ -0,0 +1,69 @@ + + + + + toString + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

toString

+
+
open override fun toString(): String
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-legal-processor/-input/-result/-missing/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-legal-processor/-input/-result/-missing/index.html new file mode 100644 index 000000000..b0bd12f5e --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-legal-processor/-input/-result/-missing/index.html @@ -0,0 +1,91 @@ + + + + + Missing + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Missing

+

No user response is available yet.

Since

1.8.3

+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun toString(): String
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-legal-processor/-input/-result/-missing/to-string.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-legal-processor/-input/-result/-missing/to-string.html new file mode 100644 index 000000000..80c67a1dc --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-legal-processor/-input/-result/-missing/to-string.html @@ -0,0 +1,69 @@ + + + + + toString + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

toString

+
+
open override fun toString(): String
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-legal-processor/-input/-result/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-legal-processor/-input/-result/index.html new file mode 100644 index 000000000..13eebb385 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-legal-processor/-input/-result/index.html @@ -0,0 +1,156 @@ + + + + + Result + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Result

+
sealed class Result

Represents all the available responses to a prompt produced by the LegalProcessor.Input.

+
+
+
+
+

Types

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+

User has accepted a prompt.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

User has declined or ignored a prompt.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

No user response is available yet.

+
+
+
+
+
+

Inheritors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-legal-processor/-input/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-legal-processor/-input/index.html new file mode 100644 index 000000000..c8f22b057 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-legal-processor/-input/index.html @@ -0,0 +1,138 @@ + + + + + Input + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Input

+
interface Input

Defines the legal input model that is available to be read from by the processor.

+
+
+
+
+

Types

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
class Prompt(val id: String, val message: String)

Defines the content in the form of a localized and HTML formatted message to prompt a user for a legal agreement. The provided id uniquely identifies the backing content of the message, it should be used as a key when saving user response and determining whether a user needs to be re-prompted instead of serving a saved response.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Specifies when a LegalProcessor.Input implementation should re-prompt user to get a new response.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
sealed class Result

Represents all the available responses to a prompt produced by the LegalProcessor.Input.

+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+

Subscribes to the provided onResult to be notified when a new Result is available for this input. The subscriber specifies a Prompt that must be taken into account when presenting a UI or calling back with a previously saved user response for the provided unique Prompt.id. Even though a saved user response may exist for a specific Prompt.id when the requestUpdate option is RequestUpdate.ALWAYS it is expected that the underlying LegalProcessor.Input implementation will re-prompt user to get a new response. The returned Closeable must be closed when done working with this input otherwise underlying resources will be leaked.

+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-legal-processor/-input/subscribe-to.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-legal-processor/-input/subscribe-to.html new file mode 100644 index 000000000..fc6ec1a86 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-legal-processor/-input/subscribe-to.html @@ -0,0 +1,69 @@ + + + + + subscribeTo + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

subscribeTo

+
+

Subscribes to the provided onResult to be notified when a new Result is available for this input. The subscriber specifies a Prompt that must be taken into account when presenting a UI or calling back with a previously saved user response for the provided unique Prompt.id. Even though a saved user response may exist for a specific Prompt.id when the requestUpdate option is RequestUpdate.ALWAYS it is expected that the underlying LegalProcessor.Input implementation will re-prompt user to get a new response. The returned Closeable must be closed when done working with this input otherwise underlying resources will be leaked.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-legal-processor/connect-input.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-legal-processor/connect-input.html new file mode 100644 index 000000000..c9c083ef0 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-legal-processor/connect-input.html @@ -0,0 +1,69 @@ + + + + + connectInput + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

connectInput

+
+

Connects the provided input to this processor and returns a Closeable to release the connection when required. Normally, processing of the provided input starts instantly however certain processors may do it async so it is not guaranteed that any work will be done as soon as input is connected.

It is essential to manage the returned Closeable to avoid leaking resources.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-legal-processor/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-legal-processor/index.html new file mode 100644 index 000000000..e7b379ecf --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-legal-processor/index.html @@ -0,0 +1,151 @@ + + + + + LegalProcessor + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

LegalProcessor

+

Defines a Processor that subscribes to LegalProcessor.Input to receive results from a user responding to a LegalProcessor.Input.Prompt for a legal agreement.

Since

1.8.0

+
+
+
+
+

Types

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
interface Input

Defines the legal input model that is available to be read from by the processor.

+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+

Connects the provided input to this processor and returns a Closeable to release the connection when required. Normally, processing of the provided input starts instantly however certain processors may do it async so it is not guaranteed that any work will be done as soon as input is connected.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Notifies the provided onResult callback when this LegalProcessor obtains a Input.Result until the returned Closeable is closed.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Notifies the provided onResult callback when this LegalProcessor handles a Input.Result. When the requestUpdate option is LegalProcessor.Input.RequestUpdate.ALWAYS the processor will attempt to subscribe to a LegalProcessor.Input eagerly in order to obtain a Input.Result earlier than typically required.

+
+
+
+
+
+

Inheritors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-legal-processor/observe.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-legal-processor/observe.html new file mode 100644 index 000000000..d4839647b --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-legal-processor/observe.html @@ -0,0 +1,69 @@ + + + + + observe + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

observe

+
+

Notifies the provided onResult callback when this LegalProcessor obtains a Input.Result until the returned Closeable is closed.

Since

1.8.3

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-legal-processor/wait-for.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-legal-processor/wait-for.html new file mode 100644 index 000000000..7505c73f0 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-legal-processor/wait-for.html @@ -0,0 +1,69 @@ + + + + + waitFor + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

waitFor

+
+

Notifies the provided onResult callback when this LegalProcessor handles a Input.Result. When the requestUpdate option is LegalProcessor.Input.RequestUpdate.ALWAYS the processor will attempt to subscribe to a LegalProcessor.Input eagerly in order to obtain a Input.Result earlier than typically required.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-location-processor/-input/-tracking-requirements/-tracking-requirements.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-location-processor/-input/-tracking-requirements/-tracking-requirements.html new file mode 100644 index 000000000..e239f5ad4 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-location-processor/-input/-tracking-requirements/-tracking-requirements.html @@ -0,0 +1,69 @@ + + + + + TrackingRequirements + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

TrackingRequirements

+
+
fun TrackingRequirements(updateInterval: Long, updateIntervalTimeUnit: TimeUnit)
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-location-processor/-input/-tracking-requirements/equals.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-location-processor/-input/-tracking-requirements/equals.html new file mode 100644 index 000000000..7f00780a2 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-location-processor/-input/-tracking-requirements/equals.html @@ -0,0 +1,69 @@ + + + + + equals + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

equals

+
+
open operator override fun equals(other: Any?): Boolean
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-location-processor/-input/-tracking-requirements/hash-code.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-location-processor/-input/-tracking-requirements/hash-code.html new file mode 100644 index 000000000..26b912f98 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-location-processor/-input/-tracking-requirements/hash-code.html @@ -0,0 +1,69 @@ + + + + + hashCode + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

hashCode

+
+
open override fun hashCode(): Int
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-location-processor/-input/-tracking-requirements/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-location-processor/-input/-tracking-requirements/index.html new file mode 100644 index 000000000..c8cbec0bf --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-location-processor/-input/-tracking-requirements/index.html @@ -0,0 +1,170 @@ + + + + + TrackingRequirements + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

TrackingRequirements

+
class TrackingRequirements(val updateInterval: Long, val updateIntervalTimeUnit: TimeUnit)

Defines a set of requirements that LocationProcessor expects to be satisfied by Location tracking implementation.

+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun TrackingRequirements(updateInterval: Long, updateIntervalTimeUnit: TimeUnit)
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open operator override fun equals(other: Any?): Boolean
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun hashCode(): Int
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun toString(): String
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+

Fixed period of time that is used to refresh Location data, typically every few seconds. If the value is 0 then it is expected for Location data to be refreshed as fast as possible.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-location-processor/-input/-tracking-requirements/to-string.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-location-processor/-input/-tracking-requirements/to-string.html new file mode 100644 index 000000000..7d3e85c19 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-location-processor/-input/-tracking-requirements/to-string.html @@ -0,0 +1,69 @@ + + + + + toString + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

toString

+
+
open override fun toString(): String
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-location-processor/-input/-tracking-requirements/update-interval-time-unit.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-location-processor/-input/-tracking-requirements/update-interval-time-unit.html new file mode 100644 index 000000000..065621a41 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-location-processor/-input/-tracking-requirements/update-interval-time-unit.html @@ -0,0 +1,69 @@ + + + + + updateIntervalTimeUnit + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

updateIntervalTimeUnit

+
+ +
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-location-processor/-input/-tracking-requirements/update-interval.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-location-processor/-input/-tracking-requirements/update-interval.html new file mode 100644 index 000000000..8006b2d0f --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-location-processor/-input/-tracking-requirements/update-interval.html @@ -0,0 +1,69 @@ + + + + + updateInterval + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

updateInterval

+
+

Fixed period of time that is used to refresh Location data, typically every few seconds. If the value is 0 then it is expected for Location data to be refreshed as fast as possible.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-location-processor/-input/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-location-processor/-input/index.html new file mode 100644 index 000000000..e96860b68 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-location-processor/-input/index.html @@ -0,0 +1,108 @@ + + + + + Input + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Input

+
interface Input

Defines the current device Location model that is available to be read from by the processor.

+
+
+
+
+

Types

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
class TrackingRequirements(val updateInterval: Long, val updateIntervalTimeUnit: TimeUnit)

Defines a set of requirements that LocationProcessor expects to be satisfied by Location tracking implementation.

+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract fun subscribeTo(trackingRequirements: LocationProcessor.Input.TrackingRequirements, onLocationAvailable: Consumer<Location>): Closeable

Subscribes to the provided onLocationAvailable to be notified when a new Location is available for this input. The subscriber provides its TrackingRequirements that must be taken into account when configuring location tracking implementation to make sure that subscriber receives Location data as expected. The returned Closeable must be closed when done working with this input otherwise underlying resources will be leaked.

+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-location-processor/-input/subscribe-to.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-location-processor/-input/subscribe-to.html new file mode 100644 index 000000000..f4473213b --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-location-processor/-input/subscribe-to.html @@ -0,0 +1,69 @@ + + + + + subscribeTo + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

subscribeTo

+
+
abstract fun subscribeTo(trackingRequirements: LocationProcessor.Input.TrackingRequirements, onLocationAvailable: Consumer<Location>): Closeable

Subscribes to the provided onLocationAvailable to be notified when a new Location is available for this input. The subscriber provides its TrackingRequirements that must be taken into account when configuring location tracking implementation to make sure that subscriber receives Location data as expected. The returned Closeable must be closed when done working with this input otherwise underlying resources will be leaked.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-location-processor/connect-input.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-location-processor/connect-input.html new file mode 100644 index 000000000..8107aefd4 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-location-processor/connect-input.html @@ -0,0 +1,69 @@ + + + + + connectInput + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

connectInput

+
+

Connects the provided input to this processor and returns a Closeable to release the connection when required. Normally, processing of the provided input starts instantly however certain processors may do it async so it is not guaranteed that any work will be done as soon as input is connected.

It is essential to manage the returned Closeable to avoid leaking resources.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-location-processor/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-location-processor/index.html new file mode 100644 index 000000000..937919402 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-location-processor/index.html @@ -0,0 +1,132 @@ + + + + + LocationProcessor + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

LocationProcessor

+

Defines a Processor that subscribes to LocationProcessor.Input to receive information about the current device Location, when available.

Since

1.6.0

+
+
+
+
+

Types

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
interface Input

Defines the current device Location model that is available to be read from by the processor.

+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+

Connects the provided input to this processor and returns a Closeable to release the connection when required. Normally, processing of the provided input starts instantly however certain processors may do it async so it is not guaranteed that any work will be done as soon as input is connected.

+
+
+
+
+
+

Inheritors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/-media-type/-all-original/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/-media-type/-all-original/index.html new file mode 100644 index 000000000..c1eadb0dc --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/-media-type/-all-original/index.html @@ -0,0 +1,73 @@ + + + + + AllOriginal + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

AllOriginal

+

Deprecated

MediaProcessor enumerates all required media types explicitly, which makes this type redundant.

Generic type for original images and/or videos.

+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/-media-type/-images/-original/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/-media-type/-images/-original/index.html new file mode 100644 index 000000000..01e434f3e --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/-media-type/-images/-original/index.html @@ -0,0 +1,78 @@ + + + + + Original + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Original

+ +
+
+
+ +
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/-media-type/-images/-with-face/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/-media-type/-images/-with-face/index.html new file mode 100644 index 000000000..9bab3a4c4 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/-media-type/-images/-with-face/index.html @@ -0,0 +1,78 @@ + + + + + WithFace + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

WithFace

+ +
+
+
+ +
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/-media-type/-images/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/-media-type/-images/index.html new file mode 100644 index 000000000..74b3dbfb7 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/-media-type/-images/index.html @@ -0,0 +1,130 @@ + + + + + Images + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Images

+

Defines all images-related media types.

+
+
+
+
+

Types

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+

Inheritors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/-media-type/-videos/-original/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/-media-type/-videos/-original/index.html new file mode 100644 index 000000000..b675fe011 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/-media-type/-videos/-original/index.html @@ -0,0 +1,78 @@ + + + + + Original + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Original

+ +
+
+
+ +
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/-media-type/-videos/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/-media-type/-videos/index.html new file mode 100644 index 000000000..64d2a41da --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/-media-type/-videos/index.html @@ -0,0 +1,104 @@ + + + + + Videos + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Videos

+

Defines all videos-related media types.

+
+
+
+
+

Types

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+

Inheritors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/-media-type/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/-media-type/index.html new file mode 100644 index 000000000..a5067e865 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/-media-type/index.html @@ -0,0 +1,156 @@ + + + + + MediaType + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

MediaType

+
sealed class MediaType

Defines all media types that Processor can require.

+
+
+
+
+

Types

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+

Generic type for original images and/or videos.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Defines all images-related media types.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Defines all videos-related media types.

+
+
+
+
+
+

Inheritors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/-multiple-media-items-to-pick-from/-multiple-media-items-to-pick-from.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/-multiple-media-items-to-pick-from/-multiple-media-items-to-pick-from.html new file mode 100644 index 000000000..cea77d62d --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/-multiple-media-items-to-pick-from/-multiple-media-items-to-pick-from.html @@ -0,0 +1,69 @@ + + + + + MultipleMediaItemsToPickFrom + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

MultipleMediaItemsToPickFrom

+
+ +
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/-multiple-media-items-to-pick-from/equals.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/-multiple-media-items-to-pick-from/equals.html new file mode 100644 index 000000000..4b2549e7c --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/-multiple-media-items-to-pick-from/equals.html @@ -0,0 +1,69 @@ + + + + + equals + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

equals

+
+
open operator override fun equals(other: Any?): Boolean
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/-multiple-media-items-to-pick-from/hash-code.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/-multiple-media-items-to-pick-from/hash-code.html new file mode 100644 index 000000000..8f9d08abf --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/-multiple-media-items-to-pick-from/hash-code.html @@ -0,0 +1,69 @@ + + + + + hashCode + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

hashCode

+
+
open override fun hashCode(): Int
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/-multiple-media-items-to-pick-from/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/-multiple-media-items-to-pick-from/index.html new file mode 100644 index 000000000..14dcc0cfa --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/-multiple-media-items-to-pick-from/index.html @@ -0,0 +1,185 @@ + + + + + MultipleMediaItemsToPickFrom + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

MultipleMediaItemsToPickFrom

+

Processor requires multiple media items of any of the mediaTypes so user can pick one for processing.

NOTE: for backward compatibility purposes, MediaType.AllOriginal is used as first item of a set when mediaTypes contains both MediaType.Videos.Original and MediaType.Images.Original types.

+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+ +
+
+ +
+
+
+ + +
Link copied to clipboard
+
+ +
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open operator override fun equals(other: Any?): Boolean
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun hashCode(): Int
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun toString(): String
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+ +
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/-multiple-media-items-to-pick-from/media-type.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/-multiple-media-items-to-pick-from/media-type.html new file mode 100644 index 000000000..07f3e7434 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/-multiple-media-items-to-pick-from/media-type.html @@ -0,0 +1,69 @@ + + + + + mediaType + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

mediaType

+
+

Deprecated

MediaProcessor can require media items of the multiple media types, which makes this field lose it's actuality. Please use the 'mediaTypes' instead.

Represents the first item of the mediaTypes.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/-multiple-media-items-to-pick-from/media-types.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/-multiple-media-items-to-pick-from/media-types.html new file mode 100644 index 000000000..582415eae --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/-multiple-media-items-to-pick-from/media-types.html @@ -0,0 +1,69 @@ + + + + + mediaTypes + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/-multiple-media-items-to-pick-from/to-string.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/-multiple-media-items-to-pick-from/to-string.html new file mode 100644 index 000000000..813895ab1 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/-multiple-media-items-to-pick-from/to-string.html @@ -0,0 +1,69 @@ + + + + + toString + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

toString

+
+
open override fun toString(): String
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/-single-media-item/-single-media-item.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/-single-media-item/-single-media-item.html new file mode 100644 index 000000000..ba86c84fa --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/-single-media-item/-single-media-item.html @@ -0,0 +1,69 @@ + + + + + SingleMediaItem + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

SingleMediaItem

+
+ +
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/-single-media-item/equals.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/-single-media-item/equals.html new file mode 100644 index 000000000..995f9a9da --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/-single-media-item/equals.html @@ -0,0 +1,69 @@ + + + + + equals + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

equals

+
+
open operator override fun equals(other: Any?): Boolean
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/-single-media-item/hash-code.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/-single-media-item/hash-code.html new file mode 100644 index 000000000..2500d814c --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/-single-media-item/hash-code.html @@ -0,0 +1,69 @@ + + + + + hashCode + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

hashCode

+
+
open override fun hashCode(): Int
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/-single-media-item/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/-single-media-item/index.html new file mode 100644 index 000000000..0efac6668 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/-single-media-item/index.html @@ -0,0 +1,185 @@ + + + + + SingleMediaItem + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

SingleMediaItem

+

Processor requires a single media item of any of the mediaTypes.

NOTE: for backward compatibility purposes, MediaType.AllOriginal is used as first item of a set when mediaTypes contains both MediaType.Videos.Original and MediaType.Images.Original types.

+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+ +
+
+ +
+
+
+ + +
Link copied to clipboard
+
+ +
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open operator override fun equals(other: Any?): Boolean
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun hashCode(): Int
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun toString(): String
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+ +
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/-single-media-item/media-type.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/-single-media-item/media-type.html new file mode 100644 index 000000000..b1fe0686c --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/-single-media-item/media-type.html @@ -0,0 +1,69 @@ + + + + + mediaType + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

mediaType

+
+

Deprecated

MediaProcessor can require media items of the multiple media types, which makes this field lose it's actuality. Please use the 'mediaTypes' instead.

Represents the first item of the mediaTypes.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/-single-media-item/media-types.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/-single-media-item/media-types.html new file mode 100644 index 000000000..fa0c8975b --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/-single-media-item/media-types.html @@ -0,0 +1,69 @@ + + + + + mediaTypes + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

mediaTypes

+
+ +
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/-single-media-item/to-string.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/-single-media-item/to-string.html new file mode 100644 index 000000000..71e97e0a0 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/-single-media-item/to-string.html @@ -0,0 +1,69 @@ + + + + + toString + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

toString

+
+
open override fun toString(): String
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/index.html new file mode 100644 index 000000000..c06980b66 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/index.html @@ -0,0 +1,145 @@ + + + + + Requirements + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Requirements

+
sealed class Requirements

Defines all possible requirements to Media items that MediaProcessor expects to be satisfied by provided Result.

+
+
+
+
+

Types

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
sealed class MediaType

Defines all media types that Processor can require.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Processor requires multiple media items of any of the mediaTypes so user can pick one for processing.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+

Inheritors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-input/-result/-with-media-items-to-pick-from/-with-media-items-to-pick-from.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-input/-result/-with-media-items-to-pick-from/-with-media-items-to-pick-from.html new file mode 100644 index 000000000..244d31613 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-input/-result/-with-media-items-to-pick-from/-with-media-items-to-pick-from.html @@ -0,0 +1,69 @@ + + + + + WithMediaItemsToPickFrom + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

WithMediaItemsToPickFrom

+
+
fun WithMediaItemsToPickFrom(items: List<MediaProcessor.Media>, requestMore: Runnable? = null)
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-input/-result/-with-media-items-to-pick-from/equals.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-input/-result/-with-media-items-to-pick-from/equals.html new file mode 100644 index 000000000..e85bdc4a4 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-input/-result/-with-media-items-to-pick-from/equals.html @@ -0,0 +1,69 @@ + + + + + equals + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

equals

+
+
open operator override fun equals(other: Any?): Boolean
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-input/-result/-with-media-items-to-pick-from/hash-code.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-input/-result/-with-media-items-to-pick-from/hash-code.html new file mode 100644 index 000000000..da9de903b --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-input/-result/-with-media-items-to-pick-from/hash-code.html @@ -0,0 +1,69 @@ + + + + + hashCode + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

hashCode

+
+
open override fun hashCode(): Int
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-input/-result/-with-media-items-to-pick-from/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-input/-result/-with-media-items-to-pick-from/index.html new file mode 100644 index 000000000..a8c7bb394 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-input/-result/-with-media-items-to-pick-from/index.html @@ -0,0 +1,170 @@ + + + + + WithMediaItemsToPickFrom + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

WithMediaItemsToPickFrom

+

Contains a list of Media items from which user can pick one for processing. requestMore can be provided optionally, when Input has more Media items available.

+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun WithMediaItemsToPickFrom(items: List<MediaProcessor.Media>, requestMore: Runnable? = null)
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open operator override fun equals(other: Any?): Boolean
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun hashCode(): Int
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun toString(): String
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+ +
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val requestMore: Runnable? = null
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-input/-result/-with-media-items-to-pick-from/items.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-input/-result/-with-media-items-to-pick-from/items.html new file mode 100644 index 000000000..a7d6d79b5 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-input/-result/-with-media-items-to-pick-from/items.html @@ -0,0 +1,69 @@ + + + + + items + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

items

+
+ +
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-input/-result/-with-media-items-to-pick-from/request-more.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-input/-result/-with-media-items-to-pick-from/request-more.html new file mode 100644 index 000000000..1e74fa84b --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-input/-result/-with-media-items-to-pick-from/request-more.html @@ -0,0 +1,69 @@ + + + + + requestMore + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

requestMore

+
+
val requestMore: Runnable? = null
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-input/-result/-with-media-items-to-pick-from/to-string.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-input/-result/-with-media-items-to-pick-from/to-string.html new file mode 100644 index 000000000..79e292aa7 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-input/-result/-with-media-items-to-pick-from/to-string.html @@ -0,0 +1,69 @@ + + + + + toString + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

toString

+
+
open override fun toString(): String
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-input/-result/-with-single-media-item/-with-single-media-item.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-input/-result/-with-single-media-item/-with-single-media-item.html new file mode 100644 index 000000000..765389cab --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-input/-result/-with-single-media-item/-with-single-media-item.html @@ -0,0 +1,69 @@ + + + + + WithSingleMediaItem + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

WithSingleMediaItem

+
+ +
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-input/-result/-with-single-media-item/equals.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-input/-result/-with-single-media-item/equals.html new file mode 100644 index 000000000..f8e4eec8f --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-input/-result/-with-single-media-item/equals.html @@ -0,0 +1,69 @@ + + + + + equals + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

equals

+
+
open operator override fun equals(other: Any?): Boolean
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-input/-result/-with-single-media-item/hash-code.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-input/-result/-with-single-media-item/hash-code.html new file mode 100644 index 000000000..0555bea9f --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-input/-result/-with-single-media-item/hash-code.html @@ -0,0 +1,69 @@ + + + + + hashCode + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

hashCode

+
+
open override fun hashCode(): Int
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-input/-result/-with-single-media-item/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-input/-result/-with-single-media-item/index.html new file mode 100644 index 000000000..f9615d332 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-input/-result/-with-single-media-item/index.html @@ -0,0 +1,155 @@ + + + + + WithSingleMediaItem + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

WithSingleMediaItem

+

Contains a single Media item which will be used for processing.

+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+ +
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open operator override fun equals(other: Any?): Boolean
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun hashCode(): Int
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun toString(): String
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-input/-result/-with-single-media-item/item.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-input/-result/-with-single-media-item/item.html new file mode 100644 index 000000000..bfe99c405 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-input/-result/-with-single-media-item/item.html @@ -0,0 +1,69 @@ + + + + + item + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

item

+
+ +
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-input/-result/-with-single-media-item/to-string.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-input/-result/-with-single-media-item/to-string.html new file mode 100644 index 000000000..b477565e0 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-input/-result/-with-single-media-item/to-string.html @@ -0,0 +1,69 @@ + + + + + toString + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

toString

+
+
open override fun toString(): String
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-input/-result/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-input/-result/index.html new file mode 100644 index 000000000..4a46754f6 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-input/-result/index.html @@ -0,0 +1,130 @@ + + + + + Result + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Result

+
sealed class Result

Defines all results accepted by MediaProcessor.

+
+
+
+
+

Types

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+

Contains a list of Media items from which user can pick one for processing. requestMore can be provided optionally, when Input has more Media items available.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Contains a single Media item which will be used for processing.

+
+
+
+
+
+

Inheritors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-input/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-input/index.html new file mode 100644 index 000000000..c7d22d272 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-input/index.html @@ -0,0 +1,123 @@ + + + + + Input + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Input

+
interface Input

Defines the media input model that is available to be read from by the processor.

+
+
+
+
+

Types

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
sealed class Requirements

Defines all possible requirements to Media items that MediaProcessor expects to be satisfied by provided Result.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
sealed class Result

Defines all results accepted by MediaProcessor.

+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+

Subscribes to the provided onResult to be notified when a new Result is available for this input. The subscriber specifies its Requirements that must be taken into account when selecting media items to pass as a Result to make sure that subscriber receives expected media data. The returned Closeable must be closed when done working with this input otherwise underlying resources will be leaked.

+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-input/subscribe-to.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-input/subscribe-to.html new file mode 100644 index 000000000..3808b0547 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-input/subscribe-to.html @@ -0,0 +1,69 @@ + + + + + subscribeTo + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

subscribeTo

+
+

Subscribes to the provided onResult to be notified when a new Result is available for this input. The subscriber specifies its Requirements that must be taken into account when selecting media items to pass as a Result to make sure that subscriber receives expected media data. The returned Closeable must be closed when done working with this input otherwise underlying resources will be leaked.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-face/-face.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-face/-face.html new file mode 100644 index 000000000..8f0ad0071 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-face/-face.html @@ -0,0 +1,69 @@ + + + + + Face + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Face

+
+
fun Face(x: Float, y: Float, width: Float, height: Float)

Parameters

x

the left position of the face.

y

the top position of the face.

width

the width of the face. Image width should be less or equal to 4096.

height

the height of the face. Image height should be less or equal to 4096.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-face/equals.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-face/equals.html new file mode 100644 index 000000000..121d3c834 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-face/equals.html @@ -0,0 +1,69 @@ + + + + + equals + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

equals

+
+
open operator override fun equals(other: Any?): Boolean
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-face/hash-code.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-face/hash-code.html new file mode 100644 index 000000000..90c703ffc --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-face/hash-code.html @@ -0,0 +1,69 @@ + + + + + hashCode + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

hashCode

+
+
open override fun hashCode(): Int
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-face/height.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-face/height.html new file mode 100644 index 000000000..1c65802a3 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-face/height.html @@ -0,0 +1,69 @@ + + + + + height + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

height

+
+

Parameters

height

the height of the face. Image height should be less or equal to 4096.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-face/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-face/index.html new file mode 100644 index 000000000..9c4517cce --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-face/index.html @@ -0,0 +1,204 @@ + + + + + Face + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Face

+
class Face(val x: Float, val y: Float, val width: Float, val height: Float)

A face detected in an image. All parameters values should be in 0, 1 range.

+
+
+
+
+

Parameters

+
+
x

the left position of the face.

y

the top position of the face.

width

the width of the face. Image width should be less or equal to 4096.

height

the height of the face. Image height should be less or equal to 4096.

+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun Face(x: Float, y: Float, width: Float, height: Float)
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open operator override fun equals(other: Any?): Boolean
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun hashCode(): Int
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun toString(): String
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val x: Float
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val y: Float
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-face/to-string.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-face/to-string.html new file mode 100644 index 000000000..f6dab8623 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-face/to-string.html @@ -0,0 +1,69 @@ + + + + + toString + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

toString

+
+
open override fun toString(): String
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-face/width.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-face/width.html new file mode 100644 index 000000000..1ec77cf9d --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-face/width.html @@ -0,0 +1,69 @@ + + + + + width + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

width

+
+

Parameters

width

the width of the face. Image width should be less or equal to 4096.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-face/x.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-face/x.html new file mode 100644 index 000000000..342138051 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-face/x.html @@ -0,0 +1,69 @@ + + + + + x + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

x

+
+
val x: Float

Parameters

x

the left position of the face.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-face/y.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-face/y.html new file mode 100644 index 000000000..0fa6f6a55 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-face/y.html @@ -0,0 +1,69 @@ + + + + + y + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

y

+
+
val y: Float

Parameters

y

the top position of the face.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-original/-by-uri/-by-uri.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-original/-by-uri/-by-uri.html new file mode 100644 index 000000000..0dbe86eec --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-original/-by-uri/-by-uri.html @@ -0,0 +1,69 @@ + + + + + ByUri + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

ByUri

+
+
fun ByUri(uri: Uri, width: Int, height: Int, rotationDegrees: Int = 0)

Parameters

uri

an identifier for the image content. There are the URI schemes accepted: file://, asset://, res:// and content://.

width

the width of the image in pixels.

height

the height of the image in pixels.

rotationDegrees

rotation that should be applied on the image after decoding.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-original/-by-uri/equals.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-original/-by-uri/equals.html new file mode 100644 index 000000000..b03ae076f --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-original/-by-uri/equals.html @@ -0,0 +1,69 @@ + + + + + equals + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

equals

+
+
open operator override fun equals(other: Any?): Boolean
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-original/-by-uri/hash-code.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-original/-by-uri/hash-code.html new file mode 100644 index 000000000..3b4e3ab9c --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-original/-by-uri/hash-code.html @@ -0,0 +1,69 @@ + + + + + hashCode + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

hashCode

+
+
open override fun hashCode(): Int
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-original/-by-uri/height.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-original/-by-uri/height.html new file mode 100644 index 000000000..c8c6b032d --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-original/-by-uri/height.html @@ -0,0 +1,69 @@ + + + + + height + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

height

+
+
val height: Int

Parameters

height

the height of the image in pixels.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-original/-by-uri/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-original/-by-uri/index.html new file mode 100644 index 000000000..4436b9e01 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-original/-by-uri/index.html @@ -0,0 +1,204 @@ + + + + + ByUri + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

ByUri

+
class ByUri(val uri: Uri, val width: Int, val height: Int, val rotationDegrees: Int = 0) : MediaProcessor.Media.Image.Original

An Image specified by Uri.

+
+
+
+
+

Parameters

+
+
uri

an identifier for the image content. There are the URI schemes accepted: file://, asset://, res:// and content://.

width

the width of the image in pixels.

height

the height of the image in pixels.

rotationDegrees

rotation that should be applied on the image after decoding.

+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun ByUri(uri: Uri, width: Int, height: Int, rotationDegrees: Int = 0)
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open operator override fun equals(other: Any?): Boolean
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun hashCode(): Int
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun toString(): String
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
val height: Int
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val uri: Uri
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val width: Int
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-original/-by-uri/rotation-degrees.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-original/-by-uri/rotation-degrees.html new file mode 100644 index 000000000..18a9bb61a --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-original/-by-uri/rotation-degrees.html @@ -0,0 +1,69 @@ + + + + + rotationDegrees + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

rotationDegrees

+
+

Parameters

rotationDegrees

rotation that should be applied on the image after decoding.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-original/-by-uri/to-string.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-original/-by-uri/to-string.html new file mode 100644 index 000000000..040a226c2 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-original/-by-uri/to-string.html @@ -0,0 +1,69 @@ + + + + + toString + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

toString

+
+
open override fun toString(): String
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-original/-by-uri/uri.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-original/-by-uri/uri.html new file mode 100644 index 000000000..8c5669982 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-original/-by-uri/uri.html @@ -0,0 +1,69 @@ + + + + + uri + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

uri

+
+
val uri: Uri

Parameters

uri

an identifier for the image content. There are the URI schemes accepted: file://, asset://, res:// and content://.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-original/-by-uri/width.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-original/-by-uri/width.html new file mode 100644 index 000000000..2b3b4bb23 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-original/-by-uri/width.html @@ -0,0 +1,69 @@ + + + + + width + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

width

+
+
val width: Int

Parameters

width

the width of the image in pixels.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-original/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-original/index.html new file mode 100644 index 000000000..2555ff25b --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-original/index.html @@ -0,0 +1,104 @@ + + + + + Original + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Original

+

Defines all representations of an original Image.

+
+
+
+
+

Types

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
class ByUri(val uri: Uri, val width: Int, val height: Int, val rotationDegrees: Int = 0) : MediaProcessor.Media.Image.Original

An Image specified by Uri.

+
+
+
+
+
+

Inheritors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-with-face/-with-face.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-with-face/-with-face.html new file mode 100644 index 000000000..e52e134cf --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-with-face/-with-face.html @@ -0,0 +1,69 @@ + + + + + WithFace + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

WithFace

+
+ +
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-with-face/equals.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-with-face/equals.html new file mode 100644 index 000000000..a5f6d4a09 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-with-face/equals.html @@ -0,0 +1,69 @@ + + + + + equals + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

equals

+
+
open operator override fun equals(other: Any?): Boolean
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-with-face/face.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-with-face/face.html new file mode 100644 index 000000000..7a6d105b2 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-with-face/face.html @@ -0,0 +1,69 @@ + + + + + face + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

face

+
+ +
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-with-face/hash-code.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-with-face/hash-code.html new file mode 100644 index 000000000..1da78fbc3 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-with-face/hash-code.html @@ -0,0 +1,69 @@ + + + + + hashCode + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

hashCode

+
+
open override fun hashCode(): Int
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-with-face/image.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-with-face/image.html new file mode 100644 index 000000000..a4d843f0b --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-with-face/image.html @@ -0,0 +1,69 @@ + + + + + image + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

image

+
+ +
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-with-face/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-with-face/index.html new file mode 100644 index 000000000..bcb3918c5 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-with-face/index.html @@ -0,0 +1,170 @@ + + + + + WithFace + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

WithFace

+

An Image which contains a face data in addition to the original image data.

+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+ +
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open operator override fun equals(other: Any?): Boolean
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun hashCode(): Int
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun toString(): String
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+ +
+
+ +
+
+
+ + +
Link copied to clipboard
+
+ +
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-with-face/to-string.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-with-face/to-string.html new file mode 100644 index 000000000..5c79263be --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-with-face/to-string.html @@ -0,0 +1,69 @@ + + + + + toString + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

toString

+
+
open override fun toString(): String
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/index.html new file mode 100644 index 000000000..c0ac0294e --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/index.html @@ -0,0 +1,145 @@ + + + + + Image + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Image

+

Defines all image media types accepted by MediaProcessor.

+
+
+
+
+

Types

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
class Face(val x: Float, val y: Float, val width: Float, val height: Float)

A face detected in an image. All parameters values should be in 0, 1 range.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Defines all representations of an original Image.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

An Image which contains a face data in addition to the original image data.

+
+
+
+
+
+

Inheritors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-media/-video/-original/-by-uri/-by-uri.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-media/-video/-original/-by-uri/-by-uri.html new file mode 100644 index 000000000..5de026e63 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-media/-video/-original/-by-uri/-by-uri.html @@ -0,0 +1,69 @@ + + + + + ByUri + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

ByUri

+
+
fun ByUri(uri: Uri, durationInMillis: Long)

Parameters

uri

an identifier for the video content. There are the URI schemes accepted: file://, asset://, res:// and content://.

durationInMillis

a video duration in milliseconds.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-media/-video/-original/-by-uri/duration-in-millis.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-media/-video/-original/-by-uri/duration-in-millis.html new file mode 100644 index 000000000..ba75c2f51 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-media/-video/-original/-by-uri/duration-in-millis.html @@ -0,0 +1,69 @@ + + + + + durationInMillis + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

durationInMillis

+
+

Parameters

durationInMillis

a video duration in milliseconds.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-media/-video/-original/-by-uri/equals.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-media/-video/-original/-by-uri/equals.html new file mode 100644 index 000000000..73782616e --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-media/-video/-original/-by-uri/equals.html @@ -0,0 +1,69 @@ + + + + + equals + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

equals

+
+
open operator override fun equals(other: Any?): Boolean
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-media/-video/-original/-by-uri/hash-code.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-media/-video/-original/-by-uri/hash-code.html new file mode 100644 index 000000000..7293bd424 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-media/-video/-original/-by-uri/hash-code.html @@ -0,0 +1,69 @@ + + + + + hashCode + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

hashCode

+
+
open override fun hashCode(): Int
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-media/-video/-original/-by-uri/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-media/-video/-original/-by-uri/index.html new file mode 100644 index 000000000..8c58b8086 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-media/-video/-original/-by-uri/index.html @@ -0,0 +1,174 @@ + + + + + ByUri + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

ByUri

+
class ByUri(val uri: Uri, val durationInMillis: Long) : MediaProcessor.Media.Video.Original

A Video specified by Uri.

+
+
+
+
+

Parameters

+
+
uri

an identifier for the video content. There are the URI schemes accepted: file://, asset://, res:// and content://.

durationInMillis

a video duration in milliseconds.

+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun ByUri(uri: Uri, durationInMillis: Long)
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open operator override fun equals(other: Any?): Boolean
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun hashCode(): Int
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun toString(): String
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val uri: Uri
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-media/-video/-original/-by-uri/to-string.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-media/-video/-original/-by-uri/to-string.html new file mode 100644 index 000000000..7a813ac2d --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-media/-video/-original/-by-uri/to-string.html @@ -0,0 +1,69 @@ + + + + + toString + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

toString

+
+
open override fun toString(): String
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-media/-video/-original/-by-uri/uri.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-media/-video/-original/-by-uri/uri.html new file mode 100644 index 000000000..4f28988ab --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-media/-video/-original/-by-uri/uri.html @@ -0,0 +1,69 @@ + + + + + uri + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

uri

+
+
val uri: Uri

Parameters

uri

an identifier for the video content. There are the URI schemes accepted: file://, asset://, res:// and content://.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-media/-video/-original/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-media/-video/-original/index.html new file mode 100644 index 000000000..d6e0d9496 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-media/-video/-original/index.html @@ -0,0 +1,104 @@ + + + + + Original + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Original

+

Defines all representations of an original Video.

+
+
+
+
+

Types

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
class ByUri(val uri: Uri, val durationInMillis: Long) : MediaProcessor.Media.Video.Original

A Video specified by Uri.

+
+
+
+
+
+

Inheritors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-media/-video/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-media/-video/index.html new file mode 100644 index 000000000..09c87c4ae --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-media/-video/index.html @@ -0,0 +1,104 @@ + + + + + Video + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Video

+

Defines all video media types accepted by MediaProcessor.

+
+
+
+
+

Types

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+

Defines all representations of an original Video.

+
+
+
+
+
+

Inheritors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-media/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-media/index.html new file mode 100644 index 000000000..c1844d3fb --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/-media/index.html @@ -0,0 +1,130 @@ + + + + + Media + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Media

+
sealed class Media

Defines all media types accepted by MediaProcessor.

+
+
+
+
+

Types

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+

Defines all image media types accepted by MediaProcessor.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Defines all video media types accepted by MediaProcessor.

+
+
+
+
+
+

Inheritors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/connect-input.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/connect-input.html new file mode 100644 index 000000000..63d2a8051 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/connect-input.html @@ -0,0 +1,69 @@ + + + + + connectInput + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

connectInput

+
+

Connects the provided input to this processor and returns a Closeable to release the connection when required. Normally, processing of the provided input starts instantly however certain processors may do it async so it is not guaranteed that any work will be done as soon as input is connected.

It is essential to manage the returned Closeable to avoid leaking resources.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/index.html new file mode 100644 index 000000000..7d8c99a58 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-media-processor/index.html @@ -0,0 +1,147 @@ + + + + + MediaProcessor + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

MediaProcessor

+

Defines a Processor that subscribes to MediaProcessor.Input to receive Media data.

Since

1.6.0

+
+
+
+
+

Types

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
interface Input

Defines the media input model that is available to be read from by the processor.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
sealed class Media

Defines all media types accepted by MediaProcessor.

+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+

Connects the provided input to this processor and returns a Closeable to release the connection when required. Normally, processing of the provided input starts instantly however certain processors may do it async so it is not guaranteed that any work will be done as soon as input is connected.

+
+
+
+
+
+

Inheritors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-processor/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-processor/index.html new file mode 100644 index 000000000..5f2773b84 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-processor/index.html @@ -0,0 +1,153 @@ + + + + + Processor + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Processor

+
interface Processor

Marker interface for all processors that can be attached to a specific Source.

+
+
+
+
+

Inheritors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-safe-render-area-processor/-input/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-safe-render-area-processor/-input/index.html new file mode 100644 index 000000000..201d96d34 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-safe-render-area-processor/-input/index.html @@ -0,0 +1,91 @@ + + + + + Input + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Input

+
interface Input

Defines the safe render area model that is available to be read from by the processor.

+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract fun subscribeTo(onSafeRenderAreaAvailable: Consumer<Rect>): Closeable

Subscribes to the provided onSafeRenderAreaAvailable to be notified when a new safe render area Rect is available for this input. The submitted Rect area is considered to be relative to the currently attached, largest ImageProcessor.Output's rendered area. The returned Closeable must be closed when done working with this input otherwise underlying resources will be leaked.

+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-safe-render-area-processor/-input/subscribe-to.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-safe-render-area-processor/-input/subscribe-to.html new file mode 100644 index 000000000..d38ecc1a2 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-safe-render-area-processor/-input/subscribe-to.html @@ -0,0 +1,69 @@ + + + + + subscribeTo + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

subscribeTo

+
+
abstract fun subscribeTo(onSafeRenderAreaAvailable: Consumer<Rect>): Closeable

Subscribes to the provided onSafeRenderAreaAvailable to be notified when a new safe render area Rect is available for this input. The submitted Rect area is considered to be relative to the currently attached, largest ImageProcessor.Output's rendered area. The returned Closeable must be closed when done working with this input otherwise underlying resources will be leaked.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-safe-render-area-processor/connect-input.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-safe-render-area-processor/connect-input.html new file mode 100644 index 000000000..706e6fbb3 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-safe-render-area-processor/connect-input.html @@ -0,0 +1,69 @@ + + + + + connectInput + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

connectInput

+
+

Connects the provided input to this processor and returns a Closeable to release the connection when required. Normally, processing of the provided input starts instantly however certain processors may do it async so it is not guaranteed that any work will be done as soon as input is connected.

It is essential to manage the returned Closeable to avoid leaking resources.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-safe-render-area-processor/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-safe-render-area-processor/index.html new file mode 100644 index 000000000..58a82514b --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-safe-render-area-processor/index.html @@ -0,0 +1,132 @@ + + + + + SafeRenderAreaProcessor + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

SafeRenderAreaProcessor

+

Defines a Processor that subscribes to SafeRenderAreaProcessor.Input to receive updates on the area that the client considers to be safe for rendering content such as lens UI elements where they can not overlap or interfere with the client's own UI.

Since

1.6.0

+
+
+
+
+

Types

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
interface Input

Defines the safe render area model that is available to be read from by the processor.

+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+

Connects the provided input to this processor and returns a Closeable to release the connection when required. Normally, processing of the provided input starts instantly however certain processors may do it async so it is not guaranteed that any work will be done as soon as input is connected.

+
+
+
+
+
+

Inheritors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-session/-builder/api-token.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-session/-builder/api-token.html new file mode 100644 index 000000000..c8d572216 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-session/-builder/api-token.html @@ -0,0 +1,69 @@ + + + + + apiToken + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

apiToken

+
+
abstract fun apiToken(value: String?): Session.Builder

Uses the provided API token value to associate with Session. When no value is provided then the application's Android manifest will be queried for com.snap.camerakit.api.token meta-data field. If no value is provided or found in the manifest, CameraKit will attempt to use built-in authorization token however it is scheduled to be removed in future releases, making this a required property to provide.

Since

1.8.0

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-session/-builder/application-id.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-session/-builder/application-id.html new file mode 100644 index 000000000..df6d058ec --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-session/-builder/application-id.html @@ -0,0 +1,69 @@ + + + + + applicationId + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

applicationId

+
+
abstract fun applicationId(value: String?): Session.Builder

Deprecated

Application ID does not need to be provided anymore.

Uses the provided application ID value to associate with Session.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-session/-builder/attach-to.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-session/-builder/attach-to.html new file mode 100644 index 000000000..082ab4a2d --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-session/-builder/attach-to.html @@ -0,0 +1,69 @@ + + + + + attachTo + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

attachTo

+
+
abstract fun attachTo(viewStub: ViewStub?): Session.Builder

Uses the provided viewStub with a non-null parent view to inflate view hierarchy of Session which includes rendering camera preview with lenses. If no viewStub is provided then Session does not attempt to render any views while the output of camera preview can be attached to using ImageProcessor.connectOutput.

Calling this method with a non-null viewStub value is equivalent to:

attachTo(viewStub, withPreview = true)

abstract fun attachTo(viewStub: ViewStub, withPreview: Boolean): Session.Builder

Uses the provided viewStub with a non-null parent view to inflate view hierarchy of Session. If withPreview is false then Session will not render camera preview within the inflated view hierarchy. To render camera preview, an output can be attached explicitly using ImageProcessor.connectOutput.

Since

1.4.0

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-session/-builder/audio-processor-source.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-session/-builder/audio-processor-source.html new file mode 100644 index 000000000..7aaf81eae --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-session/-builder/audio-processor-source.html @@ -0,0 +1,69 @@ + + + + + audioProcessorSource + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

audioProcessorSource

+
+

Uses the provided value to attach the Session audio processing pipeline to once built. The provided Source is normally attached to when audio input is required to either mutate it by applying audio effects (lenses voice changer) or/and process it to detect loudness, spectrum information etc. Providing the Source is optional as it is possible to connect input to Session.processor manually, once Session is built and running, if required.

NOTE: If no Source is provided, Session will attempt to use a default implementation backed by device's microphone input as long as android.Manifest.permission.RECORD_AUDIO permission is granted.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-session/-builder/build.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-session/-builder/build.html new file mode 100644 index 000000000..3a0a30d3a --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-session/-builder/build.html @@ -0,0 +1,69 @@ + + + + + build + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

build

+
+
abstract fun build(): Session

Builds an instance of Session with the configuration of this builder and starts the internal lifecycle which can be disposed by calling Session.close. If configuration issues are detected then it should be expected that this method will throw an exception or deliver it to an error handler provided via handleErrorsWith, if any.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-session/-builder/configure-lenses.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-session/-builder/configure-lenses.html new file mode 100644 index 000000000..c234b97e2 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-session/-builder/configure-lenses.html @@ -0,0 +1,69 @@ + + + + + configureLenses + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

configureLenses

+
+

Allows to pre-configure LensesComponent with options that are applied to build the final LensesComponent available through Session.lenses.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-session/-builder/configure-with.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-session/-builder/configure-with.html new file mode 100644 index 000000000..2dd126114 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-session/-builder/configure-with.html @@ -0,0 +1,69 @@ + + + + + configureWith + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

configureWith

+
+
abstract fun configureWith(key: String, value: String): Session.Builder

Uses the provided key associated with a value to configure additional Session parameters which are typically internal and/or experimental.

NOTE: Use only as directed by CameraKit developer support contact.

Since

1.8.3

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-session/-builder/handle-errors-with.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-session/-builder/handle-errors-with.html new file mode 100644 index 000000000..9a24e8fd2 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-session/-builder/handle-errors-with.html @@ -0,0 +1,69 @@ + + + + + handleErrorsWith + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

handleErrorsWith

+
+
abstract fun handleErrorsWith(errorHandler: Consumer<Throwable>): Session.Builder

Allows to provide a custom error handler that will be notified when this session and/or its sub-components encounter issues that are most likely unrecoverable. If no custom error handler is provided here, then all errors will be re-thrown to the main thread, leading to an immediate crash.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-session/-builder/image-processor-source.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-session/-builder/image-processor-source.html new file mode 100644 index 000000000..8d984f172 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-session/-builder/image-processor-source.html @@ -0,0 +1,69 @@ + + + + + imageProcessorSource + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

imageProcessorSource

+
+

Uses the provided value to attach the Session image processing pipeline to once built. The provided Source will be attached to as soon as Session is created and de-attached from once the Session is closed. Providing a Source is optional as it is possible to connect input to Session.processor manually, if required.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-session/-builder/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-session/-builder/index.html new file mode 100644 index 000000000..dfb777b5b --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-session/-builder/index.html @@ -0,0 +1,286 @@ + + + + + Builder + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Builder

+
interface Builder
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract fun apiToken(value: String?): Session.Builder

Uses the provided API token value to associate with Session. When no value is provided then the application's Android manifest will be queried for com.snap.camerakit.api.token meta-data field. If no value is provided or found in the manifest, CameraKit will attempt to use built-in authorization token however it is scheduled to be removed in future releases, making this a required property to provide.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract fun applicationId(value: String?): Session.Builder

Uses the provided application ID value to associate with Session.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract fun attachTo(viewStub: ViewStub?): Session.Builder

Uses the provided viewStub with a non-null parent view to inflate view hierarchy of Session which includes rendering camera preview with lenses. If no viewStub is provided then Session does not attempt to render any views while the output of camera preview can be attached to using ImageProcessor.connectOutput.

abstract fun attachTo(viewStub: ViewStub, withPreview: Boolean): Session.Builder

Uses the provided viewStub with a non-null parent view to inflate view hierarchy of Session. If withPreview is false then Session will not render camera preview within the inflated view hierarchy. To render camera preview, an output can be attached explicitly using ImageProcessor.connectOutput.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Uses the provided value to attach the Session audio processing pipeline to once built. The provided Source is normally attached to when audio input is required to either mutate it by applying audio effects (lenses voice changer) or/and process it to detect loudness, spectrum information etc. Providing the Source is optional as it is possible to connect input to Session.processor manually, once Session is built and running, if required.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract fun build(): Session

Builds an instance of Session with the configuration of this builder and starts the internal lifecycle which can be disposed by calling Session.close. If configuration issues are detected then it should be expected that this method will throw an exception or deliver it to an error handler provided via handleErrorsWith, if any.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Allows to pre-configure LensesComponent with options that are applied to build the final LensesComponent available through Session.lenses.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract fun configureWith(key: String, value: String): Session.Builder

Uses the provided key associated with a value to configure additional Session parameters which are typically internal and/or experimental.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract fun handleErrorsWith(errorHandler: Consumer<Throwable>): Session.Builder

Allows to provide a custom error handler that will be notified when this session and/or its sub-components encounter issues that are most likely unrecoverable. If no custom error handler is provided here, then all errors will be re-thrown to the main thread, leading to an immediate crash.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Uses the provided value to attach the Session image processing pipeline to once built. The provided Source will be attached to as soon as Session is created and de-attached from once the Session is closed. Providing a Source is optional as it is possible to connect input to Session.processor manually, if required.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Uses the provided value to attach the Session legal processing pipeline to once built. The provided Source is normally attached to when legal prompts are to be presented and de-attached once legal prompt response is obtained.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Uses the provided value to attach the Session optional location data processing pipeline to once built. The provided Source is normally attached to when location data is required to be presented as part of image processing and de-attached once the location data is not needed anymore. Providing the Source is optional as location data is optional, it does not change the any aspect of business logic. The main advantage of providing the Source of location data is to enable certain types of location specific content such as Landmarker lenses that augment real life objects pinned to geographic co-ordinates.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Uses the provided value to attach the Session optional media data processing pipeline to once built. The provided Source is normally attached to when media data is required to be presented as part of image processing and de-attached once the media data is not needed anymore. Providing the Source is optional as media data is optional, it does not change the any aspect of business logic. The main advantage of providing the Source of media data is to enable certain content such as Image Picker lenses.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Uses the provided value to attach the Session optional safe render area processing pipeline to once built. The provided Source is normally attached to as soon as the Session is built and de-attached when Session is closed. Providing the Source is optional however certain content such as UI elements in lenses will be rendered without any consideration for the client's UI, possibly interfering with it, when no Source is provided.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Uses the provided value to attach the Session optional user data processing pipeline to once built. The provided Source is normally attached to when user data is required to be presented as part of image processing and de-attached once the user data is not needed anymore. Providing the Source is optional as user data is optional, it does not change the any aspect of business logic. The main advantage of providing the Source of user data is to get extra personalization in generated content such as displaying user name in lenses.

+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-session/-builder/legal-processor-source.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-session/-builder/legal-processor-source.html new file mode 100644 index 000000000..72179b985 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-session/-builder/legal-processor-source.html @@ -0,0 +1,69 @@ + + + + + legalProcessorSource + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

legalProcessorSource

+
+

Uses the provided value to attach the Session legal processing pipeline to once built. The provided Source is normally attached to when legal prompts are to be presented and de-attached once legal prompt response is obtained.

NOTE: The Source provided via this method is only considered if the host application has been granted a special permission which can be obtained from the CameraKit developer support contact.

Since

1.8.0

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-session/-builder/location-processor-source.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-session/-builder/location-processor-source.html new file mode 100644 index 000000000..37478356d --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-session/-builder/location-processor-source.html @@ -0,0 +1,69 @@ + + + + + locationProcessorSource + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

locationProcessorSource

+
+

Uses the provided value to attach the Session optional location data processing pipeline to once built. The provided Source is normally attached to when location data is required to be presented as part of image processing and de-attached once the location data is not needed anymore. Providing the Source is optional as location data is optional, it does not change the any aspect of business logic. The main advantage of providing the Source of location data is to enable certain types of location specific content such as Landmarker lenses that augment real life objects pinned to geographic co-ordinates.

Since

1.6.0

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-session/-builder/media-processor-source.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-session/-builder/media-processor-source.html new file mode 100644 index 000000000..0978cfdff --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-session/-builder/media-processor-source.html @@ -0,0 +1,69 @@ + + + + + mediaProcessorSource + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

mediaProcessorSource

+
+

Uses the provided value to attach the Session optional media data processing pipeline to once built. The provided Source is normally attached to when media data is required to be presented as part of image processing and de-attached once the media data is not needed anymore. Providing the Source is optional as media data is optional, it does not change the any aspect of business logic. The main advantage of providing the Source of media data is to enable certain content such as Image Picker lenses.

Since

1.6.0

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-session/-builder/safe-render-area-processor-source.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-session/-builder/safe-render-area-processor-source.html new file mode 100644 index 000000000..aa167d0bf --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-session/-builder/safe-render-area-processor-source.html @@ -0,0 +1,69 @@ + + + + + safeRenderAreaProcessorSource + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

safeRenderAreaProcessorSource

+
+

Uses the provided value to attach the Session optional safe render area processing pipeline to once built. The provided Source is normally attached to as soon as the Session is built and de-attached when Session is closed. Providing the Source is optional however certain content such as UI elements in lenses will be rendered without any consideration for the client's UI, possibly interfering with it, when no Source is provided.

Since

1.6.0

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-session/-builder/user-processor-source.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-session/-builder/user-processor-source.html new file mode 100644 index 000000000..e4d3bfe98 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-session/-builder/user-processor-source.html @@ -0,0 +1,69 @@ + + + + + userProcessorSource + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

userProcessorSource

+
+

Uses the provided value to attach the Session optional user data processing pipeline to once built. The provided Source is normally attached to when user data is required to be presented as part of image processing and de-attached once the user data is not needed anymore. Providing the Source is optional as user data is optional, it does not change the any aspect of business logic. The main advantage of providing the Source of user data is to get extra personalization in generated content such as displaying user name in lenses.

Since

1.1.0

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-session/-companion/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-session/-companion/index.html new file mode 100644 index 000000000..383bb0a49 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-session/-companion/index.html @@ -0,0 +1,73 @@ + + + + + Companion + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Companion

+
object Companion

Provides a way for implementations to attach static extension functions to the Session interface for better discoverability. It is expected that implementation will extend this object with methods to instantiate a Builder and similar.

+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-session/-processor/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-session/-processor/index.html new file mode 100644 index 000000000..cebdceb12 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-session/-processor/index.html @@ -0,0 +1,151 @@ + + + + + Processor + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Processor

+ +
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+

Connects the provided input to this processor and returns a Closeable to release the connection when required. Normally, processing of the provided input starts instantly however certain processors may do it async so it is not guaranteed that any work will be done as soon as input is connected.

Connects the provided input to this processor and returns a Closeable to release the connection when required. Normally, processing of the provided input starts instantly however certain processors may do it async so it is not guaranteed that any work will be done as soon as input is connected.

Connects the provided input to this processor and returns a Closeable to release the connection when required. Normally, processing of the provided input starts instantly however certain processors may do it async so it is not guaranteed that any work will be done as soon as input is connected.

Connects the provided input to this processor and returns a Closeable to release the connection when required. Normally, processing of the provided input starts instantly however certain processors may do it async so it is not guaranteed that any work will be done as soon as input is connected.

Connects the provided input to this processor and returns a Closeable to release the connection when required. Normally, processing of the provided input starts instantly however certain processors may do it async so it is not guaranteed that any work will be done as soon as input is connected.

Connects the provided input to this processor and returns a Closeable to release the connection when required. Normally, processing of the provided input starts instantly however certain processors may do it async so it is not guaranteed that any work will be done as soon as input is connected.

Connects the provided input to this processor and returns a Closeable to release the connection when required. Normally, processing of the provided input starts instantly however certain processors may do it async so it is not guaranteed that any work will be done as soon as input is connected.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Connects the provided output to this processor and returns a Closeable to release the connection when required. Similarly to connectInput, it is not guaranteed that the provided output will receive results as soon as it is connected, the processor may do it async.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Notifies the provided onResult callback when this LegalProcessor obtains a Input.Result until the returned Closeable is closed.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Takes in onCapabilitiesRequested that will be notified when image processing operations require additional data from connected Input. Right after observeRequiredCapabilities is called onCapabilitiesRequested consumer will be invoked on the caller thread with the current set of required capabilities. emptySet is used to represent that additional capabilities aren't required.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Notifies the provided onResult callback when this LegalProcessor handles a Input.Result. When the requestUpdate option is LegalProcessor.Input.RequestUpdate.ALWAYS the processor will attempt to subscribe to a LegalProcessor.Input eagerly in order to obtain a Input.Result earlier than typically required.

+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-session/adjustments.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-session/adjustments.html new file mode 100644 index 000000000..f17dcddf9 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-session/adjustments.html @@ -0,0 +1,69 @@ + + + + + adjustments + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

adjustments

+
+

Provides an AdjustmentsComponent that contains all accessible features of adjustments. The returned AdjustmentsComponent can be closed to release resources however it is not necessary to do it explicitly as calling Session.close will also close the underlying AdjustmentsComponent.

Since

1.12.0

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-session/close.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-session/close.html new file mode 100644 index 000000000..df7f7c5fa --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-session/close.html @@ -0,0 +1,69 @@ + + + + + close + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

close

+
+
abstract override fun close()

Closes all resources allocated for this Session. Overridden to indicate that calling close will not throw.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-session/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-session/index.html new file mode 100644 index 000000000..56ff2069e --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-session/index.html @@ -0,0 +1,185 @@ + + + + + Session + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Session

+
interface Session : Closeable

Entry point to all CameraKit features. To obtain Session implementations must provide methods to get a new instance of Builder which exposes options to customize Session instance once it is built by calling Builder.build. Once done using an instance of Session, Session.close must be called to avoid leaking resources.

+
+
+
+
+

Types

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
interface Builder
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
object Companion

Provides a way for implementations to attach static extension functions to the Session interface for better discoverability. It is expected that implementation will extend this object with methods to instantiate a Builder and similar.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+ +
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract override fun close()

Closes all resources allocated for this Session. Overridden to indicate that calling close will not throw.

+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+

Provides an AdjustmentsComponent that contains all accessible features of adjustments. The returned AdjustmentsComponent can be closed to release resources however it is not necessary to do it explicitly as calling Session.close will also close the underlying AdjustmentsComponent.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract val lenses: LensesComponent

Provides a LensesComponent that contains all accessible features of lenses. The returned LensesComponent can be closed to release resources however it is not necessary to do it explicitly as calling Session.close will also close the underlying LensesComponent.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Provides a Processor to run this Session's image, audio and other data processing operations over a connected input with the results observed through any connected outputs. If no input is connected then it is expected that certain Session features such as lenses will produce no results as they require continuous input frames to process and produce output frames.

+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-session/lenses.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-session/lenses.html new file mode 100644 index 000000000..82d8c5e3d --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-session/lenses.html @@ -0,0 +1,69 @@ + + + + + lenses + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

lenses

+
+
abstract val lenses: LensesComponent

Provides a LensesComponent that contains all accessible features of lenses. The returned LensesComponent can be closed to release resources however it is not necessary to do it explicitly as calling Session.close will also close the underlying LensesComponent.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-session/processor.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-session/processor.html new file mode 100644 index 000000000..c404ff00d --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-session/processor.html @@ -0,0 +1,69 @@ + + + + + processor + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

processor

+
+

Provides a Processor to run this Session's image, audio and other data processing operations over a connected input with the results observed through any connected outputs. If no input is connected then it is expected that certain Session features such as lenses will produce no results as they require continuous input frames to process and produce output frames.

To simplify management of input connection to this processor, Sources for ImageProcessor, AudioProcessor and other processors can be provided to Builder.imageProcessorSource and Builder.audioProcessorSource when configuring a new Session.

NOTE: Actual processing of any inputs and outputs connected to this processor is delegated to a multiple of underlying implementations such as LensesComponent.Processor and AdjustmentsComponent.Processor.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-source/-noop/attach.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-source/-noop/attach.html new file mode 100644 index 000000000..4e07ec372 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-source/-noop/attach.html @@ -0,0 +1,69 @@ + + + + + attach + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

attach

+
+
open override fun attach(processor: Processor): Closeable

Attaches the provided processor and returns a Closeable to release the connection once required. The source does not need to guarantee that the provided processor will be connected to as soon as attached since the the source may need to pull input data asynchronously.

It is essential to managed to returned Closeable to avoid leaking resources.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-source/-noop/get.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-source/-noop/get.html new file mode 100644 index 000000000..80aedd446 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-source/-noop/get.html @@ -0,0 +1,69 @@ + + + + + get + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

get

+
+
fun <P : Processor> get(): Source<P>

Provides a generic Source which does nothing.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-source/-noop/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-source/-noop/index.html new file mode 100644 index 000000000..47ee84ec2 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-source/-noop/index.html @@ -0,0 +1,106 @@ + + + + + Noop + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Noop

+
object Noop : Source<Processor>

Convenience implementation of Source which does nothing when a Processor is provided to be attached.

+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun attach(processor: Processor): Closeable

Attaches the provided processor and returns a Closeable to release the connection once required. The source does not need to guarantee that the provided processor will be connected to as soon as attached since the the source may need to pull input data asynchronously.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun <P : Processor> get(): Source<P>

Provides a generic Source which does nothing.

+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-source/attach.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-source/attach.html new file mode 100644 index 000000000..bc9909338 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-source/attach.html @@ -0,0 +1,69 @@ + + + + + attach + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

attach

+
+
abstract fun attach(processor: P): Closeable

Attaches the provided processor and returns a Closeable to release the connection once required. The source does not need to guarantee that the provided processor will be connected to as soon as attached since the the source may need to pull input data asynchronously.

It is essential to managed to returned Closeable to avoid leaking resources.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-source/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-source/index.html new file mode 100644 index 000000000..bfb0dd7aa --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-source/index.html @@ -0,0 +1,121 @@ + + + + + Source + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Source

+
interface Source<P : Processor>

Defines a provider of generic inputs that a Processor of type P can be attached to process over.

+
+
+
+
+

Types

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
object Noop : Source<Processor>

Convenience implementation of Source which does nothing when a Processor is provided to be attached.

+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract fun attach(processor: P): Closeable

Attaches the provided processor and returns a Closeable to release the connection once required. The source does not need to guarantee that the provided processor will be connected to as soon as attached since the the source may need to pull input data asynchronously.

+
+
+
+
+
+

Inheritors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-unauthorized-application-exception/-unauthorized-application-exception.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-unauthorized-application-exception/-unauthorized-application-exception.html new file mode 100644 index 000000000..0f5fedfe7 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-unauthorized-application-exception/-unauthorized-application-exception.html @@ -0,0 +1,69 @@ + + + + + UnauthorizedApplicationException + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

UnauthorizedApplicationException

+
+
fun UnauthorizedApplicationException(applicationId: String, apiToken: String, packageName: String?)


fun UnauthorizedApplicationException(applicationId: String, packageName: String?)

Deprecated

Application ID is not available anymore. Please use the constructor which takes explicit apiToken instead.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-unauthorized-application-exception/api-token.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-unauthorized-application-exception/api-token.html new file mode 100644 index 000000000..6ab52a2d2 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-unauthorized-application-exception/api-token.html @@ -0,0 +1,69 @@ + + + + + apiToken + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

apiToken

+
+ +
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-unauthorized-application-exception/application-id.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-unauthorized-application-exception/application-id.html new file mode 100644 index 000000000..2bf210b00 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-unauthorized-application-exception/application-id.html @@ -0,0 +1,69 @@ + + + + + applicationId + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

applicationId

+
+

Deprecated

Application ID is not available anymore.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-unauthorized-application-exception/equals.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-unauthorized-application-exception/equals.html new file mode 100644 index 000000000..ae7e075ba --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-unauthorized-application-exception/equals.html @@ -0,0 +1,69 @@ + + + + + equals + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

equals

+
+
open operator override fun equals(other: Any?): Boolean
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-unauthorized-application-exception/hash-code.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-unauthorized-application-exception/hash-code.html new file mode 100644 index 000000000..128cbc806 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-unauthorized-application-exception/hash-code.html @@ -0,0 +1,69 @@ + + + + + hashCode + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

hashCode

+
+
open override fun hashCode(): Int
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-unauthorized-application-exception/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-unauthorized-application-exception/index.html new file mode 100644 index 000000000..ef7bb1d7d --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-unauthorized-application-exception/index.html @@ -0,0 +1,335 @@ + + + + + UnauthorizedApplicationException + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

UnauthorizedApplicationException

+
class UnauthorizedApplicationException(val applicationId: String, val apiToken: String, val packageName: String?) : RuntimeException

If application with a specific ID and package name is not authorized to use CameraKit this exception will be thrown, normally ending up in the error handler provided via Session.Builder.handleErrorsWith.

+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun UnauthorizedApplicationException(applicationId: String, packageName: String?)
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun UnauthorizedApplicationException(applicationId: String, apiToken: String, packageName: String?)
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open operator override fun equals(other: Any?): Boolean
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun hashCode(): Int
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open val cause: Throwable?
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open val message: String?
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-unauthorized-application-exception/package-name.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-unauthorized-application-exception/package-name.html new file mode 100644 index 000000000..864753c5e --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-unauthorized-application-exception/package-name.html @@ -0,0 +1,69 @@ + + + + + packageName + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

packageName

+
+ +
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-user-processor/-input/-user/-user.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-user-processor/-input/-user/-user.html new file mode 100644 index 000000000..58c1d3c77 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-user-processor/-input/-user/-user.html @@ -0,0 +1,69 @@ + + + + + User + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

User

+
+
fun User(displayName: String? = null, birthDate: Date? = null)
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-user-processor/-input/-user/birth-date.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-user-processor/-input/-user/birth-date.html new file mode 100644 index 000000000..3b7734644 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-user-processor/-input/-user/birth-date.html @@ -0,0 +1,69 @@ + + + + + birthDate + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

birthDate

+
+
val birthDate: Date? = null

Optional birth date of the current user.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-user-processor/-input/-user/display-name.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-user-processor/-input/-user/display-name.html new file mode 100644 index 000000000..b963f8b8f --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-user-processor/-input/-user/display-name.html @@ -0,0 +1,69 @@ + + + + + displayName + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

displayName

+
+
val displayName: String? = null

Optional name of the current user.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-user-processor/-input/-user/equals.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-user-processor/-input/-user/equals.html new file mode 100644 index 000000000..ce9cfa811 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-user-processor/-input/-user/equals.html @@ -0,0 +1,69 @@ + + + + + equals + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

equals

+
+
open operator override fun equals(other: Any?): Boolean
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-user-processor/-input/-user/hash-code.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-user-processor/-input/-user/hash-code.html new file mode 100644 index 000000000..eef42345e --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-user-processor/-input/-user/hash-code.html @@ -0,0 +1,69 @@ + + + + + hashCode + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

hashCode

+
+
open override fun hashCode(): Int
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-user-processor/-input/-user/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-user-processor/-input/-user/index.html new file mode 100644 index 000000000..5c3f67d48 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-user-processor/-input/-user/index.html @@ -0,0 +1,170 @@ + + + + + User + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

User

+
class User(val displayName: String? = null, val birthDate: Date? = null)

Defines the current user properties available to process, typically used for presentation purposes.

+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun User(displayName: String? = null, birthDate: Date? = null)
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open operator override fun equals(other: Any?): Boolean
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun hashCode(): Int
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun toString(): String
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
val birthDate: Date? = null

Optional birth date of the current user.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val displayName: String? = null

Optional name of the current user.

+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-user-processor/-input/-user/to-string.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-user-processor/-input/-user/to-string.html new file mode 100644 index 000000000..3cd498283 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-user-processor/-input/-user/to-string.html @@ -0,0 +1,69 @@ + + + + + toString + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

toString

+
+
open override fun toString(): String
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-user-processor/-input/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-user-processor/-input/index.html new file mode 100644 index 000000000..9ab2a9d78 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-user-processor/-input/index.html @@ -0,0 +1,108 @@ + + + + + Input + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Input

+
interface Input

Defines the current user model that is available to be read from by the processor.

+
+
+
+
+

Types

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
class User(val displayName: String? = null, val birthDate: Date? = null)

Defines the current user properties available to process, typically used for presentation purposes.

+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+

Subscribes to the provided onUserAvailable to be notified when a new User is available for this input. The returned Closeable must be closed when done working with this input otherwise underlying resources will be leaked.

+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-user-processor/-input/subscribe-to.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-user-processor/-input/subscribe-to.html new file mode 100644 index 000000000..b941bae52 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-user-processor/-input/subscribe-to.html @@ -0,0 +1,69 @@ + + + + + subscribeTo + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

subscribeTo

+
+

Subscribes to the provided onUserAvailable to be notified when a new User is available for this input. The returned Closeable must be closed when done working with this input otherwise underlying resources will be leaked.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-user-processor/connect-input.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-user-processor/connect-input.html new file mode 100644 index 000000000..94013d3f6 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-user-processor/connect-input.html @@ -0,0 +1,69 @@ + + + + + connectInput + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

connectInput

+
+

Connects the provided input to this processor and returns a Closeable to release the connection when required. Normally, processing of the provided input starts instantly however certain processors may do it async so it is not guaranteed that any work will be done as soon as input is connected.

It is essential to manage the returned Closeable to avoid leaking resources.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-user-processor/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-user-processor/index.html new file mode 100644 index 000000000..b5513eacc --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-user-processor/index.html @@ -0,0 +1,132 @@ + + + + + UserProcessor + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

UserProcessor

+

Defines a Processor that subscribes to UserProcessor.Input to receive information about the current user, when available.

Since

1.1.0

+
+
+
+
+

Types

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
interface Input

Defines the current user model that is available to be read from by the processor.

+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+

Connects the provided input to this processor and returns a Closeable to release the connection when required. Normally, processing of the provided input starts instantly however certain processors may do it async so it is not guaranteed that any work will be done as soon as input is connected.

+
+
+
+
+
+

Inheritors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-version/-companion/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-version/-companion/index.html new file mode 100644 index 000000000..70c304d78 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-version/-companion/index.html @@ -0,0 +1,73 @@ + + + + + Companion + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Companion

+
object Companion

Provides ability to attach Version instantiation functions on the implementation side.

+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-version/-version.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-version/-version.html new file mode 100644 index 000000000..49f8c2684 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-version/-version.html @@ -0,0 +1,69 @@ + + + + + Version + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Version

+
+
fun Version(major: Int, minor: Int, patch: Int, qualifier: String? = null)

Parameters

major

An Int which must be equal or greater than 0.

minor

An Int which must be equal or greater than 0.

patch

An Int which must be equal or greater than 0.

qualifier

An optional String that contains pre-release and/or build metadata version information.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-version/compare-to.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-version/compare-to.html new file mode 100644 index 000000000..4e916d02e --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-version/compare-to.html @@ -0,0 +1,69 @@ + + + + + compareTo + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

compareTo

+
+
open operator override fun compareTo(other: Version): Int
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-version/equals.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-version/equals.html new file mode 100644 index 000000000..cf4499799 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-version/equals.html @@ -0,0 +1,69 @@ + + + + + equals + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

equals

+
+
open operator override fun equals(other: Any?): Boolean
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-version/hash-code.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-version/hash-code.html new file mode 100644 index 000000000..7d04077fd --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-version/hash-code.html @@ -0,0 +1,69 @@ + + + + + hashCode + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

hashCode

+
+
open override fun hashCode(): Int
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-version/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-version/index.html new file mode 100644 index 000000000..35ab1e720 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-version/index.html @@ -0,0 +1,236 @@ + + + + + Version + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Version

+
class Version @JvmOverloads constructor(val major: Int, val minor: Int, val patch: Int, val qualifier: String? = null) : Comparable<Version>

Represents a version of the CameraKit library. Versions are Comparable between each other by following the SemVer 2.0.0 specification.

Since

1.14.0

+
+
+
+
+

Parameters

+
+
major

An Int which must be equal or greater than 0.

minor

An Int which must be equal or greater than 0.

patch

An Int which must be equal or greater than 0.

qualifier

An optional String that contains pre-release and/or build metadata version information.

+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun Version(major: Int, minor: Int, patch: Int, qualifier: String? = null)
+
+
+
+
+
+

Types

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
object Companion

Provides ability to attach Version instantiation functions on the implementation side.

+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open operator override fun compareTo(other: Version): Int
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open operator override fun equals(other: Any?): Boolean
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun hashCode(): Int
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun toString(): String
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
val major: Int
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val minor: Int
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val patch: Int
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val qualifier: String? = null
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-version/major.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-version/major.html new file mode 100644 index 000000000..8ee798920 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-version/major.html @@ -0,0 +1,69 @@ + + + + + major + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

major

+
+
val major: Int

Parameters

major

An Int which must be equal or greater than 0.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-version/minor.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-version/minor.html new file mode 100644 index 000000000..a24f30e43 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-version/minor.html @@ -0,0 +1,69 @@ + + + + + minor + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

minor

+
+
val minor: Int

Parameters

minor

An Int which must be equal or greater than 0.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-version/patch.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-version/patch.html new file mode 100644 index 000000000..868b9ddc4 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-version/patch.html @@ -0,0 +1,69 @@ + + + + + patch + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

patch

+
+
val patch: Int

Parameters

patch

An Int which must be equal or greater than 0.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-version/qualifier.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-version/qualifier.html new file mode 100644 index 000000000..5a2255a54 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-version/qualifier.html @@ -0,0 +1,69 @@ + + + + + qualifier + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

qualifier

+
+
val qualifier: String? = null

Parameters

qualifier

An optional String that contains pre-release and/or build metadata version information.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-version/to-string.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-version/to-string.html new file mode 100644 index 000000000..01f29b8e8 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/-version/to-string.html @@ -0,0 +1,69 @@ + + + + + toString + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

toString

+
+
open override fun toString(): String
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/ar-core-input.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/ar-core-input.html new file mode 100644 index 000000000..dbf50d723 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/ar-core-input.html @@ -0,0 +1,69 @@ + + + + + arCoreInput + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

arCoreInput

+
+

Creates a ImageProcessor.Input.Pausable instance that uses ARCore development kit to provide surface tracking capabilities.

Return

null if ARCore initialization failed. A ImageProcessor.Input.Pausable input instance otherwise.

Since

1.6.0


Creates a ImageProcessor.Input.Pausable instance that uses ARCore development kit to provide surface tracking capabilities. Uses a mp4DataSetFile to play back instead of using the live camera feed and IMU sensor data.

Return

null if ARCore initialization failed. A ImageProcessor.Input.Pausable input instance otherwise.

Since

1.17.0

See also

Recording and Playback to capture mp4DataSetFile for the ARCore based input.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/connect-input.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/connect-input.html new file mode 100644 index 000000000..b15205603 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/connect-input.html @@ -0,0 +1,69 @@ + + + + + connectInput + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

connectInput

+
+
fun <P : ImageProcessor> P.connectInput(context: Context, file: File, rotationDegrees: Int = Int.MIN_VALUE, facingFront: Boolean = true, horizontalFieldOfView: Float = DEFAULT_FIELD_OF_VIEW.width, verticalFieldOfView: Float = DEFAULT_FIELD_OF_VIEW.height, options: Set<ImageProcessor.Input.Option> = emptySet()): Closeable

Connects the provided file and associated optional parameters as a video based ImageProcessor.Input. Invoking Closeable.close on the returned Closeable stops the video playback and releases any resources associated with it.

Note: this is intended to be used only for testing purposes, full set of image processing features is supported only when using live camera input Source.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/connect-output.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/connect-output.html new file mode 100644 index 000000000..3d07199d7 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/connect-output.html @@ -0,0 +1,69 @@ + + + + + connectOutput + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

connectOutput

+
+
fun <P : ImageProcessor> P.connectOutput(textureView: TextureView, outputOptions: Set<ImageProcessor.Output.Option> = Collections.emptySet()): Closeable

Allows to connect TextureView as output to ImageProcessor.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/index.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/index.html new file mode 100644 index 000000000..c786c23b8 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/index.html @@ -0,0 +1,499 @@ + + + + + com.snap.camerakit + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

Package-level declarations

+
+
+
+
+

Types

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+

Defines a Processor that is able to take AudioProcessor.Input and run audio processing operations that analyze data to detect patterns and/or mutate the provided AudioProcessor.Input.Frames to apply effects such as filtering, pitch correction etc.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
annotation class Experimental

Indicates that the annotated feature is experimental: it may be removed, its signature or behavior may be changed without warning from one release to the next.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Defines a Processor that is able to take ImageProcessor.Input, run some image processing operations on it and render the final result to ImageProcessor.Output.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Defines a Processor that subscribes to LegalProcessor.Input to receive results from a user responding to a LegalProcessor.Input.Prompt for a legal agreement.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Defines a Processor that subscribes to LocationProcessor.Input to receive information about the current device Location, when available.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Defines a Processor that subscribes to MediaProcessor.Input to receive Media data.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
interface Processor

Marker interface for all processors that can be attached to a specific Source.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Defines a Processor that subscribes to SafeRenderAreaProcessor.Input to receive updates on the area that the client considers to be safe for rendering content such as lens UI elements where they can not overlap or interfere with the client's own UI.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
interface Session : Closeable

Entry point to all CameraKit features. To obtain Session implementations must provide methods to get a new instance of Builder which exposes options to customize Session instance once it is built by calling Builder.build. Once done using an instance of Session, Session.close must be called to avoid leaking resources.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
interface Source<P : Processor>

Defines a provider of generic inputs that a Processor of type P can be attached to process over.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
class UnauthorizedApplicationException(val applicationId: String, val apiToken: String, val packageName: String?) : RuntimeException

If application with a specific ID and package name is not authorized to use CameraKit this exception will be thrown, normally ending up in the error handler provided via Session.Builder.handleErrorsWith.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Defines a Processor that subscribes to UserProcessor.Input to receive information about the current user, when available.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
class Version @JvmOverloads constructor(val major: Int, val minor: Int, val patch: Int, val qualifier: String? = null) : Comparable<Version>

Represents a version of the CameraKit library. Versions are Comparable between each other by following the SemVer 2.0.0 specification.

+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+

Creates a ImageProcessor.Input.Pausable instance that uses ARCore development kit to provide surface tracking capabilities. Uses a mp4DataSetFile to play back instead of using the live camera feed and IMU sensor data.

Creates a ImageProcessor.Input.Pausable instance that uses ARCore development kit to provide surface tracking capabilities.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun <P : ImageProcessor> P.connectInput(context: Context, file: File, rotationDegrees: Int = Int.MIN_VALUE, facingFront: Boolean = true, horizontalFieldOfView: Float = DEFAULT_FIELD_OF_VIEW.width, verticalFieldOfView: Float = DEFAULT_FIELD_OF_VIEW.height, options: Set<ImageProcessor.Input.Option> = emptySet()): Closeable

Connects the provided file and associated optional parameters as a video based ImageProcessor.Input. Invoking Closeable.close on the returned Closeable stops the video playback and releases any resources associated with it.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun <P : ImageProcessor> P.connectOutput(textureView: TextureView, outputOptions: Set<ImageProcessor.Output.Option> = Collections.emptySet()): Closeable

Allows to connect TextureView as output to ImageProcessor.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Creates or uses a recycled AudioProcessor.Input.Frame that gets populated with the provided parameters.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun inputFrom(surfaceTexture: SurfaceTexture, width: Int, height: Int, rotationDegrees: Int, facingFront: Boolean, horizontalFieldOfView: Callable<Float>, verticalFieldOfView: Callable<Float>): ImageProcessor.Input
fun inputFrom(surfaceTexture: SurfaceTexture, width: Int, height: Int, rotationDegrees: Int, facingFront: Boolean, horizontalFieldOfView: Float, verticalFieldOfView: Float): ImageProcessor.Input

Creates SurfaceTexture backed ImageProcessor.Input with the provided properties.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@RequiresPermission(value = "android.permission.RECORD_AUDIO", conditional = true)
fun microphoneSourceFor(executorService: ExecutorService): Source<AudioProcessor>

Creates a new Source that attempts to use device microphone to read audio data and provide it to an attached AudioProcessor.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun newBuilder(context: Context, lifecycleOwner: LifecycleOwner? = context as? LifecycleOwner): Session.Builder

Creates a new Session.Builder with the provided context. An optional LifecycleOwner can be provided as an aid to tie behaviours such as audio playback to application lifecycle. If no LifecycleOwner is provided then the context will be checked for LifecycleOwner implementation to be used as a fallback.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun outputFrom(surfaceTexture: SurfaceTexture, purpose: ImageProcessor.Output.Purpose = ImageProcessor.Output.Purpose.PREVIEW, rotationDegrees: Int = Int.MIN_VALUE): ImageProcessor.Output

Creates SurfaceTexture backed ImageProcessor.Output with the provided purpose and rotationDegrees.

fun outputFrom(surface: Surface, purpose: ImageProcessor.Output.Purpose = ImageProcessor.Output.Purpose.PREVIEW, rotationDegrees: Int = Int.MIN_VALUE): ImageProcessor.Output

Creates Surface backed ImageProcessor.Output with the provided purpose and rotationDegrees.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun <P : ImageProcessor> P.processBitmap(connectedInput: ImageProcessor.Input, bitmap: Bitmap, outputRotationDegrees: Int = 0, timeout: Long = 10, timeoutUnit: TimeUnit = TimeUnit.SECONDS, mirrorHorizontally: Boolean = false, mirrorVertically: Boolean = false, allowDownscaling: Boolean = true): Bitmap?

If connectedInput is currently connected to this processor, process the bitmap and output the result as Bitmap. Source bitmap will be cropped to match connectedInput aspect ratio if they are different. Source bitmap will be rotated on ImageProcessor.Input.rotationDegrees of the connectedInput during processing. outputRotationDegrees can be used to apply an additional rotation to the resulting Bitmap. This method is a blocking operation therefore it is expected to run on a worker thread.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun <P : ImageProcessor> P.processImage(connectedInput: ImageProcessor.Input, image: Image, outputRotationDegrees: Int = 0, timeout: Long = 10, timeoutUnit: TimeUnit = TimeUnit.SECONDS, mirrorHorizontally: Boolean = false, mirrorVertically: Boolean = false, allowDownscaling: Boolean = true): Bitmap?

If connectedInput is currently connected to this processor, process the image and output the result as Bitmap. Source image will be cropped to match connectedInput aspect ratio if they are different. Source image will be rotated on ImageProcessor.Input.rotationDegrees of the connectedInput during processing. outputRotationDegrees can be used to apply an additional rotation to the resulting Bitmap. Only images of android.graphics.ImageFormat.JPEG format are currently supported. This method is a blocking operation therefore it is expected to run on a worker thread.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun sourceFrom(context: Context, file: File, rotationDegrees: Int = Int.MIN_VALUE, facingFront: Boolean = true, horizontalFieldOfView: Float = DEFAULT_FIELD_OF_VIEW.width, verticalFieldOfView: Float = DEFAULT_FIELD_OF_VIEW.height, options: Set<ImageProcessor.Input.Option> = emptySet()): Source<ImageProcessor>

Creates a video file based Source for ImageProcessor. The returned Source attempts to read and play video as soon as ImageProcessor is attached to it. When ImageProcessor is de-attached, the Source stops the video and releases all resources associated with it.

fun sourceFrom(bitmap: Bitmap, choreographer: Choreographer = Choreographer.getInstance(), rotationDegrees: Int = 0, facingFront: Boolean = true, horizontalFieldOfView: Float = DEFAULT_FIELD_OF_VIEW.width, verticalFieldOfView: Float = DEFAULT_FIELD_OF_VIEW.height, options: Set<ImageProcessor.Input.Option> = emptySet()): Source<ImageProcessor>

Creates a bitmap based Source for ImageProcessor. The returned Source simply renders the provided bitmap as ImageProcessor.Input using callbacks queued via Choreographer for synchronization.

fun sourceFrom(@ColorInt color: Int, width: Int = 1280, height: Int = 1920, choreographer: Choreographer = Choreographer.getInstance(), rotationDegrees: Int = 0, facingFront: Boolean = true, horizontalFieldOfView: Float = DEFAULT_FIELD_OF_VIEW.width, verticalFieldOfView: Float = DEFAULT_FIELD_OF_VIEW.height, options: Set<ImageProcessor.Input.Option> = emptySet()): Source<ImageProcessor>

Creates a color based Source for ImageProcessor. The returned Source simply renders the provided color as ImageProcessor.Input using callbacks queued via Choreographer for synchronization.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun supported(context: Context): Boolean

Allows to check if the current environment is supported to run CameraKit Session. Attempts to build and run Session in unsupported environment will lead to undefined behavior and exceptions routed to an error handler, if one is supplied using Session.Builder.handleErrorsWith.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun <P : ImageProcessor> P.toBitmap(width: Int, height: Int, rotationDegrees: Int = Int.MIN_VALUE, purpose: ImageProcessor.Output.Purpose = ImageProcessor.Output.Purpose.SNAPSHOT): Bitmap?

If ImageProcessor.Input is currently connected to this processor, process the input and outputs the result as Bitmap for the specified width and height dimensions and an optional rotationDegrees as well as purpose. This method is a blocking operation therefore it is expected to run on a worker thread.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun versionFrom(context: Context): Version

Obtains the current Version of CameraKit library using the information from the provided context.

+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+

LensCore version code (ie 243).

+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/input-frame-from.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/input-frame-from.html new file mode 100644 index 000000000..190079fb7 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/input-frame-from.html @@ -0,0 +1,69 @@ + + + + + inputFrameFrom + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

inputFrameFrom

+
+

Creates or uses a recycled AudioProcessor.Input.Frame that gets populated with the provided parameters.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/input-from.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/input-from.html new file mode 100644 index 000000000..a21c0d804 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/input-from.html @@ -0,0 +1,69 @@ + + + + + inputFrom + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

inputFrom

+
+
fun inputFrom(surfaceTexture: SurfaceTexture, width: Int, height: Int, rotationDegrees: Int, facingFront: Boolean, horizontalFieldOfView: Float, verticalFieldOfView: Float): ImageProcessor.Input

Creates SurfaceTexture backed ImageProcessor.Input with the provided properties.


fun inputFrom(surfaceTexture: SurfaceTexture, width: Int, height: Int, rotationDegrees: Int, facingFront: Boolean, horizontalFieldOfView: Callable<Float>, verticalFieldOfView: Callable<Float>): ImageProcessor.Input

Creates SurfaceTexture backed ImageProcessor.Input with the provided properties.

Since

1.4.0

Parameters

horizontalFieldOfView

a Callable to obtain the horizontal field of view of a ImageProcessor.Input.Frame.

verticalFieldOfView

a Callable to obtain the vertical field of view of a ImageProcessor.Input.Frame.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/lens-core-version.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/lens-core-version.html new file mode 100644 index 000000000..5400cb086 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/lens-core-version.html @@ -0,0 +1,69 @@ + + + + + lensCoreVersion + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

lensCoreVersion

+
+

LensCore version code (ie 243).

Since

1.28.0

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/microphone-source-for.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/microphone-source-for.html new file mode 100644 index 000000000..870523a7d --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/microphone-source-for.html @@ -0,0 +1,69 @@ + + + + + microphoneSourceFor + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

microphoneSourceFor

+
+
@RequiresPermission(value = "android.permission.RECORD_AUDIO", conditional = true)
fun microphoneSourceFor(executorService: ExecutorService): Source<AudioProcessor>

Creates a new Source that attempts to use device microphone to read audio data and provide it to an attached AudioProcessor.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/new-builder.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/new-builder.html new file mode 100644 index 000000000..e7f6d15a5 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/new-builder.html @@ -0,0 +1,69 @@ + + + + + newBuilder + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

newBuilder

+
+
fun newBuilder(context: Context, lifecycleOwner: LifecycleOwner? = context as? LifecycleOwner): Session.Builder

Creates a new Session.Builder with the provided context. An optional LifecycleOwner can be provided as an aid to tie behaviours such as audio playback to application lifecycle. If no LifecycleOwner is provided then the context will be checked for LifecycleOwner implementation to be used as a fallback.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/output-from.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/output-from.html new file mode 100644 index 000000000..2dc3f8aeb --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/output-from.html @@ -0,0 +1,69 @@ + + + + + outputFrom + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

outputFrom

+
+
fun outputFrom(surfaceTexture: SurfaceTexture, purpose: ImageProcessor.Output.Purpose = ImageProcessor.Output.Purpose.PREVIEW, rotationDegrees: Int = Int.MIN_VALUE): ImageProcessor.Output

Creates SurfaceTexture backed ImageProcessor.Output with the provided purpose and rotationDegrees.

See also


fun outputFrom(surface: Surface, purpose: ImageProcessor.Output.Purpose = ImageProcessor.Output.Purpose.PREVIEW, rotationDegrees: Int = Int.MIN_VALUE): ImageProcessor.Output

Creates Surface backed ImageProcessor.Output with the provided purpose and rotationDegrees.

See also

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/process-bitmap.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/process-bitmap.html new file mode 100644 index 000000000..e28cf8d59 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/process-bitmap.html @@ -0,0 +1,69 @@ + + + + + processBitmap + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

processBitmap

+
+
fun <P : ImageProcessor> P.processBitmap(connectedInput: ImageProcessor.Input, bitmap: Bitmap, outputRotationDegrees: Int = 0, timeout: Long = 10, timeoutUnit: TimeUnit = TimeUnit.SECONDS, mirrorHorizontally: Boolean = false, mirrorVertically: Boolean = false, allowDownscaling: Boolean = true): Bitmap?

If connectedInput is currently connected to this processor, process the bitmap and output the result as Bitmap. Source bitmap will be cropped to match connectedInput aspect ratio if they are different. Source bitmap will be rotated on ImageProcessor.Input.rotationDegrees of the connectedInput during processing. outputRotationDegrees can be used to apply an additional rotation to the resulting Bitmap. This method is a blocking operation therefore it is expected to run on a worker thread.

Return

processed bitmap as Bitmap or null in case of timeout exceeded, failure occurred or the provided parameters are not supported. Returns the source bitmap if there is no effect applied and source bitmap should not be transformed.

Since

1.3.0

Parameters

outputRotationDegrees

defines the natural orientation of the result Bitmap in relation to a device that is rendering it. If outputRotationDegrees is Int.MIN_VALUE (the default) then implementation is expected to use the current device rotation to determine of the result Bitmap.

mirrorHorizontally

defines if the bitmap should be mirrored horizontally before processing.

mirrorVertically

defines if the bitmap should be mirrored vertically before processing.

allowDownscaling

defines if source bitmap can be downscaled before processing to optimize performance and reduce memory usage. If allowDownscaling is False, then full size bitmap will be processed that may cause issues with rendered textures and/or graphics memory.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/process-image.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/process-image.html new file mode 100644 index 000000000..e7b0ef708 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/process-image.html @@ -0,0 +1,69 @@ + + + + + processImage + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

processImage

+
+
fun <P : ImageProcessor> P.processImage(connectedInput: ImageProcessor.Input, image: Image, outputRotationDegrees: Int = 0, timeout: Long = 10, timeoutUnit: TimeUnit = TimeUnit.SECONDS, mirrorHorizontally: Boolean = false, mirrorVertically: Boolean = false, allowDownscaling: Boolean = true): Bitmap?

If connectedInput is currently connected to this processor, process the image and output the result as Bitmap. Source image will be cropped to match connectedInput aspect ratio if they are different. Source image will be rotated on ImageProcessor.Input.rotationDegrees of the connectedInput during processing. outputRotationDegrees can be used to apply an additional rotation to the resulting Bitmap. Only images of android.graphics.ImageFormat.JPEG format are currently supported. This method is a blocking operation therefore it is expected to run on a worker thread.

Return

processed image as Bitmap or null in case of timeout exceeded, failure occurred or the provided parameters are not supported.

Since

1.3.0

Parameters

outputRotationDegrees

defines the natural orientation of the result Bitmap in relation to a device that is rendering it. If outputRotationDegrees is Int.MIN_VALUE (the default) then implementation is expected to use the current device rotation to determine of the result Bitmap.

mirrorHorizontally

defines if the image should be mirrored horizontally before processing.

mirrorVertically

defines if the image should be mirrored vertically before processing.

allowDownscaling

defines if source image can be downscaled before processing to optimize performance and reduce memory usage. If allowDownscaling is False, then full size image will be processed that may cause issues with rendered textures and/or graphics memory.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/source-from.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/source-from.html new file mode 100644 index 000000000..369f505cd --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/source-from.html @@ -0,0 +1,69 @@ + + + + + sourceFrom + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

sourceFrom

+
+
fun sourceFrom(context: Context, file: File, rotationDegrees: Int = Int.MIN_VALUE, facingFront: Boolean = true, horizontalFieldOfView: Float = DEFAULT_FIELD_OF_VIEW.width, verticalFieldOfView: Float = DEFAULT_FIELD_OF_VIEW.height, options: Set<ImageProcessor.Input.Option> = emptySet()): Source<ImageProcessor>

Creates a video file based Source for ImageProcessor. The returned Source attempts to read and play video as soon as ImageProcessor is attached to it. When ImageProcessor is de-attached, the Source stops the video and releases all resources associated with it.

The rotationDegrees, facingFront, horizontalFieldOfView, verticalFieldOfView and options parameters are optional and can be used to override the defaults when the defaults do not match the provided video file content.

Note: this is intended to be used only for testing purposes, full set of image processing features is supported only when using live camera input Source.


fun sourceFrom(@ColorInt color: Int, width: Int = 1280, height: Int = 1920, choreographer: Choreographer = Choreographer.getInstance(), rotationDegrees: Int = 0, facingFront: Boolean = true, horizontalFieldOfView: Float = DEFAULT_FIELD_OF_VIEW.width, verticalFieldOfView: Float = DEFAULT_FIELD_OF_VIEW.height, options: Set<ImageProcessor.Input.Option> = emptySet()): Source<ImageProcessor>

Creates a color based Source for ImageProcessor. The returned Source simply renders the provided color as ImageProcessor.Input using callbacks queued via Choreographer for synchronization.

The rotationDegrees, facingFront, horizontalFieldOfView, verticalFieldOfView and options parameters are optional and can be used to override the defaults when the defaults do not match the expected results.

Note: The intent of this Source is for testing purposes as well as simple use cases such as basic 3D model rendering, games etc. where real camera input is not necessary but a uniform color background is sufficient.

Since

1.21.0


fun sourceFrom(bitmap: Bitmap, choreographer: Choreographer = Choreographer.getInstance(), rotationDegrees: Int = 0, facingFront: Boolean = true, horizontalFieldOfView: Float = DEFAULT_FIELD_OF_VIEW.width, verticalFieldOfView: Float = DEFAULT_FIELD_OF_VIEW.height, options: Set<ImageProcessor.Input.Option> = emptySet()): Source<ImageProcessor>

Creates a bitmap based Source for ImageProcessor. The returned Source simply renders the provided bitmap as ImageProcessor.Input using callbacks queued via Choreographer for synchronization.

The rotationDegrees, facingFront, horizontalFieldOfView, verticalFieldOfView and options parameters are optional and can be used to override the defaults when the defaults do not match the expected results.

Note: The intent of this Source is for testing purposes as well as simple use cases such as basic 3D model rendering, games etc. where real camera input is not necessary but a static image background is sufficient.

Since

1.21.0

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/supported.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/supported.html new file mode 100644 index 000000000..d00217bbb --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/supported.html @@ -0,0 +1,69 @@ + + + + + supported + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

supported

+
+
fun supported(context: Context): Boolean

Allows to check if the current environment is supported to run CameraKit Session. Attempts to build and run Session in unsupported environment will lead to undefined behavior and exceptions routed to an error handler, if one is supplied using Session.Builder.handleErrorsWith.

Return

true if supported, false otherwise.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/to-bitmap.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/to-bitmap.html new file mode 100644 index 000000000..49dd1e563 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/to-bitmap.html @@ -0,0 +1,69 @@ + + + + + toBitmap + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

toBitmap

+
+
fun <P : ImageProcessor> P.toBitmap(width: Int, height: Int, rotationDegrees: Int = Int.MIN_VALUE, purpose: ImageProcessor.Output.Purpose = ImageProcessor.Output.Purpose.SNAPSHOT): Bitmap?

If ImageProcessor.Input is currently connected to this processor, process the input and outputs the result as Bitmap for the specified width and height dimensions and an optional rotationDegrees as well as purpose. This method is a blocking operation therefore it is expected to run on a worker thread.

Return

processed input result as Bitmap or null in case of failure or the provided parameters are not supported.

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/version-from.html b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/version-from.html new file mode 100644 index 000000000..cb0231912 --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/com.snap.camerakit/version-from.html @@ -0,0 +1,69 @@ + + + + + versionFrom + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

versionFrom

+
+
fun versionFrom(context: Context): Version

Obtains the current Version of CameraKit library using the information from the provided context.

Since

1.14.0

+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/-camera-kit/package-list b/docs/api/android/1.36.1/-camera-kit/package-list new file mode 100644 index 000000000..5bc0d590c --- /dev/null +++ b/docs/api/android/1.36.1/-camera-kit/package-list @@ -0,0 +1,767 @@ +$dokka.format:html-v1 +$dokka.linkExtension:html +$dokka.location:com.snap.camerakit.adjustments////PointingToDeclaration/-camera-kit/com.snap.camerakit.adjustments/index.html +$dokka.location:com.snap.camerakit.adjustments//whenApplied/com.snap.camerakit.adjustments.AdjustmentsComponent.Processor.Result[TypeParam(bounds=[com.snap.camerakit.adjustments.AdjustmentsComponent.Adjustment])]#com.snap.camerakit.common.Consumer[com.snap.camerakit.adjustments.AdjustmentsComponent.Processor.Result.Applied[TypeParam(bounds=[com.snap.camerakit.adjustments.AdjustmentsComponent.Adjustment])]]/PointingToDeclaration/-camera-kit/com.snap.camerakit.adjustments/when-applied.html +$dokka.location:com.snap.camerakit.adjustments/AdaptiveToneMappingAdjustment///PointingToDeclaration/-camera-kit/com.snap.camerakit.adjustments/-adaptive-tone-mapping-adjustment/index.html +$dokka.location:com.snap.camerakit.adjustments/AdaptiveToneMappingAdjustment/PROPERTY_AMOUNT/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.adjustments/-adaptive-tone-mapping-adjustment/-p-r-o-p-e-r-t-y_-a-m-o-u-n-t.html +$dokka.location:com.snap.camerakit.adjustments/AdaptiveToneMappingAdjustment/amount/com.snap.camerakit.adjustments.AdjustmentsComponent.Adjustment.Controller#/PointingToDeclaration/-camera-kit/com.snap.camerakit.adjustments/-adaptive-tone-mapping-adjustment/amount.html +$dokka.location:com.snap.camerakit.adjustments/AdaptiveToneMappingAdjustment/properties/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.adjustments/-adaptive-tone-mapping-adjustment/properties.html +$dokka.location:com.snap.camerakit.adjustments/AdjustmentsComponent.Adjustment.Controller.Noop///PointingToDeclaration/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-adjustment/-controller/-noop/index.html +$dokka.location:com.snap.camerakit.adjustments/AdjustmentsComponent.Adjustment.Controller.Noop/set/#com.snap.camerakit.adjustments.AdjustmentsComponent.Adjustment.Property[TypeParam(bounds=[kotlin.Any])]#TypeParam(bounds=[kotlin.Any])/PointingToDeclaration/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-adjustment/-controller/-noop/set.html +$dokka.location:com.snap.camerakit.adjustments/AdjustmentsComponent.Adjustment.Controller///PointingToDeclaration/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-adjustment/-controller/index.html +$dokka.location:com.snap.camerakit.adjustments/AdjustmentsComponent.Adjustment.Controller/set/#com.snap.camerakit.adjustments.AdjustmentsComponent.Adjustment.Property[TypeParam(bounds=[kotlin.Any])]#TypeParam(bounds=[kotlin.Any])/PointingToDeclaration/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-adjustment/-controller/set.html +$dokka.location:com.snap.camerakit.adjustments/AdjustmentsComponent.Adjustment.Property///PointingToDeclaration/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-adjustment/-property/index.html +$dokka.location:com.snap.camerakit.adjustments/AdjustmentsComponent.Adjustment.Property/id/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-adjustment/-property/id.html +$dokka.location:com.snap.camerakit.adjustments/AdjustmentsComponent.Adjustment///PointingToDeclaration/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-adjustment/index.html +$dokka.location:com.snap.camerakit.adjustments/AdjustmentsComponent.Adjustment/properties/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-adjustment/properties.html +$dokka.location:com.snap.camerakit.adjustments/AdjustmentsComponent.Noop///PointingToDeclaration/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-noop/index.html +$dokka.location:com.snap.camerakit.adjustments/AdjustmentsComponent.Noop/close/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-noop/close.html +$dokka.location:com.snap.camerakit.adjustments/AdjustmentsComponent.Noop/processor/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-noop/processor.html +$dokka.location:com.snap.camerakit.adjustments/AdjustmentsComponent.Processor.Noop///PointingToDeclaration/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-noop/index.html +$dokka.location:com.snap.camerakit.adjustments/AdjustmentsComponent.Processor.Noop/apply/#TypeParam(bounds=[com.snap.camerakit.adjustments.AdjustmentsComponent.Adjustment])#com.snap.camerakit.common.Consumer[com.snap.camerakit.adjustments.AdjustmentsComponent.Processor.Result[TypeParam(bounds=[com.snap.camerakit.adjustments.AdjustmentsComponent.Adjustment])]]/PointingToDeclaration/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-noop/apply.html +$dokka.location:com.snap.camerakit.adjustments/AdjustmentsComponent.Processor.Noop/available/#com.snap.camerakit.adjustments.AdjustmentsComponent.Adjustment#com.snap.camerakit.common.Consumer[kotlin.Boolean]/PointingToDeclaration/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-noop/available.html +$dokka.location:com.snap.camerakit.adjustments/AdjustmentsComponent.Processor.Noop/connectInput/#com.snap.camerakit.ImageProcessor.Input/PointingToDeclaration/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-noop/connect-input.html +$dokka.location:com.snap.camerakit.adjustments/AdjustmentsComponent.Processor.Noop/connectOutput/#com.snap.camerakit.ImageProcessor.Output/PointingToDeclaration/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-noop/connect-output.html +$dokka.location:com.snap.camerakit.adjustments/AdjustmentsComponent.Processor.Noop/observeRequiredCapabilities/#com.snap.camerakit.common.Consumer[kotlin.collections.Set[com.snap.camerakit.ImageProcessor.Input.Capability]]/PointingToDeclaration/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-noop/observe-required-capabilities.html +$dokka.location:com.snap.camerakit.adjustments/AdjustmentsComponent.Processor.Noop/remove/#com.snap.camerakit.adjustments.AdjustmentsComponent.Adjustment#com.snap.camerakit.common.Consumer[kotlin.Boolean]/PointingToDeclaration/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-noop/remove.html +$dokka.location:com.snap.camerakit.adjustments/AdjustmentsComponent.Processor.Result.Applied///PointingToDeclaration/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-result/-applied/index.html +$dokka.location:com.snap.camerakit.adjustments/AdjustmentsComponent.Processor.Result.Applied/Applied/#TypeParam(bounds=[com.snap.camerakit.adjustments.AdjustmentsComponent.Adjustment])#com.snap.camerakit.adjustments.AdjustmentsComponent.Adjustment.Controller/PointingToDeclaration/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-result/-applied/-applied.html +$dokka.location:com.snap.camerakit.adjustments/AdjustmentsComponent.Processor.Result.Applied/adjustment/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-result/-applied/adjustment.html +$dokka.location:com.snap.camerakit.adjustments/AdjustmentsComponent.Processor.Result.Applied/controller/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-result/-applied/controller.html +$dokka.location:com.snap.camerakit.adjustments/AdjustmentsComponent.Processor.Result.Applied/equals/#kotlin.Any?/PointingToDeclaration/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-result/-applied/equals.html +$dokka.location:com.snap.camerakit.adjustments/AdjustmentsComponent.Processor.Result.Applied/hashCode/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-result/-applied/hash-code.html +$dokka.location:com.snap.camerakit.adjustments/AdjustmentsComponent.Processor.Result.Applied/toString/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-result/-applied/to-string.html +$dokka.location:com.snap.camerakit.adjustments/AdjustmentsComponent.Processor.Result.Unavailable///PointingToDeclaration/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-result/-unavailable/index.html +$dokka.location:com.snap.camerakit.adjustments/AdjustmentsComponent.Processor.Result.Unavailable/Unavailable/#TypeParam(bounds=[com.snap.camerakit.adjustments.AdjustmentsComponent.Adjustment])/PointingToDeclaration/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-result/-unavailable/-unavailable.html +$dokka.location:com.snap.camerakit.adjustments/AdjustmentsComponent.Processor.Result.Unavailable/adjustment/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-result/-unavailable/adjustment.html +$dokka.location:com.snap.camerakit.adjustments/AdjustmentsComponent.Processor.Result.Unavailable/equals/#kotlin.Any?/PointingToDeclaration/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-result/-unavailable/equals.html +$dokka.location:com.snap.camerakit.adjustments/AdjustmentsComponent.Processor.Result.Unavailable/hashCode/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-result/-unavailable/hash-code.html +$dokka.location:com.snap.camerakit.adjustments/AdjustmentsComponent.Processor.Result.Unavailable/toString/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-result/-unavailable/to-string.html +$dokka.location:com.snap.camerakit.adjustments/AdjustmentsComponent.Processor.Result///PointingToDeclaration/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-result/index.html +$dokka.location:com.snap.camerakit.adjustments/AdjustmentsComponent.Processor///PointingToDeclaration/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/index.html +$dokka.location:com.snap.camerakit.adjustments/AdjustmentsComponent.Processor/apply/#TypeParam(bounds=[com.snap.camerakit.adjustments.AdjustmentsComponent.Adjustment])#com.snap.camerakit.common.Consumer[com.snap.camerakit.adjustments.AdjustmentsComponent.Processor.Result[TypeParam(bounds=[com.snap.camerakit.adjustments.AdjustmentsComponent.Adjustment])]]/PointingToDeclaration/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/apply.html +$dokka.location:com.snap.camerakit.adjustments/AdjustmentsComponent.Processor/available/#com.snap.camerakit.adjustments.AdjustmentsComponent.Adjustment#com.snap.camerakit.common.Consumer[kotlin.Boolean]/PointingToDeclaration/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/available.html +$dokka.location:com.snap.camerakit.adjustments/AdjustmentsComponent.Processor/remove/#com.snap.camerakit.adjustments.AdjustmentsComponent.Adjustment#com.snap.camerakit.common.Consumer[kotlin.Boolean]/PointingToDeclaration/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/remove.html +$dokka.location:com.snap.camerakit.adjustments/AdjustmentsComponent///PointingToDeclaration/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/index.html +$dokka.location:com.snap.camerakit.adjustments/AdjustmentsComponent/close/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/close.html +$dokka.location:com.snap.camerakit.adjustments/AdjustmentsComponent/processor/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/processor.html +$dokka.location:com.snap.camerakit.adjustments/PortraitAdjustment///PointingToDeclaration/-camera-kit/com.snap.camerakit.adjustments/-portrait-adjustment/index.html +$dokka.location:com.snap.camerakit.adjustments/PortraitAdjustment/PROPERTY_BLUR/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.adjustments/-portrait-adjustment/-p-r-o-p-e-r-t-y_-b-l-u-r.html +$dokka.location:com.snap.camerakit.adjustments/PortraitAdjustment/blur/com.snap.camerakit.adjustments.AdjustmentsComponent.Adjustment.Controller#/PointingToDeclaration/-camera-kit/com.snap.camerakit.adjustments/-portrait-adjustment/blur.html +$dokka.location:com.snap.camerakit.adjustments/PortraitAdjustment/properties/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.adjustments/-portrait-adjustment/properties.html +$dokka.location:com.snap.camerakit.common////PointingToDeclaration/-camera-kit/com.snap.camerakit.common/index.html +$dokka.location:com.snap.camerakit.common/Consumer///PointingToDeclaration/-camera-kit/com.snap.camerakit.common/-consumer/index.html +$dokka.location:com.snap.camerakit.common/Consumer/accept/#T/PointingToDeclaration/-camera-kit/com.snap.camerakit.common/-consumer/accept.html +$dokka.location:com.snap.camerakit.lenses////PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/index.html +$dokka.location:com.snap.camerakit.lenses//LENS_GROUP_ID_BUNDLED/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-l-e-n-s_-g-r-o-u-p_-i-d_-b-u-n-d-l-e-d.html +$dokka.location:com.snap.camerakit.lenses//whenActivated/com.snap.camerakit.lenses.LensesComponent.Carousel.Event#com.snap.camerakit.common.Consumer[com.snap.camerakit.lenses.LensesComponent.Carousel.Event.Activated]/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/when-activated.html +$dokka.location:com.snap.camerakit.lenses//whenActivatedIdle/com.snap.camerakit.lenses.LensesComponent.Carousel.Event#com.snap.camerakit.common.Consumer[com.snap.camerakit.lenses.LensesComponent.Carousel.Event.Activated.Idle]/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/when-activated-idle.html +$dokka.location:com.snap.camerakit.lenses//whenActivatedWithLens/com.snap.camerakit.lenses.LensesComponent.Carousel.Event#com.snap.camerakit.common.Consumer[com.snap.camerakit.lenses.LensesComponent.Carousel.Event.Activated.WithLens]/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/when-activated-with-lens.html +$dokka.location:com.snap.camerakit.lenses//whenApplied/com.snap.camerakit.lenses.LensesComponent.Processor.Event#com.snap.camerakit.common.Consumer[com.snap.camerakit.lenses.LensesComponent.Processor.Event.Applied]/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/when-applied.html +$dokka.location:com.snap.camerakit.lenses//whenDeactivated/com.snap.camerakit.lenses.LensesComponent.Carousel.Event#com.snap.camerakit.common.Consumer[com.snap.camerakit.lenses.LensesComponent.Carousel.Event.Deactivated]/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/when-deactivated.html +$dokka.location:com.snap.camerakit.lenses//whenFirstFrameProcessed/com.snap.camerakit.lenses.LensesComponent.Processor.Event#com.snap.camerakit.common.Consumer[com.snap.camerakit.lenses.LensesComponent.Processor.Event.FirstFrameProcessed]/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/when-first-frame-processed.html +$dokka.location:com.snap.camerakit.lenses//whenHasFirst/com.snap.camerakit.lenses.LensesComponent.Repository.Result#com.snap.camerakit.common.Consumer[com.snap.camerakit.lenses.LensesComponent.Lens]/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/when-has-first.html +$dokka.location:com.snap.camerakit.lenses//whenHasSome/com.snap.camerakit.lenses.LensesComponent.Repository.Result#com.snap.camerakit.common.Consumer[kotlin.collections.List[com.snap.camerakit.lenses.LensesComponent.Lens]]/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/when-has-some.html +$dokka.location:com.snap.camerakit.lenses//whenIdle/com.snap.camerakit.lenses.LensesComponent.Processor.Event#com.snap.camerakit.common.Consumer[com.snap.camerakit.lenses.LensesComponent.Processor.Event.Idle]/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/when-idle.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Audio.Adjustment.Volume.Mute///PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-audio/-adjustment/-volume/-mute/index.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Audio.Adjustment.Volume.Mute/toString/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-audio/-adjustment/-volume/-mute/to-string.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Audio.Adjustment.Volume.UnMute///PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-audio/-adjustment/-volume/-un-mute/index.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Audio.Adjustment.Volume.UnMute/toString/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-audio/-adjustment/-volume/-un-mute/to-string.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Audio.Adjustment.Volume///PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-audio/-adjustment/-volume/index.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Audio.Adjustment///PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-audio/-adjustment/index.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Audio.Noop///PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-audio/-noop/index.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Audio.Noop/adjust/#com.snap.camerakit.lenses.LensesComponent.Audio.Adjustment#com.snap.camerakit.common.Consumer[kotlin.Boolean]/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-audio/-noop/adjust.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Audio///PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-audio/index.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Audio/adjust/#com.snap.camerakit.lenses.LensesComponent.Audio.Adjustment#com.snap.camerakit.common.Consumer[kotlin.Boolean]/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-audio/adjust.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Builder///PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-builder/index.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Builder/attachWidgetsTo/#android.view.ViewStub?/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-builder/attach-widgets-to.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Builder/build/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-builder/build.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Builder/configureCache/#com.snap.camerakit.common.Consumer[com.snap.camerakit.lenses.LensesComponent.Cache.Configuration]/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-builder/configure-cache.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Builder/configureCarousel/#com.snap.camerakit.common.Consumer[com.snap.camerakit.lenses.LensesComponent.Carousel.Configuration]/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-builder/configure-carousel.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Builder/configureHints/#com.snap.camerakit.common.Consumer[com.snap.camerakit.lenses.LensesComponent.Hints.Configuration]/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-builder/configure-hints.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Builder/configureLoadingOverlay/#com.snap.camerakit.common.Consumer[com.snap.camerakit.lenses.LensesComponent.LoadingOverlay.Configuration]/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-builder/configure-loading-overlay.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Builder/configureMediaPicker/#com.snap.camerakit.common.Consumer[com.snap.camerakit.lenses.LensesComponent.MediaPicker.Configuration]/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-builder/configure-media-picker.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Builder/configureProcessor/#com.snap.camerakit.common.Consumer[com.snap.camerakit.lenses.LensesComponent.Processor.Configuration]/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-builder/configure-processor.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Builder/dispatchTouchEventsTo/#android.view.View?/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-builder/dispatch-touch-events-to.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Builder/remoteApiServiceFactory/#com.snap.camerakit.lenses.LensesComponent.RemoteApiService.Factory/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-builder/remote-api-service-factory.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Cache.Configuration///PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-cache/-configuration/index.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Cache.Configuration/lensContentMaxSize/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-cache/-configuration/lens-content-max-size.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Cache///PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-cache/index.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Carousel.Configuration///PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-configuration/index.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Carousel.Configuration/activateIdle/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-configuration/activate-idle.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Carousel.Configuration/activateOnStart/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-configuration/activate-on-start.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Carousel.Configuration/activateOnTap/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-configuration/activate-on-tap.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Carousel.Configuration/attachViewTo/#com.snap.camerakit.lenses.LensesComponent.Carousel.LayoutPlacement#com.snap.camerakit.common.Consumer[android.view.ViewStub]/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-configuration/attach-view-to.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Carousel.Configuration/closeButtonEnabled/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-configuration/close-button-enabled.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Carousel.Configuration/closeButtonMarginBottomDimenRes/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-configuration/close-button-margin-bottom-dimen-res.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Carousel.Configuration/configureEachItem/#com.snap.camerakit.common.Consumer[com.snap.camerakit.lenses.LensesComponent.Carousel.ItemOptions]/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-configuration/configure-each-item.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Carousel.Configuration/deactivateOnClose/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-configuration/deactivate-on-close.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Carousel.Configuration/disableIdle/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-configuration/disable-idle.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Carousel.Configuration/enabled/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-configuration/enabled.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Carousel.Configuration/heightDimenRes/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-configuration/height-dimen-res.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Carousel.Configuration/marginBottomDimenRes/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-configuration/margin-bottom-dimen-res.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Carousel.Configuration/observeGroupIds/#kotlin.Array[kotlin.String]/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-configuration/observe-group-ids.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Carousel.Configuration/observedGroupIds/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-configuration/observed-group-ids.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Carousel.Configuration/observedGroupIdsProvider/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-configuration/observed-group-ids-provider.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Carousel.Configuration/paddingBottomDimenRes/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-configuration/padding-bottom-dimen-res.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Carousel.Configuration/paddingTopDimenRes/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-configuration/padding-top-dimen-res.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Carousel.Configuration/view/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-configuration/view.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Carousel.Event.Activated.Idle///PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-event/-activated/-idle/index.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Carousel.Event.Activated.Idle/toString/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-event/-activated/-idle/to-string.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Carousel.Event.Activated.WithLens///PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-event/-activated/-with-lens/index.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Carousel.Event.Activated.WithLens/WithLens/#com.snap.camerakit.lenses.LensesComponent.Lens/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-event/-activated/-with-lens/-with-lens.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Carousel.Event.Activated.WithLens/equals/#kotlin.Any?/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-event/-activated/-with-lens/equals.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Carousel.Event.Activated.WithLens/hashCode/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-event/-activated/-with-lens/hash-code.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Carousel.Event.Activated.WithLens/lens/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-event/-activated/-with-lens/lens.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Carousel.Event.Activated.WithLens/toString/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-event/-activated/-with-lens/to-string.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Carousel.Event.Activated///PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-event/-activated/index.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Carousel.Event.Deactivated///PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-event/-deactivated/index.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Carousel.Event.Deactivated/toString/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-event/-deactivated/to-string.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Carousel.Event///PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-event/index.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Carousel.ItemOptions///PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-item-options/index.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Carousel.ItemOptions/contentDescription/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-item-options/content-description.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Carousel.ItemOptions/enabled/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-item-options/enabled.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Carousel.ItemOptions/index/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-item-options/--index--.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Carousel.ItemOptions/lens/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-item-options/lens.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Carousel.ItemOptions/lenses/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-item-options/lenses.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Carousel.ItemOptions/moveToLeft/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-item-options/move-to-left.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Carousel.ItemOptions/moveToRight/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-item-options/move-to-right.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Carousel.ItemOptions/side/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-item-options/side.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Carousel.LayoutPlacement.Above///PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-layout-placement/-above/index.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Carousel.LayoutPlacement.Above/toString/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-layout-placement/-above/to-string.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Carousel.LayoutPlacement.Behind///PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-layout-placement/-behind/index.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Carousel.LayoutPlacement.Behind/toString/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-layout-placement/-behind/to-string.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Carousel.LayoutPlacement.InFront///PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-layout-placement/-in-front/index.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Carousel.LayoutPlacement.InFront/toString/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-layout-placement/-in-front/to-string.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Carousel.LayoutPlacement///PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-layout-placement/index.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Carousel.Noop///PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-noop/index.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Carousel.Noop/activate/#com.snap.camerakit.lenses.LensesComponent.Lens?#com.snap.camerakit.common.Consumer[kotlin.Boolean]/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-noop/activate.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Carousel.Noop/deactivate/#com.snap.camerakit.common.Consumer[kotlin.Boolean]/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-noop/deactivate.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Carousel.Noop/observe/#com.snap.camerakit.common.Consumer[com.snap.camerakit.lenses.LensesComponent.Carousel.Event]/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-noop/observe.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Carousel.Side.LEFT///PointingToDeclaration/{"org.jetbrains.dokka.links.EnumEntryDRIExtra":{"key":"org.jetbrains.dokka.links.EnumEntryDRIExtra"}}-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-side/-l-e-f-t/index.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Carousel.Side.RIGHT///PointingToDeclaration/{"org.jetbrains.dokka.links.EnumEntryDRIExtra":{"key":"org.jetbrains.dokka.links.EnumEntryDRIExtra"}}-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-side/-r-i-g-h-t/index.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Carousel.Side///PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-side/index.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Carousel.Side/valueOf/#kotlin.String/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-side/value-of.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Carousel.Side/values/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-side/values.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Carousel.View.Event.CloseButtonClicked///PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-event/-close-button-clicked/index.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Carousel.View.Event.CloseButtonClicked/toString/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-event/-close-button-clicked/to-string.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Carousel.View.Event.ItemSelected///PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-event/-item-selected/index.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Carousel.View.Event.ItemSelected/ItemSelected/#com.snap.camerakit.lenses.LensesComponent.Carousel.View.Item/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-event/-item-selected/-item-selected.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Carousel.View.Event.ItemSelected/equals/#kotlin.Any?/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-event/-item-selected/equals.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Carousel.View.Event.ItemSelected/hashCode/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-event/-item-selected/hash-code.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Carousel.View.Event.ItemSelected/item/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-event/-item-selected/item.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Carousel.View.Event.ItemSelected/toString/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-event/-item-selected/to-string.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Carousel.View.Event.VisibleItemsChanged///PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-event/-visible-items-changed/index.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Carousel.View.Event.VisibleItemsChanged/VisibleItemsChanged/#kotlin.collections.List[com.snap.camerakit.lenses.LensesComponent.Carousel.View.Item]/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-event/-visible-items-changed/-visible-items-changed.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Carousel.View.Event.VisibleItemsChanged/equals/#kotlin.Any?/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-event/-visible-items-changed/equals.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Carousel.View.Event.VisibleItemsChanged/hashCode/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-event/-visible-items-changed/hash-code.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Carousel.View.Event.VisibleItemsChanged/toString/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-event/-visible-items-changed/to-string.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Carousel.View.Event.VisibleItemsChanged/visibleItems/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-event/-visible-items-changed/visible-items.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Carousel.View.Event///PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-event/index.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Carousel.View.Item.Idle///PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-item/-idle/index.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Carousel.View.Item.Idle/id/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-item/-idle/id.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Carousel.View.Item.Idle/toString/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-item/-idle/to-string.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Carousel.View.Item.Lens///PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-item/-lens/index.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Carousel.View.Item.Lens/contentDescription/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-item/-lens/content-description.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Carousel.View.Item.Lens/iconUri/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-item/-lens/icon-uri.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Carousel.View.Item.Lens/observeLoadingState/#com.snap.camerakit.common.Consumer[com.snap.camerakit.lenses.LensesComponent.Carousel.View.Item.LoadingState]/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-item/-lens/observe-loading-state.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Carousel.View.Item.LoadingState.Done///PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-item/-loading-state/-done/index.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Carousel.View.Item.LoadingState.Done/toString/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-item/-loading-state/-done/to-string.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Carousel.View.Item.LoadingState.Idle///PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-item/-loading-state/-idle/index.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Carousel.View.Item.LoadingState.Idle/toString/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-item/-loading-state/-idle/to-string.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Carousel.View.Item.LoadingState.InProgress///PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-item/-loading-state/-in-progress/index.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Carousel.View.Item.LoadingState.InProgress/toString/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-item/-loading-state/-in-progress/to-string.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Carousel.View.Item.LoadingState///PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-item/-loading-state/index.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Carousel.View.Item///PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-item/index.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Carousel.View.Item/id/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-item/id.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Carousel.View.Model.Hidden///PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-model/-hidden/index.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Carousel.View.Model.Hidden/toString/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-model/-hidden/to-string.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Carousel.View.Model.Visible///PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-model/-visible/index.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Carousel.View.Model.Visible/Visible/#kotlin.collections.List[com.snap.camerakit.lenses.LensesComponent.Carousel.View.Item]#kotlin.Int#kotlin.Boolean/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-model/-visible/-visible.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Carousel.View.Model.Visible/closeable/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-model/-visible/closeable.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Carousel.View.Model.Visible/equals/#kotlin.Any?/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-model/-visible/equals.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Carousel.View.Model.Visible/hashCode/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-model/-visible/hash-code.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Carousel.View.Model.Visible/items/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-model/-visible/items.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Carousel.View.Model.Visible/selectedItemPosition/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-model/-visible/selected-item-position.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Carousel.View.Model.Visible/toString/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-model/-visible/to-string.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Carousel.View.Model///PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-model/index.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Carousel.View///PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/index.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Carousel.View/observe/#com.snap.camerakit.common.Consumer[com.snap.camerakit.lenses.LensesComponent.Carousel.View.Event]/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/observe.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Carousel///PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/index.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Carousel/activate/#com.snap.camerakit.lenses.LensesComponent.Lens?#com.snap.camerakit.common.Consumer[kotlin.Boolean]/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/activate.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Carousel/deactivate/#com.snap.camerakit.common.Consumer[kotlin.Boolean]/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/deactivate.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Carousel/observe/#com.snap.camerakit.common.Consumer[com.snap.camerakit.lenses.LensesComponent.Carousel.Event]/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/observe.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Hints.Configuration///PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-hints/-configuration/index.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Hints.Configuration/enabled/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-hints/-configuration/enabled.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Hints.Configuration/view/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-hints/-configuration/view.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Hints.View.Model.Displayed///PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-hints/-view/-model/-displayed/index.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Hints.View.Model.Displayed/Displayed/#kotlin.String#kotlin.Boolean/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-hints/-view/-model/-displayed/-displayed.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Hints.View.Model.Displayed/Displayed/#kotlin.String#kotlin.String#kotlin.Boolean/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-hints/-view/-model/-displayed/-displayed.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Hints.View.Model.Displayed/autoHide/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-hints/-view/-model/-displayed/auto-hide.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Hints.View.Model.Displayed/equals/#kotlin.Any?/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-hints/-view/-model/-displayed/equals.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Hints.View.Model.Displayed/hashCode/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-hints/-view/-model/-displayed/hash-code.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Hints.View.Model.Displayed/id/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-hints/-view/-model/-displayed/id.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Hints.View.Model.Displayed/text/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-hints/-view/-model/-displayed/text.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Hints.View.Model.Displayed/toString/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-hints/-view/-model/-displayed/to-string.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Hints.View.Model.Hidden///PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-hints/-view/-model/-hidden/index.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Hints.View.Model.Hidden/toString/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-hints/-view/-model/-hidden/to-string.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Hints.View.Model///PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-hints/-view/-model/index.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Hints.View///PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-hints/-view/index.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Hints///PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-hints/index.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Lens.Companion///PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-companion/index.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Lens.Facing.BACK///PointingToDeclaration/{"org.jetbrains.dokka.links.EnumEntryDRIExtra":{"key":"org.jetbrains.dokka.links.EnumEntryDRIExtra"}}-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-facing/-b-a-c-k/index.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Lens.Facing.FRONT///PointingToDeclaration/{"org.jetbrains.dokka.links.EnumEntryDRIExtra":{"key":"org.jetbrains.dokka.links.EnumEntryDRIExtra"}}-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-facing/-f-r-o-n-t/index.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Lens.Facing///PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-facing/index.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Lens.Facing/valueOf/#kotlin.String/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-facing/value-of.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Lens.Facing/values/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-facing/values.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Lens.LaunchData.Builder///PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-launch-data/-builder/index.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Lens.LaunchData.Builder/build/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-launch-data/-builder/build.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Lens.LaunchData.Builder/putNumber/#kotlin.String#kotlin.Number/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-launch-data/-builder/put-number.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Lens.LaunchData.Builder/putNumbers/#kotlin.String#kotlin.Array[kotlin.Number]/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-launch-data/-builder/put-numbers.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Lens.LaunchData.Builder/putString/#kotlin.String#kotlin.String/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-launch-data/-builder/put-string.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Lens.LaunchData.Builder/putStrings/#kotlin.String#kotlin.Array[kotlin.String]/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-launch-data/-builder/put-strings.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Lens.LaunchData.Companion///PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-launch-data/-companion/index.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Lens.LaunchData.Empty///PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-launch-data/-empty/index.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Lens.LaunchData.Empty/toString/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-launch-data/-empty/to-string.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Lens.LaunchData///PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-launch-data/index.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Lens.Media.DeepLink///PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-deep-link/index.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Lens.Media.DeepLink/DeepLink/#kotlin.String/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-deep-link/-deep-link.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Lens.Media.DeepLink/equals/#kotlin.Any?/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-deep-link/equals.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Lens.Media.DeepLink/hashCode/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-deep-link/hash-code.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Lens.Media.DeepLink/toString/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-deep-link/to-string.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Lens.Media.DeepLink/uri/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-deep-link/uri.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Lens.Media.Image.Png///PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-image/-png/index.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Lens.Media.Image.Png/Png/#kotlin.String/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-image/-png/-png.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Lens.Media.Image.Png/equals/#kotlin.Any?/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-image/-png/equals.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Lens.Media.Image.Png/hashCode/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-image/-png/hash-code.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Lens.Media.Image.Png/toString/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-image/-png/to-string.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Lens.Media.Image.Png/uri/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-image/-png/uri.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Lens.Media.Image.Webp///PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-image/-webp/index.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Lens.Media.Image.Webp/Webp/#kotlin.String/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-image/-webp/-webp.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Lens.Media.Image.Webp/equals/#kotlin.Any?/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-image/-webp/equals.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Lens.Media.Image.Webp/hashCode/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-image/-webp/hash-code.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Lens.Media.Image.Webp/toString/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-image/-webp/to-string.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Lens.Media.Image.Webp/uri/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-image/-webp/uri.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Lens.Media.Image///PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-image/index.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Lens.Media.Sequence.Webp///PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-sequence/-webp/index.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Lens.Media.Sequence.Webp/Webp/#kotlin.String#kotlin.collections.Collection[com.snap.camerakit.lenses.LensesComponent.Lens.Media.Image.Webp]/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-sequence/-webp/-webp.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Lens.Media.Sequence.Webp/equals/#kotlin.Any?/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-sequence/-webp/equals.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Lens.Media.Sequence.Webp/hashCode/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-sequence/-webp/hash-code.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Lens.Media.Sequence.Webp/toString/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-sequence/-webp/to-string.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Lens.Media.Sequence.Webp/values/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-sequence/-webp/values.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Lens.Media.Sequence///PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-sequence/index.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Lens.Media.Sequence/values/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-sequence/values.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Lens.Media///PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/index.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Lens.Media/uri/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/uri.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Lens.Preview.Image///PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-preview/-image/index.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Lens.Preview.Image/Image/#kotlin.String/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-preview/-image/-image.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Lens.Preview.Image/equals/#kotlin.Any?/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-preview/-image/equals.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Lens.Preview.Image/hashCode/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-preview/-image/hash-code.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Lens.Preview.Image/toString/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-preview/-image/to-string.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Lens.Preview.Image/uri/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-preview/-image/uri.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Lens.Preview///PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-preview/index.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Lens///PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/index.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Lens/facingPreference/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/facing-preference.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Lens/groupId/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/group-id.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Lens/iconUri/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/icon-uri.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Lens/icons/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/icons.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Lens/id/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/id.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Lens/name/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/name.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Lens/preview/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/preview.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Lens/previews/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/previews.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Lens/snapcodes/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/snapcodes.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Lens/vendorData/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/vendor-data.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.LoadingOverlay.Configuration///PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-loading-overlay/-configuration/index.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.LoadingOverlay.Configuration/enabled/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-loading-overlay/-configuration/enabled.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.LoadingOverlay///PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-loading-overlay/index.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.MediaPicker.Configuration///PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-configuration/index.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.MediaPicker.Configuration/enabled/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-configuration/enabled.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.MediaPicker.Configuration/view/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-configuration/view.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.MediaPicker.View.Event.ItemSelected///PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-event/-item-selected/index.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.MediaPicker.View.Event.ItemSelected/ItemSelected/#com.snap.camerakit.lenses.LensesComponent.MediaPicker.View.Item/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-event/-item-selected/-item-selected.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.MediaPicker.View.Event.ItemSelected/equals/#kotlin.Any?/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-event/-item-selected/equals.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.MediaPicker.View.Event.ItemSelected/hashCode/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-event/-item-selected/hash-code.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.MediaPicker.View.Event.ItemSelected/item/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-event/-item-selected/item.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.MediaPicker.View.Event.ItemSelected/toString/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-event/-item-selected/to-string.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.MediaPicker.View.Event.LastItemVisible///PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-event/-last-item-visible/index.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.MediaPicker.View.Event.LastItemVisible/toString/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-event/-last-item-visible/to-string.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.MediaPicker.View.Event///PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-event/index.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.MediaPicker.View.Item.Loading///PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-item/-loading/index.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.MediaPicker.View.Item.Loading/toString/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-item/-loading/to-string.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.MediaPicker.View.Item.Media///PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-item/-media/index.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.MediaPicker.View.Item.Media/Media/#kotlin.String#kotlin.String?#android.graphics.RectF?#kotlin.String#kotlin.Boolean/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-item/-media/-media.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.MediaPicker.View.Item.Media/cropRect/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-item/-media/crop-rect.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.MediaPicker.View.Item.Media/equals/#kotlin.Any?/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-item/-media/equals.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.MediaPicker.View.Item.Media/hashCode/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-item/-media/hash-code.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.MediaPicker.View.Item.Media/iconUri/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-item/-media/icon-uri.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.MediaPicker.View.Item.Media/id/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-item/-media/id.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.MediaPicker.View.Item.Media/label/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-item/-media/label.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.MediaPicker.View.Item.Media/selected/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-item/-media/selected.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.MediaPicker.View.Item.Media/toString/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-item/-media/to-string.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.MediaPicker.View.Item///PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-item/index.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.MediaPicker.View.Model.Hidden///PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-model/-hidden/index.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.MediaPicker.View.Model.Hidden/toString/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-model/-hidden/to-string.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.MediaPicker.View.Model.Visible///PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-model/-visible/index.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.MediaPicker.View.Model.Visible/Visible/#kotlin.collections.List[com.snap.camerakit.lenses.LensesComponent.MediaPicker.View.Item]/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-model/-visible/-visible.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.MediaPicker.View.Model.Visible/equals/#kotlin.Any?/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-model/-visible/equals.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.MediaPicker.View.Model.Visible/hashCode/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-model/-visible/hash-code.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.MediaPicker.View.Model.Visible/items/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-model/-visible/items.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.MediaPicker.View.Model.Visible/toString/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-model/-visible/to-string.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.MediaPicker.View.Model///PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-model/index.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.MediaPicker.View///PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/index.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.MediaPicker.View/observe/#com.snap.camerakit.common.Consumer[com.snap.camerakit.lenses.LensesComponent.MediaPicker.View.Event]/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/observe.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.MediaPicker///PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/index.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Noop///PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-noop/index.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Noop/close/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-noop/close.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Preferences.Noop///PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-preferences/-noop/index.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Preferences.Noop/clear/#com.snap.camerakit.common.Consumer[kotlin.Boolean]/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-preferences/-noop/clear.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Preferences///PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-preferences/index.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Preferences/clear/#com.snap.camerakit.common.Consumer[kotlin.Boolean]/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-preferences/clear.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Prefetcher.Noop///PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-prefetcher/-noop/index.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Prefetcher.Noop/observe/#com.snap.camerakit.lenses.LensesComponent.Lens#com.snap.camerakit.common.Consumer[com.snap.camerakit.lenses.LensesComponent.Prefetcher.Status]/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-prefetcher/-noop/observe.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Prefetcher.Noop/run/#kotlin.collections.List[com.snap.camerakit.lenses.LensesComponent.Lens]#com.snap.camerakit.common.Consumer[kotlin.Boolean]/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-prefetcher/-noop/run.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Prefetcher.Status.LOADED///PointingToDeclaration/{"org.jetbrains.dokka.links.EnumEntryDRIExtra":{"key":"org.jetbrains.dokka.links.EnumEntryDRIExtra"}}-camera-kit/com.snap.camerakit.lenses/-lenses-component/-prefetcher/-status/-l-o-a-d-e-d/index.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Prefetcher.Status.LOADING///PointingToDeclaration/{"org.jetbrains.dokka.links.EnumEntryDRIExtra":{"key":"org.jetbrains.dokka.links.EnumEntryDRIExtra"}}-camera-kit/com.snap.camerakit.lenses/-lenses-component/-prefetcher/-status/-l-o-a-d-i-n-g/index.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Prefetcher.Status.UNLOADED///PointingToDeclaration/{"org.jetbrains.dokka.links.EnumEntryDRIExtra":{"key":"org.jetbrains.dokka.links.EnumEntryDRIExtra"}}-camera-kit/com.snap.camerakit.lenses/-lenses-component/-prefetcher/-status/-u-n-l-o-a-d-e-d/index.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Prefetcher.Status///PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-prefetcher/-status/index.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Prefetcher.Status/valueOf/#kotlin.String/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-prefetcher/-status/value-of.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Prefetcher.Status/values/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-prefetcher/-status/values.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Prefetcher///PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-prefetcher/index.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Prefetcher/observe/#com.snap.camerakit.lenses.LensesComponent.Lens#com.snap.camerakit.common.Consumer[com.snap.camerakit.lenses.LensesComponent.Prefetcher.Status]/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-prefetcher/observe.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Prefetcher/run/#kotlin.collections.List[com.snap.camerakit.lenses.LensesComponent.Lens]#com.snap.camerakit.common.Consumer[kotlin.Boolean]/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-prefetcher/run.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Processor.Configuration///PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-configuration/index.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Processor.Configuration/inputFrameRotationBehavior/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-configuration/input-frame-rotation-behavior.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Processor.Configuration/useDeviceOrientationForFaceDetection/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-configuration/use-device-orientation-for-face-detection.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Processor.Event.Applied///PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-event/-applied/index.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Processor.Event.Applied/Applied/#com.snap.camerakit.lenses.LensesComponent.Lens/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-event/-applied/-applied.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Processor.Event.Applied/equals/#kotlin.Any?/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-event/-applied/equals.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Processor.Event.Applied/hashCode/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-event/-applied/hash-code.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Processor.Event.Applied/lens/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-event/-applied/lens.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Processor.Event.Applied/toString/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-event/-applied/to-string.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Processor.Event.FirstFrameProcessed///PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-event/-first-frame-processed/index.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Processor.Event.FirstFrameProcessed/FirstFrameProcessed/#com.snap.camerakit.lenses.LensesComponent.Lens/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-event/-first-frame-processed/-first-frame-processed.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Processor.Event.FirstFrameProcessed/equals/#kotlin.Any?/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-event/-first-frame-processed/equals.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Processor.Event.FirstFrameProcessed/hashCode/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-event/-first-frame-processed/hash-code.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Processor.Event.FirstFrameProcessed/lens/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-event/-first-frame-processed/lens.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Processor.Event.FirstFrameProcessed/toString/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-event/-first-frame-processed/to-string.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Processor.Event.Idle///PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-event/-idle/index.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Processor.Event.Idle/toString/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-event/-idle/to-string.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Processor.Event///PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-event/index.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Processor.Failure.Internal///PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-failure/-internal/index.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Processor.Failure.Internal/Internal/#kotlin.Throwable?/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-failure/-internal/-internal.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Processor.Failure.Lens///PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-failure/-lens/index.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Processor.Failure.Lens/Lens/#kotlin.String#kotlin.Throwable?/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-failure/-lens/-lens.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Processor.Failure.Lens/id/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-failure/-lens/id.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Processor.Failure.LibraryLoading///PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-failure/-library-loading/index.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Processor.Failure.LibraryLoading/LibraryLoading/#kotlin.Throwable?/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-failure/-library-loading/-library-loading.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Processor.Failure///PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-failure/index.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Processor.InputFrameRotationBehavior.ASSUME_PORTRAIT_ORIENTATION///PointingToDeclaration/{"org.jetbrains.dokka.links.EnumEntryDRIExtra":{"key":"org.jetbrains.dokka.links.EnumEntryDRIExtra"}}-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-input-frame-rotation-behavior/-a-s-s-u-m-e_-p-o-r-t-r-a-i-t_-o-r-i-e-n-t-a-t-i-o-n/index.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Processor.InputFrameRotationBehavior.USE_SCREEN_ORIENTATION///PointingToDeclaration/{"org.jetbrains.dokka.links.EnumEntryDRIExtra":{"key":"org.jetbrains.dokka.links.EnumEntryDRIExtra"}}-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-input-frame-rotation-behavior/-u-s-e_-s-c-r-e-e-n_-o-r-i-e-n-t-a-t-i-o-n/index.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Processor.InputFrameRotationBehavior///PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-input-frame-rotation-behavior/index.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Processor.InputFrameRotationBehavior/valueOf/#kotlin.String/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-input-frame-rotation-behavior/value-of.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Processor.InputFrameRotationBehavior/values/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-input-frame-rotation-behavior/values.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Processor.Noop///PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-noop/index.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Processor.Noop/apply/#com.snap.camerakit.lenses.LensesComponent.Lens#com.snap.camerakit.lenses.LensesComponent.Lens.LaunchData#kotlin.Boolean#com.snap.camerakit.common.Consumer[kotlin.Boolean]/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-noop/apply.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Processor.Noop/clear/#com.snap.camerakit.common.Consumer[kotlin.Boolean]/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-noop/clear.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Processor.Noop/connectInput/#com.snap.camerakit.AudioProcessor.Input/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-noop/connect-input.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Processor.Noop/connectInput/#com.snap.camerakit.ImageProcessor.Input/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-noop/connect-input.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Processor.Noop/connectInput/#com.snap.camerakit.LocationProcessor.Input/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-noop/connect-input.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Processor.Noop/connectInput/#com.snap.camerakit.MediaProcessor.Input/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-noop/connect-input.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Processor.Noop/connectInput/#com.snap.camerakit.SafeRenderAreaProcessor.Input/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-noop/connect-input.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Processor.Noop/connectInput/#com.snap.camerakit.UserProcessor.Input/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-noop/connect-input.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Processor.Noop/connectOutput/#com.snap.camerakit.ImageProcessor.Output/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-noop/connect-output.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Processor.Noop/observe/#com.snap.camerakit.common.Consumer[com.snap.camerakit.lenses.LensesComponent.Processor.Event]/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-noop/observe.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Processor.Noop/observeRequiredCapabilities/#com.snap.camerakit.common.Consumer[kotlin.collections.Set[com.snap.camerakit.ImageProcessor.Input.Capability]]/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-noop/observe-required-capabilities.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Processor///PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/index.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Processor/apply/#com.snap.camerakit.lenses.LensesComponent.Lens#com.snap.camerakit.common.Consumer[kotlin.Boolean]/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/apply.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Processor/apply/#com.snap.camerakit.lenses.LensesComponent.Lens#com.snap.camerakit.lenses.LensesComponent.Lens.LaunchData#com.snap.camerakit.common.Consumer[kotlin.Boolean]/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/apply.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Processor/apply/#com.snap.camerakit.lenses.LensesComponent.Lens#com.snap.camerakit.lenses.LensesComponent.Lens.LaunchData#kotlin.Boolean#com.snap.camerakit.common.Consumer[kotlin.Boolean]/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/apply.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Processor/clear/#com.snap.camerakit.common.Consumer[kotlin.Boolean]/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/clear.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Processor/observe/#com.snap.camerakit.common.Consumer[com.snap.camerakit.lenses.LensesComponent.Processor.Event]/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/observe.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.RemoteApiService.Call.Answered///PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-call/-answered/index.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.RemoteApiService.Call.Answered/toString/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-call/-answered/to-string.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.RemoteApiService.Call.Ignored///PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-call/-ignored/index.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.RemoteApiService.Call.Ignored/toString/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-call/-ignored/to-string.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.RemoteApiService.Call.Ongoing///PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-call/-ongoing/index.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.RemoteApiService.Call.Ongoing/Ongoing/#java.io.Closeable/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-call/-ongoing/-ongoing.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.RemoteApiService.Call.Ongoing/closeable/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-call/-ongoing/closeable.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.RemoteApiService.Call.Ongoing/toString/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-call/-ongoing/to-string.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.RemoteApiService.Call///PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-call/index.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.RemoteApiService.Companion///PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-companion/index.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.RemoteApiService.Factory.Noop///PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-factory/-noop/index.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.RemoteApiService.Factory.Noop/createFor/#com.snap.camerakit.lenses.LensesComponent.Lens/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-factory/-noop/create-for.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.RemoteApiService.Factory.Noop/supportedApiSpecIds/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-factory/-noop/supported-api-spec-ids.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.RemoteApiService.Factory///PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-factory/index.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.RemoteApiService.Factory/createFor/#com.snap.camerakit.lenses.LensesComponent.Lens/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-factory/create-for.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.RemoteApiService.Factory/supportedApiSpecIds/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-factory/supported-api-spec-ids.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.RemoteApiService.Noop///PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-noop/index.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.RemoteApiService.Noop/close/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-noop/close.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.RemoteApiService.Noop/process/#com.snap.camerakit.lenses.LensesComponent.RemoteApiService.Request#com.snap.camerakit.common.Consumer[com.snap.camerakit.lenses.LensesComponent.RemoteApiService.Response]/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-noop/process.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.RemoteApiService.Request///PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-request/index.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.RemoteApiService.Request/Request/#kotlin.String#kotlin.String#kotlin.String#kotlin.collections.Map[kotlin.String,kotlin.String]#kotlin.ByteArray/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-request/-request.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.RemoteApiService.Request/apiSpecId/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-request/api-spec-id.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.RemoteApiService.Request/body/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-request/body.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.RemoteApiService.Request/endpointId/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-request/endpoint-id.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.RemoteApiService.Request/equals/#kotlin.Any?/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-request/equals.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.RemoteApiService.Request/hashCode/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-request/hash-code.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.RemoteApiService.Request/id/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-request/id.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.RemoteApiService.Request/parameters/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-request/parameters.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.RemoteApiService.Request/toString/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-request/to-string.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.RemoteApiService.Response.Status.ACCESS_DENIED///PointingToDeclaration/{"org.jetbrains.dokka.links.EnumEntryDRIExtra":{"key":"org.jetbrains.dokka.links.EnumEntryDRIExtra"}}-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-response/-status/-a-c-c-e-s-s_-d-e-n-i-e-d/index.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.RemoteApiService.Response.Status.BAD_REQUEST///PointingToDeclaration/{"org.jetbrains.dokka.links.EnumEntryDRIExtra":{"key":"org.jetbrains.dokka.links.EnumEntryDRIExtra"}}-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-response/-status/-b-a-d_-r-e-q-u-e-s-t/index.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.RemoteApiService.Response.Status.CANCELLED///PointingToDeclaration/{"org.jetbrains.dokka.links.EnumEntryDRIExtra":{"key":"org.jetbrains.dokka.links.EnumEntryDRIExtra"}}-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-response/-status/-c-a-n-c-e-l-l-e-d/index.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.RemoteApiService.Response.Status.INTERNAL_SERVICE_ERROR///PointingToDeclaration/{"org.jetbrains.dokka.links.EnumEntryDRIExtra":{"key":"org.jetbrains.dokka.links.EnumEntryDRIExtra"}}-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-response/-status/-i-n-t-e-r-n-a-l_-s-e-r-v-i-c-e_-e-r-r-o-r/index.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.RemoteApiService.Response.Status.NOT_FOUND///PointingToDeclaration/{"org.jetbrains.dokka.links.EnumEntryDRIExtra":{"key":"org.jetbrains.dokka.links.EnumEntryDRIExtra"}}-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-response/-status/-n-o-t_-f-o-u-n-d/index.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.RemoteApiService.Response.Status.REDIRECTED///PointingToDeclaration/{"org.jetbrains.dokka.links.EnumEntryDRIExtra":{"key":"org.jetbrains.dokka.links.EnumEntryDRIExtra"}}-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-response/-status/-r-e-d-i-r-e-c-t-e-d/index.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.RemoteApiService.Response.Status.REQUEST_TOO_LARGE///PointingToDeclaration/{"org.jetbrains.dokka.links.EnumEntryDRIExtra":{"key":"org.jetbrains.dokka.links.EnumEntryDRIExtra"}}-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-response/-status/-r-e-q-u-e-s-t_-t-o-o_-l-a-r-g-e/index.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.RemoteApiService.Response.Status.SUCCESS///PointingToDeclaration/{"org.jetbrains.dokka.links.EnumEntryDRIExtra":{"key":"org.jetbrains.dokka.links.EnumEntryDRIExtra"}}-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-response/-status/-s-u-c-c-e-s-s/index.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.RemoteApiService.Response.Status.TIMEOUT///PointingToDeclaration/{"org.jetbrains.dokka.links.EnumEntryDRIExtra":{"key":"org.jetbrains.dokka.links.EnumEntryDRIExtra"}}-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-response/-status/-t-i-m-e-o-u-t/index.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.RemoteApiService.Response.Status///PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-response/-status/index.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.RemoteApiService.Response.Status/valueOf/#kotlin.String/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-response/-status/value-of.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.RemoteApiService.Response.Status/values/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-response/-status/values.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.RemoteApiService.Response///PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-response/index.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.RemoteApiService.Response/Response/#com.snap.camerakit.lenses.LensesComponent.RemoteApiService.Request#com.snap.camerakit.lenses.LensesComponent.RemoteApiService.Response.Status#kotlin.collections.Map[kotlin.String,kotlin.String]#kotlin.ByteArray/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-response/-response.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.RemoteApiService.Response/body/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-response/body.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.RemoteApiService.Response/equals/#kotlin.Any?/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-response/equals.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.RemoteApiService.Response/hashCode/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-response/hash-code.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.RemoteApiService.Response/metadata/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-response/metadata.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.RemoteApiService.Response/request/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-response/request.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.RemoteApiService.Response/status/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-response/status.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.RemoteApiService.Response/toString/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-response/to-string.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.RemoteApiService///PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/index.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.RemoteApiService/close/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/close.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.RemoteApiService/process/#com.snap.camerakit.lenses.LensesComponent.RemoteApiService.Request#com.snap.camerakit.common.Consumer[com.snap.camerakit.lenses.LensesComponent.RemoteApiService.Response]/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/process.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Repository.Noop///PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-noop/index.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Repository.Noop/get/#com.snap.camerakit.lenses.LensesComponent.Repository.QueryCriteria#com.snap.camerakit.common.Consumer[com.snap.camerakit.lenses.LensesComponent.Repository.Result]/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-noop/get.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Repository.Noop/observe/#com.snap.camerakit.lenses.LensesComponent.Repository.QueryCriteria#com.snap.camerakit.common.Consumer[com.snap.camerakit.lenses.LensesComponent.Repository.Result]/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-noop/observe.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Repository.QueryCriteria.Available///PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-query-criteria/-available/index.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Repository.QueryCriteria.Available/Available/#kotlin.Array[kotlin.String]/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-query-criteria/-available/-available.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Repository.QueryCriteria.Available/Available/#kotlin.collections.Set[kotlin.String]/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-query-criteria/-available/-available.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Repository.QueryCriteria.Available/equals/#kotlin.Any?/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-query-criteria/-available/equals.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Repository.QueryCriteria.Available/groupIds/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-query-criteria/-available/group-ids.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Repository.QueryCriteria.Available/hashCode/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-query-criteria/-available/hash-code.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Repository.QueryCriteria.Available/toString/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-query-criteria/-available/to-string.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Repository.QueryCriteria.ById///PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-query-criteria/-by-id/index.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Repository.QueryCriteria.ById/ById/#kotlin.String#kotlin.String/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-query-criteria/-by-id/-by-id.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Repository.QueryCriteria.ById/equals/#kotlin.Any?/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-query-criteria/-by-id/equals.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Repository.QueryCriteria.ById/groupId/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-query-criteria/-by-id/group-id.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Repository.QueryCriteria.ById/hashCode/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-query-criteria/-by-id/hash-code.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Repository.QueryCriteria.ById/id/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-query-criteria/-by-id/id.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Repository.QueryCriteria.ById/toString/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-query-criteria/-by-id/to-string.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Repository.QueryCriteria///PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-query-criteria/index.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Repository.Result.None///PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-result/-none/index.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Repository.Result.None/toString/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-result/-none/to-string.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Repository.Result.Some///PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-result/-some/index.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Repository.Result.Some/Some/#com.snap.camerakit.lenses.LensesComponent.Lens/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-result/-some/-some.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Repository.Result.Some/Some/#kotlin.collections.List[com.snap.camerakit.lenses.LensesComponent.Lens]/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-result/-some/-some.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Repository.Result.Some/equals/#kotlin.Any?/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-result/-some/equals.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Repository.Result.Some/hashCode/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-result/-some/hash-code.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Repository.Result.Some/lenses/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-result/-some/lenses.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Repository.Result.Some/toString/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-result/-some/to-string.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Repository.Result///PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-result/index.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Repository///PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/index.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Repository/get/#com.snap.camerakit.lenses.LensesComponent.Repository.QueryCriteria#com.snap.camerakit.common.Consumer[com.snap.camerakit.lenses.LensesComponent.Repository.Result]/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/get.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent.Repository/observe/#com.snap.camerakit.lenses.LensesComponent.Repository.QueryCriteria#com.snap.camerakit.common.Consumer[com.snap.camerakit.lenses.LensesComponent.Repository.Result]/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/observe.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent///PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/index.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent/audio/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/audio.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent/carousel/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/carousel.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent/close/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/close.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent/preferences/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/preferences.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent/prefetcher/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/prefetcher.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent/processor/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/processor.html +$dokka.location:com.snap.camerakit.lenses/LensesComponent/repository/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-component/repository.html +$dokka.location:com.snap.camerakit.lenses/LensesLaunchData///PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-launch-data/index.html +$dokka.location:com.snap.camerakit.lenses/LensesLaunchData/newBuilder/#/PointingToDeclaration/-camera-kit/com.snap.camerakit.lenses/-lenses-launch-data/new-builder.html +$dokka.location:com.snap.camerakit////PointingToDeclaration/-camera-kit/com.snap.camerakit/index.html +$dokka.location:com.snap.camerakit//arCoreInput/#android.content.Context#java.io.File/PointingToDeclaration/-camera-kit/com.snap.camerakit/ar-core-input.html +$dokka.location:com.snap.camerakit//arCoreInput/#android.content.Context#kotlin.Boolean/PointingToDeclaration/-camera-kit/com.snap.camerakit/ar-core-input.html +$dokka.location:com.snap.camerakit//connectInput/TypeParam(bounds=[com.snap.camerakit.ImageProcessor])#android.content.Context#java.io.File#kotlin.Int#kotlin.Boolean#kotlin.Float#kotlin.Float#kotlin.collections.Set[com.snap.camerakit.ImageProcessor.Input.Option]/PointingToDeclaration/-camera-kit/com.snap.camerakit/connect-input.html +$dokka.location:com.snap.camerakit//connectOutput/TypeParam(bounds=[com.snap.camerakit.ImageProcessor])#android.view.TextureView#kotlin.collections.Set[com.snap.camerakit.ImageProcessor.Output.Option]/PointingToDeclaration/-camera-kit/com.snap.camerakit/connect-output.html +$dokka.location:com.snap.camerakit//inputFrameFrom/#kotlin.ByteArray#kotlin.Int/PointingToDeclaration/-camera-kit/com.snap.camerakit/input-frame-from.html +$dokka.location:com.snap.camerakit//inputFrom/#android.graphics.SurfaceTexture#kotlin.Int#kotlin.Int#kotlin.Int#kotlin.Boolean#java.util.concurrent.Callable[kotlin.Float]#java.util.concurrent.Callable[kotlin.Float]/PointingToDeclaration/-camera-kit/com.snap.camerakit/input-from.html +$dokka.location:com.snap.camerakit//inputFrom/#android.graphics.SurfaceTexture#kotlin.Int#kotlin.Int#kotlin.Int#kotlin.Boolean#kotlin.Float#kotlin.Float/PointingToDeclaration/-camera-kit/com.snap.camerakit/input-from.html +$dokka.location:com.snap.camerakit//lensCoreVersion/#/PointingToDeclaration/-camera-kit/com.snap.camerakit/lens-core-version.html +$dokka.location:com.snap.camerakit//microphoneSourceFor/#java.util.concurrent.ExecutorService/PointingToDeclaration/-camera-kit/com.snap.camerakit/microphone-source-for.html +$dokka.location:com.snap.camerakit//newBuilder/#android.content.Context#androidx.lifecycle.LifecycleOwner?/PointingToDeclaration/-camera-kit/com.snap.camerakit/new-builder.html +$dokka.location:com.snap.camerakit//outputFrom/#android.graphics.SurfaceTexture#com.snap.camerakit.ImageProcessor.Output.Purpose#kotlin.Int/PointingToDeclaration/-camera-kit/com.snap.camerakit/output-from.html +$dokka.location:com.snap.camerakit//outputFrom/#android.view.Surface#com.snap.camerakit.ImageProcessor.Output.Purpose#kotlin.Int/PointingToDeclaration/-camera-kit/com.snap.camerakit/output-from.html +$dokka.location:com.snap.camerakit//processBitmap/TypeParam(bounds=[com.snap.camerakit.ImageProcessor])#com.snap.camerakit.ImageProcessor.Input#android.graphics.Bitmap#kotlin.Int#kotlin.Long#java.util.concurrent.TimeUnit#kotlin.Boolean#kotlin.Boolean#kotlin.Boolean/PointingToDeclaration/-camera-kit/com.snap.camerakit/process-bitmap.html +$dokka.location:com.snap.camerakit//processImage/TypeParam(bounds=[com.snap.camerakit.ImageProcessor])#com.snap.camerakit.ImageProcessor.Input#android.media.Image#kotlin.Int#kotlin.Long#java.util.concurrent.TimeUnit#kotlin.Boolean#kotlin.Boolean#kotlin.Boolean/PointingToDeclaration/-camera-kit/com.snap.camerakit/process-image.html +$dokka.location:com.snap.camerakit//sourceFrom/#android.content.Context#java.io.File#kotlin.Int#kotlin.Boolean#kotlin.Float#kotlin.Float#kotlin.collections.Set[com.snap.camerakit.ImageProcessor.Input.Option]/PointingToDeclaration/-camera-kit/com.snap.camerakit/source-from.html +$dokka.location:com.snap.camerakit//sourceFrom/#android.graphics.Bitmap#android.view.Choreographer#kotlin.Int#kotlin.Boolean#kotlin.Float#kotlin.Float#kotlin.collections.Set[com.snap.camerakit.ImageProcessor.Input.Option]/PointingToDeclaration/-camera-kit/com.snap.camerakit/source-from.html +$dokka.location:com.snap.camerakit//sourceFrom/#kotlin.Int#kotlin.Int#kotlin.Int#android.view.Choreographer#kotlin.Int#kotlin.Boolean#kotlin.Float#kotlin.Float#kotlin.collections.Set[com.snap.camerakit.ImageProcessor.Input.Option]/PointingToDeclaration/-camera-kit/com.snap.camerakit/source-from.html +$dokka.location:com.snap.camerakit//supported/#android.content.Context/PointingToDeclaration/-camera-kit/com.snap.camerakit/supported.html +$dokka.location:com.snap.camerakit//toBitmap/TypeParam(bounds=[com.snap.camerakit.ImageProcessor])#kotlin.Int#kotlin.Int#kotlin.Int#com.snap.camerakit.ImageProcessor.Output.Purpose/PointingToDeclaration/-camera-kit/com.snap.camerakit/to-bitmap.html +$dokka.location:com.snap.camerakit//versionFrom/#android.content.Context/PointingToDeclaration/-camera-kit/com.snap.camerakit/version-from.html +$dokka.location:com.snap.camerakit/AudioProcessor.Input.Frame///PointingToDeclaration/-camera-kit/com.snap.camerakit/-audio-processor/-input/-frame/index.html +$dokka.location:com.snap.camerakit/AudioProcessor.Input.Frame/buffer/#/PointingToDeclaration/-camera-kit/com.snap.camerakit/-audio-processor/-input/-frame/buffer.html +$dokka.location:com.snap.camerakit/AudioProcessor.Input.Frame/recycle/#/PointingToDeclaration/-camera-kit/com.snap.camerakit/-audio-processor/-input/-frame/recycle.html +$dokka.location:com.snap.camerakit/AudioProcessor.Input.Frame/samplesCount/#/PointingToDeclaration/-camera-kit/com.snap.camerakit/-audio-processor/-input/-frame/samples-count.html +$dokka.location:com.snap.camerakit/AudioProcessor.Input///PointingToDeclaration/-camera-kit/com.snap.camerakit/-audio-processor/-input/index.html +$dokka.location:com.snap.camerakit/AudioProcessor.Input/bufferSize/#/PointingToDeclaration/-camera-kit/com.snap.camerakit/-audio-processor/-input/buffer-size.html +$dokka.location:com.snap.camerakit/AudioProcessor.Input/channels/#/PointingToDeclaration/-camera-kit/com.snap.camerakit/-audio-processor/-input/channels.html +$dokka.location:com.snap.camerakit/AudioProcessor.Input/sampleRate/#/PointingToDeclaration/-camera-kit/com.snap.camerakit/-audio-processor/-input/sample-rate.html +$dokka.location:com.snap.camerakit/AudioProcessor.Input/subscribeTo/#com.snap.camerakit.common.Consumer[com.snap.camerakit.AudioProcessor.Input.Frame]/PointingToDeclaration/-camera-kit/com.snap.camerakit/-audio-processor/-input/subscribe-to.html +$dokka.location:com.snap.camerakit/AudioProcessor///PointingToDeclaration/-camera-kit/com.snap.camerakit/-audio-processor/index.html +$dokka.location:com.snap.camerakit/AudioProcessor/connectInput/#com.snap.camerakit.AudioProcessor.Input/PointingToDeclaration/-camera-kit/com.snap.camerakit/-audio-processor/connect-input.html +$dokka.location:com.snap.camerakit/Experimental///PointingToDeclaration/-camera-kit/com.snap.camerakit/-experimental/index.html +$dokka.location:com.snap.camerakit/ImageProcessor.Failure.Graphics///PointingToDeclaration/-camera-kit/com.snap.camerakit/-image-processor/-failure/-graphics/index.html +$dokka.location:com.snap.camerakit/ImageProcessor.Failure.Graphics/Graphics/#kotlin.String?#kotlin.Throwable?/PointingToDeclaration/-camera-kit/com.snap.camerakit/-image-processor/-failure/-graphics/-graphics.html +$dokka.location:com.snap.camerakit/ImageProcessor.Failure///PointingToDeclaration/-camera-kit/com.snap.camerakit/-image-processor/-failure/index.html +$dokka.location:com.snap.camerakit/ImageProcessor.Input.BackedBySurfaceTexture///PointingToDeclaration/-camera-kit/com.snap.camerakit/-image-processor/-input/-backed-by-surface-texture/index.html +$dokka.location:com.snap.camerakit/ImageProcessor.Input.BackedBySurfaceTexture/BackedBySurfaceTexture/#android.graphics.SurfaceTexture/PointingToDeclaration/-camera-kit/com.snap.camerakit/-image-processor/-input/-backed-by-surface-texture/-backed-by-surface-texture.html +$dokka.location:com.snap.camerakit/ImageProcessor.Input.BackedBySurfaceTexture/surfaceTexture/#/PointingToDeclaration/-camera-kit/com.snap.camerakit/-image-processor/-input/-backed-by-surface-texture/surface-texture.html +$dokka.location:com.snap.camerakit/ImageProcessor.Input.Capability.SURFACE_TRACKING///PointingToDeclaration/{"org.jetbrains.dokka.links.EnumEntryDRIExtra":{"key":"org.jetbrains.dokka.links.EnumEntryDRIExtra"}}-camera-kit/com.snap.camerakit/-image-processor/-input/-capability/-s-u-r-f-a-c-e_-t-r-a-c-k-i-n-g/index.html +$dokka.location:com.snap.camerakit/ImageProcessor.Input.Capability///PointingToDeclaration/-camera-kit/com.snap.camerakit/-image-processor/-input/-capability/index.html +$dokka.location:com.snap.camerakit/ImageProcessor.Input.Capability/valueOf/#kotlin.String/PointingToDeclaration/-camera-kit/com.snap.camerakit/-image-processor/-input/-capability/value-of.html +$dokka.location:com.snap.camerakit/ImageProcessor.Input.Capability/values/#/PointingToDeclaration/-camera-kit/com.snap.camerakit/-image-processor/-input/-capability/values.html +$dokka.location:com.snap.camerakit/ImageProcessor.Input.Companion///PointingToDeclaration/-camera-kit/com.snap.camerakit/-image-processor/-input/-companion/index.html +$dokka.location:com.snap.camerakit/ImageProcessor.Input.Frame///PointingToDeclaration/-camera-kit/com.snap.camerakit/-image-processor/-input/-frame/index.html +$dokka.location:com.snap.camerakit/ImageProcessor.Input.Frame/horizontalFieldOfView/#/PointingToDeclaration/-camera-kit/com.snap.camerakit/-image-processor/-input/-frame/horizontal-field-of-view.html +$dokka.location:com.snap.camerakit/ImageProcessor.Input.Frame/recycle/#/PointingToDeclaration/-camera-kit/com.snap.camerakit/-image-processor/-input/-frame/recycle.html +$dokka.location:com.snap.camerakit/ImageProcessor.Input.Frame/timestamp/#/PointingToDeclaration/-camera-kit/com.snap.camerakit/-image-processor/-input/-frame/timestamp.html +$dokka.location:com.snap.camerakit/ImageProcessor.Input.Frame/transformationMatrix/#/PointingToDeclaration/-camera-kit/com.snap.camerakit/-image-processor/-input/-frame/transformation-matrix.html +$dokka.location:com.snap.camerakit/ImageProcessor.Input.Frame/verticalFieldOfView/#/PointingToDeclaration/-camera-kit/com.snap.camerakit/-image-processor/-input/-frame/vertical-field-of-view.html +$dokka.location:com.snap.camerakit/ImageProcessor.Input.Option.Crop.Center///PointingToDeclaration/-camera-kit/com.snap.camerakit/-image-processor/-input/-option/-crop/-center/index.html +$dokka.location:com.snap.camerakit/ImageProcessor.Input.Option.Crop.Center/Center/#kotlin.Int#kotlin.Int/PointingToDeclaration/-camera-kit/com.snap.camerakit/-image-processor/-input/-option/-crop/-center/-center.html +$dokka.location:com.snap.camerakit/ImageProcessor.Input.Option.Crop.Center/aspectRatioDenominator/#/PointingToDeclaration/-camera-kit/com.snap.camerakit/-image-processor/-input/-option/-crop/-center/aspect-ratio-denominator.html +$dokka.location:com.snap.camerakit/ImageProcessor.Input.Option.Crop.Center/aspectRatioNumerator/#/PointingToDeclaration/-camera-kit/com.snap.camerakit/-image-processor/-input/-option/-crop/-center/aspect-ratio-numerator.html +$dokka.location:com.snap.camerakit/ImageProcessor.Input.Option.Crop.Center/equals/#kotlin.Any?/PointingToDeclaration/-camera-kit/com.snap.camerakit/-image-processor/-input/-option/-crop/-center/equals.html +$dokka.location:com.snap.camerakit/ImageProcessor.Input.Option.Crop.Center/hashCode/#/PointingToDeclaration/-camera-kit/com.snap.camerakit/-image-processor/-input/-option/-crop/-center/hash-code.html +$dokka.location:com.snap.camerakit/ImageProcessor.Input.Option.Crop.Center/toString/#/PointingToDeclaration/-camera-kit/com.snap.camerakit/-image-processor/-input/-option/-crop/-center/to-string.html +$dokka.location:com.snap.camerakit/ImageProcessor.Input.Option.Crop///PointingToDeclaration/-camera-kit/com.snap.camerakit/-image-processor/-input/-option/-crop/index.html +$dokka.location:com.snap.camerakit/ImageProcessor.Input.Option.MirrorFramesHorizontally///PointingToDeclaration/-camera-kit/com.snap.camerakit/-image-processor/-input/-option/-mirror-frames-horizontally/index.html +$dokka.location:com.snap.camerakit/ImageProcessor.Input.Option.MirrorFramesVertically///PointingToDeclaration/-camera-kit/com.snap.camerakit/-image-processor/-input/-option/-mirror-frames-vertically/index.html +$dokka.location:com.snap.camerakit/ImageProcessor.Input.Option///PointingToDeclaration/-camera-kit/com.snap.camerakit/-image-processor/-input/-option/index.html +$dokka.location:com.snap.camerakit/ImageProcessor.Input.Pausable///PointingToDeclaration/-camera-kit/com.snap.camerakit/-image-processor/-input/-pausable/index.html +$dokka.location:com.snap.camerakit/ImageProcessor.Input.Pausable/pause/#/PointingToDeclaration/-camera-kit/com.snap.camerakit/-image-processor/-input/-pausable/pause.html +$dokka.location:com.snap.camerakit/ImageProcessor.Input.Pausable/resume/#/PointingToDeclaration/-camera-kit/com.snap.camerakit/-image-processor/-input/-pausable/resume.html +$dokka.location:com.snap.camerakit/ImageProcessor.Input///PointingToDeclaration/-camera-kit/com.snap.camerakit/-image-processor/-input/index.html +$dokka.location:com.snap.camerakit/ImageProcessor.Input/attachToGlContext/#kotlin.Int/PointingToDeclaration/-camera-kit/com.snap.camerakit/-image-processor/-input/attach-to-gl-context.html +$dokka.location:com.snap.camerakit/ImageProcessor.Input/detachFromGlContext/#/PointingToDeclaration/-camera-kit/com.snap.camerakit/-image-processor/-input/detach-from-gl-context.html +$dokka.location:com.snap.camerakit/ImageProcessor.Input/facingFront/#/PointingToDeclaration/-camera-kit/com.snap.camerakit/-image-processor/-input/facing-front.html +$dokka.location:com.snap.camerakit/ImageProcessor.Input/height/#/PointingToDeclaration/-camera-kit/com.snap.camerakit/-image-processor/-input/height.html +$dokka.location:com.snap.camerakit/ImageProcessor.Input/readFrame/#/PointingToDeclaration/-camera-kit/com.snap.camerakit/-image-processor/-input/read-frame.html +$dokka.location:com.snap.camerakit/ImageProcessor.Input/rotationDegrees/#/PointingToDeclaration/-camera-kit/com.snap.camerakit/-image-processor/-input/rotation-degrees.html +$dokka.location:com.snap.camerakit/ImageProcessor.Input/subscribeTo/#com.snap.camerakit.common.Consumer[com.snap.camerakit.ImageProcessor.Input]/PointingToDeclaration/-camera-kit/com.snap.camerakit/-image-processor/-input/subscribe-to.html +$dokka.location:com.snap.camerakit/ImageProcessor.Input/width/#/PointingToDeclaration/-camera-kit/com.snap.camerakit/-image-processor/-input/width.html +$dokka.location:com.snap.camerakit/ImageProcessor.Output.BackedBySurface///PointingToDeclaration/-camera-kit/com.snap.camerakit/-image-processor/-output/-backed-by-surface/index.html +$dokka.location:com.snap.camerakit/ImageProcessor.Output.BackedBySurface/BackedBySurface/#android.view.Surface#com.snap.camerakit.ImageProcessor.Output.Purpose/PointingToDeclaration/-camera-kit/com.snap.camerakit/-image-processor/-output/-backed-by-surface/-backed-by-surface.html +$dokka.location:com.snap.camerakit/ImageProcessor.Output.BackedBySurface/purpose/#/PointingToDeclaration/-camera-kit/com.snap.camerakit/-image-processor/-output/-backed-by-surface/purpose.html +$dokka.location:com.snap.camerakit/ImageProcessor.Output.BackedBySurface/surface/#/PointingToDeclaration/-camera-kit/com.snap.camerakit/-image-processor/-output/-backed-by-surface/surface.html +$dokka.location:com.snap.camerakit/ImageProcessor.Output.BackedBySurfaceTexture///PointingToDeclaration/-camera-kit/com.snap.camerakit/-image-processor/-output/-backed-by-surface-texture/index.html +$dokka.location:com.snap.camerakit/ImageProcessor.Output.BackedBySurfaceTexture/BackedBySurfaceTexture/#android.graphics.SurfaceTexture#com.snap.camerakit.ImageProcessor.Output.Purpose/PointingToDeclaration/-camera-kit/com.snap.camerakit/-image-processor/-output/-backed-by-surface-texture/-backed-by-surface-texture.html +$dokka.location:com.snap.camerakit/ImageProcessor.Output.BackedBySurfaceTexture/purpose/#/PointingToDeclaration/-camera-kit/com.snap.camerakit/-image-processor/-output/-backed-by-surface-texture/purpose.html +$dokka.location:com.snap.camerakit/ImageProcessor.Output.BackedBySurfaceTexture/surfaceTexture/#/PointingToDeclaration/-camera-kit/com.snap.camerakit/-image-processor/-output/-backed-by-surface-texture/surface-texture.html +$dokka.location:com.snap.camerakit/ImageProcessor.Output.Companion///PointingToDeclaration/-camera-kit/com.snap.camerakit/-image-processor/-output/-companion/index.html +$dokka.location:com.snap.camerakit/ImageProcessor.Output.Frame///PointingToDeclaration/-camera-kit/com.snap.camerakit/-image-processor/-output/-frame/index.html +$dokka.location:com.snap.camerakit/ImageProcessor.Output.Frame/recycle/#/PointingToDeclaration/-camera-kit/com.snap.camerakit/-image-processor/-output/-frame/recycle.html +$dokka.location:com.snap.camerakit/ImageProcessor.Output.Frame/timestamp/#/PointingToDeclaration/-camera-kit/com.snap.camerakit/-image-processor/-output/-frame/timestamp.html +$dokka.location:com.snap.camerakit/ImageProcessor.Output.Option.ClearOnDisconnect///PointingToDeclaration/-camera-kit/com.snap.camerakit/-image-processor/-output/-option/-clear-on-disconnect/index.html +$dokka.location:com.snap.camerakit/ImageProcessor.Output.Option.ClearOnDisconnect/ClearOnDisconnect/#kotlin.Int/PointingToDeclaration/-camera-kit/com.snap.camerakit/-image-processor/-output/-option/-clear-on-disconnect/-clear-on-disconnect.html +$dokka.location:com.snap.camerakit/ImageProcessor.Output.Option.ClearOnDisconnect/color/#/PointingToDeclaration/-camera-kit/com.snap.camerakit/-image-processor/-output/-option/-clear-on-disconnect/color.html +$dokka.location:com.snap.camerakit/ImageProcessor.Output.Option.ClearOnDisconnect/equals/#kotlin.Any?/PointingToDeclaration/-camera-kit/com.snap.camerakit/-image-processor/-output/-option/-clear-on-disconnect/equals.html +$dokka.location:com.snap.camerakit/ImageProcessor.Output.Option.ClearOnDisconnect/hashCode/#/PointingToDeclaration/-camera-kit/com.snap.camerakit/-image-processor/-output/-option/-clear-on-disconnect/hash-code.html +$dokka.location:com.snap.camerakit/ImageProcessor.Output.Option.ClearOnDisconnect/toString/#/PointingToDeclaration/-camera-kit/com.snap.camerakit/-image-processor/-output/-option/-clear-on-disconnect/to-string.html +$dokka.location:com.snap.camerakit/ImageProcessor.Output.Option.IgnoreDeviceRotation///PointingToDeclaration/-camera-kit/com.snap.camerakit/-image-processor/-output/-option/-ignore-device-rotation/index.html +$dokka.location:com.snap.camerakit/ImageProcessor.Output.Option///PointingToDeclaration/-camera-kit/com.snap.camerakit/-image-processor/-output/-option/index.html +$dokka.location:com.snap.camerakit/ImageProcessor.Output.Purpose.PREVIEW///PointingToDeclaration/{"org.jetbrains.dokka.links.EnumEntryDRIExtra":{"key":"org.jetbrains.dokka.links.EnumEntryDRIExtra"}}-camera-kit/com.snap.camerakit/-image-processor/-output/-purpose/-p-r-e-v-i-e-w/index.html +$dokka.location:com.snap.camerakit/ImageProcessor.Output.Purpose.RECORDING///PointingToDeclaration/{"org.jetbrains.dokka.links.EnumEntryDRIExtra":{"key":"org.jetbrains.dokka.links.EnumEntryDRIExtra"}}-camera-kit/com.snap.camerakit/-image-processor/-output/-purpose/-r-e-c-o-r-d-i-n-g/index.html +$dokka.location:com.snap.camerakit/ImageProcessor.Output.Purpose.SNAPSHOT///PointingToDeclaration/{"org.jetbrains.dokka.links.EnumEntryDRIExtra":{"key":"org.jetbrains.dokka.links.EnumEntryDRIExtra"}}-camera-kit/com.snap.camerakit/-image-processor/-output/-purpose/-s-n-a-p-s-h-o-t/index.html +$dokka.location:com.snap.camerakit/ImageProcessor.Output.Purpose///PointingToDeclaration/-camera-kit/com.snap.camerakit/-image-processor/-output/-purpose/index.html +$dokka.location:com.snap.camerakit/ImageProcessor.Output.Purpose/valueOf/#kotlin.String/PointingToDeclaration/-camera-kit/com.snap.camerakit/-image-processor/-output/-purpose/value-of.html +$dokka.location:com.snap.camerakit/ImageProcessor.Output.Purpose/values/#/PointingToDeclaration/-camera-kit/com.snap.camerakit/-image-processor/-output/-purpose/values.html +$dokka.location:com.snap.camerakit/ImageProcessor.Output///PointingToDeclaration/-camera-kit/com.snap.camerakit/-image-processor/-output/index.html +$dokka.location:com.snap.camerakit/ImageProcessor.Output/purpose/#/PointingToDeclaration/-camera-kit/com.snap.camerakit/-image-processor/-output/purpose.html +$dokka.location:com.snap.camerakit/ImageProcessor.Output/rotationDegrees/#/PointingToDeclaration/-camera-kit/com.snap.camerakit/-image-processor/-output/rotation-degrees.html +$dokka.location:com.snap.camerakit/ImageProcessor.Output/writeFrame/#/PointingToDeclaration/-camera-kit/com.snap.camerakit/-image-processor/-output/write-frame.html +$dokka.location:com.snap.camerakit/ImageProcessor///PointingToDeclaration/-camera-kit/com.snap.camerakit/-image-processor/index.html +$dokka.location:com.snap.camerakit/ImageProcessor/connectInput/#com.snap.camerakit.ImageProcessor.Input#kotlin.collections.Set[com.snap.camerakit.ImageProcessor.Input.Option]/PointingToDeclaration/-camera-kit/com.snap.camerakit/-image-processor/connect-input.html +$dokka.location:com.snap.camerakit/ImageProcessor/connectInput/#com.snap.camerakit.ImageProcessor.Input/PointingToDeclaration/-camera-kit/com.snap.camerakit/-image-processor/connect-input.html +$dokka.location:com.snap.camerakit/ImageProcessor/connectOutput/#com.snap.camerakit.ImageProcessor.Output#kotlin.collections.Set[com.snap.camerakit.ImageProcessor.Output.Option]/PointingToDeclaration/-camera-kit/com.snap.camerakit/-image-processor/connect-output.html +$dokka.location:com.snap.camerakit/ImageProcessor/connectOutput/#com.snap.camerakit.ImageProcessor.Output/PointingToDeclaration/-camera-kit/com.snap.camerakit/-image-processor/connect-output.html +$dokka.location:com.snap.camerakit/ImageProcessor/observeRequiredCapabilities/#com.snap.camerakit.common.Consumer[kotlin.collections.Set[com.snap.camerakit.ImageProcessor.Input.Capability]]/PointingToDeclaration/-camera-kit/com.snap.camerakit/-image-processor/observe-required-capabilities.html +$dokka.location:com.snap.camerakit/LegalProcessor.Input.Prompt///PointingToDeclaration/-camera-kit/com.snap.camerakit/-legal-processor/-input/-prompt/index.html +$dokka.location:com.snap.camerakit/LegalProcessor.Input.Prompt/Prompt/#kotlin.String#kotlin.String/PointingToDeclaration/-camera-kit/com.snap.camerakit/-legal-processor/-input/-prompt/-prompt.html +$dokka.location:com.snap.camerakit/LegalProcessor.Input.Prompt/equals/#kotlin.Any?/PointingToDeclaration/-camera-kit/com.snap.camerakit/-legal-processor/-input/-prompt/equals.html +$dokka.location:com.snap.camerakit/LegalProcessor.Input.Prompt/hashCode/#/PointingToDeclaration/-camera-kit/com.snap.camerakit/-legal-processor/-input/-prompt/hash-code.html +$dokka.location:com.snap.camerakit/LegalProcessor.Input.Prompt/id/#/PointingToDeclaration/-camera-kit/com.snap.camerakit/-legal-processor/-input/-prompt/id.html +$dokka.location:com.snap.camerakit/LegalProcessor.Input.Prompt/message/#/PointingToDeclaration/-camera-kit/com.snap.camerakit/-legal-processor/-input/-prompt/message.html +$dokka.location:com.snap.camerakit/LegalProcessor.Input.Prompt/toString/#/PointingToDeclaration/-camera-kit/com.snap.camerakit/-legal-processor/-input/-prompt/to-string.html +$dokka.location:com.snap.camerakit/LegalProcessor.Input.RequestUpdate.ALWAYS///PointingToDeclaration/{"org.jetbrains.dokka.links.EnumEntryDRIExtra":{"key":"org.jetbrains.dokka.links.EnumEntryDRIExtra"}}-camera-kit/com.snap.camerakit/-legal-processor/-input/-request-update/-a-l-w-a-y-s/index.html +$dokka.location:com.snap.camerakit/LegalProcessor.Input.RequestUpdate.NEVER///PointingToDeclaration/{"org.jetbrains.dokka.links.EnumEntryDRIExtra":{"key":"org.jetbrains.dokka.links.EnumEntryDRIExtra"}}-camera-kit/com.snap.camerakit/-legal-processor/-input/-request-update/-n-e-v-e-r/index.html +$dokka.location:com.snap.camerakit/LegalProcessor.Input.RequestUpdate.WHEN_DISMISSED_OR_MISSING///PointingToDeclaration/{"org.jetbrains.dokka.links.EnumEntryDRIExtra":{"key":"org.jetbrains.dokka.links.EnumEntryDRIExtra"}}-camera-kit/com.snap.camerakit/-legal-processor/-input/-request-update/-w-h-e-n_-d-i-s-m-i-s-s-e-d_-o-r_-m-i-s-s-i-n-g/index.html +$dokka.location:com.snap.camerakit/LegalProcessor.Input.RequestUpdate///PointingToDeclaration/-camera-kit/com.snap.camerakit/-legal-processor/-input/-request-update/index.html +$dokka.location:com.snap.camerakit/LegalProcessor.Input.RequestUpdate/valueOf/#kotlin.String/PointingToDeclaration/-camera-kit/com.snap.camerakit/-legal-processor/-input/-request-update/value-of.html +$dokka.location:com.snap.camerakit/LegalProcessor.Input.RequestUpdate/values/#/PointingToDeclaration/-camera-kit/com.snap.camerakit/-legal-processor/-input/-request-update/values.html +$dokka.location:com.snap.camerakit/LegalProcessor.Input.Result.Accepted///PointingToDeclaration/-camera-kit/com.snap.camerakit/-legal-processor/-input/-result/-accepted/index.html +$dokka.location:com.snap.camerakit/LegalProcessor.Input.Result.Accepted/toString/#/PointingToDeclaration/-camera-kit/com.snap.camerakit/-legal-processor/-input/-result/-accepted/to-string.html +$dokka.location:com.snap.camerakit/LegalProcessor.Input.Result.Dismissed///PointingToDeclaration/-camera-kit/com.snap.camerakit/-legal-processor/-input/-result/-dismissed/index.html +$dokka.location:com.snap.camerakit/LegalProcessor.Input.Result.Dismissed/toString/#/PointingToDeclaration/-camera-kit/com.snap.camerakit/-legal-processor/-input/-result/-dismissed/to-string.html +$dokka.location:com.snap.camerakit/LegalProcessor.Input.Result.Missing///PointingToDeclaration/-camera-kit/com.snap.camerakit/-legal-processor/-input/-result/-missing/index.html +$dokka.location:com.snap.camerakit/LegalProcessor.Input.Result.Missing/toString/#/PointingToDeclaration/-camera-kit/com.snap.camerakit/-legal-processor/-input/-result/-missing/to-string.html +$dokka.location:com.snap.camerakit/LegalProcessor.Input.Result///PointingToDeclaration/-camera-kit/com.snap.camerakit/-legal-processor/-input/-result/index.html +$dokka.location:com.snap.camerakit/LegalProcessor.Input///PointingToDeclaration/-camera-kit/com.snap.camerakit/-legal-processor/-input/index.html +$dokka.location:com.snap.camerakit/LegalProcessor.Input/subscribeTo/#com.snap.camerakit.LegalProcessor.Input.Prompt#com.snap.camerakit.LegalProcessor.Input.RequestUpdate#com.snap.camerakit.common.Consumer[com.snap.camerakit.LegalProcessor.Input.Result]/PointingToDeclaration/-camera-kit/com.snap.camerakit/-legal-processor/-input/subscribe-to.html +$dokka.location:com.snap.camerakit/LegalProcessor///PointingToDeclaration/-camera-kit/com.snap.camerakit/-legal-processor/index.html +$dokka.location:com.snap.camerakit/LegalProcessor/connectInput/#com.snap.camerakit.LegalProcessor.Input/PointingToDeclaration/-camera-kit/com.snap.camerakit/-legal-processor/connect-input.html +$dokka.location:com.snap.camerakit/LegalProcessor/observe/#com.snap.camerakit.common.Consumer[com.snap.camerakit.LegalProcessor.Input.Result]/PointingToDeclaration/-camera-kit/com.snap.camerakit/-legal-processor/observe.html +$dokka.location:com.snap.camerakit/LegalProcessor/waitFor/#com.snap.camerakit.LegalProcessor.Input.RequestUpdate#com.snap.camerakit.common.Consumer[com.snap.camerakit.LegalProcessor.Input.Result]/PointingToDeclaration/-camera-kit/com.snap.camerakit/-legal-processor/wait-for.html +$dokka.location:com.snap.camerakit/LocationProcessor.Input.TrackingRequirements///PointingToDeclaration/-camera-kit/com.snap.camerakit/-location-processor/-input/-tracking-requirements/index.html +$dokka.location:com.snap.camerakit/LocationProcessor.Input.TrackingRequirements/TrackingRequirements/#kotlin.Long#java.util.concurrent.TimeUnit/PointingToDeclaration/-camera-kit/com.snap.camerakit/-location-processor/-input/-tracking-requirements/-tracking-requirements.html +$dokka.location:com.snap.camerakit/LocationProcessor.Input.TrackingRequirements/equals/#kotlin.Any?/PointingToDeclaration/-camera-kit/com.snap.camerakit/-location-processor/-input/-tracking-requirements/equals.html +$dokka.location:com.snap.camerakit/LocationProcessor.Input.TrackingRequirements/hashCode/#/PointingToDeclaration/-camera-kit/com.snap.camerakit/-location-processor/-input/-tracking-requirements/hash-code.html +$dokka.location:com.snap.camerakit/LocationProcessor.Input.TrackingRequirements/toString/#/PointingToDeclaration/-camera-kit/com.snap.camerakit/-location-processor/-input/-tracking-requirements/to-string.html +$dokka.location:com.snap.camerakit/LocationProcessor.Input.TrackingRequirements/updateInterval/#/PointingToDeclaration/-camera-kit/com.snap.camerakit/-location-processor/-input/-tracking-requirements/update-interval.html +$dokka.location:com.snap.camerakit/LocationProcessor.Input.TrackingRequirements/updateIntervalTimeUnit/#/PointingToDeclaration/-camera-kit/com.snap.camerakit/-location-processor/-input/-tracking-requirements/update-interval-time-unit.html +$dokka.location:com.snap.camerakit/LocationProcessor.Input///PointingToDeclaration/-camera-kit/com.snap.camerakit/-location-processor/-input/index.html +$dokka.location:com.snap.camerakit/LocationProcessor.Input/subscribeTo/#com.snap.camerakit.LocationProcessor.Input.TrackingRequirements#com.snap.camerakit.common.Consumer[android.location.Location]/PointingToDeclaration/-camera-kit/com.snap.camerakit/-location-processor/-input/subscribe-to.html +$dokka.location:com.snap.camerakit/LocationProcessor///PointingToDeclaration/-camera-kit/com.snap.camerakit/-location-processor/index.html +$dokka.location:com.snap.camerakit/LocationProcessor/connectInput/#com.snap.camerakit.LocationProcessor.Input/PointingToDeclaration/-camera-kit/com.snap.camerakit/-location-processor/connect-input.html +$dokka.location:com.snap.camerakit/MediaProcessor.Input.Requirements.MediaType.AllOriginal///PointingToDeclaration/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/-media-type/-all-original/index.html +$dokka.location:com.snap.camerakit/MediaProcessor.Input.Requirements.MediaType.Images.Original///PointingToDeclaration/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/-media-type/-images/-original/index.html +$dokka.location:com.snap.camerakit/MediaProcessor.Input.Requirements.MediaType.Images.WithFace///PointingToDeclaration/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/-media-type/-images/-with-face/index.html +$dokka.location:com.snap.camerakit/MediaProcessor.Input.Requirements.MediaType.Images///PointingToDeclaration/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/-media-type/-images/index.html +$dokka.location:com.snap.camerakit/MediaProcessor.Input.Requirements.MediaType.Videos.Original///PointingToDeclaration/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/-media-type/-videos/-original/index.html +$dokka.location:com.snap.camerakit/MediaProcessor.Input.Requirements.MediaType.Videos///PointingToDeclaration/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/-media-type/-videos/index.html +$dokka.location:com.snap.camerakit/MediaProcessor.Input.Requirements.MediaType///PointingToDeclaration/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/-media-type/index.html +$dokka.location:com.snap.camerakit/MediaProcessor.Input.Requirements.MultipleMediaItemsToPickFrom///PointingToDeclaration/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/-multiple-media-items-to-pick-from/index.html +$dokka.location:com.snap.camerakit/MediaProcessor.Input.Requirements.MultipleMediaItemsToPickFrom/MultipleMediaItemsToPickFrom/#kotlin.Array[com.snap.camerakit.MediaProcessor.Input.Requirements.MediaType]/PointingToDeclaration/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/-multiple-media-items-to-pick-from/-multiple-media-items-to-pick-from.html +$dokka.location:com.snap.camerakit/MediaProcessor.Input.Requirements.MultipleMediaItemsToPickFrom/MultipleMediaItemsToPickFrom/#kotlin.collections.Set[com.snap.camerakit.MediaProcessor.Input.Requirements.MediaType]/PointingToDeclaration/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/-multiple-media-items-to-pick-from/-multiple-media-items-to-pick-from.html +$dokka.location:com.snap.camerakit/MediaProcessor.Input.Requirements.MultipleMediaItemsToPickFrom/equals/#kotlin.Any?/PointingToDeclaration/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/-multiple-media-items-to-pick-from/equals.html +$dokka.location:com.snap.camerakit/MediaProcessor.Input.Requirements.MultipleMediaItemsToPickFrom/hashCode/#/PointingToDeclaration/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/-multiple-media-items-to-pick-from/hash-code.html +$dokka.location:com.snap.camerakit/MediaProcessor.Input.Requirements.MultipleMediaItemsToPickFrom/mediaType/#/PointingToDeclaration/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/-multiple-media-items-to-pick-from/media-type.html +$dokka.location:com.snap.camerakit/MediaProcessor.Input.Requirements.MultipleMediaItemsToPickFrom/mediaTypes/#/PointingToDeclaration/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/-multiple-media-items-to-pick-from/media-types.html +$dokka.location:com.snap.camerakit/MediaProcessor.Input.Requirements.MultipleMediaItemsToPickFrom/toString/#/PointingToDeclaration/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/-multiple-media-items-to-pick-from/to-string.html +$dokka.location:com.snap.camerakit/MediaProcessor.Input.Requirements.SingleMediaItem///PointingToDeclaration/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/-single-media-item/index.html +$dokka.location:com.snap.camerakit/MediaProcessor.Input.Requirements.SingleMediaItem/SingleMediaItem/#kotlin.Array[com.snap.camerakit.MediaProcessor.Input.Requirements.MediaType]/PointingToDeclaration/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/-single-media-item/-single-media-item.html +$dokka.location:com.snap.camerakit/MediaProcessor.Input.Requirements.SingleMediaItem/SingleMediaItem/#kotlin.collections.Set[com.snap.camerakit.MediaProcessor.Input.Requirements.MediaType]/PointingToDeclaration/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/-single-media-item/-single-media-item.html +$dokka.location:com.snap.camerakit/MediaProcessor.Input.Requirements.SingleMediaItem/equals/#kotlin.Any?/PointingToDeclaration/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/-single-media-item/equals.html +$dokka.location:com.snap.camerakit/MediaProcessor.Input.Requirements.SingleMediaItem/hashCode/#/PointingToDeclaration/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/-single-media-item/hash-code.html +$dokka.location:com.snap.camerakit/MediaProcessor.Input.Requirements.SingleMediaItem/mediaType/#/PointingToDeclaration/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/-single-media-item/media-type.html +$dokka.location:com.snap.camerakit/MediaProcessor.Input.Requirements.SingleMediaItem/mediaTypes/#/PointingToDeclaration/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/-single-media-item/media-types.html +$dokka.location:com.snap.camerakit/MediaProcessor.Input.Requirements.SingleMediaItem/toString/#/PointingToDeclaration/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/-single-media-item/to-string.html +$dokka.location:com.snap.camerakit/MediaProcessor.Input.Requirements///PointingToDeclaration/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/index.html +$dokka.location:com.snap.camerakit/MediaProcessor.Input.Result.WithMediaItemsToPickFrom///PointingToDeclaration/-camera-kit/com.snap.camerakit/-media-processor/-input/-result/-with-media-items-to-pick-from/index.html +$dokka.location:com.snap.camerakit/MediaProcessor.Input.Result.WithMediaItemsToPickFrom/WithMediaItemsToPickFrom/#kotlin.collections.List[com.snap.camerakit.MediaProcessor.Media]#java.lang.Runnable?/PointingToDeclaration/-camera-kit/com.snap.camerakit/-media-processor/-input/-result/-with-media-items-to-pick-from/-with-media-items-to-pick-from.html +$dokka.location:com.snap.camerakit/MediaProcessor.Input.Result.WithMediaItemsToPickFrom/equals/#kotlin.Any?/PointingToDeclaration/-camera-kit/com.snap.camerakit/-media-processor/-input/-result/-with-media-items-to-pick-from/equals.html +$dokka.location:com.snap.camerakit/MediaProcessor.Input.Result.WithMediaItemsToPickFrom/hashCode/#/PointingToDeclaration/-camera-kit/com.snap.camerakit/-media-processor/-input/-result/-with-media-items-to-pick-from/hash-code.html +$dokka.location:com.snap.camerakit/MediaProcessor.Input.Result.WithMediaItemsToPickFrom/items/#/PointingToDeclaration/-camera-kit/com.snap.camerakit/-media-processor/-input/-result/-with-media-items-to-pick-from/items.html +$dokka.location:com.snap.camerakit/MediaProcessor.Input.Result.WithMediaItemsToPickFrom/requestMore/#/PointingToDeclaration/-camera-kit/com.snap.camerakit/-media-processor/-input/-result/-with-media-items-to-pick-from/request-more.html +$dokka.location:com.snap.camerakit/MediaProcessor.Input.Result.WithMediaItemsToPickFrom/toString/#/PointingToDeclaration/-camera-kit/com.snap.camerakit/-media-processor/-input/-result/-with-media-items-to-pick-from/to-string.html +$dokka.location:com.snap.camerakit/MediaProcessor.Input.Result.WithSingleMediaItem///PointingToDeclaration/-camera-kit/com.snap.camerakit/-media-processor/-input/-result/-with-single-media-item/index.html +$dokka.location:com.snap.camerakit/MediaProcessor.Input.Result.WithSingleMediaItem/WithSingleMediaItem/#com.snap.camerakit.MediaProcessor.Media/PointingToDeclaration/-camera-kit/com.snap.camerakit/-media-processor/-input/-result/-with-single-media-item/-with-single-media-item.html +$dokka.location:com.snap.camerakit/MediaProcessor.Input.Result.WithSingleMediaItem/equals/#kotlin.Any?/PointingToDeclaration/-camera-kit/com.snap.camerakit/-media-processor/-input/-result/-with-single-media-item/equals.html +$dokka.location:com.snap.camerakit/MediaProcessor.Input.Result.WithSingleMediaItem/hashCode/#/PointingToDeclaration/-camera-kit/com.snap.camerakit/-media-processor/-input/-result/-with-single-media-item/hash-code.html +$dokka.location:com.snap.camerakit/MediaProcessor.Input.Result.WithSingleMediaItem/item/#/PointingToDeclaration/-camera-kit/com.snap.camerakit/-media-processor/-input/-result/-with-single-media-item/item.html +$dokka.location:com.snap.camerakit/MediaProcessor.Input.Result.WithSingleMediaItem/toString/#/PointingToDeclaration/-camera-kit/com.snap.camerakit/-media-processor/-input/-result/-with-single-media-item/to-string.html +$dokka.location:com.snap.camerakit/MediaProcessor.Input.Result///PointingToDeclaration/-camera-kit/com.snap.camerakit/-media-processor/-input/-result/index.html +$dokka.location:com.snap.camerakit/MediaProcessor.Input///PointingToDeclaration/-camera-kit/com.snap.camerakit/-media-processor/-input/index.html +$dokka.location:com.snap.camerakit/MediaProcessor.Input/subscribeTo/#com.snap.camerakit.MediaProcessor.Input.Requirements#com.snap.camerakit.common.Consumer[com.snap.camerakit.MediaProcessor.Input.Result]/PointingToDeclaration/-camera-kit/com.snap.camerakit/-media-processor/-input/subscribe-to.html +$dokka.location:com.snap.camerakit/MediaProcessor.Media.Image.Face///PointingToDeclaration/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-face/index.html +$dokka.location:com.snap.camerakit/MediaProcessor.Media.Image.Face/Face/#kotlin.Float#kotlin.Float#kotlin.Float#kotlin.Float/PointingToDeclaration/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-face/-face.html +$dokka.location:com.snap.camerakit/MediaProcessor.Media.Image.Face/equals/#kotlin.Any?/PointingToDeclaration/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-face/equals.html +$dokka.location:com.snap.camerakit/MediaProcessor.Media.Image.Face/hashCode/#/PointingToDeclaration/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-face/hash-code.html +$dokka.location:com.snap.camerakit/MediaProcessor.Media.Image.Face/height/#/PointingToDeclaration/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-face/height.html +$dokka.location:com.snap.camerakit/MediaProcessor.Media.Image.Face/toString/#/PointingToDeclaration/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-face/to-string.html +$dokka.location:com.snap.camerakit/MediaProcessor.Media.Image.Face/width/#/PointingToDeclaration/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-face/width.html +$dokka.location:com.snap.camerakit/MediaProcessor.Media.Image.Face/x/#/PointingToDeclaration/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-face/x.html +$dokka.location:com.snap.camerakit/MediaProcessor.Media.Image.Face/y/#/PointingToDeclaration/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-face/y.html +$dokka.location:com.snap.camerakit/MediaProcessor.Media.Image.Original.ByUri///PointingToDeclaration/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-original/-by-uri/index.html +$dokka.location:com.snap.camerakit/MediaProcessor.Media.Image.Original.ByUri/ByUri/#android.net.Uri#kotlin.Int#kotlin.Int#kotlin.Int/PointingToDeclaration/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-original/-by-uri/-by-uri.html +$dokka.location:com.snap.camerakit/MediaProcessor.Media.Image.Original.ByUri/equals/#kotlin.Any?/PointingToDeclaration/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-original/-by-uri/equals.html +$dokka.location:com.snap.camerakit/MediaProcessor.Media.Image.Original.ByUri/hashCode/#/PointingToDeclaration/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-original/-by-uri/hash-code.html +$dokka.location:com.snap.camerakit/MediaProcessor.Media.Image.Original.ByUri/height/#/PointingToDeclaration/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-original/-by-uri/height.html +$dokka.location:com.snap.camerakit/MediaProcessor.Media.Image.Original.ByUri/rotationDegrees/#/PointingToDeclaration/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-original/-by-uri/rotation-degrees.html +$dokka.location:com.snap.camerakit/MediaProcessor.Media.Image.Original.ByUri/toString/#/PointingToDeclaration/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-original/-by-uri/to-string.html +$dokka.location:com.snap.camerakit/MediaProcessor.Media.Image.Original.ByUri/uri/#/PointingToDeclaration/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-original/-by-uri/uri.html +$dokka.location:com.snap.camerakit/MediaProcessor.Media.Image.Original.ByUri/width/#/PointingToDeclaration/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-original/-by-uri/width.html +$dokka.location:com.snap.camerakit/MediaProcessor.Media.Image.Original///PointingToDeclaration/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-original/index.html +$dokka.location:com.snap.camerakit/MediaProcessor.Media.Image.WithFace///PointingToDeclaration/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-with-face/index.html +$dokka.location:com.snap.camerakit/MediaProcessor.Media.Image.WithFace/WithFace/#com.snap.camerakit.MediaProcessor.Media.Image.Original#com.snap.camerakit.MediaProcessor.Media.Image.Face/PointingToDeclaration/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-with-face/-with-face.html +$dokka.location:com.snap.camerakit/MediaProcessor.Media.Image.WithFace/equals/#kotlin.Any?/PointingToDeclaration/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-with-face/equals.html +$dokka.location:com.snap.camerakit/MediaProcessor.Media.Image.WithFace/face/#/PointingToDeclaration/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-with-face/face.html +$dokka.location:com.snap.camerakit/MediaProcessor.Media.Image.WithFace/hashCode/#/PointingToDeclaration/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-with-face/hash-code.html +$dokka.location:com.snap.camerakit/MediaProcessor.Media.Image.WithFace/image/#/PointingToDeclaration/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-with-face/image.html +$dokka.location:com.snap.camerakit/MediaProcessor.Media.Image.WithFace/toString/#/PointingToDeclaration/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-with-face/to-string.html +$dokka.location:com.snap.camerakit/MediaProcessor.Media.Image///PointingToDeclaration/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/index.html +$dokka.location:com.snap.camerakit/MediaProcessor.Media.Video.Original.ByUri///PointingToDeclaration/-camera-kit/com.snap.camerakit/-media-processor/-media/-video/-original/-by-uri/index.html +$dokka.location:com.snap.camerakit/MediaProcessor.Media.Video.Original.ByUri/ByUri/#android.net.Uri#kotlin.Long/PointingToDeclaration/-camera-kit/com.snap.camerakit/-media-processor/-media/-video/-original/-by-uri/-by-uri.html +$dokka.location:com.snap.camerakit/MediaProcessor.Media.Video.Original.ByUri/durationInMillis/#/PointingToDeclaration/-camera-kit/com.snap.camerakit/-media-processor/-media/-video/-original/-by-uri/duration-in-millis.html +$dokka.location:com.snap.camerakit/MediaProcessor.Media.Video.Original.ByUri/equals/#kotlin.Any?/PointingToDeclaration/-camera-kit/com.snap.camerakit/-media-processor/-media/-video/-original/-by-uri/equals.html +$dokka.location:com.snap.camerakit/MediaProcessor.Media.Video.Original.ByUri/hashCode/#/PointingToDeclaration/-camera-kit/com.snap.camerakit/-media-processor/-media/-video/-original/-by-uri/hash-code.html +$dokka.location:com.snap.camerakit/MediaProcessor.Media.Video.Original.ByUri/toString/#/PointingToDeclaration/-camera-kit/com.snap.camerakit/-media-processor/-media/-video/-original/-by-uri/to-string.html +$dokka.location:com.snap.camerakit/MediaProcessor.Media.Video.Original.ByUri/uri/#/PointingToDeclaration/-camera-kit/com.snap.camerakit/-media-processor/-media/-video/-original/-by-uri/uri.html +$dokka.location:com.snap.camerakit/MediaProcessor.Media.Video.Original///PointingToDeclaration/-camera-kit/com.snap.camerakit/-media-processor/-media/-video/-original/index.html +$dokka.location:com.snap.camerakit/MediaProcessor.Media.Video///PointingToDeclaration/-camera-kit/com.snap.camerakit/-media-processor/-media/-video/index.html +$dokka.location:com.snap.camerakit/MediaProcessor.Media///PointingToDeclaration/-camera-kit/com.snap.camerakit/-media-processor/-media/index.html +$dokka.location:com.snap.camerakit/MediaProcessor///PointingToDeclaration/-camera-kit/com.snap.camerakit/-media-processor/index.html +$dokka.location:com.snap.camerakit/MediaProcessor/connectInput/#com.snap.camerakit.MediaProcessor.Input/PointingToDeclaration/-camera-kit/com.snap.camerakit/-media-processor/connect-input.html +$dokka.location:com.snap.camerakit/Processor///PointingToDeclaration/-camera-kit/com.snap.camerakit/-processor/index.html +$dokka.location:com.snap.camerakit/SafeRenderAreaProcessor.Input///PointingToDeclaration/-camera-kit/com.snap.camerakit/-safe-render-area-processor/-input/index.html +$dokka.location:com.snap.camerakit/SafeRenderAreaProcessor.Input/subscribeTo/#com.snap.camerakit.common.Consumer[android.graphics.Rect]/PointingToDeclaration/-camera-kit/com.snap.camerakit/-safe-render-area-processor/-input/subscribe-to.html +$dokka.location:com.snap.camerakit/SafeRenderAreaProcessor///PointingToDeclaration/-camera-kit/com.snap.camerakit/-safe-render-area-processor/index.html +$dokka.location:com.snap.camerakit/SafeRenderAreaProcessor/connectInput/#com.snap.camerakit.SafeRenderAreaProcessor.Input/PointingToDeclaration/-camera-kit/com.snap.camerakit/-safe-render-area-processor/connect-input.html +$dokka.location:com.snap.camerakit/Session.Builder///PointingToDeclaration/-camera-kit/com.snap.camerakit/-session/-builder/index.html +$dokka.location:com.snap.camerakit/Session.Builder/apiToken/#kotlin.String?/PointingToDeclaration/-camera-kit/com.snap.camerakit/-session/-builder/api-token.html +$dokka.location:com.snap.camerakit/Session.Builder/applicationId/#kotlin.String?/PointingToDeclaration/-camera-kit/com.snap.camerakit/-session/-builder/application-id.html +$dokka.location:com.snap.camerakit/Session.Builder/attachTo/#android.view.ViewStub#kotlin.Boolean/PointingToDeclaration/-camera-kit/com.snap.camerakit/-session/-builder/attach-to.html +$dokka.location:com.snap.camerakit/Session.Builder/attachTo/#android.view.ViewStub?/PointingToDeclaration/-camera-kit/com.snap.camerakit/-session/-builder/attach-to.html +$dokka.location:com.snap.camerakit/Session.Builder/audioProcessorSource/#com.snap.camerakit.Source[com.snap.camerakit.AudioProcessor]/PointingToDeclaration/-camera-kit/com.snap.camerakit/-session/-builder/audio-processor-source.html +$dokka.location:com.snap.camerakit/Session.Builder/build/#/PointingToDeclaration/-camera-kit/com.snap.camerakit/-session/-builder/build.html +$dokka.location:com.snap.camerakit/Session.Builder/configureLenses/#com.snap.camerakit.common.Consumer[com.snap.camerakit.lenses.LensesComponent.Builder]/PointingToDeclaration/-camera-kit/com.snap.camerakit/-session/-builder/configure-lenses.html +$dokka.location:com.snap.camerakit/Session.Builder/configureWith/#kotlin.String#kotlin.String/PointingToDeclaration/-camera-kit/com.snap.camerakit/-session/-builder/configure-with.html +$dokka.location:com.snap.camerakit/Session.Builder/handleErrorsWith/#com.snap.camerakit.common.Consumer[kotlin.Throwable]/PointingToDeclaration/-camera-kit/com.snap.camerakit/-session/-builder/handle-errors-with.html +$dokka.location:com.snap.camerakit/Session.Builder/imageProcessorSource/#com.snap.camerakit.Source[com.snap.camerakit.ImageProcessor]/PointingToDeclaration/-camera-kit/com.snap.camerakit/-session/-builder/image-processor-source.html +$dokka.location:com.snap.camerakit/Session.Builder/legalProcessorSource/#com.snap.camerakit.Source[com.snap.camerakit.LegalProcessor]/PointingToDeclaration/-camera-kit/com.snap.camerakit/-session/-builder/legal-processor-source.html +$dokka.location:com.snap.camerakit/Session.Builder/locationProcessorSource/#com.snap.camerakit.Source[com.snap.camerakit.LocationProcessor]/PointingToDeclaration/-camera-kit/com.snap.camerakit/-session/-builder/location-processor-source.html +$dokka.location:com.snap.camerakit/Session.Builder/mediaProcessorSource/#com.snap.camerakit.Source[com.snap.camerakit.MediaProcessor]/PointingToDeclaration/-camera-kit/com.snap.camerakit/-session/-builder/media-processor-source.html +$dokka.location:com.snap.camerakit/Session.Builder/safeRenderAreaProcessorSource/#com.snap.camerakit.Source[com.snap.camerakit.SafeRenderAreaProcessor]/PointingToDeclaration/-camera-kit/com.snap.camerakit/-session/-builder/safe-render-area-processor-source.html +$dokka.location:com.snap.camerakit/Session.Builder/userProcessorSource/#com.snap.camerakit.Source[com.snap.camerakit.UserProcessor]/PointingToDeclaration/-camera-kit/com.snap.camerakit/-session/-builder/user-processor-source.html +$dokka.location:com.snap.camerakit/Session.Companion///PointingToDeclaration/-camera-kit/com.snap.camerakit/-session/-companion/index.html +$dokka.location:com.snap.camerakit/Session.Processor///PointingToDeclaration/-camera-kit/com.snap.camerakit/-session/-processor/index.html +$dokka.location:com.snap.camerakit/Session///PointingToDeclaration/-camera-kit/com.snap.camerakit/-session/index.html +$dokka.location:com.snap.camerakit/Session/adjustments/#/PointingToDeclaration/-camera-kit/com.snap.camerakit/-session/adjustments.html +$dokka.location:com.snap.camerakit/Session/close/#/PointingToDeclaration/-camera-kit/com.snap.camerakit/-session/close.html +$dokka.location:com.snap.camerakit/Session/lenses/#/PointingToDeclaration/-camera-kit/com.snap.camerakit/-session/lenses.html +$dokka.location:com.snap.camerakit/Session/processor/#/PointingToDeclaration/-camera-kit/com.snap.camerakit/-session/processor.html +$dokka.location:com.snap.camerakit/Source.Noop///PointingToDeclaration/-camera-kit/com.snap.camerakit/-source/-noop/index.html +$dokka.location:com.snap.camerakit/Source.Noop/attach/#com.snap.camerakit.Processor/PointingToDeclaration/-camera-kit/com.snap.camerakit/-source/-noop/attach.html +$dokka.location:com.snap.camerakit/Source.Noop/get/#/PointingToDeclaration/-camera-kit/com.snap.camerakit/-source/-noop/get.html +$dokka.location:com.snap.camerakit/Source///PointingToDeclaration/-camera-kit/com.snap.camerakit/-source/index.html +$dokka.location:com.snap.camerakit/Source/attach/#TypeParam(bounds=[com.snap.camerakit.Processor])/PointingToDeclaration/-camera-kit/com.snap.camerakit/-source/attach.html +$dokka.location:com.snap.camerakit/UnauthorizedApplicationException///PointingToDeclaration/-camera-kit/com.snap.camerakit/-unauthorized-application-exception/index.html +$dokka.location:com.snap.camerakit/UnauthorizedApplicationException/UnauthorizedApplicationException/#kotlin.String#kotlin.String#kotlin.String?/PointingToDeclaration/-camera-kit/com.snap.camerakit/-unauthorized-application-exception/-unauthorized-application-exception.html +$dokka.location:com.snap.camerakit/UnauthorizedApplicationException/UnauthorizedApplicationException/#kotlin.String#kotlin.String?/PointingToDeclaration/-camera-kit/com.snap.camerakit/-unauthorized-application-exception/-unauthorized-application-exception.html +$dokka.location:com.snap.camerakit/UnauthorizedApplicationException/apiToken/#/PointingToDeclaration/-camera-kit/com.snap.camerakit/-unauthorized-application-exception/api-token.html +$dokka.location:com.snap.camerakit/UnauthorizedApplicationException/applicationId/#/PointingToDeclaration/-camera-kit/com.snap.camerakit/-unauthorized-application-exception/application-id.html +$dokka.location:com.snap.camerakit/UnauthorizedApplicationException/equals/#kotlin.Any?/PointingToDeclaration/-camera-kit/com.snap.camerakit/-unauthorized-application-exception/equals.html +$dokka.location:com.snap.camerakit/UnauthorizedApplicationException/hashCode/#/PointingToDeclaration/-camera-kit/com.snap.camerakit/-unauthorized-application-exception/hash-code.html +$dokka.location:com.snap.camerakit/UnauthorizedApplicationException/packageName/#/PointingToDeclaration/-camera-kit/com.snap.camerakit/-unauthorized-application-exception/package-name.html +$dokka.location:com.snap.camerakit/UserProcessor.Input.User///PointingToDeclaration/-camera-kit/com.snap.camerakit/-user-processor/-input/-user/index.html +$dokka.location:com.snap.camerakit/UserProcessor.Input.User/User/#kotlin.String?#java.util.Date?/PointingToDeclaration/-camera-kit/com.snap.camerakit/-user-processor/-input/-user/-user.html +$dokka.location:com.snap.camerakit/UserProcessor.Input.User/birthDate/#/PointingToDeclaration/-camera-kit/com.snap.camerakit/-user-processor/-input/-user/birth-date.html +$dokka.location:com.snap.camerakit/UserProcessor.Input.User/displayName/#/PointingToDeclaration/-camera-kit/com.snap.camerakit/-user-processor/-input/-user/display-name.html +$dokka.location:com.snap.camerakit/UserProcessor.Input.User/equals/#kotlin.Any?/PointingToDeclaration/-camera-kit/com.snap.camerakit/-user-processor/-input/-user/equals.html +$dokka.location:com.snap.camerakit/UserProcessor.Input.User/hashCode/#/PointingToDeclaration/-camera-kit/com.snap.camerakit/-user-processor/-input/-user/hash-code.html +$dokka.location:com.snap.camerakit/UserProcessor.Input.User/toString/#/PointingToDeclaration/-camera-kit/com.snap.camerakit/-user-processor/-input/-user/to-string.html +$dokka.location:com.snap.camerakit/UserProcessor.Input///PointingToDeclaration/-camera-kit/com.snap.camerakit/-user-processor/-input/index.html +$dokka.location:com.snap.camerakit/UserProcessor.Input/subscribeTo/#com.snap.camerakit.common.Consumer[com.snap.camerakit.UserProcessor.Input.User]/PointingToDeclaration/-camera-kit/com.snap.camerakit/-user-processor/-input/subscribe-to.html +$dokka.location:com.snap.camerakit/UserProcessor///PointingToDeclaration/-camera-kit/com.snap.camerakit/-user-processor/index.html +$dokka.location:com.snap.camerakit/UserProcessor/connectInput/#com.snap.camerakit.UserProcessor.Input/PointingToDeclaration/-camera-kit/com.snap.camerakit/-user-processor/connect-input.html +$dokka.location:com.snap.camerakit/Version.Companion///PointingToDeclaration/-camera-kit/com.snap.camerakit/-version/-companion/index.html +$dokka.location:com.snap.camerakit/Version///PointingToDeclaration/-camera-kit/com.snap.camerakit/-version/index.html +$dokka.location:com.snap.camerakit/Version/Version/#kotlin.Int#kotlin.Int#kotlin.Int#kotlin.String?/PointingToDeclaration/-camera-kit/com.snap.camerakit/-version/-version.html +$dokka.location:com.snap.camerakit/Version/compareTo/#com.snap.camerakit.Version/PointingToDeclaration/-camera-kit/com.snap.camerakit/-version/compare-to.html +$dokka.location:com.snap.camerakit/Version/equals/#kotlin.Any?/PointingToDeclaration/-camera-kit/com.snap.camerakit/-version/equals.html +$dokka.location:com.snap.camerakit/Version/hashCode/#/PointingToDeclaration/-camera-kit/com.snap.camerakit/-version/hash-code.html +$dokka.location:com.snap.camerakit/Version/major/#/PointingToDeclaration/-camera-kit/com.snap.camerakit/-version/major.html +$dokka.location:com.snap.camerakit/Version/minor/#/PointingToDeclaration/-camera-kit/com.snap.camerakit/-version/minor.html +$dokka.location:com.snap.camerakit/Version/patch/#/PointingToDeclaration/-camera-kit/com.snap.camerakit/-version/patch.html +$dokka.location:com.snap.camerakit/Version/qualifier/#/PointingToDeclaration/-camera-kit/com.snap.camerakit/-version/qualifier.html +$dokka.location:com.snap.camerakit/Version/toString/#/PointingToDeclaration/-camera-kit/com.snap.camerakit/-version/to-string.html +com.snap.camerakit +com.snap.camerakit.adjustments +com.snap.camerakit.common +com.snap.camerakit.lenses + diff --git a/docs/api/android/1.36.1/images/anchor-copy-button.svg b/docs/api/android/1.36.1/images/anchor-copy-button.svg new file mode 100644 index 000000000..bab9d747f --- /dev/null +++ b/docs/api/android/1.36.1/images/anchor-copy-button.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/docs/api/android/1.36.1/images/arrow_down.svg b/docs/api/android/1.36.1/images/arrow_down.svg new file mode 100644 index 000000000..c0388dee2 --- /dev/null +++ b/docs/api/android/1.36.1/images/arrow_down.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/docs/api/android/1.36.1/images/copy-icon.svg b/docs/api/android/1.36.1/images/copy-icon.svg new file mode 100644 index 000000000..61440f0a4 --- /dev/null +++ b/docs/api/android/1.36.1/images/copy-icon.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/docs/api/android/1.36.1/images/copy-successful-icon.svg b/docs/api/android/1.36.1/images/copy-successful-icon.svg new file mode 100644 index 000000000..1865f739b --- /dev/null +++ b/docs/api/android/1.36.1/images/copy-successful-icon.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/docs/api/android/1.36.1/images/footer-go-to-link.svg b/docs/api/android/1.36.1/images/footer-go-to-link.svg new file mode 100644 index 000000000..0137e2231 --- /dev/null +++ b/docs/api/android/1.36.1/images/footer-go-to-link.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/docs/api/android/1.36.1/images/go-to-top-icon.svg b/docs/api/android/1.36.1/images/go-to-top-icon.svg new file mode 100644 index 000000000..d987f3ead --- /dev/null +++ b/docs/api/android/1.36.1/images/go-to-top-icon.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/docs/api/android/1.36.1/images/logo-icon.svg b/docs/api/android/1.36.1/images/logo-icon.svg new file mode 100644 index 000000000..1fea08773 --- /dev/null +++ b/docs/api/android/1.36.1/images/logo-icon.svg @@ -0,0 +1,10 @@ + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/android/1.36.1/images/nav-icons/abstract-class-kotlin.svg b/docs/api/android/1.36.1/images/nav-icons/abstract-class-kotlin.svg new file mode 100644 index 000000000..a2069b8fb --- /dev/null +++ b/docs/api/android/1.36.1/images/nav-icons/abstract-class-kotlin.svg @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/api/android/1.36.1/images/nav-icons/abstract-class.svg b/docs/api/android/1.36.1/images/nav-icons/abstract-class.svg new file mode 100644 index 000000000..601820302 --- /dev/null +++ b/docs/api/android/1.36.1/images/nav-icons/abstract-class.svg @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/docs/api/android/1.36.1/images/nav-icons/annotation-kotlin.svg b/docs/api/android/1.36.1/images/nav-icons/annotation-kotlin.svg new file mode 100644 index 000000000..932f1d3de --- /dev/null +++ b/docs/api/android/1.36.1/images/nav-icons/annotation-kotlin.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/docs/api/android/1.36.1/images/nav-icons/annotation.svg b/docs/api/android/1.36.1/images/nav-icons/annotation.svg new file mode 100644 index 000000000..b80c54b4b --- /dev/null +++ b/docs/api/android/1.36.1/images/nav-icons/annotation.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/docs/api/android/1.36.1/images/nav-icons/class-kotlin.svg b/docs/api/android/1.36.1/images/nav-icons/class-kotlin.svg new file mode 100644 index 000000000..46a21f65a --- /dev/null +++ b/docs/api/android/1.36.1/images/nav-icons/class-kotlin.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/docs/api/android/1.36.1/images/nav-icons/class.svg b/docs/api/android/1.36.1/images/nav-icons/class.svg new file mode 100644 index 000000000..3f1ad167e --- /dev/null +++ b/docs/api/android/1.36.1/images/nav-icons/class.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/docs/api/android/1.36.1/images/nav-icons/enum-kotlin.svg b/docs/api/android/1.36.1/images/nav-icons/enum-kotlin.svg new file mode 100644 index 000000000..4a8545968 --- /dev/null +++ b/docs/api/android/1.36.1/images/nav-icons/enum-kotlin.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/docs/api/android/1.36.1/images/nav-icons/enum.svg b/docs/api/android/1.36.1/images/nav-icons/enum.svg new file mode 100644 index 000000000..fa7f24766 --- /dev/null +++ b/docs/api/android/1.36.1/images/nav-icons/enum.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/docs/api/android/1.36.1/images/nav-icons/exception-class.svg b/docs/api/android/1.36.1/images/nav-icons/exception-class.svg new file mode 100644 index 000000000..c0b2bdeba --- /dev/null +++ b/docs/api/android/1.36.1/images/nav-icons/exception-class.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/docs/api/android/1.36.1/images/nav-icons/field-value.svg b/docs/api/android/1.36.1/images/nav-icons/field-value.svg new file mode 100644 index 000000000..20449c947 --- /dev/null +++ b/docs/api/android/1.36.1/images/nav-icons/field-value.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/docs/api/android/1.36.1/images/nav-icons/field-variable.svg b/docs/api/android/1.36.1/images/nav-icons/field-variable.svg new file mode 100644 index 000000000..3b0745007 --- /dev/null +++ b/docs/api/android/1.36.1/images/nav-icons/field-variable.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/docs/api/android/1.36.1/images/nav-icons/function.svg b/docs/api/android/1.36.1/images/nav-icons/function.svg new file mode 100644 index 000000000..f0da64a0b --- /dev/null +++ b/docs/api/android/1.36.1/images/nav-icons/function.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/docs/api/android/1.36.1/images/nav-icons/interface-kotlin.svg b/docs/api/android/1.36.1/images/nav-icons/interface-kotlin.svg new file mode 100644 index 000000000..bf07a1488 --- /dev/null +++ b/docs/api/android/1.36.1/images/nav-icons/interface-kotlin.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/docs/api/android/1.36.1/images/nav-icons/interface.svg b/docs/api/android/1.36.1/images/nav-icons/interface.svg new file mode 100644 index 000000000..32063ba26 --- /dev/null +++ b/docs/api/android/1.36.1/images/nav-icons/interface.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/docs/api/android/1.36.1/images/nav-icons/object.svg b/docs/api/android/1.36.1/images/nav-icons/object.svg new file mode 100644 index 000000000..9f427de41 --- /dev/null +++ b/docs/api/android/1.36.1/images/nav-icons/object.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/docs/api/android/1.36.1/images/theme-toggle.svg b/docs/api/android/1.36.1/images/theme-toggle.svg new file mode 100644 index 000000000..2a8d750ea --- /dev/null +++ b/docs/api/android/1.36.1/images/theme-toggle.svg @@ -0,0 +1,4 @@ + + + \ No newline at end of file diff --git a/docs/api/android/1.36.1/index.html b/docs/api/android/1.36.1/index.html new file mode 100644 index 000000000..7947564dc --- /dev/null +++ b/docs/api/android/1.36.1/index.html @@ -0,0 +1,126 @@ + + + + + CameraKit + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

CameraKit

+
+

Packages

+
+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
+
+
+ +
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
+
+
+ +
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
+
+
+ +
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
+
+
+
+
+ +
+
+ + diff --git a/docs/api/android/1.36.1/navigation.html b/docs/api/android/1.36.1/navigation.html new file mode 100644 index 000000000..d7011008b --- /dev/null +++ b/docs/api/android/1.36.1/navigation.html @@ -0,0 +1,788 @@ +
+ +
+ + +
+ +
+ +
+ +
+
+
+ + + + + + +
+ +
+ +
+ +
+ +
+ +
+ +
+
+ +
+
+ +
+
+
+
+ + +
+ + +
+ +
+ +
+ +
+
+ +
+ +
+
+
+ +
+
+
+ +
+ +
+ +
+
+
+
+
+ + + + + +
+ +
+ +
+ +
+ +
+
+ +
+
+ +
+
+
+ +
+ +
+
+ + + + +
+ +
+ +
+ +
+
+
+
+ +
+ +
+
+ +
+ + +
+ + +
+ +
+ +
+ +
+ +
+ +
+
+ +
+
+
+
+ +
+
+
+ +
+
+ + +
+
+ + +
+ +
+ +
+ +
+
+ +
+
+ +
+ +
+ +
+ +
+
+ +
+
+ +
+
+
+ +
+
+ +
+ +
+
+ +
+
+
+ + +
+ +
+ +
+
+ +
+
+ +
+ +
+
+ +
+ +
+
+
+ +
+ +
+
+ +
+
+
+
+
+ + +
+ +
+ +
+ +
+
+ +
+
+
+
+
+ +
+ +
+
+ +
+ +
+
+ +
+
+
+ +
+ +
+
+ +
+
+ +
+
+
+ +
+ +
+
+ +
+ +
+
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+ + +
+ + +
+ +
+ +
+
+ +
+
+
+ +
+ +
+
+ +
+
+
+
+
+ +
+
+ +
+ +
+
+
+ +
+ +
+
+ +
+ +
+
+ +
+
+ +
+
+
+ +
+ +
+ +
+ +
+
+ +
+
+ +
+
+
+ +
+
+ +
+ +
+
+
+ +
+
+ +
+ +
+
+ +
+ +
+
+ +
+ +
+
+ +
+
+
+ +
+ +
+
+ +
+
+
+
+ + + + + + + + + + +
+
+ diff --git a/docs/api/android/1.36.1/scripts/clipboard.js b/docs/api/android/1.36.1/scripts/clipboard.js new file mode 100644 index 000000000..b00ce246e --- /dev/null +++ b/docs/api/android/1.36.1/scripts/clipboard.js @@ -0,0 +1,52 @@ +window.addEventListener('load', () => { + document.querySelectorAll('span.copy-icon').forEach(element => { + element.addEventListener('click', (el) => copyElementsContentToClipboard(element)); + }) + + document.querySelectorAll('span.anchor-icon').forEach(element => { + element.addEventListener('click', (el) => { + if(element.hasAttribute('pointing-to')){ + const location = hrefWithoutCurrentlyUsedAnchor() + '#' + element.getAttribute('pointing-to') + copyTextToClipboard(element, location) + } + }); + }) +}) + +const copyElementsContentToClipboard = (element) => { + const selection = window.getSelection(); + const range = document.createRange(); + range.selectNodeContents(element.parentNode.parentNode); + selection.removeAllRanges(); + selection.addRange(range); + + copyAndShowPopup(element, () => selection.removeAllRanges()) +} + +const copyTextToClipboard = (element, text) => { + var textarea = document.createElement("textarea"); + textarea.textContent = text; + textarea.style.position = "fixed"; + document.body.appendChild(textarea); + textarea.select(); + + copyAndShowPopup(element, () => document.body.removeChild(textarea)) +} + +const copyAndShowPopup = (element, after) => { + try { + document.execCommand('copy'); + element.nextElementSibling.classList.add('active-popup'); + setTimeout(() => { + element.nextElementSibling.classList.remove('active-popup'); + }, 1200); + } catch (e) { + console.error('Failed to write to clipboard:', e) + } + finally { + if(after) after() + } +} + +const hrefWithoutCurrentlyUsedAnchor = () => window.location.href.split('#')[0] + diff --git a/docs/api/android/1.36.1/scripts/main.js b/docs/api/android/1.36.1/scripts/main.js new file mode 100644 index 000000000..ca7ae018d --- /dev/null +++ b/docs/api/android/1.36.1/scripts/main.js @@ -0,0 +1,44 @@ +(()=>{var e={8527:e=>{e.exports=''},5570:e=>{e.exports=''},107:e=>{e.exports=''},7224:e=>{e.exports=''},538:e=>{e.exports=''},1924:(e,n,t)=>{"use strict";var r=t(210),o=t(5559),i=o(r("String.prototype.indexOf"));e.exports=function(e,n){var t=r(e,!!n);return"function"==typeof t&&i(e,".prototype.")>-1?o(t):t}},5559:(e,n,t)=>{"use strict";var r=t(8612),o=t(210),i=o("%Function.prototype.apply%"),a=o("%Function.prototype.call%"),l=o("%Reflect.apply%",!0)||r.call(a,i),c=o("%Object.getOwnPropertyDescriptor%",!0),u=o("%Object.defineProperty%",!0),s=o("%Math.max%");if(u)try{u({},"a",{value:1})}catch(e){u=null}e.exports=function(e){var n=l(r,a,arguments);if(c&&u){var t=c(n,"length");t.configurable&&u(n,"length",{value:1+s(0,e.length-(arguments.length-1))})}return n};var f=function(){return l(r,i,arguments)};u?u(e.exports,"apply",{value:f}):e.exports.apply=f},4184:(e,n)=>{var t; +/*! + Copyright (c) 2018 Jed Watson. + Licensed under the MIT License (MIT), see + http://jedwatson.github.io/classnames +*/!function(){"use strict";var r={}.hasOwnProperty;function o(){for(var e=[],n=0;n{"use strict";e.exports=function(e,n){var t=this,r=t.constructor;return t.options=Object.assign({storeInstancesGlobally:!0},n||{}),t.callbacks={},t.directMap={},t.sequenceLevels={},t.resetTimer=null,t.ignoreNextKeyup=!1,t.ignoreNextKeypress=!1,t.nextExpectedAction=!1,t.element=e,t.addEvents(),t.options.storeInstancesGlobally&&r.instances.push(t),t},e.exports.prototype.bind=t(2207),e.exports.prototype.bindMultiple=t(3396),e.exports.prototype.unbind=t(9208),e.exports.prototype.trigger=t(9855),e.exports.prototype.reset=t(6214),e.exports.prototype.stopCallback=t(3450),e.exports.prototype.handleKey=t(3067),e.exports.prototype.addEvents=t(718),e.exports.prototype.bindSingle=t(8763),e.exports.prototype.getKeyInfo=t(5825),e.exports.prototype.pickBestAction=t(8608),e.exports.prototype.getReverseMap=t(3956),e.exports.prototype.getMatches=t(3373),e.exports.prototype.resetSequences=t(3346),e.exports.prototype.fireCallback=t(2684),e.exports.prototype.bindSequence=t(7103),e.exports.prototype.resetSequenceTimer=t(7309),e.exports.prototype.detach=t(7554),e.exports.instances=[],e.exports.reset=t(1822),e.exports.REVERSE_MAP=null},718:(e,n,t)=>{"use strict";e.exports=function(){var e=this,n=t(4323),r=e.element;e.eventHandler=t(9646).bind(e),n(r,"keypress",e.eventHandler),n(r,"keydown",e.eventHandler),n(r,"keyup",e.eventHandler)}},2207:e=>{"use strict";e.exports=function(e,n,t){return e=e instanceof Array?e:[e],this.bindMultiple(e,n,t),this}},3396:e=>{"use strict";e.exports=function(e,n,t){for(var r=0;r{"use strict";e.exports=function(e,n,r,o){var i=this;function a(n){return function(){i.nextExpectedAction=n,++i.sequenceLevels[e],i.resetSequenceTimer()}}function l(n){var a;i.fireCallback(r,n,e),"keyup"!==o&&(a=t(6770),i.ignoreNextKeyup=a(n)),setTimeout((function(){i.resetSequences()}),10)}i.sequenceLevels[e]=0;for(var c=0;c{"use strict";e.exports=function(e,n,t,r,o){var i=this;i.directMap[e+":"+t]=n;var a,l=(e=e.replace(/\s+/g," ")).split(" ");l.length>1?i.bindSequence(e,l,n,t):(a=i.getKeyInfo(e,t),i.callbacks[a.key]=i.callbacks[a.key]||[],i.getMatches(a.key,a.modifiers,{type:a.action},r,e,o),i.callbacks[a.key][r?"unshift":"push"]({callback:n,modifiers:a.modifiers,action:a.action,seq:r,level:o,combo:e}))}},7554:(e,n,t)=>{var r=t(4323).off;e.exports=function(){var e=this,n=e.element;r(n,"keypress",e.eventHandler),r(n,"keydown",e.eventHandler),r(n,"keyup",e.eventHandler)}},4323:e=>{function n(e,n,t,r){return!e.addEventListener&&(n="on"+n),(e.addEventListener||e.attachEvent).call(e,n,t,r),t}e.exports=n,e.exports.on=n,e.exports.off=function(e,n,t,r){return!e.removeEventListener&&(n="on"+n),(e.removeEventListener||e.detachEvent).call(e,n,t,r),t}},2684:(e,n,t)=>{"use strict";e.exports=function(e,n,r,o){this.stopCallback(n,n.target||n.srcElement,r,o)||!1===e(n,r)&&(t(1350)(n),t(6103)(n))}},5825:(e,n,t)=>{"use strict";e.exports=function(e,n){var r,o,i,a,l,c,u=[];for(r=t(4520)(e),a=t(7549),l=t(5355),c=t(8581),i=0;i{"use strict";e.exports=function(e,n,r,o,i,a){var l,c,u,s,f=this,p=[],d=r.type;"keypress"!==d||r.code&&"Arrow"===r.code.slice(0,5)||(f.callbacks["any-character"]||[]).forEach((function(e){p.push(e)}));if(!f.callbacks[e])return p;for(u=t(8581),"keyup"===d&&u(e)&&(n=[e]),l=0;l{"use strict";e.exports=function(){var e,n=this.constructor;if(!n.REVERSE_MAP)for(var r in n.REVERSE_MAP={},e=t(4766))r>95&&r<112||e.hasOwnProperty(r)&&(n.REVERSE_MAP[e[r]]=r);return n.REVERSE_MAP}},3067:(e,n,t)=>{"use strict";e.exports=function(e,n,r){var o,i,a,l,c=this,u={},s=0,f=!1;for(o=c.getMatches(e,n,r),i=0;i{"use strict";e.exports=function(e){var n,r=this;"number"!=typeof e.which&&(e.which=e.keyCode);var o=t(6770)(e);void 0!==o&&("keyup"!==e.type||r.ignoreNextKeyup!==o?(n=t(4610),r.handleKey(o,n(e),e)):r.ignoreNextKeyup=!1)}},5532:e=>{"use strict";e.exports=function(e,n){return e.sort().join(",")===n.sort().join(",")}},8608:e=>{"use strict";e.exports=function(e,n,t){return t||(t=this.getReverseMap()[e]?"keydown":"keypress"),"keypress"===t&&n.length&&(t="keydown"),t}},6214:e=>{"use strict";e.exports=function(){return this.callbacks={},this.directMap={},this}},7309:e=>{"use strict";e.exports=function(){var e=this;clearTimeout(e.resetTimer),e.resetTimer=setTimeout((function(){e.resetSequences()}),1e3)}},3346:e=>{"use strict";e.exports=function(e){var n=this;e=e||{};var t,r=!1;for(t in n.sequenceLevels)e[t]?r=!0:n.sequenceLevels[t]=0;r||(n.nextExpectedAction=!1)}},3450:e=>{"use strict";e.exports=function(e,n){if((" "+n.className+" ").indexOf(" combokeys ")>-1)return!1;var t=n.tagName.toLowerCase();return"input"===t||"select"===t||"textarea"===t||n.isContentEditable}},9855:e=>{"use strict";e.exports=function(e,n){return this.directMap[e+":"+n]&&this.directMap[e+":"+n]({},e),this}},9208:e=>{"use strict";e.exports=function(e,n){return this.bind(e,(function(){}),n)}},1822:e=>{"use strict";e.exports=function(){this.instances.forEach((function(e){e.reset()}))}},6770:(e,n,t)=>{"use strict";e.exports=function(e){var n,r;if(n=t(4766),r=t(5295),"keypress"===e.type){var o=String.fromCharCode(e.which);return e.shiftKey||(o=o.toLowerCase()),o}return void 0!==n[e.which]?n[e.which]:void 0!==r[e.which]?r[e.which]:String.fromCharCode(e.which).toLowerCase()}},4610:e=>{"use strict";e.exports=function(e){var n=[];return e.shiftKey&&n.push("shift"),e.altKey&&n.push("alt"),e.ctrlKey&&n.push("ctrl"),e.metaKey&&n.push("meta"),n}},8581:e=>{"use strict";e.exports=function(e){return"shift"===e||"ctrl"===e||"alt"===e||"meta"===e}},4520:e=>{"use strict";e.exports=function(e){return"+"===e?["+"]:e.split("+")}},1350:e=>{"use strict";e.exports=function(e){e.preventDefault?e.preventDefault():e.returnValue=!1}},5355:e=>{"use strict";e.exports={"~":"`","!":"1","@":"2","#":"3",$:"4","%":"5","^":"6","&":"7","*":"8","(":"9",")":"0",_:"-","+":"=",":":";",'"':"'","<":",",">":".","?":"/","|":"\\"}},7549:e=>{"use strict";e.exports={option:"alt",command:"meta",return:"enter",escape:"esc",mod:/Mac|iPod|iPhone|iPad/.test(navigator.platform)?"meta":"ctrl"}},5295:e=>{"use strict";e.exports={106:"*",107:"plus",109:"minus",110:".",111:"/",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'"}},4766:e=>{"use strict";e.exports={8:"backspace",9:"tab",13:"enter",16:"shift",17:"ctrl",18:"alt",20:"capslock",27:"esc",32:"space",33:"pageup",34:"pagedown",35:"end",36:"home",37:"left",38:"up",39:"right",40:"down",45:"ins",46:"del",91:"meta",93:"meta",173:"minus",187:"plus",189:"minus",224:"meta"};for(var n=1;n<20;++n)e.exports[111+n]="f"+n;for(n=0;n<=9;++n)e.exports[n+96]=n},6103:e=>{"use strict";e.exports=function(e){e.stopPropagation?e.stopPropagation():e.cancelBubble=!0}},3362:()=>{var e;!function(){var e=Math.PI,n=2*e,t=e/180,r=document.createElement("div");document.head.appendChild(r);var o=self.ConicGradient=function(e){o.all.push(this),e=e||{},this.canvas=document.createElement("canvas"),this.context=this.canvas.getContext("2d"),this.repeating=!!e.repeating,this.size=e.size||Math.max(innerWidth,innerHeight),this.canvas.width=this.canvas.height=this.size;var n=e.stops;this.stops=(n||"").split(/\s*,(?![^(]*\))\s*/),this.from=0;for(var t=0;t0){var i=this.stops[0].clone();i.pos=0,this.stops.unshift(i)}if(void 0===this.stops[this.stops.length-1].pos)this.stops[this.stops.length-1].pos=1;else if(!this.repeating&&this.stops[this.stops.length-1].pos<1){var a=this.stops[this.stops.length-1].clone();a.pos=1,this.stops.push(a)}if(this.stops.forEach((function(e,n){if(void 0===e.pos){for(var t=n+1;this[t];t++)if(void 0!==this[t].pos){e.pos=this[n-1].pos+(this[t].pos-this[n-1].pos)/(t-n+1);break}}else n>0&&(e.pos=Math.max(e.pos,this[n-1].pos))}),this.stops),this.repeating){var l=(n=this.stops.slice())[n.length-1].pos-n[0].pos;for(t=0;this.stops[this.stops.length-1].pos<1&&t<1e4;t++)for(var c=0;c'},get png(){return this.canvas.toDataURL()},get r(){return Math.sqrt(2)*this.size/2},paint:function(){var e,n,r,o=this.context,i=this.r,a=this.size/2,l=0,c=this.stops[l];o.translate(this.size/2,this.size/2),o.rotate(-90*t),o.rotate(this.from*t),o.translate(-this.size/2,-this.size/2);for(var u=0;u<360;){if(u/360+1e-5>=c.pos){do{e=c,l++,c=this.stops[l]}while(c&&c!=e&&c.pos===e.pos);if(!c)break;var s=e.color+""==c.color+""&&e!=c;n=e.color.map((function(e,n){return c.color[n]-e}))}r=(u/360-e.pos)/(c.pos-e.pos);var f=s?c.color:n.map((function(n,t){var o=n*r+e.color[t];return t<3?255&o:o}));if(o.fillStyle="rgba("+f.join(",")+")",o.beginPath(),o.moveTo(a,a),s)var p=360*(c.pos-e.pos);else p=.5;var d=u*t,h=(d=Math.min(360*t,d))+p*t;h=Math.min(360*t,h+.02),o.arc(a,a,i,d,h),o.closePath(),o.fill(),u+=p}}},o.ColorStop=function(e,t){if(this.gradient=e,t){var r=t.match(/^(.+?)(?:\s+([\d.]+)(%|deg|turn|grad|rad)?)?(?:\s+([\d.]+)(%|deg|turn|grad|rad)?)?\s*$/);if(this.color=o.ColorStop.colorToRGBA(r[1]),r[2]){var i=r[3];"%"==i||"0"===r[2]&&!i?this.pos=r[2]/100:"turn"==i?this.pos=+r[2]:"deg"==i?this.pos=r[2]/360:"grad"==i?this.pos=r[2]/400:"rad"==i&&(this.pos=r[2]/n)}r[4]&&(this.next=new o.ColorStop(e,r[1]+" "+r[4]+r[5]))}},o.ColorStop.prototype={clone:function(){var e=new o.ColorStop(this.gradient);return e.color=this.color,e.pos=this.pos,e},toString:function(){return"rgba("+this.color.join(", ")+") "+100*this.pos+"%"}},o.ColorStop.colorToRGBA=function(e){if(!Array.isArray(e)&&-1==e.indexOf("from")){r.style.color=e;var n=getComputedStyle(r).color.match(/rgba?\(([\d.]+), ([\d.]+), ([\d.]+)(?:, ([\d.]+))?\)/);return n&&(n.shift(),(n=n.map((function(e){return+e})))[3]=isNaN(n[3])?1:n[3]),n||[0,0,0,0]}return e}}(),self.StyleFix&&((e=document.createElement("p")).style.backgroundImage="conic-gradient(white, black)",e.style.backgroundImage=PrefixFree.prefix+"conic-gradient(white, black)",e.style.backgroundImage||StyleFix.register((function(e,n){return e.indexOf("conic-gradient")>-1&&(e=e.replace(/(?:repeating-)?conic-gradient\(\s*((?:\([^()]+\)|[^;()}])+?)\)/g,(function(e,n){return new ConicGradient({stops:n,repeating:e.indexOf("repeating-")>-1})}))),e})))},9662:(e,n,t)=>{var r=t(7854),o=t(614),i=t(6330),a=r.TypeError;e.exports=function(e){if(o(e))return e;throw a(i(e)+" is not a function")}},9483:(e,n,t)=>{var r=t(7854),o=t(4411),i=t(6330),a=r.TypeError;e.exports=function(e){if(o(e))return e;throw a(i(e)+" is not a constructor")}},6077:(e,n,t)=>{var r=t(7854),o=t(614),i=r.String,a=r.TypeError;e.exports=function(e){if("object"==typeof e||o(e))return e;throw a("Can't set "+i(e)+" as a prototype")}},1223:(e,n,t)=>{var r=t(5112),o=t(30),i=t(3070),a=r("unscopables"),l=Array.prototype;null==l[a]&&i.f(l,a,{configurable:!0,value:o(null)}),e.exports=function(e){l[a][e]=!0}},1530:(e,n,t)=>{"use strict";var r=t(8710).charAt;e.exports=function(e,n,t){return n+(t?r(e,n).length:1)}},5787:(e,n,t)=>{var r=t(7854),o=t(7976),i=r.TypeError;e.exports=function(e,n){if(o(n,e))return e;throw i("Incorrect invocation")}},9670:(e,n,t)=>{var r=t(7854),o=t(111),i=r.String,a=r.TypeError;e.exports=function(e){if(o(e))return e;throw a(i(e)+" is not an object")}},7556:(e,n,t)=>{var r=t(7293);e.exports=r((function(){if("function"==typeof ArrayBuffer){var e=new ArrayBuffer(8);Object.isExtensible(e)&&Object.defineProperty(e,"a",{value:8})}}))},8533:(e,n,t)=>{"use strict";var r=t(2092).forEach,o=t(9341)("forEach");e.exports=o?[].forEach:function(e){return r(this,e,arguments.length>1?arguments[1]:void 0)}},8457:(e,n,t)=>{"use strict";var r=t(7854),o=t(9974),i=t(6916),a=t(7908),l=t(3411),c=t(7659),u=t(4411),s=t(6244),f=t(6135),p=t(8554),d=t(1246),h=r.Array;e.exports=function(e){var n=a(e),t=u(this),r=arguments.length,g=r>1?arguments[1]:void 0,v=void 0!==g;v&&(g=o(g,r>2?arguments[2]:void 0));var A,b,m,y,E,_,C=d(n),w=0;if(!C||this==h&&c(C))for(A=s(n),b=t?new this(A):h(A);A>w;w++)_=v?g(n[w],w):n[w],f(b,w,_);else for(E=(y=p(n,C)).next,b=t?new this:[];!(m=i(E,y)).done;w++)_=v?l(y,g,[m.value,w],!0):m.value,f(b,w,_);return b.length=w,b}},1318:(e,n,t)=>{var r=t(5656),o=t(1400),i=t(6244),a=function(e){return function(n,t,a){var l,c=r(n),u=i(c),s=o(a,u);if(e&&t!=t){for(;u>s;)if((l=c[s++])!=l)return!0}else for(;u>s;s++)if((e||s in c)&&c[s]===t)return e||s||0;return!e&&-1}};e.exports={includes:a(!0),indexOf:a(!1)}},2092:(e,n,t)=>{var r=t(9974),o=t(1702),i=t(8361),a=t(7908),l=t(6244),c=t(5417),u=o([].push),s=function(e){var n=1==e,t=2==e,o=3==e,s=4==e,f=6==e,p=7==e,d=5==e||f;return function(h,g,v,A){for(var b,m,y=a(h),E=i(y),_=r(g,v),C=l(E),w=0,x=A||c,k=n?x(h,C):t||p?x(h,0):void 0;C>w;w++)if((d||w in E)&&(m=_(b=E[w],w,y),e))if(n)k[w]=m;else if(m)switch(e){case 3:return!0;case 5:return b;case 6:return w;case 2:u(k,b)}else switch(e){case 4:return!1;case 7:u(k,b)}return f?-1:o||s?s:k}};e.exports={forEach:s(0),map:s(1),filter:s(2),some:s(3),every:s(4),find:s(5),findIndex:s(6),filterReject:s(7)}},1194:(e,n,t)=>{var r=t(7293),o=t(5112),i=t(7392),a=o("species");e.exports=function(e){return i>=51||!r((function(){var n=[];return(n.constructor={})[a]=function(){return{foo:1}},1!==n[e](Boolean).foo}))}},9341:(e,n,t)=>{"use strict";var r=t(7293);e.exports=function(e,n){var t=[][e];return!!t&&r((function(){t.call(null,n||function(){throw 1},1)}))}},3671:(e,n,t)=>{var r=t(7854),o=t(9662),i=t(7908),a=t(8361),l=t(6244),c=r.TypeError,u=function(e){return function(n,t,r,u){o(t);var s=i(n),f=a(s),p=l(s),d=e?p-1:0,h=e?-1:1;if(r<2)for(;;){if(d in f){u=f[d],d+=h;break}if(d+=h,e?d<0:p<=d)throw c("Reduce of empty array with no initial value")}for(;e?d>=0:p>d;d+=h)d in f&&(u=t(u,f[d],d,s));return u}};e.exports={left:u(!1),right:u(!0)}},206:(e,n,t)=>{var r=t(1702);e.exports=r([].slice)},4362:(e,n,t)=>{var r=t(206),o=Math.floor,i=function(e,n){var t=e.length,c=o(t/2);return t<8?a(e,n):l(e,i(r(e,0,c),n),i(r(e,c),n),n)},a=function(e,n){for(var t,r,o=e.length,i=1;i0;)e[r]=e[--r];r!==i++&&(e[r]=t)}return e},l=function(e,n,t,r){for(var o=n.length,i=t.length,a=0,l=0;a{var r=t(7854),o=t(3157),i=t(4411),a=t(111),l=t(5112)("species"),c=r.Array;e.exports=function(e){var n;return o(e)&&(n=e.constructor,(i(n)&&(n===c||o(n.prototype))||a(n)&&null===(n=n[l]))&&(n=void 0)),void 0===n?c:n}},5417:(e,n,t)=>{var r=t(7475);e.exports=function(e,n){return new(r(e))(0===n?0:n)}},3411:(e,n,t)=>{var r=t(9670),o=t(9212);e.exports=function(e,n,t,i){try{return i?n(r(t)[0],t[1]):n(t)}catch(n){o(e,"throw",n)}}},7072:(e,n,t)=>{var r=t(5112)("iterator"),o=!1;try{var i=0,a={next:function(){return{done:!!i++}},return:function(){o=!0}};a[r]=function(){return this},Array.from(a,(function(){throw 2}))}catch(e){}e.exports=function(e,n){if(!n&&!o)return!1;var t=!1;try{var i={};i[r]=function(){return{next:function(){return{done:t=!0}}}},e(i)}catch(e){}return t}},4326:(e,n,t)=>{var r=t(1702),o=r({}.toString),i=r("".slice);e.exports=function(e){return i(o(e),8,-1)}},648:(e,n,t)=>{var r=t(7854),o=t(1694),i=t(614),a=t(4326),l=t(5112)("toStringTag"),c=r.Object,u="Arguments"==a(function(){return arguments}());e.exports=o?a:function(e){var n,t,r;return void 0===e?"Undefined":null===e?"Null":"string"==typeof(t=function(e,n){try{return e[n]}catch(e){}}(n=c(e),l))?t:u?a(n):"Object"==(r=a(n))&&i(n.callee)?"Arguments":r}},5631:(e,n,t)=>{"use strict";var r=t(3070).f,o=t(30),i=t(2248),a=t(9974),l=t(5787),c=t(408),u=t(654),s=t(6340),f=t(9781),p=t(2423).fastKey,d=t(9909),h=d.set,g=d.getterFor;e.exports={getConstructor:function(e,n,t,u){var s=e((function(e,r){l(e,d),h(e,{type:n,index:o(null),first:void 0,last:void 0,size:0}),f||(e.size=0),null!=r&&c(r,e[u],{that:e,AS_ENTRIES:t})})),d=s.prototype,v=g(n),A=function(e,n,t){var r,o,i=v(e),a=b(e,n);return a?a.value=t:(i.last=a={index:o=p(n,!0),key:n,value:t,previous:r=i.last,next:void 0,removed:!1},i.first||(i.first=a),r&&(r.next=a),f?i.size++:e.size++,"F"!==o&&(i.index[o]=a)),e},b=function(e,n){var t,r=v(e),o=p(n);if("F"!==o)return r.index[o];for(t=r.first;t;t=t.next)if(t.key==n)return t};return i(d,{clear:function(){for(var e=v(this),n=e.index,t=e.first;t;)t.removed=!0,t.previous&&(t.previous=t.previous.next=void 0),delete n[t.index],t=t.next;e.first=e.last=void 0,f?e.size=0:this.size=0},delete:function(e){var n=this,t=v(n),r=b(n,e);if(r){var o=r.next,i=r.previous;delete t.index[r.index],r.removed=!0,i&&(i.next=o),o&&(o.previous=i),t.first==r&&(t.first=o),t.last==r&&(t.last=i),f?t.size--:n.size--}return!!r},forEach:function(e){for(var n,t=v(this),r=a(e,arguments.length>1?arguments[1]:void 0);n=n?n.next:t.first;)for(r(n.value,n.key,this);n&&n.removed;)n=n.previous},has:function(e){return!!b(this,e)}}),i(d,t?{get:function(e){var n=b(this,e);return n&&n.value},set:function(e,n){return A(this,0===e?0:e,n)}}:{add:function(e){return A(this,e=0===e?0:e,e)}}),f&&r(d,"size",{get:function(){return v(this).size}}),s},setStrong:function(e,n,t){var r=n+" Iterator",o=g(n),i=g(r);u(e,n,(function(e,n){h(this,{type:r,target:e,state:o(e),kind:n,last:void 0})}),(function(){for(var e=i(this),n=e.kind,t=e.last;t&&t.removed;)t=t.previous;return e.target&&(e.last=t=t?t.next:e.state.first)?"keys"==n?{value:t.key,done:!1}:"values"==n?{value:t.value,done:!1}:{value:[t.key,t.value],done:!1}:(e.target=void 0,{value:void 0,done:!0})}),t?"entries":"values",!t,!0),s(n)}}},9320:(e,n,t)=>{"use strict";var r=t(1702),o=t(2248),i=t(2423).getWeakData,a=t(9670),l=t(111),c=t(5787),u=t(408),s=t(2092),f=t(2597),p=t(9909),d=p.set,h=p.getterFor,g=s.find,v=s.findIndex,A=r([].splice),b=0,m=function(e){return e.frozen||(e.frozen=new y)},y=function(){this.entries=[]},E=function(e,n){return g(e.entries,(function(e){return e[0]===n}))};y.prototype={get:function(e){var n=E(this,e);if(n)return n[1]},has:function(e){return!!E(this,e)},set:function(e,n){var t=E(this,e);t?t[1]=n:this.entries.push([e,n])},delete:function(e){var n=v(this.entries,(function(n){return n[0]===e}));return~n&&A(this.entries,n,1),!!~n}},e.exports={getConstructor:function(e,n,t,r){var s=e((function(e,o){c(e,p),d(e,{type:n,id:b++,frozen:void 0}),null!=o&&u(o,e[r],{that:e,AS_ENTRIES:t})})),p=s.prototype,g=h(n),v=function(e,n,t){var r=g(e),o=i(a(n),!0);return!0===o?m(r).set(n,t):o[r.id]=t,e};return o(p,{delete:function(e){var n=g(this);if(!l(e))return!1;var t=i(e);return!0===t?m(n).delete(e):t&&f(t,n.id)&&delete t[n.id]},has:function(e){var n=g(this);if(!l(e))return!1;var t=i(e);return!0===t?m(n).has(e):t&&f(t,n.id)}}),o(p,t?{get:function(e){var n=g(this);if(l(e)){var t=i(e);return!0===t?m(n).get(e):t?t[n.id]:void 0}},set:function(e,n){return v(this,e,n)}}:{add:function(e){return v(this,e,!0)}}),s}}},7710:(e,n,t)=>{"use strict";var r=t(2109),o=t(7854),i=t(1702),a=t(4705),l=t(1320),c=t(2423),u=t(408),s=t(5787),f=t(614),p=t(111),d=t(7293),h=t(7072),g=t(8003),v=t(9587);e.exports=function(e,n,t){var A=-1!==e.indexOf("Map"),b=-1!==e.indexOf("Weak"),m=A?"set":"add",y=o[e],E=y&&y.prototype,_=y,C={},w=function(e){var n=i(E[e]);l(E,e,"add"==e?function(e){return n(this,0===e?0:e),this}:"delete"==e?function(e){return!(b&&!p(e))&&n(this,0===e?0:e)}:"get"==e?function(e){return b&&!p(e)?void 0:n(this,0===e?0:e)}:"has"==e?function(e){return!(b&&!p(e))&&n(this,0===e?0:e)}:function(e,t){return n(this,0===e?0:e,t),this})};if(a(e,!f(y)||!(b||E.forEach&&!d((function(){(new y).entries().next()})))))_=t.getConstructor(n,e,A,m),c.enable();else if(a(e,!0)){var x=new _,k=x[m](b?{}:-0,1)!=x,S=d((function(){x.has(1)})),O=h((function(e){new y(e)})),B=!b&&d((function(){for(var e=new y,n=5;n--;)e[m](n,n);return!e.has(-0)}));O||((_=n((function(e,n){s(e,E);var t=v(new y,e,_);return null!=n&&u(n,t[m],{that:t,AS_ENTRIES:A}),t}))).prototype=E,E.constructor=_),(S||B)&&(w("delete"),w("has"),A&&w("get")),(B||k)&&w(m),b&&E.clear&&delete E.clear}return C[e]=_,r({global:!0,forced:_!=y},C),g(_,e),b||t.setStrong(_,e,A),_}},9920:(e,n,t)=>{var r=t(2597),o=t(3887),i=t(1236),a=t(3070);e.exports=function(e,n){for(var t=o(n),l=a.f,c=i.f,u=0;u{var r=t(5112)("match");e.exports=function(e){var n=/./;try{"/./"[e](n)}catch(t){try{return n[r]=!1,"/./"[e](n)}catch(e){}}return!1}},8544:(e,n,t)=>{var r=t(7293);e.exports=!r((function(){function e(){}return e.prototype.constructor=null,Object.getPrototypeOf(new e)!==e.prototype}))},4230:(e,n,t)=>{var r=t(1702),o=t(4488),i=t(1340),a=/"/g,l=r("".replace);e.exports=function(e,n,t,r){var c=i(o(e)),u="<"+n;return""!==t&&(u+=" "+t+'="'+l(i(r),a,""")+'"'),u+">"+c+""}},4994:(e,n,t)=>{"use strict";var r=t(3383).IteratorPrototype,o=t(30),i=t(9114),a=t(8003),l=t(7497),c=function(){return this};e.exports=function(e,n,t){var u=n+" Iterator";return e.prototype=o(r,{next:i(1,t)}),a(e,u,!1,!0),l[u]=c,e}},8880:(e,n,t)=>{var r=t(9781),o=t(3070),i=t(9114);e.exports=r?function(e,n,t){return o.f(e,n,i(1,t))}:function(e,n,t){return e[n]=t,e}},9114:e=>{e.exports=function(e,n){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:n}}},6135:(e,n,t)=>{"use strict";var r=t(4948),o=t(3070),i=t(9114);e.exports=function(e,n,t){var a=r(n);a in e?o.f(e,a,i(0,t)):e[a]=t}},8709:(e,n,t)=>{"use strict";var r=t(7854),o=t(9670),i=t(2140),a=r.TypeError;e.exports=function(e){if(o(this),"string"===e||"default"===e)e="string";else if("number"!==e)throw a("Incorrect hint");return i(this,e)}},654:(e,n,t)=>{"use strict";var r=t(2109),o=t(6916),i=t(1913),a=t(6530),l=t(614),c=t(4994),u=t(9518),s=t(7674),f=t(8003),p=t(8880),d=t(1320),h=t(5112),g=t(7497),v=t(3383),A=a.PROPER,b=a.CONFIGURABLE,m=v.IteratorPrototype,y=v.BUGGY_SAFARI_ITERATORS,E=h("iterator"),_="keys",C="values",w="entries",x=function(){return this};e.exports=function(e,n,t,a,h,v,k){c(t,n,a);var S,O,B,I=function(e){if(e===h&&R)return R;if(!y&&e in j)return j[e];switch(e){case _:case C:case w:return function(){return new t(this,e)}}return function(){return new t(this)}},T=n+" Iterator",P=!1,j=e.prototype,z=j[E]||j["@@iterator"]||h&&j[h],R=!y&&z||I(h),M="Array"==n&&j.entries||z;if(M&&(S=u(M.call(new e)))!==Object.prototype&&S.next&&(i||u(S)===m||(s?s(S,m):l(S[E])||d(S,E,x)),f(S,T,!0,!0),i&&(g[T]=x)),A&&h==C&&z&&z.name!==C&&(!i&&b?p(j,"name",C):(P=!0,R=function(){return o(z,this)})),h)if(O={values:I(C),keys:v?R:I(_),entries:I(w)},k)for(B in O)(y||P||!(B in j))&&d(j,B,O[B]);else r({target:n,proto:!0,forced:y||P},O);return i&&!k||j[E]===R||d(j,E,R,{name:h}),g[n]=R,O}},7235:(e,n,t)=>{var r=t(857),o=t(2597),i=t(6061),a=t(3070).f;e.exports=function(e){var n=r.Symbol||(r.Symbol={});o(n,e)||a(n,e,{value:i.f(e)})}},9781:(e,n,t)=>{var r=t(7293);e.exports=!r((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]}))},317:(e,n,t)=>{var r=t(7854),o=t(111),i=r.document,a=o(i)&&o(i.createElement);e.exports=function(e){return a?i.createElement(e):{}}},8324:e=>{e.exports={CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0}},8509:(e,n,t)=>{var r=t(317)("span").classList,o=r&&r.constructor&&r.constructor.prototype;e.exports=o===Object.prototype?void 0:o},8886:(e,n,t)=>{var r=t(8113).match(/firefox\/(\d+)/i);e.exports=!!r&&+r[1]},256:(e,n,t)=>{var r=t(8113);e.exports=/MSIE|Trident/.test(r)},5268:(e,n,t)=>{var r=t(4326),o=t(7854);e.exports="process"==r(o.process)},8113:(e,n,t)=>{var r=t(5005);e.exports=r("navigator","userAgent")||""},7392:(e,n,t)=>{var r,o,i=t(7854),a=t(8113),l=i.process,c=i.Deno,u=l&&l.versions||c&&c.version,s=u&&u.v8;s&&(o=(r=s.split("."))[0]>0&&r[0]<4?1:+(r[0]+r[1])),!o&&a&&(!(r=a.match(/Edge\/(\d+)/))||r[1]>=74)&&(r=a.match(/Chrome\/(\d+)/))&&(o=+r[1]),e.exports=o},8008:(e,n,t)=>{var r=t(8113).match(/AppleWebKit\/(\d+)\./);e.exports=!!r&&+r[1]},748:e=>{e.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},2109:(e,n,t)=>{var r=t(7854),o=t(1236).f,i=t(8880),a=t(1320),l=t(3505),c=t(9920),u=t(4705);e.exports=function(e,n){var t,s,f,p,d,h=e.target,g=e.global,v=e.stat;if(t=g?r:v?r[h]||l(h,{}):(r[h]||{}).prototype)for(s in n){if(p=n[s],f=e.noTargetGet?(d=o(t,s))&&d.value:t[s],!u(g?s:h+(v?".":"#")+s,e.forced)&&void 0!==f){if(typeof p==typeof f)continue;c(p,f)}(e.sham||f&&f.sham)&&i(p,"sham",!0),a(t,s,p,e)}}},7293:e=>{e.exports=function(e){try{return!!e()}catch(e){return!0}}},7007:(e,n,t)=>{"use strict";t(4916);var r=t(1702),o=t(1320),i=t(2261),a=t(7293),l=t(5112),c=t(8880),u=l("species"),s=RegExp.prototype;e.exports=function(e,n,t,f){var p=l(e),d=!a((function(){var n={};return n[p]=function(){return 7},7!=""[e](n)})),h=d&&!a((function(){var n=!1,t=/a/;return"split"===e&&((t={}).constructor={},t.constructor[u]=function(){return t},t.flags="",t[p]=/./[p]),t.exec=function(){return n=!0,null},t[p](""),!n}));if(!d||!h||t){var g=r(/./[p]),v=n(p,""[e],(function(e,n,t,o,a){var l=r(e),c=n.exec;return c===i||c===s.exec?d&&!a?{done:!0,value:g(n,t,o)}:{done:!0,value:l(t,n,o)}:{done:!1}}));o(String.prototype,e,v[0]),o(s,p,v[1])}f&&c(s[p],"sham",!0)}},6677:(e,n,t)=>{var r=t(7293);e.exports=!r((function(){return Object.isExtensible(Object.preventExtensions({}))}))},2104:e=>{var n=Function.prototype,t=n.apply,r=n.bind,o=n.call;e.exports="object"==typeof Reflect&&Reflect.apply||(r?o.bind(t):function(){return o.apply(t,arguments)})},9974:(e,n,t)=>{var r=t(1702),o=t(9662),i=r(r.bind);e.exports=function(e,n){return o(e),void 0===n?e:i?i(e,n):function(){return e.apply(n,arguments)}}},7065:(e,n,t)=>{"use strict";var r=t(7854),o=t(1702),i=t(9662),a=t(111),l=t(2597),c=t(206),u=r.Function,s=o([].concat),f=o([].join),p={},d=function(e,n,t){if(!l(p,n)){for(var r=[],o=0;o{var n=Function.prototype.call;e.exports=n.bind?n.bind(n):function(){return n.apply(n,arguments)}},6530:(e,n,t)=>{var r=t(9781),o=t(2597),i=Function.prototype,a=r&&Object.getOwnPropertyDescriptor,l=o(i,"name"),c=l&&"something"===function(){}.name,u=l&&(!r||r&&a(i,"name").configurable);e.exports={EXISTS:l,PROPER:c,CONFIGURABLE:u}},1702:e=>{var n=Function.prototype,t=n.bind,r=n.call,o=t&&t.bind(r);e.exports=t?function(e){return e&&o(r,e)}:function(e){return e&&function(){return r.apply(e,arguments)}}},5005:(e,n,t)=>{var r=t(7854),o=t(614),i=function(e){return o(e)?e:void 0};e.exports=function(e,n){return arguments.length<2?i(r[e]):r[e]&&r[e][n]}},1246:(e,n,t)=>{var r=t(648),o=t(8173),i=t(7497),a=t(5112)("iterator");e.exports=function(e){if(null!=e)return o(e,a)||o(e,"@@iterator")||i[r(e)]}},8554:(e,n,t)=>{var r=t(7854),o=t(6916),i=t(9662),a=t(9670),l=t(6330),c=t(1246),u=r.TypeError;e.exports=function(e,n){var t=arguments.length<2?c(e):n;if(i(t))return a(o(t,e));throw u(l(e)+" is not iterable")}},8173:(e,n,t)=>{var r=t(9662);e.exports=function(e,n){var t=e[n];return null==t?void 0:r(t)}},647:(e,n,t)=>{var r=t(1702),o=t(7908),i=Math.floor,a=r("".charAt),l=r("".replace),c=r("".slice),u=/\$([$&'`]|\d{1,2}|<[^>]*>)/g,s=/\$([$&'`]|\d{1,2})/g;e.exports=function(e,n,t,r,f,p){var d=t+e.length,h=r.length,g=s;return void 0!==f&&(f=o(f),g=u),l(p,g,(function(o,l){var u;switch(a(l,0)){case"$":return"$";case"&":return e;case"`":return c(n,0,t);case"'":return c(n,d);case"<":u=f[c(l,1,-1)];break;default:var s=+l;if(0===s)return o;if(s>h){var p=i(s/10);return 0===p?o:p<=h?void 0===r[p-1]?a(l,1):r[p-1]+a(l,1):o}u=r[s-1]}return void 0===u?"":u}))}},7854:(e,n,t)=>{var r=function(e){return e&&e.Math==Math&&e};e.exports=r("object"==typeof globalThis&&globalThis)||r("object"==typeof window&&window)||r("object"==typeof self&&self)||r("object"==typeof t.g&&t.g)||function(){return this}()||Function("return this")()},2597:(e,n,t)=>{var r=t(1702),o=t(7908),i=r({}.hasOwnProperty);e.exports=Object.hasOwn||function(e,n){return i(o(e),n)}},3501:e=>{e.exports={}},490:(e,n,t)=>{var r=t(5005);e.exports=r("document","documentElement")},4664:(e,n,t)=>{var r=t(9781),o=t(7293),i=t(317);e.exports=!r&&!o((function(){return 7!=Object.defineProperty(i("div"),"a",{get:function(){return 7}}).a}))},8361:(e,n,t)=>{var r=t(7854),o=t(1702),i=t(7293),a=t(4326),l=r.Object,c=o("".split);e.exports=i((function(){return!l("z").propertyIsEnumerable(0)}))?function(e){return"String"==a(e)?c(e,""):l(e)}:l},9587:(e,n,t)=>{var r=t(614),o=t(111),i=t(7674);e.exports=function(e,n,t){var a,l;return i&&r(a=n.constructor)&&a!==t&&o(l=a.prototype)&&l!==t.prototype&&i(e,l),e}},2788:(e,n,t)=>{var r=t(1702),o=t(614),i=t(5465),a=r(Function.toString);o(i.inspectSource)||(i.inspectSource=function(e){return a(e)}),e.exports=i.inspectSource},2423:(e,n,t)=>{var r=t(2109),o=t(1702),i=t(3501),a=t(111),l=t(2597),c=t(3070).f,u=t(8006),s=t(1156),f=t(2050),p=t(9711),d=t(6677),h=!1,g=p("meta"),v=0,A=function(e){c(e,g,{value:{objectID:"O"+v++,weakData:{}}})},b=e.exports={enable:function(){b.enable=function(){},h=!0;var e=u.f,n=o([].splice),t={};t[g]=1,e(t).length&&(u.f=function(t){for(var r=e(t),o=0,i=r.length;o{var r,o,i,a=t(8536),l=t(7854),c=t(1702),u=t(111),s=t(8880),f=t(2597),p=t(5465),d=t(6200),h=t(3501),g="Object already initialized",v=l.TypeError,A=l.WeakMap;if(a||p.state){var b=p.state||(p.state=new A),m=c(b.get),y=c(b.has),E=c(b.set);r=function(e,n){if(y(b,e))throw new v(g);return n.facade=e,E(b,e,n),n},o=function(e){return m(b,e)||{}},i=function(e){return y(b,e)}}else{var _=d("state");h[_]=!0,r=function(e,n){if(f(e,_))throw new v(g);return n.facade=e,s(e,_,n),n},o=function(e){return f(e,_)?e[_]:{}},i=function(e){return f(e,_)}}e.exports={set:r,get:o,has:i,enforce:function(e){return i(e)?o(e):r(e,{})},getterFor:function(e){return function(n){var t;if(!u(n)||(t=o(n)).type!==e)throw v("Incompatible receiver, "+e+" required");return t}}}},7659:(e,n,t)=>{var r=t(5112),o=t(7497),i=r("iterator"),a=Array.prototype;e.exports=function(e){return void 0!==e&&(o.Array===e||a[i]===e)}},3157:(e,n,t)=>{var r=t(4326);e.exports=Array.isArray||function(e){return"Array"==r(e)}},614:e=>{e.exports=function(e){return"function"==typeof e}},4411:(e,n,t)=>{var r=t(1702),o=t(7293),i=t(614),a=t(648),l=t(5005),c=t(2788),u=function(){},s=[],f=l("Reflect","construct"),p=/^\s*(?:class|function)\b/,d=r(p.exec),h=!p.exec(u),g=function(e){if(!i(e))return!1;try{return f(u,s,e),!0}catch(e){return!1}};e.exports=!f||o((function(){var e;return g(g.call)||!g(Object)||!g((function(){e=!0}))||e}))?function(e){if(!i(e))return!1;switch(a(e)){case"AsyncFunction":case"GeneratorFunction":case"AsyncGeneratorFunction":return!1}return h||!!d(p,c(e))}:g},4705:(e,n,t)=>{var r=t(7293),o=t(614),i=/#|\.prototype\./,a=function(e,n){var t=c[l(e)];return t==s||t!=u&&(o(n)?r(n):!!n)},l=a.normalize=function(e){return String(e).replace(i,".").toLowerCase()},c=a.data={},u=a.NATIVE="N",s=a.POLYFILL="P";e.exports=a},111:(e,n,t)=>{var r=t(614);e.exports=function(e){return"object"==typeof e?null!==e:r(e)}},1913:e=>{e.exports=!1},7850:(e,n,t)=>{var r=t(111),o=t(4326),i=t(5112)("match");e.exports=function(e){var n;return r(e)&&(void 0!==(n=e[i])?!!n:"RegExp"==o(e))}},2190:(e,n,t)=>{var r=t(7854),o=t(5005),i=t(614),a=t(7976),l=t(3307),c=r.Object;e.exports=l?function(e){return"symbol"==typeof e}:function(e){var n=o("Symbol");return i(n)&&a(n.prototype,c(e))}},408:(e,n,t)=>{var r=t(7854),o=t(9974),i=t(6916),a=t(9670),l=t(6330),c=t(7659),u=t(6244),s=t(7976),f=t(8554),p=t(1246),d=t(9212),h=r.TypeError,g=function(e,n){this.stopped=e,this.result=n},v=g.prototype;e.exports=function(e,n,t){var r,A,b,m,y,E,_,C=t&&t.that,w=!(!t||!t.AS_ENTRIES),x=!(!t||!t.IS_ITERATOR),k=!(!t||!t.INTERRUPTED),S=o(n,C),O=function(e){return r&&d(r,"normal",e),new g(!0,e)},B=function(e){return w?(a(e),k?S(e[0],e[1],O):S(e[0],e[1])):k?S(e,O):S(e)};if(x)r=e;else{if(!(A=p(e)))throw h(l(e)+" is not iterable");if(c(A)){for(b=0,m=u(e);m>b;b++)if((y=B(e[b]))&&s(v,y))return y;return new g(!1)}r=f(e,A)}for(E=r.next;!(_=i(E,r)).done;){try{y=B(_.value)}catch(e){d(r,"throw",e)}if("object"==typeof y&&y&&s(v,y))return y}return new g(!1)}},9212:(e,n,t)=>{var r=t(6916),o=t(9670),i=t(8173);e.exports=function(e,n,t){var a,l;o(e);try{if(!(a=i(e,"return"))){if("throw"===n)throw t;return t}a=r(a,e)}catch(e){l=!0,a=e}if("throw"===n)throw t;if(l)throw a;return o(a),t}},3383:(e,n,t)=>{"use strict";var r,o,i,a=t(7293),l=t(614),c=t(30),u=t(9518),s=t(1320),f=t(5112),p=t(1913),d=f("iterator"),h=!1;[].keys&&("next"in(i=[].keys())?(o=u(u(i)))!==Object.prototype&&(r=o):h=!0),null==r||a((function(){var e={};return r[d].call(e)!==e}))?r={}:p&&(r=c(r)),l(r[d])||s(r,d,(function(){return this})),e.exports={IteratorPrototype:r,BUGGY_SAFARI_ITERATORS:h}},7497:e=>{e.exports={}},6244:(e,n,t)=>{var r=t(7466);e.exports=function(e){return r(e.length)}},133:(e,n,t)=>{var r=t(7392),o=t(7293);e.exports=!!Object.getOwnPropertySymbols&&!o((function(){var e=Symbol();return!String(e)||!(Object(e)instanceof Symbol)||!Symbol.sham&&r&&r<41}))},8536:(e,n,t)=>{var r=t(7854),o=t(614),i=t(2788),a=r.WeakMap;e.exports=o(a)&&/native code/.test(i(a))},3929:(e,n,t)=>{var r=t(7854),o=t(7850),i=r.TypeError;e.exports=function(e){if(o(e))throw i("The method doesn't accept regular expressions");return e}},1574:(e,n,t)=>{"use strict";var r=t(9781),o=t(1702),i=t(6916),a=t(7293),l=t(1956),c=t(5181),u=t(5296),s=t(7908),f=t(8361),p=Object.assign,d=Object.defineProperty,h=o([].concat);e.exports=!p||a((function(){if(r&&1!==p({b:1},p(d({},"a",{enumerable:!0,get:function(){d(this,"b",{value:3,enumerable:!1})}}),{b:2})).b)return!0;var e={},n={},t=Symbol(),o="abcdefghijklmnopqrst";return e[t]=7,o.split("").forEach((function(e){n[e]=e})),7!=p({},e)[t]||l(p({},n)).join("")!=o}))?function(e,n){for(var t=s(e),o=arguments.length,a=1,p=c.f,d=u.f;o>a;)for(var g,v=f(arguments[a++]),A=p?h(l(v),p(v)):l(v),b=A.length,m=0;b>m;)g=A[m++],r&&!i(d,v,g)||(t[g]=v[g]);return t}:p},30:(e,n,t)=>{var r,o=t(9670),i=t(6048),a=t(748),l=t(3501),c=t(490),u=t(317),s=t(6200),f=s("IE_PROTO"),p=function(){},d=function(e){return" + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

Classes

+

The following classes are available globally.

+ +
+
+ +
+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    An adjustment which allows users to more accurately represent the color of their skin when captured by the camera.

    + + See more +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    
    +@interface SCCameraKitToneMapAdjustment : NSObject <SCCameraKitAdjustment>
    +
    extension ToneMapAdjustment: Adjustment
    + +
    +
    +

    Swift

    +
    class ToneMapAdjustment : NSObject, __Adjustment
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    An adjustment which allows users to blur the background on their input.

    + + See more +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    
    +@interface SCCameraKitPortraitAdjustment : NSObject <SCCameraKitAdjustment>
    +
    extension PortraitAdjustment: Adjustment
    + +
    +
    +

    Swift

    +
    class PortraitAdjustment : NSObject, __Adjustment
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + SCCameraKitSession + +
    +
    +
    +
    +
    +
    +

    CameraKit handles interaction with the camera and contains several components like lenses.

    + + See more +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    
    +@interface SCCameraKitSession : NSObject <SCCameraKitProtocol>
    + +
    +
    +

    Swift

    +
    class Session : NSObject, CameraKitProtocol
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    ARSessionInput is a CameraKit provided wrapper for ARSession.

    + + See more +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    
    +@interface SCCameraKitARSessionInput : NSObject <SCCameraKitARInput>
    + +
    +
    +

    Swift

    +
    class ARSessionInput : NSObject
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    AVSessionInput is a CameraKit provided wrapper for AVCaptureSession. It may make adjustments to things like color +formats in order to process frames. You are still responsible for doing the general configuration of the capture +session, such as adding devices.

    + + See more +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    
    +@interface SCCameraKitAVSessionInput : NSObject <SCCameraKitInput>
    + +
    +
    +

    Swift

    +
    class AVSessionInput : NSObject
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    AVWriterOutput is a CameraKit provided wrapper for AVAssetWriter. You are still responsible for the configuration of +the writer.

    + + See more +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    
    +@interface SCCameraKitAVWriterOutput : NSObject
    + +
    +
    +

    Swift

    +
    class AVWriterOutput : NSObject
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Component for user’s custom data providers

    + + See more +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    
    +@interface SCCameraKitDataProviderComponent : NSObject
    + +
    +
    +

    Swift

    +
    class DataProviderComponent : NSObject
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Enables the configuration of a custom viewport for SCCameraKitPreviewView.

    + + See more +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    
    +@interface SCCameraKitExplicitViewportProvider : NSObject
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Concrete class to build lens launch data to pass to processor when applying

    + + See more +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    
    +@interface SCCameraKitLensLaunchDataBuilder : NSObject
    + +
    +
    +

    Swift

    +
    class LensLaunchDataBuilder : NSObject
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Final, opaque data class to reset persisted launch data

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    
    +@interface SCCameraKitEmptyLensLaunchData : NSObject <SCCameraKitLensLaunchData>
    + +
    +
    +

    Swift

    +
    class EmptyLensLaunchData : NSObject, LensLaunchData
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    A default implementation of SCCameraKitLensMediaPickerProvider that uses the user’s photos library.

    + + See more +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    
    +@interface SCCameraKitLensMediaPickerProviderPhotoLibrary
    +    : NSObject <SCCameraKitLensMediaPickerProvider>
    + +
    +
    +

    Swift

    +
    class LensMediaPickerProviderPhotoLibrary : NSObject, LensMediaPickerProvider
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Concrete data class for the remote api service response to a request sent by a lens.

    + + See more +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    
    +@interface SCCameraKitLensRemoteApiResponse
    +    : NSObject <SCCameraKitLensRemoteApiResponse>
    + +
    +
    +

    Swift

    +
    class LensRemoteApiResponse : NSObject, LensRemoteApiResponseProtocol
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Concrete class to configure camera kit cache

    + + See more +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    
    +@interface SCCameraKitCacheConfig : NSObject
    + +
    +
    +

    Swift

    +
    class CacheConfig : NSObject
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Concrete class to configure all available, user-configurable properties within the lenses component

    + + See more +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    
    +@interface SCCameraKitLensesConfig : NSObject
    + +
    +
    +

    Swift

    +
    class LensesConfig : NSObject
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    An output that will capture photos. You should add this as an output for your CameraKit instance.

    + + See more +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    
    +@interface SCCameraKitPhotoCaptureOutput : NSObject
    + +
    +
    +

    Swift

    +
    class PhotoCaptureOutput : NSObject
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    A UIView which is capable of rendering SCCameraKitTextures. You should add this as an output for your CameraKit +instance.

    + + See more +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    
    +@interface SCCameraKitPreviewView : UIView
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Data class that is used to pass in a configuration for the CameraKit Session. +Use this data class if you would like to be able to dynamically update config values like application id and api +token or overwrite the ones that are passed into Info.plist.

    + + See more +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    
    +@interface SCCameraKitSessionConfig : NSObject
    + +
    +
    +

    Swift

    +
    class SessionConfig : NSObject
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + SCCameraKitUserData + +
    +
    +
    +
    +
    +
    +

    Concrete user data class to pass in user data that can be used by some lenses

    + + See more +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    
    +@interface SCCameraKitUserData : NSObject
    + +
    +
    +

    Swift

    +
    class UserData : NSObject
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/Classes/SCCameraKitARSessionInput.html b/docs/api/ios/1.36.1/SCSDKCameraKit/Classes/SCCameraKitARSessionInput.html new file mode 100644 index 000000000..2a238b583 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/Classes/SCCameraKitARSessionInput.html @@ -0,0 +1,592 @@ + + + + SCCameraKitARSessionInput Class Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

SCCameraKitARSessionInput

+
+
+

Objective-C

+

+@interface SCCameraKitARSessionInput : NSObject <SCCameraKitARInput>
+ +
+
+

Swift

+
class ARSessionInput : NSObject
+ +
+
+

ARSessionInput is a CameraKit provided wrapper for ARSession.

+ +
+
+ +
+
+
+
    +
  • +
    + + + + -init + +
    +
    +
    +
    +
    +
    +

    Create an AR Session input. +Inits with a managed ARSession

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (nonnull instancetype)init;
    + +
    +
    +

    Swift

    +
    init()
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + -initWithSession: + +
    +
    +
    +
    +
    +
    +

    Create an AR Session input with a preexisting session.

    +
    +

    Note

    + the input will overwrite the preexisting settings for delegate and delegateQueue + +
    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (nonnull instancetype)initWithSession:(nonnull ARSession *)session;
    + +
    +
    +

    Swift

    +
    init(session: ARSession)
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + session + + +
    +

    the ARSession to use.

    +
    +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Create an AR Session input with a preexisting session.

    +
    +

    Note

    + the input will overwrite the preexisting settings for delegate and delegateQueue + +
    +

    Warning

    + if your app supports lenses with true sizing, you MUST set this to be an instance of +ARFaceTrackingConfiguration (additionally, we recommend setting the number of tracked faces to 0) + +
    +

    Warning

    + using an instance of ARFaceTrackingConfiguration in this method will subject your app to additional app +review, concerning your usage of the TrueDepth camera. + +
    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (nonnull instancetype)initWithSession:(nonnull ARSession *)session
    +               frontCameraConfiguration:
    +                   (nullable ARConfiguration *)frontCameraConfiguration;
    + +
    +
    +

    Swift

    +
    init(session: ARSession, frontCameraConfiguration: ARConfiguration?)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + +
    + + session + + +
    +

    the ARSession to use.

    +
    +
    + + frontCameraConfiguration + + +
    +

    The ARConfiguration to use when using the front

    +
    +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/Classes/SCCameraKitAVSessionInput.html b/docs/api/ios/1.36.1/SCSDKCameraKit/Classes/SCCameraKitAVSessionInput.html new file mode 100644 index 000000000..c9244f835 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/Classes/SCCameraKitAVSessionInput.html @@ -0,0 +1,655 @@ + + + + SCCameraKitAVSessionInput Class Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

SCCameraKitAVSessionInput

+
+
+

Objective-C

+

+@interface SCCameraKitAVSessionInput : NSObject <SCCameraKitInput>
+ +
+
+

Swift

+
class AVSessionInput : NSObject
+ +
+
+

AVSessionInput is a CameraKit provided wrapper for AVCaptureSession. It may make adjustments to things like color +formats in order to process frames. You are still responsible for doing the general configuration of the capture +session, such as adding devices.

+ +
+
+ +
+
+
+
    +
  • +
    + + + + videoMirrored + +
    +
    +
    +
    +
    +
    +

    Describes whether the current video frames are mirrored

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic) BOOL videoMirrored;
    + +
    +
    +

    Swift

    +
    var videoMirrored: Bool { get set }
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Describes whether it should automatically configure outputted video frames to be mirrored. +If set to YES - it will update the videoMirrored property based on input device position (front is mirrored, back +is not)

    +
    +

    Note

    + By default this property is set to YES, you can change it while the session is running and it will update the +future video frames + +
    +

    Note

    + If you change this property to NO, make sure you also change videoMirrored property as well + +
    +

    See

    + videoMirrored + +
    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic) BOOL automaticallyConfiguresVideoMirrored;
    + +
    +
    +

    Swift

    +
    var automaticallyConfiguresVideoMirrored: Bool { get set }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + audioEnabled + +
    +
    +
    +
    +
    +
    +

    Determines whether or not this input will capture audio and pass audio buffer data to CameraKit. +If YES then it will automatically configure a capture session, audio input device, etc. and start capturing data. +If NO then no audio data will be captured.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic) BOOL audioEnabled;
    + +
    +
    +

    Swift

    +
    var audioEnabled: Bool { get set }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + -initWithSession: + +
    +
    +
    +
    +
    +
    +

    Create an AV Session input.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (nonnull instancetype)initWithSession:(nonnull AVCaptureSession *)session;
    + +
    +
    +

    Swift

    +
    init(session: AVCaptureSession)
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + session + + +
    +

    the AVCaptureSession to use.

    +
    +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Create an AV Session input.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (nonnull instancetype)initWithSession:(nonnull AVCaptureSession *)session
    +                           audioEnabled:(BOOL)audioEnabled;
    + +
    +
    +

    Swift

    +
    init(session: AVCaptureSession, audioEnabled: Bool)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + +
    + + session + + +
    +

    The AVCaptureSession to use.

    +
    +
    + + audioEnabled + + +
    +

    Determines whether or not this input will capture audio and pass audio buffer data to CameraKit. +Default is YES.

    +
    +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/Classes/SCCameraKitAVWriterOutput.html b/docs/api/ios/1.36.1/SCSDKCameraKit/Classes/SCCameraKitAVWriterOutput.html new file mode 100644 index 000000000..9c61361b3 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/Classes/SCCameraKitAVWriterOutput.html @@ -0,0 +1,679 @@ + + + + SCCameraKitAVWriterOutput Class Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

SCCameraKitAVWriterOutput

+
+
+

Objective-C

+

+@interface SCCameraKitAVWriterOutput : NSObject
+ +
+
+

Swift

+
class AVWriterOutput : NSObject
+ +
+
+

AVWriterOutput is a CameraKit provided wrapper for AVAssetWriter. You are still responsible for the configuration of +the writer.

+ +
+
+ +
+
+
+
    +
  • +
    + + + + startDate + +
    +
    +
    +
    +
    +
    +

    Date and time of first video buffer recorded (ie. start recording time)

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic, strong, readonly, nullable) NSDate *startDate;
    + +
    +
    +

    Swift

    +
    var startDate: Date? { get }
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Create an AVWriterOutput

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (nonnull instancetype)
    +    initWithAVAssetWriter:(nonnull AVAssetWriter *)assetWriter
    +         pixelBufferInput:
    +             (nonnull AVAssetWriterInputPixelBufferAdaptor *)pixelBufferInput
    +               audioInput:(nullable AVAssetWriterInput *)audioInput;
    + +
    +
    +

    Swift

    +
    init(avAssetWriter assetWriter: AVAssetWriter, pixelBufferInput: AVAssetWriterInputPixelBufferAdaptor, audioInput: AVAssetWriterInput?)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + + + + + +
    + + assetWriter + + +
    +

    the configured AVAssetWRiter

    +
    +
    + + pixelBufferInput + + +
    +

    the configured AVAssetWriterInputPixelBufferAdaptor to write video to.

    +
    +
    + + audioInput + + +
    +

    the configured AVAssetWriterInput to write audio to. May be nullable if the video does not contain +audio. +@note: audioInput is currently unused. This will change in a future build.

    +
    +
    +
    +
    +
    +
  • +
  • +
    + + + + +new + +
    +
    +
    +
    +
    +
    +

    Unavailable

    + +
    +
    +

    Use designated init or convenience init to pass in required writer and inputs

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    + (nonnull instancetype)new;
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + -init + +
    +
    +
    +
    +
    +
    +

    Unavailable

    + +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (instancetype)init NS_UNAVAILABLE;
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + -startRecording + +
    +
    +
    +
    +
    +
    +

    Call this after you start recording on the AVAssetWriter. This will indicate that the output should start recording +data it receives from CameraKit.

    +
    +

    Note

    + DO NOT call startSession on the asset writer, this output class will do so when it receives the first video +frame. This is to ensure that there are no empty frames from the time the session is started and the first video +buffer is written + +
    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (void)startRecording;
    + +
    +
    +

    Swift

    +
    func startRecording()
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + -stopRecording + +
    +
    +
    +
    +
    +
    +

    Call this before you stop recording on the AVAssetWriter. This will cause the output to stop recording data from +CameraKit.

    +
    +

    Note

    + DO NOT call endSession on the asset writer, this output class will do so with the timestamp of the last +video frame This is to ensure that there are no empty frames from the time the last video buffer is written to the +end of the session + +
    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (void)stopRecording;
    + +
    +
    +

    Swift

    +
    func stopRecording()
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/Classes/SCCameraKitCacheConfig.html b/docs/api/ios/1.36.1/SCSDKCameraKit/Classes/SCCameraKitCacheConfig.html new file mode 100644 index 000000000..539fe6a4b --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/Classes/SCCameraKitCacheConfig.html @@ -0,0 +1,512 @@ + + + + SCCameraKitCacheConfig Class Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

SCCameraKitCacheConfig

+
+
+

Objective-C

+

+@interface SCCameraKitCacheConfig : NSObject
+ +
+
+

Swift

+
class CacheConfig : NSObject
+ +
+
+

Concrete class to configure camera kit cache

+ +
+
+ +
+
+
+
    +
  • +
    + + + + lensContentMaxSize + +
    +
    +
    +
    +
    +
    +

    Max size in bytes for lens content cache

    +
    +

    Note

    + Default max is 100MB and min is at least 50MB + +
    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic, readonly) NSUInteger lensContentMaxSize;
    + +
    +
    +

    Swift

    +
    var lensContentMaxSize: UInt { get }
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Init with specifed max size for lens content cache

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (nonnull instancetype)initWithLensContentMaxSize:
    +    (NSUInteger)lensContentMaxSize;
    + +
    +
    +

    Swift

    +
    init(lensContentMaxSize: UInt)
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + lensContentMaxSize + + +
    +

    max size for lens content cache

    +
    +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/Classes/SCCameraKitDataProviderComponent.html b/docs/api/ios/1.36.1/SCSDKCameraKit/Classes/SCCameraKitDataProviderComponent.html new file mode 100644 index 000000000..acbcc7228 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/Classes/SCCameraKitDataProviderComponent.html @@ -0,0 +1,1082 @@ + + + + SCCameraKitDataProviderComponent Class Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

SCCameraKitDataProviderComponent

+
+
+

Objective-C

+

+@interface SCCameraKitDataProviderComponent : NSObject
+ +
+
+

Swift

+
class DataProviderComponent : NSObject
+ +
+
+

Component for user’s custom data providers

+ +
+
+ +
+
+
+ +
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/Classes/SCCameraKitExplicitViewportProvider.html b/docs/api/ios/1.36.1/SCSDKCameraKit/Classes/SCCameraKitExplicitViewportProvider.html new file mode 100644 index 000000000..75dd0342c --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/Classes/SCCameraKitExplicitViewportProvider.html @@ -0,0 +1,696 @@ + + + + SCCameraKitExplicitViewportProvider Class Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

SCCameraKitExplicitViewportProvider

+
+
+ +

+@interface SCCameraKitExplicitViewportProvider : NSObject
+ +
+
+

Enables the configuration of a custom viewport for SCCameraKitPreviewView.

+ +
+
+ +
+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Initializes the ExplicitViewportProvider with the specified viewportSize, outputResolution, and safeArea.

    +
    +

    Note

    + The delegate will be set automatically when this class is used to configure SCCameraKitPreviewView +so that any change to viewportSize, outputResolution, and safeArea is propagated. + +
    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (nonnull instancetype)initWithViewportSize:(CGSize)viewportSize
    +                            outputResolution:(CGSize)outputResolution
    +                                    safeArea:(CGRect)safeArea;
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + + + + + +
    + + viewportSize + + +
    +

    Output viewport frame size.

    +
    +
    + + outputResolution + + +
    +

    Output resolution size in pixels, not points (i.e. 1125x2436 not 375x812).

    +
    +
    + + safeArea + + +
    +

    A CGRect describing an area that the host app will not draw on top of.

    +
    +
    +
    +
    +
    +
  • +
  • +
    + + + + -setViewportSize: + +
    +
    +
    +
    +
    +
    +

    Sets the output viewport size and propagates the change to SCCameraKitPreviewView.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (void)setViewportSize:(CGSize)viewportSize;
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + viewportSize + + +
    +

    Output viewport frame size.

    +
    +
    +
    +
    +
    +
  • +
  • +
    + + + + -setOutputResolution: + +
    +
    +
    +
    +
    +
    +

    Sets the output resolution and propagates the change to SCCameraKitPreviewView.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (void)setOutputResolution:(CGSize)outputResolution;
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + outputResolution + + +
    +

    Output resolution size in pixels, not points (i.e. 1125x2436 not 375x812).

    +
    +
    +
    +
    +
    +
  • +
  • +
    + + + + -setSafeArea: + +
    +
    +
    +
    +
    +
    +

    Sets the safe area and propagates the change to SCCameraKitPreviewView.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (void)setSafeArea:(CGRect)safeArea;
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + safeArea + + +
    +

    A CGRect describing an area that the host app will not draw on top of.

    +
    +
    +
    +
    +
    +
  • +
  • +
    + + + + -init + +
    +
    +
    +
    +
    +
    +

    Unavailable

    + +
    +
    +

    Use the designated initializer to pass in the required properties.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (nonnull instancetype)init;
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + +new + +
    +
    +
    +
    +
    +
    +

    Unavailable

    + +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    + (instancetype)new NS_UNAVAILABLE;
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/Classes/SCCameraKitLensLaunchDataBuilder.html b/docs/api/ios/1.36.1/SCSDKCameraKit/Classes/SCCameraKitLensLaunchDataBuilder.html new file mode 100644 index 000000000..efaf721ac --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/Classes/SCCameraKitLensLaunchDataBuilder.html @@ -0,0 +1,760 @@ + + + + SCCameraKitLensLaunchDataBuilder Class Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

SCCameraKitLensLaunchDataBuilder

+
+
+

Objective-C

+

+@interface SCCameraKitLensLaunchDataBuilder : NSObject
+ +
+
+

Swift

+
class LensLaunchDataBuilder : NSObject
+ +
+
+

Concrete class to build lens launch data to pass to processor when applying

+ +
+
+ +
+
+
+
    +
  • +
    + + + + launchData + +
    +
    +
    +
    +
    +
    +

    Builds and get launch data from current builder state

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic, strong, readonly, nullable) id<SCCameraKitLensLaunchData> launchData;
    + +
    +
    +

    Swift

    +
    var launchData: LensLaunchData? { get }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + -addNumber:forKey: + +
    +
    +
    +
    +
    +
    +

    Add number key-value pair to launch data

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (void)addNumber:(nonnull NSNumber *)value forKey:(nonnull NSString *)key;
    + +
    +
    +

    Swift

    +
    func add(number value: NSNumber, key: String)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + +
    + + value + + +
    +

    number value

    +
    +
    + + key + + +
    +

    key for value

    +
    +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Add number array key-value pair to launch data

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (void)addNumberArray:(nonnull NSArray<NSNumber *> *)value
    +                forKey:(nonnull NSString *)key;
    + +
    +
    +

    Swift

    +
    func add(numberArray value: [NSNumber], key: String)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + +
    + + value + + +
    +

    number array value

    +
    +
    + + key + + +
    +

    key for value

    +
    +
    +
    +
    +
    +
  • +
  • +
    + + + + -addString:forKey: + +
    +
    +
    +
    +
    +
    +

    Add string key-value pair to launch data

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (void)addString:(nonnull NSString *)value forKey:(nonnull NSString *)key;
    + +
    +
    +

    Swift

    +
    func add(string value: String, key: String)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + +
    + + value + + +
    +

    string value

    +
    +
    + + key + + +
    +

    key for value

    +
    +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Add string array key-value pair to launch data

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (void)addStringArray:(nonnull NSArray<NSString *> *)value
    +                forKey:(nonnull NSString *)key;
    + +
    +
    +

    Swift

    +
    func add(stringArray value: [String], key: String)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + +
    + + value + + +
    +

    string array value

    +
    +
    + + key + + +
    +

    key for value

    +
    +
    +
    +
    +
    +
  • +
  • +
    + + + + -removeValueForKey: + +
    +
    +
    +
    +
    +
    +

    Removes key-value pair from launch data

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (void)removeValueForKey:(nonnull NSString *)key;
    + +
    +
    +

    Swift

    +
    func removeValue(key: String)
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + key + + +
    +

    key for value to remove

    +
    +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/Classes/SCCameraKitLensMediaPickerProviderPhotoLibrary.html b/docs/api/ios/1.36.1/SCSDKCameraKit/Classes/SCCameraKitLensMediaPickerProviderPhotoLibrary.html new file mode 100644 index 000000000..dfece7eb7 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/Classes/SCCameraKitLensMediaPickerProviderPhotoLibrary.html @@ -0,0 +1,539 @@ + + + + SCCameraKitLensMediaPickerProviderPhotoLibrary Class Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

SCCameraKitLensMediaPickerProviderPhotoLibrary

+
+
+

Objective-C

+

+@interface SCCameraKitLensMediaPickerProviderPhotoLibrary
+    : NSObject <SCCameraKitLensMediaPickerProvider>
+ +
+
+

Swift

+
class LensMediaPickerProviderPhotoLibrary : NSObject, LensMediaPickerProvider
+ +
+
+

A default implementation of SCCameraKitLensMediaPickerProvider that uses the user’s photos library.

+ +
+
+ +
+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Initializes the photo library provider.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (nonnull instancetype)initWithDefaultAssetTypes:
    +    (SCCameraKitLensMediaPickerProviderAllowedMediaType)defaultAssetTypes;
    + +
    +
    +

    Swift

    +
    init(defaultAssetTypes: SCCameraKitLensMediaPickerProviderAllowedMediaType)
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + defaultAssetTypes + + +
    +

    a bitmask specifying which types of assets the picker will display when the lens does not +indicate interest in a specific type of asset. MUST not be LensMediaPickerProviderAllowedMediaTypeNoneSpecified.

    +
    +
    +
    +
    +
    +
  • +
  • +
    + + + + -init + +
    +
    +
    +
    +
    +
    +

    Unavailable

    + +
    +
    +

    Use designated init or convenience init

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (nonnull instancetype)init;
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + +new + +
    +
    +
    +
    +
    +
    +

    Unavailable

    + +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    + (instancetype)new NS_UNAVAILABLE;
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/Classes/SCCameraKitLensRemoteApiResponse.html b/docs/api/ios/1.36.1/SCSDKCameraKit/Classes/SCCameraKitLensRemoteApiResponse.html new file mode 100644 index 000000000..2fb759743 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/Classes/SCCameraKitLensRemoteApiResponse.html @@ -0,0 +1,577 @@ + + + + SCCameraKitLensRemoteApiResponse Class Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

SCCameraKitLensRemoteApiResponse

+
+
+

Objective-C

+

+@interface SCCameraKitLensRemoteApiResponse
+    : NSObject <SCCameraKitLensRemoteApiResponse>
+ +
+
+

Swift

+
class LensRemoteApiResponse : NSObject, LensRemoteApiResponseProtocol
+ +
+
+

Concrete data class for the remote api service response to a request sent by a lens.

+ +
+
+ +
+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Designated init to pass in required properties for the response.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (nonnull instancetype)
    +    initWithRequest:(nonnull id<SCCameraKitLensRemoteApiRequest>)request
    +             status:(SCCameraKitLensRemoteApiResponseStatus)status
    +           metadata:(nonnull NSDictionary<NSString *, NSString *> *)metadata
    +               body:(nullable NSData *)body;
    + +
    +
    +

    Swift

    +
    init(request: LensRemoteApiRequest, status: SCCameraKitLensRemoteApiResponseStatus, metadata: [String : String], body: Data?)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + + + + + + + + + +
    + + request + + +
    +

    Remote api service request sent by a lens.

    +
    +
    + + status + + +
    +

    Status of the response.

    +
    +
    + + metadata + + +
    +

    A map of named metadata associated with the response.

    +
    +
    + + body + + +
    +

    Additional response payload as bytes.

    +
    +
    +
    +
    +
    +
  • +
  • +
    + + + + -init + +
    +
    +
    +
    +
    +
    +

    Unavailable

    + +
    +
    +

    Use designated init to pass in required properties

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (nonnull instancetype)init;
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + +new + +
    +
    +
    +
    +
    +
    +

    Unavailable

    + +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    + (instancetype)new NS_UNAVAILABLE;
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/Classes/SCCameraKitLensesConfig.html b/docs/api/ios/1.36.1/SCSDKCameraKit/Classes/SCCameraKitLensesConfig.html new file mode 100644 index 000000000..29e7e1c04 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/Classes/SCCameraKitLensesConfig.html @@ -0,0 +1,507 @@ + + + + SCCameraKitLensesConfig Class Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

SCCameraKitLensesConfig

+
+
+

Objective-C

+

+@interface SCCameraKitLensesConfig : NSObject
+ +
+
+

Swift

+
class LensesConfig : NSObject
+ +
+
+

Concrete class to configure all available, user-configurable properties within the lenses component

+ +
+
+ +
+
+
+
    +
  • +
    + + + + cacheConfig + +
    +
    +
    +
    +
    +
    +

    Cache config instance to configure cache properties

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic, strong, readonly) SCCameraKitCacheConfig *_Nonnull cacheConfig;
    + +
    +
    +

    Swift

    +
    var cacheConfig: CacheConfig { get }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + -initWithCacheConfig: + +
    +
    +
    +
    +
    +
    +

    Init with cache config instance

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (nonnull instancetype)initWithCacheConfig:
    +    (nonnull SCCameraKitCacheConfig *)cacheConfig;
    + +
    +
    +

    Swift

    +
    init(cacheConfig: CacheConfig)
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + cacheConfig + + +
    +

    cache config instance

    +
    +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/Classes/SCCameraKitPhotoCaptureOutput.html b/docs/api/ios/1.36.1/SCSDKCameraKit/Classes/SCCameraKitPhotoCaptureOutput.html new file mode 100644 index 000000000..5c47eaa4e --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/Classes/SCCameraKitPhotoCaptureOutput.html @@ -0,0 +1,686 @@ + + + + SCCameraKitPhotoCaptureOutput Class Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

SCCameraKitPhotoCaptureOutput

+
+
+

Objective-C

+

+@interface SCCameraKitPhotoCaptureOutput : NSObject
+ +
+
+

Swift

+
class PhotoCaptureOutput : NSObject
+ +
+
+

An output that will capture photos. You should add this as an output for your CameraKit instance.

+ +
+
+ +
+
+
+
    +
  • +
    + + + + -init + +
    +
    +
    +
    +
    +
    +

    Unavailable

    + +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (instancetype)init NS_UNAVAILABLE;
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + +new + +
    +
    +
    +
    +
    +
    +

    Unavailable

    + +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    + (instancetype)new NS_UNAVAILABLE;
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Instantiates a capturer with the specified AVCapturePhotoOutput and capture settings.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (nonnull instancetype)initWithCapturePhotoOutput:
    +    (nullable AVCapturePhotoOutput *)output;
    + +
    +
    +

    Swift

    +
    init(capturePhotoOutput output: AVCapturePhotoOutput?)
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + output + + +
    +

    the photo output to be used if possible. May be nil (in which case a frame from the video stream will +be captured).

    +
    +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Capture a photo and call a completion with the resulting image when done.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (void)
    +    capturePhotoWithCaptureSettings:(nullable AVCapturePhotoSettings *)settings
    +                         outputSize:(CGSize)outputSize
    +                         completion:
    +                             (nonnull void (^)(UIImage *_Nullable,
    +                                               NSError *_Nullable))completion;
    + +
    +
    +

    Swift

    +
    func capture(with settings: AVCapturePhotoSettings?, outputSize: CGSize) async throws -> UIImage
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + + + + + +
    + + settings + + +
    +

    the photo capture settings to be used. If nil, the default settings will be used.

    +
    +
    + + outputSize + + +
    +

    the size of the captured photo that should be outputted. Defaults to CGSizeZero which means +default system size.

    +
    +
    + + completion + + +
    +

    the completion block called with the captured image.

    +
    +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Capture a photo and call a completion with the resulting image when done.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (void)
    +    capturePhotoWithCaptureSettings:(nullable AVCapturePhotoSettings *)settings
    +                         completion:
    +                             (nonnull void (^)(UIImage *_Nullable,
    +                                               NSError *_Nullable))completion;
    + +
    +
    +

    Swift

    +
    func capture(with settings: AVCapturePhotoSettings?) async throws -> UIImage
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + +
    + + settings + + +
    +

    the photo capture settings to be used. If nil, the default settings will be used.

    +
    +
    + + completion + + +
    +

    the completion block called with the captured image.

    +
    +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/Classes/SCCameraKitPortraitAdjustment.html b/docs/api/ios/1.36.1/SCSDKCameraKit/Classes/SCCameraKitPortraitAdjustment.html new file mode 100644 index 000000000..8e6efda90 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/Classes/SCCameraKitPortraitAdjustment.html @@ -0,0 +1,450 @@ + + + + SCCameraKitPortraitAdjustment Class Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

SCCameraKitPortraitAdjustment

+
+
+

Objective-C

+

+@interface SCCameraKitPortraitAdjustment : NSObject <SCCameraKitAdjustment>
+
extension PortraitAdjustment: Adjustment
+ +
+
+

Swift

+
class PortraitAdjustment : NSObject, __Adjustment
+ +
+
+

An adjustment which allows users to blur the background on their input.

+ +
+
+ +
+
+
+
    +
  • +
    + + + + Controller + +
    +
    +
    +
    +
    +
    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public typealias Controller = PortraitAdjustmentController
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/Classes/SCCameraKitPreviewView.html b/docs/api/ios/1.36.1/SCSDKCameraKit/Classes/SCCameraKitPreviewView.html new file mode 100644 index 000000000..b7d61989e --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/Classes/SCCameraKitPreviewView.html @@ -0,0 +1,654 @@ + + + + SCCameraKitPreviewView Class Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

SCCameraKitPreviewView

+
+
+ +

+@interface SCCameraKitPreviewView : UIView
+ +
+
+

A UIView which is capable of rendering SCCameraKitTextures. You should add this as an output for your CameraKit +instance.

+ +
+
+ +
+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Configures the neccessary gesture recognizers for handling touch input in lenses. +If set to YES, will automatically add gesture reconizers and configure them to pass events to lenses.

    +
    +

    Note

    + by default, this is NO. You may change this to YES while cameraKit is running, and it will be configured on +the next frame. + +
    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic) BOOL automaticallyConfiguresTouchHandler;
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Configures the viewport upon changes to the view’s frame. +If set to YES, this will automatically adjust viewportSize, outputResolution, and safeArea according to the +view’s frame.

    +
    +

    Note

    + By default, this is YES. If the viewport is explicitly defined via explicitViewportProvider, this will be set +to NO. + +
    +

    Note

    + If you change this property without setting explicitViewportProvider, the view will keep the last derived +viewportSize, outputResolution, and safeArea. + +
    +

    Warning

    + If there is a mismatch between viewportSize and the view’s frame size, part of the lens may +be cut off on the screen. + +
    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic) BOOL automaticallyConfiguresViewport;
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + contentMode + +
    +
    +
    +
    +
    +
    +

    Configures the content mode the preview view will use to render.

    +
    +

    Note

    + SCCameraKitPreviewViewContentModeAspectFill by default. + +
    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic) SCCameraKitPreviewViewContentMode contentMode;
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + safeArea + +
    +
    +
    +
    +
    +
    +

    Configures the safe area to an explicitly specified rect.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic) CGRect safeArea;
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Setting this property configures the preview view to use its viewportSize, outputResolution, and safeArea.

    +
    +

    Note

    + Calling this method will set automaticallyConfiguresViewport to NO. + +
    +

    Warning

    + If there is a mismatch between viewportSize and the view’s frame size, part of the lens may be cut off +the screen. + +
    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic, strong, nullable) SCCameraKitExplicitViewportProvider *explicitViewportProvider;
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Automatically configures the safeArea property to avoid the specified views.

    +
    +

    Note

    + the preview view maintain a weak reference to the provided views and update the safe area automatically as +needed. + +
    +

    Warning

    + this method will reevaluate periodically (during bounds changes, etc), but will NOT actively track +changes to occluding views between those intervals. If you move an occluding view without affecting the preview +view, call this method again to reevaluate. + +
    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (void)configureSafeAreaWithOccludingViews:
    +    (nonnull NSArray<UIView *> *)occludingViews;
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + occludingViews + + +
    +

    any views that may be displayed in front of lenses content, such as the carousel, camera flip +button, etc. If the preview view itself is part of this array, it will be ignored.

    +
    +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/Classes/SCCameraKitSession.html b/docs/api/ios/1.36.1/SCSDKCameraKit/Classes/SCCameraKitSession.html new file mode 100644 index 000000000..fc045c613 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/Classes/SCCameraKitSession.html @@ -0,0 +1,566 @@ + + + + SCCameraKitSession Class Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

SCCameraKitSession

+
+
+

Objective-C

+

+@interface SCCameraKitSession : NSObject <SCCameraKitProtocol>
+ +
+
+

Swift

+
class Session : NSObject, CameraKitProtocol
+ +
+
+

CameraKit handles interaction with the camera and contains several components like lenses.

+ +
+
+ +
+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Init with session and lenses config instance to configure properties within lenses component

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (nonnull instancetype)
    +    initWithSessionConfig:(nullable SCCameraKitSessionConfig *)sessionConfig
    +             lensesConfig:(nonnull SCCameraKitLensesConfig *)lensesConfig
    +             errorHandler:(nullable id<SCCameraKitErrorHandler>)errorHandler;
    + +
    +
    +

    Swift

    +
    init(sessionConfig: SCCameraKitSessionConfig?, lensesConfig: SCCameraKitLensesConfig, errorHandler: SCCameraKitErrorHandler?)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + + + + + +
    + + sessionConfig + + +
    +

    session config to configure session with application id and api token

    +
    +
    + + lensesConfig + + +
    +

    lenses config to configure lenses component such as caches

    +
    +
    + + errorHandler + + +
    +

    optional error handler instance to handle exceptions thrown by CameraKit

    +
    +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Init with lenses config instance to configure properties within lenses component

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (nonnull instancetype)
    +    initWithLensesConfig:(nonnull SCCameraKitLensesConfig *)lensesConfig
    +            errorHandler:(nullable id<SCCameraKitErrorHandler>)errorHandler;
    + +
    +
    +

    Swift

    +
    init(lensesConfig: SCCameraKitLensesConfig, errorHandler: SCCameraKitErrorHandler?)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + +
    + + lensesConfig + + +
    +

    lenses config to configure lenses components such as caches

    +
    +
    + + errorHandler + + +
    +

    optional error handler instance to handle exceptions thrown by CameraKit

    +
    +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/Classes/SCCameraKitSessionConfig.html b/docs/api/ios/1.36.1/SCSDKCameraKit/Classes/SCCameraKitSessionConfig.html new file mode 100644 index 000000000..9d85a448c --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/Classes/SCCameraKitSessionConfig.html @@ -0,0 +1,898 @@ + + + + SCCameraKitSessionConfig Class Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

SCCameraKitSessionConfig

+
+
+

Objective-C

+

+@interface SCCameraKitSessionConfig : NSObject
+ +
+
+

Swift

+
class SessionConfig : NSObject
+ +
+
+

Data class that is used to pass in a configuration for the CameraKit Session. +Use this data class if you would like to be able to dynamically update config values like application id and api +token or overwrite the ones that are passed into Info.plist.

+ +
+
+ +
+
+
+
    +
  • +
    + + + + apiToken + +
    +
    +
    +
    +
    +
    +

    API token that is found in the dev portal

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic, copy, readonly) NSString *_Nonnull apiToken;
    + +
    +
    +

    Swift

    +
    var apiToken: String { get }
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +
    +

    Warning

    + USE ONLY AS DIRECTED BY SNAP SUPPORT. + +
    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic, strong, readonly) NSDictionary<NSString *, id> *_Nonnull additionalConfigurationAttributes;
    + +
    +
    +

    Swift

    +
    var additionalConfigurationAttributes: [String : Any] { get }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + -initWithApiToken: + +
    +
    +
    +
    +
    +
    +

    Designated init to pass in apiToken

    +
    +

    Note

    + as well as overwrite the apiToken passed into Info.plist with the key SCCameraKitAPIToken + +
    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (nonnull instancetype)initWithApiToken:(nonnull NSString *)apiToken;
    + +
    +
    +

    Swift

    +
    init(apiToken: String)
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + apiToken + + +
    +

    api token that is found in the dev portal

    +
    +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Init to pass in apiToken

    +
    +

    Note

    + as well as overwrite the apiToken passed into Info.plist with the key SCCameraKitAPIToken + +
    +

    Warning

    + USE ONLY AS DIRECTED BY SNAP SUPPORT. + +
    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (nonnull instancetype)initWithApiToken:(nonnull NSString *)apiToken
    +       additionalConfigurationAttributes:
    +           (nullable NSDictionary<NSString *, id> *)
    +               additionalConfigurationAttributes;
    + +
    +
    +

    Swift

    +
    convenience init(apiToken: String, additionalConfigurationAttributes: [String : Any]? = nil)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + +
    + + apiToken + + +
    +

    api token that is found in the dev portal

    +
    +
    + + additionalConfigurationAttributes + + +
    +

    additional configuration

    +
    +
    +
    +
    +
    +
  • +
  • +
    + + + + +new + +
    +
    +
    +
    +
    +
    +

    Unavailable

    + +
    +
    +

    Use designated init to pass in require applicationID and apiToken

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    + (nonnull instancetype)new;
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + -init + +
    +
    +
    +
    +
    +
    +

    Unavailable

    + +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (instancetype)init NS_UNAVAILABLE;
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + applicationId + +
    +
    +
    +
    +
    +
    +

    Deprecated

    +

    Application ID-based authentication is no longer supported. Use apiToken instead.

    + +
    +
    +

    applicationID/clientID that is found in the dev portal

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic, copy, readonly) NSString *_Nonnull applicationId;
    + +
    +
    +

    Swift

    +
    var applicationId: String { get }
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Deprecated

    +

    Application ID-based authentication is no longer supported. Use initWithApiToken: instead.

    + +
    +
    +

    Designated init to pass in applicationID and apiToken

    +
    +

    Note

    + this will override the applicationID passed into Info.plist with the key SCCameraKitClientID + +
    +

    Note

    + as well as overwrite the apiToken passed into Info.plist with the key SCCameraKitAPIToken + +
    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (nonnull instancetype)initWithApplicationID:(nonnull NSString *)applicationID
    +                                     apiToken:(nonnull NSString *)apiToken;
    + +
    +
    +

    Swift

    +
    convenience init(applicationID: String, apiToken: String)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + +
    + + applicationID + + +
    +

    applicationID/clientID that is found in the dev portal

    +
    +
    + + apiToken + + +
    +

    api token that is found in the dev portal

    +
    +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Deprecated

    +

    Application ID-based authentication is no longer supported. Use initWithApiToken:additionalConfigurationAttributes: instead.

    + +
    +
    +

    Init to pass in applicationID and apiToken

    +
    +

    Note

    + this will override the applicationID passed into Info.plist with the key SCCameraKitClientID + +
    +

    Note

    + as well as overwrite the apiToken passed into Info.plist with the key SCCameraKitAPIToken + +
    +

    Warning

    + USE ONLY AS DIRECTED BY SNAP SUPPORT. + +
    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (nonnull instancetype)initWithApplicationID:(nonnull NSString *)applicationID
    +                                     apiToken:(nonnull NSString *)apiToken
    +            additionalConfigurationAttributes:
    +                (nullable NSDictionary<NSString *, id> *)
    +                    additionalConfigurationAttributes;
    + +
    +
    +

    Swift

    +
    convenience init(applicationID: String, apiToken: String, additionalConfigurationAttributes: [String : Any]? = nil)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + + + + + +
    + + applicationID + + +
    +

    applicationID/clientID that is found in the dev portal

    +
    +
    + + apiToken + + +
    +

    api token that is found in the dev portal

    +
    +
    + + additionalConfigurationAttributes + + +
    +

    additional configuration

    +
    +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/Classes/SCCameraKitToneMapAdjustment.html b/docs/api/ios/1.36.1/SCSDKCameraKit/Classes/SCCameraKitToneMapAdjustment.html new file mode 100644 index 000000000..976c7dcc6 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/Classes/SCCameraKitToneMapAdjustment.html @@ -0,0 +1,450 @@ + + + + SCCameraKitToneMapAdjustment Class Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

SCCameraKitToneMapAdjustment

+
+
+

Objective-C

+

+@interface SCCameraKitToneMapAdjustment : NSObject <SCCameraKitAdjustment>
+
extension ToneMapAdjustment: Adjustment
+ +
+
+

Swift

+
class ToneMapAdjustment : NSObject, __Adjustment
+ +
+
+

An adjustment which allows users to more accurately represent the color of their skin when captured by the camera.

+ +
+
+ +
+
+
+
    +
  • +
    + + + + Controller + +
    +
    +
    +
    +
    +
    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public typealias Controller = ToneMapAdjustmentController
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/Classes/SCCameraKitUserData.html b/docs/api/ios/1.36.1/SCSDKCameraKit/Classes/SCCameraKitUserData.html new file mode 100644 index 000000000..39e8b1fc8 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/Classes/SCCameraKitUserData.html @@ -0,0 +1,613 @@ + + + + SCCameraKitUserData Class Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

SCCameraKitUserData

+
+
+

Objective-C

+

+@interface SCCameraKitUserData : NSObject
+ +
+
+

Swift

+
class UserData : NSObject
+ +
+
+

Concrete user data class to pass in user data that can be used by some lenses

+ +
+
+ +
+
+
+
    +
  • +
    + + + + displayName + +
    +
    +
    +
    +
    +
    +

    User’s full display name

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic, copy, readonly) NSString *_Nonnull displayName;
    + +
    +
    +

    Swift

    +
    var displayName: String { get }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + birthDate + +
    +
    +
    +
    +
    +
    +

    User’s birth date (optional)

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic, strong, readonly, nullable) NSDate *birthDate;
    + +
    +
    +

    Swift

    +
    var birthDate: Date? { get }
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Designated init to pass in user data fields

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (nonnull instancetype)initWithDisplayName:(nonnull NSString *)displayName
    +                                  birthDate:(nullable NSDate *)birthDate;
    + +
    +
    +

    Swift

    +
    init(displayName: String, birthDate: Date?)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + +
    + + displayName + + +
    +

    user’s full display name

    +
    +
    + + birthDate + + +
    +

    user’s birth date (optional)

    +
    +
    +
    +
    +
    +
  • +
  • +
    + + + + -init + +
    +
    +
    +
    +
    +
    +

    Unavailable

    + +
    +
    +

    Use designated init or convenience init to pass in required user properties

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (nonnull instancetype)init;
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + +new + +
    +
    +
    +
    +
    +
    +

    Unavailable

    + +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    + (instancetype)new NS_UNAVAILABLE;
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/Constants.html b/docs/api/ios/1.36.1/SCSDKCameraKit/Constants.html new file mode 100644 index 000000000..84827ab1f --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/Constants.html @@ -0,0 +1,959 @@ + + + + Constants Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

Constants

+

The following constants are available globally.

+ +
+
+ +
+
+
+
    +
  • +
    + + + + SCCameraKitVersion + +
    +
    +
    +
    +
    +
    +

    Short CameraKit version (ie 1.8.0)

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    extern NSString *const _Nonnull SCCameraKitVersion
    + +
    +
    +

    Swift

    +
    let CameraKitVersion: String
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    LensCore version (ie 243)

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    extern const NSInteger SCCameraKitLensCoreVersion
    + +
    +
    +

    Swift

    +
    let CameraKitLensCoreVersion: Int
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    FOUNDATION_EXTERN NSErrorDomain const
    +    SCCameraKitAdjustmentsComponentErrorDomain
    + +
    +
    +

    Swift

    +
    let AdjustmentsComponentErrorDomain: String
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    FOUNDATION_EXPORT NSInteger const SCCameraKitErrorUnspecified
    + +
    +
    +

    Swift

    +
    let SCCameraKitErrorUnspecified: Int
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    FOUNDATION_EXPORT NSInteger const SCCameraKitErrorLensMetadataNotFound
    + +
    +
    +

    Swift

    +
    let SCCameraKitErrorLensMetadataNotFound: Int
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    FOUNDATION_EXPORT NSInteger const SCCameraKitErrorLensContentNotFound
    + +
    +
    +

    Swift

    +
    let SCCameraKitErrorLensContentNotFound: Int
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    FOUNDATION_EXPORT NSInteger const SCCameraKitErrorLensContentUrlMissing
    + +
    +
    +

    Swift

    +
    let SCCameraKitErrorLensContentUrlMissing: Int
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    FOUNDATION_EXPORT NSInteger const SCCameraKitErrorLensChecksumMissing
    + +
    +
    +

    Swift

    +
    let SCCameraKitErrorLensChecksumMissing: Int
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    FOUNDATION_EXPORT NSInteger const SCCameraKitErrorCannotWriteToFile
    + +
    +
    +

    Swift

    +
    let SCCameraKitErrorCannotWriteToFile: Int
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Reported when SCCameraKitClientID in Info.plist is missing or invalid.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    extern NSString *const _Nonnull SCCameraKitExceptionUnauthorized
    + +
    +
    +

    Swift

    +
    let SCCameraKitExceptionUnauthorized: String
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Reported when backend fails to authenticate client. +This could be due to numerous different reasons, one of the most common is due to having an invalid system date and +time settings.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    extern NSString *const _Nonnull SCCameraKitExceptionInvalidApplicationState
    + +
    +
    +

    Swift

    +
    let SCCameraKitExceptionInvalidApplicationState: String
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Reported when trying to pass an invalid lens class that’s different than the internal ones we support.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    extern NSString *const _Nonnull SCCameraKitExceptionInvalidLens
    + +
    +
    +

    Swift

    +
    let SCCameraKitExceptionInvalidLens: String
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Reported when trying to draw an invalid texture class that’s different than the internal ones we support.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    extern NSString *const _Nonnull SCCameraKitExceptionInvalidTexture
    + +
    +
    +

    Swift

    +
    let SCCameraKitExceptionInvalidTexture: String
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Reported whne processing fails due to a lens error. Lens errors are normally caused by +dynamic scripting errors or missing resources in lens bundle.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    extern NSString *const _Nonnull SCCameraKitExceptionProcessingLensFailure
    + +
    +
    +

    Swift

    +
    let SCCameraKitExceptionProcessingLensFailure: String
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Reported when processing fails due to an internal error. Cause of such errors can be bugs in the +lenses processing engine or resource (memory, disk) exhaustion.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    extern NSString *const _Nonnull SCCameraKitExceptionProcessingInternalFailure
    + +
    +
    +

    Swift

    +
    let SCCameraKitExceptionProcessingInternalFailure: String
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    FOUNDATION_EXPORT NSString *const SCCameraKitLensRepositoryBundledGroup
    + +
    +
    +

    Swift

    +
    let SCCameraKitLensRepositoryBundledGroup: String
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    FOUNDATION_EXPORT NSString *const SCCameraKitLensesComponentErrorDomain
    + +
    +
    +

    Swift

    +
    let SCCameraKitLensesComponentErrorDomain: String
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/Enums.html b/docs/api/ios/1.36.1/SCSDKCameraKit/Enums.html new file mode 100644 index 000000000..7056b9f71 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/Enums.html @@ -0,0 +1,698 @@ + + + + Enumerations Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

Enumerations

+

The following enumerations are available globally.

+ +
+
+ +
+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + + See more +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    NS_ERROR_ENUM(SCCameraKitAdjustmentsComponentErrorDomain, SCCameraKitAdjustmentsComponentError){
    +
    +    // An unsupported adjustment was supplied. Check isAdjustmentAvailable before applying to avoid this.
    +    SCCameraKitAdjustmentsComponentErrorUnsupportedAdjustment = 0,
    +
    +}
    + +
    +
    +

    Swift

    +
    typealias AdjustmentsComponentError.Code._ErrorType = AdjustmentsComponentError
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Describes all posible facings (inversely relative to the user) that a lens can be designed for.

    + + See more +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    enum SCCameraKitLensFacingPreference : NSInteger {}
    + +
    +
    +

    Swift

    +
    enum LensFacingPreference : Int, @unchecked Sendable
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + + See more +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    NS_OPTIONS(NSInteger, SCCameraKitLensMediaPickerProviderAllowedMediaType) {
    +    // The current lens has not provided any specific indication of the type of picker that should be shown.
    +    SCCameraKitLensMediaPickerProviderAllowedMediaTypeNoneSpecified = 0,
    +
    +    // Images should be shown in the picker.
    +    SCCameraKitLensMediaPickerProviderAllowedMediaTypeImage = 1 << 0,
    +
    +    // If LensMediaPickerProviderAllowedMediaTypeImage is specified, the provider should ONLY show images with a
    +    // person's face in them
    +    // If LensMediaPickerProviderAllowedMediaTypeImage is not specified, this option is ignored.
    +    SCCameraKitLensMediaPickerProviderAllowedMediaTypeImageCroppedToFace = 1 << 1,
    +
    +    // Videos should be shown in the picker
    +    SCCameraKitLensMediaPickerProviderAllowedMediaTypeVideo = 1 << 2,
    +}
    + +
    +
    +

    Swift

    +
    struct SCCameraKitLensMediaPickerProviderAllowedMediaType : OptionSet, @unchecked Sendable
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + + See more +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    NS_ENUM(NSInteger, SCCameraKitLensMediaPickerAssetType) {
    +    SCCameraKitLensMediaPickerAssetTypeImage,
    +    SCCameraKitLensMediaPickerAssetTypeVideo,
    +}
    + +
    +
    +

    Swift

    +
    enum SCCameraKitLensMediaPickerAssetType : Int, @unchecked Sendable
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Describes the fetch status for the lens +Unloaded - lens content has not been fetched or loaded +Loading - lens content is currently being downloaded +Loaded - lens content has already been downloaded and fetched

    + + See more +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    enum SCCameraKitLensFetchStatus : NSInteger {}
    + +
    +
    +

    Swift

    +
    enum LensFetchStatus : Int, @unchecked Sendable
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Describes the status of the response sent to the lens.

    + + See more +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    enum SCCameraKitLensRemoteApiResponseStatus : NSInteger {}
    + +
    +
    +

    Swift

    +
    enum SCCameraKitLensRemoteApiResponseStatus : Int, @unchecked Sendable
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Describes the status of the call for the request handled by a remote api service.

    + + See more +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    enum SCCameraKitLensRemoteApiServiceCallStatus : NSInteger {}
    + +
    +
    +

    Swift

    +
    enum LensRemoteApiServiceCallStatus : Int, @unchecked Sendable
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + + See more +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    NS_ENUM(NSInteger, SCCameraKitPreviewViewContentMode) {
    +    SCCameraKitPreviewViewContentModeScaleToFill,
    +    SCCameraKitPreviewViewContentModeAspectFill,
    +    SCCameraKitPreviewViewContentModeAspectFit
    +}
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/Enums/SCCameraKitAdjustmentsComponentError.html b/docs/api/ios/1.36.1/SCSDKCameraKit/Enums/SCCameraKitAdjustmentsComponentError.html new file mode 100644 index 000000000..983de5226 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/Enums/SCCameraKitAdjustmentsComponentError.html @@ -0,0 +1,459 @@ + + + + SCCameraKitAdjustmentsComponentError Enumeration Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

SCCameraKitAdjustmentsComponentError

+
+
+

Objective-C

+
NS_ERROR_ENUM(SCCameraKitAdjustmentsComponentErrorDomain, SCCameraKitAdjustmentsComponentError){
+
+    // An unsupported adjustment was supplied. Check isAdjustmentAvailable before applying to avoid this.
+    SCCameraKitAdjustmentsComponentErrorUnsupportedAdjustment = 0,
+
+}
+ +
+
+

Swift

+
typealias AdjustmentsComponentError.Code._ErrorType = AdjustmentsComponentError
+ +
+
+

Undocumented

+ +
+
+ +
+
+
+ +
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/Enums/SCCameraKitLensFacingPreference.html b/docs/api/ios/1.36.1/SCSDKCameraKit/Enums/SCCameraKitLensFacingPreference.html new file mode 100644 index 000000000..70fd14123 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/Enums/SCCameraKitLensFacingPreference.html @@ -0,0 +1,518 @@ + + + + SCCameraKitLensFacingPreference Enumeration Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

SCCameraKitLensFacingPreference

+
+
+

Objective-C

+
enum SCCameraKitLensFacingPreference : NSInteger {}
+ +
+
+

Swift

+
enum LensFacingPreference : Int, @unchecked Sendable
+ +
+
+

Describes all posible facings (inversely relative to the user) that a lens can be designed for.

+ +
+
+ +
+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    SCCameraKitLensFacingPreferenceNone = 0
    + +
    +
    +

    Swift

    +
    case none = 0
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    SCCameraKitLensFacingPreferenceFront = 1
    + +
    +
    +

    Swift

    +
    case front = 1
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    SCCameraKitLensFacingPreferenceBack = 2
    + +
    +
    +

    Swift

    +
    case back = 2
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/Enums/SCCameraKitLensFetchStatus.html b/docs/api/ios/1.36.1/SCSDKCameraKit/Enums/SCCameraKitLensFetchStatus.html new file mode 100644 index 000000000..1f2663449 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/Enums/SCCameraKitLensFetchStatus.html @@ -0,0 +1,521 @@ + + + + SCCameraKitLensFetchStatus Enumeration Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

SCCameraKitLensFetchStatus

+
+
+

Objective-C

+
enum SCCameraKitLensFetchStatus : NSInteger {}
+ +
+
+

Swift

+
enum LensFetchStatus : Int, @unchecked Sendable
+ +
+
+

Describes the fetch status for the lens +Unloaded - lens content has not been fetched or loaded +Loading - lens content is currently being downloaded +Loaded - lens content has already been downloaded and fetched

+ +
+
+ +
+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    SCCameraKitLensFetchStatusUnloaded
    + +
    +
    +

    Swift

    +
    case unloaded = 0
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    SCCameraKitLensFetchStatusLoading
    + +
    +
    +

    Swift

    +
    case loading = 1
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    SCCameraKitLensFetchStatusLoaded
    + +
    +
    +

    Swift

    +
    case loaded = 2
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/Enums/SCCameraKitLensMediaPickerAssetType.html b/docs/api/ios/1.36.1/SCSDKCameraKit/Enums/SCCameraKitLensMediaPickerAssetType.html new file mode 100644 index 000000000..669c128ea --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/Enums/SCCameraKitLensMediaPickerAssetType.html @@ -0,0 +1,489 @@ + + + + SCCameraKitLensMediaPickerAssetType Enumeration Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

SCCameraKitLensMediaPickerAssetType

+
+
+

Objective-C

+
NS_ENUM(NSInteger, SCCameraKitLensMediaPickerAssetType) {
+    SCCameraKitLensMediaPickerAssetTypeImage,
+    SCCameraKitLensMediaPickerAssetTypeVideo,
+}
+ +
+
+

Swift

+
enum SCCameraKitLensMediaPickerAssetType : Int, @unchecked Sendable
+ +
+
+

Undocumented

+ +
+
+ +
+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    SCCameraKitLensMediaPickerAssetTypeImage
    + +
    +
    +

    Swift

    +
    case image = 0
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    SCCameraKitLensMediaPickerAssetTypeVideo
    + +
    +
    +

    Swift

    +
    case video = 1
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/Enums/SCCameraKitLensMediaPickerProviderAllowedMediaType.html b/docs/api/ios/1.36.1/SCSDKCameraKit/Enums/SCCameraKitLensMediaPickerProviderAllowedMediaType.html new file mode 100644 index 000000000..2de1ddafc --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/Enums/SCCameraKitLensMediaPickerProviderAllowedMediaType.html @@ -0,0 +1,559 @@ + + + + SCCameraKitLensMediaPickerProviderAllowedMediaType Enumeration Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

SCCameraKitLensMediaPickerProviderAllowedMediaType

+
+
+

Objective-C

+
NS_OPTIONS(NSInteger, SCCameraKitLensMediaPickerProviderAllowedMediaType) {
+    // The current lens has not provided any specific indication of the type of picker that should be shown.
+    SCCameraKitLensMediaPickerProviderAllowedMediaTypeNoneSpecified = 0,
+
+    // Images should be shown in the picker.
+    SCCameraKitLensMediaPickerProviderAllowedMediaTypeImage = 1 << 0,
+
+    // If LensMediaPickerProviderAllowedMediaTypeImage is specified, the provider should ONLY show images with a
+    // person's face in them
+    // If LensMediaPickerProviderAllowedMediaTypeImage is not specified, this option is ignored.
+    SCCameraKitLensMediaPickerProviderAllowedMediaTypeImageCroppedToFace = 1 << 1,
+
+    // Videos should be shown in the picker
+    SCCameraKitLensMediaPickerProviderAllowedMediaTypeVideo = 1 << 2,
+}
+ +
+
+

Swift

+
struct SCCameraKitLensMediaPickerProviderAllowedMediaType : OptionSet, @unchecked Sendable
+ +
+
+

Undocumented

+ +
+
+ +
+
+
+ +
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/Enums/SCCameraKitLensRemoteApiResponseStatus.html b/docs/api/ios/1.36.1/SCSDKCameraKit/Enums/SCCameraKitLensRemoteApiResponseStatus.html new file mode 100644 index 000000000..f41c30316 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/Enums/SCCameraKitLensRemoteApiResponseStatus.html @@ -0,0 +1,710 @@ + + + + SCCameraKitLensRemoteApiResponseStatus Enumeration Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

SCCameraKitLensRemoteApiResponseStatus

+
+
+

Objective-C

+
enum SCCameraKitLensRemoteApiResponseStatus : NSInteger {}
+ +
+
+

Swift

+
enum SCCameraKitLensRemoteApiResponseStatus : Int, @unchecked Sendable
+ +
+
+

Describes the status of the response sent to the lens.

+ +
+
+ +
+
+
+ +
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/Enums/SCCameraKitLensRemoteApiServiceCallStatus.html b/docs/api/ios/1.36.1/SCSDKCameraKit/Enums/SCCameraKitLensRemoteApiServiceCallStatus.html new file mode 100644 index 000000000..2658467d8 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/Enums/SCCameraKitLensRemoteApiServiceCallStatus.html @@ -0,0 +1,519 @@ + + + + SCCameraKitLensRemoteApiServiceCallStatus Enumeration Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

SCCameraKitLensRemoteApiServiceCallStatus

+
+
+

Objective-C

+
enum SCCameraKitLensRemoteApiServiceCallStatus : NSInteger {}
+ +
+
+

Swift

+
enum LensRemoteApiServiceCallStatus : Int, @unchecked Sendable
+ +
+
+

Describes the status of the call for the request handled by a remote api service.

+ +
+
+ +
+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Request was ignored typically due to a remote api service not interested in handling such request to allow other + services to handle the same request.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    SCCameraKitLensRemoteApiServiceCallStatusIgnored
    + +
    +
    +

    Swift

    +
    case ignored = 0
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Request was received but one or more responses are yet to be sent.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    SCCameraKitLensRemoteApiServiceCallStatusOngoing
    + +
    +
    +

    Swift

    +
    case ongoing = 1
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Request was received and a single response was sent indicating that the call is complete.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    SCCameraKitLensRemoteApiServiceCallStatusAnswered
    + +
    +
    +

    Swift

    +
    case answered = 2
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/Enums/SCCameraKitPreviewViewContentMode.html b/docs/api/ios/1.36.1/SCSDKCameraKit/Enums/SCCameraKitPreviewViewContentMode.html new file mode 100644 index 000000000..7fc9072a8 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/Enums/SCCameraKitPreviewViewContentMode.html @@ -0,0 +1,502 @@ + + + + SCCameraKitPreviewViewContentMode Enumeration Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

SCCameraKitPreviewViewContentMode

+
+
+ +
NS_ENUM(NSInteger, SCCameraKitPreviewViewContentMode) {
+    SCCameraKitPreviewViewContentModeScaleToFill,
+    SCCameraKitPreviewViewContentModeAspectFill,
+    SCCameraKitPreviewViewContentModeAspectFit
+}
+ +
+
+

Undocumented

+ +
+
+ +
+
+
+ +
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/Extensions.html b/docs/api/ios/1.36.1/SCSDKCameraKit/Extensions.html new file mode 100644 index 000000000..4f3d4da6e --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/Extensions.html @@ -0,0 +1,437 @@ + + + + Extensions Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

Extensions

+

The following extensions are available globally.

+ +
+
+ +
+
+
+
    +
  • +
    + + + + AdjustmentsProcessor + +
    +
    +
    +
    +
    +
    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public extension AdjustmentsProcessor
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/Extensions/AdjustmentsProcessor.html b/docs/api/ios/1.36.1/SCSDKCameraKit/Extensions/AdjustmentsProcessor.html new file mode 100644 index 000000000..f93041892 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/Extensions/AdjustmentsProcessor.html @@ -0,0 +1,466 @@ + + + + AdjustmentsProcessor Extension Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

AdjustmentsProcessor

+
+
+ +
public extension AdjustmentsProcessor
+ +
+
+ +
+
+ +
+
+
+
    +
  • +
    + + + + apply(adjustment:) + +
    +
    +
    +
    +
    +
    +

    Applies a given adjustment and returns a controller which allows runtime configuration of the adjustment.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    func apply<AdjustmentType>(adjustment: AdjustmentType) throws -> AdjustmentType.Controller where AdjustmentType : Adjustment
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + adjustment + + +
    +

    The adjustment to apply.

    +
    +
    +
    +
    +

    Return Value

    +

    A controller to configure the adjustment.

    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/Protocols.html b/docs/api/ios/1.36.1/SCSDKCameraKit/Protocols.html new file mode 100644 index 000000000..b0e255693 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/Protocols.html @@ -0,0 +1,2323 @@ + + + + Protocols Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

Protocols

+

The following protocols are available globally.

+ +
+
+ +
+
+
+
    +
  • +
    + + + + SCCameraKitProtocol + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + + See more +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @protocol SCCameraKitProtocol <NSObject>
    +
    +/// Contains lenses related objects.
    +@property (strong, nonatomic, readonly) id<SCCameraKitLensesComponent> lenses;
    +
    +/// Contains adjustment related objects.
    +@property (strong, nonatomic, readonly) id<SCCameraKitAdjustmentsComponent> adjustments;
    +
    +/// Begin processing input frames with front camera position and portrait video orientation
    +/// @param input the input to configure.
    +/// @param arInput the ARKit input to configure.
    +- (void)startWithInput:(id<SCCameraKitInput>)input
    +               arInput:(id<SCCameraKitARInput>)arInput NS_SWIFT_NAME(start(input:arInput:));
    +
    +/// Deprecated. Use
    +/// -startWithInput:arInput:cameraPosition:videoOrientation:dataProvider:hintDelegate:agreementsPresentationContextProvider:
    +- (void)startWithInput:(id<SCCameraKitInput>)input
    +               arInput:(id<SCCameraKitARInput>)arInput
    +        cameraPosition:(AVCaptureDevicePosition)cameraPosition
    +      videoOrientation:(AVCaptureVideoOrientation)videoOrientation
    +          dataProvider:(SCCameraKitDataProviderComponent *)dataProvider
    +          hintDelegate:(id<SCCameraKitLensHintDelegate>)hintDelegate __attribute__((deprecated));
    +
    +/// Deprecated. Use
    +/// -startWithInput:arInput:cameraPosition:videoOrientation:dataProvider:hintDelegate:textInputContextProvider:agreementsPresentationContextProvider:
    +- (void)startWithInput:(id<SCCameraKitInput>)input
    +                                  arInput:(id<SCCameraKitARInput>)arInput
    +                           cameraPosition:(AVCaptureDevicePosition)cameraPosition
    +                         videoOrientation:(AVCaptureVideoOrientation)videoOrientation
    +                             dataProvider:(nullable SCCameraKitDataProviderComponent *)dataProvider
    +                             hintDelegate:(nullable id<SCCameraKitLensHintDelegate>)hintDelegate
    +    agreementsPresentationContextProvider:
    +        (nullable id<SCCameraKitAgreementsPresentationContextProvider>)agreementsPresentationContextProvider
    +    NS_SWIFT_NAME(start(input:arInput:cameraPosition:videoOrientation:dataProvider:hintDelegate:agreementsPresentationContextProvider:))
    +        __attribute__((deprecated));
    +;
    +
    +/// Begin processing input frames.
    +/// @param input the input to configure.
    +/// @param arInput the ARKit input to configure.
    +/// @param cameraPosition the camera position in use
    +/// @param videoOrientation the orientation for the outputted video buffers
    +/// @param dataProvider data provider component to pass in custom data providers (optional -- will create and handle
    +/// data providers by default if nil)
    +/// @param hintDelegate lens hint delegate to show/hide hints for applied lenses
    +/// @param textInputContextProvider context provider for providing keyboard access to lenses
    +/// @param agreementsPresentationContextProvider context provider for presenting agreements screens
    +- (void)startWithInput:(id<SCCameraKitInput>)input
    +                                  arInput:(id<SCCameraKitARInput>)arInput
    +                           cameraPosition:(AVCaptureDevicePosition)cameraPosition
    +                         videoOrientation:(AVCaptureVideoOrientation)videoOrientation
    +                             dataProvider:(nullable SCCameraKitDataProviderComponent *)dataProvider
    +                             hintDelegate:(nullable id<SCCameraKitLensHintDelegate>)hintDelegate
    +                 textInputContextProvider:(nullable id<SCCameraKitTextInputContextProvider>)textInputContextProvider
    +    agreementsPresentationContextProvider:
    +        (nullable id<SCCameraKitAgreementsPresentationContextProvider>)agreementsPresentationContextProvider
    +    NS_SWIFT_NAME(start(input:arInput:cameraPosition:videoOrientation:dataProvider:hintDelegate:textInputContextProvider:agreementsPresentationContextProvider:));
    +
    +/// End processing input frames.
    +- (void)stop;
    +
    +/// End processing input frames.
    +/// @param completion Block to be called after processing is finished and session is stopped
    +- (void)stopWithCompletion:(nullable void (^)(void))completion NS_SWIFT_NAME(stop(completion:));
    +
    +/// Add an output. Frames will still be processed if no outputs exist.
    +- (void)addOutput:(id<SCCameraKitOutput>)output NS_SWIFT_NAME(add(output:));
    +
    +/// Remove an output.
    +- (void)removeOutput:(id<SCCameraKitOutput>)listener NS_SWIFT_NAME(remove(output:));
    +
    +/// The camera position in use. Setting will automatically update the input.
    +@property (nonatomic, assign) AVCaptureDevicePosition cameraPosition;
    +
    +/// The orientation for the outputted video buffers
    +@property (nonatomic, assign) AVCaptureVideoOrientation videoOrientation;
    +
    +/// The active input. May be either standard camera input or the AR input, depending on lens requirements.
    +@property (nonatomic, readonly) id<SCCameraKitInput> activeInput;
    +
    +/// Store containing information above the acceptance state of terms of service
    +@property (nonatomic, readonly) id<SCCameraKitAgreementsStore> agreementsStore;
    +
    +/// Presents any agreements such as Terms of Service or Privacy Policy for CameraKit immediately, if needed.
    +/// @note CameraKit will present this when the user applies a lens if they have new agreements to accept. You can call
    +/// this explicitly if you wish to present the terms before then (eg during an onboarding experience, alongside your own
    +/// app's Terms of Service)
    +- (void)presentAgreementsImmediately;
    +
    +@end
    + +
    +
    +

    Swift

    +
    protocol CameraKitProtocol : NSObjectProtocol
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Propogates ARKit session delegate methods back to CameraKit. +If you implement your own AR Input, you MUST call these methods when their corresponding ARKit delegate methods +are called.

    + + See more +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @protocol SCCameraKitARInputDelegate
    + +
    +
    +

    Swift

    +
    protocol ARInputDelegate
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + SCCameraKitARInput + +
    +
    +
    +
    +
    +
    +

    Describes a source of AR data for CameraKit.

    + + See more +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @protocol SCCameraKitARInput <SCCameraKitInput>
    + +
    +
    +

    Swift

    +
    protocol ARInput
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Describes an interface that will handle fetching the access token.

    + + See more +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @protocol SCCameraKitAccessTokenProviderTask <NSObject>
    + +
    +
    +

    Swift

    +
    protocol AccessTokenProviderTask : NSObjectProtocol
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Describes an interface to provide an access token (ie. from LoginKit) required by some features like connected +lenses, push to device, etc.

    + + See more +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @protocol SCCameraKitAccessTokenProvider <NSObject>
    + +
    +
    +

    Swift

    +
    protocol AccessTokenProvider : NSObjectProtocol
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + SCCameraKitAdjustment + +
    +
    +
    +
    +
    +
    +

    Protocol describing the Objective-C interface to an Adjustment.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @protocol SCCameraKitAdjustment <NSObject>
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Protocol describing the Objective-C interface to an Adjustment Controller.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @protocol SCCameraKitAdjustmentController <NSObject>
    + +
    +
    +

    Swift

    +
    protocol AdjustmentController : NSObjectProtocol
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    A controller to control the tone map adjustment.

    + + See more +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @protocol
    +    SCCameraKitToneMapAdjustmentController <SCCameraKitAdjustmentController>
    + +
    +
    +

    Swift

    +
    protocol ToneMapAdjustmentController : AdjustmentController
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    A controller to control the portrait adjustment.

    + + See more +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @protocol
    +    SCCameraKitPortraitAdjustmentController <SCCameraKitAdjustmentController>
    + +
    +
    +

    Swift

    +
    protocol PortraitAdjustmentController : AdjustmentController
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    The adjustments processor handles adjusting camera frames before they are processed by lenses.

    + + See more +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @protocol SCCameraKitAdjustmentsProcessor <NSObject>
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    The adjustments component wraps several adjustment-related classes.

    + + See more +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @protocol SCCameraKitAdjustmentsComponent <NSObject>
    + +
    +
    +

    Swift

    +
    protocol AdjustmentsComponent : NSObjectProtocol
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Allows conformers to be notified of changes to adjustments processor state

    + + See more +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @protocol SCCameraKitAdjustmentsProcessorObserver <NSObject>
    + +
    +
    +

    Swift

    +
    protocol AdjustmentsProcessorObserver : NSObjectProtocol
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Protocol to interface with agreements by CameraKit +This interface should not be used directly.

    + + See more +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @protocol SCCameraKitAgreementSet <NSObject>
    + +
    +
    +

    Swift

    +
    protocol AgreementSet : NSObjectProtocol
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Describes an interface to provide presentation context for CameraKit to present agreements.

    + + See more +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @protocol SCCameraKitAgreementsPresentationContextProvider <NSObject>
    + +
    +
    +

    Swift

    +
    protocol AgreementsPresentationContextProvider : NSObjectProtocol
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Protocol describing the CameraKit agreements store.

    +
    +

    Warning

    + DO NOT attempt to directly use this protocol. Attempting to do so WILL CAUSE YOUR APP TO CRASH. Use +SCCameraKitAgreementsPresentationContextProvider to define how CameraKit will show agreements on your behalf. + +
    + + See more +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @protocol SCCameraKitAgreementsStore <NSObject>
    + +
    +
    +

    Swift

    +
    protocol AgreementsStore : NSObjectProtocol
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Params for device motion interface

    + + See more +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @protocol SCCameraKitDeviceMotionParameters <NSObject>
    + +
    +
    +

    Swift

    +
    protocol DeviceMotionParameters : NSObjectProtocol
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Protocol to provide device motion data and handle starting/updating/stopping

    + + See more +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @protocol SCCameraKitDeviceMotionDataProvider <NSObject>
    + +
    +
    +

    Swift

    +
    protocol DeviceMotionDataProvider : NSObjectProtocol
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Describes an interface to handler errors and exceptions related to CameraKit

    + + See more +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @protocol SCCameraKitErrorHandler
    + +
    +
    +

    Swift

    +
    protocol ErrorHandler
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    The input destination is an intermediary for frame data.

    + + See more +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @protocol SCCameraKitInputDestination
    + +
    +
    +

    Swift

    +
    protocol InputDestination
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + SCCameraKitInput + +
    +
    +
    +
    +
    +
    +

    Describes a source of frames for CameraKit. Can be a camera, file, etc.

    + + See more +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @protocol SCCameraKitInput
    + +
    +
    +

    Swift

    +
    protocol Input
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Describes an interface that contains lens preview data

    + + See more +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @protocol SCCameraKitLensPreview <NSObject>
    + +
    +
    +

    Swift

    +
    protocol LensPreview : NSObjectProtocol
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Describes an interface that contains lens snapcodes data

    + + See more +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @protocol SCCameraKitLensSnapcodes <NSObject>
    + +
    +
    +

    Swift

    +
    protocol LensSnapcodes : NSObjectProtocol
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + SCCameraKitLens + +
    +
    +
    +
    +
    +
    +

    Describes a lens object.

    + + See more +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @protocol SCCameraKitLens <NSObject>
    + +
    +
    +

    Swift

    +
    protocol Lens : NSObjectProtocol
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Lens hint delegate used to notify receivers when to show/hide hints for applied lenses

    + + See more +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @protocol SCCameraKitLensHintDelegate <NSObject>
    + +
    +
    +

    Swift

    +
    protocol LensHintDelegate : NSObjectProtocol
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Describes an interface used to provide lens hint localizations from hint ids

    + + See more +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @protocol SCCameraKitLensHintProvider <NSObject>
    + +
    +
    +

    Swift

    +
    protocol LensHintProvider : NSObjectProtocol
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    An opaque protocol used to pass launch data to processor when applying lens

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @protocol SCCameraKitLensLaunchData <NSObject>
    + +
    +
    +

    Swift

    +
    protocol LensLaunchData : NSObjectProtocol
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + + See more +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @protocol SCCameraKitLensMediaPickerProvider <NSObject>
    +
    +/// A delegate that must be notified when loadAndApplyOriginalMediaFromAsset: finishes loading an original asset.
    +/// @warning: DO NOT set this delegate manually. CameraKit will set this property appropriately.
    +@property (weak, nonatomic) id<SCCameraKitLensMediaPickerProviderMediaApplicationDelegate> mediaApplicationDelegate;
    +
    +/// A delegate that will be notified when picker-related UI should be shown or hidden.
    +@property (weak, nonatomic) id<SCCameraKitLensMediaPickerProviderUIDelegate> uiDelegate;
    +
    +/// The number of assets that have been fetched and may be displayed by the picker UI.
    +@property (readonly, nonatomic, assign) NSInteger fetchedAssetCount;
    +
    +/// Whether or not the data provider has more assets available to fetch.
    +@property (readonly, nonatomic, assign) BOOL hasMoreAssetsToFetch;
    +
    +/// Fetches a new batch of assets.
    +/// @param batchSize How many items to fetch. A provider may return less than this if it exhausts available assets
    +/// without reaching the desired batch size
    +/// @param queue a dispatch queue to receive callbacks on
    +/// @param completion a completion block to be called when the fetch has completed
    +- (void)fetchNextAssetBatchOfSize:(NSInteger)batchSize
    +                            queue:(dispatch_queue_t)queue
    +                       completion:(void (^)(NSArray<id<SCCameraKitLensMediaPickerAsset>> *))completion
    +    NS_SWIFT_NAME(fetchNextAssetBatch(size:queue:completion:));
    +
    +/// Retrieves a fetched asset at a given index.
    +/// @param index the index to fetch.
    +- (id<SCCameraKitLensMediaPickerAsset>)fetchedAssetAtIndex:(NSInteger)index NS_SWIFT_NAME(fetchedAsset(at:));
    +
    +/// Loads the full resolution backing asset of a specified asset and applies it to lenses.
    +/// @param asset the asset to load and apply
    +/// @param completion a completion block called when application is complete
    +/// @note Implementors of this method MUST call the appropriate method on the uiDelegate when the loading is completed
    +/// in order for the lens to succesfully apply the media.
    +- (void)loadAndApplyOriginalMediaFromAsset:(id<SCCameraKitLensMediaPickerAsset>)asset
    +                                completion:(nullable void (^)(void))completion
    +    NS_SWIFT_NAME(loadAndApplyOriginalMedia(from:completion:));
    +
    +/// Invalidates and resets internal state of the provider with a newly specified allowed media type option set.
    +/// @param assetType The asset types to allow in results.
    +- (void)reconfigureWithAllowedTypes:(SCCameraKitLensMediaPickerProviderAllowedMediaType)assetType;
    +
    +@end
    + +
    +
    +

    Swift

    +
    protocol LensMediaPickerProvider : NSObjectProtocol
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    An asset provided by the picker. May be backed by a PHAsset, or an app’s own custom media type.

    + + See more +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @protocol SCCameraKitLensMediaPickerAsset <NSObject>
    + +
    +
    +

    Swift

    +
    protocol LensMediaPickerProviderAsset : NSObjectProtocol
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Delegate responsible for handling UI events related to the provider, such as showing/hiding a picker.

    + + See more +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @protocol SCCameraKitLensMediaPickerProviderUIDelegate <NSObject>
    + +
    +
    +

    Swift

    +
    protocol LensMediaPickerProviderUIDelegate : NSObjectProtocol
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Delegate responsible for applying media to a lens. This should not be implemented directly.

    +
    +

    Note

    + If you create a custom provider, you’ll need to call the methods here from your provider. See notes on +provider.uiDelegate for more details. + +
    + + See more +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @protocol SCCameraKitLensMediaPickerProviderMediaApplicationDelegate <NSObject>
    + +
    +
    +

    Swift

    +
    protocol LensMediaPickerProviderMediaApplicationDelegate : NSObjectProtocol
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Describes an interface used to observe changes in lens fetch status

    + + See more +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @protocol SCCameraKitLensPrefetcherObserver <NSObject>
    + +
    +
    +

    Swift

    +
    protocol LensPrefetcherObserver : NSObjectProtocol
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Describes the interface used to cancel an ongoing prefetch task

    + + See more +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @protocol SCCameraKitLensPrefetcherTask <NSObject>
    + +
    +
    +

    Swift

    +
    protocol LensPrefetcherTask : NSObjectProtocol
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Describes the interface used to prefetch lens content

    + + See more +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @protocol SCCameraKitLensPrefetcher <NSObject>
    + +
    +
    +

    Swift

    +
    protocol LensPrefetcher : NSObjectProtocol
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    The lens processor handles transforming camera frames and adding effects to them.

    + + See more +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @protocol SCCameraKitLensProcessor <NSObject>
    + +
    +
    +

    Swift

    +
    protocol LensProcessor : NSObjectProtocol
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Allows conformers to be notified of changes to lens processor state

    + + See more +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @protocol SCCameraKitLensProcessorObserver <NSObject>
    + +
    +
    +

    Swift

    +
    protocol ProcessorObserver : NSObjectProtocol
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Describes the remote api service request sent by a lens.

    + + See more +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @protocol SCCameraKitLensRemoteApiRequest <NSObject>
    + +
    +
    +

    Swift

    +
    protocol LensRemoteApiRequest : NSObjectProtocol
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Describes the remote api service response to a request sent by a lens.

    + + See more +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @protocol SCCameraKitLensRemoteApiResponse <NSObject>
    + +
    +
    +

    Swift

    +
    protocol LensRemoteApiResponseProtocol : NSObjectProtocol
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Describes the call that is sent in response to a remote api request sent by a lens.

    + + See more +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @protocol SCCameraKitLensRemoteApiServiceCall <NSObject>
    + +
    +
    +

    Swift

    +
    protocol LensRemoteApiServiceCall : NSObjectProtocol
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Describes a remote api service used to process requests sent by a lens.

    + + See more +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @protocol SCCameraKitLensRemoteApiService <NSObject>
    + +
    +
    +

    Swift

    +
    protocol LensRemoteApiService : NSObjectProtocol
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Describes an interface to provide remote api services for specific lenses and api spec identifiers.

    + + See more +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @protocol SCCameraKitLensRemoteApiServiceProvider <NSObject>
    + +
    +
    +

    Swift

    +
    protocol LensRemoteApiServiceProvider : NSObjectProtocol
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Allows conformers to be notified of changes to lens groups the repository has available.

    + + See more +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @protocol SCCameraKitLensRepositoryGroupObserver <NSObject>
    + +
    +
    +

    Swift

    +
    protocol LensRepositoryGroupObserver : NSObjectProtocol
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Allows conformers to be notified of changes to specific lenses in groups the repository has available.

    + + See more +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @protocol SCCameraKitLensRepositorySpecificObserver <NSObject>
    + +
    +
    +

    Swift

    +
    protocol LensRepositorySpecificObserver : NSObjectProtocol
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    The lenses component wraps several lens-related classes.

    + + See more +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @protocol SCCameraKitLensesComponent <NSObject>
    + +
    +
    +

    Swift

    +
    protocol LensesComponent : NSObjectProtocol
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Lens Repository for listing lenses, getting lenses, etc.

    + + See more +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @protocol SCCameraKitLensRepository <NSObject>
    + +
    +
    +

    Swift

    +
    protocol LensRepository : NSObjectProtocol
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Params for device motion interface

    + + See more +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @protocol SCCameraKitLocationParameters <NSObject>
    + +
    +
    +

    Swift

    +
    protocol LocationParameters : NSObjectProtocol
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Protocol to provide device motion data and handle starting/updating/stopping

    + + See more +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @protocol SCCameraKitLocationDataProvider <NSObject>
    + +
    +
    +

    Swift

    +
    protocol LocationDataProvider : NSObjectProtocol
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + SCCameraKitOutput + +
    +
    +
    +
    +
    +
    +

    Allows conformers to be notified of new frame data from CameraKit.

    + + See more +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @protocol SCCameraKitOutput <NSObject>
    + +
    +
    +

    Swift

    +
    protocol Output : NSObjectProtocol
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Protocol to interface with preferences stored by CameraKit +This interface is intentionally opaque and should only be used to clear out stored preferences

    + + See more +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @protocol SCCameraKitPreferences <NSObject>
    + +
    +
    +

    Swift

    +
    protocol SCCameraKitPreferences : NSObjectProtocol
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Protocol for representing a text input view on-screen for lenses that request it.

    + + See more +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @protocol SCCameraKitTextInputKeyboardAccessoryProvider <NSObject>
    + +
    +
    +

    Swift

    +
    protocol TextInputKeyboardAccessoryProvider : NSObjectProtocol
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Protocol to provide keyboard input data to lenses.

    + + See more +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @protocol SCCameraKitTextInputContextProvider <NSObject>
    + +
    +
    +

    Swift

    +
    protocol TextInputContextProvider : NSObjectProtocol
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + SCCameraKitTexture + +
    +
    +
    +
    +
    +
    +

    An opaque protocol describing CameraKit output.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @protocol SCCameraKitTexture <NSObject>
    + +
    +
    +

    Swift

    +
    protocol Texture : NSObjectProtocol
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    User data provider delegate to provide receivers with new user data on updates

    + + See more +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @protocol SCCameraKitUserDataProviderDelegate <NSObject>
    + +
    +
    +

    Swift

    +
    protocol UserDataProviderDelegate : NSObjectProtocol
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Describes an interface that provides user data to lenses

    + + See more +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @protocol SCCameraKitUserDataProvider <NSObject>
    + +
    +
    +

    Swift

    +
    protocol UserDataProvider : NSObjectProtocol
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + Adjustment + +
    +
    +
    +
    +
    +
    +

    Swift protocol for an adjustment. Specifies an associated Controller type.

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public protocol Adjustment : __Adjustment
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/Adjustment.html b/docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/Adjustment.html new file mode 100644 index 000000000..1b7d17ccd --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/Adjustment.html @@ -0,0 +1,443 @@ + + + + Adjustment Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

Adjustment

+
+
+ +
public protocol Adjustment : __Adjustment
+ +
+
+

Swift protocol for an adjustment. Specifies an associated Controller type.

+ +
+
+ +
+
+
+
    +
  • +
    + + + + Controller + +
    +
    +
    +
    +
    +
    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    associatedtype Controller : AdjustmentController
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitARInput.html b/docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitARInput.html new file mode 100644 index 000000000..f96ff6f95 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitARInput.html @@ -0,0 +1,595 @@ + + + + SCCameraKitARInput Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

SCCameraKitARInput

+
+
+

Objective-C

+
@protocol SCCameraKitARInput <SCCameraKitInput>
+ +
+
+

Swift

+
protocol ARInput
+ +
+
+

Describes a source of AR data for CameraKit.

+ +
+
+ +
+
+
+
    +
  • +
    + + + + session + +
    +
    +
    +
    +
    +
    +

    The managed ARSession.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic, strong, readonly) ARSession *_Nonnull session;
    + +
    +
    +

    Swift

    +
    var session: ARSession { get }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + arDelegate + +
    +
    +
    +
    +
    +
    +

    The intermediate destination for ARKit delegate methods. See the protocol definition for more details. +This property should NOT be set directly. CameraKit will assign this as appropriate.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic, weak) id<SCCameraKitARInputDelegate> _Nullable arDelegate;
    + +
    +
    +

    Swift

    +
    weak var arDelegate: ARInputDelegate? { get set }
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    The ARConfiguration to use when using the front camera.

    +
    +

    Warning

    + if your app supports lenses with true sizing, you MUST return an instance of ARFaceTrackingConfiguration +(additionally, we recommend setting the number of tracked faces to 0) + +
    +

    Note

    + this is nil by default, as adding ARFaceTrackingConfiguration will subject your app to additional app review, +concerning your usage of the TrueDepth camera. + +
    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic, strong, readonly) ARConfiguration *_Nonnull frontCameraConfiguration;
    + +
    +
    +

    Swift

    +
    var frontCameraConfiguration: ARConfiguration { get }
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Runs the session with the provided configuration and options.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (void)runWithConfiguration:(nonnull ARConfiguration *)configuration
    +                     options:(ARSessionRunOptions)options;
    + +
    +
    +

    Swift

    +
    func run(_ configuration: ARConfiguration, options: ARSession.RunOptions = [])
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + -pause + +
    +
    +
    +
    +
    +
    +

    Pauses the session.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (void)pause;
    + +
    +
    +

    Swift

    +
    func pause()
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitARInputDelegate.html b/docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitARInputDelegate.html new file mode 100644 index 000000000..304c9de94 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitARInputDelegate.html @@ -0,0 +1,616 @@ + + + + SCCameraKitARInputDelegate Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

SCCameraKitARInputDelegate

+
+
+

Objective-C

+
@protocol SCCameraKitARInputDelegate
+ +
+
+

Swift

+
protocol ARInputDelegate
+ +
+
+

Propogates ARKit session delegate methods back to CameraKit. +If you implement your own AR Input, you MUST call these methods when their corresponding ARKit delegate methods +are called.

+ +
+
+ +
+
+
+
    +
  • +
    + + + + -input:didAddAnchors: + +
    +
    +
    +
    +
    +
    +

    Method to call when the input receives session:didAddAnchors:

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (void)input:(nonnull id<SCCameraKitARInput>)input
    +    didAddAnchors:(nonnull NSArray<ARAnchor *> *)anchors;
    + +
    +
    +

    Swift

    +
    func input(_ input: ARInput, didAdd anchors: [ARAnchor])
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + +
    + + input + + +
    +

    the sending input

    +
    +
    + + anchors + + +
    +

    the anchors passed to the delegate

    +
    +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Method to call when the input receives session:didUpdateAnchors:

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (void)input:(nonnull id<SCCameraKitARInput>)input
    +    didUpdateAnchors:(nonnull NSArray<ARAnchor *> *)anchors;
    + +
    +
    +

    Swift

    +
    func input(_ input: ARInput, didUpdate anchors: [ARAnchor])
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + +
    + + input + + +
    +

    the sending input

    +
    +
    + + anchors + + +
    +

    the anchors passed to the delegate

    +
    +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Method to call when the input receives session:didRemoveAnchors:

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (void)input:(nonnull id<SCCameraKitARInput>)input
    +    didRemoveAnchors:(nonnull NSArray<ARAnchor *> *)anchors;
    + +
    +
    +

    Swift

    +
    func input(_ input: ARInput, didRemove anchors: [ARAnchor])
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + +
    + + input + + +
    +

    the sending input

    +
    +
    + + anchors + + +
    +

    the anchors passed to the delegate

    +
    +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitAccessTokenProvider.html b/docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitAccessTokenProvider.html new file mode 100644 index 000000000..f980646a3 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitAccessTokenProvider.html @@ -0,0 +1,544 @@ + + + + SCCameraKitAccessTokenProvider Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

SCCameraKitAccessTokenProvider

+
+
+

Objective-C

+
@protocol SCCameraKitAccessTokenProvider <NSObject>
+ +
+
+

Swift

+
protocol AccessTokenProvider : NSObjectProtocol
+ +
+
+

Describes an interface to provide an access token (ie. from LoginKit) required by some features like connected +lenses, push to device, etc.

+ +
+
+ +
+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    If the user is already authenticated, fetch a valid/non-expired access token to be used by some features like connected lenses, push to device, etc. +Returns an access token task if the fetch token task is cancellable or nil if the task is not cancellable.

    +
    +

    Note

    + It is up to the provider to ensure that the access token will be active for the lifetime of the feature using +the token. + +
    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (nullable id<SCCameraKitAccessTokenProviderTask>)
    +    fetchAccessTokenIfAuthenticatedWithCompletion:
    +        (nonnull void (^)(NSString *_Nullable, NSError *_Nullable))completion;
    + +
    +
    +

    Swift

    +
    func fetchAccessTokenIfAuthenticated(completion: @escaping (String?, Error?) -> Void) -> AccessTokenProviderTask?
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + completion + + +
    +

    Callback on completion with access token on success or error on failure.

    +
    +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Fetch a valid/non-expired access token to be used by some features like connected lenses, push to device, etc. +May take the user through an authentication flow if the user is not already authenticated. +Returns an access token task if the fetch token task is cancellable or nil if the task is not cancellable.

    +
    +

    Note

    + It is up to the provider to ensure that the access token will be active for the lifetime of the feature using +the token. + +
    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (nullable id<SCCameraKitAccessTokenProviderTask>)
    +    fetchAccessTokenWithCompletion:
    +        (nonnull void (^)(NSString *_Nullable, NSError *_Nullable))completion;
    + +
    +
    +

    Swift

    +
    func fetchAccessToken(completion: @escaping (String?, Error?) -> Void) -> AccessTokenProviderTask?
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + completion + + +
    +

    Callback on completion with access token on success or error on failure.

    +
    +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitAccessTokenProviderTask.html b/docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitAccessTokenProviderTask.html new file mode 100644 index 000000000..7a5d23ef4 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitAccessTokenProviderTask.html @@ -0,0 +1,454 @@ + + + + SCCameraKitAccessTokenProviderTask Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

SCCameraKitAccessTokenProviderTask

+
+
+

Objective-C

+
@protocol SCCameraKitAccessTokenProviderTask <NSObject>
+ +
+
+

Swift

+
protocol AccessTokenProviderTask : NSObjectProtocol
+ +
+
+

Describes an interface that will handle fetching the access token.

+ +
+
+ +
+
+
+
    +
  • +
    + + + + -cancel + +
    +
    +
    +
    +
    +
    +

    Cancels fetching access token if it’s currently in progress;

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (void)cancel;
    + +
    +
    +

    Swift

    +
    func cancel()
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitAdjustmentsComponent.html b/docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitAdjustmentsComponent.html new file mode 100644 index 000000000..e7829b2d3 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitAdjustmentsComponent.html @@ -0,0 +1,454 @@ + + + + SCCameraKitAdjustmentsComponent Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

SCCameraKitAdjustmentsComponent

+
+
+

Objective-C

+
@protocol SCCameraKitAdjustmentsComponent <NSObject>
+ +
+
+

Swift

+
protocol AdjustmentsComponent : NSObjectProtocol
+ +
+
+

The adjustments component wraps several adjustment-related classes.

+ +
+
+ +
+
+
+
    +
  • +
    + + + + processor + +
    +
    +
    +
    +
    +
    +

    Handles the actual adjustment application. Will be null if CameraKit is not running with a valid input.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic, strong, readonly, nullable) id<SCCameraKitAdjustmentsProcessor> processor;
    + +
    +
    +

    Swift

    +
    var processor: AdjustmentsProcessor? { get }
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitAdjustmentsProcessor.html b/docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitAdjustmentsProcessor.html new file mode 100644 index 000000000..3ba030b3b --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitAdjustmentsProcessor.html @@ -0,0 +1,667 @@ + + + + SCCameraKitAdjustmentsProcessor Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

SCCameraKitAdjustmentsProcessor

+
+
+ +
@protocol SCCameraKitAdjustmentsProcessor <NSObject>
+ +
+
+

The adjustments processor handles adjusting camera frames before they are processed by lenses.

+ +
+
+ +
+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Checks if an adjustment is available and supported by the current device. Some adjustments are performance sensitive +or require specific hardware which may mean they are unavailable on specific devices. You should call this method +before showing any UI associated with the adjustment.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (BOOL)isAdjustmentAvailable:(nonnull id<SCCameraKitAdjustment>)adjustment;
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + adjustment + + +
    +

    the adjustment to check.

    +
    +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Applies the specified adjustment.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (nullable id<SCCameraKitAdjustmentController>)
    +    applyAdjustment:(nonnull id<SCCameraKitAdjustment>)adjustment
    +              error:(NSError *_Nullable *_Nullable)error;
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + +
    + + adjustment + + +
    +

    The adjustment to apply.

    +
    +
    + + error + + +
    +

    Any error that may occur during application.

    +
    +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Removes an adjustment.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (void)removeAdjustmentController:
    +    (nonnull id<SCCameraKitAdjustmentController>)adjustmentController;
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + adjustmentController + + +
    +

    the controller associated with the adjustment you wish to remove.

    +
    +
    +
    +
    +
    +
  • +
  • +
    + + + + -addObserver: + +
    +
    +
    +
    +
    +
    +

    Adds observer to receive notifications of changes to adjustments processor state. +Returns if observer got successfully added

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (BOOL)addObserver:
    +    (nonnull id<SCCameraKitAdjustmentsProcessorObserver>)observer;
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + observer + + +
    +

    the observer who wishes to receive callbacks.

    +
    +
    +
    +
    +
    +
  • +
  • +
    + + + + -removeObserver: + +
    +
    +
    +
    +
    +
    +

    Removes observer from receiving notifications of changes to adjustments availability.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (void)removeObserver:
    +    (nonnull id<SCCameraKitAdjustmentsProcessorObserver>)observer;
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + observer + + +
    +

    the observer who wishes to stop receiving callbacks.

    +
    +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitAdjustmentsProcessorObserver.html b/docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitAdjustmentsProcessorObserver.html new file mode 100644 index 000000000..47e4edea2 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitAdjustmentsProcessorObserver.html @@ -0,0 +1,474 @@ + + + + SCCameraKitAdjustmentsProcessorObserver Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

SCCameraKitAdjustmentsProcessorObserver

+
+
+

Objective-C

+
@protocol SCCameraKitAdjustmentsProcessorObserver <NSObject>
+ +
+
+

Swift

+
protocol AdjustmentsProcessorObserver : NSObjectProtocol
+ +
+
+

Allows conformers to be notified of changes to adjustments processor state

+ +
+
+ +
+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Notifies that the adjustments processor updated the state of available adjustments

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (void)processorUpdatedAdjustmentsAvailability:
    +    (nonnull id<SCCameraKitAdjustmentsProcessor>)adjustmentsProcessor;
    + +
    +
    +

    Swift

    +
    func processorUpdatedAdjustmentsAvailability(_ adjustmentsProcessor: SCCameraKitAdjustmentsProcessor)
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + adjustmentsProcessor + + +
    +

    the adjustments processor instance

    +
    +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitAgreementSet.html b/docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitAgreementSet.html new file mode 100644 index 000000000..dede3322b --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitAgreementSet.html @@ -0,0 +1,519 @@ + + + + SCCameraKitAgreementSet Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

SCCameraKitAgreementSet

+
+
+

Objective-C

+
@protocol SCCameraKitAgreementSet <NSObject>
+ +
+
+

Swift

+
protocol AgreementSet : NSObjectProtocol
+ +
+
+

Protocol to interface with agreements by CameraKit +This interface should not be used directly.

+ +
+
+ +
+
+
+
    +
  • +
    + + + + termsOfServiceURL + +
    +
    +
    +
    +
    +
    +

    A URL to the terms of service agreement for CameraKit.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic, strong, readonly) NSURL *_Nonnull termsOfServiceURL;
    + +
    +
    +

    Swift

    +
    var termsOfServiceURL: URL { get }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + privacyPolicyURL + +
    +
    +
    +
    +
    +
    +

    A URL to the privacy policy for CameraKit.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic, strong, readonly) NSURL *_Nonnull privacyPolicyURL;
    + +
    +
    +

    Swift

    +
    var privacyPolicyURL: URL { get }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + learnMoreURL + +
    +
    +
    +
    +
    +
    +

    A URL to the learn more page for CameraKit.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic, strong, readonly) NSURL *_Nonnull learnMoreURL;
    + +
    +
    +

    Swift

    +
    var learnMoreURL: URL { get }
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitAgreementsPresentationContextProvider.html b/docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitAgreementsPresentationContextProvider.html new file mode 100644 index 000000000..9588ddbf5 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitAgreementsPresentationContextProvider.html @@ -0,0 +1,524 @@ + + + + SCCameraKitAgreementsPresentationContextProvider Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

SCCameraKitAgreementsPresentationContextProvider

+
+
+

Objective-C

+
@protocol SCCameraKitAgreementsPresentationContextProvider <NSObject>
+ +
+
+

Swift

+
protocol AgreementsPresentationContextProvider : NSObjectProtocol
+ +
+
+

Describes an interface to provide presentation context for CameraKit to present agreements.

+ +
+
+ +
+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    The view controller to present the agreements view controller from.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic, strong, readonly) UIViewController *_Nonnull viewControllerForPresentingAgreements;
    + +
    +
    +

    Swift

    +
    var viewControllerForPresentingAgreements: UIViewController { get }
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Requests that the view controller passed be dismissed, with acceptance status.

    +
    +

    Warning

    + the implementer of this protocol is responsible for dismissing the view controller. + +
    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (void)dismissAgreementsViewController:
    +            (nonnull UIViewController *)agreementsViewController
    +                               accepted:(BOOL)accepted;
    + +
    +
    +

    Swift

    +
    func dismissAgreementsViewController(_ agreementsViewController: UIViewController, accepted: Bool)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + +
    + + agreementsViewController + + +
    +

    the view controller to dismiss.

    +
    +
    + + accepted + + +
    +

    whether or not the user accepted all the agreements presented.

    +
    +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitAgreementsStore.html b/docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitAgreementsStore.html new file mode 100644 index 000000000..818da31b8 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitAgreementsStore.html @@ -0,0 +1,588 @@ + + + + SCCameraKitAgreementsStore Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

SCCameraKitAgreementsStore

+
+
+

Objective-C

+
@protocol SCCameraKitAgreementsStore <NSObject>
+ +
+
+

Swift

+
protocol AgreementsStore : NSObjectProtocol
+ +
+
+

Protocol describing the CameraKit agreements store.

+
+

Warning

+ DO NOT attempt to directly use this protocol. Attempting to do so WILL CAUSE YOUR APP TO CRASH. Use +SCCameraKitAgreementsPresentationContextProvider to define how CameraKit will show agreements on your behalf. + +
+ +
+
+ +
+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (readonly, nonatomic) BOOL requiresNewAgreementAcceptance
    + +
    +
    +

    Swift

    +
    var requiresNewAgreementAcceptance: Bool { get }
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (readonly, nonatomic) BOOL childrenProtectionActRestricted
    + +
    +
    +

    Swift

    +
    var childrenProtectionActRestricted: Bool { get }
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (readonly, nonatomic) id<SCCameraKitAgreementSet> newestAvailableAgreements
    + +
    +
    +

    Swift

    +
    var newestAvailableAgreements: SCCameraKitAgreementSet { get }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + -acceptAgreements: + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (void)acceptAgreements:(id<SCCameraKitAgreementSet>)agreements;
    + +
    +
    +

    Swift

    +
    func acceptAgreements(_ agreements: SCCameraKitAgreementSet)
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + -declineAgreements: + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (void)declineAgreements:(id<SCCameraKitAgreementSet>)agreements;
    + +
    +
    +

    Swift

    +
    func declineAgreements(_ agreements: SCCameraKitAgreementSet)
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitDeviceMotionDataProvider.html b/docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitDeviceMotionDataProvider.html new file mode 100644 index 000000000..db1274ca6 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitDeviceMotionDataProvider.html @@ -0,0 +1,538 @@ + + + + SCCameraKitDeviceMotionDataProvider Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

SCCameraKitDeviceMotionDataProvider

+
+
+

Objective-C

+
@protocol SCCameraKitDeviceMotionDataProvider <NSObject>
+ +
+
+

Swift

+
protocol DeviceMotionDataProvider : NSObjectProtocol
+ +
+
+

Protocol to provide device motion data and handle starting/updating/stopping

+ +
+
+ +
+
+
+
    +
  • +
    + + + + deviceMotion + +
    +
    +
    +
    +
    +
    +

    Current device motion data

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic, strong, readonly, nullable) CMDeviceMotion *deviceMotion;
    + +
    +
    +

    Swift

    +
    var deviceMotion: CMDeviceMotion? { get }
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Start updating device motion with params

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (void)startUpdatingWithParameters:
    +    (nonnull id<SCCameraKitDeviceMotionParameters>)parameters;
    + +
    +
    +

    Swift

    +
    func startUpdating(with parameters: DeviceMotionParameters)
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + parameters + + +
    +

    device motion params

    +
    +
    +
    +
    +
    +
  • +
  • +
    + + + + -stopUpdating + +
    +
    +
    +
    +
    +
    +

    Stop updating device motion

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (void)stopUpdating;
    + +
    +
    +

    Swift

    +
    func stopUpdating()
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitDeviceMotionParameters.html b/docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitDeviceMotionParameters.html new file mode 100644 index 000000000..27c6f5e88 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitDeviceMotionParameters.html @@ -0,0 +1,454 @@ + + + + SCCameraKitDeviceMotionParameters Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

SCCameraKitDeviceMotionParameters

+
+
+

Objective-C

+
@protocol SCCameraKitDeviceMotionParameters <NSObject>
+ +
+
+

Swift

+
protocol DeviceMotionParameters : NSObjectProtocol
+ +
+
+

Params for device motion interface

+ +
+
+ +
+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Requires device motion interface to be aligned with compass

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic, readonly) BOOL requiresCompassAlignment;
    + +
    +
    +

    Swift

    +
    var requiresCompassAlignment: Bool { get }
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitErrorHandler.html b/docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitErrorHandler.html new file mode 100644 index 000000000..e664f01fc --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitErrorHandler.html @@ -0,0 +1,473 @@ + + + + SCCameraKitErrorHandler Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

SCCameraKitErrorHandler

+
+
+

Objective-C

+
@protocol SCCameraKitErrorHandler
+ +
+
+

Swift

+
protocol ErrorHandler
+ +
+
+

Describes an interface to handler errors and exceptions related to CameraKit

+ +
+
+ +
+
+
+
    +
  • +
    + + + + -handleError: + +
    +
    +
    +
    +
    +
    +

    Handle error thrown by CameraKit

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (void)handleError:(nonnull NSException *)error;
    + +
    +
    +

    Swift

    +
    func handleError(_ error: NSException)
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + error + + +
    +

    exception thrown by CameraKit

    +
    +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitInput.html b/docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitInput.html new file mode 100644 index 000000000..29c425d90 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitInput.html @@ -0,0 +1,772 @@ + + + + SCCameraKitInput Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

SCCameraKitInput

+
+
+

Objective-C

+
@protocol SCCameraKitInput
+ +
+
+

Swift

+
protocol Input
+ +
+
+

Describes a source of frames for CameraKit. Can be a camera, file, etc.

+ +
+
+ +
+
+
+
    +
  • +
    + + + + destination + +
    +
    +
    +
    +
    +
    +

    The intermediate destination for frame data. See the protocol definition for more details. +This property should NOT be set directly. CameraKit will assign this as appropriate.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic, weak) id<SCCameraKitInputDestination> _Nullable destination;
    + +
    +
    +

    Swift

    +
    weak var destination: InputDestination? { get set }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + horizontalFieldOfView + +
    +
    +
    +
    +
    +
    +

    The horizontal field of view for the input.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic, readonly) CGFloat horizontalFieldOfView;
    + +
    +
    +

    Swift

    +
    var horizontalFieldOfView: CGFloat { get }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + frameSize + +
    +
    +
    +
    +
    +
    +

    The size for input frame

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic, readonly) CGSize frameSize;
    + +
    +
    +

    Swift

    +
    var frameSize: CGSize { get }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + frameOrientation + +
    +
    +
    +
    +
    +
    +

    The orientation of frame data for the input.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic, readonly) AVCaptureVideoOrientation frameOrientation;
    + +
    +
    +

    Swift

    +
    var frameOrientation: AVCaptureVideoOrientation { get }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + position + +
    +
    +
    +
    +
    +
    +

    The camera position that the frames are sourced from.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic) AVCaptureDevicePosition position;
    + +
    +
    +

    Swift

    +
    var position: AVCaptureDevice.Position { get set }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + isRunning + +
    +
    +
    +
    +
    +
    +

    Whether or not the session is currently running.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic, readonly) BOOL isRunning;
    + +
    +
    +

    Swift

    +
    var isRunning: Bool { get }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + -startRunning + +
    +
    +
    +
    +
    +
    +

    Indiciates that the input should begin running if it is not currently. If the input is aleady running, this should +be a noop. +@warning: This method is SYNCHRONOUS and should not be called on the main thread.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (void)startRunning;
    + +
    +
    +

    Swift

    +
    func startRunning()
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + -stopRunning + +
    +
    +
    +
    +
    +
    +

    Indiciates that the input should MUST stop running if it currently is running. If the input is not already running, +this should be a noop. +@warning: This method is SYNCHRONOUS and should not be called on the main thread.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (void)stopRunning;
    + +
    +
    +

    Swift

    +
    func stopRunning()
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + -setVideoOrientation: + +
    +
    +
    +
    +
    +
    +

    Set the orientation for the outputted video buffers

    +
    +

    Note

    + this may be different than the actual frame data orientation +since inputs may map frame data orientation to video orientation differently + +
    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (void)setVideoOrientation:(AVCaptureVideoOrientation)videoOrientation;
    + +
    +
    +

    Swift

    +
    func setVideoOrientation(_ videoOrientation: AVCaptureVideoOrientation)
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + videoOrientation + + +
    +

    orientation for the outputted video buffers

    +
    +
    +
    +
    +
    +
  • +
  • +
    + + + + audioEnabled + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic, readonly) BOOL audioEnabled
    + +
    +
    +

    Swift

    +
    optional var audioEnabled: Bool { get }
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitInputDestination.html b/docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitInputDestination.html new file mode 100644 index 000000000..168ffe212 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitInputDestination.html @@ -0,0 +1,601 @@ + + + + SCCameraKitInputDestination Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

SCCameraKitInputDestination

+
+
+

Objective-C

+
@protocol SCCameraKitInputDestination
+ +
+
+

Swift

+
protocol InputDestination
+ +
+
+

The input destination is an intermediary for frame data.

+ +
+
+ +
+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Pass new video frame data into CameraKit. Call this every time your input generates new video frames.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (void)input:(nonnull id<SCCameraKitInput>)input
    +    receivedVideoSampleBuffer:(nonnull CMSampleBufferRef)sampleBuffer;
    + +
    +
    +

    Swift

    +
    func input(_ input: Input, receivedVideoSampleBuffer sampleBuffer: CMSampleBuffer)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + +
    + + input + + +
    +

    the input providing data.

    +
    +
    + + sampleBuffer + + +
    +

    a sample buffer containing new video frame data.

    +
    +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Pass new audio frame data into CameraKit. Call this every time your input generates new audio frames.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (void)input:(nonnull id<SCCameraKitInput>)input
    +    receivedAudioSampleBuffer:(nonnull CMSampleBufferRef)sampleBuffer;
    + +
    +
    +

    Swift

    +
    func input(_ input: Input, receivedAudioSampleBuffer sampleBuffer: CMSampleBuffer)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + +
    + + input + + +
    +

    the input providing data.

    +
    +
    + + sampleBuffer + + +
    +

    a sample buffer containing new audio frame data.

    +
    +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Indicates that the input has changed some attribute and that CameraKit should reconfigure itself accordingly.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (void)inputChangedAttributes:(nonnull id<SCCameraKitInput>)input;
    + +
    +
    +

    Swift

    +
    func inputChangedAttributes(_ input: Input)
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + input + + +
    +

    the input that changed.

    +
    +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitLens.html b/docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitLens.html new file mode 100644 index 000000000..7759d7d90 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitLens.html @@ -0,0 +1,678 @@ + + + + SCCameraKitLens Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

SCCameraKitLens

+
+
+

Objective-C

+
@protocol SCCameraKitLens <NSObject>
+ +
+
+

Swift

+
protocol Lens : NSObjectProtocol
+ +
+
+

Describes a lens object.

+ +
+
+ +
+
+
+
    +
  • +
    + + + + identifier + +
    +
    +
    +
    +
    +
    +

    A unique identifier for the lens.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic, copy, readonly) NS_SWIFT_NAME(id) NSString *identifier;
    + +
    +
    +

    Swift

    +
    var id: String { get }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + groupIdentifier + +
    +
    +
    +
    +
    +
    +

    A unique identifier for the group that the lens belongs to

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic, copy, readonly) NS_SWIFT_NAME(groupId) NSString *groupIdentifier;
    + +
    +
    +

    Swift

    +
    var groupId: String { get }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + name + +
    +
    +
    +
    +
    +
    +

    The name for the lens

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic, copy, readonly, nullable) NSString *name;
    + +
    +
    +

    Swift

    +
    var name: String? { get }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + iconUrl + +
    +
    +
    +
    +
    +
    +

    URL for icon image

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic, copy, readonly, nullable) NSURL *iconUrl;
    + +
    +
    +

    Swift

    +
    var iconUrl: URL? { get }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + preview + +
    +
    +
    +
    +
    +
    +

    Lens preview instance

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic, strong, readonly) id<SCCameraKitLensPreview> _Nonnull preview;
    + +
    +
    +

    Swift

    +
    var preview: LensPreview { get }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + vendorData + +
    +
    +
    +
    +
    +
    +

    Extra metadata provided from vendor

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic, copy, readonly) NSDictionary<NSString *, NSString *> *_Nonnull vendorData;
    + +
    +
    +

    Swift

    +
    var vendorData: [String : String] { get }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + facingPreference + +
    +
    +
    +
    +
    +
    +

    Specifies which facing a lens is designed for.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic, readonly) SCCameraKitLensFacingPreference facingPreference;
    + +
    +
    +

    Swift

    +
    var facingPreference: LensFacingPreference { get }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + snapcodes + +
    +
    +
    +
    +
    +
    +

    Lens Snapcodes instance

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic, strong, readonly) id<SCCameraKitLensSnapcodes> _Nonnull snapcodes;
    + +
    +
    +

    Swift

    +
    var snapcodes: LensSnapcodes { get }
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitLensHintDelegate.html b/docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitLensHintDelegate.html new file mode 100644 index 000000000..87776315f --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitLensHintDelegate.html @@ -0,0 +1,576 @@ + + + + SCCameraKitLensHintDelegate Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

SCCameraKitLensHintDelegate

+
+
+

Objective-C

+
@protocol SCCameraKitLensHintDelegate <NSObject>
+ +
+
+

Swift

+
protocol LensHintDelegate : NSObjectProtocol
+ +
+
+

Lens hint delegate used to notify receivers when to show/hide hints for applied lenses

+ +
+
+ +
+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Notifies receiver that they should show hint for current lens

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (void)lensProcessor:(nonnull id<SCCameraKitLensProcessor>)lensProcessor
    +    shouldDisplayHint:(nonnull NSString *)hint
    +              forLens:(nonnull id<SCCameraKitLens>)lens
    +             autohide:(BOOL)autohide;
    + +
    +
    +

    Swift

    +
    func lensProcessor(_ lensProcessor: SCCameraKitLensProcessor, shouldDisplayHint hint: String, for lens: SCCameraKitLens, autohide: Bool)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + + + + + + + + + +
    + + lensProcessor + + +
    +

    curent lens processor instance

    +
    +
    + + hint + + +
    +

    localized hint text to display

    +
    +
    + + lens + + +
    +

    current lens applied

    +
    +
    + + autohide + + +
    +

    should autohide hint

    +
    +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Notifies receiver that they should remove all hints for current lens

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (void)lensProcessor:(nonnull id<SCCameraKitLensProcessor>)lensProcessor
    +    shouldHideAllHintsForLens:(nonnull id<SCCameraKitLens>)lens;
    + +
    +
    +

    Swift

    +
    func lensProcessor(_ lensProcessor: SCCameraKitLensProcessor, shouldHideAllHintsFor lens: SCCameraKitLens)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + +
    + + lensProcessor + + +
    +

    curent lens processor instance

    +
    +
    + + lens + + +
    +

    current lens applied

    +
    +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitLensHintProvider.html b/docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitLensHintProvider.html new file mode 100644 index 000000000..bbd9b89a8 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitLensHintProvider.html @@ -0,0 +1,486 @@ + + + + SCCameraKitLensHintProvider Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

SCCameraKitLensHintProvider

+
+
+

Objective-C

+
@protocol SCCameraKitLensHintProvider <NSObject>
+ +
+
+

Swift

+
protocol LensHintProvider : NSObjectProtocol
+ +
+
+

Describes an interface used to provide lens hint localizations from hint ids

+ +
+
+ +
+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Get localized hint for hint id

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (nullable NSString *)localizedHintForHintId:(nonnull NSString *)hintId
    +                                         lens:(nonnull id<SCCameraKitLens>)lens;
    + +
    +
    +

    Swift

    +
    func localizedHint(for hintId: String, lens: SCCameraKitLens) -> String?
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + +
    + + hintId + + +
    +

    unique id for lens hint

    +
    +
    + + lens + + +
    +

    lens instance which the hint belongs to

    +
    +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitLensMediaPickerAsset.html b/docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitLensMediaPickerAsset.html new file mode 100644 index 000000000..c1e81f57d --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitLensMediaPickerAsset.html @@ -0,0 +1,550 @@ + + + + SCCameraKitLensMediaPickerAsset Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

SCCameraKitLensMediaPickerAsset

+
+
+

Objective-C

+
@protocol SCCameraKitLensMediaPickerAsset <NSObject>
+ +
+
+

Swift

+
protocol LensMediaPickerProviderAsset : NSObjectProtocol
+ +
+
+

An asset provided by the picker. May be backed by a PHAsset, or an app’s own custom media type.

+ +
+
+ +
+
+
+
    +
  • +
    + + + + identifier + +
    +
    +
    +
    +
    +
    +

    A unique identifier for the asset.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic, copy, readonly) NSString *_Nonnull identifier;
    + +
    +
    +

    Swift

    +
    var identifier: String { get }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + type + +
    +
    +
    +
    +
    +
    +

    Whether the asset is an image or video.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic, readonly) SCCameraKitLensMediaPickerAssetType type;
    + +
    +
    +

    Swift

    +
    var type: SCCameraKitLensMediaPickerAssetType { get }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + duration + +
    +
    +
    +
    +
    +
    +

    If the asset is a video, the length of the video in seconds. Otherwise 0.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic, readonly) NSTimeInterval duration;
    + +
    +
    +

    Swift

    +
    var duration: TimeInterval { get }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + previewImage + +
    +
    +
    +
    +
    +
    +

    A thumbnail for the image or video. For images, this will be cropped to show any detected faces.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic, strong, readonly) UIImage *_Nonnull previewImage;
    + +
    +
    +

    Swift

    +
    var previewImage: UIImage { get }
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitLensMediaPickerProvider.html b/docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitLensMediaPickerProvider.html new file mode 100644 index 000000000..938174876 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitLensMediaPickerProvider.html @@ -0,0 +1,849 @@ + + + + SCCameraKitLensMediaPickerProvider Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

SCCameraKitLensMediaPickerProvider

+
+
+

Objective-C

+
@protocol SCCameraKitLensMediaPickerProvider <NSObject>
+
+/// A delegate that must be notified when loadAndApplyOriginalMediaFromAsset: finishes loading an original asset.
+/// @warning: DO NOT set this delegate manually. CameraKit will set this property appropriately.
+@property (weak, nonatomic) id<SCCameraKitLensMediaPickerProviderMediaApplicationDelegate> mediaApplicationDelegate;
+
+/// A delegate that will be notified when picker-related UI should be shown or hidden.
+@property (weak, nonatomic) id<SCCameraKitLensMediaPickerProviderUIDelegate> uiDelegate;
+
+/// The number of assets that have been fetched and may be displayed by the picker UI.
+@property (readonly, nonatomic, assign) NSInteger fetchedAssetCount;
+
+/// Whether or not the data provider has more assets available to fetch.
+@property (readonly, nonatomic, assign) BOOL hasMoreAssetsToFetch;
+
+/// Fetches a new batch of assets.
+/// @param batchSize How many items to fetch. A provider may return less than this if it exhausts available assets
+/// without reaching the desired batch size
+/// @param queue a dispatch queue to receive callbacks on
+/// @param completion a completion block to be called when the fetch has completed
+- (void)fetchNextAssetBatchOfSize:(NSInteger)batchSize
+                            queue:(dispatch_queue_t)queue
+                       completion:(void (^)(NSArray<id<SCCameraKitLensMediaPickerAsset>> *))completion
+    NS_SWIFT_NAME(fetchNextAssetBatch(size:queue:completion:));
+
+/// Retrieves a fetched asset at a given index.
+/// @param index the index to fetch.
+- (id<SCCameraKitLensMediaPickerAsset>)fetchedAssetAtIndex:(NSInteger)index NS_SWIFT_NAME(fetchedAsset(at:));
+
+/// Loads the full resolution backing asset of a specified asset and applies it to lenses.
+/// @param asset the asset to load and apply
+/// @param completion a completion block called when application is complete
+/// @note Implementors of this method MUST call the appropriate method on the uiDelegate when the loading is completed
+/// in order for the lens to succesfully apply the media.
+- (void)loadAndApplyOriginalMediaFromAsset:(id<SCCameraKitLensMediaPickerAsset>)asset
+                                completion:(nullable void (^)(void))completion
+    NS_SWIFT_NAME(loadAndApplyOriginalMedia(from:completion:));
+
+/// Invalidates and resets internal state of the provider with a newly specified allowed media type option set.
+/// @param assetType The asset types to allow in results.
+- (void)reconfigureWithAllowedTypes:(SCCameraKitLensMediaPickerProviderAllowedMediaType)assetType;
+
+@end
+ +
+
+

Swift

+
protocol LensMediaPickerProvider : NSObjectProtocol
+ +
+
+

Undocumented

+ +
+
+ +
+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    A delegate that must be notified when loadAndApplyOriginalMediaFromAsset: finishes loading an original asset. +@warning: DO NOT set this delegate manually. CameraKit will set this property appropriately.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic, weak) id< SCCameraKitLensMediaPickerProviderMediaApplicationDelegate> _Nullable mediaApplicationDelegate;
    + +
    +
    +

    Swift

    +
    weak var mediaApplicationDelegate: LensMediaPickerProviderMediaApplicationDelegate? { get set }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + uiDelegate + +
    +
    +
    +
    +
    +
    +

    A delegate that will be notified when picker-related UI should be shown or hidden.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic, weak) id<SCCameraKitLensMediaPickerProviderUIDelegate> _Nullable uiDelegate;
    + +
    +
    +

    Swift

    +
    weak var uiDelegate: LensMediaPickerProviderUIDelegate? { get set }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + fetchedAssetCount + +
    +
    +
    +
    +
    +
    +

    The number of assets that have been fetched and may be displayed by the picker UI.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic, readonly) NSInteger fetchedAssetCount;
    + +
    +
    +

    Swift

    +
    var fetchedAssetCount: Int { get }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + hasMoreAssetsToFetch + +
    +
    +
    +
    +
    +
    +

    Whether or not the data provider has more assets available to fetch.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic, readonly) BOOL hasMoreAssetsToFetch;
    + +
    +
    +

    Swift

    +
    var hasMoreAssetsToFetch: Bool { get }
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Fetches a new batch of assets.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (void)fetchNextAssetBatchOfSize:(NSInteger)batchSize
    +                            queue:(nonnull dispatch_queue_t)queue
    +                       completion:
    +                           (nonnull void (^)(
    +                               NSArray<id<SCCameraKitLensMediaPickerAsset>>
    +                                   *_Nonnull))completion;
    + +
    +
    +

    Swift

    +
    func fetchNextAssetBatch(size batchSize: Int, queue: dispatch_queue_t) async -> [LensMediaPickerProviderAsset]
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + + + + + +
    + + batchSize + + +
    +

    How many items to fetch. A provider may return less than this if it exhausts available assets +without reaching the desired batch size

    +
    +
    + + queue + + +
    +

    a dispatch queue to receive callbacks on

    +
    +
    + + completion + + +
    +

    a completion block to be called when the fetch has completed

    +
    +
    +
    +
    +
    +
  • +
  • +
    + + + + -fetchedAssetAtIndex: + +
    +
    +
    +
    +
    +
    +

    Retrieves a fetched asset at a given index.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (nonnull id<SCCameraKitLensMediaPickerAsset>)fetchedAssetAtIndex:
    +    (NSInteger)index;
    + +
    +
    +

    Swift

    +
    func fetchedAsset(at index: Int) -> LensMediaPickerProviderAsset
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + index + + +
    +

    the index to fetch.

    +
    +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Loads the full resolution backing asset of a specified asset and applies it to lenses.

    +
    +

    Note

    + Implementors of this method MUST call the appropriate method on the uiDelegate when the loading is completed +in order for the lens to succesfully apply the media. + +
    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (void)loadAndApplyOriginalMediaFromAsset:
    +            (nonnull id<SCCameraKitLensMediaPickerAsset>)asset
    +                                completion:(nullable void (^)(void))completion;
    + +
    +
    +

    Swift

    +
    func loadAndApplyOriginalMedia(from asset: LensMediaPickerProviderAsset) async
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + +
    + + asset + + +
    +

    the asset to load and apply

    +
    +
    + + completion + + +
    +

    a completion block called when application is complete

    +
    +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Invalidates and resets internal state of the provider with a newly specified allowed media type option set.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (void)reconfigureWithAllowedTypes:
    +    (SCCameraKitLensMediaPickerProviderAllowedMediaType)assetType;
    + +
    +
    +

    Swift

    +
    func reconfigure(withAllowedTypes assetType: SCCameraKitLensMediaPickerProviderAllowedMediaType)
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + assetType + + +
    +

    The asset types to allow in results.

    +
    +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitLensMediaPickerProviderMediaApplicationDelegate.html b/docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitLensMediaPickerProviderMediaApplicationDelegate.html new file mode 100644 index 000000000..612e06235 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitLensMediaPickerProviderMediaApplicationDelegate.html @@ -0,0 +1,523 @@ + + + + SCCameraKitLensMediaPickerProviderMediaApplicationDelegate Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

SCCameraKitLensMediaPickerProviderMediaApplicationDelegate

+
+
+

Objective-C

+
@protocol SCCameraKitLensMediaPickerProviderMediaApplicationDelegate <NSObject>
+ +
+
+

Swift

+
protocol LensMediaPickerProviderMediaApplicationDelegate : NSObjectProtocol
+ +
+
+

Delegate responsible for applying media to a lens. This should not be implemented directly.

+
+

Note

+ If you create a custom provider, you’ll need to call the methods here from your provider. See notes on +provider.uiDelegate for more details. + +
+ +
+
+ +
+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Notifies lenses that the media picker provider has loaded the full resolution version of an asset and is ready for +it to be applied.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (void)mediaPickerProvider:
    +            (nonnull id<SCCameraKitLensMediaPickerProvider>)provider
    +    requestedApplicationOfOriginalAssets:
    +        (nonnull id<SCCameraKitLensMediaPickerAsset>)asset
    +                                     url:(nonnull NSURL *)url
    +                                metadata:
    +                                    (SCCameraKitLensMediaPickerAssetMetadata)
    +                                        metadata;
    + +
    +
    +

    Swift

    +
    func mediaPickerProvider(_ provider: LensMediaPickerProvider, requestedApplicationOfOriginalAssets asset: LensMediaPickerProviderAsset, url: URL, metadata: SCCameraKitLensMediaPickerAssetMetadata)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + + + + + + + + + +
    + + provider + + +
    +

    the provider sending the reequest

    +
    +
    + + asset + + +
    +

    the asset provided by the provider

    +
    +
    + + url + + +
    +

    the URL to a full-resolution image or video for lenses to apply

    +
    +
    + + metadata + + +
    +

    any metadata associated with the asset

    +
    +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitLensMediaPickerProviderUIDelegate.html b/docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitLensMediaPickerProviderUIDelegate.html new file mode 100644 index 000000000..511987c29 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitLensMediaPickerProviderUIDelegate.html @@ -0,0 +1,526 @@ + + + + SCCameraKitLensMediaPickerProviderUIDelegate Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

SCCameraKitLensMediaPickerProviderUIDelegate

+
+
+

Objective-C

+
@protocol SCCameraKitLensMediaPickerProviderUIDelegate <NSObject>
+ +
+
+

Swift

+
protocol LensMediaPickerProviderUIDelegate : NSObjectProtocol
+ +
+
+

Delegate responsible for handling UI events related to the provider, such as showing/hiding a picker.

+ +
+
+ +
+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Requests media picker UI be displayed.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (void)mediaPickerProviderRequestedUIPresentation:
    +    (nonnull id<SCCameraKitLensMediaPickerProvider>)provider;
    + +
    +
    +

    Swift

    +
    func mediaPickerProviderRequestedUIPresentation(_ provider: LensMediaPickerProvider)
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + provider + + +
    +

    the provider sending the request

    +
    +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Requests media picker UI be dismissed.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (void)mediaPickerProviderRequestedUIDismissal:
    +    (nonnull id<SCCameraKitLensMediaPickerProvider>)provider;
    + +
    +
    +

    Swift

    +
    func mediaPickerProviderRequestedUIDismissal(_ provider: LensMediaPickerProvider)
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + provider + + +
    +

    the provider sending the request

    +
    +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitLensPrefetcher.html b/docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitLensPrefetcher.html new file mode 100644 index 000000000..5e2b80589 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitLensPrefetcher.html @@ -0,0 +1,619 @@ + + + + SCCameraKitLensPrefetcher Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

SCCameraKitLensPrefetcher

+
+
+

Objective-C

+
@protocol SCCameraKitLensPrefetcher <NSObject>
+ +
+
+

Swift

+
protocol LensPrefetcher : NSObjectProtocol
+ +
+
+

Describes the interface used to prefetch lens content

+ +
+
+ +
+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Queues up a new fetch task for each of the lenses in order to prefetch their content. +A successful callback indiciates that all the content for the list of lenses is ready to be used/applied in lens +processor

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (nonnull id<SCCameraKitLensPrefetcherTask>)
    +    prefetchLenses:(nonnull NSArray<id<SCCameraKitLens>> *)lenses
    +        completion:(nullable void (^)(BOOL))completion;
    + +
    +
    +

    Swift

    +
    func prefetch(lenses: [SCCameraKitLens], completion: ((Bool) -> Void)? = nil) -> LensPrefetcherTask
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + +
    + + lenses + + +
    +

    lenses to prefetch content for

    +
    +
    + + completion + + +
    +

    callback on completion with success or failure

    +
    +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Add observer to observe changes in lens fetch status

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (void)addStatusObserver:
    +            (nonnull id<SCCameraKitLensPrefetcherObserver>)observer
    +                  forLens:(nonnull id<SCCameraKitLens>)lens;
    + +
    +
    +

    Swift

    +
    func addStatusObserver(_ observer: LensPrefetcherObserver, lens: SCCameraKitLens)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + +
    + + observer + + +
    +

    observer instance which will receive updates

    +
    +
    + + lens + + +
    +

    lens to observe

    +
    +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Remove observer to stop observing changes in lens fetch status

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (void)removeStatusObserver:
    +            (nonnull id<SCCameraKitLensPrefetcherObserver>)observer
    +                     forLens:(nonnull id<SCCameraKitLens>)lens;
    + +
    +
    +

    Swift

    +
    func removeStatusObserver(_ observer: LensPrefetcherObserver, lens: SCCameraKitLens)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + +
    + + observer + + +
    +

    observer instance which will stop receiving updates

    +
    +
    + + lens + + +
    +

    lens to stop observing

    +
    +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitLensPrefetcherObserver.html b/docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitLensPrefetcherObserver.html new file mode 100644 index 000000000..a7ecc5ecd --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitLensPrefetcherObserver.html @@ -0,0 +1,499 @@ + + + + SCCameraKitLensPrefetcherObserver Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

SCCameraKitLensPrefetcherObserver

+
+
+

Objective-C

+
@protocol SCCameraKitLensPrefetcherObserver <NSObject>
+ +
+
+

Swift

+
protocol LensPrefetcherObserver : NSObjectProtocol
+ +
+
+

Describes an interface used to observe changes in lens fetch status

+ +
+
+ +
+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Notification when fetcher updates lens fetch status

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (void)prefetcher:(nonnull id<SCCameraKitLensPrefetcher>)prefetcher
    +     didUpdateLens:(nonnull id<SCCameraKitLens>)lens
    +            status:(SCCameraKitLensFetchStatus)status;
    + +
    +
    +

    Swift

    +
    func prefetcher(_ prefetcher: LensPrefetcher, didUpdate lens: SCCameraKitLens, status: LensFetchStatus)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + + + + + +
    + + prefetcher + + +
    +

    LensPrefetcher instance that updated lens fetch status

    +
    +
    + + lens + + +
    +

    lens whose fetch status was updated

    +
    +
    + + status + + +
    +

    new fetch status for lens

    +
    +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitLensPrefetcherTask.html b/docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitLensPrefetcherTask.html new file mode 100644 index 000000000..2ba2ddf31 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitLensPrefetcherTask.html @@ -0,0 +1,454 @@ + + + + SCCameraKitLensPrefetcherTask Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

SCCameraKitLensPrefetcherTask

+
+
+

Objective-C

+
@protocol SCCameraKitLensPrefetcherTask <NSObject>
+ +
+
+

Swift

+
protocol LensPrefetcherTask : NSObjectProtocol
+ +
+
+

Describes the interface used to cancel an ongoing prefetch task

+ +
+
+ +
+
+
+
    +
  • +
    + + + + -cancel + +
    +
    +
    +
    +
    +
    +

    Cancel prefetch task if it’s ongoing

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (void)cancel;
    + +
    +
    +

    Swift

    +
    func cancel()
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitLensPreview.html b/docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitLensPreview.html new file mode 100644 index 000000000..0b8c00280 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitLensPreview.html @@ -0,0 +1,454 @@ + + + + SCCameraKitLensPreview Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

SCCameraKitLensPreview

+
+
+

Objective-C

+
@protocol SCCameraKitLensPreview <NSObject>
+ +
+
+

Swift

+
protocol LensPreview : NSObjectProtocol
+ +
+
+

Describes an interface that contains lens preview data

+ +
+
+ +
+
+
+
    +
  • +
    + + + + imageUrl + +
    +
    +
    +
    +
    +
    +

    URL for image preview

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic, copy, readonly, nullable) NSURL *imageUrl;
    + +
    +
    +

    Swift

    +
    var imageUrl: URL? { get }
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitLensProcessor.html b/docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitLensProcessor.html new file mode 100644 index 000000000..210f8b1ea --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitLensProcessor.html @@ -0,0 +1,974 @@ + + + + SCCameraKitLensProcessor Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

SCCameraKitLensProcessor

+
+
+

Objective-C

+
@protocol SCCameraKitLensProcessor <NSObject>
+ +
+
+

Swift

+
protocol LensProcessor : NSObjectProtocol
+ +
+
+

The lens processor handles transforming camera frames and adding effects to them.

+ +
+
+ +
+
+
+
    +
  • +
    + + + + hintDelegate + +
    +
    +
    +
    +
    +
    +

    Lens hint delegate to show/hide hints for applied lenses

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic, weak) id<SCCameraKitLensHintDelegate> _Nullable hintDelegate;
    + +
    +
    +

    Swift

    +
    weak var hintDelegate: SCCameraKitLensHintDelegate? { get set }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + audioMuted + +
    +
    +
    +
    +
    +
    +

    Specifies whether lenses will have their audio muted. NO by default. +@note: Does NOT mute the device microphone, only prevents lenses from producing audio output.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic, readonly) BOOL audioMuted;
    + +
    +
    +

    Swift

    +
    var audioMuted: Bool { get }
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Applies a specified lens.

    +
    +

    Note

    + Launch data for a specific lens gets persisted automatically so passing nil will reuse the launch data passed +to the lens from the previous time applied. + +
    +

    Note

    + To reset launch data passed to the lens from the previous time applied pass in EmptyLensLaunchData instance. + +
    +

    Warning

    + If the lens provided is NOT provided by the repository, and simply conforms to the protocol, a runtime +error will occur. + +
    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (void)applyLens:(nonnull id<SCCameraKitLens>)lens
    +       launchData:(nullable id<SCCameraKitLensLaunchData>)launchData
    +       completion:(nullable void (^)(BOOL))completion;
    + +
    +
    +

    Swift

    +
    func apply(lens: SCCameraKitLens, launchData: SCCameraKitLensLaunchData?) async -> Bool
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + + + + + +
    + + lens + + +
    +

    the lens to apply. This should be a lens provided by the repository.

    +
    +
    + + launchData + + +
    +

    launch data to pass to lens.

    +
    +
    + + completion + + +
    +

    a completion handler called once the operation finishes.

    +
    +
    +
    +
    +
    +
  • +
  • +
    + + + + -clearWithCompletion: + +
    +
    +
    +
    +
    +
    +

    Removes any applied lenses.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (void)clearWithCompletion:(nullable void (^)(BOOL))completion;
    + +
    +
    +

    Swift

    +
    func clear() async -> Bool
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + completion + + +
    +

    a completion handler called once the operation finishes.

    +
    +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Configures touch handling for a given view.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (void)configureTouchHandlingInView:(nonnull UIView *)view
    +           gestureRecognizerDelegate:(nullable id<UIGestureRecognizerDelegate>)
    +                                         gestureRecognizerDelegate;
    + +
    +
    +

    Swift

    +
    func configureTouchHandling(in view: UIView, gestureRecognizerDelegate: UIGestureRecognizerDelegate?)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + +
    + + view + + +
    +

    the view to configure.

    +
    +
    + + gestureRecognizerDelegate + + +
    +

    an optional gesture recognizer delegate. +@note: this method modifies the UIView so it must be called on the main thread

    +
    +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Clears all touch handling for a given view

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (void)removeTouchHandlingInView:(nonnull UIView *)view;
    + +
    +
    +

    Swift

    +
    func removeTouchHandling(in view: UIView)
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + view + + +
    +

    the view to configure +@note: this method modifies the UIView so it must be called on the main thread

    +
    +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Mutes or unmutes audio. +@note: Does NOT mute the device microphone, only prevents lenses from producing audio output. +@note: Muting/unmuting is async. The audioMuted property may not immediately reflect your change, but will once +completion is called.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (void)setAudioMuted:(BOOL)audioMuted
    +           completion:(nullable void (^)(void))completion;
    + +
    +
    +

    Swift

    +
    func setAudioMuted(_ audioMuted: Bool) async
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + +
    + + audioMuted + + +
    +

    whether audio should be muted or not.

    +
    +
    + + completion + + +
    +

    an optional completion block to be called when the mute/unmute has taken effect.

    +
    +
    +
    +
    +
    +
  • +
  • +
    + + + + -processImage: + +
    +
    +
    +
    +
    +
    +

    Process image with lens effect using current camera session configuration

    +
    +

    Note

    + because this uses current session configuration this should mainly be used to process captured photos + +
    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (nullable UIImage *)processImage:(nonnull UIImage *)image;
    + +
    +
    +

    Swift

    +
    func processImage(_ image: UIImage) -> UIImage?
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + image + + +
    +

    image to process with current lens

    +
    +
    +
    +
    +
    +
  • +
  • +
    + + + + -addObserver: + +
    +
    +
    +
    +
    +
    +

    Adds observer to receive notifications of changes to lens processor state. +Returns if observer got successfully added

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (BOOL)addObserver:(nonnull id<SCCameraKitLensProcessorObserver>)observer;
    + +
    +
    +

    Swift

    +
    func addObserver(_ observer: SCCameraKitLensProcessorObserver) -> Bool
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + observer + + +
    +

    the observer who wishes to receive callbacks.

    +
    +
    +
    +
    +
    +
  • +
  • +
    + + + + -removeObserver: + +
    +
    +
    +
    +
    +
    +

    Removes observer from receiving notifications of changes to lens availability.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (void)removeObserver:(nonnull id<SCCameraKitLensProcessorObserver>)observer;
    + +
    +
    +

    Swift

    +
    func removeObserver(_ observer: SCCameraKitLensProcessorObserver)
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + observer + + +
    +

    the observer who wishes to stop receiving callbacks.

    +
    +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitLensProcessorObserver.html b/docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitLensProcessorObserver.html new file mode 100644 index 000000000..bfac87ba6 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitLensProcessorObserver.html @@ -0,0 +1,601 @@ + + + + SCCameraKitLensProcessorObserver Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

SCCameraKitLensProcessorObserver

+
+
+

Objective-C

+
@protocol SCCameraKitLensProcessorObserver <NSObject>
+ +
+
+

Swift

+
protocol ProcessorObserver : NSObjectProtocol
+ +
+
+

Allows conformers to be notified of changes to lens processor state

+ +
+
+ +
+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Notifies that the lens processor did apply lens

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (void)processor:(nonnull id<SCCameraKitLensProcessor>)processor
    +     didApplyLens:(nonnull id<SCCameraKitLens>)lens;
    + +
    +
    +

    Swift

    +
    func processor(_ processor: SCCameraKitLensProcessor, didApplyLens lens: SCCameraKitLens)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + +
    + + processor + + +
    +

    lens processor instance

    +
    +
    + + lens + + +
    +

    lens applied instance

    +
    +
    +
    +
    +
    +
  • +
  • +
    + + + + -processorDidIdle: + +
    +
    +
    +
    +
    +
    +

    Notifies that the lens processor did clear any active lens and is now in an “idle” state

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (void)processorDidIdle:(nonnull id<SCCameraKitLensProcessor>)processor;
    + +
    +
    +

    Swift

    +
    func processorDidIdle(_ processor: SCCameraKitLensProcessor)
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + processor + + +
    +

    lens processor instance

    +
    +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Notifies the listener that the first frame with the lens applied is ready

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (void)processor:(nonnull id<SCCameraKitLensProcessor>)processor
    +    firstFrameDidBecomeReadyForLens:(nonnull id<SCCameraKitLens>)lens;
    + +
    +
    +

    Swift

    +
    optional func processor(_ processor: SCCameraKitLensProcessor, firstFrameDidBecomeReadyFor lens: SCCameraKitLens)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + +
    + + processor + + +
    +

    lens processor instance

    +
    +
    + + lens + + +
    +

    current lens applied whose frame is ready for

    +
    +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitLensRemoteApiRequest.html b/docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitLensRemoteApiRequest.html new file mode 100644 index 000000000..9c5a95641 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitLensRemoteApiRequest.html @@ -0,0 +1,582 @@ + + + + SCCameraKitLensRemoteApiRequest Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

SCCameraKitLensRemoteApiRequest

+
+
+

Objective-C

+
@protocol SCCameraKitLensRemoteApiRequest <NSObject>
+ +
+
+

Swift

+
protocol LensRemoteApiRequest : NSObjectProtocol
+ +
+
+

Describes the remote api service request sent by a lens.

+ +
+
+ +
+
+
+
    +
  • +
    + + + + requestId + +
    +
    +
    +
    +
    +
    +

    Unique id of the request.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic, copy, readonly) NSString *_Nonnull requestId;
    + +
    +
    +

    Swift

    +
    var requestId: String { get }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + apiSpecId + +
    +
    +
    +
    +
    +
    +

    Unique id of the remote API service specification.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic, copy, readonly) NSString *_Nonnull apiSpecId;
    + +
    +
    +

    Swift

    +
    var apiSpecId: String { get }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + endpointId + +
    +
    +
    +
    +
    +
    +

    Unique id of the remote API service endpoint requested by this request.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic, copy, readonly) NSString *_Nonnull endpointId;
    + +
    +
    +

    Swift

    +
    var endpointId: String { get }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + parameters + +
    +
    +
    +
    +
    +
    +

    A map of named parameters associated with the request.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic, copy, readonly) NSDictionary<NSString *, NSString *> *_Nonnull parameters;
    + +
    +
    +

    Swift

    +
    var parameters: [String : String] { get }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + body + +
    +
    +
    +
    +
    +
    +

    Additional request payload as bytes.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic, copy, readonly) NSData *_Nonnull body;
    + +
    +
    +

    Swift

    +
    var body: Data { get }
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitLensRemoteApiResponse.html b/docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitLensRemoteApiResponse.html new file mode 100644 index 000000000..fda3bb30d --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitLensRemoteApiResponse.html @@ -0,0 +1,550 @@ + + + + SCCameraKitLensRemoteApiResponse Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

SCCameraKitLensRemoteApiResponse

+
+
+

Objective-C

+
@protocol SCCameraKitLensRemoteApiResponse <NSObject>
+ +
+
+

Swift

+
protocol LensRemoteApiResponseProtocol : NSObjectProtocol
+ +
+
+

Describes the remote api service response to a request sent by a lens.

+ +
+
+ +
+
+
+
    +
  • +
    + + + + request + +
    +
    +
    +
    +
    +
    +

    Remote api service request sent by a lens.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic, strong, readonly) id<SCCameraKitLensRemoteApiRequest> _Nonnull request;
    + +
    +
    +

    Swift

    +
    var request: LensRemoteApiRequest { get }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + status + +
    +
    +
    +
    +
    +
    +

    Status of the response.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic, readonly) SCCameraKitLensRemoteApiResponseStatus status;
    + +
    +
    +

    Swift

    +
    var status: SCCameraKitLensRemoteApiResponseStatus { get }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + metadata + +
    +
    +
    +
    +
    +
    +

    A map of named metadata associated with the response.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic, copy, readonly) NSDictionary<NSString *, NSString *> *_Nonnull metadata;
    + +
    +
    +

    Swift

    +
    var metadata: [String : String] { get }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + body + +
    +
    +
    +
    +
    +
    +

    Additional response payload as bytes.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic, copy, readonly, nullable) NSData *body;
    + +
    +
    +

    Swift

    +
    var body: Data? { get }
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitLensRemoteApiService.html b/docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitLensRemoteApiService.html new file mode 100644 index 000000000..a219c3f1b --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitLensRemoteApiService.html @@ -0,0 +1,490 @@ + + + + SCCameraKitLensRemoteApiService Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

SCCameraKitLensRemoteApiService

+
+
+

Objective-C

+
@protocol SCCameraKitLensRemoteApiService <NSObject>
+ +
+
+

Swift

+
protocol LensRemoteApiService : NSObjectProtocol
+ +
+
+

Describes a remote api service used to process requests sent by a lens.

+ +
+
+ +
+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Process the remote api request sent by a lens. Returns a call associated with the request.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (nonnull id<SCCameraKitLensRemoteApiServiceCall>)
    +     processRequest:(nonnull id<SCCameraKitLensRemoteApiRequest>)request
    +    responseHandler:
    +        (nonnull void (^)(SCCameraKitLensRemoteApiServiceCallStatus,
    +                          id<SCCameraKitLensRemoteApiResponse> _Nonnull))
    +            responseHandler;
    + +
    +
    +

    Swift

    +
    func processRequest(_ request: LensRemoteApiRequest, responseHandler: @escaping (LensRemoteApiServiceCallStatus, LensRemoteApiResponseProtocol) -> Void) -> LensRemoteApiServiceCall
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + +
    + + request + + +
    +

    The remote api request sent by a lens.

    +
    +
    + + responseHandler + + +
    +

    Callback to send responses back to the lens who sent the remote api request.

    +
    +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitLensRemoteApiServiceCall.html b/docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitLensRemoteApiServiceCall.html new file mode 100644 index 000000000..1103746c9 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitLensRemoteApiServiceCall.html @@ -0,0 +1,487 @@ + + + + SCCameraKitLensRemoteApiServiceCall Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

SCCameraKitLensRemoteApiServiceCall

+
+
+

Objective-C

+
@protocol SCCameraKitLensRemoteApiServiceCall <NSObject>
+ +
+
+

Swift

+
protocol LensRemoteApiServiceCall : NSObjectProtocol
+ +
+
+

Describes the call that is sent in response to a remote api request sent by a lens.

+ +
+
+ +
+
+
+
    +
  • +
    + + + + status + +
    +
    +
    +
    +
    +
    +

    The status of the call associated with the request.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic, readonly) SCCameraKitLensRemoteApiServiceCallStatus status;
    + +
    +
    +

    Swift

    +
    var status: LensRemoteApiServiceCallStatus { get }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + -cancelRequest + +
    +
    +
    +
    +
    +
    +

    Cancel the request call. This is usually sent if the lens no longer needs a response to the remote api request it +sent or if the lens is no longer active all active requests/calls should be cancelled.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (void)cancelRequest;
    + +
    +
    +

    Swift

    +
    func cancelRequest()
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitLensRemoteApiServiceProvider.html b/docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitLensRemoteApiServiceProvider.html new file mode 100644 index 000000000..99a2ba519 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitLensRemoteApiServiceProvider.html @@ -0,0 +1,507 @@ + + + + SCCameraKitLensRemoteApiServiceProvider Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

SCCameraKitLensRemoteApiServiceProvider

+
+
+

Objective-C

+
@protocol SCCameraKitLensRemoteApiServiceProvider <NSObject>
+ +
+
+

Swift

+
protocol LensRemoteApiServiceProvider : NSObjectProtocol
+ +
+
+

Describes an interface to provide remote api services for specific lenses and api spec identifiers.

+ +
+
+ +
+
+
+
    +
  • +
    + + + + supportedApiSpecIds + +
    +
    +
    +
    +
    +
    +

    The set of api spec identifiers that this provider supports.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic, copy, readonly) NSSet<NSString *> *_Nonnull supportedApiSpecIds;
    + +
    +
    +

    Swift

    +
    var supportedApiSpecIds: Set<String> { get }
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Returns the remote api service used for processing requests sent by the lens. +Lifecycle of the remote api service will be tied to the lifecycle of the lens.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (nonnull id<SCCameraKitLensRemoteApiService>)remoteApiServiceForLens:
    +    (nonnull id<SCCameraKitLens>)lens;
    + +
    +
    +

    Swift

    +
    func remoteApiService(for lens: SCCameraKitLens) -> LensRemoteApiService
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + lens + + +
    +

    The active lens whose requests the remote api service will be processing.

    +
    +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitLensRepository.html b/docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitLensRepository.html new file mode 100644 index 000000000..5cf05bbaa --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitLensRepository.html @@ -0,0 +1,860 @@ + + + + SCCameraKitLensRepository Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

SCCameraKitLensRepository

+
+
+

Objective-C

+
@protocol SCCameraKitLensRepository <NSObject>
+ +
+
+

Swift

+
protocol LensRepository : NSObjectProtocol
+ +
+
+

Lens Repository for listing lenses, getting lenses, etc.

+ +
+
+ +
+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Add an observer to receive updates to a lens group

    +
    +

    Note

    + you should expect to receive at least one call to the observer after you add it (either success with list of +lenses or failure with error) + +
    +

    Note

    + after you add an observer for a lens group you will receive updates for all lenses in that group (ie. you do +not have to add an observer for specific lenses in the group) + +
    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (void)addObserver:(nonnull id<SCCameraKitLensRepositoryGroupObserver>)observer
    +         forGroupID:(nonnull NSString *)groupID;
    + +
    +
    +

    Swift

    +
    func addObserver(_ observer: SCCameraKitLensRepositoryGroupObserver, groupID: String)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + +
    + + observer + + +
    +

    observer to receive updates

    +
    +
    + + groupID + + +
    +

    id of lens group to observe

    +
    +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Remove an observer from receiving updates for a lens group

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (void)removeObserver:
    +            (nonnull id<SCCameraKitLensRepositoryGroupObserver>)observer
    +            forGroupID:(nonnull NSString *)groupID;
    + +
    +
    +

    Swift

    +
    func removeObserver(_ observer: SCCameraKitLensRepositoryGroupObserver, groupID: String)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + +
    + + observer + + +
    +

    observer to remove from receiving updates

    +
    +
    + + groupID + + +
    +

    id of lens group to stop observing

    +
    +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Add an observer to receive updates for a specific lens in a group

    +
    +

    Note

    + you should expect to receive at least one call to the observer after you add it (either success with lens obj +or failure with error) + +
    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (void)addObserver:
    +            (nonnull id<SCCameraKitLensRepositorySpecificObserver>)observer
    +    forSpecificLensID:(nonnull NSString *)lensID
    +            inGroupID:(nonnull NSString *)groupID;
    + +
    +
    +

    Swift

    +
    func addObserver(_ observer: SCCameraKitLensRepositorySpecificObserver, specificLensID lensID: String, inGroupID groupID: String)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + + + + + +
    + + observer + + +
    +

    observer to receive updates

    +
    +
    + + lensID + + +
    +

    id of lens to receive updates for

    +
    +
    + + groupID + + +
    +

    id of group which lens is in that you want to receive updates for

    +
    +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Remove an observer from receiving updates for a specific lens in a group

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (void)removeObserver:
    +            (nonnull id<SCCameraKitLensRepositorySpecificObserver>)observer
    +     forSpecificLensID:(nonnull NSString *)lensID
    +             inGroupID:(nonnull NSString *)groupID;
    + +
    +
    +

    Swift

    +
    func removeObserver(_ observer: SCCameraKitLensRepositorySpecificObserver, specificLensID lensID: String, inGroupID groupID: String)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + + + + + +
    + + observer + + +
    +

    observer to remove from receiving updates

    +
    +
    + + lensID + + +
    +

    id of lens to stop observing

    +
    +
    + + groupID + + +
    +

    if of group which lens is in that you want to stop observing

    +
    +
    +
    +
    +
    +
  • +
  • +
    + + + + -lensesForGroupID: + +
    +
    +
    +
    +
    +
    +

    Any available lenses for the group ID specified.

    +
    +

    Note

    + this method will not return any lenses until the user has expressed interest in a group by calling +beginObservingGroupID: + +
    +

    Note

    + for updates on when the return value of this method changes, add a observer in addObserver: + +
    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (nonnull NSArray<id<SCCameraKitLens>> *)lensesForGroupID:
    +    (nonnull NSString *)groupID;
    + +
    +
    +

    Swift

    +
    func lenses(groupID: String) -> [SCCameraKitLens]
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + groupID + + +
    +

    the group ID containing the desired lenses.

    +
    +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Specific lens in group ID specified

    +
    +

    Note

    + this method will not return any lenses until the user has expressed interest in a group by calling +beginObservingGroupID: or beginObservingLens:inGroup: + +
    +

    Note

    + for updates on when the return value of this method changes, add a observer in addObserver: + +
    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (nullable id<SCCameraKitLens>)lensWithID:(nonnull NSString *)lensID
    +                                 inGroupID:(nonnull NSString *)groupID;
    + +
    +
    +

    Swift

    +
    func lens(id lensID: String, groupID: String) -> SCCameraKitLens?
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + +
    + + lensID + + +
    +

    id of lens

    +
    +
    + + groupID + + +
    +

    id of group lens is in

    +
    +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitLensRepositoryGroupObserver.html b/docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitLensRepositoryGroupObserver.html new file mode 100644 index 000000000..8b0e7545a --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitLensRepositoryGroupObserver.html @@ -0,0 +1,581 @@ + + + + SCCameraKitLensRepositoryGroupObserver Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

SCCameraKitLensRepositoryGroupObserver

+
+
+

Objective-C

+
@protocol SCCameraKitLensRepositoryGroupObserver <NSObject>
+ +
+
+

Swift

+
protocol LensRepositoryGroupObserver : NSObjectProtocol
+ +
+
+

Allows conformers to be notified of changes to lens groups the repository has available.

+ +
+
+ +
+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Notifies that an observed group’s lenses have changed.

    +
    +

    Note

    + observers may receive notifications for lens groups they do not care about. Check groupID. + +
    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (void)repository:(nonnull id<SCCameraKitLensRepository>)repository
    +    didUpdateLenses:(nonnull NSArray<id<SCCameraKitLens>> *)lenses
    +         forGroupID:(nonnull NSString *)groupID;
    + +
    +
    +

    Swift

    +
    func repository(_ repository: SCCameraKitLensRepository, didUpdateLenses lenses: [SCCameraKitLens], forGroupID groupID: String)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + + + + + +
    + + repository + + +
    +

    the CameraKit lens repository responsible for the update.

    +
    +
    + + lenses + + +
    +

    the updated lenses in the group.

    +
    +
    + + groupID + + +
    +

    the updated group ID.

    +
    +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Notifies that an observed group’s lenses failed to be fetched.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (void)repository:(nonnull id<SCCameraKitLensRepository>)repository
    +    didFailToUpdateLensesForGroupID:(nonnull NSString *)groupID
    +                              error:(nullable NSError *)error;
    + +
    +
    +

    Swift

    +
    func repository(_ repository: SCCameraKitLensRepository, didFailToUpdateLensesForGroupID groupID: String, error: Error?)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + + + + + +
    + + repository + + +
    +

    the CameraKit lens repository responsible for the update.

    +
    +
    + + groupID + + +
    +

    the updated group ID.

    +
    +
    + + error + + +
    +

    a detailed error message of what went wrong, if available.

    +
    +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitLensRepositorySpecificObserver.html b/docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitLensRepositorySpecificObserver.html new file mode 100644 index 000000000..f6eb81fcc --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitLensRepositorySpecificObserver.html @@ -0,0 +1,589 @@ + + + + SCCameraKitLensRepositorySpecificObserver Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

SCCameraKitLensRepositorySpecificObserver

+
+
+

Objective-C

+
@protocol SCCameraKitLensRepositorySpecificObserver <NSObject>
+ +
+
+

Swift

+
protocol LensRepositorySpecificObserver : NSObjectProtocol
+ +
+
+

Allows conformers to be notified of changes to specific lenses in groups the repository has available.

+ +
+
+ +
+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Notifies that an observed specific lens in a group has changed.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (void)repository:(nonnull id<SCCameraKitLensRepository>)repository
    +     didUpdateLens:(nonnull id<SCCameraKitLens>)lens
    +        forGroupID:(nonnull NSString *)groupID;
    + +
    +
    +

    Swift

    +
    func repository(_ repository: SCCameraKitLensRepository, didUpdate lens: SCCameraKitLens, forGroupID groupID: String)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + + + + + +
    + + repository + + +
    +

    the CameraKit lens repository responsible for the update.

    +
    +
    + + lens + + +
    +

    the newly updated lens object.

    +
    +
    + + groupID + + +
    +

    the updated group ID.

    +
    +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Notifies that an observed specific lens in a group has failed to be fetched.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (void)repository:(nonnull id<SCCameraKitLensRepository>)repository
    +    didFailToUpdateLensID:(nonnull NSString *)lensID
    +               forGroupID:(nonnull NSString *)groupID
    +                    error:(nullable NSError *)error;
    + +
    +
    +

    Swift

    +
    func repository(_ repository: SCCameraKitLensRepository, didFailToUpdateLensID lensID: String, forGroupID groupID: String, error: Error?)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + + + + + + + + + +
    + + repository + + +
    +

    the CameraKit lens repository responsible for the update.

    +
    +
    + + lensID + + +
    +

    the lens ID that failed to update.

    +
    +
    + + groupID + + +
    +

    the group ID that failed to update.

    +
    +
    + + error + + +
    +

    a detailed error message of what went wrong, if available.

    +
    +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitLensSnapcodes.html b/docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitLensSnapcodes.html new file mode 100644 index 000000000..60acfecbf --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitLensSnapcodes.html @@ -0,0 +1,486 @@ + + + + SCCameraKitLensSnapcodes Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

SCCameraKitLensSnapcodes

+
+
+

Objective-C

+
@protocol SCCameraKitLensSnapcodes <NSObject>
+ +
+
+

Swift

+
protocol LensSnapcodes : NSObjectProtocol
+ +
+
+

Describes an interface that contains lens snapcodes data

+ +
+
+ +
+
+
+
    +
  • +
    + + + + imageUrl + +
    +
    +
    +
    +
    +
    +

    Image URL for Snapcode

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic, copy, readonly, nullable) NSURL *imageUrl;
    + +
    +
    +

    Swift

    +
    var imageUrl: URL? { get }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + deeplink + +
    +
    +
    +
    +
    +
    +

    Deeplink URL for Snapcode

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic, copy, readonly, nullable) NSURL *deeplink;
    + +
    +
    +

    Swift

    +
    var deeplink: URL? { get }
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitLensesComponent.html b/docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitLensesComponent.html new file mode 100644 index 000000000..8bfa16baf --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitLensesComponent.html @@ -0,0 +1,550 @@ + + + + SCCameraKitLensesComponent Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

SCCameraKitLensesComponent

+
+
+

Objective-C

+
@protocol SCCameraKitLensesComponent <NSObject>
+ +
+
+

Swift

+
protocol LensesComponent : NSObjectProtocol
+ +
+
+

The lenses component wraps several lens-related classes.

+ +
+
+ +
+
+
+
    +
  • +
    + + + + repository + +
    +
    +
    +
    +
    +
    +

    The repository for lenses. Lists available lenses, etc. in the lenses folder

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic, strong, readonly) id<SCCameraKitLensRepository> _Nonnull repository;
    + +
    +
    +

    Swift

    +
    var repository: LensRepository { get }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + processor + +
    +
    +
    +
    +
    +
    +

    Handles the actual effect application. Will be null if CameraKit is not running with a valid input.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic, strong, readonly, nullable) id<SCCameraKitLensProcessor> processor;
    + +
    +
    +

    Swift

    +
    var processor: SCCameraKitLensProcessor? { get }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + prefetcher + +
    +
    +
    +
    +
    +
    +

    Prefetcher to prefetch lens content to reduce time when applying lens

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic, strong, readonly) id<SCCameraKitLensPrefetcher> _Nonnull prefetcher;
    + +
    +
    +

    Swift

    +
    var prefetcher: SCCameraKitLensPrefetcher { get }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + preferences + +
    +
    +
    +
    +
    +
    +

    Property to deal with preferences (ie. clear stored preferences)

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic, strong, readonly) id<SCCameraKitPreferences> _Nonnull preferences;
    + +
    +
    +

    Swift

    +
    var preferences: SCCameraKitPreferences { get }
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitLocationDataProvider.html b/docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitLocationDataProvider.html new file mode 100644 index 000000000..15ca1e6d7 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitLocationDataProvider.html @@ -0,0 +1,544 @@ + + + + SCCameraKitLocationDataProvider Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

SCCameraKitLocationDataProvider

+
+
+

Objective-C

+
@protocol SCCameraKitLocationDataProvider <NSObject>
+ +
+
+

Swift

+
protocol LocationDataProvider : NSObjectProtocol
+ +
+
+

Protocol to provide device motion data and handle starting/updating/stopping

+ +
+
+ +
+
+
+
    +
  • +
    + + + + location + +
    +
    +
    +
    +
    +
    +

    Current location data

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic, strong, readonly, nullable) CLLocation *location;
    + +
    +
    +

    Swift

    +
    var location: CLLocation? { get }
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Start updating location data with params

    +
    +

    Warning

    + If the user has not been prompted for location permission, it is the class’s responsibility +to prompt them. + +
    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (void)startUpdatingWithParameters:
    +    (nonnull id<SCCameraKitLocationParameters>)parameters;
    + +
    +
    +

    Swift

    +
    func startUpdating(with parameters: LocationParameters)
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + parameters + + +
    +

    location params

    +
    +
    +
    +
    +
    +
  • +
  • +
    + + + + -stopUpdating + +
    +
    +
    +
    +
    +
    +

    Stop updating location

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (void)stopUpdating;
    + +
    +
    +

    Swift

    +
    func stopUpdating()
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitLocationParameters.html b/docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitLocationParameters.html new file mode 100644 index 000000000..6d998d796 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitLocationParameters.html @@ -0,0 +1,518 @@ + + + + SCCameraKitLocationParameters Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

SCCameraKitLocationParameters

+
+
+

Objective-C

+
@protocol SCCameraKitLocationParameters <NSObject>
+ +
+
+

Swift

+
protocol LocationParameters : NSObjectProtocol
+ +
+
+

Params for device motion interface

+ +
+
+ +
+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Minimum interval between consecutive location updates

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic, readonly) int32_t updateIntervalMilliseconds;
    + +
    +
    +

    Swift

    +
    var updateIntervalMilliseconds: Int32 { get }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + distanceFilterMeters + +
    +
    +
    +
    +
    +
    +

    Minimum distance between consecutive location updates

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic, readonly) CLLocationDistance distanceFilterMeters;
    + +
    +
    +

    Swift

    +
    var distanceFilterMeters: CLLocationDistance { get }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + desiredAccuracy + +
    +
    +
    +
    +
    +
    +

    Desired accuracy

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic, readonly) CLLocationAccuracy desiredAccuracy;
    + +
    +
    +

    Swift

    +
    var desiredAccuracy: CLLocationAccuracy { get }
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitOutput.html b/docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitOutput.html new file mode 100644 index 000000000..3582853fe --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitOutput.html @@ -0,0 +1,645 @@ + + + + SCCameraKitOutput Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

SCCameraKitOutput

+
+
+

Objective-C

+
@protocol SCCameraKitOutput <NSObject>
+ +
+
+

Swift

+
protocol Output : NSObjectProtocol
+ +
+
+

Allows conformers to be notified of new frame data from CameraKit.

+ +
+
+ +
+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Notifies that a new frame is available.

    +
    +

    Warning

    + DO NOT stop or start CameraKit in this output method. This method doesn’t guarantee that CamearKit has +finished processing the current frame, so stopping or starting in this method is undefined behavior, which can lead +to other outputs getting invalid textures that may crash when drawing the frame or deadlocking the current thread. + +
    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (void)cameraKit:(nonnull id<SCCameraKitProtocol>)cameraKit
    +    didOutputTexture:(nonnull id<SCCameraKitTexture>)texture;
    + +
    +
    +

    Swift

    +
    func cameraKit(_ cameraKit: SCCameraKitProtocol, didOutputTexture texture: SCCameraKitTexture)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + +
    + + cameraKit + + +
    +

    the CameraKit responsible for the frame.

    +
    +
    + + texture + + +
    +

    a texture describing processed input. SCCameraKitPreviewView is able to render this, and future +classes will be provided for additional functionality (eg, video recording).

    +
    +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Notifies that a new video frame is available.

    +
    +

    Note

    + This method WILL NOT BE CALLED unless you have indicated you need sample buffer output (for situations like +recording). This incurs performance overhead, so do not use it unless you require it. + +
    +

    See

    + SCCameraKitOutputRequiringPixelBuffer + +
    +

    Warning

    + DO NOT stop or start CameraKit in this output method. This method doesn’t guarantee that CamearKit has +finished processing the current frame, so stopping or starting in this method is undefined behavior, which can lead +to other outputs getting invalid/released video buffers or deadlocking the current thread. + +
    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (void)cameraKit:(nonnull id<SCCameraKitProtocol>)cameraKit
    +    didOutputVideoSampleBuffer:(nonnull CMSampleBufferRef)sampleBuffer;
    + +
    +
    +

    Swift

    +
    func cameraKit(_ cameraKit: SCCameraKitProtocol, didOutputVideoSampleBuffer sampleBuffer: CMSampleBuffer)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + +
    + + cameraKit + + +
    +

    the CameraKit responsible for the frame.

    +
    +
    + + sampleBuffer + + +
    +

    a CMSampleBuffer describing the video output.

    +
    +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Notifies that a new audio buffer is available

    +
    +

    Warning

    + DO NOT stop or start CameraKit in this output method. This method doesn’t guarantee that CamearKit has +finished processing the current frame, so stopping or starting in this method is undefined behavior, which can lead +to other outputs getting invalid/released audio buffers or deadlocking the current thread. + +
    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (void)cameraKit:(nonnull id<SCCameraKitProtocol>)cameraKit
    +    didOutputAudioSampleBuffer:(nonnull CMSampleBufferRef)sampleBuffer;
    + +
    +
    +

    Swift

    +
    func cameraKit(_ cameraKit: SCCameraKitProtocol, didOutputAudioSampleBuffer sampleBuffer: CMSampleBuffer)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + +
    + + cameraKit + + +
    +

    the CameraKit responsible for the audio buffer

    +
    +
    + + sampleBuffer + + +
    +

    a CMSampleBuffer describing the audio output

    +
    +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitPortraitAdjustmentController.html b/docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitPortraitAdjustmentController.html new file mode 100644 index 000000000..20a186213 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitPortraitAdjustmentController.html @@ -0,0 +1,456 @@ + + + + SCCameraKitPortraitAdjustmentController Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

SCCameraKitPortraitAdjustmentController

+
+
+

Objective-C

+
@protocol
+    SCCameraKitPortraitAdjustmentController <SCCameraKitAdjustmentController>
+ +
+
+

Swift

+
protocol PortraitAdjustmentController : AdjustmentController
+ +
+
+

A controller to control the portrait adjustment.

+ +
+
+ +
+
+
+
    +
  • +
    + + + + blur + +
    +
    +
    +
    +
    +
    +

    How blurred the background is. Ranges from 0.0 to 1.0. A value of 0.0 is “not blurred at all” while 1.0 is +“extremely blurred.”

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic) CGFloat blur;
    + +
    +
    +

    Swift

    +
    var blur: CGFloat { get set }
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitPreferences.html b/docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitPreferences.html new file mode 100644 index 000000000..aa9e6c799 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitPreferences.html @@ -0,0 +1,455 @@ + + + + SCCameraKitPreferences Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

SCCameraKitPreferences

+
+
+

Objective-C

+
@protocol SCCameraKitPreferences <NSObject>
+ +
+
+

Swift

+
protocol SCCameraKitPreferences : NSObjectProtocol
+ +
+
+

Protocol to interface with preferences stored by CameraKit +This interface is intentionally opaque and should only be used to clear out stored preferences

+ +
+
+ +
+
+
+
    +
  • +
    + + + + -clear + +
    +
    +
    +
    +
    +
    +

    Clear all stored preferences

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (void)clear;
    + +
    +
    +

    Swift

    +
    func clear()
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitProtocol.html b/docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitProtocol.html new file mode 100644 index 000000000..f4616f774 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitProtocol.html @@ -0,0 +1,1201 @@ + + + + SCCameraKitProtocol Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

SCCameraKitProtocol

+
+
+

Objective-C

+
@protocol SCCameraKitProtocol <NSObject>
+
+/// Contains lenses related objects.
+@property (strong, nonatomic, readonly) id<SCCameraKitLensesComponent> lenses;
+
+/// Contains adjustment related objects.
+@property (strong, nonatomic, readonly) id<SCCameraKitAdjustmentsComponent> adjustments;
+
+/// Begin processing input frames with front camera position and portrait video orientation
+/// @param input the input to configure.
+/// @param arInput the ARKit input to configure.
+- (void)startWithInput:(id<SCCameraKitInput>)input
+               arInput:(id<SCCameraKitARInput>)arInput NS_SWIFT_NAME(start(input:arInput:));
+
+/// Deprecated. Use
+/// -startWithInput:arInput:cameraPosition:videoOrientation:dataProvider:hintDelegate:agreementsPresentationContextProvider:
+- (void)startWithInput:(id<SCCameraKitInput>)input
+               arInput:(id<SCCameraKitARInput>)arInput
+        cameraPosition:(AVCaptureDevicePosition)cameraPosition
+      videoOrientation:(AVCaptureVideoOrientation)videoOrientation
+          dataProvider:(SCCameraKitDataProviderComponent *)dataProvider
+          hintDelegate:(id<SCCameraKitLensHintDelegate>)hintDelegate __attribute__((deprecated));
+
+/// Deprecated. Use
+/// -startWithInput:arInput:cameraPosition:videoOrientation:dataProvider:hintDelegate:textInputContextProvider:agreementsPresentationContextProvider:
+- (void)startWithInput:(id<SCCameraKitInput>)input
+                                  arInput:(id<SCCameraKitARInput>)arInput
+                           cameraPosition:(AVCaptureDevicePosition)cameraPosition
+                         videoOrientation:(AVCaptureVideoOrientation)videoOrientation
+                             dataProvider:(nullable SCCameraKitDataProviderComponent *)dataProvider
+                             hintDelegate:(nullable id<SCCameraKitLensHintDelegate>)hintDelegate
+    agreementsPresentationContextProvider:
+        (nullable id<SCCameraKitAgreementsPresentationContextProvider>)agreementsPresentationContextProvider
+    NS_SWIFT_NAME(start(input:arInput:cameraPosition:videoOrientation:dataProvider:hintDelegate:agreementsPresentationContextProvider:))
+        __attribute__((deprecated));
+;
+
+/// Begin processing input frames.
+/// @param input the input to configure.
+/// @param arInput the ARKit input to configure.
+/// @param cameraPosition the camera position in use
+/// @param videoOrientation the orientation for the outputted video buffers
+/// @param dataProvider data provider component to pass in custom data providers (optional -- will create and handle
+/// data providers by default if nil)
+/// @param hintDelegate lens hint delegate to show/hide hints for applied lenses
+/// @param textInputContextProvider context provider for providing keyboard access to lenses
+/// @param agreementsPresentationContextProvider context provider for presenting agreements screens
+- (void)startWithInput:(id<SCCameraKitInput>)input
+                                  arInput:(id<SCCameraKitARInput>)arInput
+                           cameraPosition:(AVCaptureDevicePosition)cameraPosition
+                         videoOrientation:(AVCaptureVideoOrientation)videoOrientation
+                             dataProvider:(nullable SCCameraKitDataProviderComponent *)dataProvider
+                             hintDelegate:(nullable id<SCCameraKitLensHintDelegate>)hintDelegate
+                 textInputContextProvider:(nullable id<SCCameraKitTextInputContextProvider>)textInputContextProvider
+    agreementsPresentationContextProvider:
+        (nullable id<SCCameraKitAgreementsPresentationContextProvider>)agreementsPresentationContextProvider
+    NS_SWIFT_NAME(start(input:arInput:cameraPosition:videoOrientation:dataProvider:hintDelegate:textInputContextProvider:agreementsPresentationContextProvider:));
+
+/// End processing input frames.
+- (void)stop;
+
+/// End processing input frames.
+/// @param completion Block to be called after processing is finished and session is stopped
+- (void)stopWithCompletion:(nullable void (^)(void))completion NS_SWIFT_NAME(stop(completion:));
+
+/// Add an output. Frames will still be processed if no outputs exist.
+- (void)addOutput:(id<SCCameraKitOutput>)output NS_SWIFT_NAME(add(output:));
+
+/// Remove an output.
+- (void)removeOutput:(id<SCCameraKitOutput>)listener NS_SWIFT_NAME(remove(output:));
+
+/// The camera position in use. Setting will automatically update the input.
+@property (nonatomic, assign) AVCaptureDevicePosition cameraPosition;
+
+/// The orientation for the outputted video buffers
+@property (nonatomic, assign) AVCaptureVideoOrientation videoOrientation;
+
+/// The active input. May be either standard camera input or the AR input, depending on lens requirements.
+@property (nonatomic, readonly) id<SCCameraKitInput> activeInput;
+
+/// Store containing information above the acceptance state of terms of service
+@property (nonatomic, readonly) id<SCCameraKitAgreementsStore> agreementsStore;
+
+/// Presents any agreements such as Terms of Service or Privacy Policy for CameraKit immediately, if needed.
+/// @note CameraKit will present this when the user applies a lens if they have new agreements to accept. You can call
+/// this explicitly if you wish to present the terms before then (eg during an onboarding experience, alongside your own
+/// app's Terms of Service)
+- (void)presentAgreementsImmediately;
+
+@end
+ +
+
+

Swift

+
protocol CameraKitProtocol : NSObjectProtocol
+ +
+
+

Undocumented

+ +
+
+ +
+
+
+ +
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitTextInputContextProvider.html b/docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitTextInputContextProvider.html new file mode 100644 index 000000000..6ac2a1890 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitTextInputContextProvider.html @@ -0,0 +1,488 @@ + + + + SCCameraKitTextInputContextProvider Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

SCCameraKitTextInputContextProvider

+
+
+

Objective-C

+
@protocol SCCameraKitTextInputContextProvider <NSObject>
+ +
+
+

Swift

+
protocol TextInputContextProvider : NSObjectProtocol
+ +
+
+

Protocol to provide keyboard input data to lenses.

+ +
+
+ +
+
+
+
    +
  • +
    + + + + parentView + +
    +
    +
    +
    +
    +
    +

    A parent view in which to embed a text view. Unless reconfigured by providing a keyboardAccessoryProvider, this text +view will not be visible to the user.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic, weak, readonly) UIView *_Nullable parentView;
    + +
    +
    +

    Swift

    +
    weak var parentView: UIView? { get }
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Object which describes a user-visible input view for text input. Typically, this is a styled text view that appears +above the keyboard interface.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic, strong, readonly, nullable) id<SCCameraKitTextInputKeyboardAccessoryProvider> keyboardAccessoryProvider;
    + +
    +
    +

    Swift

    +
    var keyboardAccessoryProvider: TextInputKeyboardAccessoryProvider? { get }
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitTextInputKeyboardAccessoryProvider.html b/docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitTextInputKeyboardAccessoryProvider.html new file mode 100644 index 000000000..0d777cbfc --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitTextInputKeyboardAccessoryProvider.html @@ -0,0 +1,550 @@ + + + + SCCameraKitTextInputKeyboardAccessoryProvider Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

SCCameraKitTextInputKeyboardAccessoryProvider

+
+
+

Objective-C

+
@protocol SCCameraKitTextInputKeyboardAccessoryProvider <NSObject>
+ +
+
+

Swift

+
protocol TextInputKeyboardAccessoryProvider : NSObjectProtocol
+ +
+
+

Protocol for representing a text input view on-screen for lenses that request it.

+ +
+
+ +
+
+
+
    +
  • +
    + + + + accessoryView + +
    +
    +
    +
    +
    +
    +

    The view to show on top of the keyboard.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic, strong, readonly) UIView *_Nonnull accessoryView;
    + +
    +
    +

    Swift

    +
    var accessoryView: UIView { get }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + textView + +
    +
    +
    +
    +
    +
    +

    The text view associated with the input being provided.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic, strong, readonly) UITextView *_Nonnull textView;
    + +
    +
    +

    Swift

    +
    var textView: UITextView { get }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + placeholderText + +
    +
    +
    +
    +
    +
    +

    Placeholder text to show in the text view before the user has input any text. May be empty.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic, copy, nullable) NSString *placeholderText;
    + +
    +
    +

    Swift

    +
    var placeholderText: String? { get set }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + maximumHeight + +
    +
    +
    +
    +
    +
    +

    The maximum height the accessoryView can grow to. This will be considered when setting the safe area for the lens.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic, readonly) CGFloat maximumHeight;
    + +
    +
    +

    Swift

    +
    var maximumHeight: CGFloat { get }
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitToneMapAdjustmentController.html b/docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitToneMapAdjustmentController.html new file mode 100644 index 000000000..b497fe858 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitToneMapAdjustmentController.html @@ -0,0 +1,457 @@ + + + + SCCameraKitToneMapAdjustmentController Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

SCCameraKitToneMapAdjustmentController

+
+
+

Objective-C

+
@protocol
+    SCCameraKitToneMapAdjustmentController <SCCameraKitAdjustmentController>
+ +
+
+

Swift

+
protocol ToneMapAdjustmentController : AdjustmentController
+ +
+
+

A controller to control the tone map adjustment.

+ +
+
+ +
+
+
+
    +
  • +
    + + + + amount + +
    +
    +
    +
    +
    +
    +

    The “amount” of adjustment applied to the tone mapping algorithm. Ranges from 0.0 to 1.0. A value of 0.5 is the +“best guess” of the tone mapping algorithm. Users may wish to adjust this amount up or down to reflect their true +skin tone.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic) CGFloat amount;
    + +
    +
    +

    Swift

    +
    var amount: CGFloat { get set }
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitUserDataProvider.html b/docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitUserDataProvider.html new file mode 100644 index 000000000..a615b8795 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitUserDataProvider.html @@ -0,0 +1,486 @@ + + + + SCCameraKitUserDataProvider Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

SCCameraKitUserDataProvider

+
+
+

Objective-C

+
@protocol SCCameraKitUserDataProvider <NSObject>
+ +
+
+

Swift

+
protocol UserDataProvider : NSObjectProtocol
+ +
+
+

Describes an interface that provides user data to lenses

+ +
+
+ +
+
+
+
    +
  • +
    + + + + userData + +
    +
    +
    +
    +
    +
    +

    Current user data

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic, strong, readonly, nullable) SCCameraKitUserData *userData;
    + +
    +
    +

    Swift

    +
    var userData: UserData? { get }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + delegate + +
    +
    +
    +
    +
    +
    +

    Delegate to receive updates on user data changes

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic, weak, nullable) id<SCCameraKitUserDataProviderDelegate> delegate;
    + +
    +
    +

    Swift

    +
    weak var delegate: UserDataProviderDelegate? { get set }
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitUserDataProviderDelegate.html b/docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitUserDataProviderDelegate.html new file mode 100644 index 000000000..89cb62c31 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/Protocols/SCCameraKitUserDataProviderDelegate.html @@ -0,0 +1,487 @@ + + + + SCCameraKitUserDataProviderDelegate Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

SCCameraKitUserDataProviderDelegate

+
+
+

Objective-C

+
@protocol SCCameraKitUserDataProviderDelegate <NSObject>
+ +
+
+

Swift

+
protocol UserDataProviderDelegate : NSObjectProtocol
+ +
+
+

User data provider delegate to provide receivers with new user data on updates

+ +
+
+ +
+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Update delegate receivers with new user data

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (void)userDataProvider:
    +            (nonnull id<SCCameraKitUserDataProvider>)userDataProvider
    +       didUpdateUserData:(nonnull SCCameraKitUserData *)userData;
    + +
    +
    +

    Swift

    +
    func userDataProvider(_ userDataProvider: UserDataProvider, didUpdate userData: UserData)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + +
    + + userDataProvider + + +
    +

    current user data provider instance

    +
    +
    + + userData + + +
    +

    new user data

    +
    +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/Structs.html b/docs/api/ios/1.36.1/SCSDKCameraKit/Structs.html new file mode 100644 index 000000000..2f9e88f1d --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/Structs.html @@ -0,0 +1,443 @@ + + + + Structures Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

Structures

+

The following structures are available globally.

+ +
+
+ +
+
+
+ +
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/Structs/SCCameraKitLensMediaPickerAssetMetadata.html b/docs/api/ios/1.36.1/SCSDKCameraKit/Structs/SCCameraKitLensMediaPickerAssetMetadata.html new file mode 100644 index 000000000..e022f0ef8 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/Structs/SCCameraKitLensMediaPickerAssetMetadata.html @@ -0,0 +1,454 @@ + + + + SCCameraKitLensMediaPickerAssetMetadata Structure Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

SCCameraKitLensMediaPickerAssetMetadata

+
+
+

Objective-C

+
struct {}
+ +
+
+

Swift

+
struct SCCameraKitLensMediaPickerAssetMetadata
+ +
+
+

Metadata for a media asset

+ +
+
+ +
+
+
+
    +
  • +
    + + + + faceRect + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    CGRect faceRect
    + +
    +
    +

    Swift

    +
    var faceRect: CGRect
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/Type Definitions.html b/docs/api/ios/1.36.1/SCSDKCameraKit/Type Definitions.html new file mode 100644 index 000000000..8162a2936 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/Type Definitions.html @@ -0,0 +1,439 @@ + + + + Type Definitions Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ + +
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/Type Definitions/SCCameraKitLensMediaPickerAssetMetadata.html b/docs/api/ios/1.36.1/SCSDKCameraKit/Type Definitions/SCCameraKitLensMediaPickerAssetMetadata.html new file mode 100644 index 000000000..cf911f55e --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/Type Definitions/SCCameraKitLensMediaPickerAssetMetadata.html @@ -0,0 +1,451 @@ + + + + SCCameraKitLensMediaPickerAssetMetadata Type Definition Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ + +
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/Type Definitions/SCCameraKitLensMediaPickerAssetMetadata/SCCameraKitLensMediaPickerAssetMetadata.html b/docs/api/ios/1.36.1/SCSDKCameraKit/Type Definitions/SCCameraKitLensMediaPickerAssetMetadata/SCCameraKitLensMediaPickerAssetMetadata.html new file mode 100644 index 000000000..d5bba991a --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/Type Definitions/SCCameraKitLensMediaPickerAssetMetadata/SCCameraKitLensMediaPickerAssetMetadata.html @@ -0,0 +1,454 @@ + + + + SCCameraKitLensMediaPickerAssetMetadata Structure Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

SCCameraKitLensMediaPickerAssetMetadata

+
+
+

Objective-C

+
struct {}
+ +
+
+

Swift

+
struct SCCameraKitLensMediaPickerAssetMetadata
+ +
+
+

Metadata for a media asset

+ +
+
+ +
+
+
+
    +
  • +
    + + + + faceRect + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    CGRect faceRect
    + +
    +
    +

    Swift

    +
    var faceRect: CGRect
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/badge.svg b/docs/api/ios/1.36.1/SCSDKCameraKit/badge.svg new file mode 100644 index 000000000..be498fa5c --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/badge.svg @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + documentation + + + documentation + + + 86% + + + 86% + + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/css/highlight.css b/docs/api/ios/1.36.1/SCSDKCameraKit/css/highlight.css new file mode 100644 index 000000000..c170357ce --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/css/highlight.css @@ -0,0 +1,202 @@ +/*! Jazzy - https://github.com/realm/jazzy + * Copyright Realm Inc. + * SPDX-License-Identifier: MIT + */ +/* Credit to https://gist.github.com/wataru420/2048287 */ +.highlight .c { + color: #999988; + font-style: italic; } + +.highlight .err { + color: #a61717; + background-color: #e3d2d2; } + +.highlight .k { + color: #000000; + font-weight: bold; } + +.highlight .o { + color: #000000; + font-weight: bold; } + +.highlight .cm { + color: #999988; + font-style: italic; } + +.highlight .cp { + color: #999999; + font-weight: bold; } + +.highlight .c1 { + color: #999988; + font-style: italic; } + +.highlight .cs { + color: #999999; + font-weight: bold; + font-style: italic; } + +.highlight .gd { + color: #000000; + background-color: #ffdddd; } + +.highlight .gd .x { + color: #000000; + background-color: #ffaaaa; } + +.highlight .ge { + color: #000000; + font-style: italic; } + +.highlight .gr { + color: #aa0000; } + +.highlight .gh { + color: #999999; } + +.highlight .gi { + color: #000000; + background-color: #ddffdd; } + +.highlight .gi .x { + color: #000000; + background-color: #aaffaa; } + +.highlight .go { + color: #888888; } + +.highlight .gp { + color: #555555; } + +.highlight .gs { + font-weight: bold; } + +.highlight .gu { + color: #aaaaaa; } + +.highlight .gt { + color: #aa0000; } + +.highlight .kc { + color: #000000; + font-weight: bold; } + +.highlight .kd { + color: #000000; + font-weight: bold; } + +.highlight .kp { + color: #000000; + font-weight: bold; } + +.highlight .kr { + color: #000000; + font-weight: bold; } + +.highlight .kt { + color: #445588; } + +.highlight .m { + color: #009999; } + +.highlight .s { + color: #d14; } + +.highlight .na { + color: #008080; } + +.highlight .nb { + color: #0086B3; } + +.highlight .nc { + color: #445588; + font-weight: bold; } + +.highlight .no { + color: #008080; } + +.highlight .ni { + color: #800080; } + +.highlight .ne { + color: #990000; + font-weight: bold; } + +.highlight .nf { + color: #990000; } + +.highlight .nn { + color: #555555; } + +.highlight .nt { + color: #000080; } + +.highlight .nv { + color: #008080; } + +.highlight .ow { + color: #000000; + font-weight: bold; } + +.highlight .w { + color: #bbbbbb; } + +.highlight .mf { + color: #009999; } + +.highlight .mh { + color: #009999; } + +.highlight .mi { + color: #009999; } + +.highlight .mo { + color: #009999; } + +.highlight .sb { + color: #d14; } + +.highlight .sc { + color: #d14; } + +.highlight .sd { + color: #d14; } + +.highlight .s2 { + color: #d14; } + +.highlight .se { + color: #d14; } + +.highlight .sh { + color: #d14; } + +.highlight .si { + color: #d14; } + +.highlight .sx { + color: #d14; } + +.highlight .sr { + color: #009926; } + +.highlight .s1 { + color: #d14; } + +.highlight .ss { + color: #990073; } + +.highlight .bp { + color: #999999; } + +.highlight .vc { + color: #008080; } + +.highlight .vg { + color: #008080; } + +.highlight .vi { + color: #008080; } + +.highlight .il { + color: #009999; } diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/css/jazzy.css b/docs/api/ios/1.36.1/SCSDKCameraKit/css/jazzy.css new file mode 100644 index 000000000..c7bb9fe22 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/css/jazzy.css @@ -0,0 +1,404 @@ +/*! Jazzy - https://github.com/realm/jazzy + * Copyright Realm Inc. + * SPDX-License-Identifier: MIT + */ +*, *:before, *:after { + box-sizing: inherit; } + +body { + margin: 0; + background: #fff; + color: #333; + font: 16px/1.7 "Helvetica Neue", Helvetica, Arial, sans-serif; + letter-spacing: .2px; + -webkit-font-smoothing: antialiased; + box-sizing: border-box; } + +h1 { + font-size: 2rem; + font-weight: 700; + margin: 1.275em 0 0.6em; } + +h2 { + font-size: 1.75rem; + font-weight: 700; + margin: 1.275em 0 0.3em; } + +h3 { + font-size: 1.5rem; + font-weight: 700; + margin: 1em 0 0.3em; } + +h4 { + font-size: 1.25rem; + font-weight: 700; + margin: 1.275em 0 0.85em; } + +h5 { + font-size: 1rem; + font-weight: 700; + margin: 1.275em 0 0.85em; } + +h6 { + font-size: 1rem; + font-weight: 700; + margin: 1.275em 0 0.85em; + color: #777; } + +p { + margin: 0 0 1em; } + +ul, ol { + padding: 0 0 0 2em; + margin: 0 0 0.85em; } + +blockquote { + margin: 0 0 0.85em; + padding: 0 15px; + color: #858585; + border-left: 4px solid #e5e5e5; } + +img { + max-width: 100%; } + +a { + color: #4183c4; + text-decoration: none; } + a:hover, a:focus { + outline: 0; + text-decoration: underline; } + a.discouraged { + text-decoration: line-through; } + a.discouraged:hover, a.discouraged:focus { + text-decoration: underline line-through; } + +table { + background: #fff; + width: 100%; + border-collapse: collapse; + border-spacing: 0; + overflow: auto; + margin: 0 0 0.85em; } + +tr:nth-child(2n) { + background-color: #fbfbfb; } + +th, td { + padding: 6px 13px; + border: 1px solid #ddd; } + +hr { + height: 1px; + border: none; + background-color: #ddd; } + +pre { + margin: 0 0 1.275em; + padding: .85em 1em; + overflow: auto; + background: #f7f7f7; + font-size: .85em; + font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace; } + +code { + font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace; } + +.item-container p > code, .item-container li > code, .top-matter p > code, .top-matter li > code { + background: #f7f7f7; + padding: .2em; } + .item-container p > code:before, .item-container p > code:after, .item-container li > code:before, .item-container li > code:after, .top-matter p > code:before, .top-matter p > code:after, .top-matter li > code:before, .top-matter li > code:after { + letter-spacing: -.2em; + content: "\00a0"; } + +pre code { + padding: 0; + white-space: pre; } + +.content-wrapper { + display: flex; + flex-direction: column; } + @media (min-width: 768px) { + .content-wrapper { + flex-direction: row; } } +.header { + display: flex; + padding: 8px; + font-size: 0.875em; + background: #444; + color: #999; } + +.header-col { + margin: 0; + padding: 0 8px; } + +.header-col--primary { + flex: 1; } + +.header-link { + color: #fff; } + +.header-icon { + padding-right: 2px; + vertical-align: -3px; + height: 16px; } + +.breadcrumbs { + font-size: 0.875em; + padding: 8px 16px; + margin: 0; + background: #fbfbfb; + border-bottom: 1px solid #ddd; } + +.carat { + height: 10px; + margin: 0 5px; } + +.navigation { + order: 2; } + @media (min-width: 768px) { + .navigation { + order: 1; + width: 25%; + max-width: 300px; + padding-bottom: 64px; + overflow: hidden; + word-wrap: normal; + background: #fbfbfb; + border-right: 1px solid #ddd; } } +.nav-groups { + list-style-type: none; + padding-left: 0; } + +.nav-group-name { + border-bottom: 1px solid #ddd; + padding: 8px 0 8px 16px; } + +.nav-group-name-link { + color: #333; } + +.nav-group-tasks { + margin: 8px 0; + padding: 0 0 0 8px; } + +.nav-group-task { + font-size: 1em; + list-style-type: none; + white-space: nowrap; } + +.nav-group-task-link { + color: #808080; } + +.main-content { + order: 1; } + @media (min-width: 768px) { + .main-content { + order: 2; + flex: 1; + padding-bottom: 60px; } } +.section { + padding: 0 32px; + border-bottom: 1px solid #ddd; } + +.section-content { + max-width: 834px; + margin: 0 auto; + padding: 16px 0; } + +.section-name { + color: #666; + display: block; } + .section-name p { + margin-bottom: inherit; } + +.declaration .highlight { + overflow-x: initial; + padding: 8px 0; + margin: 0; + background-color: transparent; + border: none; } + +.task-group-section { + border-top: 1px solid #ddd; } + +.task-group { + padding-top: 0px; } + +.task-name-container a[name]:before { + content: ""; + display: block; } + +.section-name-container { + position: relative; } + .section-name-container .section-name-link { + position: absolute; + top: 0; + left: 0; + bottom: 0; + right: 0; + margin-bottom: 0; } + .section-name-container .section-name { + position: relative; + pointer-events: none; + z-index: 1; } + .section-name-container .section-name a { + pointer-events: auto; } + +.item-container { + padding: 0; } + +.item { + padding-top: 8px; + width: 100%; + list-style-type: none; } + .item a[name]:before { + content: ""; + display: block; } + .item .token, .item .direct-link { + display: inline-block; + text-indent: -20px; + padding-left: 3px; + margin-left: 20px; + font-size: 1rem; } + .item .declaration-note { + font-size: .85em; + color: #808080; + font-style: italic; } + +.pointer-container { + border-bottom: 1px solid #ddd; + left: -23px; + padding-bottom: 13px; + position: relative; + width: 110%; } + +.pointer { + left: 21px; + top: 7px; + display: block; + position: absolute; + width: 12px; + height: 12px; + border-left: 1px solid #ddd; + border-top: 1px solid #ddd; + background: #fff; + transform: rotate(45deg); } + +.height-container { + display: none; + position: relative; + width: 100%; + overflow: hidden; } + .height-container .section { + background: #fff; + border: 1px solid #ddd; + border-top-width: 0; + padding-top: 10px; + padding-bottom: 5px; + padding: 8px 16px; } + +.aside, .language { + padding: 6px 12px; + margin: 12px 0; + border-left: 5px solid #dddddd; + overflow-y: hidden; } + .aside .aside-title, .language .aside-title { + font-size: 9px; + letter-spacing: 2px; + text-transform: uppercase; + padding-bottom: 0; + margin: 0; + color: #aaa; + -webkit-user-select: none; } + .aside p:last-child, .language p:last-child { + margin-bottom: 0; } + +.language { + border-left: 5px solid #cde9f4; } + .language .aside-title { + color: #4183c4; } + +.aside-warning, .aside-deprecated, .aside-unavailable { + border-left: 5px solid #ff6666; } + .aside-warning .aside-title, .aside-deprecated .aside-title, .aside-unavailable .aside-title { + color: #ff0000; } + +.graybox { + border-collapse: collapse; + width: 100%; } + .graybox p { + margin: 0; + word-break: break-word; + min-width: 50px; } + .graybox td { + border: 1px solid #ddd; + padding: 5px 25px 5px 10px; + vertical-align: middle; } + .graybox tr td:first-of-type { + text-align: right; + padding: 7px; + vertical-align: top; + word-break: normal; + width: 40px; } + +.slightly-smaller { + font-size: 0.9em; } + +.footer { + padding: 8px 16px; + background: #444; + color: #ddd; + font-size: 0.8em; } + .footer p { + margin: 8px 0; } + .footer a { + color: #fff; } + +html.dash .header, html.dash .breadcrumbs, html.dash .navigation { + display: none; } + +html.dash .height-container { + display: block; } + +form[role=search] input { + font: 16px/1.7 "Helvetica Neue", Helvetica, Arial, sans-serif; + font-size: 14px; + line-height: 24px; + padding: 0 10px; + margin: 0; + border: none; + border-radius: 1em; } + .loading form[role=search] input { + background: white url(../img/spinner.gif) center right 4px no-repeat; } + +form[role=search] .tt-menu { + margin: 0; + min-width: 300px; + background: #fbfbfb; + color: #333; + border: 1px solid #ddd; } + +form[role=search] .tt-highlight { + font-weight: bold; } + +form[role=search] .tt-suggestion { + font: 16px/1.7 "Helvetica Neue", Helvetica, Arial, sans-serif; + padding: 0 8px; } + form[role=search] .tt-suggestion span { + display: table-cell; + white-space: nowrap; } + form[role=search] .tt-suggestion .doc-parent-name { + width: 100%; + text-align: right; + font-weight: normal; + font-size: 0.9em; + padding-left: 16px; } + +form[role=search] .tt-suggestion:hover, +form[role=search] .tt-suggestion.tt-cursor { + cursor: pointer; + background-color: #4183c4; + color: #fff; } + +form[role=search] .tt-suggestion:hover .doc-parent-name, +form[role=search] .tt-suggestion.tt-cursor .doc-parent-name { + color: #fff; } diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Info.plist b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Info.plist new file mode 100644 index 000000000..61863ec4a --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Info.plist @@ -0,0 +1,20 @@ + + + + + CFBundleIdentifier + com.jazzy. + CFBundleName + + DocSetPlatformFamily + + isDashDocset + + dashIndexFilePath + index.html + isJavaScriptEnabled + + DashDocSetFamily + dashtoc + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Classes.html b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Classes.html new file mode 100644 index 000000000..b1ed30efd --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Classes.html @@ -0,0 +1,1021 @@ + + + + Classes Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

Classes

+

The following classes are available globally.

+ +
+
+ +
+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    An adjustment which allows users to more accurately represent the color of their skin when captured by the camera.

    + + See more +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    
    +@interface SCCameraKitToneMapAdjustment : NSObject <SCCameraKitAdjustment>
    +
    extension ToneMapAdjustment: Adjustment
    + +
    +
    +

    Swift

    +
    class ToneMapAdjustment : NSObject, __Adjustment
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    An adjustment which allows users to blur the background on their input.

    + + See more +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    
    +@interface SCCameraKitPortraitAdjustment : NSObject <SCCameraKitAdjustment>
    +
    extension PortraitAdjustment: Adjustment
    + +
    +
    +

    Swift

    +
    class PortraitAdjustment : NSObject, __Adjustment
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + SCCameraKitSession + +
    +
    +
    +
    +
    +
    +

    CameraKit handles interaction with the camera and contains several components like lenses.

    + + See more +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    
    +@interface SCCameraKitSession : NSObject <SCCameraKitProtocol>
    + +
    +
    +

    Swift

    +
    class Session : NSObject, CameraKitProtocol
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    ARSessionInput is a CameraKit provided wrapper for ARSession.

    + + See more +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    
    +@interface SCCameraKitARSessionInput : NSObject <SCCameraKitARInput>
    + +
    +
    +

    Swift

    +
    class ARSessionInput : NSObject
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    AVSessionInput is a CameraKit provided wrapper for AVCaptureSession. It may make adjustments to things like color +formats in order to process frames. You are still responsible for doing the general configuration of the capture +session, such as adding devices.

    + + See more +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    
    +@interface SCCameraKitAVSessionInput : NSObject <SCCameraKitInput>
    + +
    +
    +

    Swift

    +
    class AVSessionInput : NSObject
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    AVWriterOutput is a CameraKit provided wrapper for AVAssetWriter. You are still responsible for the configuration of +the writer.

    + + See more +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    
    +@interface SCCameraKitAVWriterOutput : NSObject
    + +
    +
    +

    Swift

    +
    class AVWriterOutput : NSObject
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Component for user’s custom data providers

    + + See more +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    
    +@interface SCCameraKitDataProviderComponent : NSObject
    + +
    +
    +

    Swift

    +
    class DataProviderComponent : NSObject
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Enables the configuration of a custom viewport for SCCameraKitPreviewView.

    + + See more +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    
    +@interface SCCameraKitExplicitViewportProvider : NSObject
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Concrete class to build lens launch data to pass to processor when applying

    + + See more +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    
    +@interface SCCameraKitLensLaunchDataBuilder : NSObject
    + +
    +
    +

    Swift

    +
    class LensLaunchDataBuilder : NSObject
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Final, opaque data class to reset persisted launch data

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    
    +@interface SCCameraKitEmptyLensLaunchData : NSObject <SCCameraKitLensLaunchData>
    + +
    +
    +

    Swift

    +
    class EmptyLensLaunchData : NSObject, LensLaunchData
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    A default implementation of SCCameraKitLensMediaPickerProvider that uses the user’s photos library.

    + + See more +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    
    +@interface SCCameraKitLensMediaPickerProviderPhotoLibrary
    +    : NSObject <SCCameraKitLensMediaPickerProvider>
    + +
    +
    +

    Swift

    +
    class LensMediaPickerProviderPhotoLibrary : NSObject, LensMediaPickerProvider
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Concrete data class for the remote api service response to a request sent by a lens.

    + + See more +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    
    +@interface SCCameraKitLensRemoteApiResponse
    +    : NSObject <SCCameraKitLensRemoteApiResponse>
    + +
    +
    +

    Swift

    +
    class LensRemoteApiResponse : NSObject, LensRemoteApiResponseProtocol
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Concrete class to configure camera kit cache

    + + See more +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    
    +@interface SCCameraKitCacheConfig : NSObject
    + +
    +
    +

    Swift

    +
    class CacheConfig : NSObject
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Concrete class to configure all available, user-configurable properties within the lenses component

    + + See more +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    
    +@interface SCCameraKitLensesConfig : NSObject
    + +
    +
    +

    Swift

    +
    class LensesConfig : NSObject
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    An output that will capture photos. You should add this as an output for your CameraKit instance.

    + + See more +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    
    +@interface SCCameraKitPhotoCaptureOutput : NSObject
    + +
    +
    +

    Swift

    +
    class PhotoCaptureOutput : NSObject
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    A UIView which is capable of rendering SCCameraKitTextures. You should add this as an output for your CameraKit +instance.

    + + See more +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    
    +@interface SCCameraKitPreviewView : UIView
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Data class that is used to pass in a configuration for the CameraKit Session. +Use this data class if you would like to be able to dynamically update config values like application id and api +token or overwrite the ones that are passed into Info.plist.

    + + See more +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    
    +@interface SCCameraKitSessionConfig : NSObject
    + +
    +
    +

    Swift

    +
    class SessionConfig : NSObject
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + SCCameraKitUserData + +
    +
    +
    +
    +
    +
    +

    Concrete user data class to pass in user data that can be used by some lenses

    + + See more +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    
    +@interface SCCameraKitUserData : NSObject
    + +
    +
    +

    Swift

    +
    class UserData : NSObject
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Classes/SCCameraKitARSessionInput.html b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Classes/SCCameraKitARSessionInput.html new file mode 100644 index 000000000..2a238b583 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Classes/SCCameraKitARSessionInput.html @@ -0,0 +1,592 @@ + + + + SCCameraKitARSessionInput Class Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

SCCameraKitARSessionInput

+
+
+

Objective-C

+

+@interface SCCameraKitARSessionInput : NSObject <SCCameraKitARInput>
+ +
+
+

Swift

+
class ARSessionInput : NSObject
+ +
+
+

ARSessionInput is a CameraKit provided wrapper for ARSession.

+ +
+
+ +
+
+
+
    +
  • +
    + + + + -init + +
    +
    +
    +
    +
    +
    +

    Create an AR Session input. +Inits with a managed ARSession

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (nonnull instancetype)init;
    + +
    +
    +

    Swift

    +
    init()
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + -initWithSession: + +
    +
    +
    +
    +
    +
    +

    Create an AR Session input with a preexisting session.

    +
    +

    Note

    + the input will overwrite the preexisting settings for delegate and delegateQueue + +
    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (nonnull instancetype)initWithSession:(nonnull ARSession *)session;
    + +
    +
    +

    Swift

    +
    init(session: ARSession)
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + session + + +
    +

    the ARSession to use.

    +
    +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Create an AR Session input with a preexisting session.

    +
    +

    Note

    + the input will overwrite the preexisting settings for delegate and delegateQueue + +
    +

    Warning

    + if your app supports lenses with true sizing, you MUST set this to be an instance of +ARFaceTrackingConfiguration (additionally, we recommend setting the number of tracked faces to 0) + +
    +

    Warning

    + using an instance of ARFaceTrackingConfiguration in this method will subject your app to additional app +review, concerning your usage of the TrueDepth camera. + +
    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (nonnull instancetype)initWithSession:(nonnull ARSession *)session
    +               frontCameraConfiguration:
    +                   (nullable ARConfiguration *)frontCameraConfiguration;
    + +
    +
    +

    Swift

    +
    init(session: ARSession, frontCameraConfiguration: ARConfiguration?)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + +
    + + session + + +
    +

    the ARSession to use.

    +
    +
    + + frontCameraConfiguration + + +
    +

    The ARConfiguration to use when using the front

    +
    +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Classes/SCCameraKitAVSessionInput.html b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Classes/SCCameraKitAVSessionInput.html new file mode 100644 index 000000000..c9244f835 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Classes/SCCameraKitAVSessionInput.html @@ -0,0 +1,655 @@ + + + + SCCameraKitAVSessionInput Class Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

SCCameraKitAVSessionInput

+
+
+

Objective-C

+

+@interface SCCameraKitAVSessionInput : NSObject <SCCameraKitInput>
+ +
+
+

Swift

+
class AVSessionInput : NSObject
+ +
+
+

AVSessionInput is a CameraKit provided wrapper for AVCaptureSession. It may make adjustments to things like color +formats in order to process frames. You are still responsible for doing the general configuration of the capture +session, such as adding devices.

+ +
+
+ +
+
+
+
    +
  • +
    + + + + videoMirrored + +
    +
    +
    +
    +
    +
    +

    Describes whether the current video frames are mirrored

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic) BOOL videoMirrored;
    + +
    +
    +

    Swift

    +
    var videoMirrored: Bool { get set }
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Describes whether it should automatically configure outputted video frames to be mirrored. +If set to YES - it will update the videoMirrored property based on input device position (front is mirrored, back +is not)

    +
    +

    Note

    + By default this property is set to YES, you can change it while the session is running and it will update the +future video frames + +
    +

    Note

    + If you change this property to NO, make sure you also change videoMirrored property as well + +
    +

    See

    + videoMirrored + +
    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic) BOOL automaticallyConfiguresVideoMirrored;
    + +
    +
    +

    Swift

    +
    var automaticallyConfiguresVideoMirrored: Bool { get set }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + audioEnabled + +
    +
    +
    +
    +
    +
    +

    Determines whether or not this input will capture audio and pass audio buffer data to CameraKit. +If YES then it will automatically configure a capture session, audio input device, etc. and start capturing data. +If NO then no audio data will be captured.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic) BOOL audioEnabled;
    + +
    +
    +

    Swift

    +
    var audioEnabled: Bool { get set }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + -initWithSession: + +
    +
    +
    +
    +
    +
    +

    Create an AV Session input.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (nonnull instancetype)initWithSession:(nonnull AVCaptureSession *)session;
    + +
    +
    +

    Swift

    +
    init(session: AVCaptureSession)
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + session + + +
    +

    the AVCaptureSession to use.

    +
    +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Create an AV Session input.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (nonnull instancetype)initWithSession:(nonnull AVCaptureSession *)session
    +                           audioEnabled:(BOOL)audioEnabled;
    + +
    +
    +

    Swift

    +
    init(session: AVCaptureSession, audioEnabled: Bool)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + +
    + + session + + +
    +

    The AVCaptureSession to use.

    +
    +
    + + audioEnabled + + +
    +

    Determines whether or not this input will capture audio and pass audio buffer data to CameraKit. +Default is YES.

    +
    +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Classes/SCCameraKitAVWriterOutput.html b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Classes/SCCameraKitAVWriterOutput.html new file mode 100644 index 000000000..9c61361b3 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Classes/SCCameraKitAVWriterOutput.html @@ -0,0 +1,679 @@ + + + + SCCameraKitAVWriterOutput Class Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

SCCameraKitAVWriterOutput

+
+
+

Objective-C

+

+@interface SCCameraKitAVWriterOutput : NSObject
+ +
+
+

Swift

+
class AVWriterOutput : NSObject
+ +
+
+

AVWriterOutput is a CameraKit provided wrapper for AVAssetWriter. You are still responsible for the configuration of +the writer.

+ +
+
+ +
+
+
+
    +
  • +
    + + + + startDate + +
    +
    +
    +
    +
    +
    +

    Date and time of first video buffer recorded (ie. start recording time)

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic, strong, readonly, nullable) NSDate *startDate;
    + +
    +
    +

    Swift

    +
    var startDate: Date? { get }
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Create an AVWriterOutput

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (nonnull instancetype)
    +    initWithAVAssetWriter:(nonnull AVAssetWriter *)assetWriter
    +         pixelBufferInput:
    +             (nonnull AVAssetWriterInputPixelBufferAdaptor *)pixelBufferInput
    +               audioInput:(nullable AVAssetWriterInput *)audioInput;
    + +
    +
    +

    Swift

    +
    init(avAssetWriter assetWriter: AVAssetWriter, pixelBufferInput: AVAssetWriterInputPixelBufferAdaptor, audioInput: AVAssetWriterInput?)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + + + + + +
    + + assetWriter + + +
    +

    the configured AVAssetWRiter

    +
    +
    + + pixelBufferInput + + +
    +

    the configured AVAssetWriterInputPixelBufferAdaptor to write video to.

    +
    +
    + + audioInput + + +
    +

    the configured AVAssetWriterInput to write audio to. May be nullable if the video does not contain +audio. +@note: audioInput is currently unused. This will change in a future build.

    +
    +
    +
    +
    +
    +
  • +
  • +
    + + + + +new + +
    +
    +
    +
    +
    +
    +

    Unavailable

    + +
    +
    +

    Use designated init or convenience init to pass in required writer and inputs

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    + (nonnull instancetype)new;
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + -init + +
    +
    +
    +
    +
    +
    +

    Unavailable

    + +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (instancetype)init NS_UNAVAILABLE;
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + -startRecording + +
    +
    +
    +
    +
    +
    +

    Call this after you start recording on the AVAssetWriter. This will indicate that the output should start recording +data it receives from CameraKit.

    +
    +

    Note

    + DO NOT call startSession on the asset writer, this output class will do so when it receives the first video +frame. This is to ensure that there are no empty frames from the time the session is started and the first video +buffer is written + +
    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (void)startRecording;
    + +
    +
    +

    Swift

    +
    func startRecording()
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + -stopRecording + +
    +
    +
    +
    +
    +
    +

    Call this before you stop recording on the AVAssetWriter. This will cause the output to stop recording data from +CameraKit.

    +
    +

    Note

    + DO NOT call endSession on the asset writer, this output class will do so with the timestamp of the last +video frame This is to ensure that there are no empty frames from the time the last video buffer is written to the +end of the session + +
    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (void)stopRecording;
    + +
    +
    +

    Swift

    +
    func stopRecording()
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Classes/SCCameraKitCacheConfig.html b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Classes/SCCameraKitCacheConfig.html new file mode 100644 index 000000000..539fe6a4b --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Classes/SCCameraKitCacheConfig.html @@ -0,0 +1,512 @@ + + + + SCCameraKitCacheConfig Class Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

SCCameraKitCacheConfig

+
+
+

Objective-C

+

+@interface SCCameraKitCacheConfig : NSObject
+ +
+
+

Swift

+
class CacheConfig : NSObject
+ +
+
+

Concrete class to configure camera kit cache

+ +
+
+ +
+
+
+
    +
  • +
    + + + + lensContentMaxSize + +
    +
    +
    +
    +
    +
    +

    Max size in bytes for lens content cache

    +
    +

    Note

    + Default max is 100MB and min is at least 50MB + +
    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic, readonly) NSUInteger lensContentMaxSize;
    + +
    +
    +

    Swift

    +
    var lensContentMaxSize: UInt { get }
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Init with specifed max size for lens content cache

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (nonnull instancetype)initWithLensContentMaxSize:
    +    (NSUInteger)lensContentMaxSize;
    + +
    +
    +

    Swift

    +
    init(lensContentMaxSize: UInt)
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + lensContentMaxSize + + +
    +

    max size for lens content cache

    +
    +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Classes/SCCameraKitDataProviderComponent.html b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Classes/SCCameraKitDataProviderComponent.html new file mode 100644 index 000000000..acbcc7228 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Classes/SCCameraKitDataProviderComponent.html @@ -0,0 +1,1082 @@ + + + + SCCameraKitDataProviderComponent Class Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

SCCameraKitDataProviderComponent

+
+
+

Objective-C

+

+@interface SCCameraKitDataProviderComponent : NSObject
+ +
+
+

Swift

+
class DataProviderComponent : NSObject
+ +
+
+

Component for user’s custom data providers

+ +
+
+ +
+
+
+ +
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Classes/SCCameraKitExplicitViewportProvider.html b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Classes/SCCameraKitExplicitViewportProvider.html new file mode 100644 index 000000000..75dd0342c --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Classes/SCCameraKitExplicitViewportProvider.html @@ -0,0 +1,696 @@ + + + + SCCameraKitExplicitViewportProvider Class Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

SCCameraKitExplicitViewportProvider

+
+
+ +

+@interface SCCameraKitExplicitViewportProvider : NSObject
+ +
+
+

Enables the configuration of a custom viewport for SCCameraKitPreviewView.

+ +
+
+ +
+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Initializes the ExplicitViewportProvider with the specified viewportSize, outputResolution, and safeArea.

    +
    +

    Note

    + The delegate will be set automatically when this class is used to configure SCCameraKitPreviewView +so that any change to viewportSize, outputResolution, and safeArea is propagated. + +
    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (nonnull instancetype)initWithViewportSize:(CGSize)viewportSize
    +                            outputResolution:(CGSize)outputResolution
    +                                    safeArea:(CGRect)safeArea;
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + + + + + +
    + + viewportSize + + +
    +

    Output viewport frame size.

    +
    +
    + + outputResolution + + +
    +

    Output resolution size in pixels, not points (i.e. 1125x2436 not 375x812).

    +
    +
    + + safeArea + + +
    +

    A CGRect describing an area that the host app will not draw on top of.

    +
    +
    +
    +
    +
    +
  • +
  • +
    + + + + -setViewportSize: + +
    +
    +
    +
    +
    +
    +

    Sets the output viewport size and propagates the change to SCCameraKitPreviewView.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (void)setViewportSize:(CGSize)viewportSize;
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + viewportSize + + +
    +

    Output viewport frame size.

    +
    +
    +
    +
    +
    +
  • +
  • +
    + + + + -setOutputResolution: + +
    +
    +
    +
    +
    +
    +

    Sets the output resolution and propagates the change to SCCameraKitPreviewView.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (void)setOutputResolution:(CGSize)outputResolution;
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + outputResolution + + +
    +

    Output resolution size in pixels, not points (i.e. 1125x2436 not 375x812).

    +
    +
    +
    +
    +
    +
  • +
  • +
    + + + + -setSafeArea: + +
    +
    +
    +
    +
    +
    +

    Sets the safe area and propagates the change to SCCameraKitPreviewView.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (void)setSafeArea:(CGRect)safeArea;
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + safeArea + + +
    +

    A CGRect describing an area that the host app will not draw on top of.

    +
    +
    +
    +
    +
    +
  • +
  • +
    + + + + -init + +
    +
    +
    +
    +
    +
    +

    Unavailable

    + +
    +
    +

    Use the designated initializer to pass in the required properties.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (nonnull instancetype)init;
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + +new + +
    +
    +
    +
    +
    +
    +

    Unavailable

    + +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    + (instancetype)new NS_UNAVAILABLE;
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Classes/SCCameraKitLensLaunchDataBuilder.html b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Classes/SCCameraKitLensLaunchDataBuilder.html new file mode 100644 index 000000000..efaf721ac --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Classes/SCCameraKitLensLaunchDataBuilder.html @@ -0,0 +1,760 @@ + + + + SCCameraKitLensLaunchDataBuilder Class Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

SCCameraKitLensLaunchDataBuilder

+
+
+

Objective-C

+

+@interface SCCameraKitLensLaunchDataBuilder : NSObject
+ +
+
+

Swift

+
class LensLaunchDataBuilder : NSObject
+ +
+
+

Concrete class to build lens launch data to pass to processor when applying

+ +
+
+ +
+
+
+
    +
  • +
    + + + + launchData + +
    +
    +
    +
    +
    +
    +

    Builds and get launch data from current builder state

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic, strong, readonly, nullable) id<SCCameraKitLensLaunchData> launchData;
    + +
    +
    +

    Swift

    +
    var launchData: LensLaunchData? { get }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + -addNumber:forKey: + +
    +
    +
    +
    +
    +
    +

    Add number key-value pair to launch data

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (void)addNumber:(nonnull NSNumber *)value forKey:(nonnull NSString *)key;
    + +
    +
    +

    Swift

    +
    func add(number value: NSNumber, key: String)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + +
    + + value + + +
    +

    number value

    +
    +
    + + key + + +
    +

    key for value

    +
    +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Add number array key-value pair to launch data

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (void)addNumberArray:(nonnull NSArray<NSNumber *> *)value
    +                forKey:(nonnull NSString *)key;
    + +
    +
    +

    Swift

    +
    func add(numberArray value: [NSNumber], key: String)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + +
    + + value + + +
    +

    number array value

    +
    +
    + + key + + +
    +

    key for value

    +
    +
    +
    +
    +
    +
  • +
  • +
    + + + + -addString:forKey: + +
    +
    +
    +
    +
    +
    +

    Add string key-value pair to launch data

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (void)addString:(nonnull NSString *)value forKey:(nonnull NSString *)key;
    + +
    +
    +

    Swift

    +
    func add(string value: String, key: String)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + +
    + + value + + +
    +

    string value

    +
    +
    + + key + + +
    +

    key for value

    +
    +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Add string array key-value pair to launch data

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (void)addStringArray:(nonnull NSArray<NSString *> *)value
    +                forKey:(nonnull NSString *)key;
    + +
    +
    +

    Swift

    +
    func add(stringArray value: [String], key: String)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + +
    + + value + + +
    +

    string array value

    +
    +
    + + key + + +
    +

    key for value

    +
    +
    +
    +
    +
    +
  • +
  • +
    + + + + -removeValueForKey: + +
    +
    +
    +
    +
    +
    +

    Removes key-value pair from launch data

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (void)removeValueForKey:(nonnull NSString *)key;
    + +
    +
    +

    Swift

    +
    func removeValue(key: String)
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + key + + +
    +

    key for value to remove

    +
    +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Classes/SCCameraKitLensMediaPickerProviderPhotoLibrary.html b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Classes/SCCameraKitLensMediaPickerProviderPhotoLibrary.html new file mode 100644 index 000000000..dfece7eb7 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Classes/SCCameraKitLensMediaPickerProviderPhotoLibrary.html @@ -0,0 +1,539 @@ + + + + SCCameraKitLensMediaPickerProviderPhotoLibrary Class Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

SCCameraKitLensMediaPickerProviderPhotoLibrary

+
+
+

Objective-C

+

+@interface SCCameraKitLensMediaPickerProviderPhotoLibrary
+    : NSObject <SCCameraKitLensMediaPickerProvider>
+ +
+
+

Swift

+
class LensMediaPickerProviderPhotoLibrary : NSObject, LensMediaPickerProvider
+ +
+
+

A default implementation of SCCameraKitLensMediaPickerProvider that uses the user’s photos library.

+ +
+
+ +
+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Initializes the photo library provider.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (nonnull instancetype)initWithDefaultAssetTypes:
    +    (SCCameraKitLensMediaPickerProviderAllowedMediaType)defaultAssetTypes;
    + +
    +
    +

    Swift

    +
    init(defaultAssetTypes: SCCameraKitLensMediaPickerProviderAllowedMediaType)
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + defaultAssetTypes + + +
    +

    a bitmask specifying which types of assets the picker will display when the lens does not +indicate interest in a specific type of asset. MUST not be LensMediaPickerProviderAllowedMediaTypeNoneSpecified.

    +
    +
    +
    +
    +
    +
  • +
  • +
    + + + + -init + +
    +
    +
    +
    +
    +
    +

    Unavailable

    + +
    +
    +

    Use designated init or convenience init

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (nonnull instancetype)init;
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + +new + +
    +
    +
    +
    +
    +
    +

    Unavailable

    + +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    + (instancetype)new NS_UNAVAILABLE;
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Classes/SCCameraKitLensRemoteApiResponse.html b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Classes/SCCameraKitLensRemoteApiResponse.html new file mode 100644 index 000000000..2fb759743 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Classes/SCCameraKitLensRemoteApiResponse.html @@ -0,0 +1,577 @@ + + + + SCCameraKitLensRemoteApiResponse Class Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

SCCameraKitLensRemoteApiResponse

+
+
+

Objective-C

+

+@interface SCCameraKitLensRemoteApiResponse
+    : NSObject <SCCameraKitLensRemoteApiResponse>
+ +
+
+

Swift

+
class LensRemoteApiResponse : NSObject, LensRemoteApiResponseProtocol
+ +
+
+

Concrete data class for the remote api service response to a request sent by a lens.

+ +
+
+ +
+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Designated init to pass in required properties for the response.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (nonnull instancetype)
    +    initWithRequest:(nonnull id<SCCameraKitLensRemoteApiRequest>)request
    +             status:(SCCameraKitLensRemoteApiResponseStatus)status
    +           metadata:(nonnull NSDictionary<NSString *, NSString *> *)metadata
    +               body:(nullable NSData *)body;
    + +
    +
    +

    Swift

    +
    init(request: LensRemoteApiRequest, status: SCCameraKitLensRemoteApiResponseStatus, metadata: [String : String], body: Data?)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + + + + + + + + + +
    + + request + + +
    +

    Remote api service request sent by a lens.

    +
    +
    + + status + + +
    +

    Status of the response.

    +
    +
    + + metadata + + +
    +

    A map of named metadata associated with the response.

    +
    +
    + + body + + +
    +

    Additional response payload as bytes.

    +
    +
    +
    +
    +
    +
  • +
  • +
    + + + + -init + +
    +
    +
    +
    +
    +
    +

    Unavailable

    + +
    +
    +

    Use designated init to pass in required properties

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (nonnull instancetype)init;
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + +new + +
    +
    +
    +
    +
    +
    +

    Unavailable

    + +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    + (instancetype)new NS_UNAVAILABLE;
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Classes/SCCameraKitLensesConfig.html b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Classes/SCCameraKitLensesConfig.html new file mode 100644 index 000000000..29e7e1c04 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Classes/SCCameraKitLensesConfig.html @@ -0,0 +1,507 @@ + + + + SCCameraKitLensesConfig Class Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

SCCameraKitLensesConfig

+
+
+

Objective-C

+

+@interface SCCameraKitLensesConfig : NSObject
+ +
+
+

Swift

+
class LensesConfig : NSObject
+ +
+
+

Concrete class to configure all available, user-configurable properties within the lenses component

+ +
+
+ +
+
+
+
    +
  • +
    + + + + cacheConfig + +
    +
    +
    +
    +
    +
    +

    Cache config instance to configure cache properties

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic, strong, readonly) SCCameraKitCacheConfig *_Nonnull cacheConfig;
    + +
    +
    +

    Swift

    +
    var cacheConfig: CacheConfig { get }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + -initWithCacheConfig: + +
    +
    +
    +
    +
    +
    +

    Init with cache config instance

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (nonnull instancetype)initWithCacheConfig:
    +    (nonnull SCCameraKitCacheConfig *)cacheConfig;
    + +
    +
    +

    Swift

    +
    init(cacheConfig: CacheConfig)
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + cacheConfig + + +
    +

    cache config instance

    +
    +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Classes/SCCameraKitPhotoCaptureOutput.html b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Classes/SCCameraKitPhotoCaptureOutput.html new file mode 100644 index 000000000..5c47eaa4e --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Classes/SCCameraKitPhotoCaptureOutput.html @@ -0,0 +1,686 @@ + + + + SCCameraKitPhotoCaptureOutput Class Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

SCCameraKitPhotoCaptureOutput

+
+
+

Objective-C

+

+@interface SCCameraKitPhotoCaptureOutput : NSObject
+ +
+
+

Swift

+
class PhotoCaptureOutput : NSObject
+ +
+
+

An output that will capture photos. You should add this as an output for your CameraKit instance.

+ +
+
+ +
+
+
+
    +
  • +
    + + + + -init + +
    +
    +
    +
    +
    +
    +

    Unavailable

    + +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (instancetype)init NS_UNAVAILABLE;
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + +new + +
    +
    +
    +
    +
    +
    +

    Unavailable

    + +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    + (instancetype)new NS_UNAVAILABLE;
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Instantiates a capturer with the specified AVCapturePhotoOutput and capture settings.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (nonnull instancetype)initWithCapturePhotoOutput:
    +    (nullable AVCapturePhotoOutput *)output;
    + +
    +
    +

    Swift

    +
    init(capturePhotoOutput output: AVCapturePhotoOutput?)
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + output + + +
    +

    the photo output to be used if possible. May be nil (in which case a frame from the video stream will +be captured).

    +
    +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Capture a photo and call a completion with the resulting image when done.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (void)
    +    capturePhotoWithCaptureSettings:(nullable AVCapturePhotoSettings *)settings
    +                         outputSize:(CGSize)outputSize
    +                         completion:
    +                             (nonnull void (^)(UIImage *_Nullable,
    +                                               NSError *_Nullable))completion;
    + +
    +
    +

    Swift

    +
    func capture(with settings: AVCapturePhotoSettings?, outputSize: CGSize) async throws -> UIImage
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + + + + + +
    + + settings + + +
    +

    the photo capture settings to be used. If nil, the default settings will be used.

    +
    +
    + + outputSize + + +
    +

    the size of the captured photo that should be outputted. Defaults to CGSizeZero which means +default system size.

    +
    +
    + + completion + + +
    +

    the completion block called with the captured image.

    +
    +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Capture a photo and call a completion with the resulting image when done.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (void)
    +    capturePhotoWithCaptureSettings:(nullable AVCapturePhotoSettings *)settings
    +                         completion:
    +                             (nonnull void (^)(UIImage *_Nullable,
    +                                               NSError *_Nullable))completion;
    + +
    +
    +

    Swift

    +
    func capture(with settings: AVCapturePhotoSettings?) async throws -> UIImage
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + +
    + + settings + + +
    +

    the photo capture settings to be used. If nil, the default settings will be used.

    +
    +
    + + completion + + +
    +

    the completion block called with the captured image.

    +
    +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Classes/SCCameraKitPortraitAdjustment.html b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Classes/SCCameraKitPortraitAdjustment.html new file mode 100644 index 000000000..8e6efda90 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Classes/SCCameraKitPortraitAdjustment.html @@ -0,0 +1,450 @@ + + + + SCCameraKitPortraitAdjustment Class Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

SCCameraKitPortraitAdjustment

+
+
+

Objective-C

+

+@interface SCCameraKitPortraitAdjustment : NSObject <SCCameraKitAdjustment>
+
extension PortraitAdjustment: Adjustment
+ +
+
+

Swift

+
class PortraitAdjustment : NSObject, __Adjustment
+ +
+
+

An adjustment which allows users to blur the background on their input.

+ +
+
+ +
+
+
+
    +
  • +
    + + + + Controller + +
    +
    +
    +
    +
    +
    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public typealias Controller = PortraitAdjustmentController
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Classes/SCCameraKitPreviewView.html b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Classes/SCCameraKitPreviewView.html new file mode 100644 index 000000000..b7d61989e --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Classes/SCCameraKitPreviewView.html @@ -0,0 +1,654 @@ + + + + SCCameraKitPreviewView Class Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

SCCameraKitPreviewView

+
+
+ +

+@interface SCCameraKitPreviewView : UIView
+ +
+
+

A UIView which is capable of rendering SCCameraKitTextures. You should add this as an output for your CameraKit +instance.

+ +
+
+ +
+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Configures the neccessary gesture recognizers for handling touch input in lenses. +If set to YES, will automatically add gesture reconizers and configure them to pass events to lenses.

    +
    +

    Note

    + by default, this is NO. You may change this to YES while cameraKit is running, and it will be configured on +the next frame. + +
    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic) BOOL automaticallyConfiguresTouchHandler;
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Configures the viewport upon changes to the view’s frame. +If set to YES, this will automatically adjust viewportSize, outputResolution, and safeArea according to the +view’s frame.

    +
    +

    Note

    + By default, this is YES. If the viewport is explicitly defined via explicitViewportProvider, this will be set +to NO. + +
    +

    Note

    + If you change this property without setting explicitViewportProvider, the view will keep the last derived +viewportSize, outputResolution, and safeArea. + +
    +

    Warning

    + If there is a mismatch between viewportSize and the view’s frame size, part of the lens may +be cut off on the screen. + +
    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic) BOOL automaticallyConfiguresViewport;
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + contentMode + +
    +
    +
    +
    +
    +
    +

    Configures the content mode the preview view will use to render.

    +
    +

    Note

    + SCCameraKitPreviewViewContentModeAspectFill by default. + +
    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic) SCCameraKitPreviewViewContentMode contentMode;
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + safeArea + +
    +
    +
    +
    +
    +
    +

    Configures the safe area to an explicitly specified rect.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic) CGRect safeArea;
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Setting this property configures the preview view to use its viewportSize, outputResolution, and safeArea.

    +
    +

    Note

    + Calling this method will set automaticallyConfiguresViewport to NO. + +
    +

    Warning

    + If there is a mismatch between viewportSize and the view’s frame size, part of the lens may be cut off +the screen. + +
    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic, strong, nullable) SCCameraKitExplicitViewportProvider *explicitViewportProvider;
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Automatically configures the safeArea property to avoid the specified views.

    +
    +

    Note

    + the preview view maintain a weak reference to the provided views and update the safe area automatically as +needed. + +
    +

    Warning

    + this method will reevaluate periodically (during bounds changes, etc), but will NOT actively track +changes to occluding views between those intervals. If you move an occluding view without affecting the preview +view, call this method again to reevaluate. + +
    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (void)configureSafeAreaWithOccludingViews:
    +    (nonnull NSArray<UIView *> *)occludingViews;
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + occludingViews + + +
    +

    any views that may be displayed in front of lenses content, such as the carousel, camera flip +button, etc. If the preview view itself is part of this array, it will be ignored.

    +
    +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Classes/SCCameraKitSession.html b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Classes/SCCameraKitSession.html new file mode 100644 index 000000000..fc045c613 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Classes/SCCameraKitSession.html @@ -0,0 +1,566 @@ + + + + SCCameraKitSession Class Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

SCCameraKitSession

+
+
+

Objective-C

+

+@interface SCCameraKitSession : NSObject <SCCameraKitProtocol>
+ +
+
+

Swift

+
class Session : NSObject, CameraKitProtocol
+ +
+
+

CameraKit handles interaction with the camera and contains several components like lenses.

+ +
+
+ +
+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Init with session and lenses config instance to configure properties within lenses component

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (nonnull instancetype)
    +    initWithSessionConfig:(nullable SCCameraKitSessionConfig *)sessionConfig
    +             lensesConfig:(nonnull SCCameraKitLensesConfig *)lensesConfig
    +             errorHandler:(nullable id<SCCameraKitErrorHandler>)errorHandler;
    + +
    +
    +

    Swift

    +
    init(sessionConfig: SCCameraKitSessionConfig?, lensesConfig: SCCameraKitLensesConfig, errorHandler: SCCameraKitErrorHandler?)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + + + + + +
    + + sessionConfig + + +
    +

    session config to configure session with application id and api token

    +
    +
    + + lensesConfig + + +
    +

    lenses config to configure lenses component such as caches

    +
    +
    + + errorHandler + + +
    +

    optional error handler instance to handle exceptions thrown by CameraKit

    +
    +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Init with lenses config instance to configure properties within lenses component

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (nonnull instancetype)
    +    initWithLensesConfig:(nonnull SCCameraKitLensesConfig *)lensesConfig
    +            errorHandler:(nullable id<SCCameraKitErrorHandler>)errorHandler;
    + +
    +
    +

    Swift

    +
    init(lensesConfig: SCCameraKitLensesConfig, errorHandler: SCCameraKitErrorHandler?)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + +
    + + lensesConfig + + +
    +

    lenses config to configure lenses components such as caches

    +
    +
    + + errorHandler + + +
    +

    optional error handler instance to handle exceptions thrown by CameraKit

    +
    +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Classes/SCCameraKitSessionConfig.html b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Classes/SCCameraKitSessionConfig.html new file mode 100644 index 000000000..9d85a448c --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Classes/SCCameraKitSessionConfig.html @@ -0,0 +1,898 @@ + + + + SCCameraKitSessionConfig Class Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

SCCameraKitSessionConfig

+
+
+

Objective-C

+

+@interface SCCameraKitSessionConfig : NSObject
+ +
+
+

Swift

+
class SessionConfig : NSObject
+ +
+
+

Data class that is used to pass in a configuration for the CameraKit Session. +Use this data class if you would like to be able to dynamically update config values like application id and api +token or overwrite the ones that are passed into Info.plist.

+ +
+
+ +
+
+
+
    +
  • +
    + + + + apiToken + +
    +
    +
    +
    +
    +
    +

    API token that is found in the dev portal

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic, copy, readonly) NSString *_Nonnull apiToken;
    + +
    +
    +

    Swift

    +
    var apiToken: String { get }
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +
    +

    Warning

    + USE ONLY AS DIRECTED BY SNAP SUPPORT. + +
    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic, strong, readonly) NSDictionary<NSString *, id> *_Nonnull additionalConfigurationAttributes;
    + +
    +
    +

    Swift

    +
    var additionalConfigurationAttributes: [String : Any] { get }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + -initWithApiToken: + +
    +
    +
    +
    +
    +
    +

    Designated init to pass in apiToken

    +
    +

    Note

    + as well as overwrite the apiToken passed into Info.plist with the key SCCameraKitAPIToken + +
    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (nonnull instancetype)initWithApiToken:(nonnull NSString *)apiToken;
    + +
    +
    +

    Swift

    +
    init(apiToken: String)
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + apiToken + + +
    +

    api token that is found in the dev portal

    +
    +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Init to pass in apiToken

    +
    +

    Note

    + as well as overwrite the apiToken passed into Info.plist with the key SCCameraKitAPIToken + +
    +

    Warning

    + USE ONLY AS DIRECTED BY SNAP SUPPORT. + +
    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (nonnull instancetype)initWithApiToken:(nonnull NSString *)apiToken
    +       additionalConfigurationAttributes:
    +           (nullable NSDictionary<NSString *, id> *)
    +               additionalConfigurationAttributes;
    + +
    +
    +

    Swift

    +
    convenience init(apiToken: String, additionalConfigurationAttributes: [String : Any]? = nil)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + +
    + + apiToken + + +
    +

    api token that is found in the dev portal

    +
    +
    + + additionalConfigurationAttributes + + +
    +

    additional configuration

    +
    +
    +
    +
    +
    +
  • +
  • +
    + + + + +new + +
    +
    +
    +
    +
    +
    +

    Unavailable

    + +
    +
    +

    Use designated init to pass in require applicationID and apiToken

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    + (nonnull instancetype)new;
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + -init + +
    +
    +
    +
    +
    +
    +

    Unavailable

    + +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (instancetype)init NS_UNAVAILABLE;
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + applicationId + +
    +
    +
    +
    +
    +
    +

    Deprecated

    +

    Application ID-based authentication is no longer supported. Use apiToken instead.

    + +
    +
    +

    applicationID/clientID that is found in the dev portal

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic, copy, readonly) NSString *_Nonnull applicationId;
    + +
    +
    +

    Swift

    +
    var applicationId: String { get }
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Deprecated

    +

    Application ID-based authentication is no longer supported. Use initWithApiToken: instead.

    + +
    +
    +

    Designated init to pass in applicationID and apiToken

    +
    +

    Note

    + this will override the applicationID passed into Info.plist with the key SCCameraKitClientID + +
    +

    Note

    + as well as overwrite the apiToken passed into Info.plist with the key SCCameraKitAPIToken + +
    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (nonnull instancetype)initWithApplicationID:(nonnull NSString *)applicationID
    +                                     apiToken:(nonnull NSString *)apiToken;
    + +
    +
    +

    Swift

    +
    convenience init(applicationID: String, apiToken: String)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + +
    + + applicationID + + +
    +

    applicationID/clientID that is found in the dev portal

    +
    +
    + + apiToken + + +
    +

    api token that is found in the dev portal

    +
    +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Deprecated

    +

    Application ID-based authentication is no longer supported. Use initWithApiToken:additionalConfigurationAttributes: instead.

    + +
    +
    +

    Init to pass in applicationID and apiToken

    +
    +

    Note

    + this will override the applicationID passed into Info.plist with the key SCCameraKitClientID + +
    +

    Note

    + as well as overwrite the apiToken passed into Info.plist with the key SCCameraKitAPIToken + +
    +

    Warning

    + USE ONLY AS DIRECTED BY SNAP SUPPORT. + +
    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (nonnull instancetype)initWithApplicationID:(nonnull NSString *)applicationID
    +                                     apiToken:(nonnull NSString *)apiToken
    +            additionalConfigurationAttributes:
    +                (nullable NSDictionary<NSString *, id> *)
    +                    additionalConfigurationAttributes;
    + +
    +
    +

    Swift

    +
    convenience init(applicationID: String, apiToken: String, additionalConfigurationAttributes: [String : Any]? = nil)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + + + + + +
    + + applicationID + + +
    +

    applicationID/clientID that is found in the dev portal

    +
    +
    + + apiToken + + +
    +

    api token that is found in the dev portal

    +
    +
    + + additionalConfigurationAttributes + + +
    +

    additional configuration

    +
    +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Classes/SCCameraKitToneMapAdjustment.html b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Classes/SCCameraKitToneMapAdjustment.html new file mode 100644 index 000000000..976c7dcc6 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Classes/SCCameraKitToneMapAdjustment.html @@ -0,0 +1,450 @@ + + + + SCCameraKitToneMapAdjustment Class Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

SCCameraKitToneMapAdjustment

+
+
+

Objective-C

+

+@interface SCCameraKitToneMapAdjustment : NSObject <SCCameraKitAdjustment>
+
extension ToneMapAdjustment: Adjustment
+ +
+
+

Swift

+
class ToneMapAdjustment : NSObject, __Adjustment
+ +
+
+

An adjustment which allows users to more accurately represent the color of their skin when captured by the camera.

+ +
+
+ +
+
+
+
    +
  • +
    + + + + Controller + +
    +
    +
    +
    +
    +
    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public typealias Controller = ToneMapAdjustmentController
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Classes/SCCameraKitUserData.html b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Classes/SCCameraKitUserData.html new file mode 100644 index 000000000..39e8b1fc8 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Classes/SCCameraKitUserData.html @@ -0,0 +1,613 @@ + + + + SCCameraKitUserData Class Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

SCCameraKitUserData

+
+
+

Objective-C

+

+@interface SCCameraKitUserData : NSObject
+ +
+
+

Swift

+
class UserData : NSObject
+ +
+
+

Concrete user data class to pass in user data that can be used by some lenses

+ +
+
+ +
+
+
+
    +
  • +
    + + + + displayName + +
    +
    +
    +
    +
    +
    +

    User’s full display name

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic, copy, readonly) NSString *_Nonnull displayName;
    + +
    +
    +

    Swift

    +
    var displayName: String { get }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + birthDate + +
    +
    +
    +
    +
    +
    +

    User’s birth date (optional)

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic, strong, readonly, nullable) NSDate *birthDate;
    + +
    +
    +

    Swift

    +
    var birthDate: Date? { get }
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Designated init to pass in user data fields

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (nonnull instancetype)initWithDisplayName:(nonnull NSString *)displayName
    +                                  birthDate:(nullable NSDate *)birthDate;
    + +
    +
    +

    Swift

    +
    init(displayName: String, birthDate: Date?)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + +
    + + displayName + + +
    +

    user’s full display name

    +
    +
    + + birthDate + + +
    +

    user’s birth date (optional)

    +
    +
    +
    +
    +
    +
  • +
  • +
    + + + + -init + +
    +
    +
    +
    +
    +
    +

    Unavailable

    + +
    +
    +

    Use designated init or convenience init to pass in required user properties

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (nonnull instancetype)init;
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + +new + +
    +
    +
    +
    +
    +
    +

    Unavailable

    + +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    + (instancetype)new NS_UNAVAILABLE;
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Constants.html b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Constants.html new file mode 100644 index 000000000..84827ab1f --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Constants.html @@ -0,0 +1,959 @@ + + + + Constants Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

Constants

+

The following constants are available globally.

+ +
+
+ +
+
+
+
    +
  • +
    + + + + SCCameraKitVersion + +
    +
    +
    +
    +
    +
    +

    Short CameraKit version (ie 1.8.0)

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    extern NSString *const _Nonnull SCCameraKitVersion
    + +
    +
    +

    Swift

    +
    let CameraKitVersion: String
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    LensCore version (ie 243)

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    extern const NSInteger SCCameraKitLensCoreVersion
    + +
    +
    +

    Swift

    +
    let CameraKitLensCoreVersion: Int
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    FOUNDATION_EXTERN NSErrorDomain const
    +    SCCameraKitAdjustmentsComponentErrorDomain
    + +
    +
    +

    Swift

    +
    let AdjustmentsComponentErrorDomain: String
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    FOUNDATION_EXPORT NSInteger const SCCameraKitErrorUnspecified
    + +
    +
    +

    Swift

    +
    let SCCameraKitErrorUnspecified: Int
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    FOUNDATION_EXPORT NSInteger const SCCameraKitErrorLensMetadataNotFound
    + +
    +
    +

    Swift

    +
    let SCCameraKitErrorLensMetadataNotFound: Int
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    FOUNDATION_EXPORT NSInteger const SCCameraKitErrorLensContentNotFound
    + +
    +
    +

    Swift

    +
    let SCCameraKitErrorLensContentNotFound: Int
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    FOUNDATION_EXPORT NSInteger const SCCameraKitErrorLensContentUrlMissing
    + +
    +
    +

    Swift

    +
    let SCCameraKitErrorLensContentUrlMissing: Int
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    FOUNDATION_EXPORT NSInteger const SCCameraKitErrorLensChecksumMissing
    + +
    +
    +

    Swift

    +
    let SCCameraKitErrorLensChecksumMissing: Int
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    FOUNDATION_EXPORT NSInteger const SCCameraKitErrorCannotWriteToFile
    + +
    +
    +

    Swift

    +
    let SCCameraKitErrorCannotWriteToFile: Int
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Reported when SCCameraKitClientID in Info.plist is missing or invalid.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    extern NSString *const _Nonnull SCCameraKitExceptionUnauthorized
    + +
    +
    +

    Swift

    +
    let SCCameraKitExceptionUnauthorized: String
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Reported when backend fails to authenticate client. +This could be due to numerous different reasons, one of the most common is due to having an invalid system date and +time settings.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    extern NSString *const _Nonnull SCCameraKitExceptionInvalidApplicationState
    + +
    +
    +

    Swift

    +
    let SCCameraKitExceptionInvalidApplicationState: String
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Reported when trying to pass an invalid lens class that’s different than the internal ones we support.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    extern NSString *const _Nonnull SCCameraKitExceptionInvalidLens
    + +
    +
    +

    Swift

    +
    let SCCameraKitExceptionInvalidLens: String
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Reported when trying to draw an invalid texture class that’s different than the internal ones we support.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    extern NSString *const _Nonnull SCCameraKitExceptionInvalidTexture
    + +
    +
    +

    Swift

    +
    let SCCameraKitExceptionInvalidTexture: String
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Reported whne processing fails due to a lens error. Lens errors are normally caused by +dynamic scripting errors or missing resources in lens bundle.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    extern NSString *const _Nonnull SCCameraKitExceptionProcessingLensFailure
    + +
    +
    +

    Swift

    +
    let SCCameraKitExceptionProcessingLensFailure: String
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Reported when processing fails due to an internal error. Cause of such errors can be bugs in the +lenses processing engine or resource (memory, disk) exhaustion.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    extern NSString *const _Nonnull SCCameraKitExceptionProcessingInternalFailure
    + +
    +
    +

    Swift

    +
    let SCCameraKitExceptionProcessingInternalFailure: String
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    FOUNDATION_EXPORT NSString *const SCCameraKitLensRepositoryBundledGroup
    + +
    +
    +

    Swift

    +
    let SCCameraKitLensRepositoryBundledGroup: String
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    FOUNDATION_EXPORT NSString *const SCCameraKitLensesComponentErrorDomain
    + +
    +
    +

    Swift

    +
    let SCCameraKitLensesComponentErrorDomain: String
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Enums.html b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Enums.html new file mode 100644 index 000000000..7056b9f71 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Enums.html @@ -0,0 +1,698 @@ + + + + Enumerations Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

Enumerations

+

The following enumerations are available globally.

+ +
+
+ +
+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + + See more +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    NS_ERROR_ENUM(SCCameraKitAdjustmentsComponentErrorDomain, SCCameraKitAdjustmentsComponentError){
    +
    +    // An unsupported adjustment was supplied. Check isAdjustmentAvailable before applying to avoid this.
    +    SCCameraKitAdjustmentsComponentErrorUnsupportedAdjustment = 0,
    +
    +}
    + +
    +
    +

    Swift

    +
    typealias AdjustmentsComponentError.Code._ErrorType = AdjustmentsComponentError
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Describes all posible facings (inversely relative to the user) that a lens can be designed for.

    + + See more +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    enum SCCameraKitLensFacingPreference : NSInteger {}
    + +
    +
    +

    Swift

    +
    enum LensFacingPreference : Int, @unchecked Sendable
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + + See more +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    NS_OPTIONS(NSInteger, SCCameraKitLensMediaPickerProviderAllowedMediaType) {
    +    // The current lens has not provided any specific indication of the type of picker that should be shown.
    +    SCCameraKitLensMediaPickerProviderAllowedMediaTypeNoneSpecified = 0,
    +
    +    // Images should be shown in the picker.
    +    SCCameraKitLensMediaPickerProviderAllowedMediaTypeImage = 1 << 0,
    +
    +    // If LensMediaPickerProviderAllowedMediaTypeImage is specified, the provider should ONLY show images with a
    +    // person's face in them
    +    // If LensMediaPickerProviderAllowedMediaTypeImage is not specified, this option is ignored.
    +    SCCameraKitLensMediaPickerProviderAllowedMediaTypeImageCroppedToFace = 1 << 1,
    +
    +    // Videos should be shown in the picker
    +    SCCameraKitLensMediaPickerProviderAllowedMediaTypeVideo = 1 << 2,
    +}
    + +
    +
    +

    Swift

    +
    struct SCCameraKitLensMediaPickerProviderAllowedMediaType : OptionSet, @unchecked Sendable
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + + See more +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    NS_ENUM(NSInteger, SCCameraKitLensMediaPickerAssetType) {
    +    SCCameraKitLensMediaPickerAssetTypeImage,
    +    SCCameraKitLensMediaPickerAssetTypeVideo,
    +}
    + +
    +
    +

    Swift

    +
    enum SCCameraKitLensMediaPickerAssetType : Int, @unchecked Sendable
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Describes the fetch status for the lens +Unloaded - lens content has not been fetched or loaded +Loading - lens content is currently being downloaded +Loaded - lens content has already been downloaded and fetched

    + + See more +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    enum SCCameraKitLensFetchStatus : NSInteger {}
    + +
    +
    +

    Swift

    +
    enum LensFetchStatus : Int, @unchecked Sendable
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Describes the status of the response sent to the lens.

    + + See more +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    enum SCCameraKitLensRemoteApiResponseStatus : NSInteger {}
    + +
    +
    +

    Swift

    +
    enum SCCameraKitLensRemoteApiResponseStatus : Int, @unchecked Sendable
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Describes the status of the call for the request handled by a remote api service.

    + + See more +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    enum SCCameraKitLensRemoteApiServiceCallStatus : NSInteger {}
    + +
    +
    +

    Swift

    +
    enum LensRemoteApiServiceCallStatus : Int, @unchecked Sendable
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + + See more +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    NS_ENUM(NSInteger, SCCameraKitPreviewViewContentMode) {
    +    SCCameraKitPreviewViewContentModeScaleToFill,
    +    SCCameraKitPreviewViewContentModeAspectFill,
    +    SCCameraKitPreviewViewContentModeAspectFit
    +}
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Enums/SCCameraKitAdjustmentsComponentError.html b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Enums/SCCameraKitAdjustmentsComponentError.html new file mode 100644 index 000000000..983de5226 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Enums/SCCameraKitAdjustmentsComponentError.html @@ -0,0 +1,459 @@ + + + + SCCameraKitAdjustmentsComponentError Enumeration Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

SCCameraKitAdjustmentsComponentError

+
+
+

Objective-C

+
NS_ERROR_ENUM(SCCameraKitAdjustmentsComponentErrorDomain, SCCameraKitAdjustmentsComponentError){
+
+    // An unsupported adjustment was supplied. Check isAdjustmentAvailable before applying to avoid this.
+    SCCameraKitAdjustmentsComponentErrorUnsupportedAdjustment = 0,
+
+}
+ +
+
+

Swift

+
typealias AdjustmentsComponentError.Code._ErrorType = AdjustmentsComponentError
+ +
+
+

Undocumented

+ +
+
+ +
+
+
+ +
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Enums/SCCameraKitLensFacingPreference.html b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Enums/SCCameraKitLensFacingPreference.html new file mode 100644 index 000000000..70fd14123 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Enums/SCCameraKitLensFacingPreference.html @@ -0,0 +1,518 @@ + + + + SCCameraKitLensFacingPreference Enumeration Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

SCCameraKitLensFacingPreference

+
+
+

Objective-C

+
enum SCCameraKitLensFacingPreference : NSInteger {}
+ +
+
+

Swift

+
enum LensFacingPreference : Int, @unchecked Sendable
+ +
+
+

Describes all posible facings (inversely relative to the user) that a lens can be designed for.

+ +
+
+ +
+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    SCCameraKitLensFacingPreferenceNone = 0
    + +
    +
    +

    Swift

    +
    case none = 0
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    SCCameraKitLensFacingPreferenceFront = 1
    + +
    +
    +

    Swift

    +
    case front = 1
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    SCCameraKitLensFacingPreferenceBack = 2
    + +
    +
    +

    Swift

    +
    case back = 2
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Enums/SCCameraKitLensFetchStatus.html b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Enums/SCCameraKitLensFetchStatus.html new file mode 100644 index 000000000..1f2663449 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Enums/SCCameraKitLensFetchStatus.html @@ -0,0 +1,521 @@ + + + + SCCameraKitLensFetchStatus Enumeration Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

SCCameraKitLensFetchStatus

+
+
+

Objective-C

+
enum SCCameraKitLensFetchStatus : NSInteger {}
+ +
+
+

Swift

+
enum LensFetchStatus : Int, @unchecked Sendable
+ +
+
+

Describes the fetch status for the lens +Unloaded - lens content has not been fetched or loaded +Loading - lens content is currently being downloaded +Loaded - lens content has already been downloaded and fetched

+ +
+
+ +
+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    SCCameraKitLensFetchStatusUnloaded
    + +
    +
    +

    Swift

    +
    case unloaded = 0
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    SCCameraKitLensFetchStatusLoading
    + +
    +
    +

    Swift

    +
    case loading = 1
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    SCCameraKitLensFetchStatusLoaded
    + +
    +
    +

    Swift

    +
    case loaded = 2
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Enums/SCCameraKitLensMediaPickerAssetType.html b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Enums/SCCameraKitLensMediaPickerAssetType.html new file mode 100644 index 000000000..669c128ea --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Enums/SCCameraKitLensMediaPickerAssetType.html @@ -0,0 +1,489 @@ + + + + SCCameraKitLensMediaPickerAssetType Enumeration Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

SCCameraKitLensMediaPickerAssetType

+
+
+

Objective-C

+
NS_ENUM(NSInteger, SCCameraKitLensMediaPickerAssetType) {
+    SCCameraKitLensMediaPickerAssetTypeImage,
+    SCCameraKitLensMediaPickerAssetTypeVideo,
+}
+ +
+
+

Swift

+
enum SCCameraKitLensMediaPickerAssetType : Int, @unchecked Sendable
+ +
+
+

Undocumented

+ +
+
+ +
+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    SCCameraKitLensMediaPickerAssetTypeImage
    + +
    +
    +

    Swift

    +
    case image = 0
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    SCCameraKitLensMediaPickerAssetTypeVideo
    + +
    +
    +

    Swift

    +
    case video = 1
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Enums/SCCameraKitLensMediaPickerProviderAllowedMediaType.html b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Enums/SCCameraKitLensMediaPickerProviderAllowedMediaType.html new file mode 100644 index 000000000..2de1ddafc --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Enums/SCCameraKitLensMediaPickerProviderAllowedMediaType.html @@ -0,0 +1,559 @@ + + + + SCCameraKitLensMediaPickerProviderAllowedMediaType Enumeration Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

SCCameraKitLensMediaPickerProviderAllowedMediaType

+
+
+

Objective-C

+
NS_OPTIONS(NSInteger, SCCameraKitLensMediaPickerProviderAllowedMediaType) {
+    // The current lens has not provided any specific indication of the type of picker that should be shown.
+    SCCameraKitLensMediaPickerProviderAllowedMediaTypeNoneSpecified = 0,
+
+    // Images should be shown in the picker.
+    SCCameraKitLensMediaPickerProviderAllowedMediaTypeImage = 1 << 0,
+
+    // If LensMediaPickerProviderAllowedMediaTypeImage is specified, the provider should ONLY show images with a
+    // person's face in them
+    // If LensMediaPickerProviderAllowedMediaTypeImage is not specified, this option is ignored.
+    SCCameraKitLensMediaPickerProviderAllowedMediaTypeImageCroppedToFace = 1 << 1,
+
+    // Videos should be shown in the picker
+    SCCameraKitLensMediaPickerProviderAllowedMediaTypeVideo = 1 << 2,
+}
+ +
+
+

Swift

+
struct SCCameraKitLensMediaPickerProviderAllowedMediaType : OptionSet, @unchecked Sendable
+ +
+
+

Undocumented

+ +
+
+ +
+
+
+ +
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Enums/SCCameraKitLensRemoteApiResponseStatus.html b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Enums/SCCameraKitLensRemoteApiResponseStatus.html new file mode 100644 index 000000000..f41c30316 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Enums/SCCameraKitLensRemoteApiResponseStatus.html @@ -0,0 +1,710 @@ + + + + SCCameraKitLensRemoteApiResponseStatus Enumeration Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

SCCameraKitLensRemoteApiResponseStatus

+
+
+

Objective-C

+
enum SCCameraKitLensRemoteApiResponseStatus : NSInteger {}
+ +
+
+

Swift

+
enum SCCameraKitLensRemoteApiResponseStatus : Int, @unchecked Sendable
+ +
+
+

Describes the status of the response sent to the lens.

+ +
+
+ +
+
+
+ +
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Enums/SCCameraKitLensRemoteApiServiceCallStatus.html b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Enums/SCCameraKitLensRemoteApiServiceCallStatus.html new file mode 100644 index 000000000..2658467d8 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Enums/SCCameraKitLensRemoteApiServiceCallStatus.html @@ -0,0 +1,519 @@ + + + + SCCameraKitLensRemoteApiServiceCallStatus Enumeration Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

SCCameraKitLensRemoteApiServiceCallStatus

+
+
+

Objective-C

+
enum SCCameraKitLensRemoteApiServiceCallStatus : NSInteger {}
+ +
+
+

Swift

+
enum LensRemoteApiServiceCallStatus : Int, @unchecked Sendable
+ +
+
+

Describes the status of the call for the request handled by a remote api service.

+ +
+
+ +
+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Request was ignored typically due to a remote api service not interested in handling such request to allow other + services to handle the same request.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    SCCameraKitLensRemoteApiServiceCallStatusIgnored
    + +
    +
    +

    Swift

    +
    case ignored = 0
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Request was received but one or more responses are yet to be sent.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    SCCameraKitLensRemoteApiServiceCallStatusOngoing
    + +
    +
    +

    Swift

    +
    case ongoing = 1
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Request was received and a single response was sent indicating that the call is complete.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    SCCameraKitLensRemoteApiServiceCallStatusAnswered
    + +
    +
    +

    Swift

    +
    case answered = 2
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Enums/SCCameraKitPreviewViewContentMode.html b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Enums/SCCameraKitPreviewViewContentMode.html new file mode 100644 index 000000000..7fc9072a8 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Enums/SCCameraKitPreviewViewContentMode.html @@ -0,0 +1,502 @@ + + + + SCCameraKitPreviewViewContentMode Enumeration Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

SCCameraKitPreviewViewContentMode

+
+
+ +
NS_ENUM(NSInteger, SCCameraKitPreviewViewContentMode) {
+    SCCameraKitPreviewViewContentModeScaleToFill,
+    SCCameraKitPreviewViewContentModeAspectFill,
+    SCCameraKitPreviewViewContentModeAspectFit
+}
+ +
+
+

Undocumented

+ +
+
+ +
+
+
+ +
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Extensions.html b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Extensions.html new file mode 100644 index 000000000..4f3d4da6e --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Extensions.html @@ -0,0 +1,437 @@ + + + + Extensions Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

Extensions

+

The following extensions are available globally.

+ +
+
+ +
+
+
+
    +
  • +
    + + + + AdjustmentsProcessor + +
    +
    +
    +
    +
    +
    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public extension AdjustmentsProcessor
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Extensions/AdjustmentsProcessor.html b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Extensions/AdjustmentsProcessor.html new file mode 100644 index 000000000..f93041892 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Extensions/AdjustmentsProcessor.html @@ -0,0 +1,466 @@ + + + + AdjustmentsProcessor Extension Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

AdjustmentsProcessor

+
+
+ +
public extension AdjustmentsProcessor
+ +
+
+ +
+
+ +
+
+
+
    +
  • +
    + + + + apply(adjustment:) + +
    +
    +
    +
    +
    +
    +

    Applies a given adjustment and returns a controller which allows runtime configuration of the adjustment.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    func apply<AdjustmentType>(adjustment: AdjustmentType) throws -> AdjustmentType.Controller where AdjustmentType : Adjustment
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + adjustment + + +
    +

    The adjustment to apply.

    +
    +
    +
    +
    +

    Return Value

    +

    A controller to configure the adjustment.

    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols.html b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols.html new file mode 100644 index 000000000..b0e255693 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols.html @@ -0,0 +1,2323 @@ + + + + Protocols Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

Protocols

+

The following protocols are available globally.

+ +
+
+ +
+
+
+
    +
  • +
    + + + + SCCameraKitProtocol + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + + See more +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @protocol SCCameraKitProtocol <NSObject>
    +
    +/// Contains lenses related objects.
    +@property (strong, nonatomic, readonly) id<SCCameraKitLensesComponent> lenses;
    +
    +/// Contains adjustment related objects.
    +@property (strong, nonatomic, readonly) id<SCCameraKitAdjustmentsComponent> adjustments;
    +
    +/// Begin processing input frames with front camera position and portrait video orientation
    +/// @param input the input to configure.
    +/// @param arInput the ARKit input to configure.
    +- (void)startWithInput:(id<SCCameraKitInput>)input
    +               arInput:(id<SCCameraKitARInput>)arInput NS_SWIFT_NAME(start(input:arInput:));
    +
    +/// Deprecated. Use
    +/// -startWithInput:arInput:cameraPosition:videoOrientation:dataProvider:hintDelegate:agreementsPresentationContextProvider:
    +- (void)startWithInput:(id<SCCameraKitInput>)input
    +               arInput:(id<SCCameraKitARInput>)arInput
    +        cameraPosition:(AVCaptureDevicePosition)cameraPosition
    +      videoOrientation:(AVCaptureVideoOrientation)videoOrientation
    +          dataProvider:(SCCameraKitDataProviderComponent *)dataProvider
    +          hintDelegate:(id<SCCameraKitLensHintDelegate>)hintDelegate __attribute__((deprecated));
    +
    +/// Deprecated. Use
    +/// -startWithInput:arInput:cameraPosition:videoOrientation:dataProvider:hintDelegate:textInputContextProvider:agreementsPresentationContextProvider:
    +- (void)startWithInput:(id<SCCameraKitInput>)input
    +                                  arInput:(id<SCCameraKitARInput>)arInput
    +                           cameraPosition:(AVCaptureDevicePosition)cameraPosition
    +                         videoOrientation:(AVCaptureVideoOrientation)videoOrientation
    +                             dataProvider:(nullable SCCameraKitDataProviderComponent *)dataProvider
    +                             hintDelegate:(nullable id<SCCameraKitLensHintDelegate>)hintDelegate
    +    agreementsPresentationContextProvider:
    +        (nullable id<SCCameraKitAgreementsPresentationContextProvider>)agreementsPresentationContextProvider
    +    NS_SWIFT_NAME(start(input:arInput:cameraPosition:videoOrientation:dataProvider:hintDelegate:agreementsPresentationContextProvider:))
    +        __attribute__((deprecated));
    +;
    +
    +/// Begin processing input frames.
    +/// @param input the input to configure.
    +/// @param arInput the ARKit input to configure.
    +/// @param cameraPosition the camera position in use
    +/// @param videoOrientation the orientation for the outputted video buffers
    +/// @param dataProvider data provider component to pass in custom data providers (optional -- will create and handle
    +/// data providers by default if nil)
    +/// @param hintDelegate lens hint delegate to show/hide hints for applied lenses
    +/// @param textInputContextProvider context provider for providing keyboard access to lenses
    +/// @param agreementsPresentationContextProvider context provider for presenting agreements screens
    +- (void)startWithInput:(id<SCCameraKitInput>)input
    +                                  arInput:(id<SCCameraKitARInput>)arInput
    +                           cameraPosition:(AVCaptureDevicePosition)cameraPosition
    +                         videoOrientation:(AVCaptureVideoOrientation)videoOrientation
    +                             dataProvider:(nullable SCCameraKitDataProviderComponent *)dataProvider
    +                             hintDelegate:(nullable id<SCCameraKitLensHintDelegate>)hintDelegate
    +                 textInputContextProvider:(nullable id<SCCameraKitTextInputContextProvider>)textInputContextProvider
    +    agreementsPresentationContextProvider:
    +        (nullable id<SCCameraKitAgreementsPresentationContextProvider>)agreementsPresentationContextProvider
    +    NS_SWIFT_NAME(start(input:arInput:cameraPosition:videoOrientation:dataProvider:hintDelegate:textInputContextProvider:agreementsPresentationContextProvider:));
    +
    +/// End processing input frames.
    +- (void)stop;
    +
    +/// End processing input frames.
    +/// @param completion Block to be called after processing is finished and session is stopped
    +- (void)stopWithCompletion:(nullable void (^)(void))completion NS_SWIFT_NAME(stop(completion:));
    +
    +/// Add an output. Frames will still be processed if no outputs exist.
    +- (void)addOutput:(id<SCCameraKitOutput>)output NS_SWIFT_NAME(add(output:));
    +
    +/// Remove an output.
    +- (void)removeOutput:(id<SCCameraKitOutput>)listener NS_SWIFT_NAME(remove(output:));
    +
    +/// The camera position in use. Setting will automatically update the input.
    +@property (nonatomic, assign) AVCaptureDevicePosition cameraPosition;
    +
    +/// The orientation for the outputted video buffers
    +@property (nonatomic, assign) AVCaptureVideoOrientation videoOrientation;
    +
    +/// The active input. May be either standard camera input or the AR input, depending on lens requirements.
    +@property (nonatomic, readonly) id<SCCameraKitInput> activeInput;
    +
    +/// Store containing information above the acceptance state of terms of service
    +@property (nonatomic, readonly) id<SCCameraKitAgreementsStore> agreementsStore;
    +
    +/// Presents any agreements such as Terms of Service or Privacy Policy for CameraKit immediately, if needed.
    +/// @note CameraKit will present this when the user applies a lens if they have new agreements to accept. You can call
    +/// this explicitly if you wish to present the terms before then (eg during an onboarding experience, alongside your own
    +/// app's Terms of Service)
    +- (void)presentAgreementsImmediately;
    +
    +@end
    + +
    +
    +

    Swift

    +
    protocol CameraKitProtocol : NSObjectProtocol
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Propogates ARKit session delegate methods back to CameraKit. +If you implement your own AR Input, you MUST call these methods when their corresponding ARKit delegate methods +are called.

    + + See more +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @protocol SCCameraKitARInputDelegate
    + +
    +
    +

    Swift

    +
    protocol ARInputDelegate
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + SCCameraKitARInput + +
    +
    +
    +
    +
    +
    +

    Describes a source of AR data for CameraKit.

    + + See more +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @protocol SCCameraKitARInput <SCCameraKitInput>
    + +
    +
    +

    Swift

    +
    protocol ARInput
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Describes an interface that will handle fetching the access token.

    + + See more +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @protocol SCCameraKitAccessTokenProviderTask <NSObject>
    + +
    +
    +

    Swift

    +
    protocol AccessTokenProviderTask : NSObjectProtocol
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Describes an interface to provide an access token (ie. from LoginKit) required by some features like connected +lenses, push to device, etc.

    + + See more +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @protocol SCCameraKitAccessTokenProvider <NSObject>
    + +
    +
    +

    Swift

    +
    protocol AccessTokenProvider : NSObjectProtocol
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + SCCameraKitAdjustment + +
    +
    +
    +
    +
    +
    +

    Protocol describing the Objective-C interface to an Adjustment.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @protocol SCCameraKitAdjustment <NSObject>
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Protocol describing the Objective-C interface to an Adjustment Controller.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @protocol SCCameraKitAdjustmentController <NSObject>
    + +
    +
    +

    Swift

    +
    protocol AdjustmentController : NSObjectProtocol
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    A controller to control the tone map adjustment.

    + + See more +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @protocol
    +    SCCameraKitToneMapAdjustmentController <SCCameraKitAdjustmentController>
    + +
    +
    +

    Swift

    +
    protocol ToneMapAdjustmentController : AdjustmentController
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    A controller to control the portrait adjustment.

    + + See more +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @protocol
    +    SCCameraKitPortraitAdjustmentController <SCCameraKitAdjustmentController>
    + +
    +
    +

    Swift

    +
    protocol PortraitAdjustmentController : AdjustmentController
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    The adjustments processor handles adjusting camera frames before they are processed by lenses.

    + + See more +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @protocol SCCameraKitAdjustmentsProcessor <NSObject>
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    The adjustments component wraps several adjustment-related classes.

    + + See more +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @protocol SCCameraKitAdjustmentsComponent <NSObject>
    + +
    +
    +

    Swift

    +
    protocol AdjustmentsComponent : NSObjectProtocol
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Allows conformers to be notified of changes to adjustments processor state

    + + See more +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @protocol SCCameraKitAdjustmentsProcessorObserver <NSObject>
    + +
    +
    +

    Swift

    +
    protocol AdjustmentsProcessorObserver : NSObjectProtocol
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Protocol to interface with agreements by CameraKit +This interface should not be used directly.

    + + See more +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @protocol SCCameraKitAgreementSet <NSObject>
    + +
    +
    +

    Swift

    +
    protocol AgreementSet : NSObjectProtocol
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Describes an interface to provide presentation context for CameraKit to present agreements.

    + + See more +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @protocol SCCameraKitAgreementsPresentationContextProvider <NSObject>
    + +
    +
    +

    Swift

    +
    protocol AgreementsPresentationContextProvider : NSObjectProtocol
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Protocol describing the CameraKit agreements store.

    +
    +

    Warning

    + DO NOT attempt to directly use this protocol. Attempting to do so WILL CAUSE YOUR APP TO CRASH. Use +SCCameraKitAgreementsPresentationContextProvider to define how CameraKit will show agreements on your behalf. + +
    + + See more +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @protocol SCCameraKitAgreementsStore <NSObject>
    + +
    +
    +

    Swift

    +
    protocol AgreementsStore : NSObjectProtocol
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Params for device motion interface

    + + See more +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @protocol SCCameraKitDeviceMotionParameters <NSObject>
    + +
    +
    +

    Swift

    +
    protocol DeviceMotionParameters : NSObjectProtocol
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Protocol to provide device motion data and handle starting/updating/stopping

    + + See more +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @protocol SCCameraKitDeviceMotionDataProvider <NSObject>
    + +
    +
    +

    Swift

    +
    protocol DeviceMotionDataProvider : NSObjectProtocol
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Describes an interface to handler errors and exceptions related to CameraKit

    + + See more +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @protocol SCCameraKitErrorHandler
    + +
    +
    +

    Swift

    +
    protocol ErrorHandler
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    The input destination is an intermediary for frame data.

    + + See more +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @protocol SCCameraKitInputDestination
    + +
    +
    +

    Swift

    +
    protocol InputDestination
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + SCCameraKitInput + +
    +
    +
    +
    +
    +
    +

    Describes a source of frames for CameraKit. Can be a camera, file, etc.

    + + See more +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @protocol SCCameraKitInput
    + +
    +
    +

    Swift

    +
    protocol Input
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Describes an interface that contains lens preview data

    + + See more +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @protocol SCCameraKitLensPreview <NSObject>
    + +
    +
    +

    Swift

    +
    protocol LensPreview : NSObjectProtocol
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Describes an interface that contains lens snapcodes data

    + + See more +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @protocol SCCameraKitLensSnapcodes <NSObject>
    + +
    +
    +

    Swift

    +
    protocol LensSnapcodes : NSObjectProtocol
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + SCCameraKitLens + +
    +
    +
    +
    +
    +
    +

    Describes a lens object.

    + + See more +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @protocol SCCameraKitLens <NSObject>
    + +
    +
    +

    Swift

    +
    protocol Lens : NSObjectProtocol
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Lens hint delegate used to notify receivers when to show/hide hints for applied lenses

    + + See more +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @protocol SCCameraKitLensHintDelegate <NSObject>
    + +
    +
    +

    Swift

    +
    protocol LensHintDelegate : NSObjectProtocol
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Describes an interface used to provide lens hint localizations from hint ids

    + + See more +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @protocol SCCameraKitLensHintProvider <NSObject>
    + +
    +
    +

    Swift

    +
    protocol LensHintProvider : NSObjectProtocol
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    An opaque protocol used to pass launch data to processor when applying lens

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @protocol SCCameraKitLensLaunchData <NSObject>
    + +
    +
    +

    Swift

    +
    protocol LensLaunchData : NSObjectProtocol
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + + See more +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @protocol SCCameraKitLensMediaPickerProvider <NSObject>
    +
    +/// A delegate that must be notified when loadAndApplyOriginalMediaFromAsset: finishes loading an original asset.
    +/// @warning: DO NOT set this delegate manually. CameraKit will set this property appropriately.
    +@property (weak, nonatomic) id<SCCameraKitLensMediaPickerProviderMediaApplicationDelegate> mediaApplicationDelegate;
    +
    +/// A delegate that will be notified when picker-related UI should be shown or hidden.
    +@property (weak, nonatomic) id<SCCameraKitLensMediaPickerProviderUIDelegate> uiDelegate;
    +
    +/// The number of assets that have been fetched and may be displayed by the picker UI.
    +@property (readonly, nonatomic, assign) NSInteger fetchedAssetCount;
    +
    +/// Whether or not the data provider has more assets available to fetch.
    +@property (readonly, nonatomic, assign) BOOL hasMoreAssetsToFetch;
    +
    +/// Fetches a new batch of assets.
    +/// @param batchSize How many items to fetch. A provider may return less than this if it exhausts available assets
    +/// without reaching the desired batch size
    +/// @param queue a dispatch queue to receive callbacks on
    +/// @param completion a completion block to be called when the fetch has completed
    +- (void)fetchNextAssetBatchOfSize:(NSInteger)batchSize
    +                            queue:(dispatch_queue_t)queue
    +                       completion:(void (^)(NSArray<id<SCCameraKitLensMediaPickerAsset>> *))completion
    +    NS_SWIFT_NAME(fetchNextAssetBatch(size:queue:completion:));
    +
    +/// Retrieves a fetched asset at a given index.
    +/// @param index the index to fetch.
    +- (id<SCCameraKitLensMediaPickerAsset>)fetchedAssetAtIndex:(NSInteger)index NS_SWIFT_NAME(fetchedAsset(at:));
    +
    +/// Loads the full resolution backing asset of a specified asset and applies it to lenses.
    +/// @param asset the asset to load and apply
    +/// @param completion a completion block called when application is complete
    +/// @note Implementors of this method MUST call the appropriate method on the uiDelegate when the loading is completed
    +/// in order for the lens to succesfully apply the media.
    +- (void)loadAndApplyOriginalMediaFromAsset:(id<SCCameraKitLensMediaPickerAsset>)asset
    +                                completion:(nullable void (^)(void))completion
    +    NS_SWIFT_NAME(loadAndApplyOriginalMedia(from:completion:));
    +
    +/// Invalidates and resets internal state of the provider with a newly specified allowed media type option set.
    +/// @param assetType The asset types to allow in results.
    +- (void)reconfigureWithAllowedTypes:(SCCameraKitLensMediaPickerProviderAllowedMediaType)assetType;
    +
    +@end
    + +
    +
    +

    Swift

    +
    protocol LensMediaPickerProvider : NSObjectProtocol
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    An asset provided by the picker. May be backed by a PHAsset, or an app’s own custom media type.

    + + See more +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @protocol SCCameraKitLensMediaPickerAsset <NSObject>
    + +
    +
    +

    Swift

    +
    protocol LensMediaPickerProviderAsset : NSObjectProtocol
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Delegate responsible for handling UI events related to the provider, such as showing/hiding a picker.

    + + See more +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @protocol SCCameraKitLensMediaPickerProviderUIDelegate <NSObject>
    + +
    +
    +

    Swift

    +
    protocol LensMediaPickerProviderUIDelegate : NSObjectProtocol
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Delegate responsible for applying media to a lens. This should not be implemented directly.

    +
    +

    Note

    + If you create a custom provider, you’ll need to call the methods here from your provider. See notes on +provider.uiDelegate for more details. + +
    + + See more +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @protocol SCCameraKitLensMediaPickerProviderMediaApplicationDelegate <NSObject>
    + +
    +
    +

    Swift

    +
    protocol LensMediaPickerProviderMediaApplicationDelegate : NSObjectProtocol
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Describes an interface used to observe changes in lens fetch status

    + + See more +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @protocol SCCameraKitLensPrefetcherObserver <NSObject>
    + +
    +
    +

    Swift

    +
    protocol LensPrefetcherObserver : NSObjectProtocol
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Describes the interface used to cancel an ongoing prefetch task

    + + See more +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @protocol SCCameraKitLensPrefetcherTask <NSObject>
    + +
    +
    +

    Swift

    +
    protocol LensPrefetcherTask : NSObjectProtocol
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Describes the interface used to prefetch lens content

    + + See more +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @protocol SCCameraKitLensPrefetcher <NSObject>
    + +
    +
    +

    Swift

    +
    protocol LensPrefetcher : NSObjectProtocol
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    The lens processor handles transforming camera frames and adding effects to them.

    + + See more +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @protocol SCCameraKitLensProcessor <NSObject>
    + +
    +
    +

    Swift

    +
    protocol LensProcessor : NSObjectProtocol
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Allows conformers to be notified of changes to lens processor state

    + + See more +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @protocol SCCameraKitLensProcessorObserver <NSObject>
    + +
    +
    +

    Swift

    +
    protocol ProcessorObserver : NSObjectProtocol
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Describes the remote api service request sent by a lens.

    + + See more +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @protocol SCCameraKitLensRemoteApiRequest <NSObject>
    + +
    +
    +

    Swift

    +
    protocol LensRemoteApiRequest : NSObjectProtocol
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Describes the remote api service response to a request sent by a lens.

    + + See more +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @protocol SCCameraKitLensRemoteApiResponse <NSObject>
    + +
    +
    +

    Swift

    +
    protocol LensRemoteApiResponseProtocol : NSObjectProtocol
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Describes the call that is sent in response to a remote api request sent by a lens.

    + + See more +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @protocol SCCameraKitLensRemoteApiServiceCall <NSObject>
    + +
    +
    +

    Swift

    +
    protocol LensRemoteApiServiceCall : NSObjectProtocol
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Describes a remote api service used to process requests sent by a lens.

    + + See more +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @protocol SCCameraKitLensRemoteApiService <NSObject>
    + +
    +
    +

    Swift

    +
    protocol LensRemoteApiService : NSObjectProtocol
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Describes an interface to provide remote api services for specific lenses and api spec identifiers.

    + + See more +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @protocol SCCameraKitLensRemoteApiServiceProvider <NSObject>
    + +
    +
    +

    Swift

    +
    protocol LensRemoteApiServiceProvider : NSObjectProtocol
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Allows conformers to be notified of changes to lens groups the repository has available.

    + + See more +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @protocol SCCameraKitLensRepositoryGroupObserver <NSObject>
    + +
    +
    +

    Swift

    +
    protocol LensRepositoryGroupObserver : NSObjectProtocol
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Allows conformers to be notified of changes to specific lenses in groups the repository has available.

    + + See more +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @protocol SCCameraKitLensRepositorySpecificObserver <NSObject>
    + +
    +
    +

    Swift

    +
    protocol LensRepositorySpecificObserver : NSObjectProtocol
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    The lenses component wraps several lens-related classes.

    + + See more +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @protocol SCCameraKitLensesComponent <NSObject>
    + +
    +
    +

    Swift

    +
    protocol LensesComponent : NSObjectProtocol
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Lens Repository for listing lenses, getting lenses, etc.

    + + See more +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @protocol SCCameraKitLensRepository <NSObject>
    + +
    +
    +

    Swift

    +
    protocol LensRepository : NSObjectProtocol
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Params for device motion interface

    + + See more +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @protocol SCCameraKitLocationParameters <NSObject>
    + +
    +
    +

    Swift

    +
    protocol LocationParameters : NSObjectProtocol
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Protocol to provide device motion data and handle starting/updating/stopping

    + + See more +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @protocol SCCameraKitLocationDataProvider <NSObject>
    + +
    +
    +

    Swift

    +
    protocol LocationDataProvider : NSObjectProtocol
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + SCCameraKitOutput + +
    +
    +
    +
    +
    +
    +

    Allows conformers to be notified of new frame data from CameraKit.

    + + See more +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @protocol SCCameraKitOutput <NSObject>
    + +
    +
    +

    Swift

    +
    protocol Output : NSObjectProtocol
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Protocol to interface with preferences stored by CameraKit +This interface is intentionally opaque and should only be used to clear out stored preferences

    + + See more +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @protocol SCCameraKitPreferences <NSObject>
    + +
    +
    +

    Swift

    +
    protocol SCCameraKitPreferences : NSObjectProtocol
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Protocol for representing a text input view on-screen for lenses that request it.

    + + See more +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @protocol SCCameraKitTextInputKeyboardAccessoryProvider <NSObject>
    + +
    +
    +

    Swift

    +
    protocol TextInputKeyboardAccessoryProvider : NSObjectProtocol
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Protocol to provide keyboard input data to lenses.

    + + See more +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @protocol SCCameraKitTextInputContextProvider <NSObject>
    + +
    +
    +

    Swift

    +
    protocol TextInputContextProvider : NSObjectProtocol
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + SCCameraKitTexture + +
    +
    +
    +
    +
    +
    +

    An opaque protocol describing CameraKit output.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @protocol SCCameraKitTexture <NSObject>
    + +
    +
    +

    Swift

    +
    protocol Texture : NSObjectProtocol
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    User data provider delegate to provide receivers with new user data on updates

    + + See more +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @protocol SCCameraKitUserDataProviderDelegate <NSObject>
    + +
    +
    +

    Swift

    +
    protocol UserDataProviderDelegate : NSObjectProtocol
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Describes an interface that provides user data to lenses

    + + See more +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @protocol SCCameraKitUserDataProvider <NSObject>
    + +
    +
    +

    Swift

    +
    protocol UserDataProvider : NSObjectProtocol
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + Adjustment + +
    +
    +
    +
    +
    +
    +

    Swift protocol for an adjustment. Specifies an associated Controller type.

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public protocol Adjustment : __Adjustment
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/Adjustment.html b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/Adjustment.html new file mode 100644 index 000000000..1b7d17ccd --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/Adjustment.html @@ -0,0 +1,443 @@ + + + + Adjustment Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

Adjustment

+
+
+ +
public protocol Adjustment : __Adjustment
+ +
+
+

Swift protocol for an adjustment. Specifies an associated Controller type.

+ +
+
+ +
+
+
+
    +
  • +
    + + + + Controller + +
    +
    +
    +
    +
    +
    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    associatedtype Controller : AdjustmentController
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitARInput.html b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitARInput.html new file mode 100644 index 000000000..f96ff6f95 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitARInput.html @@ -0,0 +1,595 @@ + + + + SCCameraKitARInput Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

SCCameraKitARInput

+
+
+

Objective-C

+
@protocol SCCameraKitARInput <SCCameraKitInput>
+ +
+
+

Swift

+
protocol ARInput
+ +
+
+

Describes a source of AR data for CameraKit.

+ +
+
+ +
+
+
+
    +
  • +
    + + + + session + +
    +
    +
    +
    +
    +
    +

    The managed ARSession.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic, strong, readonly) ARSession *_Nonnull session;
    + +
    +
    +

    Swift

    +
    var session: ARSession { get }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + arDelegate + +
    +
    +
    +
    +
    +
    +

    The intermediate destination for ARKit delegate methods. See the protocol definition for more details. +This property should NOT be set directly. CameraKit will assign this as appropriate.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic, weak) id<SCCameraKitARInputDelegate> _Nullable arDelegate;
    + +
    +
    +

    Swift

    +
    weak var arDelegate: ARInputDelegate? { get set }
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    The ARConfiguration to use when using the front camera.

    +
    +

    Warning

    + if your app supports lenses with true sizing, you MUST return an instance of ARFaceTrackingConfiguration +(additionally, we recommend setting the number of tracked faces to 0) + +
    +

    Note

    + this is nil by default, as adding ARFaceTrackingConfiguration will subject your app to additional app review, +concerning your usage of the TrueDepth camera. + +
    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic, strong, readonly) ARConfiguration *_Nonnull frontCameraConfiguration;
    + +
    +
    +

    Swift

    +
    var frontCameraConfiguration: ARConfiguration { get }
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Runs the session with the provided configuration and options.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (void)runWithConfiguration:(nonnull ARConfiguration *)configuration
    +                     options:(ARSessionRunOptions)options;
    + +
    +
    +

    Swift

    +
    func run(_ configuration: ARConfiguration, options: ARSession.RunOptions = [])
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + -pause + +
    +
    +
    +
    +
    +
    +

    Pauses the session.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (void)pause;
    + +
    +
    +

    Swift

    +
    func pause()
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitARInputDelegate.html b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitARInputDelegate.html new file mode 100644 index 000000000..304c9de94 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitARInputDelegate.html @@ -0,0 +1,616 @@ + + + + SCCameraKitARInputDelegate Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

SCCameraKitARInputDelegate

+
+
+

Objective-C

+
@protocol SCCameraKitARInputDelegate
+ +
+
+

Swift

+
protocol ARInputDelegate
+ +
+
+

Propogates ARKit session delegate methods back to CameraKit. +If you implement your own AR Input, you MUST call these methods when their corresponding ARKit delegate methods +are called.

+ +
+
+ +
+
+
+
    +
  • +
    + + + + -input:didAddAnchors: + +
    +
    +
    +
    +
    +
    +

    Method to call when the input receives session:didAddAnchors:

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (void)input:(nonnull id<SCCameraKitARInput>)input
    +    didAddAnchors:(nonnull NSArray<ARAnchor *> *)anchors;
    + +
    +
    +

    Swift

    +
    func input(_ input: ARInput, didAdd anchors: [ARAnchor])
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + +
    + + input + + +
    +

    the sending input

    +
    +
    + + anchors + + +
    +

    the anchors passed to the delegate

    +
    +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Method to call when the input receives session:didUpdateAnchors:

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (void)input:(nonnull id<SCCameraKitARInput>)input
    +    didUpdateAnchors:(nonnull NSArray<ARAnchor *> *)anchors;
    + +
    +
    +

    Swift

    +
    func input(_ input: ARInput, didUpdate anchors: [ARAnchor])
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + +
    + + input + + +
    +

    the sending input

    +
    +
    + + anchors + + +
    +

    the anchors passed to the delegate

    +
    +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Method to call when the input receives session:didRemoveAnchors:

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (void)input:(nonnull id<SCCameraKitARInput>)input
    +    didRemoveAnchors:(nonnull NSArray<ARAnchor *> *)anchors;
    + +
    +
    +

    Swift

    +
    func input(_ input: ARInput, didRemove anchors: [ARAnchor])
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + +
    + + input + + +
    +

    the sending input

    +
    +
    + + anchors + + +
    +

    the anchors passed to the delegate

    +
    +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitAccessTokenProvider.html b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitAccessTokenProvider.html new file mode 100644 index 000000000..f980646a3 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitAccessTokenProvider.html @@ -0,0 +1,544 @@ + + + + SCCameraKitAccessTokenProvider Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

SCCameraKitAccessTokenProvider

+
+
+

Objective-C

+
@protocol SCCameraKitAccessTokenProvider <NSObject>
+ +
+
+

Swift

+
protocol AccessTokenProvider : NSObjectProtocol
+ +
+
+

Describes an interface to provide an access token (ie. from LoginKit) required by some features like connected +lenses, push to device, etc.

+ +
+
+ +
+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    If the user is already authenticated, fetch a valid/non-expired access token to be used by some features like connected lenses, push to device, etc. +Returns an access token task if the fetch token task is cancellable or nil if the task is not cancellable.

    +
    +

    Note

    + It is up to the provider to ensure that the access token will be active for the lifetime of the feature using +the token. + +
    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (nullable id<SCCameraKitAccessTokenProviderTask>)
    +    fetchAccessTokenIfAuthenticatedWithCompletion:
    +        (nonnull void (^)(NSString *_Nullable, NSError *_Nullable))completion;
    + +
    +
    +

    Swift

    +
    func fetchAccessTokenIfAuthenticated(completion: @escaping (String?, Error?) -> Void) -> AccessTokenProviderTask?
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + completion + + +
    +

    Callback on completion with access token on success or error on failure.

    +
    +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Fetch a valid/non-expired access token to be used by some features like connected lenses, push to device, etc. +May take the user through an authentication flow if the user is not already authenticated. +Returns an access token task if the fetch token task is cancellable or nil if the task is not cancellable.

    +
    +

    Note

    + It is up to the provider to ensure that the access token will be active for the lifetime of the feature using +the token. + +
    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (nullable id<SCCameraKitAccessTokenProviderTask>)
    +    fetchAccessTokenWithCompletion:
    +        (nonnull void (^)(NSString *_Nullable, NSError *_Nullable))completion;
    + +
    +
    +

    Swift

    +
    func fetchAccessToken(completion: @escaping (String?, Error?) -> Void) -> AccessTokenProviderTask?
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + completion + + +
    +

    Callback on completion with access token on success or error on failure.

    +
    +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitAccessTokenProviderTask.html b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitAccessTokenProviderTask.html new file mode 100644 index 000000000..7a5d23ef4 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitAccessTokenProviderTask.html @@ -0,0 +1,454 @@ + + + + SCCameraKitAccessTokenProviderTask Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

SCCameraKitAccessTokenProviderTask

+
+
+

Objective-C

+
@protocol SCCameraKitAccessTokenProviderTask <NSObject>
+ +
+
+

Swift

+
protocol AccessTokenProviderTask : NSObjectProtocol
+ +
+
+

Describes an interface that will handle fetching the access token.

+ +
+
+ +
+
+
+
    +
  • +
    + + + + -cancel + +
    +
    +
    +
    +
    +
    +

    Cancels fetching access token if it’s currently in progress;

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (void)cancel;
    + +
    +
    +

    Swift

    +
    func cancel()
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitAdjustmentsComponent.html b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitAdjustmentsComponent.html new file mode 100644 index 000000000..e7829b2d3 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitAdjustmentsComponent.html @@ -0,0 +1,454 @@ + + + + SCCameraKitAdjustmentsComponent Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

SCCameraKitAdjustmentsComponent

+
+
+

Objective-C

+
@protocol SCCameraKitAdjustmentsComponent <NSObject>
+ +
+
+

Swift

+
protocol AdjustmentsComponent : NSObjectProtocol
+ +
+
+

The adjustments component wraps several adjustment-related classes.

+ +
+
+ +
+
+
+
    +
  • +
    + + + + processor + +
    +
    +
    +
    +
    +
    +

    Handles the actual adjustment application. Will be null if CameraKit is not running with a valid input.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic, strong, readonly, nullable) id<SCCameraKitAdjustmentsProcessor> processor;
    + +
    +
    +

    Swift

    +
    var processor: AdjustmentsProcessor? { get }
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitAdjustmentsProcessor.html b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitAdjustmentsProcessor.html new file mode 100644 index 000000000..3ba030b3b --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitAdjustmentsProcessor.html @@ -0,0 +1,667 @@ + + + + SCCameraKitAdjustmentsProcessor Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

SCCameraKitAdjustmentsProcessor

+
+
+ +
@protocol SCCameraKitAdjustmentsProcessor <NSObject>
+ +
+
+

The adjustments processor handles adjusting camera frames before they are processed by lenses.

+ +
+
+ +
+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Checks if an adjustment is available and supported by the current device. Some adjustments are performance sensitive +or require specific hardware which may mean they are unavailable on specific devices. You should call this method +before showing any UI associated with the adjustment.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (BOOL)isAdjustmentAvailable:(nonnull id<SCCameraKitAdjustment>)adjustment;
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + adjustment + + +
    +

    the adjustment to check.

    +
    +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Applies the specified adjustment.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (nullable id<SCCameraKitAdjustmentController>)
    +    applyAdjustment:(nonnull id<SCCameraKitAdjustment>)adjustment
    +              error:(NSError *_Nullable *_Nullable)error;
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + +
    + + adjustment + + +
    +

    The adjustment to apply.

    +
    +
    + + error + + +
    +

    Any error that may occur during application.

    +
    +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Removes an adjustment.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (void)removeAdjustmentController:
    +    (nonnull id<SCCameraKitAdjustmentController>)adjustmentController;
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + adjustmentController + + +
    +

    the controller associated with the adjustment you wish to remove.

    +
    +
    +
    +
    +
    +
  • +
  • +
    + + + + -addObserver: + +
    +
    +
    +
    +
    +
    +

    Adds observer to receive notifications of changes to adjustments processor state. +Returns if observer got successfully added

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (BOOL)addObserver:
    +    (nonnull id<SCCameraKitAdjustmentsProcessorObserver>)observer;
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + observer + + +
    +

    the observer who wishes to receive callbacks.

    +
    +
    +
    +
    +
    +
  • +
  • +
    + + + + -removeObserver: + +
    +
    +
    +
    +
    +
    +

    Removes observer from receiving notifications of changes to adjustments availability.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (void)removeObserver:
    +    (nonnull id<SCCameraKitAdjustmentsProcessorObserver>)observer;
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + observer + + +
    +

    the observer who wishes to stop receiving callbacks.

    +
    +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitAdjustmentsProcessorObserver.html b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitAdjustmentsProcessorObserver.html new file mode 100644 index 000000000..47e4edea2 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitAdjustmentsProcessorObserver.html @@ -0,0 +1,474 @@ + + + + SCCameraKitAdjustmentsProcessorObserver Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

SCCameraKitAdjustmentsProcessorObserver

+
+
+

Objective-C

+
@protocol SCCameraKitAdjustmentsProcessorObserver <NSObject>
+ +
+
+

Swift

+
protocol AdjustmentsProcessorObserver : NSObjectProtocol
+ +
+
+

Allows conformers to be notified of changes to adjustments processor state

+ +
+
+ +
+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Notifies that the adjustments processor updated the state of available adjustments

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (void)processorUpdatedAdjustmentsAvailability:
    +    (nonnull id<SCCameraKitAdjustmentsProcessor>)adjustmentsProcessor;
    + +
    +
    +

    Swift

    +
    func processorUpdatedAdjustmentsAvailability(_ adjustmentsProcessor: SCCameraKitAdjustmentsProcessor)
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + adjustmentsProcessor + + +
    +

    the adjustments processor instance

    +
    +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitAgreementSet.html b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitAgreementSet.html new file mode 100644 index 000000000..dede3322b --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitAgreementSet.html @@ -0,0 +1,519 @@ + + + + SCCameraKitAgreementSet Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

SCCameraKitAgreementSet

+
+
+

Objective-C

+
@protocol SCCameraKitAgreementSet <NSObject>
+ +
+
+

Swift

+
protocol AgreementSet : NSObjectProtocol
+ +
+
+

Protocol to interface with agreements by CameraKit +This interface should not be used directly.

+ +
+
+ +
+
+
+
    +
  • +
    + + + + termsOfServiceURL + +
    +
    +
    +
    +
    +
    +

    A URL to the terms of service agreement for CameraKit.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic, strong, readonly) NSURL *_Nonnull termsOfServiceURL;
    + +
    +
    +

    Swift

    +
    var termsOfServiceURL: URL { get }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + privacyPolicyURL + +
    +
    +
    +
    +
    +
    +

    A URL to the privacy policy for CameraKit.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic, strong, readonly) NSURL *_Nonnull privacyPolicyURL;
    + +
    +
    +

    Swift

    +
    var privacyPolicyURL: URL { get }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + learnMoreURL + +
    +
    +
    +
    +
    +
    +

    A URL to the learn more page for CameraKit.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic, strong, readonly) NSURL *_Nonnull learnMoreURL;
    + +
    +
    +

    Swift

    +
    var learnMoreURL: URL { get }
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitAgreementsPresentationContextProvider.html b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitAgreementsPresentationContextProvider.html new file mode 100644 index 000000000..9588ddbf5 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitAgreementsPresentationContextProvider.html @@ -0,0 +1,524 @@ + + + + SCCameraKitAgreementsPresentationContextProvider Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

SCCameraKitAgreementsPresentationContextProvider

+
+
+

Objective-C

+
@protocol SCCameraKitAgreementsPresentationContextProvider <NSObject>
+ +
+
+

Swift

+
protocol AgreementsPresentationContextProvider : NSObjectProtocol
+ +
+
+

Describes an interface to provide presentation context for CameraKit to present agreements.

+ +
+
+ +
+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    The view controller to present the agreements view controller from.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic, strong, readonly) UIViewController *_Nonnull viewControllerForPresentingAgreements;
    + +
    +
    +

    Swift

    +
    var viewControllerForPresentingAgreements: UIViewController { get }
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Requests that the view controller passed be dismissed, with acceptance status.

    +
    +

    Warning

    + the implementer of this protocol is responsible for dismissing the view controller. + +
    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (void)dismissAgreementsViewController:
    +            (nonnull UIViewController *)agreementsViewController
    +                               accepted:(BOOL)accepted;
    + +
    +
    +

    Swift

    +
    func dismissAgreementsViewController(_ agreementsViewController: UIViewController, accepted: Bool)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + +
    + + agreementsViewController + + +
    +

    the view controller to dismiss.

    +
    +
    + + accepted + + +
    +

    whether or not the user accepted all the agreements presented.

    +
    +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitAgreementsStore.html b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitAgreementsStore.html new file mode 100644 index 000000000..818da31b8 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitAgreementsStore.html @@ -0,0 +1,588 @@ + + + + SCCameraKitAgreementsStore Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

SCCameraKitAgreementsStore

+
+
+

Objective-C

+
@protocol SCCameraKitAgreementsStore <NSObject>
+ +
+
+

Swift

+
protocol AgreementsStore : NSObjectProtocol
+ +
+
+

Protocol describing the CameraKit agreements store.

+
+

Warning

+ DO NOT attempt to directly use this protocol. Attempting to do so WILL CAUSE YOUR APP TO CRASH. Use +SCCameraKitAgreementsPresentationContextProvider to define how CameraKit will show agreements on your behalf. + +
+ +
+
+ +
+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (readonly, nonatomic) BOOL requiresNewAgreementAcceptance
    + +
    +
    +

    Swift

    +
    var requiresNewAgreementAcceptance: Bool { get }
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (readonly, nonatomic) BOOL childrenProtectionActRestricted
    + +
    +
    +

    Swift

    +
    var childrenProtectionActRestricted: Bool { get }
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (readonly, nonatomic) id<SCCameraKitAgreementSet> newestAvailableAgreements
    + +
    +
    +

    Swift

    +
    var newestAvailableAgreements: SCCameraKitAgreementSet { get }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + -acceptAgreements: + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (void)acceptAgreements:(id<SCCameraKitAgreementSet>)agreements;
    + +
    +
    +

    Swift

    +
    func acceptAgreements(_ agreements: SCCameraKitAgreementSet)
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + -declineAgreements: + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (void)declineAgreements:(id<SCCameraKitAgreementSet>)agreements;
    + +
    +
    +

    Swift

    +
    func declineAgreements(_ agreements: SCCameraKitAgreementSet)
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitDeviceMotionDataProvider.html b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitDeviceMotionDataProvider.html new file mode 100644 index 000000000..db1274ca6 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitDeviceMotionDataProvider.html @@ -0,0 +1,538 @@ + + + + SCCameraKitDeviceMotionDataProvider Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

SCCameraKitDeviceMotionDataProvider

+
+
+

Objective-C

+
@protocol SCCameraKitDeviceMotionDataProvider <NSObject>
+ +
+
+

Swift

+
protocol DeviceMotionDataProvider : NSObjectProtocol
+ +
+
+

Protocol to provide device motion data and handle starting/updating/stopping

+ +
+
+ +
+
+
+
    +
  • +
    + + + + deviceMotion + +
    +
    +
    +
    +
    +
    +

    Current device motion data

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic, strong, readonly, nullable) CMDeviceMotion *deviceMotion;
    + +
    +
    +

    Swift

    +
    var deviceMotion: CMDeviceMotion? { get }
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Start updating device motion with params

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (void)startUpdatingWithParameters:
    +    (nonnull id<SCCameraKitDeviceMotionParameters>)parameters;
    + +
    +
    +

    Swift

    +
    func startUpdating(with parameters: DeviceMotionParameters)
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + parameters + + +
    +

    device motion params

    +
    +
    +
    +
    +
    +
  • +
  • +
    + + + + -stopUpdating + +
    +
    +
    +
    +
    +
    +

    Stop updating device motion

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (void)stopUpdating;
    + +
    +
    +

    Swift

    +
    func stopUpdating()
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitDeviceMotionParameters.html b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitDeviceMotionParameters.html new file mode 100644 index 000000000..27c6f5e88 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitDeviceMotionParameters.html @@ -0,0 +1,454 @@ + + + + SCCameraKitDeviceMotionParameters Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

SCCameraKitDeviceMotionParameters

+
+
+

Objective-C

+
@protocol SCCameraKitDeviceMotionParameters <NSObject>
+ +
+
+

Swift

+
protocol DeviceMotionParameters : NSObjectProtocol
+ +
+
+

Params for device motion interface

+ +
+
+ +
+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Requires device motion interface to be aligned with compass

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic, readonly) BOOL requiresCompassAlignment;
    + +
    +
    +

    Swift

    +
    var requiresCompassAlignment: Bool { get }
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitErrorHandler.html b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitErrorHandler.html new file mode 100644 index 000000000..e664f01fc --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitErrorHandler.html @@ -0,0 +1,473 @@ + + + + SCCameraKitErrorHandler Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

SCCameraKitErrorHandler

+
+
+

Objective-C

+
@protocol SCCameraKitErrorHandler
+ +
+
+

Swift

+
protocol ErrorHandler
+ +
+
+

Describes an interface to handler errors and exceptions related to CameraKit

+ +
+
+ +
+
+
+
    +
  • +
    + + + + -handleError: + +
    +
    +
    +
    +
    +
    +

    Handle error thrown by CameraKit

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (void)handleError:(nonnull NSException *)error;
    + +
    +
    +

    Swift

    +
    func handleError(_ error: NSException)
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + error + + +
    +

    exception thrown by CameraKit

    +
    +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitInput.html b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitInput.html new file mode 100644 index 000000000..29c425d90 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitInput.html @@ -0,0 +1,772 @@ + + + + SCCameraKitInput Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

SCCameraKitInput

+
+
+

Objective-C

+
@protocol SCCameraKitInput
+ +
+
+

Swift

+
protocol Input
+ +
+
+

Describes a source of frames for CameraKit. Can be a camera, file, etc.

+ +
+
+ +
+
+
+
    +
  • +
    + + + + destination + +
    +
    +
    +
    +
    +
    +

    The intermediate destination for frame data. See the protocol definition for more details. +This property should NOT be set directly. CameraKit will assign this as appropriate.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic, weak) id<SCCameraKitInputDestination> _Nullable destination;
    + +
    +
    +

    Swift

    +
    weak var destination: InputDestination? { get set }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + horizontalFieldOfView + +
    +
    +
    +
    +
    +
    +

    The horizontal field of view for the input.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic, readonly) CGFloat horizontalFieldOfView;
    + +
    +
    +

    Swift

    +
    var horizontalFieldOfView: CGFloat { get }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + frameSize + +
    +
    +
    +
    +
    +
    +

    The size for input frame

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic, readonly) CGSize frameSize;
    + +
    +
    +

    Swift

    +
    var frameSize: CGSize { get }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + frameOrientation + +
    +
    +
    +
    +
    +
    +

    The orientation of frame data for the input.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic, readonly) AVCaptureVideoOrientation frameOrientation;
    + +
    +
    +

    Swift

    +
    var frameOrientation: AVCaptureVideoOrientation { get }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + position + +
    +
    +
    +
    +
    +
    +

    The camera position that the frames are sourced from.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic) AVCaptureDevicePosition position;
    + +
    +
    +

    Swift

    +
    var position: AVCaptureDevice.Position { get set }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + isRunning + +
    +
    +
    +
    +
    +
    +

    Whether or not the session is currently running.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic, readonly) BOOL isRunning;
    + +
    +
    +

    Swift

    +
    var isRunning: Bool { get }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + -startRunning + +
    +
    +
    +
    +
    +
    +

    Indiciates that the input should begin running if it is not currently. If the input is aleady running, this should +be a noop. +@warning: This method is SYNCHRONOUS and should not be called on the main thread.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (void)startRunning;
    + +
    +
    +

    Swift

    +
    func startRunning()
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + -stopRunning + +
    +
    +
    +
    +
    +
    +

    Indiciates that the input should MUST stop running if it currently is running. If the input is not already running, +this should be a noop. +@warning: This method is SYNCHRONOUS and should not be called on the main thread.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (void)stopRunning;
    + +
    +
    +

    Swift

    +
    func stopRunning()
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + -setVideoOrientation: + +
    +
    +
    +
    +
    +
    +

    Set the orientation for the outputted video buffers

    +
    +

    Note

    + this may be different than the actual frame data orientation +since inputs may map frame data orientation to video orientation differently + +
    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (void)setVideoOrientation:(AVCaptureVideoOrientation)videoOrientation;
    + +
    +
    +

    Swift

    +
    func setVideoOrientation(_ videoOrientation: AVCaptureVideoOrientation)
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + videoOrientation + + +
    +

    orientation for the outputted video buffers

    +
    +
    +
    +
    +
    +
  • +
  • +
    + + + + audioEnabled + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic, readonly) BOOL audioEnabled
    + +
    +
    +

    Swift

    +
    optional var audioEnabled: Bool { get }
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitInputDestination.html b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitInputDestination.html new file mode 100644 index 000000000..168ffe212 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitInputDestination.html @@ -0,0 +1,601 @@ + + + + SCCameraKitInputDestination Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

SCCameraKitInputDestination

+
+
+

Objective-C

+
@protocol SCCameraKitInputDestination
+ +
+
+

Swift

+
protocol InputDestination
+ +
+
+

The input destination is an intermediary for frame data.

+ +
+
+ +
+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Pass new video frame data into CameraKit. Call this every time your input generates new video frames.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (void)input:(nonnull id<SCCameraKitInput>)input
    +    receivedVideoSampleBuffer:(nonnull CMSampleBufferRef)sampleBuffer;
    + +
    +
    +

    Swift

    +
    func input(_ input: Input, receivedVideoSampleBuffer sampleBuffer: CMSampleBuffer)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + +
    + + input + + +
    +

    the input providing data.

    +
    +
    + + sampleBuffer + + +
    +

    a sample buffer containing new video frame data.

    +
    +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Pass new audio frame data into CameraKit. Call this every time your input generates new audio frames.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (void)input:(nonnull id<SCCameraKitInput>)input
    +    receivedAudioSampleBuffer:(nonnull CMSampleBufferRef)sampleBuffer;
    + +
    +
    +

    Swift

    +
    func input(_ input: Input, receivedAudioSampleBuffer sampleBuffer: CMSampleBuffer)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + +
    + + input + + +
    +

    the input providing data.

    +
    +
    + + sampleBuffer + + +
    +

    a sample buffer containing new audio frame data.

    +
    +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Indicates that the input has changed some attribute and that CameraKit should reconfigure itself accordingly.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (void)inputChangedAttributes:(nonnull id<SCCameraKitInput>)input;
    + +
    +
    +

    Swift

    +
    func inputChangedAttributes(_ input: Input)
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + input + + +
    +

    the input that changed.

    +
    +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLens.html b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLens.html new file mode 100644 index 000000000..7759d7d90 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLens.html @@ -0,0 +1,678 @@ + + + + SCCameraKitLens Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

SCCameraKitLens

+
+
+

Objective-C

+
@protocol SCCameraKitLens <NSObject>
+ +
+
+

Swift

+
protocol Lens : NSObjectProtocol
+ +
+
+

Describes a lens object.

+ +
+
+ +
+
+
+
    +
  • +
    + + + + identifier + +
    +
    +
    +
    +
    +
    +

    A unique identifier for the lens.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic, copy, readonly) NS_SWIFT_NAME(id) NSString *identifier;
    + +
    +
    +

    Swift

    +
    var id: String { get }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + groupIdentifier + +
    +
    +
    +
    +
    +
    +

    A unique identifier for the group that the lens belongs to

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic, copy, readonly) NS_SWIFT_NAME(groupId) NSString *groupIdentifier;
    + +
    +
    +

    Swift

    +
    var groupId: String { get }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + name + +
    +
    +
    +
    +
    +
    +

    The name for the lens

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic, copy, readonly, nullable) NSString *name;
    + +
    +
    +

    Swift

    +
    var name: String? { get }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + iconUrl + +
    +
    +
    +
    +
    +
    +

    URL for icon image

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic, copy, readonly, nullable) NSURL *iconUrl;
    + +
    +
    +

    Swift

    +
    var iconUrl: URL? { get }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + preview + +
    +
    +
    +
    +
    +
    +

    Lens preview instance

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic, strong, readonly) id<SCCameraKitLensPreview> _Nonnull preview;
    + +
    +
    +

    Swift

    +
    var preview: LensPreview { get }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + vendorData + +
    +
    +
    +
    +
    +
    +

    Extra metadata provided from vendor

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic, copy, readonly) NSDictionary<NSString *, NSString *> *_Nonnull vendorData;
    + +
    +
    +

    Swift

    +
    var vendorData: [String : String] { get }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + facingPreference + +
    +
    +
    +
    +
    +
    +

    Specifies which facing a lens is designed for.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic, readonly) SCCameraKitLensFacingPreference facingPreference;
    + +
    +
    +

    Swift

    +
    var facingPreference: LensFacingPreference { get }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + snapcodes + +
    +
    +
    +
    +
    +
    +

    Lens Snapcodes instance

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic, strong, readonly) id<SCCameraKitLensSnapcodes> _Nonnull snapcodes;
    + +
    +
    +

    Swift

    +
    var snapcodes: LensSnapcodes { get }
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensHintDelegate.html b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensHintDelegate.html new file mode 100644 index 000000000..87776315f --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensHintDelegate.html @@ -0,0 +1,576 @@ + + + + SCCameraKitLensHintDelegate Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

SCCameraKitLensHintDelegate

+
+
+

Objective-C

+
@protocol SCCameraKitLensHintDelegate <NSObject>
+ +
+
+

Swift

+
protocol LensHintDelegate : NSObjectProtocol
+ +
+
+

Lens hint delegate used to notify receivers when to show/hide hints for applied lenses

+ +
+
+ +
+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Notifies receiver that they should show hint for current lens

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (void)lensProcessor:(nonnull id<SCCameraKitLensProcessor>)lensProcessor
    +    shouldDisplayHint:(nonnull NSString *)hint
    +              forLens:(nonnull id<SCCameraKitLens>)lens
    +             autohide:(BOOL)autohide;
    + +
    +
    +

    Swift

    +
    func lensProcessor(_ lensProcessor: SCCameraKitLensProcessor, shouldDisplayHint hint: String, for lens: SCCameraKitLens, autohide: Bool)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + + + + + + + + + +
    + + lensProcessor + + +
    +

    curent lens processor instance

    +
    +
    + + hint + + +
    +

    localized hint text to display

    +
    +
    + + lens + + +
    +

    current lens applied

    +
    +
    + + autohide + + +
    +

    should autohide hint

    +
    +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Notifies receiver that they should remove all hints for current lens

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (void)lensProcessor:(nonnull id<SCCameraKitLensProcessor>)lensProcessor
    +    shouldHideAllHintsForLens:(nonnull id<SCCameraKitLens>)lens;
    + +
    +
    +

    Swift

    +
    func lensProcessor(_ lensProcessor: SCCameraKitLensProcessor, shouldHideAllHintsFor lens: SCCameraKitLens)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + +
    + + lensProcessor + + +
    +

    curent lens processor instance

    +
    +
    + + lens + + +
    +

    current lens applied

    +
    +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensHintProvider.html b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensHintProvider.html new file mode 100644 index 000000000..bbd9b89a8 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensHintProvider.html @@ -0,0 +1,486 @@ + + + + SCCameraKitLensHintProvider Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

SCCameraKitLensHintProvider

+
+
+

Objective-C

+
@protocol SCCameraKitLensHintProvider <NSObject>
+ +
+
+

Swift

+
protocol LensHintProvider : NSObjectProtocol
+ +
+
+

Describes an interface used to provide lens hint localizations from hint ids

+ +
+
+ +
+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Get localized hint for hint id

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (nullable NSString *)localizedHintForHintId:(nonnull NSString *)hintId
    +                                         lens:(nonnull id<SCCameraKitLens>)lens;
    + +
    +
    +

    Swift

    +
    func localizedHint(for hintId: String, lens: SCCameraKitLens) -> String?
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + +
    + + hintId + + +
    +

    unique id for lens hint

    +
    +
    + + lens + + +
    +

    lens instance which the hint belongs to

    +
    +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensMediaPickerAsset.html b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensMediaPickerAsset.html new file mode 100644 index 000000000..c1e81f57d --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensMediaPickerAsset.html @@ -0,0 +1,550 @@ + + + + SCCameraKitLensMediaPickerAsset Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

SCCameraKitLensMediaPickerAsset

+
+
+

Objective-C

+
@protocol SCCameraKitLensMediaPickerAsset <NSObject>
+ +
+
+

Swift

+
protocol LensMediaPickerProviderAsset : NSObjectProtocol
+ +
+
+

An asset provided by the picker. May be backed by a PHAsset, or an app’s own custom media type.

+ +
+
+ +
+
+
+
    +
  • +
    + + + + identifier + +
    +
    +
    +
    +
    +
    +

    A unique identifier for the asset.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic, copy, readonly) NSString *_Nonnull identifier;
    + +
    +
    +

    Swift

    +
    var identifier: String { get }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + type + +
    +
    +
    +
    +
    +
    +

    Whether the asset is an image or video.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic, readonly) SCCameraKitLensMediaPickerAssetType type;
    + +
    +
    +

    Swift

    +
    var type: SCCameraKitLensMediaPickerAssetType { get }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + duration + +
    +
    +
    +
    +
    +
    +

    If the asset is a video, the length of the video in seconds. Otherwise 0.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic, readonly) NSTimeInterval duration;
    + +
    +
    +

    Swift

    +
    var duration: TimeInterval { get }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + previewImage + +
    +
    +
    +
    +
    +
    +

    A thumbnail for the image or video. For images, this will be cropped to show any detected faces.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic, strong, readonly) UIImage *_Nonnull previewImage;
    + +
    +
    +

    Swift

    +
    var previewImage: UIImage { get }
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensMediaPickerProvider.html b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensMediaPickerProvider.html new file mode 100644 index 000000000..938174876 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensMediaPickerProvider.html @@ -0,0 +1,849 @@ + + + + SCCameraKitLensMediaPickerProvider Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

SCCameraKitLensMediaPickerProvider

+
+
+

Objective-C

+
@protocol SCCameraKitLensMediaPickerProvider <NSObject>
+
+/// A delegate that must be notified when loadAndApplyOriginalMediaFromAsset: finishes loading an original asset.
+/// @warning: DO NOT set this delegate manually. CameraKit will set this property appropriately.
+@property (weak, nonatomic) id<SCCameraKitLensMediaPickerProviderMediaApplicationDelegate> mediaApplicationDelegate;
+
+/// A delegate that will be notified when picker-related UI should be shown or hidden.
+@property (weak, nonatomic) id<SCCameraKitLensMediaPickerProviderUIDelegate> uiDelegate;
+
+/// The number of assets that have been fetched and may be displayed by the picker UI.
+@property (readonly, nonatomic, assign) NSInteger fetchedAssetCount;
+
+/// Whether or not the data provider has more assets available to fetch.
+@property (readonly, nonatomic, assign) BOOL hasMoreAssetsToFetch;
+
+/// Fetches a new batch of assets.
+/// @param batchSize How many items to fetch. A provider may return less than this if it exhausts available assets
+/// without reaching the desired batch size
+/// @param queue a dispatch queue to receive callbacks on
+/// @param completion a completion block to be called when the fetch has completed
+- (void)fetchNextAssetBatchOfSize:(NSInteger)batchSize
+                            queue:(dispatch_queue_t)queue
+                       completion:(void (^)(NSArray<id<SCCameraKitLensMediaPickerAsset>> *))completion
+    NS_SWIFT_NAME(fetchNextAssetBatch(size:queue:completion:));
+
+/// Retrieves a fetched asset at a given index.
+/// @param index the index to fetch.
+- (id<SCCameraKitLensMediaPickerAsset>)fetchedAssetAtIndex:(NSInteger)index NS_SWIFT_NAME(fetchedAsset(at:));
+
+/// Loads the full resolution backing asset of a specified asset and applies it to lenses.
+/// @param asset the asset to load and apply
+/// @param completion a completion block called when application is complete
+/// @note Implementors of this method MUST call the appropriate method on the uiDelegate when the loading is completed
+/// in order for the lens to succesfully apply the media.
+- (void)loadAndApplyOriginalMediaFromAsset:(id<SCCameraKitLensMediaPickerAsset>)asset
+                                completion:(nullable void (^)(void))completion
+    NS_SWIFT_NAME(loadAndApplyOriginalMedia(from:completion:));
+
+/// Invalidates and resets internal state of the provider with a newly specified allowed media type option set.
+/// @param assetType The asset types to allow in results.
+- (void)reconfigureWithAllowedTypes:(SCCameraKitLensMediaPickerProviderAllowedMediaType)assetType;
+
+@end
+ +
+
+

Swift

+
protocol LensMediaPickerProvider : NSObjectProtocol
+ +
+
+

Undocumented

+ +
+
+ +
+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    A delegate that must be notified when loadAndApplyOriginalMediaFromAsset: finishes loading an original asset. +@warning: DO NOT set this delegate manually. CameraKit will set this property appropriately.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic, weak) id< SCCameraKitLensMediaPickerProviderMediaApplicationDelegate> _Nullable mediaApplicationDelegate;
    + +
    +
    +

    Swift

    +
    weak var mediaApplicationDelegate: LensMediaPickerProviderMediaApplicationDelegate? { get set }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + uiDelegate + +
    +
    +
    +
    +
    +
    +

    A delegate that will be notified when picker-related UI should be shown or hidden.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic, weak) id<SCCameraKitLensMediaPickerProviderUIDelegate> _Nullable uiDelegate;
    + +
    +
    +

    Swift

    +
    weak var uiDelegate: LensMediaPickerProviderUIDelegate? { get set }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + fetchedAssetCount + +
    +
    +
    +
    +
    +
    +

    The number of assets that have been fetched and may be displayed by the picker UI.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic, readonly) NSInteger fetchedAssetCount;
    + +
    +
    +

    Swift

    +
    var fetchedAssetCount: Int { get }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + hasMoreAssetsToFetch + +
    +
    +
    +
    +
    +
    +

    Whether or not the data provider has more assets available to fetch.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic, readonly) BOOL hasMoreAssetsToFetch;
    + +
    +
    +

    Swift

    +
    var hasMoreAssetsToFetch: Bool { get }
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Fetches a new batch of assets.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (void)fetchNextAssetBatchOfSize:(NSInteger)batchSize
    +                            queue:(nonnull dispatch_queue_t)queue
    +                       completion:
    +                           (nonnull void (^)(
    +                               NSArray<id<SCCameraKitLensMediaPickerAsset>>
    +                                   *_Nonnull))completion;
    + +
    +
    +

    Swift

    +
    func fetchNextAssetBatch(size batchSize: Int, queue: dispatch_queue_t) async -> [LensMediaPickerProviderAsset]
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + + + + + +
    + + batchSize + + +
    +

    How many items to fetch. A provider may return less than this if it exhausts available assets +without reaching the desired batch size

    +
    +
    + + queue + + +
    +

    a dispatch queue to receive callbacks on

    +
    +
    + + completion + + +
    +

    a completion block to be called when the fetch has completed

    +
    +
    +
    +
    +
    +
  • +
  • +
    + + + + -fetchedAssetAtIndex: + +
    +
    +
    +
    +
    +
    +

    Retrieves a fetched asset at a given index.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (nonnull id<SCCameraKitLensMediaPickerAsset>)fetchedAssetAtIndex:
    +    (NSInteger)index;
    + +
    +
    +

    Swift

    +
    func fetchedAsset(at index: Int) -> LensMediaPickerProviderAsset
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + index + + +
    +

    the index to fetch.

    +
    +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Loads the full resolution backing asset of a specified asset and applies it to lenses.

    +
    +

    Note

    + Implementors of this method MUST call the appropriate method on the uiDelegate when the loading is completed +in order for the lens to succesfully apply the media. + +
    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (void)loadAndApplyOriginalMediaFromAsset:
    +            (nonnull id<SCCameraKitLensMediaPickerAsset>)asset
    +                                completion:(nullable void (^)(void))completion;
    + +
    +
    +

    Swift

    +
    func loadAndApplyOriginalMedia(from asset: LensMediaPickerProviderAsset) async
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + +
    + + asset + + +
    +

    the asset to load and apply

    +
    +
    + + completion + + +
    +

    a completion block called when application is complete

    +
    +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Invalidates and resets internal state of the provider with a newly specified allowed media type option set.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (void)reconfigureWithAllowedTypes:
    +    (SCCameraKitLensMediaPickerProviderAllowedMediaType)assetType;
    + +
    +
    +

    Swift

    +
    func reconfigure(withAllowedTypes assetType: SCCameraKitLensMediaPickerProviderAllowedMediaType)
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + assetType + + +
    +

    The asset types to allow in results.

    +
    +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensMediaPickerProviderMediaApplicationDelegate.html b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensMediaPickerProviderMediaApplicationDelegate.html new file mode 100644 index 000000000..612e06235 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensMediaPickerProviderMediaApplicationDelegate.html @@ -0,0 +1,523 @@ + + + + SCCameraKitLensMediaPickerProviderMediaApplicationDelegate Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

SCCameraKitLensMediaPickerProviderMediaApplicationDelegate

+
+
+

Objective-C

+
@protocol SCCameraKitLensMediaPickerProviderMediaApplicationDelegate <NSObject>
+ +
+
+

Swift

+
protocol LensMediaPickerProviderMediaApplicationDelegate : NSObjectProtocol
+ +
+
+

Delegate responsible for applying media to a lens. This should not be implemented directly.

+
+

Note

+ If you create a custom provider, you’ll need to call the methods here from your provider. See notes on +provider.uiDelegate for more details. + +
+ +
+
+ +
+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Notifies lenses that the media picker provider has loaded the full resolution version of an asset and is ready for +it to be applied.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (void)mediaPickerProvider:
    +            (nonnull id<SCCameraKitLensMediaPickerProvider>)provider
    +    requestedApplicationOfOriginalAssets:
    +        (nonnull id<SCCameraKitLensMediaPickerAsset>)asset
    +                                     url:(nonnull NSURL *)url
    +                                metadata:
    +                                    (SCCameraKitLensMediaPickerAssetMetadata)
    +                                        metadata;
    + +
    +
    +

    Swift

    +
    func mediaPickerProvider(_ provider: LensMediaPickerProvider, requestedApplicationOfOriginalAssets asset: LensMediaPickerProviderAsset, url: URL, metadata: SCCameraKitLensMediaPickerAssetMetadata)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + + + + + + + + + +
    + + provider + + +
    +

    the provider sending the reequest

    +
    +
    + + asset + + +
    +

    the asset provided by the provider

    +
    +
    + + url + + +
    +

    the URL to a full-resolution image or video for lenses to apply

    +
    +
    + + metadata + + +
    +

    any metadata associated with the asset

    +
    +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensMediaPickerProviderUIDelegate.html b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensMediaPickerProviderUIDelegate.html new file mode 100644 index 000000000..511987c29 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensMediaPickerProviderUIDelegate.html @@ -0,0 +1,526 @@ + + + + SCCameraKitLensMediaPickerProviderUIDelegate Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

SCCameraKitLensMediaPickerProviderUIDelegate

+
+
+

Objective-C

+
@protocol SCCameraKitLensMediaPickerProviderUIDelegate <NSObject>
+ +
+
+

Swift

+
protocol LensMediaPickerProviderUIDelegate : NSObjectProtocol
+ +
+
+

Delegate responsible for handling UI events related to the provider, such as showing/hiding a picker.

+ +
+
+ +
+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Requests media picker UI be displayed.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (void)mediaPickerProviderRequestedUIPresentation:
    +    (nonnull id<SCCameraKitLensMediaPickerProvider>)provider;
    + +
    +
    +

    Swift

    +
    func mediaPickerProviderRequestedUIPresentation(_ provider: LensMediaPickerProvider)
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + provider + + +
    +

    the provider sending the request

    +
    +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Requests media picker UI be dismissed.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (void)mediaPickerProviderRequestedUIDismissal:
    +    (nonnull id<SCCameraKitLensMediaPickerProvider>)provider;
    + +
    +
    +

    Swift

    +
    func mediaPickerProviderRequestedUIDismissal(_ provider: LensMediaPickerProvider)
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + provider + + +
    +

    the provider sending the request

    +
    +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensPrefetcher.html b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensPrefetcher.html new file mode 100644 index 000000000..5e2b80589 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensPrefetcher.html @@ -0,0 +1,619 @@ + + + + SCCameraKitLensPrefetcher Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

SCCameraKitLensPrefetcher

+
+
+

Objective-C

+
@protocol SCCameraKitLensPrefetcher <NSObject>
+ +
+
+

Swift

+
protocol LensPrefetcher : NSObjectProtocol
+ +
+
+

Describes the interface used to prefetch lens content

+ +
+
+ +
+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Queues up a new fetch task for each of the lenses in order to prefetch their content. +A successful callback indiciates that all the content for the list of lenses is ready to be used/applied in lens +processor

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (nonnull id<SCCameraKitLensPrefetcherTask>)
    +    prefetchLenses:(nonnull NSArray<id<SCCameraKitLens>> *)lenses
    +        completion:(nullable void (^)(BOOL))completion;
    + +
    +
    +

    Swift

    +
    func prefetch(lenses: [SCCameraKitLens], completion: ((Bool) -> Void)? = nil) -> LensPrefetcherTask
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + +
    + + lenses + + +
    +

    lenses to prefetch content for

    +
    +
    + + completion + + +
    +

    callback on completion with success or failure

    +
    +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Add observer to observe changes in lens fetch status

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (void)addStatusObserver:
    +            (nonnull id<SCCameraKitLensPrefetcherObserver>)observer
    +                  forLens:(nonnull id<SCCameraKitLens>)lens;
    + +
    +
    +

    Swift

    +
    func addStatusObserver(_ observer: LensPrefetcherObserver, lens: SCCameraKitLens)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + +
    + + observer + + +
    +

    observer instance which will receive updates

    +
    +
    + + lens + + +
    +

    lens to observe

    +
    +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Remove observer to stop observing changes in lens fetch status

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (void)removeStatusObserver:
    +            (nonnull id<SCCameraKitLensPrefetcherObserver>)observer
    +                     forLens:(nonnull id<SCCameraKitLens>)lens;
    + +
    +
    +

    Swift

    +
    func removeStatusObserver(_ observer: LensPrefetcherObserver, lens: SCCameraKitLens)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + +
    + + observer + + +
    +

    observer instance which will stop receiving updates

    +
    +
    + + lens + + +
    +

    lens to stop observing

    +
    +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensPrefetcherObserver.html b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensPrefetcherObserver.html new file mode 100644 index 000000000..a7ecc5ecd --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensPrefetcherObserver.html @@ -0,0 +1,499 @@ + + + + SCCameraKitLensPrefetcherObserver Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

SCCameraKitLensPrefetcherObserver

+
+
+

Objective-C

+
@protocol SCCameraKitLensPrefetcherObserver <NSObject>
+ +
+
+

Swift

+
protocol LensPrefetcherObserver : NSObjectProtocol
+ +
+
+

Describes an interface used to observe changes in lens fetch status

+ +
+
+ +
+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Notification when fetcher updates lens fetch status

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (void)prefetcher:(nonnull id<SCCameraKitLensPrefetcher>)prefetcher
    +     didUpdateLens:(nonnull id<SCCameraKitLens>)lens
    +            status:(SCCameraKitLensFetchStatus)status;
    + +
    +
    +

    Swift

    +
    func prefetcher(_ prefetcher: LensPrefetcher, didUpdate lens: SCCameraKitLens, status: LensFetchStatus)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + + + + + +
    + + prefetcher + + +
    +

    LensPrefetcher instance that updated lens fetch status

    +
    +
    + + lens + + +
    +

    lens whose fetch status was updated

    +
    +
    + + status + + +
    +

    new fetch status for lens

    +
    +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensPrefetcherTask.html b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensPrefetcherTask.html new file mode 100644 index 000000000..2ba2ddf31 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensPrefetcherTask.html @@ -0,0 +1,454 @@ + + + + SCCameraKitLensPrefetcherTask Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

SCCameraKitLensPrefetcherTask

+
+
+

Objective-C

+
@protocol SCCameraKitLensPrefetcherTask <NSObject>
+ +
+
+

Swift

+
protocol LensPrefetcherTask : NSObjectProtocol
+ +
+
+

Describes the interface used to cancel an ongoing prefetch task

+ +
+
+ +
+
+
+
    +
  • +
    + + + + -cancel + +
    +
    +
    +
    +
    +
    +

    Cancel prefetch task if it’s ongoing

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (void)cancel;
    + +
    +
    +

    Swift

    +
    func cancel()
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensPreview.html b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensPreview.html new file mode 100644 index 000000000..0b8c00280 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensPreview.html @@ -0,0 +1,454 @@ + + + + SCCameraKitLensPreview Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

SCCameraKitLensPreview

+
+
+

Objective-C

+
@protocol SCCameraKitLensPreview <NSObject>
+ +
+
+

Swift

+
protocol LensPreview : NSObjectProtocol
+ +
+
+

Describes an interface that contains lens preview data

+ +
+
+ +
+
+
+
    +
  • +
    + + + + imageUrl + +
    +
    +
    +
    +
    +
    +

    URL for image preview

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic, copy, readonly, nullable) NSURL *imageUrl;
    + +
    +
    +

    Swift

    +
    var imageUrl: URL? { get }
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensProcessor.html b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensProcessor.html new file mode 100644 index 000000000..210f8b1ea --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensProcessor.html @@ -0,0 +1,974 @@ + + + + SCCameraKitLensProcessor Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

SCCameraKitLensProcessor

+
+
+

Objective-C

+
@protocol SCCameraKitLensProcessor <NSObject>
+ +
+
+

Swift

+
protocol LensProcessor : NSObjectProtocol
+ +
+
+

The lens processor handles transforming camera frames and adding effects to them.

+ +
+
+ +
+
+
+
    +
  • +
    + + + + hintDelegate + +
    +
    +
    +
    +
    +
    +

    Lens hint delegate to show/hide hints for applied lenses

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic, weak) id<SCCameraKitLensHintDelegate> _Nullable hintDelegate;
    + +
    +
    +

    Swift

    +
    weak var hintDelegate: SCCameraKitLensHintDelegate? { get set }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + audioMuted + +
    +
    +
    +
    +
    +
    +

    Specifies whether lenses will have their audio muted. NO by default. +@note: Does NOT mute the device microphone, only prevents lenses from producing audio output.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic, readonly) BOOL audioMuted;
    + +
    +
    +

    Swift

    +
    var audioMuted: Bool { get }
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Applies a specified lens.

    +
    +

    Note

    + Launch data for a specific lens gets persisted automatically so passing nil will reuse the launch data passed +to the lens from the previous time applied. + +
    +

    Note

    + To reset launch data passed to the lens from the previous time applied pass in EmptyLensLaunchData instance. + +
    +

    Warning

    + If the lens provided is NOT provided by the repository, and simply conforms to the protocol, a runtime +error will occur. + +
    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (void)applyLens:(nonnull id<SCCameraKitLens>)lens
    +       launchData:(nullable id<SCCameraKitLensLaunchData>)launchData
    +       completion:(nullable void (^)(BOOL))completion;
    + +
    +
    +

    Swift

    +
    func apply(lens: SCCameraKitLens, launchData: SCCameraKitLensLaunchData?) async -> Bool
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + + + + + +
    + + lens + + +
    +

    the lens to apply. This should be a lens provided by the repository.

    +
    +
    + + launchData + + +
    +

    launch data to pass to lens.

    +
    +
    + + completion + + +
    +

    a completion handler called once the operation finishes.

    +
    +
    +
    +
    +
    +
  • +
  • +
    + + + + -clearWithCompletion: + +
    +
    +
    +
    +
    +
    +

    Removes any applied lenses.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (void)clearWithCompletion:(nullable void (^)(BOOL))completion;
    + +
    +
    +

    Swift

    +
    func clear() async -> Bool
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + completion + + +
    +

    a completion handler called once the operation finishes.

    +
    +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Configures touch handling for a given view.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (void)configureTouchHandlingInView:(nonnull UIView *)view
    +           gestureRecognizerDelegate:(nullable id<UIGestureRecognizerDelegate>)
    +                                         gestureRecognizerDelegate;
    + +
    +
    +

    Swift

    +
    func configureTouchHandling(in view: UIView, gestureRecognizerDelegate: UIGestureRecognizerDelegate?)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + +
    + + view + + +
    +

    the view to configure.

    +
    +
    + + gestureRecognizerDelegate + + +
    +

    an optional gesture recognizer delegate. +@note: this method modifies the UIView so it must be called on the main thread

    +
    +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Clears all touch handling for a given view

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (void)removeTouchHandlingInView:(nonnull UIView *)view;
    + +
    +
    +

    Swift

    +
    func removeTouchHandling(in view: UIView)
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + view + + +
    +

    the view to configure +@note: this method modifies the UIView so it must be called on the main thread

    +
    +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Mutes or unmutes audio. +@note: Does NOT mute the device microphone, only prevents lenses from producing audio output. +@note: Muting/unmuting is async. The audioMuted property may not immediately reflect your change, but will once +completion is called.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (void)setAudioMuted:(BOOL)audioMuted
    +           completion:(nullable void (^)(void))completion;
    + +
    +
    +

    Swift

    +
    func setAudioMuted(_ audioMuted: Bool) async
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + +
    + + audioMuted + + +
    +

    whether audio should be muted or not.

    +
    +
    + + completion + + +
    +

    an optional completion block to be called when the mute/unmute has taken effect.

    +
    +
    +
    +
    +
    +
  • +
  • +
    + + + + -processImage: + +
    +
    +
    +
    +
    +
    +

    Process image with lens effect using current camera session configuration

    +
    +

    Note

    + because this uses current session configuration this should mainly be used to process captured photos + +
    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (nullable UIImage *)processImage:(nonnull UIImage *)image;
    + +
    +
    +

    Swift

    +
    func processImage(_ image: UIImage) -> UIImage?
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + image + + +
    +

    image to process with current lens

    +
    +
    +
    +
    +
    +
  • +
  • +
    + + + + -addObserver: + +
    +
    +
    +
    +
    +
    +

    Adds observer to receive notifications of changes to lens processor state. +Returns if observer got successfully added

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (BOOL)addObserver:(nonnull id<SCCameraKitLensProcessorObserver>)observer;
    + +
    +
    +

    Swift

    +
    func addObserver(_ observer: SCCameraKitLensProcessorObserver) -> Bool
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + observer + + +
    +

    the observer who wishes to receive callbacks.

    +
    +
    +
    +
    +
    +
  • +
  • +
    + + + + -removeObserver: + +
    +
    +
    +
    +
    +
    +

    Removes observer from receiving notifications of changes to lens availability.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (void)removeObserver:(nonnull id<SCCameraKitLensProcessorObserver>)observer;
    + +
    +
    +

    Swift

    +
    func removeObserver(_ observer: SCCameraKitLensProcessorObserver)
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + observer + + +
    +

    the observer who wishes to stop receiving callbacks.

    +
    +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensProcessorObserver.html b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensProcessorObserver.html new file mode 100644 index 000000000..bfac87ba6 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensProcessorObserver.html @@ -0,0 +1,601 @@ + + + + SCCameraKitLensProcessorObserver Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

SCCameraKitLensProcessorObserver

+
+
+

Objective-C

+
@protocol SCCameraKitLensProcessorObserver <NSObject>
+ +
+
+

Swift

+
protocol ProcessorObserver : NSObjectProtocol
+ +
+
+

Allows conformers to be notified of changes to lens processor state

+ +
+
+ +
+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Notifies that the lens processor did apply lens

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (void)processor:(nonnull id<SCCameraKitLensProcessor>)processor
    +     didApplyLens:(nonnull id<SCCameraKitLens>)lens;
    + +
    +
    +

    Swift

    +
    func processor(_ processor: SCCameraKitLensProcessor, didApplyLens lens: SCCameraKitLens)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + +
    + + processor + + +
    +

    lens processor instance

    +
    +
    + + lens + + +
    +

    lens applied instance

    +
    +
    +
    +
    +
    +
  • +
  • +
    + + + + -processorDidIdle: + +
    +
    +
    +
    +
    +
    +

    Notifies that the lens processor did clear any active lens and is now in an “idle” state

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (void)processorDidIdle:(nonnull id<SCCameraKitLensProcessor>)processor;
    + +
    +
    +

    Swift

    +
    func processorDidIdle(_ processor: SCCameraKitLensProcessor)
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + processor + + +
    +

    lens processor instance

    +
    +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Notifies the listener that the first frame with the lens applied is ready

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (void)processor:(nonnull id<SCCameraKitLensProcessor>)processor
    +    firstFrameDidBecomeReadyForLens:(nonnull id<SCCameraKitLens>)lens;
    + +
    +
    +

    Swift

    +
    optional func processor(_ processor: SCCameraKitLensProcessor, firstFrameDidBecomeReadyFor lens: SCCameraKitLens)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + +
    + + processor + + +
    +

    lens processor instance

    +
    +
    + + lens + + +
    +

    current lens applied whose frame is ready for

    +
    +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensRemoteApiRequest.html b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensRemoteApiRequest.html new file mode 100644 index 000000000..9c5a95641 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensRemoteApiRequest.html @@ -0,0 +1,582 @@ + + + + SCCameraKitLensRemoteApiRequest Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

SCCameraKitLensRemoteApiRequest

+
+
+

Objective-C

+
@protocol SCCameraKitLensRemoteApiRequest <NSObject>
+ +
+
+

Swift

+
protocol LensRemoteApiRequest : NSObjectProtocol
+ +
+
+

Describes the remote api service request sent by a lens.

+ +
+
+ +
+
+
+
    +
  • +
    + + + + requestId + +
    +
    +
    +
    +
    +
    +

    Unique id of the request.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic, copy, readonly) NSString *_Nonnull requestId;
    + +
    +
    +

    Swift

    +
    var requestId: String { get }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + apiSpecId + +
    +
    +
    +
    +
    +
    +

    Unique id of the remote API service specification.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic, copy, readonly) NSString *_Nonnull apiSpecId;
    + +
    +
    +

    Swift

    +
    var apiSpecId: String { get }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + endpointId + +
    +
    +
    +
    +
    +
    +

    Unique id of the remote API service endpoint requested by this request.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic, copy, readonly) NSString *_Nonnull endpointId;
    + +
    +
    +

    Swift

    +
    var endpointId: String { get }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + parameters + +
    +
    +
    +
    +
    +
    +

    A map of named parameters associated with the request.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic, copy, readonly) NSDictionary<NSString *, NSString *> *_Nonnull parameters;
    + +
    +
    +

    Swift

    +
    var parameters: [String : String] { get }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + body + +
    +
    +
    +
    +
    +
    +

    Additional request payload as bytes.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic, copy, readonly) NSData *_Nonnull body;
    + +
    +
    +

    Swift

    +
    var body: Data { get }
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensRemoteApiResponse.html b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensRemoteApiResponse.html new file mode 100644 index 000000000..fda3bb30d --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensRemoteApiResponse.html @@ -0,0 +1,550 @@ + + + + SCCameraKitLensRemoteApiResponse Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

SCCameraKitLensRemoteApiResponse

+
+
+

Objective-C

+
@protocol SCCameraKitLensRemoteApiResponse <NSObject>
+ +
+
+

Swift

+
protocol LensRemoteApiResponseProtocol : NSObjectProtocol
+ +
+
+

Describes the remote api service response to a request sent by a lens.

+ +
+
+ +
+
+
+
    +
  • +
    + + + + request + +
    +
    +
    +
    +
    +
    +

    Remote api service request sent by a lens.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic, strong, readonly) id<SCCameraKitLensRemoteApiRequest> _Nonnull request;
    + +
    +
    +

    Swift

    +
    var request: LensRemoteApiRequest { get }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + status + +
    +
    +
    +
    +
    +
    +

    Status of the response.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic, readonly) SCCameraKitLensRemoteApiResponseStatus status;
    + +
    +
    +

    Swift

    +
    var status: SCCameraKitLensRemoteApiResponseStatus { get }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + metadata + +
    +
    +
    +
    +
    +
    +

    A map of named metadata associated with the response.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic, copy, readonly) NSDictionary<NSString *, NSString *> *_Nonnull metadata;
    + +
    +
    +

    Swift

    +
    var metadata: [String : String] { get }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + body + +
    +
    +
    +
    +
    +
    +

    Additional response payload as bytes.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic, copy, readonly, nullable) NSData *body;
    + +
    +
    +

    Swift

    +
    var body: Data? { get }
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensRemoteApiService.html b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensRemoteApiService.html new file mode 100644 index 000000000..a219c3f1b --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensRemoteApiService.html @@ -0,0 +1,490 @@ + + + + SCCameraKitLensRemoteApiService Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

SCCameraKitLensRemoteApiService

+
+
+

Objective-C

+
@protocol SCCameraKitLensRemoteApiService <NSObject>
+ +
+
+

Swift

+
protocol LensRemoteApiService : NSObjectProtocol
+ +
+
+

Describes a remote api service used to process requests sent by a lens.

+ +
+
+ +
+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Process the remote api request sent by a lens. Returns a call associated with the request.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (nonnull id<SCCameraKitLensRemoteApiServiceCall>)
    +     processRequest:(nonnull id<SCCameraKitLensRemoteApiRequest>)request
    +    responseHandler:
    +        (nonnull void (^)(SCCameraKitLensRemoteApiServiceCallStatus,
    +                          id<SCCameraKitLensRemoteApiResponse> _Nonnull))
    +            responseHandler;
    + +
    +
    +

    Swift

    +
    func processRequest(_ request: LensRemoteApiRequest, responseHandler: @escaping (LensRemoteApiServiceCallStatus, LensRemoteApiResponseProtocol) -> Void) -> LensRemoteApiServiceCall
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + +
    + + request + + +
    +

    The remote api request sent by a lens.

    +
    +
    + + responseHandler + + +
    +

    Callback to send responses back to the lens who sent the remote api request.

    +
    +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensRemoteApiServiceCall.html b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensRemoteApiServiceCall.html new file mode 100644 index 000000000..1103746c9 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensRemoteApiServiceCall.html @@ -0,0 +1,487 @@ + + + + SCCameraKitLensRemoteApiServiceCall Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

SCCameraKitLensRemoteApiServiceCall

+
+
+

Objective-C

+
@protocol SCCameraKitLensRemoteApiServiceCall <NSObject>
+ +
+
+

Swift

+
protocol LensRemoteApiServiceCall : NSObjectProtocol
+ +
+
+

Describes the call that is sent in response to a remote api request sent by a lens.

+ +
+
+ +
+
+
+
    +
  • +
    + + + + status + +
    +
    +
    +
    +
    +
    +

    The status of the call associated with the request.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic, readonly) SCCameraKitLensRemoteApiServiceCallStatus status;
    + +
    +
    +

    Swift

    +
    var status: LensRemoteApiServiceCallStatus { get }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + -cancelRequest + +
    +
    +
    +
    +
    +
    +

    Cancel the request call. This is usually sent if the lens no longer needs a response to the remote api request it +sent or if the lens is no longer active all active requests/calls should be cancelled.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (void)cancelRequest;
    + +
    +
    +

    Swift

    +
    func cancelRequest()
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensRemoteApiServiceProvider.html b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensRemoteApiServiceProvider.html new file mode 100644 index 000000000..99a2ba519 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensRemoteApiServiceProvider.html @@ -0,0 +1,507 @@ + + + + SCCameraKitLensRemoteApiServiceProvider Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

SCCameraKitLensRemoteApiServiceProvider

+
+
+

Objective-C

+
@protocol SCCameraKitLensRemoteApiServiceProvider <NSObject>
+ +
+
+

Swift

+
protocol LensRemoteApiServiceProvider : NSObjectProtocol
+ +
+
+

Describes an interface to provide remote api services for specific lenses and api spec identifiers.

+ +
+
+ +
+
+
+
    +
  • +
    + + + + supportedApiSpecIds + +
    +
    +
    +
    +
    +
    +

    The set of api spec identifiers that this provider supports.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic, copy, readonly) NSSet<NSString *> *_Nonnull supportedApiSpecIds;
    + +
    +
    +

    Swift

    +
    var supportedApiSpecIds: Set<String> { get }
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Returns the remote api service used for processing requests sent by the lens. +Lifecycle of the remote api service will be tied to the lifecycle of the lens.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (nonnull id<SCCameraKitLensRemoteApiService>)remoteApiServiceForLens:
    +    (nonnull id<SCCameraKitLens>)lens;
    + +
    +
    +

    Swift

    +
    func remoteApiService(for lens: SCCameraKitLens) -> LensRemoteApiService
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + lens + + +
    +

    The active lens whose requests the remote api service will be processing.

    +
    +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensRepository.html b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensRepository.html new file mode 100644 index 000000000..5cf05bbaa --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensRepository.html @@ -0,0 +1,860 @@ + + + + SCCameraKitLensRepository Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

SCCameraKitLensRepository

+
+
+

Objective-C

+
@protocol SCCameraKitLensRepository <NSObject>
+ +
+
+

Swift

+
protocol LensRepository : NSObjectProtocol
+ +
+
+

Lens Repository for listing lenses, getting lenses, etc.

+ +
+
+ +
+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Add an observer to receive updates to a lens group

    +
    +

    Note

    + you should expect to receive at least one call to the observer after you add it (either success with list of +lenses or failure with error) + +
    +

    Note

    + after you add an observer for a lens group you will receive updates for all lenses in that group (ie. you do +not have to add an observer for specific lenses in the group) + +
    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (void)addObserver:(nonnull id<SCCameraKitLensRepositoryGroupObserver>)observer
    +         forGroupID:(nonnull NSString *)groupID;
    + +
    +
    +

    Swift

    +
    func addObserver(_ observer: SCCameraKitLensRepositoryGroupObserver, groupID: String)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + +
    + + observer + + +
    +

    observer to receive updates

    +
    +
    + + groupID + + +
    +

    id of lens group to observe

    +
    +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Remove an observer from receiving updates for a lens group

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (void)removeObserver:
    +            (nonnull id<SCCameraKitLensRepositoryGroupObserver>)observer
    +            forGroupID:(nonnull NSString *)groupID;
    + +
    +
    +

    Swift

    +
    func removeObserver(_ observer: SCCameraKitLensRepositoryGroupObserver, groupID: String)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + +
    + + observer + + +
    +

    observer to remove from receiving updates

    +
    +
    + + groupID + + +
    +

    id of lens group to stop observing

    +
    +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Add an observer to receive updates for a specific lens in a group

    +
    +

    Note

    + you should expect to receive at least one call to the observer after you add it (either success with lens obj +or failure with error) + +
    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (void)addObserver:
    +            (nonnull id<SCCameraKitLensRepositorySpecificObserver>)observer
    +    forSpecificLensID:(nonnull NSString *)lensID
    +            inGroupID:(nonnull NSString *)groupID;
    + +
    +
    +

    Swift

    +
    func addObserver(_ observer: SCCameraKitLensRepositorySpecificObserver, specificLensID lensID: String, inGroupID groupID: String)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + + + + + +
    + + observer + + +
    +

    observer to receive updates

    +
    +
    + + lensID + + +
    +

    id of lens to receive updates for

    +
    +
    + + groupID + + +
    +

    id of group which lens is in that you want to receive updates for

    +
    +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Remove an observer from receiving updates for a specific lens in a group

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (void)removeObserver:
    +            (nonnull id<SCCameraKitLensRepositorySpecificObserver>)observer
    +     forSpecificLensID:(nonnull NSString *)lensID
    +             inGroupID:(nonnull NSString *)groupID;
    + +
    +
    +

    Swift

    +
    func removeObserver(_ observer: SCCameraKitLensRepositorySpecificObserver, specificLensID lensID: String, inGroupID groupID: String)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + + + + + +
    + + observer + + +
    +

    observer to remove from receiving updates

    +
    +
    + + lensID + + +
    +

    id of lens to stop observing

    +
    +
    + + groupID + + +
    +

    if of group which lens is in that you want to stop observing

    +
    +
    +
    +
    +
    +
  • +
  • +
    + + + + -lensesForGroupID: + +
    +
    +
    +
    +
    +
    +

    Any available lenses for the group ID specified.

    +
    +

    Note

    + this method will not return any lenses until the user has expressed interest in a group by calling +beginObservingGroupID: + +
    +

    Note

    + for updates on when the return value of this method changes, add a observer in addObserver: + +
    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (nonnull NSArray<id<SCCameraKitLens>> *)lensesForGroupID:
    +    (nonnull NSString *)groupID;
    + +
    +
    +

    Swift

    +
    func lenses(groupID: String) -> [SCCameraKitLens]
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + groupID + + +
    +

    the group ID containing the desired lenses.

    +
    +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Specific lens in group ID specified

    +
    +

    Note

    + this method will not return any lenses until the user has expressed interest in a group by calling +beginObservingGroupID: or beginObservingLens:inGroup: + +
    +

    Note

    + for updates on when the return value of this method changes, add a observer in addObserver: + +
    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (nullable id<SCCameraKitLens>)lensWithID:(nonnull NSString *)lensID
    +                                 inGroupID:(nonnull NSString *)groupID;
    + +
    +
    +

    Swift

    +
    func lens(id lensID: String, groupID: String) -> SCCameraKitLens?
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + +
    + + lensID + + +
    +

    id of lens

    +
    +
    + + groupID + + +
    +

    id of group lens is in

    +
    +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensRepositoryGroupObserver.html b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensRepositoryGroupObserver.html new file mode 100644 index 000000000..8b0e7545a --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensRepositoryGroupObserver.html @@ -0,0 +1,581 @@ + + + + SCCameraKitLensRepositoryGroupObserver Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

SCCameraKitLensRepositoryGroupObserver

+
+
+

Objective-C

+
@protocol SCCameraKitLensRepositoryGroupObserver <NSObject>
+ +
+
+

Swift

+
protocol LensRepositoryGroupObserver : NSObjectProtocol
+ +
+
+

Allows conformers to be notified of changes to lens groups the repository has available.

+ +
+
+ +
+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Notifies that an observed group’s lenses have changed.

    +
    +

    Note

    + observers may receive notifications for lens groups they do not care about. Check groupID. + +
    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (void)repository:(nonnull id<SCCameraKitLensRepository>)repository
    +    didUpdateLenses:(nonnull NSArray<id<SCCameraKitLens>> *)lenses
    +         forGroupID:(nonnull NSString *)groupID;
    + +
    +
    +

    Swift

    +
    func repository(_ repository: SCCameraKitLensRepository, didUpdateLenses lenses: [SCCameraKitLens], forGroupID groupID: String)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + + + + + +
    + + repository + + +
    +

    the CameraKit lens repository responsible for the update.

    +
    +
    + + lenses + + +
    +

    the updated lenses in the group.

    +
    +
    + + groupID + + +
    +

    the updated group ID.

    +
    +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Notifies that an observed group’s lenses failed to be fetched.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (void)repository:(nonnull id<SCCameraKitLensRepository>)repository
    +    didFailToUpdateLensesForGroupID:(nonnull NSString *)groupID
    +                              error:(nullable NSError *)error;
    + +
    +
    +

    Swift

    +
    func repository(_ repository: SCCameraKitLensRepository, didFailToUpdateLensesForGroupID groupID: String, error: Error?)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + + + + + +
    + + repository + + +
    +

    the CameraKit lens repository responsible for the update.

    +
    +
    + + groupID + + +
    +

    the updated group ID.

    +
    +
    + + error + + +
    +

    a detailed error message of what went wrong, if available.

    +
    +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensRepositorySpecificObserver.html b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensRepositorySpecificObserver.html new file mode 100644 index 000000000..f6eb81fcc --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensRepositorySpecificObserver.html @@ -0,0 +1,589 @@ + + + + SCCameraKitLensRepositorySpecificObserver Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

SCCameraKitLensRepositorySpecificObserver

+
+
+

Objective-C

+
@protocol SCCameraKitLensRepositorySpecificObserver <NSObject>
+ +
+
+

Swift

+
protocol LensRepositorySpecificObserver : NSObjectProtocol
+ +
+
+

Allows conformers to be notified of changes to specific lenses in groups the repository has available.

+ +
+
+ +
+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Notifies that an observed specific lens in a group has changed.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (void)repository:(nonnull id<SCCameraKitLensRepository>)repository
    +     didUpdateLens:(nonnull id<SCCameraKitLens>)lens
    +        forGroupID:(nonnull NSString *)groupID;
    + +
    +
    +

    Swift

    +
    func repository(_ repository: SCCameraKitLensRepository, didUpdate lens: SCCameraKitLens, forGroupID groupID: String)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + + + + + +
    + + repository + + +
    +

    the CameraKit lens repository responsible for the update.

    +
    +
    + + lens + + +
    +

    the newly updated lens object.

    +
    +
    + + groupID + + +
    +

    the updated group ID.

    +
    +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Notifies that an observed specific lens in a group has failed to be fetched.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (void)repository:(nonnull id<SCCameraKitLensRepository>)repository
    +    didFailToUpdateLensID:(nonnull NSString *)lensID
    +               forGroupID:(nonnull NSString *)groupID
    +                    error:(nullable NSError *)error;
    + +
    +
    +

    Swift

    +
    func repository(_ repository: SCCameraKitLensRepository, didFailToUpdateLensID lensID: String, forGroupID groupID: String, error: Error?)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + + + + + + + + + +
    + + repository + + +
    +

    the CameraKit lens repository responsible for the update.

    +
    +
    + + lensID + + +
    +

    the lens ID that failed to update.

    +
    +
    + + groupID + + +
    +

    the group ID that failed to update.

    +
    +
    + + error + + +
    +

    a detailed error message of what went wrong, if available.

    +
    +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensSnapcodes.html b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensSnapcodes.html new file mode 100644 index 000000000..60acfecbf --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensSnapcodes.html @@ -0,0 +1,486 @@ + + + + SCCameraKitLensSnapcodes Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

SCCameraKitLensSnapcodes

+
+
+

Objective-C

+
@protocol SCCameraKitLensSnapcodes <NSObject>
+ +
+
+

Swift

+
protocol LensSnapcodes : NSObjectProtocol
+ +
+
+

Describes an interface that contains lens snapcodes data

+ +
+
+ +
+
+
+
    +
  • +
    + + + + imageUrl + +
    +
    +
    +
    +
    +
    +

    Image URL for Snapcode

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic, copy, readonly, nullable) NSURL *imageUrl;
    + +
    +
    +

    Swift

    +
    var imageUrl: URL? { get }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + deeplink + +
    +
    +
    +
    +
    +
    +

    Deeplink URL for Snapcode

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic, copy, readonly, nullable) NSURL *deeplink;
    + +
    +
    +

    Swift

    +
    var deeplink: URL? { get }
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensesComponent.html b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensesComponent.html new file mode 100644 index 000000000..8bfa16baf --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensesComponent.html @@ -0,0 +1,550 @@ + + + + SCCameraKitLensesComponent Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

SCCameraKitLensesComponent

+
+
+

Objective-C

+
@protocol SCCameraKitLensesComponent <NSObject>
+ +
+
+

Swift

+
protocol LensesComponent : NSObjectProtocol
+ +
+
+

The lenses component wraps several lens-related classes.

+ +
+
+ +
+
+
+
    +
  • +
    + + + + repository + +
    +
    +
    +
    +
    +
    +

    The repository for lenses. Lists available lenses, etc. in the lenses folder

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic, strong, readonly) id<SCCameraKitLensRepository> _Nonnull repository;
    + +
    +
    +

    Swift

    +
    var repository: LensRepository { get }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + processor + +
    +
    +
    +
    +
    +
    +

    Handles the actual effect application. Will be null if CameraKit is not running with a valid input.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic, strong, readonly, nullable) id<SCCameraKitLensProcessor> processor;
    + +
    +
    +

    Swift

    +
    var processor: SCCameraKitLensProcessor? { get }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + prefetcher + +
    +
    +
    +
    +
    +
    +

    Prefetcher to prefetch lens content to reduce time when applying lens

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic, strong, readonly) id<SCCameraKitLensPrefetcher> _Nonnull prefetcher;
    + +
    +
    +

    Swift

    +
    var prefetcher: SCCameraKitLensPrefetcher { get }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + preferences + +
    +
    +
    +
    +
    +
    +

    Property to deal with preferences (ie. clear stored preferences)

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic, strong, readonly) id<SCCameraKitPreferences> _Nonnull preferences;
    + +
    +
    +

    Swift

    +
    var preferences: SCCameraKitPreferences { get }
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLocationDataProvider.html b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLocationDataProvider.html new file mode 100644 index 000000000..15ca1e6d7 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLocationDataProvider.html @@ -0,0 +1,544 @@ + + + + SCCameraKitLocationDataProvider Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

SCCameraKitLocationDataProvider

+
+
+

Objective-C

+
@protocol SCCameraKitLocationDataProvider <NSObject>
+ +
+
+

Swift

+
protocol LocationDataProvider : NSObjectProtocol
+ +
+
+

Protocol to provide device motion data and handle starting/updating/stopping

+ +
+
+ +
+
+
+
    +
  • +
    + + + + location + +
    +
    +
    +
    +
    +
    +

    Current location data

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic, strong, readonly, nullable) CLLocation *location;
    + +
    +
    +

    Swift

    +
    var location: CLLocation? { get }
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Start updating location data with params

    +
    +

    Warning

    + If the user has not been prompted for location permission, it is the class’s responsibility +to prompt them. + +
    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (void)startUpdatingWithParameters:
    +    (nonnull id<SCCameraKitLocationParameters>)parameters;
    + +
    +
    +

    Swift

    +
    func startUpdating(with parameters: LocationParameters)
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + parameters + + +
    +

    location params

    +
    +
    +
    +
    +
    +
  • +
  • +
    + + + + -stopUpdating + +
    +
    +
    +
    +
    +
    +

    Stop updating location

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (void)stopUpdating;
    + +
    +
    +

    Swift

    +
    func stopUpdating()
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLocationParameters.html b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLocationParameters.html new file mode 100644 index 000000000..6d998d796 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLocationParameters.html @@ -0,0 +1,518 @@ + + + + SCCameraKitLocationParameters Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

SCCameraKitLocationParameters

+
+
+

Objective-C

+
@protocol SCCameraKitLocationParameters <NSObject>
+ +
+
+

Swift

+
protocol LocationParameters : NSObjectProtocol
+ +
+
+

Params for device motion interface

+ +
+
+ +
+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Minimum interval between consecutive location updates

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic, readonly) int32_t updateIntervalMilliseconds;
    + +
    +
    +

    Swift

    +
    var updateIntervalMilliseconds: Int32 { get }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + distanceFilterMeters + +
    +
    +
    +
    +
    +
    +

    Minimum distance between consecutive location updates

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic, readonly) CLLocationDistance distanceFilterMeters;
    + +
    +
    +

    Swift

    +
    var distanceFilterMeters: CLLocationDistance { get }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + desiredAccuracy + +
    +
    +
    +
    +
    +
    +

    Desired accuracy

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic, readonly) CLLocationAccuracy desiredAccuracy;
    + +
    +
    +

    Swift

    +
    var desiredAccuracy: CLLocationAccuracy { get }
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitOutput.html b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitOutput.html new file mode 100644 index 000000000..3582853fe --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitOutput.html @@ -0,0 +1,645 @@ + + + + SCCameraKitOutput Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

SCCameraKitOutput

+
+
+

Objective-C

+
@protocol SCCameraKitOutput <NSObject>
+ +
+
+

Swift

+
protocol Output : NSObjectProtocol
+ +
+
+

Allows conformers to be notified of new frame data from CameraKit.

+ +
+
+ +
+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Notifies that a new frame is available.

    +
    +

    Warning

    + DO NOT stop or start CameraKit in this output method. This method doesn’t guarantee that CamearKit has +finished processing the current frame, so stopping or starting in this method is undefined behavior, which can lead +to other outputs getting invalid textures that may crash when drawing the frame or deadlocking the current thread. + +
    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (void)cameraKit:(nonnull id<SCCameraKitProtocol>)cameraKit
    +    didOutputTexture:(nonnull id<SCCameraKitTexture>)texture;
    + +
    +
    +

    Swift

    +
    func cameraKit(_ cameraKit: SCCameraKitProtocol, didOutputTexture texture: SCCameraKitTexture)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + +
    + + cameraKit + + +
    +

    the CameraKit responsible for the frame.

    +
    +
    + + texture + + +
    +

    a texture describing processed input. SCCameraKitPreviewView is able to render this, and future +classes will be provided for additional functionality (eg, video recording).

    +
    +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Notifies that a new video frame is available.

    +
    +

    Note

    + This method WILL NOT BE CALLED unless you have indicated you need sample buffer output (for situations like +recording). This incurs performance overhead, so do not use it unless you require it. + +
    +

    See

    + SCCameraKitOutputRequiringPixelBuffer + +
    +

    Warning

    + DO NOT stop or start CameraKit in this output method. This method doesn’t guarantee that CamearKit has +finished processing the current frame, so stopping or starting in this method is undefined behavior, which can lead +to other outputs getting invalid/released video buffers or deadlocking the current thread. + +
    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (void)cameraKit:(nonnull id<SCCameraKitProtocol>)cameraKit
    +    didOutputVideoSampleBuffer:(nonnull CMSampleBufferRef)sampleBuffer;
    + +
    +
    +

    Swift

    +
    func cameraKit(_ cameraKit: SCCameraKitProtocol, didOutputVideoSampleBuffer sampleBuffer: CMSampleBuffer)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + +
    + + cameraKit + + +
    +

    the CameraKit responsible for the frame.

    +
    +
    + + sampleBuffer + + +
    +

    a CMSampleBuffer describing the video output.

    +
    +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Notifies that a new audio buffer is available

    +
    +

    Warning

    + DO NOT stop or start CameraKit in this output method. This method doesn’t guarantee that CamearKit has +finished processing the current frame, so stopping or starting in this method is undefined behavior, which can lead +to other outputs getting invalid/released audio buffers or deadlocking the current thread. + +
    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (void)cameraKit:(nonnull id<SCCameraKitProtocol>)cameraKit
    +    didOutputAudioSampleBuffer:(nonnull CMSampleBufferRef)sampleBuffer;
    + +
    +
    +

    Swift

    +
    func cameraKit(_ cameraKit: SCCameraKitProtocol, didOutputAudioSampleBuffer sampleBuffer: CMSampleBuffer)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + +
    + + cameraKit + + +
    +

    the CameraKit responsible for the audio buffer

    +
    +
    + + sampleBuffer + + +
    +

    a CMSampleBuffer describing the audio output

    +
    +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitPortraitAdjustmentController.html b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitPortraitAdjustmentController.html new file mode 100644 index 000000000..20a186213 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitPortraitAdjustmentController.html @@ -0,0 +1,456 @@ + + + + SCCameraKitPortraitAdjustmentController Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

SCCameraKitPortraitAdjustmentController

+
+
+

Objective-C

+
@protocol
+    SCCameraKitPortraitAdjustmentController <SCCameraKitAdjustmentController>
+ +
+
+

Swift

+
protocol PortraitAdjustmentController : AdjustmentController
+ +
+
+

A controller to control the portrait adjustment.

+ +
+
+ +
+
+
+
    +
  • +
    + + + + blur + +
    +
    +
    +
    +
    +
    +

    How blurred the background is. Ranges from 0.0 to 1.0. A value of 0.0 is “not blurred at all” while 1.0 is +“extremely blurred.”

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic) CGFloat blur;
    + +
    +
    +

    Swift

    +
    var blur: CGFloat { get set }
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitPreferences.html b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitPreferences.html new file mode 100644 index 000000000..aa9e6c799 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitPreferences.html @@ -0,0 +1,455 @@ + + + + SCCameraKitPreferences Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

SCCameraKitPreferences

+
+
+

Objective-C

+
@protocol SCCameraKitPreferences <NSObject>
+ +
+
+

Swift

+
protocol SCCameraKitPreferences : NSObjectProtocol
+ +
+
+

Protocol to interface with preferences stored by CameraKit +This interface is intentionally opaque and should only be used to clear out stored preferences

+ +
+
+ +
+
+
+
    +
  • +
    + + + + -clear + +
    +
    +
    +
    +
    +
    +

    Clear all stored preferences

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (void)clear;
    + +
    +
    +

    Swift

    +
    func clear()
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitProtocol.html b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitProtocol.html new file mode 100644 index 000000000..f4616f774 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitProtocol.html @@ -0,0 +1,1201 @@ + + + + SCCameraKitProtocol Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

SCCameraKitProtocol

+
+
+

Objective-C

+
@protocol SCCameraKitProtocol <NSObject>
+
+/// Contains lenses related objects.
+@property (strong, nonatomic, readonly) id<SCCameraKitLensesComponent> lenses;
+
+/// Contains adjustment related objects.
+@property (strong, nonatomic, readonly) id<SCCameraKitAdjustmentsComponent> adjustments;
+
+/// Begin processing input frames with front camera position and portrait video orientation
+/// @param input the input to configure.
+/// @param arInput the ARKit input to configure.
+- (void)startWithInput:(id<SCCameraKitInput>)input
+               arInput:(id<SCCameraKitARInput>)arInput NS_SWIFT_NAME(start(input:arInput:));
+
+/// Deprecated. Use
+/// -startWithInput:arInput:cameraPosition:videoOrientation:dataProvider:hintDelegate:agreementsPresentationContextProvider:
+- (void)startWithInput:(id<SCCameraKitInput>)input
+               arInput:(id<SCCameraKitARInput>)arInput
+        cameraPosition:(AVCaptureDevicePosition)cameraPosition
+      videoOrientation:(AVCaptureVideoOrientation)videoOrientation
+          dataProvider:(SCCameraKitDataProviderComponent *)dataProvider
+          hintDelegate:(id<SCCameraKitLensHintDelegate>)hintDelegate __attribute__((deprecated));
+
+/// Deprecated. Use
+/// -startWithInput:arInput:cameraPosition:videoOrientation:dataProvider:hintDelegate:textInputContextProvider:agreementsPresentationContextProvider:
+- (void)startWithInput:(id<SCCameraKitInput>)input
+                                  arInput:(id<SCCameraKitARInput>)arInput
+                           cameraPosition:(AVCaptureDevicePosition)cameraPosition
+                         videoOrientation:(AVCaptureVideoOrientation)videoOrientation
+                             dataProvider:(nullable SCCameraKitDataProviderComponent *)dataProvider
+                             hintDelegate:(nullable id<SCCameraKitLensHintDelegate>)hintDelegate
+    agreementsPresentationContextProvider:
+        (nullable id<SCCameraKitAgreementsPresentationContextProvider>)agreementsPresentationContextProvider
+    NS_SWIFT_NAME(start(input:arInput:cameraPosition:videoOrientation:dataProvider:hintDelegate:agreementsPresentationContextProvider:))
+        __attribute__((deprecated));
+;
+
+/// Begin processing input frames.
+/// @param input the input to configure.
+/// @param arInput the ARKit input to configure.
+/// @param cameraPosition the camera position in use
+/// @param videoOrientation the orientation for the outputted video buffers
+/// @param dataProvider data provider component to pass in custom data providers (optional -- will create and handle
+/// data providers by default if nil)
+/// @param hintDelegate lens hint delegate to show/hide hints for applied lenses
+/// @param textInputContextProvider context provider for providing keyboard access to lenses
+/// @param agreementsPresentationContextProvider context provider for presenting agreements screens
+- (void)startWithInput:(id<SCCameraKitInput>)input
+                                  arInput:(id<SCCameraKitARInput>)arInput
+                           cameraPosition:(AVCaptureDevicePosition)cameraPosition
+                         videoOrientation:(AVCaptureVideoOrientation)videoOrientation
+                             dataProvider:(nullable SCCameraKitDataProviderComponent *)dataProvider
+                             hintDelegate:(nullable id<SCCameraKitLensHintDelegate>)hintDelegate
+                 textInputContextProvider:(nullable id<SCCameraKitTextInputContextProvider>)textInputContextProvider
+    agreementsPresentationContextProvider:
+        (nullable id<SCCameraKitAgreementsPresentationContextProvider>)agreementsPresentationContextProvider
+    NS_SWIFT_NAME(start(input:arInput:cameraPosition:videoOrientation:dataProvider:hintDelegate:textInputContextProvider:agreementsPresentationContextProvider:));
+
+/// End processing input frames.
+- (void)stop;
+
+/// End processing input frames.
+/// @param completion Block to be called after processing is finished and session is stopped
+- (void)stopWithCompletion:(nullable void (^)(void))completion NS_SWIFT_NAME(stop(completion:));
+
+/// Add an output. Frames will still be processed if no outputs exist.
+- (void)addOutput:(id<SCCameraKitOutput>)output NS_SWIFT_NAME(add(output:));
+
+/// Remove an output.
+- (void)removeOutput:(id<SCCameraKitOutput>)listener NS_SWIFT_NAME(remove(output:));
+
+/// The camera position in use. Setting will automatically update the input.
+@property (nonatomic, assign) AVCaptureDevicePosition cameraPosition;
+
+/// The orientation for the outputted video buffers
+@property (nonatomic, assign) AVCaptureVideoOrientation videoOrientation;
+
+/// The active input. May be either standard camera input or the AR input, depending on lens requirements.
+@property (nonatomic, readonly) id<SCCameraKitInput> activeInput;
+
+/// Store containing information above the acceptance state of terms of service
+@property (nonatomic, readonly) id<SCCameraKitAgreementsStore> agreementsStore;
+
+/// Presents any agreements such as Terms of Service or Privacy Policy for CameraKit immediately, if needed.
+/// @note CameraKit will present this when the user applies a lens if they have new agreements to accept. You can call
+/// this explicitly if you wish to present the terms before then (eg during an onboarding experience, alongside your own
+/// app's Terms of Service)
+- (void)presentAgreementsImmediately;
+
+@end
+ +
+
+

Swift

+
protocol CameraKitProtocol : NSObjectProtocol
+ +
+
+

Undocumented

+ +
+
+ +
+
+
+ +
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitTextInputContextProvider.html b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitTextInputContextProvider.html new file mode 100644 index 000000000..6ac2a1890 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitTextInputContextProvider.html @@ -0,0 +1,488 @@ + + + + SCCameraKitTextInputContextProvider Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

SCCameraKitTextInputContextProvider

+
+
+

Objective-C

+
@protocol SCCameraKitTextInputContextProvider <NSObject>
+ +
+
+

Swift

+
protocol TextInputContextProvider : NSObjectProtocol
+ +
+
+

Protocol to provide keyboard input data to lenses.

+ +
+
+ +
+
+
+
    +
  • +
    + + + + parentView + +
    +
    +
    +
    +
    +
    +

    A parent view in which to embed a text view. Unless reconfigured by providing a keyboardAccessoryProvider, this text +view will not be visible to the user.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic, weak, readonly) UIView *_Nullable parentView;
    + +
    +
    +

    Swift

    +
    weak var parentView: UIView? { get }
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Object which describes a user-visible input view for text input. Typically, this is a styled text view that appears +above the keyboard interface.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic, strong, readonly, nullable) id<SCCameraKitTextInputKeyboardAccessoryProvider> keyboardAccessoryProvider;
    + +
    +
    +

    Swift

    +
    var keyboardAccessoryProvider: TextInputKeyboardAccessoryProvider? { get }
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitTextInputKeyboardAccessoryProvider.html b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitTextInputKeyboardAccessoryProvider.html new file mode 100644 index 000000000..0d777cbfc --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitTextInputKeyboardAccessoryProvider.html @@ -0,0 +1,550 @@ + + + + SCCameraKitTextInputKeyboardAccessoryProvider Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

SCCameraKitTextInputKeyboardAccessoryProvider

+
+
+

Objective-C

+
@protocol SCCameraKitTextInputKeyboardAccessoryProvider <NSObject>
+ +
+
+

Swift

+
protocol TextInputKeyboardAccessoryProvider : NSObjectProtocol
+ +
+
+

Protocol for representing a text input view on-screen for lenses that request it.

+ +
+
+ +
+
+
+
    +
  • +
    + + + + accessoryView + +
    +
    +
    +
    +
    +
    +

    The view to show on top of the keyboard.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic, strong, readonly) UIView *_Nonnull accessoryView;
    + +
    +
    +

    Swift

    +
    var accessoryView: UIView { get }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + textView + +
    +
    +
    +
    +
    +
    +

    The text view associated with the input being provided.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic, strong, readonly) UITextView *_Nonnull textView;
    + +
    +
    +

    Swift

    +
    var textView: UITextView { get }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + placeholderText + +
    +
    +
    +
    +
    +
    +

    Placeholder text to show in the text view before the user has input any text. May be empty.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic, copy, nullable) NSString *placeholderText;
    + +
    +
    +

    Swift

    +
    var placeholderText: String? { get set }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + maximumHeight + +
    +
    +
    +
    +
    +
    +

    The maximum height the accessoryView can grow to. This will be considered when setting the safe area for the lens.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic, readonly) CGFloat maximumHeight;
    + +
    +
    +

    Swift

    +
    var maximumHeight: CGFloat { get }
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitToneMapAdjustmentController.html b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitToneMapAdjustmentController.html new file mode 100644 index 000000000..b497fe858 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitToneMapAdjustmentController.html @@ -0,0 +1,457 @@ + + + + SCCameraKitToneMapAdjustmentController Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

SCCameraKitToneMapAdjustmentController

+
+
+

Objective-C

+
@protocol
+    SCCameraKitToneMapAdjustmentController <SCCameraKitAdjustmentController>
+ +
+
+

Swift

+
protocol ToneMapAdjustmentController : AdjustmentController
+ +
+
+

A controller to control the tone map adjustment.

+ +
+
+ +
+
+
+
    +
  • +
    + + + + amount + +
    +
    +
    +
    +
    +
    +

    The “amount” of adjustment applied to the tone mapping algorithm. Ranges from 0.0 to 1.0. A value of 0.5 is the +“best guess” of the tone mapping algorithm. Users may wish to adjust this amount up or down to reflect their true +skin tone.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic) CGFloat amount;
    + +
    +
    +

    Swift

    +
    var amount: CGFloat { get set }
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitUserDataProvider.html b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitUserDataProvider.html new file mode 100644 index 000000000..a615b8795 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitUserDataProvider.html @@ -0,0 +1,486 @@ + + + + SCCameraKitUserDataProvider Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

SCCameraKitUserDataProvider

+
+
+

Objective-C

+
@protocol SCCameraKitUserDataProvider <NSObject>
+ +
+
+

Swift

+
protocol UserDataProvider : NSObjectProtocol
+ +
+
+

Describes an interface that provides user data to lenses

+ +
+
+ +
+
+
+
    +
  • +
    + + + + userData + +
    +
    +
    +
    +
    +
    +

    Current user data

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic, strong, readonly, nullable) SCCameraKitUserData *userData;
    + +
    +
    +

    Swift

    +
    var userData: UserData? { get }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + delegate + +
    +
    +
    +
    +
    +
    +

    Delegate to receive updates on user data changes

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (nonatomic, weak, nullable) id<SCCameraKitUserDataProviderDelegate> delegate;
    + +
    +
    +

    Swift

    +
    weak var delegate: UserDataProviderDelegate? { get set }
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitUserDataProviderDelegate.html b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitUserDataProviderDelegate.html new file mode 100644 index 000000000..89cb62c31 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitUserDataProviderDelegate.html @@ -0,0 +1,487 @@ + + + + SCCameraKitUserDataProviderDelegate Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

SCCameraKitUserDataProviderDelegate

+
+
+

Objective-C

+
@protocol SCCameraKitUserDataProviderDelegate <NSObject>
+ +
+
+

Swift

+
protocol UserDataProviderDelegate : NSObjectProtocol
+ +
+
+

User data provider delegate to provide receivers with new user data on updates

+ +
+
+ +
+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Update delegate receivers with new user data

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (void)userDataProvider:
    +            (nonnull id<SCCameraKitUserDataProvider>)userDataProvider
    +       didUpdateUserData:(nonnull SCCameraKitUserData *)userData;
    + +
    +
    +

    Swift

    +
    func userDataProvider(_ userDataProvider: UserDataProvider, didUpdate userData: UserData)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + +
    + + userDataProvider + + +
    +

    current user data provider instance

    +
    +
    + + userData + + +
    +

    new user data

    +
    +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Structs.html b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Structs.html new file mode 100644 index 000000000..2f9e88f1d --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Structs.html @@ -0,0 +1,443 @@ + + + + Structures Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

Structures

+

The following structures are available globally.

+ +
+
+ +
+
+
+ +
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Structs/SCCameraKitLensMediaPickerAssetMetadata.html b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Structs/SCCameraKitLensMediaPickerAssetMetadata.html new file mode 100644 index 000000000..e022f0ef8 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Structs/SCCameraKitLensMediaPickerAssetMetadata.html @@ -0,0 +1,454 @@ + + + + SCCameraKitLensMediaPickerAssetMetadata Structure Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

SCCameraKitLensMediaPickerAssetMetadata

+
+
+

Objective-C

+
struct {}
+ +
+
+

Swift

+
struct SCCameraKitLensMediaPickerAssetMetadata
+ +
+
+

Metadata for a media asset

+ +
+
+ +
+
+
+
    +
  • +
    + + + + faceRect + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    CGRect faceRect
    + +
    +
    +

    Swift

    +
    var faceRect: CGRect
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Type Definitions.html b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Type Definitions.html new file mode 100644 index 000000000..8162a2936 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Type Definitions.html @@ -0,0 +1,439 @@ + + + + Type Definitions Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ + +
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Type Definitions/SCCameraKitLensMediaPickerAssetMetadata.html b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Type Definitions/SCCameraKitLensMediaPickerAssetMetadata.html new file mode 100644 index 000000000..cf911f55e --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Type Definitions/SCCameraKitLensMediaPickerAssetMetadata.html @@ -0,0 +1,451 @@ + + + + SCCameraKitLensMediaPickerAssetMetadata Type Definition Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ + +
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Type Definitions/SCCameraKitLensMediaPickerAssetMetadata/SCCameraKitLensMediaPickerAssetMetadata.html b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Type Definitions/SCCameraKitLensMediaPickerAssetMetadata/SCCameraKitLensMediaPickerAssetMetadata.html new file mode 100644 index 000000000..d5bba991a --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Type Definitions/SCCameraKitLensMediaPickerAssetMetadata/SCCameraKitLensMediaPickerAssetMetadata.html @@ -0,0 +1,454 @@ + + + + SCCameraKitLensMediaPickerAssetMetadata Structure Reference + + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

SCCameraKitLensMediaPickerAssetMetadata

+
+
+

Objective-C

+
struct {}
+ +
+
+

Swift

+
struct SCCameraKitLensMediaPickerAssetMetadata
+ +
+
+

Metadata for a media asset

+ +
+
+ +
+
+
+
    +
  • +
    + + + + faceRect + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    CGRect faceRect
    + +
    +
    +

    Swift

    +
    var faceRect: CGRect
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/css/highlight.css b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/css/highlight.css new file mode 100644 index 000000000..c170357ce --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/css/highlight.css @@ -0,0 +1,202 @@ +/*! Jazzy - https://github.com/realm/jazzy + * Copyright Realm Inc. + * SPDX-License-Identifier: MIT + */ +/* Credit to https://gist.github.com/wataru420/2048287 */ +.highlight .c { + color: #999988; + font-style: italic; } + +.highlight .err { + color: #a61717; + background-color: #e3d2d2; } + +.highlight .k { + color: #000000; + font-weight: bold; } + +.highlight .o { + color: #000000; + font-weight: bold; } + +.highlight .cm { + color: #999988; + font-style: italic; } + +.highlight .cp { + color: #999999; + font-weight: bold; } + +.highlight .c1 { + color: #999988; + font-style: italic; } + +.highlight .cs { + color: #999999; + font-weight: bold; + font-style: italic; } + +.highlight .gd { + color: #000000; + background-color: #ffdddd; } + +.highlight .gd .x { + color: #000000; + background-color: #ffaaaa; } + +.highlight .ge { + color: #000000; + font-style: italic; } + +.highlight .gr { + color: #aa0000; } + +.highlight .gh { + color: #999999; } + +.highlight .gi { + color: #000000; + background-color: #ddffdd; } + +.highlight .gi .x { + color: #000000; + background-color: #aaffaa; } + +.highlight .go { + color: #888888; } + +.highlight .gp { + color: #555555; } + +.highlight .gs { + font-weight: bold; } + +.highlight .gu { + color: #aaaaaa; } + +.highlight .gt { + color: #aa0000; } + +.highlight .kc { + color: #000000; + font-weight: bold; } + +.highlight .kd { + color: #000000; + font-weight: bold; } + +.highlight .kp { + color: #000000; + font-weight: bold; } + +.highlight .kr { + color: #000000; + font-weight: bold; } + +.highlight .kt { + color: #445588; } + +.highlight .m { + color: #009999; } + +.highlight .s { + color: #d14; } + +.highlight .na { + color: #008080; } + +.highlight .nb { + color: #0086B3; } + +.highlight .nc { + color: #445588; + font-weight: bold; } + +.highlight .no { + color: #008080; } + +.highlight .ni { + color: #800080; } + +.highlight .ne { + color: #990000; + font-weight: bold; } + +.highlight .nf { + color: #990000; } + +.highlight .nn { + color: #555555; } + +.highlight .nt { + color: #000080; } + +.highlight .nv { + color: #008080; } + +.highlight .ow { + color: #000000; + font-weight: bold; } + +.highlight .w { + color: #bbbbbb; } + +.highlight .mf { + color: #009999; } + +.highlight .mh { + color: #009999; } + +.highlight .mi { + color: #009999; } + +.highlight .mo { + color: #009999; } + +.highlight .sb { + color: #d14; } + +.highlight .sc { + color: #d14; } + +.highlight .sd { + color: #d14; } + +.highlight .s2 { + color: #d14; } + +.highlight .se { + color: #d14; } + +.highlight .sh { + color: #d14; } + +.highlight .si { + color: #d14; } + +.highlight .sx { + color: #d14; } + +.highlight .sr { + color: #009926; } + +.highlight .s1 { + color: #d14; } + +.highlight .ss { + color: #990073; } + +.highlight .bp { + color: #999999; } + +.highlight .vc { + color: #008080; } + +.highlight .vg { + color: #008080; } + +.highlight .vi { + color: #008080; } + +.highlight .il { + color: #009999; } diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/css/jazzy.css b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/css/jazzy.css new file mode 100644 index 000000000..c7bb9fe22 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/css/jazzy.css @@ -0,0 +1,404 @@ +/*! Jazzy - https://github.com/realm/jazzy + * Copyright Realm Inc. + * SPDX-License-Identifier: MIT + */ +*, *:before, *:after { + box-sizing: inherit; } + +body { + margin: 0; + background: #fff; + color: #333; + font: 16px/1.7 "Helvetica Neue", Helvetica, Arial, sans-serif; + letter-spacing: .2px; + -webkit-font-smoothing: antialiased; + box-sizing: border-box; } + +h1 { + font-size: 2rem; + font-weight: 700; + margin: 1.275em 0 0.6em; } + +h2 { + font-size: 1.75rem; + font-weight: 700; + margin: 1.275em 0 0.3em; } + +h3 { + font-size: 1.5rem; + font-weight: 700; + margin: 1em 0 0.3em; } + +h4 { + font-size: 1.25rem; + font-weight: 700; + margin: 1.275em 0 0.85em; } + +h5 { + font-size: 1rem; + font-weight: 700; + margin: 1.275em 0 0.85em; } + +h6 { + font-size: 1rem; + font-weight: 700; + margin: 1.275em 0 0.85em; + color: #777; } + +p { + margin: 0 0 1em; } + +ul, ol { + padding: 0 0 0 2em; + margin: 0 0 0.85em; } + +blockquote { + margin: 0 0 0.85em; + padding: 0 15px; + color: #858585; + border-left: 4px solid #e5e5e5; } + +img { + max-width: 100%; } + +a { + color: #4183c4; + text-decoration: none; } + a:hover, a:focus { + outline: 0; + text-decoration: underline; } + a.discouraged { + text-decoration: line-through; } + a.discouraged:hover, a.discouraged:focus { + text-decoration: underline line-through; } + +table { + background: #fff; + width: 100%; + border-collapse: collapse; + border-spacing: 0; + overflow: auto; + margin: 0 0 0.85em; } + +tr:nth-child(2n) { + background-color: #fbfbfb; } + +th, td { + padding: 6px 13px; + border: 1px solid #ddd; } + +hr { + height: 1px; + border: none; + background-color: #ddd; } + +pre { + margin: 0 0 1.275em; + padding: .85em 1em; + overflow: auto; + background: #f7f7f7; + font-size: .85em; + font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace; } + +code { + font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace; } + +.item-container p > code, .item-container li > code, .top-matter p > code, .top-matter li > code { + background: #f7f7f7; + padding: .2em; } + .item-container p > code:before, .item-container p > code:after, .item-container li > code:before, .item-container li > code:after, .top-matter p > code:before, .top-matter p > code:after, .top-matter li > code:before, .top-matter li > code:after { + letter-spacing: -.2em; + content: "\00a0"; } + +pre code { + padding: 0; + white-space: pre; } + +.content-wrapper { + display: flex; + flex-direction: column; } + @media (min-width: 768px) { + .content-wrapper { + flex-direction: row; } } +.header { + display: flex; + padding: 8px; + font-size: 0.875em; + background: #444; + color: #999; } + +.header-col { + margin: 0; + padding: 0 8px; } + +.header-col--primary { + flex: 1; } + +.header-link { + color: #fff; } + +.header-icon { + padding-right: 2px; + vertical-align: -3px; + height: 16px; } + +.breadcrumbs { + font-size: 0.875em; + padding: 8px 16px; + margin: 0; + background: #fbfbfb; + border-bottom: 1px solid #ddd; } + +.carat { + height: 10px; + margin: 0 5px; } + +.navigation { + order: 2; } + @media (min-width: 768px) { + .navigation { + order: 1; + width: 25%; + max-width: 300px; + padding-bottom: 64px; + overflow: hidden; + word-wrap: normal; + background: #fbfbfb; + border-right: 1px solid #ddd; } } +.nav-groups { + list-style-type: none; + padding-left: 0; } + +.nav-group-name { + border-bottom: 1px solid #ddd; + padding: 8px 0 8px 16px; } + +.nav-group-name-link { + color: #333; } + +.nav-group-tasks { + margin: 8px 0; + padding: 0 0 0 8px; } + +.nav-group-task { + font-size: 1em; + list-style-type: none; + white-space: nowrap; } + +.nav-group-task-link { + color: #808080; } + +.main-content { + order: 1; } + @media (min-width: 768px) { + .main-content { + order: 2; + flex: 1; + padding-bottom: 60px; } } +.section { + padding: 0 32px; + border-bottom: 1px solid #ddd; } + +.section-content { + max-width: 834px; + margin: 0 auto; + padding: 16px 0; } + +.section-name { + color: #666; + display: block; } + .section-name p { + margin-bottom: inherit; } + +.declaration .highlight { + overflow-x: initial; + padding: 8px 0; + margin: 0; + background-color: transparent; + border: none; } + +.task-group-section { + border-top: 1px solid #ddd; } + +.task-group { + padding-top: 0px; } + +.task-name-container a[name]:before { + content: ""; + display: block; } + +.section-name-container { + position: relative; } + .section-name-container .section-name-link { + position: absolute; + top: 0; + left: 0; + bottom: 0; + right: 0; + margin-bottom: 0; } + .section-name-container .section-name { + position: relative; + pointer-events: none; + z-index: 1; } + .section-name-container .section-name a { + pointer-events: auto; } + +.item-container { + padding: 0; } + +.item { + padding-top: 8px; + width: 100%; + list-style-type: none; } + .item a[name]:before { + content: ""; + display: block; } + .item .token, .item .direct-link { + display: inline-block; + text-indent: -20px; + padding-left: 3px; + margin-left: 20px; + font-size: 1rem; } + .item .declaration-note { + font-size: .85em; + color: #808080; + font-style: italic; } + +.pointer-container { + border-bottom: 1px solid #ddd; + left: -23px; + padding-bottom: 13px; + position: relative; + width: 110%; } + +.pointer { + left: 21px; + top: 7px; + display: block; + position: absolute; + width: 12px; + height: 12px; + border-left: 1px solid #ddd; + border-top: 1px solid #ddd; + background: #fff; + transform: rotate(45deg); } + +.height-container { + display: none; + position: relative; + width: 100%; + overflow: hidden; } + .height-container .section { + background: #fff; + border: 1px solid #ddd; + border-top-width: 0; + padding-top: 10px; + padding-bottom: 5px; + padding: 8px 16px; } + +.aside, .language { + padding: 6px 12px; + margin: 12px 0; + border-left: 5px solid #dddddd; + overflow-y: hidden; } + .aside .aside-title, .language .aside-title { + font-size: 9px; + letter-spacing: 2px; + text-transform: uppercase; + padding-bottom: 0; + margin: 0; + color: #aaa; + -webkit-user-select: none; } + .aside p:last-child, .language p:last-child { + margin-bottom: 0; } + +.language { + border-left: 5px solid #cde9f4; } + .language .aside-title { + color: #4183c4; } + +.aside-warning, .aside-deprecated, .aside-unavailable { + border-left: 5px solid #ff6666; } + .aside-warning .aside-title, .aside-deprecated .aside-title, .aside-unavailable .aside-title { + color: #ff0000; } + +.graybox { + border-collapse: collapse; + width: 100%; } + .graybox p { + margin: 0; + word-break: break-word; + min-width: 50px; } + .graybox td { + border: 1px solid #ddd; + padding: 5px 25px 5px 10px; + vertical-align: middle; } + .graybox tr td:first-of-type { + text-align: right; + padding: 7px; + vertical-align: top; + word-break: normal; + width: 40px; } + +.slightly-smaller { + font-size: 0.9em; } + +.footer { + padding: 8px 16px; + background: #444; + color: #ddd; + font-size: 0.8em; } + .footer p { + margin: 8px 0; } + .footer a { + color: #fff; } + +html.dash .header, html.dash .breadcrumbs, html.dash .navigation { + display: none; } + +html.dash .height-container { + display: block; } + +form[role=search] input { + font: 16px/1.7 "Helvetica Neue", Helvetica, Arial, sans-serif; + font-size: 14px; + line-height: 24px; + padding: 0 10px; + margin: 0; + border: none; + border-radius: 1em; } + .loading form[role=search] input { + background: white url(../img/spinner.gif) center right 4px no-repeat; } + +form[role=search] .tt-menu { + margin: 0; + min-width: 300px; + background: #fbfbfb; + color: #333; + border: 1px solid #ddd; } + +form[role=search] .tt-highlight { + font-weight: bold; } + +form[role=search] .tt-suggestion { + font: 16px/1.7 "Helvetica Neue", Helvetica, Arial, sans-serif; + padding: 0 8px; } + form[role=search] .tt-suggestion span { + display: table-cell; + white-space: nowrap; } + form[role=search] .tt-suggestion .doc-parent-name { + width: 100%; + text-align: right; + font-weight: normal; + font-size: 0.9em; + padding-left: 16px; } + +form[role=search] .tt-suggestion:hover, +form[role=search] .tt-suggestion.tt-cursor { + cursor: pointer; + background-color: #4183c4; + color: #fff; } + +form[role=search] .tt-suggestion:hover .doc-parent-name, +form[role=search] .tt-suggestion.tt-cursor .doc-parent-name { + color: #fff; } diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/img/carat.png b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/img/carat.png new file mode 100755 index 0000000000000000000000000000000000000000..29d2f7fd4955fca6bc6fb740e0373a2c358c398e GIT binary patch literal 274 zcmeAS@N?(olHy`uVBq!ia0vp^0zfRo!3HEV4DF?Wlw^r(L`iUdT1k0gQ7VIDN`6wR zf@f}GdTLN=VoGJ<$y6JlqAi{-jv*Ddl5#RKJQ5NTUZgiPI4RUKGIKU?u8L&ndhX1t za+0CMVUnT(Gnb}ei=c~x==tMH^F1_tBocXwcoSWoO-SZY-o>!8%^=Bms)(~h;m_U( zXNixk28L}0LS5-jKyq@#2gyS|J&f#pGCLkTc<@2s1dqeyqJ*Rc0tSIETAgmODY;(s z2y|Mcp&2}7rpBprBBB~1qM1`N+}4SoxYVPqsXi&l`rxZp{(w0iSy$Nv5*Vy!RapG^ S^0y4=eg;ohKbLh*2~7a!Pg}VF literal 0 HcmV?d00001 diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/img/dash.png b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/img/dash.png new file mode 100755 index 0000000000000000000000000000000000000000..6f694c7a012b417908da3687a0a39aa182e91c74 GIT binary patch literal 1338 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 literal 0 HcmV?d00001 diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/index.html b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/index.html new file mode 100644 index 000000000..4ea8cf1c6 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/index.html @@ -0,0 +1,498 @@ + + + + Reference + + + + + + + + + + + + + + + +
+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+ +

CameraKit iOS

+

Usage Philosophy

+ +

In general, CameraKit attaches to your existing camera workflow. You are still responsible for configuring and managing an AVCaptureSession, which CameraKit will attach onto. You may start, stop, and reconfigure your session as needed.

+

Getting Started

+

Requirements

+ +

CameraKit requires a minimum of iOS 11, and a 64 bit processor. CameraKit will compile, but not run on a Simulator (due to lack of AVCaptureSession support).

+ +

Make sure you also update SCCameraKitClientID and SCCameraKitAPIToken in your application’s Info.plist with the application ID and API token from the Snap Kit developer portal. Note that you can also pass in these values when creating a session like:

+
let sessionConfig = SessionConfig(applicationID: "application_id_here", apiToken: "api_token_here")
+let session = Session(sessionConfig: sessionConfig, lensesConfig: nil, errorHandler: nil)
+
+ +

This is useful in case you need to dynamically update your API token which may happen in the case where your API token gets revoked for some reason.

+ +

In order to test sharing to Snapchat, make sure you also add your Snap Kit client id SCSDKClientId in Info.plist

+

Dependency Management

+ +

CameraKit currently supports CocoaPods and Swift Package Manager.

+

CocoaPods

+ +

The Podfile should already be setup correctly to reference the camera kit sdk podpsec directory, but if you choose to move the SDK podspec directory somewhere else just be sure to add/modify this line: +pod 'SCSDKCameraKit', :path => 'CameraKit/CameraKit' +where :path points to the directory that contains the camera kit podspec.

+ +

Before opening the workspace make sure you run +pod install +and open CameraKitSample.xcworkspace

+

Swift Package Manager

+ +
    +
  • Drag and drop the CameraKit/CameraKit directory into your project or workspace.
  • +
  • Click the + button in the “Frameworks, Libraries, and Embedded Content” section, select SCSDKCameraKit, and add it as a dependency.
  • +
+ +

More detail can be found in Apple’s documentation.

+

Configure your AVCaptureSession Pipeline

+ +

First, create and configure an AVCaptureSession. Apple provides a full-featured reference.

+ +

For example, if you want to setup a regular capture session for the front facing camera you’d do:

+
let captureSession = AVCaptureSession()
+captureSession.beginConfiguration()
+guard let videoDevice = AVCaptureDevice.default(.builtInWideAngleCamera, for: .video, position: .front),
+    let videoDeviceInput = try? AVCaptureDeviceInput(device: videoDevice),
+    captureSession.canAddInput(videoDeviceInput) else { return }
+captureSession.addInput(videoDeviceInput)
+captureSession.commitConfiguration()
+captureSession.startRunning()
+
+ +

(PS: don’t forget to add NSCameraUsageDescription in your Info.plist and make sure you have set up the proper permissions/authorization flows)

+

Configuring the CameraKit Pipeline

+ +

CameraKit works similarly to AVCaptureSession – it also has inputs and outputs. We’ll create a CameraKit session, and connect it to your existing AVCaptureSession.

+ +

To begin, first instantiate a Session. A Session object will be your main entry point into CameraKit. Through it, you can access components like lenses.

+
let cameraKit = Session()
+
+ +

Next, create a CameraKit input and start your CameraKit Session with it. AVSessionInput is an input that CameraKit provides that wraps up lens-specific details of AVCaptureSession configuration (such as setting the pixel format).

+
let input = AVSessionInput(session: yourAVCaptureSession)
+cameraKit.start(with: input)
+
+ +

To display the processed output of CameraKit, we provide a PreviewView that behaves similarly to AVCaptureVideoPreviewLayer. The PreviewView is a CameraKit Output – it receives processed frames and displays them. We’ll also set automaticallyConfiguresTouchHandler so that CameraKit can process touch events and users can interact with lenses. Add it to the view heirarchy like any other UIView, and connect it to the Session by calling add(output:).

+
let previewView = PreviewView()
+previewView.automaticallyConfiguresTouchHandler = true
+cameraKit.add(output: previewView)
+
+ +

At this point, if you build and run your app, you should see your camera input displaying onscreen without any lenses applied to it. We’ll discuss how to activate lenses in the next section.

+

Activating Lenses

+ +

CameraKit lenses are provided by the LensRepository class. You can access this through cameraKit.lenses.respository. Lenses are fetched asynchronously, and you may wish to hold a reference to the lenses returned from LensRepository.

+
cameraKit.lenses.repository.availableLenses { lenses, error in
+    self.lenses = lenses
+}
+
+ +

The LensProcessor is responsible for applying and clearing lenses. You can access it through cameraKit.lenses.processor.

+ +

We can now take the lens that we’ve retrieved from the repository, and apply it to the lens processor.

+
cameraKit.lenses.processor?.apply { success in
+    // If success == true, the lens is now applied
+}
+
+ +

The preview view should now be showing camera input with a lens applied.

+ +

When you are done with a lens and want to remove it from the camera input, you can call clear on the lens processor. It is not neccessary to clear a lens before applying a new one.

+
cameraKit.lenses.processor?.clear() { success in
+    // If success == true, the lens has been cleared
+}
+
+ +

The preview view should once again be showing camera input with no lenses applied.

+ +
+
+ + +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/js/jazzy.js b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/js/jazzy.js new file mode 100755 index 000000000..198441660 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/js/jazzy.js @@ -0,0 +1,74 @@ +// Jazzy - https://github.com/realm/jazzy +// Copyright Realm Inc. +// SPDX-License-Identifier: MIT + +window.jazzy = {'docset': false} +if (typeof window.dash != 'undefined') { + document.documentElement.className += ' dash' + window.jazzy.docset = true +} +if (navigator.userAgent.match(/xcode/i)) { + document.documentElement.className += ' xcode' + window.jazzy.docset = true +} + +function toggleItem($link, $content) { + var animationDuration = 300; + $link.toggleClass('token-open'); + $content.slideToggle(animationDuration); +} + +function itemLinkToContent($link) { + return $link.parent().parent().next(); +} + +// On doc load + hash-change, open any targetted item +function openCurrentItemIfClosed() { + if (window.jazzy.docset) { + return; + } + var $link = $(`a[name="${location.hash.substring(1)}"]`).nextAll('.token'); + $content = itemLinkToContent($link); + if ($content.is(':hidden')) { + toggleItem($link, $content); + } +} + +$(openCurrentItemIfClosed); +$(window).on('hashchange', openCurrentItemIfClosed); + +// On item link ('token') click, toggle its discussion +$('.token').on('click', function(event) { + if (window.jazzy.docset) { + return; + } + var $link = $(this); + toggleItem($link, itemLinkToContent($link)); + + // Keeps the document from jumping to the hash. + var href = $link.attr('href'); + if (history.pushState) { + history.pushState({}, '', href); + } else { + location.hash = href; + } + event.preventDefault(); +}); + +// Clicks on links to the current, closed, item need to open the item +$("a:not('.token')").on('click', function() { + if (location == this.href) { + openCurrentItemIfClosed(); + } +}); + +// KaTeX rendering +if ("katex" in window) { + $($('.math').each( (_, element) => { + katex.render(element.textContent, element, { + displayMode: $(element).hasClass('m-block'), + throwOnError: false, + trust: true + }); + })) +} diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/js/jazzy.search.js b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/js/jazzy.search.js new file mode 100644 index 000000000..359cdbb8b --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/js/jazzy.search.js @@ -0,0 +1,74 @@ +// Jazzy - https://github.com/realm/jazzy +// Copyright Realm Inc. +// SPDX-License-Identifier: MIT + +$(function(){ + var $typeahead = $('[data-typeahead]'); + var $form = $typeahead.parents('form'); + var searchURL = $form.attr('action'); + + function displayTemplate(result) { + return result.name; + } + + function suggestionTemplate(result) { + var t = '
'; + t += '' + result.name + ''; + if (result.parent_name) { + t += '' + result.parent_name + ''; + } + t += '
'; + return t; + } + + $typeahead.one('focus', function() { + $form.addClass('loading'); + + $.getJSON(searchURL).then(function(searchData) { + const searchIndex = lunr(function() { + this.ref('url'); + this.field('name'); + this.field('abstract'); + for (const [url, doc] of Object.entries(searchData)) { + this.add({url: url, name: doc.name, abstract: doc.abstract}); + } + }); + + $typeahead.typeahead( + { + highlight: true, + minLength: 3, + autoselect: true + }, + { + limit: 10, + display: displayTemplate, + templates: { suggestion: suggestionTemplate }, + source: function(query, sync) { + const lcSearch = query.toLowerCase(); + const results = searchIndex.query(function(q) { + q.term(lcSearch, { boost: 100 }); + q.term(lcSearch, { + boost: 10, + wildcard: lunr.Query.wildcard.TRAILING + }); + }).map(function(result) { + var doc = searchData[result.ref]; + doc.url = result.ref; + return doc; + }); + sync(results); + } + } + ); + $form.removeClass('loading'); + $typeahead.trigger('focus'); + }); + }); + + var baseURL = searchURL.slice(0, -"search.json".length); + + $typeahead.on('typeahead:select', function(e, result) { + window.location = baseURL + result.url; + }); +}); diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/js/jquery.min.js b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/js/jquery.min.js new file mode 100644 index 000000000..c4c6022f2 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/js/jquery.min.js @@ -0,0 +1,2 @@ +/*! jQuery v3.6.0 | (c) OpenJS Foundation and other contributors | jquery.org/license */ +!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";var t=[],r=Object.getPrototypeOf,s=t.slice,g=t.flat?function(e){return t.flat.call(e)}:function(e){return t.concat.apply([],e)},u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType&&"function"!=typeof e.item},x=function(e){return null!=e&&e===e.window},E=C.document,c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.6.0",S=function(e,t){return new S.fn.init(e,t)};function p(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp(F),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+F),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\([^\\r\\n\\f])","g"),ne=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(p.childNodes),p.childNodes),t[p.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&(T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!N[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&(U.test(t)||z.test(t))){(f=ee.test(t)&&ye(e.parentNode)||e)===e&&d.scope||((s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=S)),o=(l=h(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+xe(l[o]);c=l.join(",")}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){N(t,!0)}finally{s===S&&e.removeAttribute("id")}}}return g(t.replace($,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[S]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e&&e.namespaceURI,n=e&&(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:p;return r!=C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),p!=C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.scope=ce(function(e){return a.appendChild(e).appendChild(C.createElement("div")),"undefined"!=typeof e.querySelectorAll&&!e.querySelectorAll(":scope fieldset div").length}),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=S,!C.getElementsByName||!C.getElementsByName(S).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){var t;a.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+S+"-]").length||v.push("~="),(t=C.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||v.push("\\["+M+"*name"+M+"*="+M+"*(?:''|\"\")"),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+S+"+*").length||v.push(".#.+[+~]"),e.querySelectorAll("\\\f"),v.push("[\\r\\n\\f]")}),ce(function(e){e.innerHTML="";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",F)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},j=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e==C||e.ownerDocument==p&&y(p,e)?-1:t==C||t.ownerDocument==p&&y(p,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e==C?-1:t==C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]==p?-1:s[r]==p?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if(T(e),d.matchesSelector&&E&&!N[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){N(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=m[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&m(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,n,r){return m(n)?S.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?S.grep(e,function(e){return e===n!==r}):"string"!=typeof n?S.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(S.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||D,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:q.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof S?t[0]:t,S.merge(this,S.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),N.test(r[1])&&S.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(S):S.makeArray(e,this)}).prototype=S.fn,D=S(E);var L=/^(?:parents|prev(?:Until|All))/,H={children:!0,contents:!0,next:!0,prev:!0};function O(e,t){while((e=e[t])&&1!==e.nodeType);return e}S.fn.extend({has:function(e){var t=S(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i;ce=E.createDocumentFragment().appendChild(E.createElement("div")),(fe=E.createElement("input")).setAttribute("type","radio"),fe.setAttribute("checked","checked"),fe.setAttribute("name","t"),ce.appendChild(fe),y.checkClone=ce.cloneNode(!0).cloneNode(!0).lastChild.checked,ce.innerHTML="",y.noCloneChecked=!!ce.cloneNode(!0).lastChild.defaultValue,ce.innerHTML="",y.option=!!ce.lastChild;var ge={thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};function ve(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?S.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;n",""]);var me=/<|&#?\w+;/;function xe(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d\s*$/g;function je(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&S(e).children("tbody")[0]||e}function De(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function qe(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Le(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(Y.hasData(e)&&(s=Y.get(e).events))for(i in Y.remove(t,"handle events"),s)for(n=0,r=s[i].length;n").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var _t,zt=[],Ut=/(=)\?(?=&|$)|\?\?/;S.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=zt.pop()||S.expando+"_"+wt.guid++;return this[e]=!0,e}}),S.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Ut.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Ut.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Ut,"$1"+r):!1!==e.jsonp&&(e.url+=(Tt.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||S.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?S(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,zt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((_t=E.implementation.createHTMLDocument("").body).innerHTML="
",2===_t.childNodes.length),S.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=N.exec(e))?[t.createElement(i[1])]:(i=xe([e],t,o),o&&o.length&&S(o).remove(),S.merge([],i.childNodes)));var r,i,o},S.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1").append(S.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},S.expr.pseudos.animated=function(t){return S.grep(S.timers,function(e){return t===e.elem}).length},S.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=S.css(e,"position"),c=S(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=S.css(e,"top"),u=S.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,S.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},S.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){S.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===S.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===S.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=S(e).offset()).top+=S.css(e,"borderTopWidth",!0),i.left+=S.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-S.css(r,"marginTop",!0),left:t.left-i.left-S.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===S.css(e,"position"))e=e.offsetParent;return e||re})}}),S.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;S.fn[t]=function(e){return $(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),S.each(["top","left"],function(e,n){S.cssHooks[n]=Fe(y.pixelPosition,function(e,t){if(t)return t=We(e,n),Pe.test(t)?S(e).position()[n]+"px":t})}),S.each({Height:"height",Width:"width"},function(a,s){S.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){S.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return $(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?S.css(e,t,i):S.style(e,t,n,i)},s,n?e:void 0,n)}})}),S.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){S.fn[t]=function(e){return this.on(t,e)}}),S.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),S.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){S.fn[n]=function(e,t){return 00){var c=e.utils.clone(r)||{};c.position=[a,l],c.index=s.length,s.push(new e.Token(i.slice(a,o),c))}a=o+1}}return s},e.tokenizer.separator=/[\s\-]+/,e.Pipeline=function(){this._stack=[]},e.Pipeline.registeredFunctions=Object.create(null),e.Pipeline.registerFunction=function(t,r){r in this.registeredFunctions&&e.utils.warn("Overwriting existing registered function: "+r),t.label=r,e.Pipeline.registeredFunctions[t.label]=t},e.Pipeline.warnIfFunctionNotRegistered=function(t){var r=t.label&&t.label in this.registeredFunctions;r||e.utils.warn("Function is not registered with pipeline. This may cause problems when serialising the index.\n",t)},e.Pipeline.load=function(t){var r=new e.Pipeline;return t.forEach(function(t){var i=e.Pipeline.registeredFunctions[t];if(!i)throw new Error("Cannot load unregistered function: "+t);r.add(i)}),r},e.Pipeline.prototype.add=function(){var t=Array.prototype.slice.call(arguments);t.forEach(function(t){e.Pipeline.warnIfFunctionNotRegistered(t),this._stack.push(t)},this)},e.Pipeline.prototype.after=function(t,r){e.Pipeline.warnIfFunctionNotRegistered(r);var i=this._stack.indexOf(t);if(i==-1)throw new Error("Cannot find existingFn");i+=1,this._stack.splice(i,0,r)},e.Pipeline.prototype.before=function(t,r){e.Pipeline.warnIfFunctionNotRegistered(r);var i=this._stack.indexOf(t);if(i==-1)throw new Error("Cannot find existingFn");this._stack.splice(i,0,r)},e.Pipeline.prototype.remove=function(e){var t=this._stack.indexOf(e);t!=-1&&this._stack.splice(t,1)},e.Pipeline.prototype.run=function(e){for(var t=this._stack.length,r=0;r1&&(se&&(r=n),s!=e);)i=r-t,n=t+Math.floor(i/2),s=this.elements[2*n];return s==e?2*n:s>e?2*n:sa?l+=2:o==a&&(t+=r[u+1]*i[l+1],u+=2,l+=2);return t},e.Vector.prototype.similarity=function(e){return this.dot(e)/this.magnitude()||0},e.Vector.prototype.toArray=function(){for(var e=new Array(this.elements.length/2),t=1,r=0;t0){var o,a=s.str.charAt(0);a in s.node.edges?o=s.node.edges[a]:(o=new e.TokenSet,s.node.edges[a]=o),1==s.str.length&&(o["final"]=!0),n.push({node:o,editsRemaining:s.editsRemaining,str:s.str.slice(1)})}if(0!=s.editsRemaining){if("*"in s.node.edges)var u=s.node.edges["*"];else{var u=new e.TokenSet;s.node.edges["*"]=u}if(0==s.str.length&&(u["final"]=!0),n.push({node:u,editsRemaining:s.editsRemaining-1,str:s.str}),s.str.length>1&&n.push({node:s.node,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)}),1==s.str.length&&(s.node["final"]=!0),s.str.length>=1){if("*"in s.node.edges)var l=s.node.edges["*"];else{var l=new e.TokenSet;s.node.edges["*"]=l}1==s.str.length&&(l["final"]=!0),n.push({node:l,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)})}if(s.str.length>1){var c,h=s.str.charAt(0),d=s.str.charAt(1);d in s.node.edges?c=s.node.edges[d]:(c=new e.TokenSet,s.node.edges[d]=c),1==s.str.length&&(c["final"]=!0),n.push({node:c,editsRemaining:s.editsRemaining-1,str:h+s.str.slice(2)})}}}return i},e.TokenSet.fromString=function(t){for(var r=new e.TokenSet,i=r,n=0,s=t.length;n=e;t--){var r=this.uncheckedNodes[t],i=r.child.toString();i in this.minimizedNodes?r.parent.edges[r["char"]]=this.minimizedNodes[i]:(r.child._str=i,this.minimizedNodes[i]=r.child),this.uncheckedNodes.pop()}},e.Index=function(e){this.invertedIndex=e.invertedIndex,this.fieldVectors=e.fieldVectors,this.tokenSet=e.tokenSet,this.fields=e.fields,this.pipeline=e.pipeline},e.Index.prototype.search=function(t){return this.query(function(r){var i=new e.QueryParser(t,r);i.parse()})},e.Index.prototype.query=function(t){for(var r=new e.Query(this.fields),i=Object.create(null),n=Object.create(null),s=Object.create(null),o=Object.create(null),a=Object.create(null),u=0;u1?this._b=1:this._b=e},e.Builder.prototype.k1=function(e){this._k1=e},e.Builder.prototype.add=function(t,r){var i=t[this._ref],n=Object.keys(this._fields);this._documents[i]=r||{},this.documentCount+=1;for(var s=0;s=this.length)return e.QueryLexer.EOS;var t=this.str.charAt(this.pos);return this.pos+=1,t},e.QueryLexer.prototype.width=function(){return this.pos-this.start},e.QueryLexer.prototype.ignore=function(){this.start==this.pos&&(this.pos+=1),this.start=this.pos},e.QueryLexer.prototype.backup=function(){this.pos-=1},e.QueryLexer.prototype.acceptDigitRun=function(){var t,r;do t=this.next(),r=t.charCodeAt(0);while(r>47&&r<58);t!=e.QueryLexer.EOS&&this.backup()},e.QueryLexer.prototype.more=function(){return this.pos1&&(t.backup(),t.emit(e.QueryLexer.TERM)),t.ignore(),t.more())return e.QueryLexer.lexText},e.QueryLexer.lexEditDistance=function(t){return t.ignore(),t.acceptDigitRun(),t.emit(e.QueryLexer.EDIT_DISTANCE),e.QueryLexer.lexText},e.QueryLexer.lexBoost=function(t){return t.ignore(),t.acceptDigitRun(),t.emit(e.QueryLexer.BOOST),e.QueryLexer.lexText},e.QueryLexer.lexEOS=function(t){t.width()>0&&t.emit(e.QueryLexer.TERM)},e.QueryLexer.termSeparator=e.tokenizer.separator,e.QueryLexer.lexText=function(t){for(;;){var r=t.next();if(r==e.QueryLexer.EOS)return e.QueryLexer.lexEOS;if(92!=r.charCodeAt(0)){if(":"==r)return e.QueryLexer.lexField;if("~"==r)return t.backup(),t.width()>0&&t.emit(e.QueryLexer.TERM),e.QueryLexer.lexEditDistance;if("^"==r)return t.backup(),t.width()>0&&t.emit(e.QueryLexer.TERM),e.QueryLexer.lexBoost;if("+"==r&&1===t.width())return t.emit(e.QueryLexer.PRESENCE),e.QueryLexer.lexText;if("-"==r&&1===t.width())return t.emit(e.QueryLexer.PRESENCE),e.QueryLexer.lexText;if(r.match(e.QueryLexer.termSeparator))return e.QueryLexer.lexTerm}else t.escapeCharacter()}},e.QueryParser=function(t,r){this.lexer=new e.QueryLexer(t),this.query=r,this.currentClause={},this.lexemeIdx=0},e.QueryParser.prototype.parse=function(){this.lexer.run(),this.lexemes=this.lexer.lexemes;for(var t=e.QueryParser.parseClause;t;)t=t(this);return this.query},e.QueryParser.prototype.peekLexeme=function(){return this.lexemes[this.lexemeIdx]},e.QueryParser.prototype.consumeLexeme=function(){var e=this.peekLexeme();return this.lexemeIdx+=1,e},e.QueryParser.prototype.nextClause=function(){var e=this.currentClause;this.query.clause(e),this.currentClause={}},e.QueryParser.parseClause=function(t){var r=t.peekLexeme();if(void 0!=r)switch(r.type){case e.QueryLexer.PRESENCE:return e.QueryParser.parsePresence;case e.QueryLexer.FIELD:return e.QueryParser.parseField;case e.QueryLexer.TERM:return e.QueryParser.parseTerm;default:var i="expected either a field or a term, found "+r.type;throw r.str.length>=1&&(i+=" with value '"+r.str+"'"),new e.QueryParseError(i,r.start,r.end)}},e.QueryParser.parsePresence=function(t){var r=t.consumeLexeme();if(void 0!=r){switch(r.str){case"-":t.currentClause.presence=e.Query.presence.PROHIBITED;break;case"+":t.currentClause.presence=e.Query.presence.REQUIRED;break;default:var i="unrecognised presence operator'"+r.str+"'";throw new e.QueryParseError(i,r.start,r.end)}var n=t.peekLexeme();if(void 0==n){var i="expecting term or field, found nothing";throw new e.QueryParseError(i,r.start,r.end)}switch(n.type){case e.QueryLexer.FIELD:return e.QueryParser.parseField;case e.QueryLexer.TERM:return e.QueryParser.parseTerm;default:var i="expecting term or field, found '"+n.type+"'";throw new e.QueryParseError(i,n.start,n.end)}}},e.QueryParser.parseField=function(t){var r=t.consumeLexeme();if(void 0!=r){if(t.query.allFields.indexOf(r.str)==-1){var i=t.query.allFields.map(function(e){return"'"+e+"'"}).join(", "),n="unrecognised field '"+r.str+"', possible fields: "+i;throw new e.QueryParseError(n,r.start,r.end)}t.currentClause.fields=[r.str];var s=t.peekLexeme();if(void 0==s){var n="expecting term, found nothing";throw new e.QueryParseError(n,r.start,r.end)}switch(s.type){case e.QueryLexer.TERM:return e.QueryParser.parseTerm;default:var n="expecting term, found '"+s.type+"'";throw new e.QueryParseError(n,s.start,s.end)}}},e.QueryParser.parseTerm=function(t){var r=t.consumeLexeme();if(void 0!=r){t.currentClause.term=r.str.toLowerCase(),r.str.indexOf("*")!=-1&&(t.currentClause.usePipeline=!1);var i=t.peekLexeme();if(void 0==i)return void t.nextClause();switch(i.type){case e.QueryLexer.TERM:return t.nextClause(),e.QueryParser.parseTerm;case e.QueryLexer.FIELD:return t.nextClause(),e.QueryParser.parseField;case e.QueryLexer.EDIT_DISTANCE:return e.QueryParser.parseEditDistance;case e.QueryLexer.BOOST:return e.QueryParser.parseBoost;case e.QueryLexer.PRESENCE:return t.nextClause(),e.QueryParser.parsePresence;default:var n="Unexpected lexeme type '"+i.type+"'";throw new e.QueryParseError(n,i.start,i.end)}}},e.QueryParser.parseEditDistance=function(t){var r=t.consumeLexeme();if(void 0!=r){var i=parseInt(r.str,10);if(isNaN(i)){var n="edit distance must be numeric";throw new e.QueryParseError(n,r.start,r.end)}t.currentClause.editDistance=i;var s=t.peekLexeme();if(void 0==s)return void t.nextClause();switch(s.type){case e.QueryLexer.TERM:return t.nextClause(),e.QueryParser.parseTerm;case e.QueryLexer.FIELD:return t.nextClause(),e.QueryParser.parseField;case e.QueryLexer.EDIT_DISTANCE:return e.QueryParser.parseEditDistance;case e.QueryLexer.BOOST:return e.QueryParser.parseBoost;case e.QueryLexer.PRESENCE:return t.nextClause(),e.QueryParser.parsePresence;default:var n="Unexpected lexeme type '"+s.type+"'";throw new e.QueryParseError(n,s.start,s.end)}}},e.QueryParser.parseBoost=function(t){var r=t.consumeLexeme();if(void 0!=r){var i=parseInt(r.str,10);if(isNaN(i)){var n="boost must be numeric";throw new e.QueryParseError(n,r.start,r.end)}t.currentClause.boost=i;var s=t.peekLexeme();if(void 0==s)return void t.nextClause();switch(s.type){case e.QueryLexer.TERM:return t.nextClause(),e.QueryParser.parseTerm;case e.QueryLexer.FIELD:return t.nextClause(),e.QueryParser.parseField;case e.QueryLexer.EDIT_DISTANCE:return e.QueryParser.parseEditDistance;case e.QueryLexer.BOOST:return e.QueryParser.parseBoost;case e.QueryLexer.PRESENCE:return t.nextClause(),e.QueryParser.parsePresence;default:var n="Unexpected lexeme type '"+s.type+"'";throw new e.QueryParseError(n,s.start,s.end)}}},function(e,t){"function"==typeof define&&define.amd?define(t):"object"==typeof exports?module.exports=t():e.lunr=t()}(this,function(){return e})}(); diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/js/typeahead.jquery.js b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/js/typeahead.jquery.js new file mode 100644 index 000000000..3a2d2ab03 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/js/typeahead.jquery.js @@ -0,0 +1,1694 @@ +/*! + * typeahead.js 1.3.1 + * https://github.com/corejavascript/typeahead.js + * Copyright 2013-2020 Twitter, Inc. and other contributors; Licensed MIT + */ + + +(function(root, factory) { + if (typeof define === "function" && define.amd) { + define([ "jquery" ], function(a0) { + return factory(a0); + }); + } else if (typeof module === "object" && module.exports) { + module.exports = factory(require("jquery")); + } else { + factory(root["jQuery"]); + } +})(this, function($) { + var _ = function() { + "use strict"; + return { + isMsie: function() { + return /(msie|trident)/i.test(navigator.userAgent) ? navigator.userAgent.match(/(msie |rv:)(\d+(.\d+)?)/i)[2] : false; + }, + isBlankString: function(str) { + return !str || /^\s*$/.test(str); + }, + escapeRegExChars: function(str) { + return str.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, "\\$&"); + }, + isString: function(obj) { + return typeof obj === "string"; + }, + isNumber: function(obj) { + return typeof obj === "number"; + }, + isArray: $.isArray, + isFunction: $.isFunction, + isObject: $.isPlainObject, + isUndefined: function(obj) { + return typeof obj === "undefined"; + }, + isElement: function(obj) { + return !!(obj && obj.nodeType === 1); + }, + isJQuery: function(obj) { + return obj instanceof $; + }, + toStr: function toStr(s) { + return _.isUndefined(s) || s === null ? "" : s + ""; + }, + bind: $.proxy, + each: function(collection, cb) { + $.each(collection, reverseArgs); + function reverseArgs(index, value) { + return cb(value, index); + } + }, + map: $.map, + filter: $.grep, + every: function(obj, test) { + var result = true; + if (!obj) { + return result; + } + $.each(obj, function(key, val) { + if (!(result = test.call(null, val, key, obj))) { + return false; + } + }); + return !!result; + }, + some: function(obj, test) { + var result = false; + if (!obj) { + return result; + } + $.each(obj, function(key, val) { + if (result = test.call(null, val, key, obj)) { + return false; + } + }); + return !!result; + }, + mixin: $.extend, + identity: function(x) { + return x; + }, + clone: function(obj) { + return $.extend(true, {}, obj); + }, + getIdGenerator: function() { + var counter = 0; + return function() { + return counter++; + }; + }, + templatify: function templatify(obj) { + return $.isFunction(obj) ? obj : template; + function template() { + return String(obj); + } + }, + defer: function(fn) { + setTimeout(fn, 0); + }, + debounce: function(func, wait, immediate) { + var timeout, result; + return function() { + var context = this, args = arguments, later, callNow; + later = function() { + timeout = null; + if (!immediate) { + result = func.apply(context, args); + } + }; + callNow = immediate && !timeout; + clearTimeout(timeout); + timeout = setTimeout(later, wait); + if (callNow) { + result = func.apply(context, args); + } + return result; + }; + }, + throttle: function(func, wait) { + var context, args, timeout, result, previous, later; + previous = 0; + later = function() { + previous = new Date(); + timeout = null; + result = func.apply(context, args); + }; + return function() { + var now = new Date(), remaining = wait - (now - previous); + context = this; + args = arguments; + if (remaining <= 0) { + clearTimeout(timeout); + timeout = null; + previous = now; + result = func.apply(context, args); + } else if (!timeout) { + timeout = setTimeout(later, remaining); + } + return result; + }; + }, + stringify: function(val) { + return _.isString(val) ? val : JSON.stringify(val); + }, + guid: function() { + function _p8(s) { + var p = (Math.random().toString(16) + "000000000").substr(2, 8); + return s ? "-" + p.substr(0, 4) + "-" + p.substr(4, 4) : p; + } + return "tt-" + _p8() + _p8(true) + _p8(true) + _p8(); + }, + noop: function() {} + }; + }(); + var WWW = function() { + "use strict"; + var defaultClassNames = { + wrapper: "twitter-typeahead", + input: "tt-input", + hint: "tt-hint", + menu: "tt-menu", + dataset: "tt-dataset", + suggestion: "tt-suggestion", + selectable: "tt-selectable", + empty: "tt-empty", + open: "tt-open", + cursor: "tt-cursor", + highlight: "tt-highlight" + }; + return build; + function build(o) { + var www, classes; + classes = _.mixin({}, defaultClassNames, o); + www = { + css: buildCss(), + classes: classes, + html: buildHtml(classes), + selectors: buildSelectors(classes) + }; + return { + css: www.css, + html: www.html, + classes: www.classes, + selectors: www.selectors, + mixin: function(o) { + _.mixin(o, www); + } + }; + } + function buildHtml(c) { + return { + wrapper: '', + menu: '
' + }; + } + function buildSelectors(classes) { + var selectors = {}; + _.each(classes, function(v, k) { + selectors[k] = "." + v; + }); + return selectors; + } + function buildCss() { + var css = { + wrapper: { + position: "relative", + display: "inline-block" + }, + hint: { + position: "absolute", + top: "0", + left: "0", + borderColor: "transparent", + boxShadow: "none", + opacity: "1" + }, + input: { + position: "relative", + verticalAlign: "top", + backgroundColor: "transparent" + }, + inputWithNoHint: { + position: "relative", + verticalAlign: "top" + }, + menu: { + position: "absolute", + top: "100%", + left: "0", + zIndex: "100", + display: "none" + }, + ltr: { + left: "0", + right: "auto" + }, + rtl: { + left: "auto", + right: " 0" + } + }; + if (_.isMsie()) { + _.mixin(css.input, { + backgroundImage: "url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)" + }); + } + return css; + } + }(); + var EventBus = function() { + "use strict"; + var namespace, deprecationMap; + namespace = "typeahead:"; + deprecationMap = { + render: "rendered", + cursorchange: "cursorchanged", + select: "selected", + autocomplete: "autocompleted" + }; + function EventBus(o) { + if (!o || !o.el) { + $.error("EventBus initialized without el"); + } + this.$el = $(o.el); + } + _.mixin(EventBus.prototype, { + _trigger: function(type, args) { + var $e = $.Event(namespace + type); + this.$el.trigger.call(this.$el, $e, args || []); + return $e; + }, + before: function(type) { + var args, $e; + args = [].slice.call(arguments, 1); + $e = this._trigger("before" + type, args); + return $e.isDefaultPrevented(); + }, + trigger: function(type) { + var deprecatedType; + this._trigger(type, [].slice.call(arguments, 1)); + if (deprecatedType = deprecationMap[type]) { + this._trigger(deprecatedType, [].slice.call(arguments, 1)); + } + } + }); + return EventBus; + }(); + var EventEmitter = function() { + "use strict"; + var splitter = /\s+/, nextTick = getNextTick(); + return { + onSync: onSync, + onAsync: onAsync, + off: off, + trigger: trigger + }; + function on(method, types, cb, context) { + var type; + if (!cb) { + return this; + } + types = types.split(splitter); + cb = context ? bindContext(cb, context) : cb; + this._callbacks = this._callbacks || {}; + while (type = types.shift()) { + this._callbacks[type] = this._callbacks[type] || { + sync: [], + async: [] + }; + this._callbacks[type][method].push(cb); + } + return this; + } + function onAsync(types, cb, context) { + return on.call(this, "async", types, cb, context); + } + function onSync(types, cb, context) { + return on.call(this, "sync", types, cb, context); + } + function off(types) { + var type; + if (!this._callbacks) { + return this; + } + types = types.split(splitter); + while (type = types.shift()) { + delete this._callbacks[type]; + } + return this; + } + function trigger(types) { + var type, callbacks, args, syncFlush, asyncFlush; + if (!this._callbacks) { + return this; + } + types = types.split(splitter); + args = [].slice.call(arguments, 1); + while ((type = types.shift()) && (callbacks = this._callbacks[type])) { + syncFlush = getFlush(callbacks.sync, this, [ type ].concat(args)); + asyncFlush = getFlush(callbacks.async, this, [ type ].concat(args)); + syncFlush() && nextTick(asyncFlush); + } + return this; + } + function getFlush(callbacks, context, args) { + return flush; + function flush() { + var cancelled; + for (var i = 0, len = callbacks.length; !cancelled && i < len; i += 1) { + cancelled = callbacks[i].apply(context, args) === false; + } + return !cancelled; + } + } + function getNextTick() { + var nextTickFn; + if (window.setImmediate) { + nextTickFn = function nextTickSetImmediate(fn) { + setImmediate(function() { + fn(); + }); + }; + } else { + nextTickFn = function nextTickSetTimeout(fn) { + setTimeout(function() { + fn(); + }, 0); + }; + } + return nextTickFn; + } + function bindContext(fn, context) { + return fn.bind ? fn.bind(context) : function() { + fn.apply(context, [].slice.call(arguments, 0)); + }; + } + }(); + var highlight = function(doc) { + "use strict"; + var defaults = { + node: null, + pattern: null, + tagName: "strong", + className: null, + wordsOnly: false, + caseSensitive: false, + diacriticInsensitive: false + }; + var accented = { + A: "[AaªÀ-Åà-åĀ-ąǍǎȀ-ȃȦȧᴬᵃḀḁẚẠ-ảₐ℀℁℻⒜Ⓐⓐ㍱-㍴㎀-㎄㎈㎉㎩-㎯㏂㏊㏟㏿Aa]", + B: "[BbᴮᵇḂ-ḇℬ⒝Ⓑⓑ㍴㎅-㎇㏃㏈㏔㏝Bb]", + C: "[CcÇçĆ-čᶜ℀ℂ℃℅℆ℭⅭⅽ⒞Ⓒⓒ㍶㎈㎉㎝㎠㎤㏄-㏇Cc]", + D: "[DdĎďDŽ-džDZ-dzᴰᵈḊ-ḓⅅⅆⅮⅾ⒟Ⓓⓓ㋏㍲㍷-㍹㎗㎭-㎯㏅㏈Dd]", + E: "[EeÈ-Ëè-ëĒ-ěȄ-ȇȨȩᴱᵉḘ-ḛẸ-ẽₑ℡ℯℰⅇ⒠Ⓔⓔ㉐㋍㋎Ee]", + F: "[FfᶠḞḟ℉ℱ℻⒡Ⓕⓕ㎊-㎌㎙ff-fflFf]", + G: "[GgĜ-ģǦǧǴǵᴳᵍḠḡℊ⒢Ⓖⓖ㋌㋍㎇㎍-㎏㎓㎬㏆㏉㏒㏿Gg]", + H: "[HhĤĥȞȟʰᴴḢ-ḫẖℋ-ℎ⒣Ⓗⓗ㋌㍱㎐-㎔㏊㏋㏗Hh]", + I: "[IiÌ-Ïì-ïĨ-İIJijǏǐȈ-ȋᴵᵢḬḭỈ-ịⁱℐℑℹⅈⅠ-ⅣⅥ-ⅨⅪⅫⅰ-ⅳⅵ-ⅸⅺⅻ⒤Ⓘⓘ㍺㏌㏕fiffiIi]", + J: "[JjIJ-ĵLJ-njǰʲᴶⅉ⒥ⒿⓙⱼJj]", + K: "[KkĶķǨǩᴷᵏḰ-ḵK⒦Ⓚⓚ㎄㎅㎉㎏㎑㎘㎞㎢㎦㎪㎸㎾㏀㏆㏍-㏏Kk]", + L: "[LlĹ-ŀLJ-ljˡᴸḶḷḺ-ḽℒℓ℡Ⅼⅼ⒧Ⓛⓛ㋏㎈㎉㏐-㏓㏕㏖㏿flfflLl]", + M: "[MmᴹᵐḾ-ṃ℠™ℳⅯⅿ⒨Ⓜⓜ㍷-㍹㎃㎆㎎㎒㎖㎙-㎨㎫㎳㎷㎹㎽㎿㏁㏂㏎㏐㏔-㏖㏘㏙㏞㏟Mm]", + N: "[NnÑñŃ-ʼnNJ-njǸǹᴺṄ-ṋⁿℕ№⒩Ⓝⓝ㎁㎋㎚㎱㎵㎻㏌㏑Nn]", + O: "[OoºÒ-Öò-öŌ-őƠơǑǒǪǫȌ-ȏȮȯᴼᵒỌ-ỏₒ℅№ℴ⒪Ⓞⓞ㍵㏇㏒㏖Oo]", + P: "[PpᴾᵖṔ-ṗℙ⒫Ⓟⓟ㉐㍱㍶㎀㎊㎩-㎬㎰㎴㎺㏋㏗-㏚Pp]", + Q: "[Qqℚ⒬Ⓠⓠ㏃Qq]", + R: "[RrŔ-řȐ-ȓʳᴿᵣṘ-ṛṞṟ₨ℛ-ℝ⒭Ⓡⓡ㋍㍴㎭-㎯㏚㏛Rr]", + S: "[SsŚ-šſȘșˢṠ-ṣ₨℁℠⒮Ⓢⓢ㎧㎨㎮-㎳㏛㏜stSs]", + T: "[TtŢ-ťȚțᵀᵗṪ-ṱẗ℡™⒯Ⓣⓣ㉐㋏㎔㏏ſtstTt]", + U: "[UuÙ-Üù-üŨ-ųƯưǓǔȔ-ȗᵁᵘᵤṲ-ṷỤ-ủ℆⒰Ⓤⓤ㍳㍺Uu]", + V: "[VvᵛᵥṼ-ṿⅣ-Ⅷⅳ-ⅷ⒱Ⓥⓥⱽ㋎㍵㎴-㎹㏜㏞Vv]", + W: "[WwŴŵʷᵂẀ-ẉẘ⒲Ⓦⓦ㎺-㎿㏝Ww]", + X: "[XxˣẊ-ẍₓ℻Ⅸ-Ⅻⅸ-ⅻ⒳Ⓧⓧ㏓Xx]", + Y: "[YyÝýÿŶ-ŸȲȳʸẎẏẙỲ-ỹ⒴Ⓨⓨ㏉Yy]", + Z: "[ZzŹ-žDZ-dzᶻẐ-ẕℤℨ⒵Ⓩⓩ㎐-㎔Zz]" + }; + return function hightlight(o) { + var regex; + o = _.mixin({}, defaults, o); + if (!o.node || !o.pattern) { + return; + } + o.pattern = _.isArray(o.pattern) ? o.pattern : [ o.pattern ]; + regex = getRegex(o.pattern, o.caseSensitive, o.wordsOnly, o.diacriticInsensitive); + traverse(o.node, hightlightTextNode); + function hightlightTextNode(textNode) { + var match, patternNode, wrapperNode; + if (match = regex.exec(textNode.data)) { + wrapperNode = doc.createElement(o.tagName); + o.className && (wrapperNode.className = o.className); + patternNode = textNode.splitText(match.index); + patternNode.splitText(match[0].length); + wrapperNode.appendChild(patternNode.cloneNode(true)); + textNode.parentNode.replaceChild(wrapperNode, patternNode); + } + return !!match; + } + function traverse(el, hightlightTextNode) { + var childNode, TEXT_NODE_TYPE = 3; + for (var i = 0; i < el.childNodes.length; i++) { + childNode = el.childNodes[i]; + if (childNode.nodeType === TEXT_NODE_TYPE) { + i += hightlightTextNode(childNode) ? 1 : 0; + } else { + traverse(childNode, hightlightTextNode); + } + } + } + }; + function accent_replacer(chr) { + return accented[chr.toUpperCase()] || chr; + } + function getRegex(patterns, caseSensitive, wordsOnly, diacriticInsensitive) { + var escapedPatterns = [], regexStr; + for (var i = 0, len = patterns.length; i < len; i++) { + var escapedWord = _.escapeRegExChars(patterns[i]); + if (diacriticInsensitive) { + escapedWord = escapedWord.replace(/\S/g, accent_replacer); + } + escapedPatterns.push(escapedWord); + } + regexStr = wordsOnly ? "\\b(" + escapedPatterns.join("|") + ")\\b" : "(" + escapedPatterns.join("|") + ")"; + return caseSensitive ? new RegExp(regexStr) : new RegExp(regexStr, "i"); + } + }(window.document); + var Input = function() { + "use strict"; + var specialKeyCodeMap; + specialKeyCodeMap = { + 9: "tab", + 27: "esc", + 37: "left", + 39: "right", + 13: "enter", + 38: "up", + 40: "down" + }; + function Input(o, www) { + var id; + o = o || {}; + if (!o.input) { + $.error("input is missing"); + } + www.mixin(this); + this.$hint = $(o.hint); + this.$input = $(o.input); + this.$menu = $(o.menu); + id = this.$input.attr("id") || _.guid(); + this.$menu.attr("id", id + "_listbox"); + this.$hint.attr({ + "aria-hidden": true + }); + this.$input.attr({ + "aria-owns": id + "_listbox", + role: "combobox", + "aria-autocomplete": "list", + "aria-expanded": false + }); + this.query = this.$input.val(); + this.queryWhenFocused = this.hasFocus() ? this.query : null; + this.$overflowHelper = buildOverflowHelper(this.$input); + this._checkLanguageDirection(); + if (this.$hint.length === 0) { + this.setHint = this.getHint = this.clearHint = this.clearHintIfInvalid = _.noop; + } + this.onSync("cursorchange", this._updateDescendent); + } + Input.normalizeQuery = function(str) { + return _.toStr(str).replace(/^\s*/g, "").replace(/\s{2,}/g, " "); + }; + _.mixin(Input.prototype, EventEmitter, { + _onBlur: function onBlur() { + this.resetInputValue(); + this.trigger("blurred"); + }, + _onFocus: function onFocus() { + this.queryWhenFocused = this.query; + this.trigger("focused"); + }, + _onKeydown: function onKeydown($e) { + var keyName = specialKeyCodeMap[$e.which || $e.keyCode]; + this._managePreventDefault(keyName, $e); + if (keyName && this._shouldTrigger(keyName, $e)) { + this.trigger(keyName + "Keyed", $e); + } + }, + _onInput: function onInput() { + this._setQuery(this.getInputValue()); + this.clearHintIfInvalid(); + this._checkLanguageDirection(); + }, + _managePreventDefault: function managePreventDefault(keyName, $e) { + var preventDefault; + switch (keyName) { + case "up": + case "down": + preventDefault = !withModifier($e); + break; + + default: + preventDefault = false; + } + preventDefault && $e.preventDefault(); + }, + _shouldTrigger: function shouldTrigger(keyName, $e) { + var trigger; + switch (keyName) { + case "tab": + trigger = !withModifier($e); + break; + + default: + trigger = true; + } + return trigger; + }, + _checkLanguageDirection: function checkLanguageDirection() { + var dir = (this.$input.css("direction") || "ltr").toLowerCase(); + if (this.dir !== dir) { + this.dir = dir; + this.$hint.attr("dir", dir); + this.trigger("langDirChanged", dir); + } + }, + _setQuery: function setQuery(val, silent) { + var areEquivalent, hasDifferentWhitespace; + areEquivalent = areQueriesEquivalent(val, this.query); + hasDifferentWhitespace = areEquivalent ? this.query.length !== val.length : false; + this.query = val; + if (!silent && !areEquivalent) { + this.trigger("queryChanged", this.query); + } else if (!silent && hasDifferentWhitespace) { + this.trigger("whitespaceChanged", this.query); + } + }, + _updateDescendent: function updateDescendent(event, id) { + this.$input.attr("aria-activedescendant", id); + }, + bind: function() { + var that = this, onBlur, onFocus, onKeydown, onInput; + onBlur = _.bind(this._onBlur, this); + onFocus = _.bind(this._onFocus, this); + onKeydown = _.bind(this._onKeydown, this); + onInput = _.bind(this._onInput, this); + this.$input.on("blur.tt", onBlur).on("focus.tt", onFocus).on("keydown.tt", onKeydown); + if (!_.isMsie() || _.isMsie() > 9) { + this.$input.on("input.tt", onInput); + } else { + this.$input.on("keydown.tt keypress.tt cut.tt paste.tt", function($e) { + if (specialKeyCodeMap[$e.which || $e.keyCode]) { + return; + } + _.defer(_.bind(that._onInput, that, $e)); + }); + } + return this; + }, + focus: function focus() { + this.$input.focus(); + }, + blur: function blur() { + this.$input.blur(); + }, + getLangDir: function getLangDir() { + return this.dir; + }, + getQuery: function getQuery() { + return this.query || ""; + }, + setQuery: function setQuery(val, silent) { + this.setInputValue(val); + this._setQuery(val, silent); + }, + hasQueryChangedSinceLastFocus: function hasQueryChangedSinceLastFocus() { + return this.query !== this.queryWhenFocused; + }, + getInputValue: function getInputValue() { + return this.$input.val(); + }, + setInputValue: function setInputValue(value) { + this.$input.val(value); + this.clearHintIfInvalid(); + this._checkLanguageDirection(); + }, + resetInputValue: function resetInputValue() { + this.setInputValue(this.query); + }, + getHint: function getHint() { + return this.$hint.val(); + }, + setHint: function setHint(value) { + this.$hint.val(value); + }, + clearHint: function clearHint() { + this.setHint(""); + }, + clearHintIfInvalid: function clearHintIfInvalid() { + var val, hint, valIsPrefixOfHint, isValid; + val = this.getInputValue(); + hint = this.getHint(); + valIsPrefixOfHint = val !== hint && hint.indexOf(val) === 0; + isValid = val !== "" && valIsPrefixOfHint && !this.hasOverflow(); + !isValid && this.clearHint(); + }, + hasFocus: function hasFocus() { + return this.$input.is(":focus"); + }, + hasOverflow: function hasOverflow() { + var constraint = this.$input.width() - 2; + this.$overflowHelper.text(this.getInputValue()); + return this.$overflowHelper.width() >= constraint; + }, + isCursorAtEnd: function() { + var valueLength, selectionStart, range; + valueLength = this.$input.val().length; + selectionStart = this.$input[0].selectionStart; + if (_.isNumber(selectionStart)) { + return selectionStart === valueLength; + } else if (document.selection) { + range = document.selection.createRange(); + range.moveStart("character", -valueLength); + return valueLength === range.text.length; + } + return true; + }, + destroy: function destroy() { + this.$hint.off(".tt"); + this.$input.off(".tt"); + this.$overflowHelper.remove(); + this.$hint = this.$input = this.$overflowHelper = $("
"); + }, + setAriaExpanded: function setAriaExpanded(value) { + this.$input.attr("aria-expanded", value); + } + }); + return Input; + function buildOverflowHelper($input) { + return $('').css({ + position: "absolute", + visibility: "hidden", + whiteSpace: "pre", + fontFamily: $input.css("font-family"), + fontSize: $input.css("font-size"), + fontStyle: $input.css("font-style"), + fontVariant: $input.css("font-variant"), + fontWeight: $input.css("font-weight"), + wordSpacing: $input.css("word-spacing"), + letterSpacing: $input.css("letter-spacing"), + textIndent: $input.css("text-indent"), + textRendering: $input.css("text-rendering"), + textTransform: $input.css("text-transform") + }).insertAfter($input); + } + function areQueriesEquivalent(a, b) { + return Input.normalizeQuery(a) === Input.normalizeQuery(b); + } + function withModifier($e) { + return $e.altKey || $e.ctrlKey || $e.metaKey || $e.shiftKey; + } + }(); + var Dataset = function() { + "use strict"; + var keys, nameGenerator; + keys = { + dataset: "tt-selectable-dataset", + val: "tt-selectable-display", + obj: "tt-selectable-object" + }; + nameGenerator = _.getIdGenerator(); + function Dataset(o, www) { + o = o || {}; + o.templates = o.templates || {}; + o.templates.notFound = o.templates.notFound || o.templates.empty; + if (!o.source) { + $.error("missing source"); + } + if (!o.node) { + $.error("missing node"); + } + if (o.name && !isValidName(o.name)) { + $.error("invalid dataset name: " + o.name); + } + www.mixin(this); + this.highlight = !!o.highlight; + this.name = _.toStr(o.name || nameGenerator()); + this.limit = o.limit || 5; + this.displayFn = getDisplayFn(o.display || o.displayKey); + this.templates = getTemplates(o.templates, this.displayFn); + this.source = o.source.__ttAdapter ? o.source.__ttAdapter() : o.source; + this.async = _.isUndefined(o.async) ? this.source.length > 2 : !!o.async; + this._resetLastSuggestion(); + this.$el = $(o.node).attr("role", "presentation").addClass(this.classes.dataset).addClass(this.classes.dataset + "-" + this.name); + } + Dataset.extractData = function extractData(el) { + var $el = $(el); + if ($el.data(keys.obj)) { + return { + dataset: $el.data(keys.dataset) || "", + val: $el.data(keys.val) || "", + obj: $el.data(keys.obj) || null + }; + } + return null; + }; + _.mixin(Dataset.prototype, EventEmitter, { + _overwrite: function overwrite(query, suggestions) { + suggestions = suggestions || []; + if (suggestions.length) { + this._renderSuggestions(query, suggestions); + } else if (this.async && this.templates.pending) { + this._renderPending(query); + } else if (!this.async && this.templates.notFound) { + this._renderNotFound(query); + } else { + this._empty(); + } + this.trigger("rendered", suggestions, false, this.name); + }, + _append: function append(query, suggestions) { + suggestions = suggestions || []; + if (suggestions.length && this.$lastSuggestion.length) { + this._appendSuggestions(query, suggestions); + } else if (suggestions.length) { + this._renderSuggestions(query, suggestions); + } else if (!this.$lastSuggestion.length && this.templates.notFound) { + this._renderNotFound(query); + } + this.trigger("rendered", suggestions, true, this.name); + }, + _renderSuggestions: function renderSuggestions(query, suggestions) { + var $fragment; + $fragment = this._getSuggestionsFragment(query, suggestions); + this.$lastSuggestion = $fragment.children().last(); + this.$el.html($fragment).prepend(this._getHeader(query, suggestions)).append(this._getFooter(query, suggestions)); + }, + _appendSuggestions: function appendSuggestions(query, suggestions) { + var $fragment, $lastSuggestion; + $fragment = this._getSuggestionsFragment(query, suggestions); + $lastSuggestion = $fragment.children().last(); + this.$lastSuggestion.after($fragment); + this.$lastSuggestion = $lastSuggestion; + }, + _renderPending: function renderPending(query) { + var template = this.templates.pending; + this._resetLastSuggestion(); + template && this.$el.html(template({ + query: query, + dataset: this.name + })); + }, + _renderNotFound: function renderNotFound(query) { + var template = this.templates.notFound; + this._resetLastSuggestion(); + template && this.$el.html(template({ + query: query, + dataset: this.name + })); + }, + _empty: function empty() { + this.$el.empty(); + this._resetLastSuggestion(); + }, + _getSuggestionsFragment: function getSuggestionsFragment(query, suggestions) { + var that = this, fragment; + fragment = document.createDocumentFragment(); + _.each(suggestions, function getSuggestionNode(suggestion) { + var $el, context; + context = that._injectQuery(query, suggestion); + $el = $(that.templates.suggestion(context)).data(keys.dataset, that.name).data(keys.obj, suggestion).data(keys.val, that.displayFn(suggestion)).addClass(that.classes.suggestion + " " + that.classes.selectable); + fragment.appendChild($el[0]); + }); + this.highlight && highlight({ + className: this.classes.highlight, + node: fragment, + pattern: query + }); + return $(fragment); + }, + _getFooter: function getFooter(query, suggestions) { + return this.templates.footer ? this.templates.footer({ + query: query, + suggestions: suggestions, + dataset: this.name + }) : null; + }, + _getHeader: function getHeader(query, suggestions) { + return this.templates.header ? this.templates.header({ + query: query, + suggestions: suggestions, + dataset: this.name + }) : null; + }, + _resetLastSuggestion: function resetLastSuggestion() { + this.$lastSuggestion = $(); + }, + _injectQuery: function injectQuery(query, obj) { + return _.isObject(obj) ? _.mixin({ + _query: query + }, obj) : obj; + }, + update: function update(query) { + var that = this, canceled = false, syncCalled = false, rendered = 0; + this.cancel(); + this.cancel = function cancel() { + canceled = true; + that.cancel = $.noop; + that.async && that.trigger("asyncCanceled", query, that.name); + }; + this.source(query, sync, async); + !syncCalled && sync([]); + function sync(suggestions) { + if (syncCalled) { + return; + } + syncCalled = true; + suggestions = (suggestions || []).slice(0, that.limit); + rendered = suggestions.length; + that._overwrite(query, suggestions); + if (rendered < that.limit && that.async) { + that.trigger("asyncRequested", query, that.name); + } + } + function async(suggestions) { + suggestions = suggestions || []; + if (!canceled && rendered < that.limit) { + that.cancel = $.noop; + var idx = Math.abs(rendered - that.limit); + rendered += idx; + that._append(query, suggestions.slice(0, idx)); + that.async && that.trigger("asyncReceived", query, that.name); + } + } + }, + cancel: $.noop, + clear: function clear() { + this._empty(); + this.cancel(); + this.trigger("cleared"); + }, + isEmpty: function isEmpty() { + return this.$el.is(":empty"); + }, + destroy: function destroy() { + this.$el = $("
"); + } + }); + return Dataset; + function getDisplayFn(display) { + display = display || _.stringify; + return _.isFunction(display) ? display : displayFn; + function displayFn(obj) { + return obj[display]; + } + } + function getTemplates(templates, displayFn) { + return { + notFound: templates.notFound && _.templatify(templates.notFound), + pending: templates.pending && _.templatify(templates.pending), + header: templates.header && _.templatify(templates.header), + footer: templates.footer && _.templatify(templates.footer), + suggestion: templates.suggestion ? userSuggestionTemplate : suggestionTemplate + }; + function userSuggestionTemplate(context) { + var template = templates.suggestion; + return $(template(context)).attr("id", _.guid()); + } + function suggestionTemplate(context) { + return $('
').attr("id", _.guid()).text(displayFn(context)); + } + } + function isValidName(str) { + return /^[_a-zA-Z0-9-]+$/.test(str); + } + }(); + var Menu = function() { + "use strict"; + function Menu(o, www) { + var that = this; + o = o || {}; + if (!o.node) { + $.error("node is required"); + } + www.mixin(this); + this.$node = $(o.node); + this.query = null; + this.datasets = _.map(o.datasets, initializeDataset); + function initializeDataset(oDataset) { + var node = that.$node.find(oDataset.node).first(); + oDataset.node = node.length ? node : $("
").appendTo(that.$node); + return new Dataset(oDataset, www); + } + } + _.mixin(Menu.prototype, EventEmitter, { + _onSelectableClick: function onSelectableClick($e) { + this.trigger("selectableClicked", $($e.currentTarget)); + }, + _onRendered: function onRendered(type, dataset, suggestions, async) { + this.$node.toggleClass(this.classes.empty, this._allDatasetsEmpty()); + this.trigger("datasetRendered", dataset, suggestions, async); + }, + _onCleared: function onCleared() { + this.$node.toggleClass(this.classes.empty, this._allDatasetsEmpty()); + this.trigger("datasetCleared"); + }, + _propagate: function propagate() { + this.trigger.apply(this, arguments); + }, + _allDatasetsEmpty: function allDatasetsEmpty() { + return _.every(this.datasets, _.bind(function isDatasetEmpty(dataset) { + var isEmpty = dataset.isEmpty(); + this.$node.attr("aria-expanded", !isEmpty); + return isEmpty; + }, this)); + }, + _getSelectables: function getSelectables() { + return this.$node.find(this.selectors.selectable); + }, + _removeCursor: function _removeCursor() { + var $selectable = this.getActiveSelectable(); + $selectable && $selectable.removeClass(this.classes.cursor); + }, + _ensureVisible: function ensureVisible($el) { + var elTop, elBottom, nodeScrollTop, nodeHeight; + elTop = $el.position().top; + elBottom = elTop + $el.outerHeight(true); + nodeScrollTop = this.$node.scrollTop(); + nodeHeight = this.$node.height() + parseInt(this.$node.css("paddingTop"), 10) + parseInt(this.$node.css("paddingBottom"), 10); + if (elTop < 0) { + this.$node.scrollTop(nodeScrollTop + elTop); + } else if (nodeHeight < elBottom) { + this.$node.scrollTop(nodeScrollTop + (elBottom - nodeHeight)); + } + }, + bind: function() { + var that = this, onSelectableClick; + onSelectableClick = _.bind(this._onSelectableClick, this); + this.$node.on("click.tt", this.selectors.selectable, onSelectableClick); + this.$node.on("mouseover", this.selectors.selectable, function() { + that.setCursor($(this)); + }); + this.$node.on("mouseleave", function() { + that._removeCursor(); + }); + _.each(this.datasets, function(dataset) { + dataset.onSync("asyncRequested", that._propagate, that).onSync("asyncCanceled", that._propagate, that).onSync("asyncReceived", that._propagate, that).onSync("rendered", that._onRendered, that).onSync("cleared", that._onCleared, that); + }); + return this; + }, + isOpen: function isOpen() { + return this.$node.hasClass(this.classes.open); + }, + open: function open() { + this.$node.scrollTop(0); + this.$node.addClass(this.classes.open); + }, + close: function close() { + this.$node.attr("aria-expanded", false); + this.$node.removeClass(this.classes.open); + this._removeCursor(); + }, + setLanguageDirection: function setLanguageDirection(dir) { + this.$node.attr("dir", dir); + }, + selectableRelativeToCursor: function selectableRelativeToCursor(delta) { + var $selectables, $oldCursor, oldIndex, newIndex; + $oldCursor = this.getActiveSelectable(); + $selectables = this._getSelectables(); + oldIndex = $oldCursor ? $selectables.index($oldCursor) : -1; + newIndex = oldIndex + delta; + newIndex = (newIndex + 1) % ($selectables.length + 1) - 1; + newIndex = newIndex < -1 ? $selectables.length - 1 : newIndex; + return newIndex === -1 ? null : $selectables.eq(newIndex); + }, + setCursor: function setCursor($selectable) { + this._removeCursor(); + if ($selectable = $selectable && $selectable.first()) { + $selectable.addClass(this.classes.cursor); + this._ensureVisible($selectable); + } + }, + getSelectableData: function getSelectableData($el) { + return $el && $el.length ? Dataset.extractData($el) : null; + }, + getActiveSelectable: function getActiveSelectable() { + var $selectable = this._getSelectables().filter(this.selectors.cursor).first(); + return $selectable.length ? $selectable : null; + }, + getTopSelectable: function getTopSelectable() { + var $selectable = this._getSelectables().first(); + return $selectable.length ? $selectable : null; + }, + update: function update(query) { + var isValidUpdate = query !== this.query; + if (isValidUpdate) { + this.query = query; + _.each(this.datasets, updateDataset); + } + return isValidUpdate; + function updateDataset(dataset) { + dataset.update(query); + } + }, + empty: function empty() { + _.each(this.datasets, clearDataset); + this.query = null; + this.$node.addClass(this.classes.empty); + function clearDataset(dataset) { + dataset.clear(); + } + }, + destroy: function destroy() { + this.$node.off(".tt"); + this.$node = $("
"); + _.each(this.datasets, destroyDataset); + function destroyDataset(dataset) { + dataset.destroy(); + } + } + }); + return Menu; + }(); + var Status = function() { + "use strict"; + function Status(options) { + this.$el = $("", { + role: "status", + "aria-live": "polite" + }).css({ + position: "absolute", + padding: "0", + border: "0", + height: "1px", + width: "1px", + "margin-bottom": "-1px", + "margin-right": "-1px", + overflow: "hidden", + clip: "rect(0 0 0 0)", + "white-space": "nowrap" + }); + options.$input.after(this.$el); + _.each(options.menu.datasets, _.bind(function(dataset) { + if (dataset.onSync) { + dataset.onSync("rendered", _.bind(this.update, this)); + dataset.onSync("cleared", _.bind(this.cleared, this)); + } + }, this)); + } + _.mixin(Status.prototype, { + update: function update(event, suggestions) { + var length = suggestions.length; + var words; + if (length === 1) { + words = { + result: "result", + is: "is" + }; + } else { + words = { + result: "results", + is: "are" + }; + } + this.$el.text(length + " " + words.result + " " + words.is + " available, use up and down arrow keys to navigate."); + }, + cleared: function() { + this.$el.text(""); + } + }); + return Status; + }(); + var DefaultMenu = function() { + "use strict"; + var s = Menu.prototype; + function DefaultMenu() { + Menu.apply(this, [].slice.call(arguments, 0)); + } + _.mixin(DefaultMenu.prototype, Menu.prototype, { + open: function open() { + !this._allDatasetsEmpty() && this._show(); + return s.open.apply(this, [].slice.call(arguments, 0)); + }, + close: function close() { + this._hide(); + return s.close.apply(this, [].slice.call(arguments, 0)); + }, + _onRendered: function onRendered() { + if (this._allDatasetsEmpty()) { + this._hide(); + } else { + this.isOpen() && this._show(); + } + return s._onRendered.apply(this, [].slice.call(arguments, 0)); + }, + _onCleared: function onCleared() { + if (this._allDatasetsEmpty()) { + this._hide(); + } else { + this.isOpen() && this._show(); + } + return s._onCleared.apply(this, [].slice.call(arguments, 0)); + }, + setLanguageDirection: function setLanguageDirection(dir) { + this.$node.css(dir === "ltr" ? this.css.ltr : this.css.rtl); + return s.setLanguageDirection.apply(this, [].slice.call(arguments, 0)); + }, + _hide: function hide() { + this.$node.hide(); + }, + _show: function show() { + this.$node.css("display", "block"); + } + }); + return DefaultMenu; + }(); + var Typeahead = function() { + "use strict"; + function Typeahead(o, www) { + var onFocused, onBlurred, onEnterKeyed, onTabKeyed, onEscKeyed, onUpKeyed, onDownKeyed, onLeftKeyed, onRightKeyed, onQueryChanged, onWhitespaceChanged; + o = o || {}; + if (!o.input) { + $.error("missing input"); + } + if (!o.menu) { + $.error("missing menu"); + } + if (!o.eventBus) { + $.error("missing event bus"); + } + www.mixin(this); + this.eventBus = o.eventBus; + this.minLength = _.isNumber(o.minLength) ? o.minLength : 1; + this.input = o.input; + this.menu = o.menu; + this.enabled = true; + this.autoselect = !!o.autoselect; + this.active = false; + this.input.hasFocus() && this.activate(); + this.dir = this.input.getLangDir(); + this._hacks(); + this.menu.bind().onSync("selectableClicked", this._onSelectableClicked, this).onSync("asyncRequested", this._onAsyncRequested, this).onSync("asyncCanceled", this._onAsyncCanceled, this).onSync("asyncReceived", this._onAsyncReceived, this).onSync("datasetRendered", this._onDatasetRendered, this).onSync("datasetCleared", this._onDatasetCleared, this); + onFocused = c(this, "activate", "open", "_onFocused"); + onBlurred = c(this, "deactivate", "_onBlurred"); + onEnterKeyed = c(this, "isActive", "isOpen", "_onEnterKeyed"); + onTabKeyed = c(this, "isActive", "isOpen", "_onTabKeyed"); + onEscKeyed = c(this, "isActive", "_onEscKeyed"); + onUpKeyed = c(this, "isActive", "open", "_onUpKeyed"); + onDownKeyed = c(this, "isActive", "open", "_onDownKeyed"); + onLeftKeyed = c(this, "isActive", "isOpen", "_onLeftKeyed"); + onRightKeyed = c(this, "isActive", "isOpen", "_onRightKeyed"); + onQueryChanged = c(this, "_openIfActive", "_onQueryChanged"); + onWhitespaceChanged = c(this, "_openIfActive", "_onWhitespaceChanged"); + this.input.bind().onSync("focused", onFocused, this).onSync("blurred", onBlurred, this).onSync("enterKeyed", onEnterKeyed, this).onSync("tabKeyed", onTabKeyed, this).onSync("escKeyed", onEscKeyed, this).onSync("upKeyed", onUpKeyed, this).onSync("downKeyed", onDownKeyed, this).onSync("leftKeyed", onLeftKeyed, this).onSync("rightKeyed", onRightKeyed, this).onSync("queryChanged", onQueryChanged, this).onSync("whitespaceChanged", onWhitespaceChanged, this).onSync("langDirChanged", this._onLangDirChanged, this); + } + _.mixin(Typeahead.prototype, { + _hacks: function hacks() { + var $input, $menu; + $input = this.input.$input || $("
"); + $menu = this.menu.$node || $("
"); + $input.on("blur.tt", function($e) { + var active, isActive, hasActive; + active = document.activeElement; + isActive = $menu.is(active); + hasActive = $menu.has(active).length > 0; + if (_.isMsie() && (isActive || hasActive)) { + $e.preventDefault(); + $e.stopImmediatePropagation(); + _.defer(function() { + $input.focus(); + }); + } + }); + $menu.on("mousedown.tt", function($e) { + $e.preventDefault(); + }); + }, + _onSelectableClicked: function onSelectableClicked(type, $el) { + this.select($el); + }, + _onDatasetCleared: function onDatasetCleared() { + this._updateHint(); + }, + _onDatasetRendered: function onDatasetRendered(type, suggestions, async, dataset) { + this._updateHint(); + if (this.autoselect) { + var cursorClass = this.selectors.cursor.substr(1); + this.menu.$node.find(this.selectors.suggestion).first().addClass(cursorClass); + } + this.eventBus.trigger("render", suggestions, async, dataset); + }, + _onAsyncRequested: function onAsyncRequested(type, dataset, query) { + this.eventBus.trigger("asyncrequest", query, dataset); + }, + _onAsyncCanceled: function onAsyncCanceled(type, dataset, query) { + this.eventBus.trigger("asynccancel", query, dataset); + }, + _onAsyncReceived: function onAsyncReceived(type, dataset, query) { + this.eventBus.trigger("asyncreceive", query, dataset); + }, + _onFocused: function onFocused() { + this._minLengthMet() && this.menu.update(this.input.getQuery()); + }, + _onBlurred: function onBlurred() { + if (this.input.hasQueryChangedSinceLastFocus()) { + this.eventBus.trigger("change", this.input.getQuery()); + } + }, + _onEnterKeyed: function onEnterKeyed(type, $e) { + var $selectable; + if ($selectable = this.menu.getActiveSelectable()) { + if (this.select($selectable)) { + $e.preventDefault(); + $e.stopPropagation(); + } + } else if (this.autoselect) { + if (this.select(this.menu.getTopSelectable())) { + $e.preventDefault(); + $e.stopPropagation(); + } + } + }, + _onTabKeyed: function onTabKeyed(type, $e) { + var $selectable; + if ($selectable = this.menu.getActiveSelectable()) { + this.select($selectable) && $e.preventDefault(); + } else if (this.autoselect) { + if ($selectable = this.menu.getTopSelectable()) { + this.autocomplete($selectable) && $e.preventDefault(); + } + } + }, + _onEscKeyed: function onEscKeyed() { + this.close(); + }, + _onUpKeyed: function onUpKeyed() { + this.moveCursor(-1); + }, + _onDownKeyed: function onDownKeyed() { + this.moveCursor(+1); + }, + _onLeftKeyed: function onLeftKeyed() { + if (this.dir === "rtl" && this.input.isCursorAtEnd()) { + this.autocomplete(this.menu.getActiveSelectable() || this.menu.getTopSelectable()); + } + }, + _onRightKeyed: function onRightKeyed() { + if (this.dir === "ltr" && this.input.isCursorAtEnd()) { + this.autocomplete(this.menu.getActiveSelectable() || this.menu.getTopSelectable()); + } + }, + _onQueryChanged: function onQueryChanged(e, query) { + this._minLengthMet(query) ? this.menu.update(query) : this.menu.empty(); + }, + _onWhitespaceChanged: function onWhitespaceChanged() { + this._updateHint(); + }, + _onLangDirChanged: function onLangDirChanged(e, dir) { + if (this.dir !== dir) { + this.dir = dir; + this.menu.setLanguageDirection(dir); + } + }, + _openIfActive: function openIfActive() { + this.isActive() && this.open(); + }, + _minLengthMet: function minLengthMet(query) { + query = _.isString(query) ? query : this.input.getQuery() || ""; + return query.length >= this.minLength; + }, + _updateHint: function updateHint() { + var $selectable, data, val, query, escapedQuery, frontMatchRegEx, match; + $selectable = this.menu.getTopSelectable(); + data = this.menu.getSelectableData($selectable); + val = this.input.getInputValue(); + if (data && !_.isBlankString(val) && !this.input.hasOverflow()) { + query = Input.normalizeQuery(val); + escapedQuery = _.escapeRegExChars(query); + frontMatchRegEx = new RegExp("^(?:" + escapedQuery + ")(.+$)", "i"); + match = frontMatchRegEx.exec(data.val); + match && this.input.setHint(val + match[1]); + } else { + this.input.clearHint(); + } + }, + isEnabled: function isEnabled() { + return this.enabled; + }, + enable: function enable() { + this.enabled = true; + }, + disable: function disable() { + this.enabled = false; + }, + isActive: function isActive() { + return this.active; + }, + activate: function activate() { + if (this.isActive()) { + return true; + } else if (!this.isEnabled() || this.eventBus.before("active")) { + return false; + } else { + this.active = true; + this.eventBus.trigger("active"); + return true; + } + }, + deactivate: function deactivate() { + if (!this.isActive()) { + return true; + } else if (this.eventBus.before("idle")) { + return false; + } else { + this.active = false; + this.close(); + this.eventBus.trigger("idle"); + return true; + } + }, + isOpen: function isOpen() { + return this.menu.isOpen(); + }, + open: function open() { + if (!this.isOpen() && !this.eventBus.before("open")) { + this.input.setAriaExpanded(true); + this.menu.open(); + this._updateHint(); + this.eventBus.trigger("open"); + } + return this.isOpen(); + }, + close: function close() { + if (this.isOpen() && !this.eventBus.before("close")) { + this.input.setAriaExpanded(false); + this.menu.close(); + this.input.clearHint(); + this.input.resetInputValue(); + this.eventBus.trigger("close"); + } + return !this.isOpen(); + }, + setVal: function setVal(val) { + this.input.setQuery(_.toStr(val)); + }, + getVal: function getVal() { + return this.input.getQuery(); + }, + select: function select($selectable) { + var data = this.menu.getSelectableData($selectable); + if (data && !this.eventBus.before("select", data.obj, data.dataset)) { + this.input.setQuery(data.val, true); + this.eventBus.trigger("select", data.obj, data.dataset); + this.close(); + return true; + } + return false; + }, + autocomplete: function autocomplete($selectable) { + var query, data, isValid; + query = this.input.getQuery(); + data = this.menu.getSelectableData($selectable); + isValid = data && query !== data.val; + if (isValid && !this.eventBus.before("autocomplete", data.obj, data.dataset)) { + this.input.setQuery(data.val); + this.eventBus.trigger("autocomplete", data.obj, data.dataset); + return true; + } + return false; + }, + moveCursor: function moveCursor(delta) { + var query, $candidate, data, suggestion, datasetName, cancelMove, id; + query = this.input.getQuery(); + $candidate = this.menu.selectableRelativeToCursor(delta); + data = this.menu.getSelectableData($candidate); + suggestion = data ? data.obj : null; + datasetName = data ? data.dataset : null; + id = $candidate ? $candidate.attr("id") : null; + this.input.trigger("cursorchange", id); + cancelMove = this._minLengthMet() && this.menu.update(query); + if (!cancelMove && !this.eventBus.before("cursorchange", suggestion, datasetName)) { + this.menu.setCursor($candidate); + if (data) { + if (typeof data.val === "string") { + this.input.setInputValue(data.val); + } + } else { + this.input.resetInputValue(); + this._updateHint(); + } + this.eventBus.trigger("cursorchange", suggestion, datasetName); + return true; + } + return false; + }, + destroy: function destroy() { + this.input.destroy(); + this.menu.destroy(); + } + }); + return Typeahead; + function c(ctx) { + var methods = [].slice.call(arguments, 1); + return function() { + var args = [].slice.call(arguments); + _.each(methods, function(method) { + return ctx[method].apply(ctx, args); + }); + }; + } + }(); + (function() { + "use strict"; + var old, keys, methods; + old = $.fn.typeahead; + keys = { + www: "tt-www", + attrs: "tt-attrs", + typeahead: "tt-typeahead" + }; + methods = { + initialize: function initialize(o, datasets) { + var www; + datasets = _.isArray(datasets) ? datasets : [].slice.call(arguments, 1); + o = o || {}; + www = WWW(o.classNames); + return this.each(attach); + function attach() { + var $input, $wrapper, $hint, $menu, defaultHint, defaultMenu, eventBus, input, menu, status, typeahead, MenuConstructor; + _.each(datasets, function(d) { + d.highlight = !!o.highlight; + }); + $input = $(this); + $wrapper = $(www.html.wrapper); + $hint = $elOrNull(o.hint); + $menu = $elOrNull(o.menu); + defaultHint = o.hint !== false && !$hint; + defaultMenu = o.menu !== false && !$menu; + defaultHint && ($hint = buildHintFromInput($input, www)); + defaultMenu && ($menu = $(www.html.menu).css(www.css.menu)); + $hint && $hint.val(""); + $input = prepInput($input, www); + if (defaultHint || defaultMenu) { + $wrapper.css(www.css.wrapper); + $input.css(defaultHint ? www.css.input : www.css.inputWithNoHint); + $input.wrap($wrapper).parent().prepend(defaultHint ? $hint : null).append(defaultMenu ? $menu : null); + } + MenuConstructor = defaultMenu ? DefaultMenu : Menu; + eventBus = new EventBus({ + el: $input + }); + input = new Input({ + hint: $hint, + input: $input, + menu: $menu + }, www); + menu = new MenuConstructor({ + node: $menu, + datasets: datasets + }, www); + status = new Status({ + $input: $input, + menu: menu + }); + typeahead = new Typeahead({ + input: input, + menu: menu, + eventBus: eventBus, + minLength: o.minLength, + autoselect: o.autoselect + }, www); + $input.data(keys.www, www); + $input.data(keys.typeahead, typeahead); + } + }, + isEnabled: function isEnabled() { + var enabled; + ttEach(this.first(), function(t) { + enabled = t.isEnabled(); + }); + return enabled; + }, + enable: function enable() { + ttEach(this, function(t) { + t.enable(); + }); + return this; + }, + disable: function disable() { + ttEach(this, function(t) { + t.disable(); + }); + return this; + }, + isActive: function isActive() { + var active; + ttEach(this.first(), function(t) { + active = t.isActive(); + }); + return active; + }, + activate: function activate() { + ttEach(this, function(t) { + t.activate(); + }); + return this; + }, + deactivate: function deactivate() { + ttEach(this, function(t) { + t.deactivate(); + }); + return this; + }, + isOpen: function isOpen() { + var open; + ttEach(this.first(), function(t) { + open = t.isOpen(); + }); + return open; + }, + open: function open() { + ttEach(this, function(t) { + t.open(); + }); + return this; + }, + close: function close() { + ttEach(this, function(t) { + t.close(); + }); + return this; + }, + select: function select(el) { + var success = false, $el = $(el); + ttEach(this.first(), function(t) { + success = t.select($el); + }); + return success; + }, + autocomplete: function autocomplete(el) { + var success = false, $el = $(el); + ttEach(this.first(), function(t) { + success = t.autocomplete($el); + }); + return success; + }, + moveCursor: function moveCursoe(delta) { + var success = false; + ttEach(this.first(), function(t) { + success = t.moveCursor(delta); + }); + return success; + }, + val: function val(newVal) { + var query; + if (!arguments.length) { + ttEach(this.first(), function(t) { + query = t.getVal(); + }); + return query; + } else { + ttEach(this, function(t) { + t.setVal(_.toStr(newVal)); + }); + return this; + } + }, + destroy: function destroy() { + ttEach(this, function(typeahead, $input) { + revert($input); + typeahead.destroy(); + }); + return this; + } + }; + $.fn.typeahead = function(method) { + if (methods[method]) { + return methods[method].apply(this, [].slice.call(arguments, 1)); + } else { + return methods.initialize.apply(this, arguments); + } + }; + $.fn.typeahead.noConflict = function noConflict() { + $.fn.typeahead = old; + return this; + }; + function ttEach($els, fn) { + $els.each(function() { + var $input = $(this), typeahead; + (typeahead = $input.data(keys.typeahead)) && fn(typeahead, $input); + }); + } + function buildHintFromInput($input, www) { + return $input.clone().addClass(www.classes.hint).removeData().css(www.css.hint).css(getBackgroundStyles($input)).prop({ + readonly: true, + required: false + }).removeAttr("id name placeholder").removeClass("required").attr({ + spellcheck: "false", + tabindex: -1 + }); + } + function prepInput($input, www) { + $input.data(keys.attrs, { + dir: $input.attr("dir"), + autocomplete: $input.attr("autocomplete"), + spellcheck: $input.attr("spellcheck"), + style: $input.attr("style") + }); + $input.addClass(www.classes.input).attr({ + spellcheck: false + }); + try { + !$input.attr("dir") && $input.attr("dir", "auto"); + } catch (e) {} + return $input; + } + function getBackgroundStyles($el) { + return { + backgroundAttachment: $el.css("background-attachment"), + backgroundClip: $el.css("background-clip"), + backgroundColor: $el.css("background-color"), + backgroundImage: $el.css("background-image"), + backgroundOrigin: $el.css("background-origin"), + backgroundPosition: $el.css("background-position"), + backgroundRepeat: $el.css("background-repeat"), + backgroundSize: $el.css("background-size") + }; + } + function revert($input) { + var www, $wrapper; + www = $input.data(keys.www); + $wrapper = $input.parent().filter(www.selectors.wrapper); + _.each($input.data(keys.attrs), function(val, key) { + _.isUndefined(val) ? $input.removeAttr(key) : $input.attr(key, val); + }); + $input.removeData(keys.typeahead).removeData(keys.www).removeData(keys.attr).removeClass(www.classes.input); + if ($wrapper.length) { + $input.detach().insertAfter($wrapper); + $wrapper.remove(); + } + } + function $elOrNull(obj) { + var isValid, $el; + isValid = _.isJQuery(obj) || _.isElement(obj); + $el = isValid ? $(obj).first() : []; + return $el.length ? $el : null; + } + })(); +}); \ No newline at end of file diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/search.json b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/search.json new file mode 100644 index 000000000..2feb027c8 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/search.json @@ -0,0 +1 @@ +{"Extensions/AdjustmentsProcessor.html#/s:So31SCCameraKitAdjustmentsProcessorP011SCSDKCameraB0E5apply10adjustment10ControllerQyd__qd___tKAC10AdjustmentRd__lF":{"name":"apply(adjustment:)","abstract":"

Applies a given adjustment and returns a controller which allows runtime configuration of the adjustment.

","parent_name":"AdjustmentsProcessor"},"Extensions/AdjustmentsProcessor.html":{"name":"AdjustmentsProcessor"},"Structs/SCCameraKitLensMediaPickerAssetMetadata.html#/c:@SA@SCCameraKitLensMediaPickerAssetMetadata@FI@faceRect":{"name":"faceRect","abstract":"

Undocumented

","parent_name":"SCCameraKitLensMediaPickerAssetMetadata"},"Structs/SCCameraKitLensMediaPickerAssetMetadata.html":{"name":"SCCameraKitLensMediaPickerAssetMetadata","abstract":"

Metadata for a media asset

"},"Type%20Definitions/SCCameraKitLensMediaPickerAssetMetadata/SCCameraKitLensMediaPickerAssetMetadata.html#/c:@SA@SCCameraKitLensMediaPickerAssetMetadata@FI@faceRect":{"name":"faceRect","abstract":"

Undocumented

","parent_name":"SCCameraKitLensMediaPickerAssetMetadata"},"Type%20Definitions/SCCameraKitLensMediaPickerAssetMetadata/SCCameraKitLensMediaPickerAssetMetadata.html":{"name":"SCCameraKitLensMediaPickerAssetMetadata","abstract":"

Metadata for a media asset

","parent_name":"SCCameraKitLensMediaPickerAssetMetadata"},"Type%20Definitions/SCCameraKitLensMediaPickerAssetMetadata.html":{"name":"SCCameraKitLensMediaPickerAssetMetadata","abstract":"

Metadata for a media asset

"},"Protocols/Adjustment.html#/s:14SCSDKCameraKit10AdjustmentP10ControllerQa":{"name":"Controller","parent_name":"Adjustment"},"Protocols/SCCameraKitUserDataProvider.html#/c:objc(pl)SCCameraKitUserDataProvider(py)userData":{"name":"userData","abstract":"

Current user data

","parent_name":"SCCameraKitUserDataProvider"},"Protocols/SCCameraKitUserDataProvider.html#/c:objc(pl)SCCameraKitUserDataProvider(py)delegate":{"name":"delegate","abstract":"

Delegate to receive updates on user data changes

","parent_name":"SCCameraKitUserDataProvider"},"Protocols/SCCameraKitUserDataProviderDelegate.html#/c:objc(pl)SCCameraKitUserDataProviderDelegate(im)userDataProvider:didUpdateUserData:":{"name":"-userDataProvider:didUpdateUserData:","abstract":"

Update delegate receivers with new user data

","parent_name":"SCCameraKitUserDataProviderDelegate"},"Protocols/SCCameraKitTextInputContextProvider.html#/c:objc(pl)SCCameraKitTextInputContextProvider(py)parentView":{"name":"parentView","abstract":"

A parent view in which to embed a text view. Unless reconfigured by providing a keyboardAccessoryProvider, this text","parent_name":"SCCameraKitTextInputContextProvider"},"Protocols/SCCameraKitTextInputContextProvider.html#/c:objc(pl)SCCameraKitTextInputContextProvider(py)keyboardAccessoryProvider":{"name":"keyboardAccessoryProvider","abstract":"

Object which describes a user-visible input view for text input. Typically, this is a styled text view that appears","parent_name":"SCCameraKitTextInputContextProvider"},"Protocols/SCCameraKitTextInputKeyboardAccessoryProvider.html#/c:objc(pl)SCCameraKitTextInputKeyboardAccessoryProvider(py)accessoryView":{"name":"accessoryView","abstract":"

The view to show on top of the keyboard.

","parent_name":"SCCameraKitTextInputKeyboardAccessoryProvider"},"Protocols/SCCameraKitTextInputKeyboardAccessoryProvider.html#/c:objc(pl)SCCameraKitTextInputKeyboardAccessoryProvider(py)textView":{"name":"textView","abstract":"

The text view associated with the input being provided.

","parent_name":"SCCameraKitTextInputKeyboardAccessoryProvider"},"Protocols/SCCameraKitTextInputKeyboardAccessoryProvider.html#/c:objc(pl)SCCameraKitTextInputKeyboardAccessoryProvider(py)placeholderText":{"name":"placeholderText","abstract":"

Placeholder text to show in the text view before the user has input any text. May be empty.

","parent_name":"SCCameraKitTextInputKeyboardAccessoryProvider"},"Protocols/SCCameraKitTextInputKeyboardAccessoryProvider.html#/c:objc(pl)SCCameraKitTextInputKeyboardAccessoryProvider(py)maximumHeight":{"name":"maximumHeight","abstract":"

The maximum height the accessoryView can grow to. This will be considered when setting the safe area for the lens.

","parent_name":"SCCameraKitTextInputKeyboardAccessoryProvider"},"Protocols/SCCameraKitPreferences.html#/c:objc(pl)SCCameraKitPreferences(im)clear":{"name":"-clear","abstract":"

Clear all stored preferences

","parent_name":"SCCameraKitPreferences"},"Protocols/SCCameraKitOutput.html#/c:objc(pl)SCCameraKitOutput(im)cameraKit:didOutputTexture:":{"name":"-cameraKit:didOutputTexture:","abstract":"

Notifies that a new frame is available.

","parent_name":"SCCameraKitOutput"},"Protocols/SCCameraKitOutput.html#/c:objc(pl)SCCameraKitOutput(im)cameraKit:didOutputVideoSampleBuffer:":{"name":"-cameraKit:didOutputVideoSampleBuffer:","abstract":"

Notifies that a new video frame is available.

","parent_name":"SCCameraKitOutput"},"Protocols/SCCameraKitOutput.html#/c:objc(pl)SCCameraKitOutput(im)cameraKit:didOutputAudioSampleBuffer:":{"name":"-cameraKit:didOutputAudioSampleBuffer:","abstract":"

Notifies that a new audio buffer is available

","parent_name":"SCCameraKitOutput"},"Protocols/SCCameraKitLocationDataProvider.html#/c:objc(pl)SCCameraKitLocationDataProvider(py)location":{"name":"location","abstract":"

Current location data

","parent_name":"SCCameraKitLocationDataProvider"},"Protocols/SCCameraKitLocationDataProvider.html#/c:objc(pl)SCCameraKitLocationDataProvider(im)startUpdatingWithParameters:":{"name":"-startUpdatingWithParameters:","abstract":"

Start updating location data with params

","parent_name":"SCCameraKitLocationDataProvider"},"Protocols/SCCameraKitLocationDataProvider.html#/c:objc(pl)SCCameraKitLocationDataProvider(im)stopUpdating":{"name":"-stopUpdating","abstract":"

Stop updating location

","parent_name":"SCCameraKitLocationDataProvider"},"Protocols/SCCameraKitLocationParameters.html#/c:objc(pl)SCCameraKitLocationParameters(py)updateIntervalMilliseconds":{"name":"updateIntervalMilliseconds","abstract":"

Minimum interval between consecutive location updates

","parent_name":"SCCameraKitLocationParameters"},"Protocols/SCCameraKitLocationParameters.html#/c:objc(pl)SCCameraKitLocationParameters(py)distanceFilterMeters":{"name":"distanceFilterMeters","abstract":"

Minimum distance between consecutive location updates

","parent_name":"SCCameraKitLocationParameters"},"Protocols/SCCameraKitLocationParameters.html#/c:objc(pl)SCCameraKitLocationParameters(py)desiredAccuracy":{"name":"desiredAccuracy","abstract":"

Desired accuracy

","parent_name":"SCCameraKitLocationParameters"},"Protocols/SCCameraKitLensRepository.html#/c:objc(pl)SCCameraKitLensRepository(im)addObserver:forGroupID:":{"name":"-addObserver:forGroupID:","abstract":"

Add an observer to receive updates to a lens group

","parent_name":"SCCameraKitLensRepository"},"Protocols/SCCameraKitLensRepository.html#/c:objc(pl)SCCameraKitLensRepository(im)removeObserver:forGroupID:":{"name":"-removeObserver:forGroupID:","abstract":"

Remove an observer from receiving updates for a lens group

","parent_name":"SCCameraKitLensRepository"},"Protocols/SCCameraKitLensRepository.html#/c:objc(pl)SCCameraKitLensRepository(im)addObserver:forSpecificLensID:inGroupID:":{"name":"-addObserver:forSpecificLensID:inGroupID:","abstract":"

Add an observer to receive updates for a specific lens in a group

","parent_name":"SCCameraKitLensRepository"},"Protocols/SCCameraKitLensRepository.html#/c:objc(pl)SCCameraKitLensRepository(im)removeObserver:forSpecificLensID:inGroupID:":{"name":"-removeObserver:forSpecificLensID:inGroupID:","abstract":"

Remove an observer from receiving updates for a specific lens in a group

","parent_name":"SCCameraKitLensRepository"},"Protocols/SCCameraKitLensRepository.html#/c:objc(pl)SCCameraKitLensRepository(im)lensesForGroupID:":{"name":"-lensesForGroupID:","abstract":"

Any available lenses for the group ID specified.

","parent_name":"SCCameraKitLensRepository"},"Protocols/SCCameraKitLensRepository.html#/c:objc(pl)SCCameraKitLensRepository(im)lensWithID:inGroupID:":{"name":"-lensWithID:inGroupID:","abstract":"

Specific lens in group ID specified

","parent_name":"SCCameraKitLensRepository"},"Protocols/SCCameraKitLensesComponent.html#/c:objc(pl)SCCameraKitLensesComponent(py)repository":{"name":"repository","abstract":"

The repository for lenses. Lists available lenses, etc. in the lenses folder

","parent_name":"SCCameraKitLensesComponent"},"Protocols/SCCameraKitLensesComponent.html#/c:objc(pl)SCCameraKitLensesComponent(py)processor":{"name":"processor","abstract":"

Handles the actual effect application. Will be null if CameraKit is not running with a valid input.

","parent_name":"SCCameraKitLensesComponent"},"Protocols/SCCameraKitLensesComponent.html#/c:objc(pl)SCCameraKitLensesComponent(py)prefetcher":{"name":"prefetcher","abstract":"

Prefetcher to prefetch lens content to reduce time when applying lens

","parent_name":"SCCameraKitLensesComponent"},"Protocols/SCCameraKitLensesComponent.html#/c:objc(pl)SCCameraKitLensesComponent(py)preferences":{"name":"preferences","abstract":"

Property to deal with preferences (ie. clear stored preferences)

","parent_name":"SCCameraKitLensesComponent"},"Protocols/SCCameraKitLensRepositorySpecificObserver.html#/c:objc(pl)SCCameraKitLensRepositorySpecificObserver(im)repository:didUpdateLens:forGroupID:":{"name":"-repository:didUpdateLens:forGroupID:","abstract":"

Notifies that an observed specific lens in a group has changed.

","parent_name":"SCCameraKitLensRepositorySpecificObserver"},"Protocols/SCCameraKitLensRepositorySpecificObserver.html#/c:objc(pl)SCCameraKitLensRepositorySpecificObserver(im)repository:didFailToUpdateLensID:forGroupID:error:":{"name":"-repository:didFailToUpdateLensID:forGroupID:error:","abstract":"

Notifies that an observed specific lens in a group has failed to be fetched.

","parent_name":"SCCameraKitLensRepositorySpecificObserver"},"Protocols/SCCameraKitLensRepositoryGroupObserver.html#/c:objc(pl)SCCameraKitLensRepositoryGroupObserver(im)repository:didUpdateLenses:forGroupID:":{"name":"-repository:didUpdateLenses:forGroupID:","abstract":"

Notifies that an observed group’s lenses have changed.

","parent_name":"SCCameraKitLensRepositoryGroupObserver"},"Protocols/SCCameraKitLensRepositoryGroupObserver.html#/c:objc(pl)SCCameraKitLensRepositoryGroupObserver(im)repository:didFailToUpdateLensesForGroupID:error:":{"name":"-repository:didFailToUpdateLensesForGroupID:error:","abstract":"

Notifies that an observed group’s lenses failed to be fetched.

","parent_name":"SCCameraKitLensRepositoryGroupObserver"},"Protocols/SCCameraKitLensRemoteApiServiceProvider.html#/c:objc(pl)SCCameraKitLensRemoteApiServiceProvider(py)supportedApiSpecIds":{"name":"supportedApiSpecIds","abstract":"

The set of api spec identifiers that this provider supports.

","parent_name":"SCCameraKitLensRemoteApiServiceProvider"},"Protocols/SCCameraKitLensRemoteApiServiceProvider.html#/c:objc(pl)SCCameraKitLensRemoteApiServiceProvider(im)remoteApiServiceForLens:":{"name":"-remoteApiServiceForLens:","abstract":"

Returns the remote api service used for processing requests sent by the lens.","parent_name":"SCCameraKitLensRemoteApiServiceProvider"},"Protocols/SCCameraKitLensRemoteApiService.html#/c:objc(pl)SCCameraKitLensRemoteApiService(im)processRequest:responseHandler:":{"name":"-processRequest:responseHandler:","abstract":"

Process the remote api request sent by a lens. Returns a call associated with the request.

","parent_name":"SCCameraKitLensRemoteApiService"},"Protocols/SCCameraKitLensRemoteApiServiceCall.html#/c:objc(pl)SCCameraKitLensRemoteApiServiceCall(py)status":{"name":"status","abstract":"

The status of the call associated with the request.

","parent_name":"SCCameraKitLensRemoteApiServiceCall"},"Protocols/SCCameraKitLensRemoteApiServiceCall.html#/c:objc(pl)SCCameraKitLensRemoteApiServiceCall(im)cancelRequest":{"name":"-cancelRequest","abstract":"

Cancel the request call. This is usually sent if the lens no longer needs a response to the remote api request it","parent_name":"SCCameraKitLensRemoteApiServiceCall"},"Protocols/SCCameraKitLensRemoteApiResponse.html#/c:objc(pl)SCCameraKitLensRemoteApiResponse(py)request":{"name":"request","abstract":"

Remote api service request sent by a lens.

","parent_name":"SCCameraKitLensRemoteApiResponse"},"Protocols/SCCameraKitLensRemoteApiResponse.html#/c:objc(pl)SCCameraKitLensRemoteApiResponse(py)status":{"name":"status","abstract":"

Status of the response.

","parent_name":"SCCameraKitLensRemoteApiResponse"},"Protocols/SCCameraKitLensRemoteApiResponse.html#/c:objc(pl)SCCameraKitLensRemoteApiResponse(py)metadata":{"name":"metadata","abstract":"

A map of named metadata associated with the response.

","parent_name":"SCCameraKitLensRemoteApiResponse"},"Protocols/SCCameraKitLensRemoteApiResponse.html#/c:objc(pl)SCCameraKitLensRemoteApiResponse(py)body":{"name":"body","abstract":"

Additional response payload as bytes.

","parent_name":"SCCameraKitLensRemoteApiResponse"},"Protocols/SCCameraKitLensRemoteApiRequest.html#/c:objc(pl)SCCameraKitLensRemoteApiRequest(py)requestId":{"name":"requestId","abstract":"

Unique id of the request.

","parent_name":"SCCameraKitLensRemoteApiRequest"},"Protocols/SCCameraKitLensRemoteApiRequest.html#/c:objc(pl)SCCameraKitLensRemoteApiRequest(py)apiSpecId":{"name":"apiSpecId","abstract":"

Unique id of the remote API service specification.

","parent_name":"SCCameraKitLensRemoteApiRequest"},"Protocols/SCCameraKitLensRemoteApiRequest.html#/c:objc(pl)SCCameraKitLensRemoteApiRequest(py)endpointId":{"name":"endpointId","abstract":"

Unique id of the remote API service endpoint requested by this request.

","parent_name":"SCCameraKitLensRemoteApiRequest"},"Protocols/SCCameraKitLensRemoteApiRequest.html#/c:objc(pl)SCCameraKitLensRemoteApiRequest(py)parameters":{"name":"parameters","abstract":"

A map of named parameters associated with the request.

","parent_name":"SCCameraKitLensRemoteApiRequest"},"Protocols/SCCameraKitLensRemoteApiRequest.html#/c:objc(pl)SCCameraKitLensRemoteApiRequest(py)body":{"name":"body","abstract":"

Additional request payload as bytes.

","parent_name":"SCCameraKitLensRemoteApiRequest"},"Protocols/SCCameraKitLensProcessorObserver.html#/c:objc(pl)SCCameraKitLensProcessorObserver(im)processor:didApplyLens:":{"name":"-processor:didApplyLens:","abstract":"

Notifies that the lens processor did apply lens

","parent_name":"SCCameraKitLensProcessorObserver"},"Protocols/SCCameraKitLensProcessorObserver.html#/c:objc(pl)SCCameraKitLensProcessorObserver(im)processorDidIdle:":{"name":"-processorDidIdle:","abstract":"

Notifies that the lens processor did clear any active lens and is now in an “idle” state

","parent_name":"SCCameraKitLensProcessorObserver"},"Protocols/SCCameraKitLensProcessorObserver.html#/c:objc(pl)SCCameraKitLensProcessorObserver(im)processor:firstFrameDidBecomeReadyForLens:":{"name":"-processor:firstFrameDidBecomeReadyForLens:","abstract":"

Notifies the listener that the first frame with the lens applied is ready

","parent_name":"SCCameraKitLensProcessorObserver"},"Protocols/SCCameraKitLensProcessor.html#/c:objc(pl)SCCameraKitLensProcessor(py)hintDelegate":{"name":"hintDelegate","abstract":"

Lens hint delegate to show/hide hints for applied lenses

","parent_name":"SCCameraKitLensProcessor"},"Protocols/SCCameraKitLensProcessor.html#/c:objc(pl)SCCameraKitLensProcessor(py)audioMuted":{"name":"audioMuted","abstract":"

Specifies whether lenses will have their audio muted. NO by default.","parent_name":"SCCameraKitLensProcessor"},"Protocols/SCCameraKitLensProcessor.html#/c:objc(pl)SCCameraKitLensProcessor(im)applyLens:launchData:completion:":{"name":"-applyLens:launchData:completion:","abstract":"

Applies a specified lens.

","parent_name":"SCCameraKitLensProcessor"},"Protocols/SCCameraKitLensProcessor.html#/c:objc(pl)SCCameraKitLensProcessor(im)clearWithCompletion:":{"name":"-clearWithCompletion:","abstract":"

Removes any applied lenses.

","parent_name":"SCCameraKitLensProcessor"},"Protocols/SCCameraKitLensProcessor.html#/c:objc(pl)SCCameraKitLensProcessor(im)configureTouchHandlingInView:gestureRecognizerDelegate:":{"name":"-configureTouchHandlingInView:gestureRecognizerDelegate:","abstract":"

Configures touch handling for a given view.

","parent_name":"SCCameraKitLensProcessor"},"Protocols/SCCameraKitLensProcessor.html#/c:objc(pl)SCCameraKitLensProcessor(im)removeTouchHandlingInView:":{"name":"-removeTouchHandlingInView:","abstract":"

Clears all touch handling for a given view

","parent_name":"SCCameraKitLensProcessor"},"Protocols/SCCameraKitLensProcessor.html#/c:objc(pl)SCCameraKitLensProcessor(im)setAudioMuted:completion:":{"name":"-setAudioMuted:completion:","abstract":"

Mutes or unmutes audio.","parent_name":"SCCameraKitLensProcessor"},"Protocols/SCCameraKitLensProcessor.html#/c:objc(pl)SCCameraKitLensProcessor(im)processImage:":{"name":"-processImage:","abstract":"

Process image with lens effect using current camera session configuration

","parent_name":"SCCameraKitLensProcessor"},"Protocols/SCCameraKitLensProcessor.html#/c:objc(pl)SCCameraKitLensProcessor(im)addObserver:":{"name":"-addObserver:","abstract":"

Adds observer to receive notifications of changes to lens processor state.","parent_name":"SCCameraKitLensProcessor"},"Protocols/SCCameraKitLensProcessor.html#/c:objc(pl)SCCameraKitLensProcessor(im)removeObserver:":{"name":"-removeObserver:","abstract":"

Removes observer from receiving notifications of changes to lens availability.

","parent_name":"SCCameraKitLensProcessor"},"Protocols/SCCameraKitLensPrefetcher.html#/c:objc(pl)SCCameraKitLensPrefetcher(im)prefetchLenses:completion:":{"name":"-prefetchLenses:completion:","abstract":"

Queues up a new fetch task for each of the lenses in order to prefetch their content.","parent_name":"SCCameraKitLensPrefetcher"},"Protocols/SCCameraKitLensPrefetcher.html#/c:objc(pl)SCCameraKitLensPrefetcher(im)addStatusObserver:forLens:":{"name":"-addStatusObserver:forLens:","abstract":"

Add observer to observe changes in lens fetch status

","parent_name":"SCCameraKitLensPrefetcher"},"Protocols/SCCameraKitLensPrefetcher.html#/c:objc(pl)SCCameraKitLensPrefetcher(im)removeStatusObserver:forLens:":{"name":"-removeStatusObserver:forLens:","abstract":"

Remove observer to stop observing changes in lens fetch status

","parent_name":"SCCameraKitLensPrefetcher"},"Protocols/SCCameraKitLensPrefetcherTask.html#/c:objc(pl)SCCameraKitLensPrefetcherTask(im)cancel":{"name":"-cancel","abstract":"

Cancel prefetch task if it’s ongoing

","parent_name":"SCCameraKitLensPrefetcherTask"},"Protocols/SCCameraKitLensPrefetcherObserver.html#/c:objc(pl)SCCameraKitLensPrefetcherObserver(im)prefetcher:didUpdateLens:status:":{"name":"-prefetcher:didUpdateLens:status:","abstract":"

Notification when fetcher updates lens fetch status

","parent_name":"SCCameraKitLensPrefetcherObserver"},"Protocols/SCCameraKitLensMediaPickerProviderMediaApplicationDelegate.html#/c:objc(pl)SCCameraKitLensMediaPickerProviderMediaApplicationDelegate(im)mediaPickerProvider:requestedApplicationOfOriginalAssets:url:metadata:":{"name":"-mediaPickerProvider:requestedApplicationOfOriginalAssets:url:metadata:","abstract":"

Notifies lenses that the media picker provider has loaded the full resolution version of an asset and is ready for","parent_name":"SCCameraKitLensMediaPickerProviderMediaApplicationDelegate"},"Protocols/SCCameraKitLensMediaPickerProviderUIDelegate.html#/c:objc(pl)SCCameraKitLensMediaPickerProviderUIDelegate(im)mediaPickerProviderRequestedUIPresentation:":{"name":"-mediaPickerProviderRequestedUIPresentation:","abstract":"

Requests media picker UI be displayed.

","parent_name":"SCCameraKitLensMediaPickerProviderUIDelegate"},"Protocols/SCCameraKitLensMediaPickerProviderUIDelegate.html#/c:objc(pl)SCCameraKitLensMediaPickerProviderUIDelegate(im)mediaPickerProviderRequestedUIDismissal:":{"name":"-mediaPickerProviderRequestedUIDismissal:","abstract":"

Requests media picker UI be dismissed.

","parent_name":"SCCameraKitLensMediaPickerProviderUIDelegate"},"Protocols/SCCameraKitLensMediaPickerAsset.html#/c:objc(pl)SCCameraKitLensMediaPickerAsset(py)identifier":{"name":"identifier","abstract":"

A unique identifier for the asset.

","parent_name":"SCCameraKitLensMediaPickerAsset"},"Protocols/SCCameraKitLensMediaPickerAsset.html#/c:objc(pl)SCCameraKitLensMediaPickerAsset(py)type":{"name":"type","abstract":"

Whether the asset is an image or video.

","parent_name":"SCCameraKitLensMediaPickerAsset"},"Protocols/SCCameraKitLensMediaPickerAsset.html#/c:objc(pl)SCCameraKitLensMediaPickerAsset(py)duration":{"name":"duration","abstract":"

If the asset is a video, the length of the video in seconds. Otherwise 0.

","parent_name":"SCCameraKitLensMediaPickerAsset"},"Protocols/SCCameraKitLensMediaPickerAsset.html#/c:objc(pl)SCCameraKitLensMediaPickerAsset(py)previewImage":{"name":"previewImage","abstract":"

A thumbnail for the image or video. For images, this will be cropped to show any detected faces.

","parent_name":"SCCameraKitLensMediaPickerAsset"},"Protocols/SCCameraKitLensMediaPickerProvider.html#/c:objc(pl)SCCameraKitLensMediaPickerProvider(py)mediaApplicationDelegate":{"name":"mediaApplicationDelegate","abstract":"

A delegate that must be notified when loadAndApplyOriginalMediaFromAsset: finishes loading an original asset.","parent_name":"SCCameraKitLensMediaPickerProvider"},"Protocols/SCCameraKitLensMediaPickerProvider.html#/c:objc(pl)SCCameraKitLensMediaPickerProvider(py)uiDelegate":{"name":"uiDelegate","abstract":"

A delegate that will be notified when picker-related UI should be shown or hidden.

","parent_name":"SCCameraKitLensMediaPickerProvider"},"Protocols/SCCameraKitLensMediaPickerProvider.html#/c:objc(pl)SCCameraKitLensMediaPickerProvider(py)fetchedAssetCount":{"name":"fetchedAssetCount","abstract":"

The number of assets that have been fetched and may be displayed by the picker UI.

","parent_name":"SCCameraKitLensMediaPickerProvider"},"Protocols/SCCameraKitLensMediaPickerProvider.html#/c:objc(pl)SCCameraKitLensMediaPickerProvider(py)hasMoreAssetsToFetch":{"name":"hasMoreAssetsToFetch","abstract":"

Whether or not the data provider has more assets available to fetch.

","parent_name":"SCCameraKitLensMediaPickerProvider"},"Protocols/SCCameraKitLensMediaPickerProvider.html#/c:objc(pl)SCCameraKitLensMediaPickerProvider(im)fetchNextAssetBatchOfSize:queue:completion:":{"name":"-fetchNextAssetBatchOfSize:queue:completion:","abstract":"

Fetches a new batch of assets.

","parent_name":"SCCameraKitLensMediaPickerProvider"},"Protocols/SCCameraKitLensMediaPickerProvider.html#/c:objc(pl)SCCameraKitLensMediaPickerProvider(im)fetchedAssetAtIndex:":{"name":"-fetchedAssetAtIndex:","abstract":"

Retrieves a fetched asset at a given index.

","parent_name":"SCCameraKitLensMediaPickerProvider"},"Protocols/SCCameraKitLensMediaPickerProvider.html#/c:objc(pl)SCCameraKitLensMediaPickerProvider(im)loadAndApplyOriginalMediaFromAsset:completion:":{"name":"-loadAndApplyOriginalMediaFromAsset:completion:","abstract":"

Loads the full resolution backing asset of a specified asset and applies it to lenses.

","parent_name":"SCCameraKitLensMediaPickerProvider"},"Protocols/SCCameraKitLensMediaPickerProvider.html#/c:objc(pl)SCCameraKitLensMediaPickerProvider(im)reconfigureWithAllowedTypes:":{"name":"-reconfigureWithAllowedTypes:","abstract":"

Invalidates and resets internal state of the provider with a newly specified allowed media type option set.

","parent_name":"SCCameraKitLensMediaPickerProvider"},"Protocols/SCCameraKitLensHintProvider.html#/c:objc(pl)SCCameraKitLensHintProvider(im)localizedHintForHintId:lens:":{"name":"-localizedHintForHintId:lens:","abstract":"

Get localized hint for hint id

","parent_name":"SCCameraKitLensHintProvider"},"Protocols/SCCameraKitLensHintDelegate.html#/c:objc(pl)SCCameraKitLensHintDelegate(im)lensProcessor:shouldDisplayHint:forLens:autohide:":{"name":"-lensProcessor:shouldDisplayHint:forLens:autohide:","abstract":"

Notifies receiver that they should show hint for current lens

","parent_name":"SCCameraKitLensHintDelegate"},"Protocols/SCCameraKitLensHintDelegate.html#/c:objc(pl)SCCameraKitLensHintDelegate(im)lensProcessor:shouldHideAllHintsForLens:":{"name":"-lensProcessor:shouldHideAllHintsForLens:","abstract":"

Notifies receiver that they should remove all hints for current lens

","parent_name":"SCCameraKitLensHintDelegate"},"Protocols/SCCameraKitLens.html#/c:objc(pl)SCCameraKitLens(py)identifier":{"name":"identifier","abstract":"

A unique identifier for the lens.

","parent_name":"SCCameraKitLens"},"Protocols/SCCameraKitLens.html#/c:objc(pl)SCCameraKitLens(py)groupIdentifier":{"name":"groupIdentifier","abstract":"

A unique identifier for the group that the lens belongs to

","parent_name":"SCCameraKitLens"},"Protocols/SCCameraKitLens.html#/c:objc(pl)SCCameraKitLens(py)name":{"name":"name","abstract":"

The name for the lens

","parent_name":"SCCameraKitLens"},"Protocols/SCCameraKitLens.html#/c:objc(pl)SCCameraKitLens(py)iconUrl":{"name":"iconUrl","abstract":"

URL for icon image

","parent_name":"SCCameraKitLens"},"Protocols/SCCameraKitLens.html#/c:objc(pl)SCCameraKitLens(py)preview":{"name":"preview","abstract":"

Lens preview instance

","parent_name":"SCCameraKitLens"},"Protocols/SCCameraKitLens.html#/c:objc(pl)SCCameraKitLens(py)vendorData":{"name":"vendorData","abstract":"

Extra metadata provided from vendor

","parent_name":"SCCameraKitLens"},"Protocols/SCCameraKitLens.html#/c:objc(pl)SCCameraKitLens(py)facingPreference":{"name":"facingPreference","abstract":"

Specifies which facing a lens is designed for.

","parent_name":"SCCameraKitLens"},"Protocols/SCCameraKitLens.html#/c:objc(pl)SCCameraKitLens(py)snapcodes":{"name":"snapcodes","abstract":"

Lens Snapcodes instance

","parent_name":"SCCameraKitLens"},"Protocols/SCCameraKitLensSnapcodes.html#/c:objc(pl)SCCameraKitLensSnapcodes(py)imageUrl":{"name":"imageUrl","abstract":"

Image URL for Snapcode

","parent_name":"SCCameraKitLensSnapcodes"},"Protocols/SCCameraKitLensSnapcodes.html#/c:objc(pl)SCCameraKitLensSnapcodes(py)deeplink":{"name":"deeplink","abstract":"

Deeplink URL for Snapcode

","parent_name":"SCCameraKitLensSnapcodes"},"Protocols/SCCameraKitLensPreview.html#/c:objc(pl)SCCameraKitLensPreview(py)imageUrl":{"name":"imageUrl","abstract":"

URL for image preview

","parent_name":"SCCameraKitLensPreview"},"Protocols/SCCameraKitInput.html#/c:objc(pl)SCCameraKitInput(py)destination":{"name":"destination","abstract":"

The intermediate destination for frame data. See the protocol definition for more details.","parent_name":"SCCameraKitInput"},"Protocols/SCCameraKitInput.html#/c:objc(pl)SCCameraKitInput(py)horizontalFieldOfView":{"name":"horizontalFieldOfView","abstract":"

The horizontal field of view for the input.

","parent_name":"SCCameraKitInput"},"Protocols/SCCameraKitInput.html#/c:objc(pl)SCCameraKitInput(py)frameSize":{"name":"frameSize","abstract":"

The size for input frame

","parent_name":"SCCameraKitInput"},"Protocols/SCCameraKitInput.html#/c:objc(pl)SCCameraKitInput(py)frameOrientation":{"name":"frameOrientation","abstract":"

The orientation of frame data for the input.

","parent_name":"SCCameraKitInput"},"Protocols/SCCameraKitInput.html#/c:objc(pl)SCCameraKitInput(py)position":{"name":"position","abstract":"

The camera position that the frames are sourced from.

","parent_name":"SCCameraKitInput"},"Protocols/SCCameraKitInput.html#/c:objc(pl)SCCameraKitInput(py)isRunning":{"name":"isRunning","abstract":"

Whether or not the session is currently running.

","parent_name":"SCCameraKitInput"},"Protocols/SCCameraKitInput.html#/c:objc(pl)SCCameraKitInput(im)startRunning":{"name":"-startRunning","abstract":"

Indiciates that the input should begin running if it is not currently. If the input is aleady running, this should","parent_name":"SCCameraKitInput"},"Protocols/SCCameraKitInput.html#/c:objc(pl)SCCameraKitInput(im)stopRunning":{"name":"-stopRunning","abstract":"

Indiciates that the input should MUST stop running if it currently is running. If the input is not already running,","parent_name":"SCCameraKitInput"},"Protocols/SCCameraKitInput.html#/c:objc(pl)SCCameraKitInput(im)setVideoOrientation:":{"name":"-setVideoOrientation:","abstract":"

Set the orientation for the outputted video buffers

","parent_name":"SCCameraKitInput"},"Protocols/SCCameraKitInput.html#/c:objc(pl)SCCameraKitInput(py)audioEnabled":{"name":"audioEnabled","abstract":"

Undocumented

","parent_name":"SCCameraKitInput"},"Protocols/SCCameraKitInputDestination.html#/c:objc(pl)SCCameraKitInputDestination(im)input:receivedVideoSampleBuffer:":{"name":"-input:receivedVideoSampleBuffer:","abstract":"

Pass new video frame data into CameraKit. Call this every time your input generates new video frames.

","parent_name":"SCCameraKitInputDestination"},"Protocols/SCCameraKitInputDestination.html#/c:objc(pl)SCCameraKitInputDestination(im)input:receivedAudioSampleBuffer:":{"name":"-input:receivedAudioSampleBuffer:","abstract":"

Pass new audio frame data into CameraKit. Call this every time your input generates new audio frames.

","parent_name":"SCCameraKitInputDestination"},"Protocols/SCCameraKitInputDestination.html#/c:objc(pl)SCCameraKitInputDestination(im)inputChangedAttributes:":{"name":"-inputChangedAttributes:","abstract":"

Indicates that the input has changed some attribute and that CameraKit should reconfigure itself accordingly.

","parent_name":"SCCameraKitInputDestination"},"Protocols/SCCameraKitErrorHandler.html#/c:objc(pl)SCCameraKitErrorHandler(im)handleError:":{"name":"-handleError:","abstract":"

Handle error thrown by CameraKit

","parent_name":"SCCameraKitErrorHandler"},"Protocols/SCCameraKitDeviceMotionDataProvider.html#/c:objc(pl)SCCameraKitDeviceMotionDataProvider(py)deviceMotion":{"name":"deviceMotion","abstract":"

Current device motion data

","parent_name":"SCCameraKitDeviceMotionDataProvider"},"Protocols/SCCameraKitDeviceMotionDataProvider.html#/c:objc(pl)SCCameraKitDeviceMotionDataProvider(im)startUpdatingWithParameters:":{"name":"-startUpdatingWithParameters:","abstract":"

Start updating device motion with params

","parent_name":"SCCameraKitDeviceMotionDataProvider"},"Protocols/SCCameraKitDeviceMotionDataProvider.html#/c:objc(pl)SCCameraKitDeviceMotionDataProvider(im)stopUpdating":{"name":"-stopUpdating","abstract":"

Stop updating device motion

","parent_name":"SCCameraKitDeviceMotionDataProvider"},"Protocols/SCCameraKitDeviceMotionParameters.html#/c:objc(pl)SCCameraKitDeviceMotionParameters(py)requiresCompassAlignment":{"name":"requiresCompassAlignment","abstract":"

Requires device motion interface to be aligned with compass

","parent_name":"SCCameraKitDeviceMotionParameters"},"Protocols/SCCameraKitAgreementsStore.html#/c:objc(pl)SCCameraKitAgreementsStore(py)requiresNewAgreementAcceptance":{"name":"requiresNewAgreementAcceptance","abstract":"

Undocumented

","parent_name":"SCCameraKitAgreementsStore"},"Protocols/SCCameraKitAgreementsStore.html#/c:objc(pl)SCCameraKitAgreementsStore(py)childrenProtectionActRestricted":{"name":"childrenProtectionActRestricted","abstract":"

Undocumented

","parent_name":"SCCameraKitAgreementsStore"},"Protocols/SCCameraKitAgreementsStore.html#/c:objc(pl)SCCameraKitAgreementsStore(py)newestAvailableAgreements":{"name":"newestAvailableAgreements","abstract":"

Undocumented

","parent_name":"SCCameraKitAgreementsStore"},"Protocols/SCCameraKitAgreementsStore.html#/c:objc(pl)SCCameraKitAgreementsStore(im)acceptAgreements:":{"name":"-acceptAgreements:","abstract":"

Undocumented

","parent_name":"SCCameraKitAgreementsStore"},"Protocols/SCCameraKitAgreementsStore.html#/c:objc(pl)SCCameraKitAgreementsStore(im)declineAgreements:":{"name":"-declineAgreements:","abstract":"

Undocumented

","parent_name":"SCCameraKitAgreementsStore"},"Protocols/SCCameraKitAgreementsPresentationContextProvider.html#/c:objc(pl)SCCameraKitAgreementsPresentationContextProvider(py)viewControllerForPresentingAgreements":{"name":"viewControllerForPresentingAgreements","abstract":"

The view controller to present the agreements view controller from.

","parent_name":"SCCameraKitAgreementsPresentationContextProvider"},"Protocols/SCCameraKitAgreementsPresentationContextProvider.html#/c:objc(pl)SCCameraKitAgreementsPresentationContextProvider(im)dismissAgreementsViewController:accepted:":{"name":"-dismissAgreementsViewController:accepted:","abstract":"

Requests that the view controller passed be dismissed, with acceptance status.

","parent_name":"SCCameraKitAgreementsPresentationContextProvider"},"Protocols/SCCameraKitAgreementSet.html#/c:objc(pl)SCCameraKitAgreementSet(py)termsOfServiceURL":{"name":"termsOfServiceURL","abstract":"

A URL to the terms of service agreement for CameraKit.

","parent_name":"SCCameraKitAgreementSet"},"Protocols/SCCameraKitAgreementSet.html#/c:objc(pl)SCCameraKitAgreementSet(py)privacyPolicyURL":{"name":"privacyPolicyURL","abstract":"

A URL to the privacy policy for CameraKit.

","parent_name":"SCCameraKitAgreementSet"},"Protocols/SCCameraKitAgreementSet.html#/c:objc(pl)SCCameraKitAgreementSet(py)learnMoreURL":{"name":"learnMoreURL","abstract":"

A URL to the learn more page for CameraKit.

","parent_name":"SCCameraKitAgreementSet"},"Protocols/SCCameraKitAdjustmentsProcessorObserver.html#/c:objc(pl)SCCameraKitAdjustmentsProcessorObserver(im)processorUpdatedAdjustmentsAvailability:":{"name":"-processorUpdatedAdjustmentsAvailability:","abstract":"

Notifies that the adjustments processor updated the state of available adjustments

","parent_name":"SCCameraKitAdjustmentsProcessorObserver"},"Protocols/SCCameraKitAdjustmentsComponent.html#/c:objc(pl)SCCameraKitAdjustmentsComponent(py)processor":{"name":"processor","abstract":"

Handles the actual adjustment application. Will be null if CameraKit is not running with a valid input.

","parent_name":"SCCameraKitAdjustmentsComponent"},"Protocols/SCCameraKitAdjustmentsProcessor.html#/c:objc(pl)SCCameraKitAdjustmentsProcessor(im)isAdjustmentAvailable:":{"name":"-isAdjustmentAvailable:","abstract":"

Checks if an adjustment is available and supported by the current device. Some adjustments are performance sensitive","parent_name":"SCCameraKitAdjustmentsProcessor"},"Protocols/SCCameraKitAdjustmentsProcessor.html#/c:objc(pl)SCCameraKitAdjustmentsProcessor(im)applyAdjustment:error:":{"name":"-applyAdjustment:error:","abstract":"

Applies the specified adjustment.

","parent_name":"SCCameraKitAdjustmentsProcessor"},"Protocols/SCCameraKitAdjustmentsProcessor.html#/c:objc(pl)SCCameraKitAdjustmentsProcessor(im)removeAdjustmentController:":{"name":"-removeAdjustmentController:","abstract":"

Removes an adjustment.

","parent_name":"SCCameraKitAdjustmentsProcessor"},"Protocols/SCCameraKitAdjustmentsProcessor.html#/c:objc(pl)SCCameraKitAdjustmentsProcessor(im)addObserver:":{"name":"-addObserver:","abstract":"

Adds observer to receive notifications of changes to adjustments processor state.","parent_name":"SCCameraKitAdjustmentsProcessor"},"Protocols/SCCameraKitAdjustmentsProcessor.html#/c:objc(pl)SCCameraKitAdjustmentsProcessor(im)removeObserver:":{"name":"-removeObserver:","abstract":"

Removes observer from receiving notifications of changes to adjustments availability.

","parent_name":"SCCameraKitAdjustmentsProcessor"},"Protocols/SCCameraKitPortraitAdjustmentController.html#/c:objc(pl)SCCameraKitPortraitAdjustmentController(py)blur":{"name":"blur","abstract":"

How blurred the background is. Ranges from 0.0 to 1.0. A value of 0.0 is “not blurred at all” while 1.0 is","parent_name":"SCCameraKitPortraitAdjustmentController"},"Protocols/SCCameraKitToneMapAdjustmentController.html#/c:objc(pl)SCCameraKitToneMapAdjustmentController(py)amount":{"name":"amount","abstract":"

The “amount” of adjustment applied to the tone mapping algorithm. Ranges from 0.0 to 1.0. A value of 0.5 is the","parent_name":"SCCameraKitToneMapAdjustmentController"},"Protocols/SCCameraKitAccessTokenProvider.html#/c:objc(pl)SCCameraKitAccessTokenProvider(im)fetchAccessTokenIfAuthenticatedWithCompletion:":{"name":"-fetchAccessTokenIfAuthenticatedWithCompletion:","abstract":"

If the user is already authenticated, fetch a valid/non-expired access token to be used by some features like connected lenses, push to device, etc.","parent_name":"SCCameraKitAccessTokenProvider"},"Protocols/SCCameraKitAccessTokenProvider.html#/c:objc(pl)SCCameraKitAccessTokenProvider(im)fetchAccessTokenWithCompletion:":{"name":"-fetchAccessTokenWithCompletion:","abstract":"

Fetch a valid/non-expired access token to be used by some features like connected lenses, push to device, etc.","parent_name":"SCCameraKitAccessTokenProvider"},"Protocols/SCCameraKitAccessTokenProviderTask.html#/c:objc(pl)SCCameraKitAccessTokenProviderTask(im)cancel":{"name":"-cancel","abstract":"

Cancels fetching access token if it’s currently in progress;

","parent_name":"SCCameraKitAccessTokenProviderTask"},"Protocols/SCCameraKitARInput.html#/c:objc(pl)SCCameraKitARInput(py)session":{"name":"session","abstract":"

The managed ARSession.

","parent_name":"SCCameraKitARInput"},"Protocols/SCCameraKitARInput.html#/c:objc(pl)SCCameraKitARInput(py)arDelegate":{"name":"arDelegate","abstract":"

The intermediate destination for ARKit delegate methods. See the protocol definition for more details.","parent_name":"SCCameraKitARInput"},"Protocols/SCCameraKitARInput.html#/c:objc(pl)SCCameraKitARInput(py)frontCameraConfiguration":{"name":"frontCameraConfiguration","abstract":"

The ARConfiguration to use when using the front camera.

","parent_name":"SCCameraKitARInput"},"Protocols/SCCameraKitARInput.html#/c:objc(pl)SCCameraKitARInput(im)runWithConfiguration:options:":{"name":"-runWithConfiguration:options:","abstract":"

Runs the session with the provided configuration and options.

","parent_name":"SCCameraKitARInput"},"Protocols/SCCameraKitARInput.html#/c:objc(pl)SCCameraKitARInput(im)pause":{"name":"-pause","abstract":"

Pauses the session.

","parent_name":"SCCameraKitARInput"},"Protocols/SCCameraKitARInputDelegate.html#/c:objc(pl)SCCameraKitARInputDelegate(im)input:didAddAnchors:":{"name":"-input:didAddAnchors:","abstract":"

Method to call when the input receives session:didAddAnchors:

","parent_name":"SCCameraKitARInputDelegate"},"Protocols/SCCameraKitARInputDelegate.html#/c:objc(pl)SCCameraKitARInputDelegate(im)input:didUpdateAnchors:":{"name":"-input:didUpdateAnchors:","abstract":"

Method to call when the input receives session:didUpdateAnchors:

","parent_name":"SCCameraKitARInputDelegate"},"Protocols/SCCameraKitARInputDelegate.html#/c:objc(pl)SCCameraKitARInputDelegate(im)input:didRemoveAnchors:":{"name":"-input:didRemoveAnchors:","abstract":"

Method to call when the input receives session:didRemoveAnchors:

","parent_name":"SCCameraKitARInputDelegate"},"Protocols/SCCameraKitProtocol.html#/c:objc(pl)SCCameraKitProtocol(py)lenses":{"name":"lenses","abstract":"

Contains lenses related objects.

","parent_name":"SCCameraKitProtocol"},"Protocols/SCCameraKitProtocol.html#/c:objc(pl)SCCameraKitProtocol(py)adjustments":{"name":"adjustments","abstract":"

Contains adjustment related objects.

","parent_name":"SCCameraKitProtocol"},"Protocols/SCCameraKitProtocol.html#/c:objc(pl)SCCameraKitProtocol(im)startWithInput:arInput:":{"name":"-startWithInput:arInput:","abstract":"

Begin processing input frames with front camera position and portrait video orientation

","parent_name":"SCCameraKitProtocol"},"Protocols/SCCameraKitProtocol.html#/c:objc(pl)SCCameraKitProtocol(im)startWithInput:arInput:cameraPosition:videoOrientation:dataProvider:hintDelegate:":{"name":"-startWithInput:arInput:cameraPosition:videoOrientation:dataProvider:hintDelegate:","abstract":"

Deprecated. Use","parent_name":"SCCameraKitProtocol"},"Protocols/SCCameraKitProtocol.html#/c:objc(pl)SCCameraKitProtocol(im)startWithInput:arInput:cameraPosition:videoOrientation:dataProvider:hintDelegate:agreementsPresentationContextProvider:":{"name":"-startWithInput:arInput:cameraPosition:videoOrientation:dataProvider:hintDelegate:agreementsPresentationContextProvider:","abstract":"

Deprecated. Use","parent_name":"SCCameraKitProtocol"},"Protocols/SCCameraKitProtocol.html#/c:objc(pl)SCCameraKitProtocol(im)startWithInput:arInput:cameraPosition:videoOrientation:dataProvider:hintDelegate:textInputContextProvider:agreementsPresentationContextProvider:":{"name":"-startWithInput:arInput:cameraPosition:videoOrientation:dataProvider:hintDelegate:textInputContextProvider:agreementsPresentationContextProvider:","abstract":"

Begin processing input frames.

","parent_name":"SCCameraKitProtocol"},"Protocols/SCCameraKitProtocol.html#/c:objc(pl)SCCameraKitProtocol(im)stop":{"name":"-stop","abstract":"

End processing input frames.

","parent_name":"SCCameraKitProtocol"},"Protocols/SCCameraKitProtocol.html#/c:objc(pl)SCCameraKitProtocol(im)stopWithCompletion:":{"name":"-stopWithCompletion:","abstract":"

End processing input frames.

","parent_name":"SCCameraKitProtocol"},"Protocols/SCCameraKitProtocol.html#/c:objc(pl)SCCameraKitProtocol(im)addOutput:":{"name":"-addOutput:","abstract":"

Add an output. Frames will still be processed if no outputs exist.

","parent_name":"SCCameraKitProtocol"},"Protocols/SCCameraKitProtocol.html#/c:objc(pl)SCCameraKitProtocol(im)removeOutput:":{"name":"-removeOutput:","abstract":"

Remove an output.

","parent_name":"SCCameraKitProtocol"},"Protocols/SCCameraKitProtocol.html#/c:objc(pl)SCCameraKitProtocol(py)cameraPosition":{"name":"cameraPosition","abstract":"

The camera position in use. Setting will automatically update the input.

","parent_name":"SCCameraKitProtocol"},"Protocols/SCCameraKitProtocol.html#/c:objc(pl)SCCameraKitProtocol(py)videoOrientation":{"name":"videoOrientation","abstract":"

The orientation for the outputted video buffers

","parent_name":"SCCameraKitProtocol"},"Protocols/SCCameraKitProtocol.html#/c:objc(pl)SCCameraKitProtocol(py)activeInput":{"name":"activeInput","abstract":"

The active input. May be either standard camera input or the AR input, depending on lens requirements.

","parent_name":"SCCameraKitProtocol"},"Protocols/SCCameraKitProtocol.html#/c:objc(pl)SCCameraKitProtocol(py)agreementsStore":{"name":"agreementsStore","abstract":"

Store containing information above the acceptance state of terms of service

","parent_name":"SCCameraKitProtocol"},"Protocols/SCCameraKitProtocol.html#/c:objc(pl)SCCameraKitProtocol(im)presentAgreementsImmediately":{"name":"-presentAgreementsImmediately","abstract":"

Presents any agreements such as Terms of Service or Privacy Policy for CameraKit immediately, if needed.

","parent_name":"SCCameraKitProtocol"},"Protocols/SCCameraKitProtocol.html":{"name":"SCCameraKitProtocol","abstract":"

Undocumented

"},"Protocols/SCCameraKitARInputDelegate.html":{"name":"SCCameraKitARInputDelegate","abstract":"

Propogates ARKit session delegate methods back to CameraKit."},"Protocols/SCCameraKitARInput.html":{"name":"SCCameraKitARInput","abstract":"

Describes a source of AR data for CameraKit.

"},"Protocols/SCCameraKitAccessTokenProviderTask.html":{"name":"SCCameraKitAccessTokenProviderTask","abstract":"

Describes an interface that will handle fetching the access token.

"},"Protocols/SCCameraKitAccessTokenProvider.html":{"name":"SCCameraKitAccessTokenProvider","abstract":"

Describes an interface to provide an access token (ie. from LoginKit) required by some features like connected"},"Protocols.html#/c:objc(pl)SCCameraKitAdjustment":{"name":"SCCameraKitAdjustment","abstract":"

Protocol describing the Objective-C interface to an Adjustment.

"},"Protocols.html#/c:objc(pl)SCCameraKitAdjustmentController":{"name":"SCCameraKitAdjustmentController","abstract":"

Protocol describing the Objective-C interface to an Adjustment Controller.

"},"Protocols/SCCameraKitToneMapAdjustmentController.html":{"name":"SCCameraKitToneMapAdjustmentController","abstract":"

A controller to control the tone map adjustment.

"},"Protocols/SCCameraKitPortraitAdjustmentController.html":{"name":"SCCameraKitPortraitAdjustmentController","abstract":"

A controller to control the portrait adjustment.

"},"Protocols/SCCameraKitAdjustmentsProcessor.html":{"name":"SCCameraKitAdjustmentsProcessor","abstract":"

The adjustments processor handles adjusting camera frames before they are processed by lenses.

"},"Protocols/SCCameraKitAdjustmentsComponent.html":{"name":"SCCameraKitAdjustmentsComponent","abstract":"

The adjustments component wraps several adjustment-related classes.

"},"Protocols/SCCameraKitAdjustmentsProcessorObserver.html":{"name":"SCCameraKitAdjustmentsProcessorObserver","abstract":"

Allows conformers to be notified of changes to adjustments processor state

"},"Protocols/SCCameraKitAgreementSet.html":{"name":"SCCameraKitAgreementSet","abstract":"

Protocol to interface with agreements by CameraKit"},"Protocols/SCCameraKitAgreementsPresentationContextProvider.html":{"name":"SCCameraKitAgreementsPresentationContextProvider","abstract":"

Describes an interface to provide presentation context for CameraKit to present agreements.

"},"Protocols/SCCameraKitAgreementsStore.html":{"name":"SCCameraKitAgreementsStore","abstract":"

Protocol describing the CameraKit agreements store.

"},"Protocols/SCCameraKitDeviceMotionParameters.html":{"name":"SCCameraKitDeviceMotionParameters","abstract":"

Params for device motion interface

"},"Protocols/SCCameraKitDeviceMotionDataProvider.html":{"name":"SCCameraKitDeviceMotionDataProvider","abstract":"

Protocol to provide device motion data and handle starting/updating/stopping

"},"Protocols/SCCameraKitErrorHandler.html":{"name":"SCCameraKitErrorHandler","abstract":"

Describes an interface to handler errors and exceptions related to CameraKit

"},"Protocols/SCCameraKitInputDestination.html":{"name":"SCCameraKitInputDestination","abstract":"

The input destination is an intermediary for frame data.

"},"Protocols/SCCameraKitInput.html":{"name":"SCCameraKitInput","abstract":"

Describes a source of frames for CameraKit. Can be a camera, file, etc.

"},"Protocols/SCCameraKitLensPreview.html":{"name":"SCCameraKitLensPreview","abstract":"

Describes an interface that contains lens preview data

"},"Protocols/SCCameraKitLensSnapcodes.html":{"name":"SCCameraKitLensSnapcodes","abstract":"

Describes an interface that contains lens snapcodes data

"},"Protocols/SCCameraKitLens.html":{"name":"SCCameraKitLens","abstract":"

Describes a lens object.

"},"Protocols/SCCameraKitLensHintDelegate.html":{"name":"SCCameraKitLensHintDelegate","abstract":"

Lens hint delegate used to notify receivers when to show/hide hints for applied lenses

"},"Protocols/SCCameraKitLensHintProvider.html":{"name":"SCCameraKitLensHintProvider","abstract":"

Describes an interface used to provide lens hint localizations from hint ids

"},"Protocols.html#/c:objc(pl)SCCameraKitLensLaunchData":{"name":"SCCameraKitLensLaunchData","abstract":"

An opaque protocol used to pass launch data to processor when applying lens

"},"Protocols/SCCameraKitLensMediaPickerProvider.html":{"name":"SCCameraKitLensMediaPickerProvider","abstract":"

Undocumented

"},"Protocols/SCCameraKitLensMediaPickerAsset.html":{"name":"SCCameraKitLensMediaPickerAsset","abstract":"

An asset provided by the picker. May be backed by a PHAsset, or an app’s own custom media type.

"},"Protocols/SCCameraKitLensMediaPickerProviderUIDelegate.html":{"name":"SCCameraKitLensMediaPickerProviderUIDelegate","abstract":"

Delegate responsible for handling UI events related to the provider, such as showing/hiding a picker.

"},"Protocols/SCCameraKitLensMediaPickerProviderMediaApplicationDelegate.html":{"name":"SCCameraKitLensMediaPickerProviderMediaApplicationDelegate","abstract":"

Delegate responsible for applying media to a lens. This should not be implemented directly.

"},"Protocols/SCCameraKitLensPrefetcherObserver.html":{"name":"SCCameraKitLensPrefetcherObserver","abstract":"

Describes an interface used to observe changes in lens fetch status

"},"Protocols/SCCameraKitLensPrefetcherTask.html":{"name":"SCCameraKitLensPrefetcherTask","abstract":"

Describes the interface used to cancel an ongoing prefetch task

"},"Protocols/SCCameraKitLensPrefetcher.html":{"name":"SCCameraKitLensPrefetcher","abstract":"

Describes the interface used to prefetch lens content

"},"Protocols/SCCameraKitLensProcessor.html":{"name":"SCCameraKitLensProcessor","abstract":"

The lens processor handles transforming camera frames and adding effects to them.

"},"Protocols/SCCameraKitLensProcessorObserver.html":{"name":"SCCameraKitLensProcessorObserver","abstract":"

Allows conformers to be notified of changes to lens processor state

"},"Protocols/SCCameraKitLensRemoteApiRequest.html":{"name":"SCCameraKitLensRemoteApiRequest","abstract":"

Describes the remote api service request sent by a lens.

"},"Protocols/SCCameraKitLensRemoteApiResponse.html":{"name":"SCCameraKitLensRemoteApiResponse","abstract":"

Describes the remote api service response to a request sent by a lens.

"},"Protocols/SCCameraKitLensRemoteApiServiceCall.html":{"name":"SCCameraKitLensRemoteApiServiceCall","abstract":"

Describes the call that is sent in response to a remote api request sent by a lens.

"},"Protocols/SCCameraKitLensRemoteApiService.html":{"name":"SCCameraKitLensRemoteApiService","abstract":"

Describes a remote api service used to process requests sent by a lens.

"},"Protocols/SCCameraKitLensRemoteApiServiceProvider.html":{"name":"SCCameraKitLensRemoteApiServiceProvider","abstract":"

Describes an interface to provide remote api services for specific lenses and api spec identifiers.

"},"Protocols/SCCameraKitLensRepositoryGroupObserver.html":{"name":"SCCameraKitLensRepositoryGroupObserver","abstract":"

Allows conformers to be notified of changes to lens groups the repository has available.

"},"Protocols/SCCameraKitLensRepositorySpecificObserver.html":{"name":"SCCameraKitLensRepositorySpecificObserver","abstract":"

Allows conformers to be notified of changes to specific lenses in groups the repository has available.

"},"Protocols/SCCameraKitLensesComponent.html":{"name":"SCCameraKitLensesComponent","abstract":"

The lenses component wraps several lens-related classes.

"},"Protocols/SCCameraKitLensRepository.html":{"name":"SCCameraKitLensRepository","abstract":"

Lens Repository for listing lenses, getting lenses, etc.

"},"Protocols/SCCameraKitLocationParameters.html":{"name":"SCCameraKitLocationParameters","abstract":"

Params for device motion interface

"},"Protocols/SCCameraKitLocationDataProvider.html":{"name":"SCCameraKitLocationDataProvider","abstract":"

Protocol to provide device motion data and handle starting/updating/stopping

"},"Protocols/SCCameraKitOutput.html":{"name":"SCCameraKitOutput","abstract":"

Allows conformers to be notified of new frame data from CameraKit.

"},"Protocols/SCCameraKitPreferences.html":{"name":"SCCameraKitPreferences","abstract":"

Protocol to interface with preferences stored by CameraKit"},"Protocols/SCCameraKitTextInputKeyboardAccessoryProvider.html":{"name":"SCCameraKitTextInputKeyboardAccessoryProvider","abstract":"

Protocol for representing a text input view on-screen for lenses that request it.

"},"Protocols/SCCameraKitTextInputContextProvider.html":{"name":"SCCameraKitTextInputContextProvider","abstract":"

Protocol to provide keyboard input data to lenses.

"},"Protocols.html#/c:objc(pl)SCCameraKitTexture":{"name":"SCCameraKitTexture","abstract":"

An opaque protocol describing CameraKit output.

"},"Protocols/SCCameraKitUserDataProviderDelegate.html":{"name":"SCCameraKitUserDataProviderDelegate","abstract":"

User data provider delegate to provide receivers with new user data on updates

"},"Protocols/SCCameraKitUserDataProvider.html":{"name":"SCCameraKitUserDataProvider","abstract":"

Describes an interface that provides user data to lenses

"},"Protocols/Adjustment.html":{"name":"Adjustment","abstract":"

Swift protocol for an adjustment. Specifies an associated Controller type.

"},"Enums/SCCameraKitPreviewViewContentMode.html#/c:@E@SCCameraKitPreviewViewContentMode@SCCameraKitPreviewViewContentModeScaleToFill":{"name":"SCCameraKitPreviewViewContentModeScaleToFill","abstract":"

Undocumented

","parent_name":"SCCameraKitPreviewViewContentMode"},"Enums/SCCameraKitPreviewViewContentMode.html#/c:@E@SCCameraKitPreviewViewContentMode@SCCameraKitPreviewViewContentModeAspectFill":{"name":"SCCameraKitPreviewViewContentModeAspectFill","abstract":"

Undocumented

","parent_name":"SCCameraKitPreviewViewContentMode"},"Enums/SCCameraKitPreviewViewContentMode.html#/c:@E@SCCameraKitPreviewViewContentMode@SCCameraKitPreviewViewContentModeAspectFit":{"name":"SCCameraKitPreviewViewContentModeAspectFit","abstract":"

Undocumented

","parent_name":"SCCameraKitPreviewViewContentMode"},"Enums/SCCameraKitLensRemoteApiServiceCallStatus.html#/c:@E@SCCameraKitLensRemoteApiServiceCallStatus@SCCameraKitLensRemoteApiServiceCallStatusIgnored":{"name":"SCCameraKitLensRemoteApiServiceCallStatusIgnored","abstract":"

Request was ignored typically due to a remote api service not interested in handling such request to allow other","parent_name":"SCCameraKitLensRemoteApiServiceCallStatus"},"Enums/SCCameraKitLensRemoteApiServiceCallStatus.html#/c:@E@SCCameraKitLensRemoteApiServiceCallStatus@SCCameraKitLensRemoteApiServiceCallStatusOngoing":{"name":"SCCameraKitLensRemoteApiServiceCallStatusOngoing","abstract":"

Request was received but one or more responses are yet to be sent.

","parent_name":"SCCameraKitLensRemoteApiServiceCallStatus"},"Enums/SCCameraKitLensRemoteApiServiceCallStatus.html#/c:@E@SCCameraKitLensRemoteApiServiceCallStatus@SCCameraKitLensRemoteApiServiceCallStatusAnswered":{"name":"SCCameraKitLensRemoteApiServiceCallStatusAnswered","abstract":"

Request was received and a single response was sent indicating that the call is complete.

","parent_name":"SCCameraKitLensRemoteApiServiceCallStatus"},"Enums/SCCameraKitLensRemoteApiResponseStatus.html#/c:@E@SCCameraKitLensRemoteApiResponseStatus@SCCameraKitLensRemoteApiResponseStatusSuccess":{"name":"SCCameraKitLensRemoteApiResponseStatusSuccess","abstract":"

Request succeeded.

","parent_name":"SCCameraKitLensRemoteApiResponseStatus"},"Enums/SCCameraKitLensRemoteApiResponseStatus.html#/c:@E@SCCameraKitLensRemoteApiResponseStatus@SCCameraKitLensRemoteApiResponseStatusRedirected":{"name":"SCCameraKitLensRemoteApiResponseStatusRedirected","abstract":"

Request was redirected.

","parent_name":"SCCameraKitLensRemoteApiResponseStatus"},"Enums/SCCameraKitLensRemoteApiResponseStatus.html#/c:@E@SCCameraKitLensRemoteApiResponseStatus@SCCameraKitLensRemoteApiResponseStatusBadRequest":{"name":"SCCameraKitLensRemoteApiResponseStatusBadRequest","abstract":"

Invalid request.

","parent_name":"SCCameraKitLensRemoteApiResponseStatus"},"Enums/SCCameraKitLensRemoteApiResponseStatus.html#/c:@E@SCCameraKitLensRemoteApiResponseStatus@SCCameraKitLensRemoteApiResponseStatusAccessDenied":{"name":"SCCameraKitLensRemoteApiResponseStatusAccessDenied","abstract":"

Caller doesn’t have permission to access resource.

","parent_name":"SCCameraKitLensRemoteApiResponseStatus"},"Enums/SCCameraKitLensRemoteApiResponseStatus.html#/c:@E@SCCameraKitLensRemoteApiResponseStatus@SCCameraKitLensRemoteApiResponseStatusNotFound":{"name":"SCCameraKitLensRemoteApiResponseStatusNotFound","abstract":"

Resource not found.

","parent_name":"SCCameraKitLensRemoteApiResponseStatus"},"Enums/SCCameraKitLensRemoteApiResponseStatus.html#/c:@E@SCCameraKitLensRemoteApiResponseStatus@SCCameraKitLensRemoteApiResponseStatusTimeout":{"name":"SCCameraKitLensRemoteApiResponseStatusTimeout","abstract":"

Request timed out.

","parent_name":"SCCameraKitLensRemoteApiResponseStatus"},"Enums/SCCameraKitLensRemoteApiResponseStatus.html#/c:@E@SCCameraKitLensRemoteApiResponseStatus@SCCameraKitLensRemoteApiResponseStatusRequestTooLarge":{"name":"SCCameraKitLensRemoteApiResponseStatusRequestTooLarge","abstract":"

Request too large.

","parent_name":"SCCameraKitLensRemoteApiResponseStatus"},"Enums/SCCameraKitLensRemoteApiResponseStatus.html#/c:@E@SCCameraKitLensRemoteApiResponseStatus@SCCameraKitLensRemoteApiResponseStatusInternalServiceError":{"name":"SCCameraKitLensRemoteApiResponseStatusInternalServiceError","abstract":"

Internal service error.

","parent_name":"SCCameraKitLensRemoteApiResponseStatus"},"Enums/SCCameraKitLensRemoteApiResponseStatus.html#/c:@E@SCCameraKitLensRemoteApiResponseStatus@SCCameraKitLensRemoteApiResponseStatusCancelled":{"name":"SCCameraKitLensRemoteApiResponseStatusCancelled","abstract":"

Request cancelled by caller.

","parent_name":"SCCameraKitLensRemoteApiResponseStatus"},"Enums/SCCameraKitLensFetchStatus.html#/c:@E@SCCameraKitLensFetchStatus@SCCameraKitLensFetchStatusUnloaded":{"name":"SCCameraKitLensFetchStatusUnloaded","abstract":"

Undocumented

","parent_name":"SCCameraKitLensFetchStatus"},"Enums/SCCameraKitLensFetchStatus.html#/c:@E@SCCameraKitLensFetchStatus@SCCameraKitLensFetchStatusLoading":{"name":"SCCameraKitLensFetchStatusLoading","abstract":"

Undocumented

","parent_name":"SCCameraKitLensFetchStatus"},"Enums/SCCameraKitLensFetchStatus.html#/c:@E@SCCameraKitLensFetchStatus@SCCameraKitLensFetchStatusLoaded":{"name":"SCCameraKitLensFetchStatusLoaded","abstract":"

Undocumented

","parent_name":"SCCameraKitLensFetchStatus"},"Enums/SCCameraKitLensMediaPickerAssetType.html#/c:@E@SCCameraKitLensMediaPickerAssetType@SCCameraKitLensMediaPickerAssetTypeImage":{"name":"SCCameraKitLensMediaPickerAssetTypeImage","abstract":"

Undocumented

","parent_name":"SCCameraKitLensMediaPickerAssetType"},"Enums/SCCameraKitLensMediaPickerAssetType.html#/c:@E@SCCameraKitLensMediaPickerAssetType@SCCameraKitLensMediaPickerAssetTypeVideo":{"name":"SCCameraKitLensMediaPickerAssetTypeVideo","abstract":"

Undocumented

","parent_name":"SCCameraKitLensMediaPickerAssetType"},"Enums/SCCameraKitLensMediaPickerProviderAllowedMediaType.html#/c:@E@SCCameraKitLensMediaPickerProviderAllowedMediaType@SCCameraKitLensMediaPickerProviderAllowedMediaTypeNoneSpecified":{"name":"SCCameraKitLensMediaPickerProviderAllowedMediaTypeNoneSpecified","abstract":"

Undocumented

","parent_name":"SCCameraKitLensMediaPickerProviderAllowedMediaType"},"Enums/SCCameraKitLensMediaPickerProviderAllowedMediaType.html#/c:@E@SCCameraKitLensMediaPickerProviderAllowedMediaType@SCCameraKitLensMediaPickerProviderAllowedMediaTypeImage":{"name":"SCCameraKitLensMediaPickerProviderAllowedMediaTypeImage","abstract":"

Undocumented

","parent_name":"SCCameraKitLensMediaPickerProviderAllowedMediaType"},"Enums/SCCameraKitLensMediaPickerProviderAllowedMediaType.html#/c:@E@SCCameraKitLensMediaPickerProviderAllowedMediaType@SCCameraKitLensMediaPickerProviderAllowedMediaTypeImageCroppedToFace":{"name":"SCCameraKitLensMediaPickerProviderAllowedMediaTypeImageCroppedToFace","abstract":"

Undocumented

","parent_name":"SCCameraKitLensMediaPickerProviderAllowedMediaType"},"Enums/SCCameraKitLensMediaPickerProviderAllowedMediaType.html#/c:@E@SCCameraKitLensMediaPickerProviderAllowedMediaType@SCCameraKitLensMediaPickerProviderAllowedMediaTypeVideo":{"name":"SCCameraKitLensMediaPickerProviderAllowedMediaTypeVideo","abstract":"

Undocumented

","parent_name":"SCCameraKitLensMediaPickerProviderAllowedMediaType"},"Enums/SCCameraKitLensFacingPreference.html#/c:@E@SCCameraKitLensFacingPreference@SCCameraKitLensFacingPreferenceNone":{"name":"SCCameraKitLensFacingPreferenceNone","abstract":"

Undocumented

","parent_name":"SCCameraKitLensFacingPreference"},"Enums/SCCameraKitLensFacingPreference.html#/c:@E@SCCameraKitLensFacingPreference@SCCameraKitLensFacingPreferenceFront":{"name":"SCCameraKitLensFacingPreferenceFront","abstract":"

Undocumented

","parent_name":"SCCameraKitLensFacingPreference"},"Enums/SCCameraKitLensFacingPreference.html#/c:@E@SCCameraKitLensFacingPreference@SCCameraKitLensFacingPreferenceBack":{"name":"SCCameraKitLensFacingPreferenceBack","abstract":"

Undocumented

","parent_name":"SCCameraKitLensFacingPreference"},"Enums/SCCameraKitAdjustmentsComponentError.html#/c:@E@SCCameraKitAdjustmentsComponentError@SCCameraKitAdjustmentsComponentErrorUnsupportedAdjustment":{"name":"SCCameraKitAdjustmentsComponentErrorUnsupportedAdjustment","abstract":"

Undocumented

","parent_name":"SCCameraKitAdjustmentsComponentError"},"Enums/SCCameraKitAdjustmentsComponentError.html":{"name":"SCCameraKitAdjustmentsComponentError","abstract":"

Undocumented

"},"Enums/SCCameraKitLensFacingPreference.html":{"name":"SCCameraKitLensFacingPreference","abstract":"

Describes all posible facings (inversely relative to the user) that a lens can be designed for.

"},"Enums/SCCameraKitLensMediaPickerProviderAllowedMediaType.html":{"name":"SCCameraKitLensMediaPickerProviderAllowedMediaType","abstract":"

Undocumented

"},"Enums/SCCameraKitLensMediaPickerAssetType.html":{"name":"SCCameraKitLensMediaPickerAssetType","abstract":"

Undocumented

"},"Enums/SCCameraKitLensFetchStatus.html":{"name":"SCCameraKitLensFetchStatus","abstract":"

Describes the fetch status for the lens"},"Enums/SCCameraKitLensRemoteApiResponseStatus.html":{"name":"SCCameraKitLensRemoteApiResponseStatus","abstract":"

Describes the status of the response sent to the lens.

"},"Enums/SCCameraKitLensRemoteApiServiceCallStatus.html":{"name":"SCCameraKitLensRemoteApiServiceCallStatus","abstract":"

Describes the status of the call for the request handled by a remote api service.

"},"Enums/SCCameraKitPreviewViewContentMode.html":{"name":"SCCameraKitPreviewViewContentMode","abstract":"

Undocumented

"},"Constants.html#/c:@SCCameraKitVersion":{"name":"SCCameraKitVersion","abstract":"

Short CameraKit version (ie 1.8.0)

"},"Constants.html#/c:@SCCameraKitLensCoreVersion":{"name":"SCCameraKitLensCoreVersion","abstract":"

LensCore version (ie 243)

"},"Constants.html#/c:@SCCameraKitAdjustmentsComponentErrorDomain":{"name":"SCCameraKitAdjustmentsComponentErrorDomain","abstract":"

Undocumented

"},"Constants.html#/c:@SCCameraKitErrorUnspecified":{"name":"SCCameraKitErrorUnspecified","abstract":"

Undocumented

"},"Constants.html#/c:@SCCameraKitErrorLensMetadataNotFound":{"name":"SCCameraKitErrorLensMetadataNotFound","abstract":"

Undocumented

"},"Constants.html#/c:@SCCameraKitErrorLensContentNotFound":{"name":"SCCameraKitErrorLensContentNotFound","abstract":"

Undocumented

"},"Constants.html#/c:@SCCameraKitErrorLensContentUrlMissing":{"name":"SCCameraKitErrorLensContentUrlMissing","abstract":"

Undocumented

"},"Constants.html#/c:@SCCameraKitErrorLensChecksumMissing":{"name":"SCCameraKitErrorLensChecksumMissing","abstract":"

Undocumented

"},"Constants.html#/c:@SCCameraKitErrorCannotWriteToFile":{"name":"SCCameraKitErrorCannotWriteToFile","abstract":"

Undocumented

"},"Constants.html#/c:@SCCameraKitExceptionUnauthorized":{"name":"SCCameraKitExceptionUnauthorized","abstract":"

Reported when SCCameraKitClientID in Info.plist is missing or invalid.

"},"Constants.html#/c:@SCCameraKitExceptionInvalidApplicationState":{"name":"SCCameraKitExceptionInvalidApplicationState","abstract":"

Reported when backend fails to authenticate client."},"Constants.html#/c:@SCCameraKitExceptionInvalidLens":{"name":"SCCameraKitExceptionInvalidLens","abstract":"

Reported when trying to pass an invalid lens class that’s different than the internal ones we support.

"},"Constants.html#/c:@SCCameraKitExceptionInvalidTexture":{"name":"SCCameraKitExceptionInvalidTexture","abstract":"

Reported when trying to draw an invalid texture class that’s different than the internal ones we support.

"},"Constants.html#/c:@SCCameraKitExceptionProcessingLensFailure":{"name":"SCCameraKitExceptionProcessingLensFailure","abstract":"

Reported whne processing fails due to a lens error. Lens errors are normally caused by"},"Constants.html#/c:@SCCameraKitExceptionProcessingInternalFailure":{"name":"SCCameraKitExceptionProcessingInternalFailure","abstract":"

Reported when processing fails due to an internal error. Cause of such errors can be bugs in the"},"Constants.html#/c:@SCCameraKitLensRepositoryBundledGroup":{"name":"SCCameraKitLensRepositoryBundledGroup","abstract":"

Undocumented

"},"Constants.html#/c:@SCCameraKitLensesComponentErrorDomain":{"name":"SCCameraKitLensesComponentErrorDomain","abstract":"

Undocumented

"},"Classes/SCCameraKitUserData.html#/c:objc(cs)SCCameraKitUserData(py)displayName":{"name":"displayName","abstract":"

User’s full display name

","parent_name":"SCCameraKitUserData"},"Classes/SCCameraKitUserData.html#/c:objc(cs)SCCameraKitUserData(py)birthDate":{"name":"birthDate","abstract":"

User’s birth date (optional)

","parent_name":"SCCameraKitUserData"},"Classes/SCCameraKitUserData.html#/c:objc(cs)SCCameraKitUserData(im)initWithDisplayName:birthDate:":{"name":"-initWithDisplayName:birthDate:","abstract":"

Designated init to pass in user data fields

","parent_name":"SCCameraKitUserData"},"Classes/SCCameraKitUserData.html#/c:objc(cs)SCCameraKitUserData(im)init":{"name":"-init","abstract":"

Use designated init or convenience init to pass in required user properties

","parent_name":"SCCameraKitUserData"},"Classes/SCCameraKitUserData.html#/c:objc(cs)SCCameraKitUserData(cm)new":{"name":"+new","abstract":"

Undocumented

","parent_name":"SCCameraKitUserData"},"Classes/SCCameraKitSessionConfig.html#/c:objc(cs)SCCameraKitSessionConfig(py)apiToken":{"name":"apiToken","abstract":"

API token that is found in the dev portal

","parent_name":"SCCameraKitSessionConfig"},"Classes/SCCameraKitSessionConfig.html#/c:objc(cs)SCCameraKitSessionConfig(py)additionalConfigurationAttributes":{"name":"additionalConfigurationAttributes","abstract":"
","parent_name":"SCCameraKitSessionConfig"},"Classes/SCCameraKitSessionConfig.html#/c:objc(cs)SCCameraKitSessionConfig(im)initWithApiToken:":{"name":"-initWithApiToken:","abstract":"

Designated init to pass in apiToken

","parent_name":"SCCameraKitSessionConfig"},"Classes/SCCameraKitSessionConfig.html#/c:objc(cs)SCCameraKitSessionConfig(im)initWithApiToken:additionalConfigurationAttributes:":{"name":"-initWithApiToken:additionalConfigurationAttributes:","abstract":"

Init to pass in apiToken

","parent_name":"SCCameraKitSessionConfig"},"Classes/SCCameraKitSessionConfig.html#/c:objc(cs)SCCameraKitSessionConfig(cm)new":{"name":"+new","abstract":"

Use designated init to pass in require applicationID and apiToken

","parent_name":"SCCameraKitSessionConfig"},"Classes/SCCameraKitSessionConfig.html#/c:objc(cs)SCCameraKitSessionConfig(im)init":{"name":"-init","abstract":"

Undocumented

","parent_name":"SCCameraKitSessionConfig"},"Classes/SCCameraKitSessionConfig.html#/c:objc(cs)SCCameraKitSessionConfig(py)applicationId":{"name":"applicationId","abstract":"

applicationID/clientID that is found in the dev portal

","parent_name":"SCCameraKitSessionConfig"},"Classes/SCCameraKitSessionConfig.html#/c:objc(cs)SCCameraKitSessionConfig(im)initWithApplicationID:apiToken:":{"name":"-initWithApplicationID:apiToken:","abstract":"

Designated init to pass in applicationID and apiToken

","parent_name":"SCCameraKitSessionConfig"},"Classes/SCCameraKitSessionConfig.html#/c:objc(cs)SCCameraKitSessionConfig(im)initWithApplicationID:apiToken:additionalConfigurationAttributes:":{"name":"-initWithApplicationID:apiToken:additionalConfigurationAttributes:","abstract":"

Init to pass in applicationID and apiToken

","parent_name":"SCCameraKitSessionConfig"},"Classes/SCCameraKitPreviewView.html#/c:objc(cs)SCCameraKitPreviewView(py)automaticallyConfiguresTouchHandler":{"name":"automaticallyConfiguresTouchHandler","abstract":"

Configures the neccessary gesture recognizers for handling touch input in lenses.","parent_name":"SCCameraKitPreviewView"},"Classes/SCCameraKitPreviewView.html#/c:objc(cs)SCCameraKitPreviewView(py)automaticallyConfiguresViewport":{"name":"automaticallyConfiguresViewport","abstract":"

Configures the viewport upon changes to the view’s frame.","parent_name":"SCCameraKitPreviewView"},"Classes/SCCameraKitPreviewView.html#/c:objc(cs)SCCameraKitPreviewView(py)contentMode":{"name":"contentMode","abstract":"

Configures the content mode the preview view will use to render.

","parent_name":"SCCameraKitPreviewView"},"Classes/SCCameraKitPreviewView.html#/c:objc(cs)SCCameraKitPreviewView(py)safeArea":{"name":"safeArea","abstract":"

Configures the safe area to an explicitly specified rect.

","parent_name":"SCCameraKitPreviewView"},"Classes/SCCameraKitPreviewView.html#/c:objc(cs)SCCameraKitPreviewView(py)explicitViewportProvider":{"name":"explicitViewportProvider","abstract":"

Setting this property configures the preview view to use its viewportSize, outputResolution, and safeArea.

","parent_name":"SCCameraKitPreviewView"},"Classes/SCCameraKitPreviewView.html#/c:objc(cs)SCCameraKitPreviewView(im)configureSafeAreaWithOccludingViews:":{"name":"-configureSafeAreaWithOccludingViews:","abstract":"

Automatically configures the safeArea property to avoid the specified views.

","parent_name":"SCCameraKitPreviewView"},"Classes/SCCameraKitPhotoCaptureOutput.html#/c:objc(cs)SCCameraKitPhotoCaptureOutput(im)init":{"name":"-init","abstract":"

Undocumented

","parent_name":"SCCameraKitPhotoCaptureOutput"},"Classes/SCCameraKitPhotoCaptureOutput.html#/c:objc(cs)SCCameraKitPhotoCaptureOutput(cm)new":{"name":"+new","abstract":"

Undocumented

","parent_name":"SCCameraKitPhotoCaptureOutput"},"Classes/SCCameraKitPhotoCaptureOutput.html#/c:objc(cs)SCCameraKitPhotoCaptureOutput(im)initWithCapturePhotoOutput:":{"name":"-initWithCapturePhotoOutput:","abstract":"

Instantiates a capturer with the specified AVCapturePhotoOutput and capture settings.

","parent_name":"SCCameraKitPhotoCaptureOutput"},"Classes/SCCameraKitPhotoCaptureOutput.html#/c:objc(cs)SCCameraKitPhotoCaptureOutput(im)capturePhotoWithCaptureSettings:outputSize:completion:":{"name":"-capturePhotoWithCaptureSettings:outputSize:completion:","abstract":"

Capture a photo and call a completion with the resulting image when done.

","parent_name":"SCCameraKitPhotoCaptureOutput"},"Classes/SCCameraKitPhotoCaptureOutput.html#/c:objc(cs)SCCameraKitPhotoCaptureOutput(im)capturePhotoWithCaptureSettings:completion:":{"name":"-capturePhotoWithCaptureSettings:completion:","abstract":"

Capture a photo and call a completion with the resulting image when done.

","parent_name":"SCCameraKitPhotoCaptureOutput"},"Classes/SCCameraKitLensesConfig.html#/c:objc(cs)SCCameraKitLensesConfig(py)cacheConfig":{"name":"cacheConfig","abstract":"

Cache config instance to configure cache properties

","parent_name":"SCCameraKitLensesConfig"},"Classes/SCCameraKitLensesConfig.html#/c:objc(cs)SCCameraKitLensesConfig(im)initWithCacheConfig:":{"name":"-initWithCacheConfig:","abstract":"

Init with cache config instance

","parent_name":"SCCameraKitLensesConfig"},"Classes/SCCameraKitCacheConfig.html#/c:objc(cs)SCCameraKitCacheConfig(py)lensContentMaxSize":{"name":"lensContentMaxSize","abstract":"

Max size in bytes for lens content cache

","parent_name":"SCCameraKitCacheConfig"},"Classes/SCCameraKitCacheConfig.html#/c:objc(cs)SCCameraKitCacheConfig(im)initWithLensContentMaxSize:":{"name":"-initWithLensContentMaxSize:","abstract":"

Init with specifed max size for lens content cache

","parent_name":"SCCameraKitCacheConfig"},"Classes/SCCameraKitLensRemoteApiResponse.html#/c:objc(cs)SCCameraKitLensRemoteApiResponse(im)initWithRequest:status:metadata:body:":{"name":"-initWithRequest:status:metadata:body:","abstract":"

Designated init to pass in required properties for the response.

","parent_name":"SCCameraKitLensRemoteApiResponse"},"Classes/SCCameraKitLensRemoteApiResponse.html#/c:objc(cs)SCCameraKitLensRemoteApiResponse(im)init":{"name":"-init","abstract":"

Use designated init to pass in required properties

","parent_name":"SCCameraKitLensRemoteApiResponse"},"Classes/SCCameraKitLensRemoteApiResponse.html#/c:objc(cs)SCCameraKitLensRemoteApiResponse(cm)new":{"name":"+new","abstract":"

Undocumented

","parent_name":"SCCameraKitLensRemoteApiResponse"},"Classes/SCCameraKitLensMediaPickerProviderPhotoLibrary.html#/c:objc(cs)SCCameraKitLensMediaPickerProviderPhotoLibrary(im)initWithDefaultAssetTypes:":{"name":"-initWithDefaultAssetTypes:","abstract":"

Initializes the photo library provider.

","parent_name":"SCCameraKitLensMediaPickerProviderPhotoLibrary"},"Classes/SCCameraKitLensMediaPickerProviderPhotoLibrary.html#/c:objc(cs)SCCameraKitLensMediaPickerProviderPhotoLibrary(im)init":{"name":"-init","abstract":"

Use designated init or convenience init

","parent_name":"SCCameraKitLensMediaPickerProviderPhotoLibrary"},"Classes/SCCameraKitLensMediaPickerProviderPhotoLibrary.html#/c:objc(cs)SCCameraKitLensMediaPickerProviderPhotoLibrary(cm)new":{"name":"+new","abstract":"

Undocumented

","parent_name":"SCCameraKitLensMediaPickerProviderPhotoLibrary"},"Classes/SCCameraKitLensLaunchDataBuilder.html#/c:objc(cs)SCCameraKitLensLaunchDataBuilder(py)launchData":{"name":"launchData","abstract":"

Builds and get launch data from current builder state

","parent_name":"SCCameraKitLensLaunchDataBuilder"},"Classes/SCCameraKitLensLaunchDataBuilder.html#/c:objc(cs)SCCameraKitLensLaunchDataBuilder(im)addNumber:forKey:":{"name":"-addNumber:forKey:","abstract":"

Add number key-value pair to launch data

","parent_name":"SCCameraKitLensLaunchDataBuilder"},"Classes/SCCameraKitLensLaunchDataBuilder.html#/c:objc(cs)SCCameraKitLensLaunchDataBuilder(im)addNumberArray:forKey:":{"name":"-addNumberArray:forKey:","abstract":"

Add number array key-value pair to launch data

","parent_name":"SCCameraKitLensLaunchDataBuilder"},"Classes/SCCameraKitLensLaunchDataBuilder.html#/c:objc(cs)SCCameraKitLensLaunchDataBuilder(im)addString:forKey:":{"name":"-addString:forKey:","abstract":"

Add string key-value pair to launch data

","parent_name":"SCCameraKitLensLaunchDataBuilder"},"Classes/SCCameraKitLensLaunchDataBuilder.html#/c:objc(cs)SCCameraKitLensLaunchDataBuilder(im)addStringArray:forKey:":{"name":"-addStringArray:forKey:","abstract":"

Add string array key-value pair to launch data

","parent_name":"SCCameraKitLensLaunchDataBuilder"},"Classes/SCCameraKitLensLaunchDataBuilder.html#/c:objc(cs)SCCameraKitLensLaunchDataBuilder(im)removeValueForKey:":{"name":"-removeValueForKey:","abstract":"

Removes key-value pair from launch data

","parent_name":"SCCameraKitLensLaunchDataBuilder"},"Classes/SCCameraKitExplicitViewportProvider.html#/c:objc(cs)SCCameraKitExplicitViewportProvider(im)initWithViewportSize:outputResolution:safeArea:":{"name":"-initWithViewportSize:outputResolution:safeArea:","abstract":"

Initializes the ExplicitViewportProvider with the specified viewportSize, outputResolution, and safeArea.

","parent_name":"SCCameraKitExplicitViewportProvider"},"Classes/SCCameraKitExplicitViewportProvider.html#/c:objc(cs)SCCameraKitExplicitViewportProvider(im)setViewportSize:":{"name":"-setViewportSize:","abstract":"

Sets the output viewport size and propagates the change to SCCameraKitPreviewView.

","parent_name":"SCCameraKitExplicitViewportProvider"},"Classes/SCCameraKitExplicitViewportProvider.html#/c:objc(cs)SCCameraKitExplicitViewportProvider(im)setOutputResolution:":{"name":"-setOutputResolution:","abstract":"

Sets the output resolution and propagates the change to SCCameraKitPreviewView.

","parent_name":"SCCameraKitExplicitViewportProvider"},"Classes/SCCameraKitExplicitViewportProvider.html#/c:objc(cs)SCCameraKitExplicitViewportProvider(im)setSafeArea:":{"name":"-setSafeArea:","abstract":"

Sets the safe area and propagates the change to SCCameraKitPreviewView.

","parent_name":"SCCameraKitExplicitViewportProvider"},"Classes/SCCameraKitExplicitViewportProvider.html#/c:objc(cs)SCCameraKitExplicitViewportProvider(im)init":{"name":"-init","abstract":"

Use the designated initializer to pass in the required properties.

","parent_name":"SCCameraKitExplicitViewportProvider"},"Classes/SCCameraKitExplicitViewportProvider.html#/c:objc(cs)SCCameraKitExplicitViewportProvider(cm)new":{"name":"+new","abstract":"

Undocumented

","parent_name":"SCCameraKitExplicitViewportProvider"},"Classes/SCCameraKitDataProviderComponent.html#/c:objc(cs)SCCameraKitDataProviderComponent(py)deviceMotion":{"name":"deviceMotion","abstract":"

Device motion data provider

","parent_name":"SCCameraKitDataProviderComponent"},"Classes/SCCameraKitDataProviderComponent.html#/c:objc(cs)SCCameraKitDataProviderComponent(py)userData":{"name":"userData","abstract":"

User data provider

","parent_name":"SCCameraKitDataProviderComponent"},"Classes/SCCameraKitDataProviderComponent.html#/c:objc(cs)SCCameraKitDataProviderComponent(py)lensHint":{"name":"lensHint","abstract":"

Lens hint provider to provide lens hint localizations

","parent_name":"SCCameraKitDataProviderComponent"},"Classes/SCCameraKitDataProviderComponent.html#/c:objc(cs)SCCameraKitDataProviderComponent(py)location":{"name":"location","abstract":"

Location data provider

","parent_name":"SCCameraKitDataProviderComponent"},"Classes/SCCameraKitDataProviderComponent.html#/c:objc(cs)SCCameraKitDataProviderComponent(py)mediaPicker":{"name":"mediaPicker","abstract":"

Media picker provider for selecting and loading external images and video into lenses.

","parent_name":"SCCameraKitDataProviderComponent"},"Classes/SCCameraKitDataProviderComponent.html#/c:objc(cs)SCCameraKitDataProviderComponent(py)remoteApiServiceProviders":{"name":"remoteApiServiceProviders","abstract":"

List of remote api service providers to handle remote api requests sent by lenses.

","parent_name":"SCCameraKitDataProviderComponent"},"Classes/SCCameraKitDataProviderComponent.html#/c:objc(cs)SCCameraKitDataProviderComponent(im)initWithDeviceMotion:userData:lensHint:location:mediaPicker:remoteApiServiceProviders:":{"name":"-initWithDeviceMotion:userData:lensHint:location:mediaPicker:remoteApiServiceProviders:","abstract":"

Designated init to pass in user data providers","parent_name":"SCCameraKitDataProviderComponent"},"Classes/SCCameraKitDataProviderComponent.html#/c:objc(cs)SCCameraKitDataProviderComponent(im)initWithDeviceMotion:userData:":{"name":"-initWithDeviceMotion:userData:","abstract":"

Convenience init to mantain API compatibility

","parent_name":"SCCameraKitDataProviderComponent"},"Classes/SCCameraKitDataProviderComponent.html#/c:objc(cs)SCCameraKitDataProviderComponent(im)initWithDeviceMotion:userData:lensHint:":{"name":"-initWithDeviceMotion:userData:lensHint:","abstract":"

Convenience init to mantain API compatibility

","parent_name":"SCCameraKitDataProviderComponent"},"Classes/SCCameraKitDataProviderComponent.html#/c:objc(cs)SCCameraKitDataProviderComponent(im)initWithDeviceMotion:userData:lensHint:location:":{"name":"-initWithDeviceMotion:userData:lensHint:location:","abstract":"

Convenience init to mantain API compatibility","parent_name":"SCCameraKitDataProviderComponent"},"Classes/SCCameraKitDataProviderComponent.html#/c:objc(cs)SCCameraKitDataProviderComponent(im)initWithDeviceMotion:userData:lensHint:location:mediaPicker:":{"name":"-initWithDeviceMotion:userData:lensHint:location:mediaPicker:","abstract":"

Convenience init to mantain API compatibility

","parent_name":"SCCameraKitDataProviderComponent"},"Classes/SCCameraKitAVWriterOutput.html#/c:objc(cs)SCCameraKitAVWriterOutput(py)startDate":{"name":"startDate","abstract":"

Date and time of first video buffer recorded (ie. start recording time)

","parent_name":"SCCameraKitAVWriterOutput"},"Classes/SCCameraKitAVWriterOutput.html#/c:objc(cs)SCCameraKitAVWriterOutput(im)initWithAVAssetWriter:pixelBufferInput:audioInput:":{"name":"-initWithAVAssetWriter:pixelBufferInput:audioInput:","abstract":"

Create an AVWriterOutput

","parent_name":"SCCameraKitAVWriterOutput"},"Classes/SCCameraKitAVWriterOutput.html#/c:objc(cs)SCCameraKitAVWriterOutput(cm)new":{"name":"+new","abstract":"

Use designated init or convenience init to pass in required writer and inputs

","parent_name":"SCCameraKitAVWriterOutput"},"Classes/SCCameraKitAVWriterOutput.html#/c:objc(cs)SCCameraKitAVWriterOutput(im)init":{"name":"-init","abstract":"

Undocumented

","parent_name":"SCCameraKitAVWriterOutput"},"Classes/SCCameraKitAVWriterOutput.html#/c:objc(cs)SCCameraKitAVWriterOutput(im)startRecording":{"name":"-startRecording","abstract":"

Call this after you start recording on the AVAssetWriter. This will indicate that the output should start recording","parent_name":"SCCameraKitAVWriterOutput"},"Classes/SCCameraKitAVWriterOutput.html#/c:objc(cs)SCCameraKitAVWriterOutput(im)stopRecording":{"name":"-stopRecording","abstract":"

Call this before you stop recording on the AVAssetWriter. This will cause the output to stop recording data from","parent_name":"SCCameraKitAVWriterOutput"},"Classes/SCCameraKitAVSessionInput.html#/c:objc(cs)SCCameraKitAVSessionInput(py)videoMirrored":{"name":"videoMirrored","abstract":"

Describes whether the current video frames are mirrored

","parent_name":"SCCameraKitAVSessionInput"},"Classes/SCCameraKitAVSessionInput.html#/c:objc(cs)SCCameraKitAVSessionInput(py)automaticallyConfiguresVideoMirrored":{"name":"automaticallyConfiguresVideoMirrored","abstract":"

Describes whether it should automatically configure outputted video frames to be mirrored.","parent_name":"SCCameraKitAVSessionInput"},"Classes/SCCameraKitAVSessionInput.html#/c:objc(cs)SCCameraKitAVSessionInput(py)audioEnabled":{"name":"audioEnabled","abstract":"

Determines whether or not this input will capture audio and pass audio buffer data to CameraKit.","parent_name":"SCCameraKitAVSessionInput"},"Classes/SCCameraKitAVSessionInput.html#/c:objc(cs)SCCameraKitAVSessionInput(im)initWithSession:":{"name":"-initWithSession:","abstract":"

Create an AV Session input.

","parent_name":"SCCameraKitAVSessionInput"},"Classes/SCCameraKitAVSessionInput.html#/c:objc(cs)SCCameraKitAVSessionInput(im)initWithSession:audioEnabled:":{"name":"-initWithSession:audioEnabled:","abstract":"

Create an AV Session input.

","parent_name":"SCCameraKitAVSessionInput"},"Classes/SCCameraKitARSessionInput.html#/c:objc(cs)SCCameraKitARSessionInput(im)init":{"name":"-init","abstract":"

Create an AR Session input.","parent_name":"SCCameraKitARSessionInput"},"Classes/SCCameraKitARSessionInput.html#/c:objc(cs)SCCameraKitARSessionInput(im)initWithSession:":{"name":"-initWithSession:","abstract":"

Create an AR Session input with a preexisting session.

","parent_name":"SCCameraKitARSessionInput"},"Classes/SCCameraKitARSessionInput.html#/c:objc(cs)SCCameraKitARSessionInput(im)initWithSession:frontCameraConfiguration:":{"name":"-initWithSession:frontCameraConfiguration:","abstract":"

Create an AR Session input with a preexisting session.

","parent_name":"SCCameraKitARSessionInput"},"Classes/SCCameraKitSession.html#/c:objc(cs)SCCameraKitSession(im)initWithSessionConfig:lensesConfig:errorHandler:":{"name":"-initWithSessionConfig:lensesConfig:errorHandler:","abstract":"

Init with session and lenses config instance to configure properties within lenses component

","parent_name":"SCCameraKitSession"},"Classes/SCCameraKitSession.html#/c:objc(cs)SCCameraKitSession(im)initWithLensesConfig:errorHandler:":{"name":"-initWithLensesConfig:errorHandler:","abstract":"

Init with lenses config instance to configure properties within lenses component

","parent_name":"SCCameraKitSession"},"Classes/SCCameraKitPortraitAdjustment.html#/s:So29SCCameraKitPortraitAdjustmentC011SCSDKCameraB0E10Controllera":{"name":"Controller","parent_name":"SCCameraKitPortraitAdjustment"},"Classes/SCCameraKitToneMapAdjustment.html#/s:So28SCCameraKitToneMapAdjustmentC011SCSDKCameraB0E10Controllera":{"name":"Controller","parent_name":"SCCameraKitToneMapAdjustment"},"Classes/SCCameraKitToneMapAdjustment.html":{"name":"SCCameraKitToneMapAdjustment","abstract":"

An adjustment which allows users to more accurately represent the color of their skin when captured by the camera.

"},"Classes/SCCameraKitPortraitAdjustment.html":{"name":"SCCameraKitPortraitAdjustment","abstract":"

An adjustment which allows users to blur the background on their input.

"},"Classes/SCCameraKitSession.html":{"name":"SCCameraKitSession","abstract":"

CameraKit handles interaction with the camera and contains several components like lenses.

"},"Classes/SCCameraKitARSessionInput.html":{"name":"SCCameraKitARSessionInput","abstract":"

ARSessionInput is a CameraKit provided wrapper for ARSession.

"},"Classes/SCCameraKitAVSessionInput.html":{"name":"SCCameraKitAVSessionInput","abstract":"

AVSessionInput is a CameraKit provided wrapper for AVCaptureSession. It may make adjustments to things like color"},"Classes/SCCameraKitAVWriterOutput.html":{"name":"SCCameraKitAVWriterOutput","abstract":"

AVWriterOutput is a CameraKit provided wrapper for AVAssetWriter. You are still responsible for the configuration of"},"Classes/SCCameraKitDataProviderComponent.html":{"name":"SCCameraKitDataProviderComponent","abstract":"

Component for user’s custom data providers

"},"Classes/SCCameraKitExplicitViewportProvider.html":{"name":"SCCameraKitExplicitViewportProvider","abstract":"

Enables the configuration of a custom viewport for SCCameraKitPreviewView.

"},"Classes/SCCameraKitLensLaunchDataBuilder.html":{"name":"SCCameraKitLensLaunchDataBuilder","abstract":"

Concrete class to build lens launch data to pass to processor when applying

"},"Classes.html#/c:objc(cs)SCCameraKitEmptyLensLaunchData":{"name":"SCCameraKitEmptyLensLaunchData","abstract":"

Final, opaque data class to reset persisted launch data

"},"Classes/SCCameraKitLensMediaPickerProviderPhotoLibrary.html":{"name":"SCCameraKitLensMediaPickerProviderPhotoLibrary","abstract":"

A default implementation of SCCameraKitLensMediaPickerProvider that uses the user’s photos library.

"},"Classes/SCCameraKitLensRemoteApiResponse.html":{"name":"SCCameraKitLensRemoteApiResponse","abstract":"

Concrete data class for the remote api service response to a request sent by a lens.

"},"Classes/SCCameraKitCacheConfig.html":{"name":"SCCameraKitCacheConfig","abstract":"

Concrete class to configure camera kit cache

"},"Classes/SCCameraKitLensesConfig.html":{"name":"SCCameraKitLensesConfig","abstract":"

Concrete class to configure all available, user-configurable properties within the lenses component

"},"Classes/SCCameraKitPhotoCaptureOutput.html":{"name":"SCCameraKitPhotoCaptureOutput","abstract":"

An output that will capture photos. You should add this as an output for your CameraKit instance.

"},"Classes/SCCameraKitPreviewView.html":{"name":"SCCameraKitPreviewView","abstract":"

A UIView which is capable of rendering SCCameraKitTextures. You should add this as an output for your CameraKit"},"Classes/SCCameraKitSessionConfig.html":{"name":"SCCameraKitSessionConfig","abstract":"

Data class that is used to pass in a configuration for the CameraKit Session."},"Classes/SCCameraKitUserData.html":{"name":"SCCameraKitUserData","abstract":"

Concrete user data class to pass in user data that can be used by some lenses

"},"Classes.html":{"name":"Classes","abstract":"

The following classes are available globally.

"},"Constants.html":{"name":"Constants","abstract":"

The following constants are available globally.

"},"Enums.html":{"name":"Enumerations","abstract":"

The following enumerations are available globally.

"},"Protocols.html":{"name":"Protocols","abstract":"

The following protocols are available globally.

"},"Type%20Definitions.html":{"name":"Type Definitions","abstract":"

The following type definitions are available globally.

"},"Structs.html":{"name":"Structures","abstract":"

The following structures are available globally.

"},"Extensions.html":{"name":"Extensions","abstract":"

The following extensions are available globally.

"}} \ No newline at end of file diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/docSet.dsidx b/docs/api/ios/1.36.1/SCSDKCameraKit/docsets/.docset/Contents/Resources/docSet.dsidx new file mode 100644 index 0000000000000000000000000000000000000000..ba158e52bdca822d35e7dcf5b2a0cb4fabe92cbd GIT binary patch literal 126976 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%0AG%}RSd*A>=we3p@( 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

uKi_-qa!&S%8cYot@@P-HSfvu&BH( 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

+

+ + 1.36.1 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+ +

CameraKit iOS

+

Usage Philosophy

+ +

In general, CameraKit attaches to your existing camera workflow. You are still responsible for configuring and managing an AVCaptureSession, which CameraKit will attach onto. You may start, stop, and reconfigure your session as needed.

+

Getting Started

+

Requirements

+ +

CameraKit requires a minimum of iOS 11, and a 64 bit processor. CameraKit will compile, but not run on a Simulator (due to lack of AVCaptureSession support).

+ +

Make sure you also update SCCameraKitClientID and SCCameraKitAPIToken in your application’s Info.plist with the application ID and API token from the Snap Kit developer portal. Note that you can also pass in these values when creating a session like:

+
let sessionConfig = SessionConfig(applicationID: "application_id_here", apiToken: "api_token_here")
+let session = Session(sessionConfig: sessionConfig, lensesConfig: nil, errorHandler: nil)
+
+ +

This is useful in case you need to dynamically update your API token which may happen in the case where your API token gets revoked for some reason.

+ +

In order to test sharing to Snapchat, make sure you also add your Snap Kit client id SCSDKClientId in Info.plist

+

Dependency Management

+ +

CameraKit currently supports CocoaPods and Swift Package Manager.

+

CocoaPods

+ +

The Podfile should already be setup correctly to reference the camera kit sdk podpsec directory, but if you choose to move the SDK podspec directory somewhere else just be sure to add/modify this line: +pod 'SCSDKCameraKit', :path => 'CameraKit/CameraKit' +where :path points to the directory that contains the camera kit podspec.

+ +

Before opening the workspace make sure you run +pod install +and open CameraKitSample.xcworkspace

+

Swift Package Manager

+ +
    +
  • Drag and drop the CameraKit/CameraKit directory into your project or workspace.
  • +
  • Click the + button in the “Frameworks, Libraries, and Embedded Content” section, select SCSDKCameraKit, and add it as a dependency.
  • +
+ +

More detail can be found in Apple’s documentation.

+

Configure your AVCaptureSession Pipeline

+ +

First, create and configure an AVCaptureSession. Apple provides a full-featured reference.

+ +

For example, if you want to setup a regular capture session for the front facing camera you’d do:

+
let captureSession = AVCaptureSession()
+captureSession.beginConfiguration()
+guard let videoDevice = AVCaptureDevice.default(.builtInWideAngleCamera, for: .video, position: .front),
+    let videoDeviceInput = try? AVCaptureDeviceInput(device: videoDevice),
+    captureSession.canAddInput(videoDeviceInput) else { return }
+captureSession.addInput(videoDeviceInput)
+captureSession.commitConfiguration()
+captureSession.startRunning()
+
+ +

(PS: don’t forget to add NSCameraUsageDescription in your Info.plist and make sure you have set up the proper permissions/authorization flows)

+

Configuring the CameraKit Pipeline

+ +

CameraKit works similarly to AVCaptureSession – it also has inputs and outputs. We’ll create a CameraKit session, and connect it to your existing AVCaptureSession.

+ +

To begin, first instantiate a Session. A Session object will be your main entry point into CameraKit. Through it, you can access components like lenses.

+
let cameraKit = Session()
+
+ +

Next, create a CameraKit input and start your CameraKit Session with it. AVSessionInput is an input that CameraKit provides that wraps up lens-specific details of AVCaptureSession configuration (such as setting the pixel format).

+
let input = AVSessionInput(session: yourAVCaptureSession)
+cameraKit.start(with: input)
+
+ +

To display the processed output of CameraKit, we provide a PreviewView that behaves similarly to AVCaptureVideoPreviewLayer. The PreviewView is a CameraKit Output – it receives processed frames and displays them. We’ll also set automaticallyConfiguresTouchHandler so that CameraKit can process touch events and users can interact with lenses. Add it to the view heirarchy like any other UIView, and connect it to the Session by calling add(output:).

+
let previewView = PreviewView()
+previewView.automaticallyConfiguresTouchHandler = true
+cameraKit.add(output: previewView)
+
+ +

At this point, if you build and run your app, you should see your camera input displaying onscreen without any lenses applied to it. We’ll discuss how to activate lenses in the next section.

+

Activating Lenses

+ +

CameraKit lenses are provided by the LensRepository class. You can access this through cameraKit.lenses.respository. Lenses are fetched asynchronously, and you may wish to hold a reference to the lenses returned from LensRepository.

+
cameraKit.lenses.repository.availableLenses { lenses, error in
+    self.lenses = lenses
+}
+
+ +

The LensProcessor is responsible for applying and clearing lenses. You can access it through cameraKit.lenses.processor.

+ +

We can now take the lens that we’ve retrieved from the repository, and apply it to the lens processor.

+
cameraKit.lenses.processor?.apply { success in
+    // If success == true, the lens is now applied
+}
+
+ +

The preview view should now be showing camera input with a lens applied.

+ +

When you are done with a lens and want to remove it from the camera input, you can call clear on the lens processor. It is not neccessary to clear a lens before applying a new one.

+
cameraKit.lenses.processor?.clear() { success in
+    // If success == true, the lens has been cleared
+}
+
+ +

The preview view should once again be showing camera input with no lenses applied.

+ +
+
+ + +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/js/jazzy.js b/docs/api/ios/1.36.1/SCSDKCameraKit/js/jazzy.js new file mode 100755 index 000000000..198441660 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/js/jazzy.js @@ -0,0 +1,74 @@ +// Jazzy - https://github.com/realm/jazzy +// Copyright Realm Inc. +// SPDX-License-Identifier: MIT + +window.jazzy = {'docset': false} +if (typeof window.dash != 'undefined') { + document.documentElement.className += ' dash' + window.jazzy.docset = true +} +if (navigator.userAgent.match(/xcode/i)) { + document.documentElement.className += ' xcode' + window.jazzy.docset = true +} + +function toggleItem($link, $content) { + var animationDuration = 300; + $link.toggleClass('token-open'); + $content.slideToggle(animationDuration); +} + +function itemLinkToContent($link) { + return $link.parent().parent().next(); +} + +// On doc load + hash-change, open any targetted item +function openCurrentItemIfClosed() { + if (window.jazzy.docset) { + return; + } + var $link = $(`a[name="${location.hash.substring(1)}"]`).nextAll('.token'); + $content = itemLinkToContent($link); + if ($content.is(':hidden')) { + toggleItem($link, $content); + } +} + +$(openCurrentItemIfClosed); +$(window).on('hashchange', openCurrentItemIfClosed); + +// On item link ('token') click, toggle its discussion +$('.token').on('click', function(event) { + if (window.jazzy.docset) { + return; + } + var $link = $(this); + toggleItem($link, itemLinkToContent($link)); + + // Keeps the document from jumping to the hash. + var href = $link.attr('href'); + if (history.pushState) { + history.pushState({}, '', href); + } else { + location.hash = href; + } + event.preventDefault(); +}); + +// Clicks on links to the current, closed, item need to open the item +$("a:not('.token')").on('click', function() { + if (location == this.href) { + openCurrentItemIfClosed(); + } +}); + +// KaTeX rendering +if ("katex" in window) { + $($('.math').each( (_, element) => { + katex.render(element.textContent, element, { + displayMode: $(element).hasClass('m-block'), + throwOnError: false, + trust: true + }); + })) +} diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/js/jazzy.search.js b/docs/api/ios/1.36.1/SCSDKCameraKit/js/jazzy.search.js new file mode 100644 index 000000000..359cdbb8b --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/js/jazzy.search.js @@ -0,0 +1,74 @@ +// Jazzy - https://github.com/realm/jazzy +// Copyright Realm Inc. +// SPDX-License-Identifier: MIT + +$(function(){ + var $typeahead = $('[data-typeahead]'); + var $form = $typeahead.parents('form'); + var searchURL = $form.attr('action'); + + function displayTemplate(result) { + return result.name; + } + + function suggestionTemplate(result) { + var t = '
'; + t += '' + result.name + ''; + if (result.parent_name) { + t += '' + result.parent_name + ''; + } + t += '
'; + return t; + } + + $typeahead.one('focus', function() { + $form.addClass('loading'); + + $.getJSON(searchURL).then(function(searchData) { + const searchIndex = lunr(function() { + this.ref('url'); + this.field('name'); + this.field('abstract'); + for (const [url, doc] of Object.entries(searchData)) { + this.add({url: url, name: doc.name, abstract: doc.abstract}); + } + }); + + $typeahead.typeahead( + { + highlight: true, + minLength: 3, + autoselect: true + }, + { + limit: 10, + display: displayTemplate, + templates: { suggestion: suggestionTemplate }, + source: function(query, sync) { + const lcSearch = query.toLowerCase(); + const results = searchIndex.query(function(q) { + q.term(lcSearch, { boost: 100 }); + q.term(lcSearch, { + boost: 10, + wildcard: lunr.Query.wildcard.TRAILING + }); + }).map(function(result) { + var doc = searchData[result.ref]; + doc.url = result.ref; + return doc; + }); + sync(results); + } + } + ); + $form.removeClass('loading'); + $typeahead.trigger('focus'); + }); + }); + + var baseURL = searchURL.slice(0, -"search.json".length); + + $typeahead.on('typeahead:select', function(e, result) { + window.location = baseURL + result.url; + }); +}); diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/js/jquery.min.js b/docs/api/ios/1.36.1/SCSDKCameraKit/js/jquery.min.js new file mode 100644 index 000000000..c4c6022f2 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/js/jquery.min.js @@ -0,0 +1,2 @@ +/*! jQuery v3.6.0 | (c) OpenJS Foundation and other contributors | jquery.org/license */ +!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";var t=[],r=Object.getPrototypeOf,s=t.slice,g=t.flat?function(e){return t.flat.call(e)}:function(e){return t.concat.apply([],e)},u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType&&"function"!=typeof e.item},x=function(e){return null!=e&&e===e.window},E=C.document,c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.6.0",S=function(e,t){return new S.fn.init(e,t)};function p(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp(F),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+F),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\([^\\r\\n\\f])","g"),ne=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(p.childNodes),p.childNodes),t[p.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&(T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!N[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&(U.test(t)||z.test(t))){(f=ee.test(t)&&ye(e.parentNode)||e)===e&&d.scope||((s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=S)),o=(l=h(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+xe(l[o]);c=l.join(",")}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){N(t,!0)}finally{s===S&&e.removeAttribute("id")}}}return g(t.replace($,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[S]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e&&e.namespaceURI,n=e&&(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:p;return r!=C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),p!=C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.scope=ce(function(e){return a.appendChild(e).appendChild(C.createElement("div")),"undefined"!=typeof e.querySelectorAll&&!e.querySelectorAll(":scope fieldset div").length}),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=S,!C.getElementsByName||!C.getElementsByName(S).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){var t;a.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+S+"-]").length||v.push("~="),(t=C.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||v.push("\\["+M+"*name"+M+"*="+M+"*(?:''|\"\")"),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+S+"+*").length||v.push(".#.+[+~]"),e.querySelectorAll("\\\f"),v.push("[\\r\\n\\f]")}),ce(function(e){e.innerHTML="";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",F)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},j=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e==C||e.ownerDocument==p&&y(p,e)?-1:t==C||t.ownerDocument==p&&y(p,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e==C?-1:t==C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]==p?-1:s[r]==p?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if(T(e),d.matchesSelector&&E&&!N[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){N(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=m[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&m(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,n,r){return m(n)?S.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?S.grep(e,function(e){return e===n!==r}):"string"!=typeof n?S.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(S.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||D,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:q.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof S?t[0]:t,S.merge(this,S.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),N.test(r[1])&&S.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(S):S.makeArray(e,this)}).prototype=S.fn,D=S(E);var L=/^(?:parents|prev(?:Until|All))/,H={children:!0,contents:!0,next:!0,prev:!0};function O(e,t){while((e=e[t])&&1!==e.nodeType);return e}S.fn.extend({has:function(e){var t=S(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i;ce=E.createDocumentFragment().appendChild(E.createElement("div")),(fe=E.createElement("input")).setAttribute("type","radio"),fe.setAttribute("checked","checked"),fe.setAttribute("name","t"),ce.appendChild(fe),y.checkClone=ce.cloneNode(!0).cloneNode(!0).lastChild.checked,ce.innerHTML="",y.noCloneChecked=!!ce.cloneNode(!0).lastChild.defaultValue,ce.innerHTML="",y.option=!!ce.lastChild;var ge={thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};function ve(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?S.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;n",""]);var me=/<|&#?\w+;/;function xe(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d\s*$/g;function je(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&S(e).children("tbody")[0]||e}function De(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function qe(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Le(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(Y.hasData(e)&&(s=Y.get(e).events))for(i in Y.remove(t,"handle events"),s)for(n=0,r=s[i].length;n").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var _t,zt=[],Ut=/(=)\?(?=&|$)|\?\?/;S.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=zt.pop()||S.expando+"_"+wt.guid++;return this[e]=!0,e}}),S.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Ut.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Ut.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Ut,"$1"+r):!1!==e.jsonp&&(e.url+=(Tt.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||S.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?S(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,zt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((_t=E.implementation.createHTMLDocument("").body).innerHTML="
",2===_t.childNodes.length),S.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=N.exec(e))?[t.createElement(i[1])]:(i=xe([e],t,o),o&&o.length&&S(o).remove(),S.merge([],i.childNodes)));var r,i,o},S.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1").append(S.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},S.expr.pseudos.animated=function(t){return S.grep(S.timers,function(e){return t===e.elem}).length},S.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=S.css(e,"position"),c=S(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=S.css(e,"top"),u=S.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,S.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},S.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){S.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===S.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===S.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=S(e).offset()).top+=S.css(e,"borderTopWidth",!0),i.left+=S.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-S.css(r,"marginTop",!0),left:t.left-i.left-S.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===S.css(e,"position"))e=e.offsetParent;return e||re})}}),S.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;S.fn[t]=function(e){return $(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),S.each(["top","left"],function(e,n){S.cssHooks[n]=Fe(y.pixelPosition,function(e,t){if(t)return t=We(e,n),Pe.test(t)?S(e).position()[n]+"px":t})}),S.each({Height:"height",Width:"width"},function(a,s){S.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){S.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return $(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?S.css(e,t,i):S.style(e,t,n,i)},s,n?e:void 0,n)}})}),S.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){S.fn[t]=function(e){return this.on(t,e)}}),S.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),S.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){S.fn[n]=function(e,t){return 00){var c=e.utils.clone(r)||{};c.position=[a,l],c.index=s.length,s.push(new e.Token(i.slice(a,o),c))}a=o+1}}return s},e.tokenizer.separator=/[\s\-]+/,e.Pipeline=function(){this._stack=[]},e.Pipeline.registeredFunctions=Object.create(null),e.Pipeline.registerFunction=function(t,r){r in this.registeredFunctions&&e.utils.warn("Overwriting existing registered function: "+r),t.label=r,e.Pipeline.registeredFunctions[t.label]=t},e.Pipeline.warnIfFunctionNotRegistered=function(t){var r=t.label&&t.label in this.registeredFunctions;r||e.utils.warn("Function is not registered with pipeline. This may cause problems when serialising the index.\n",t)},e.Pipeline.load=function(t){var r=new e.Pipeline;return t.forEach(function(t){var i=e.Pipeline.registeredFunctions[t];if(!i)throw new Error("Cannot load unregistered function: "+t);r.add(i)}),r},e.Pipeline.prototype.add=function(){var t=Array.prototype.slice.call(arguments);t.forEach(function(t){e.Pipeline.warnIfFunctionNotRegistered(t),this._stack.push(t)},this)},e.Pipeline.prototype.after=function(t,r){e.Pipeline.warnIfFunctionNotRegistered(r);var i=this._stack.indexOf(t);if(i==-1)throw new Error("Cannot find existingFn");i+=1,this._stack.splice(i,0,r)},e.Pipeline.prototype.before=function(t,r){e.Pipeline.warnIfFunctionNotRegistered(r);var i=this._stack.indexOf(t);if(i==-1)throw new Error("Cannot find existingFn");this._stack.splice(i,0,r)},e.Pipeline.prototype.remove=function(e){var t=this._stack.indexOf(e);t!=-1&&this._stack.splice(t,1)},e.Pipeline.prototype.run=function(e){for(var t=this._stack.length,r=0;r1&&(se&&(r=n),s!=e);)i=r-t,n=t+Math.floor(i/2),s=this.elements[2*n];return s==e?2*n:s>e?2*n:sa?l+=2:o==a&&(t+=r[u+1]*i[l+1],u+=2,l+=2);return t},e.Vector.prototype.similarity=function(e){return this.dot(e)/this.magnitude()||0},e.Vector.prototype.toArray=function(){for(var e=new Array(this.elements.length/2),t=1,r=0;t0){var o,a=s.str.charAt(0);a in s.node.edges?o=s.node.edges[a]:(o=new e.TokenSet,s.node.edges[a]=o),1==s.str.length&&(o["final"]=!0),n.push({node:o,editsRemaining:s.editsRemaining,str:s.str.slice(1)})}if(0!=s.editsRemaining){if("*"in s.node.edges)var u=s.node.edges["*"];else{var u=new e.TokenSet;s.node.edges["*"]=u}if(0==s.str.length&&(u["final"]=!0),n.push({node:u,editsRemaining:s.editsRemaining-1,str:s.str}),s.str.length>1&&n.push({node:s.node,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)}),1==s.str.length&&(s.node["final"]=!0),s.str.length>=1){if("*"in s.node.edges)var l=s.node.edges["*"];else{var l=new e.TokenSet;s.node.edges["*"]=l}1==s.str.length&&(l["final"]=!0),n.push({node:l,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)})}if(s.str.length>1){var c,h=s.str.charAt(0),d=s.str.charAt(1);d in s.node.edges?c=s.node.edges[d]:(c=new e.TokenSet,s.node.edges[d]=c),1==s.str.length&&(c["final"]=!0),n.push({node:c,editsRemaining:s.editsRemaining-1,str:h+s.str.slice(2)})}}}return i},e.TokenSet.fromString=function(t){for(var r=new e.TokenSet,i=r,n=0,s=t.length;n=e;t--){var r=this.uncheckedNodes[t],i=r.child.toString();i in this.minimizedNodes?r.parent.edges[r["char"]]=this.minimizedNodes[i]:(r.child._str=i,this.minimizedNodes[i]=r.child),this.uncheckedNodes.pop()}},e.Index=function(e){this.invertedIndex=e.invertedIndex,this.fieldVectors=e.fieldVectors,this.tokenSet=e.tokenSet,this.fields=e.fields,this.pipeline=e.pipeline},e.Index.prototype.search=function(t){return this.query(function(r){var i=new e.QueryParser(t,r);i.parse()})},e.Index.prototype.query=function(t){for(var r=new e.Query(this.fields),i=Object.create(null),n=Object.create(null),s=Object.create(null),o=Object.create(null),a=Object.create(null),u=0;u1?this._b=1:this._b=e},e.Builder.prototype.k1=function(e){this._k1=e},e.Builder.prototype.add=function(t,r){var i=t[this._ref],n=Object.keys(this._fields);this._documents[i]=r||{},this.documentCount+=1;for(var s=0;s=this.length)return e.QueryLexer.EOS;var t=this.str.charAt(this.pos);return this.pos+=1,t},e.QueryLexer.prototype.width=function(){return this.pos-this.start},e.QueryLexer.prototype.ignore=function(){this.start==this.pos&&(this.pos+=1),this.start=this.pos},e.QueryLexer.prototype.backup=function(){this.pos-=1},e.QueryLexer.prototype.acceptDigitRun=function(){var t,r;do t=this.next(),r=t.charCodeAt(0);while(r>47&&r<58);t!=e.QueryLexer.EOS&&this.backup()},e.QueryLexer.prototype.more=function(){return this.pos1&&(t.backup(),t.emit(e.QueryLexer.TERM)),t.ignore(),t.more())return e.QueryLexer.lexText},e.QueryLexer.lexEditDistance=function(t){return t.ignore(),t.acceptDigitRun(),t.emit(e.QueryLexer.EDIT_DISTANCE),e.QueryLexer.lexText},e.QueryLexer.lexBoost=function(t){return t.ignore(),t.acceptDigitRun(),t.emit(e.QueryLexer.BOOST),e.QueryLexer.lexText},e.QueryLexer.lexEOS=function(t){t.width()>0&&t.emit(e.QueryLexer.TERM)},e.QueryLexer.termSeparator=e.tokenizer.separator,e.QueryLexer.lexText=function(t){for(;;){var r=t.next();if(r==e.QueryLexer.EOS)return e.QueryLexer.lexEOS;if(92!=r.charCodeAt(0)){if(":"==r)return e.QueryLexer.lexField;if("~"==r)return t.backup(),t.width()>0&&t.emit(e.QueryLexer.TERM),e.QueryLexer.lexEditDistance;if("^"==r)return t.backup(),t.width()>0&&t.emit(e.QueryLexer.TERM),e.QueryLexer.lexBoost;if("+"==r&&1===t.width())return t.emit(e.QueryLexer.PRESENCE),e.QueryLexer.lexText;if("-"==r&&1===t.width())return t.emit(e.QueryLexer.PRESENCE),e.QueryLexer.lexText;if(r.match(e.QueryLexer.termSeparator))return e.QueryLexer.lexTerm}else t.escapeCharacter()}},e.QueryParser=function(t,r){this.lexer=new e.QueryLexer(t),this.query=r,this.currentClause={},this.lexemeIdx=0},e.QueryParser.prototype.parse=function(){this.lexer.run(),this.lexemes=this.lexer.lexemes;for(var t=e.QueryParser.parseClause;t;)t=t(this);return this.query},e.QueryParser.prototype.peekLexeme=function(){return this.lexemes[this.lexemeIdx]},e.QueryParser.prototype.consumeLexeme=function(){var e=this.peekLexeme();return this.lexemeIdx+=1,e},e.QueryParser.prototype.nextClause=function(){var e=this.currentClause;this.query.clause(e),this.currentClause={}},e.QueryParser.parseClause=function(t){var r=t.peekLexeme();if(void 0!=r)switch(r.type){case e.QueryLexer.PRESENCE:return e.QueryParser.parsePresence;case e.QueryLexer.FIELD:return e.QueryParser.parseField;case e.QueryLexer.TERM:return e.QueryParser.parseTerm;default:var i="expected either a field or a term, found "+r.type;throw r.str.length>=1&&(i+=" with value '"+r.str+"'"),new e.QueryParseError(i,r.start,r.end)}},e.QueryParser.parsePresence=function(t){var r=t.consumeLexeme();if(void 0!=r){switch(r.str){case"-":t.currentClause.presence=e.Query.presence.PROHIBITED;break;case"+":t.currentClause.presence=e.Query.presence.REQUIRED;break;default:var i="unrecognised presence operator'"+r.str+"'";throw new e.QueryParseError(i,r.start,r.end)}var n=t.peekLexeme();if(void 0==n){var i="expecting term or field, found nothing";throw new e.QueryParseError(i,r.start,r.end)}switch(n.type){case e.QueryLexer.FIELD:return e.QueryParser.parseField;case e.QueryLexer.TERM:return e.QueryParser.parseTerm;default:var i="expecting term or field, found '"+n.type+"'";throw new e.QueryParseError(i,n.start,n.end)}}},e.QueryParser.parseField=function(t){var r=t.consumeLexeme();if(void 0!=r){if(t.query.allFields.indexOf(r.str)==-1){var i=t.query.allFields.map(function(e){return"'"+e+"'"}).join(", "),n="unrecognised field '"+r.str+"', possible fields: "+i;throw new e.QueryParseError(n,r.start,r.end)}t.currentClause.fields=[r.str];var s=t.peekLexeme();if(void 0==s){var n="expecting term, found nothing";throw new e.QueryParseError(n,r.start,r.end)}switch(s.type){case e.QueryLexer.TERM:return e.QueryParser.parseTerm;default:var n="expecting term, found '"+s.type+"'";throw new e.QueryParseError(n,s.start,s.end)}}},e.QueryParser.parseTerm=function(t){var r=t.consumeLexeme();if(void 0!=r){t.currentClause.term=r.str.toLowerCase(),r.str.indexOf("*")!=-1&&(t.currentClause.usePipeline=!1);var i=t.peekLexeme();if(void 0==i)return void t.nextClause();switch(i.type){case e.QueryLexer.TERM:return t.nextClause(),e.QueryParser.parseTerm;case e.QueryLexer.FIELD:return t.nextClause(),e.QueryParser.parseField;case e.QueryLexer.EDIT_DISTANCE:return e.QueryParser.parseEditDistance;case e.QueryLexer.BOOST:return e.QueryParser.parseBoost;case e.QueryLexer.PRESENCE:return t.nextClause(),e.QueryParser.parsePresence;default:var n="Unexpected lexeme type '"+i.type+"'";throw new e.QueryParseError(n,i.start,i.end)}}},e.QueryParser.parseEditDistance=function(t){var r=t.consumeLexeme();if(void 0!=r){var i=parseInt(r.str,10);if(isNaN(i)){var n="edit distance must be numeric";throw new e.QueryParseError(n,r.start,r.end)}t.currentClause.editDistance=i;var s=t.peekLexeme();if(void 0==s)return void t.nextClause();switch(s.type){case e.QueryLexer.TERM:return t.nextClause(),e.QueryParser.parseTerm;case e.QueryLexer.FIELD:return t.nextClause(),e.QueryParser.parseField;case e.QueryLexer.EDIT_DISTANCE:return e.QueryParser.parseEditDistance;case e.QueryLexer.BOOST:return e.QueryParser.parseBoost;case e.QueryLexer.PRESENCE:return t.nextClause(),e.QueryParser.parsePresence;default:var n="Unexpected lexeme type '"+s.type+"'";throw new e.QueryParseError(n,s.start,s.end)}}},e.QueryParser.parseBoost=function(t){var r=t.consumeLexeme();if(void 0!=r){var i=parseInt(r.str,10);if(isNaN(i)){var n="boost must be numeric";throw new e.QueryParseError(n,r.start,r.end)}t.currentClause.boost=i;var s=t.peekLexeme();if(void 0==s)return void t.nextClause();switch(s.type){case e.QueryLexer.TERM:return t.nextClause(),e.QueryParser.parseTerm;case e.QueryLexer.FIELD:return t.nextClause(),e.QueryParser.parseField;case e.QueryLexer.EDIT_DISTANCE:return e.QueryParser.parseEditDistance;case e.QueryLexer.BOOST:return e.QueryParser.parseBoost;case e.QueryLexer.PRESENCE:return t.nextClause(),e.QueryParser.parsePresence;default:var n="Unexpected lexeme type '"+s.type+"'";throw new e.QueryParseError(n,s.start,s.end)}}},function(e,t){"function"==typeof define&&define.amd?define(t):"object"==typeof exports?module.exports=t():e.lunr=t()}(this,function(){return e})}(); diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/js/typeahead.jquery.js b/docs/api/ios/1.36.1/SCSDKCameraKit/js/typeahead.jquery.js new file mode 100644 index 000000000..3a2d2ab03 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/js/typeahead.jquery.js @@ -0,0 +1,1694 @@ +/*! + * typeahead.js 1.3.1 + * https://github.com/corejavascript/typeahead.js + * Copyright 2013-2020 Twitter, Inc. and other contributors; Licensed MIT + */ + + +(function(root, factory) { + if (typeof define === "function" && define.amd) { + define([ "jquery" ], function(a0) { + return factory(a0); + }); + } else if (typeof module === "object" && module.exports) { + module.exports = factory(require("jquery")); + } else { + factory(root["jQuery"]); + } +})(this, function($) { + var _ = function() { + "use strict"; + return { + isMsie: function() { + return /(msie|trident)/i.test(navigator.userAgent) ? navigator.userAgent.match(/(msie |rv:)(\d+(.\d+)?)/i)[2] : false; + }, + isBlankString: function(str) { + return !str || /^\s*$/.test(str); + }, + escapeRegExChars: function(str) { + return str.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, "\\$&"); + }, + isString: function(obj) { + return typeof obj === "string"; + }, + isNumber: function(obj) { + return typeof obj === "number"; + }, + isArray: $.isArray, + isFunction: $.isFunction, + isObject: $.isPlainObject, + isUndefined: function(obj) { + return typeof obj === "undefined"; + }, + isElement: function(obj) { + return !!(obj && obj.nodeType === 1); + }, + isJQuery: function(obj) { + return obj instanceof $; + }, + toStr: function toStr(s) { + return _.isUndefined(s) || s === null ? "" : s + ""; + }, + bind: $.proxy, + each: function(collection, cb) { + $.each(collection, reverseArgs); + function reverseArgs(index, value) { + return cb(value, index); + } + }, + map: $.map, + filter: $.grep, + every: function(obj, test) { + var result = true; + if (!obj) { + return result; + } + $.each(obj, function(key, val) { + if (!(result = test.call(null, val, key, obj))) { + return false; + } + }); + return !!result; + }, + some: function(obj, test) { + var result = false; + if (!obj) { + return result; + } + $.each(obj, function(key, val) { + if (result = test.call(null, val, key, obj)) { + return false; + } + }); + return !!result; + }, + mixin: $.extend, + identity: function(x) { + return x; + }, + clone: function(obj) { + return $.extend(true, {}, obj); + }, + getIdGenerator: function() { + var counter = 0; + return function() { + return counter++; + }; + }, + templatify: function templatify(obj) { + return $.isFunction(obj) ? obj : template; + function template() { + return String(obj); + } + }, + defer: function(fn) { + setTimeout(fn, 0); + }, + debounce: function(func, wait, immediate) { + var timeout, result; + return function() { + var context = this, args = arguments, later, callNow; + later = function() { + timeout = null; + if (!immediate) { + result = func.apply(context, args); + } + }; + callNow = immediate && !timeout; + clearTimeout(timeout); + timeout = setTimeout(later, wait); + if (callNow) { + result = func.apply(context, args); + } + return result; + }; + }, + throttle: function(func, wait) { + var context, args, timeout, result, previous, later; + previous = 0; + later = function() { + previous = new Date(); + timeout = null; + result = func.apply(context, args); + }; + return function() { + var now = new Date(), remaining = wait - (now - previous); + context = this; + args = arguments; + if (remaining <= 0) { + clearTimeout(timeout); + timeout = null; + previous = now; + result = func.apply(context, args); + } else if (!timeout) { + timeout = setTimeout(later, remaining); + } + return result; + }; + }, + stringify: function(val) { + return _.isString(val) ? val : JSON.stringify(val); + }, + guid: function() { + function _p8(s) { + var p = (Math.random().toString(16) + "000000000").substr(2, 8); + return s ? "-" + p.substr(0, 4) + "-" + p.substr(4, 4) : p; + } + return "tt-" + _p8() + _p8(true) + _p8(true) + _p8(); + }, + noop: function() {} + }; + }(); + var WWW = function() { + "use strict"; + var defaultClassNames = { + wrapper: "twitter-typeahead", + input: "tt-input", + hint: "tt-hint", + menu: "tt-menu", + dataset: "tt-dataset", + suggestion: "tt-suggestion", + selectable: "tt-selectable", + empty: "tt-empty", + open: "tt-open", + cursor: "tt-cursor", + highlight: "tt-highlight" + }; + return build; + function build(o) { + var www, classes; + classes = _.mixin({}, defaultClassNames, o); + www = { + css: buildCss(), + classes: classes, + html: buildHtml(classes), + selectors: buildSelectors(classes) + }; + return { + css: www.css, + html: www.html, + classes: www.classes, + selectors: www.selectors, + mixin: function(o) { + _.mixin(o, www); + } + }; + } + function buildHtml(c) { + return { + wrapper: '', + menu: '
' + }; + } + function buildSelectors(classes) { + var selectors = {}; + _.each(classes, function(v, k) { + selectors[k] = "." + v; + }); + return selectors; + } + function buildCss() { + var css = { + wrapper: { + position: "relative", + display: "inline-block" + }, + hint: { + position: "absolute", + top: "0", + left: "0", + borderColor: "transparent", + boxShadow: "none", + opacity: "1" + }, + input: { + position: "relative", + verticalAlign: "top", + backgroundColor: "transparent" + }, + inputWithNoHint: { + position: "relative", + verticalAlign: "top" + }, + menu: { + position: "absolute", + top: "100%", + left: "0", + zIndex: "100", + display: "none" + }, + ltr: { + left: "0", + right: "auto" + }, + rtl: { + left: "auto", + right: " 0" + } + }; + if (_.isMsie()) { + _.mixin(css.input, { + backgroundImage: "url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)" + }); + } + return css; + } + }(); + var EventBus = function() { + "use strict"; + var namespace, deprecationMap; + namespace = "typeahead:"; + deprecationMap = { + render: "rendered", + cursorchange: "cursorchanged", + select: "selected", + autocomplete: "autocompleted" + }; + function EventBus(o) { + if (!o || !o.el) { + $.error("EventBus initialized without el"); + } + this.$el = $(o.el); + } + _.mixin(EventBus.prototype, { + _trigger: function(type, args) { + var $e = $.Event(namespace + type); + this.$el.trigger.call(this.$el, $e, args || []); + return $e; + }, + before: function(type) { + var args, $e; + args = [].slice.call(arguments, 1); + $e = this._trigger("before" + type, args); + return $e.isDefaultPrevented(); + }, + trigger: function(type) { + var deprecatedType; + this._trigger(type, [].slice.call(arguments, 1)); + if (deprecatedType = deprecationMap[type]) { + this._trigger(deprecatedType, [].slice.call(arguments, 1)); + } + } + }); + return EventBus; + }(); + var EventEmitter = function() { + "use strict"; + var splitter = /\s+/, nextTick = getNextTick(); + return { + onSync: onSync, + onAsync: onAsync, + off: off, + trigger: trigger + }; + function on(method, types, cb, context) { + var type; + if (!cb) { + return this; + } + types = types.split(splitter); + cb = context ? bindContext(cb, context) : cb; + this._callbacks = this._callbacks || {}; + while (type = types.shift()) { + this._callbacks[type] = this._callbacks[type] || { + sync: [], + async: [] + }; + this._callbacks[type][method].push(cb); + } + return this; + } + function onAsync(types, cb, context) { + return on.call(this, "async", types, cb, context); + } + function onSync(types, cb, context) { + return on.call(this, "sync", types, cb, context); + } + function off(types) { + var type; + if (!this._callbacks) { + return this; + } + types = types.split(splitter); + while (type = types.shift()) { + delete this._callbacks[type]; + } + return this; + } + function trigger(types) { + var type, callbacks, args, syncFlush, asyncFlush; + if (!this._callbacks) { + return this; + } + types = types.split(splitter); + args = [].slice.call(arguments, 1); + while ((type = types.shift()) && (callbacks = this._callbacks[type])) { + syncFlush = getFlush(callbacks.sync, this, [ type ].concat(args)); + asyncFlush = getFlush(callbacks.async, this, [ type ].concat(args)); + syncFlush() && nextTick(asyncFlush); + } + return this; + } + function getFlush(callbacks, context, args) { + return flush; + function flush() { + var cancelled; + for (var i = 0, len = callbacks.length; !cancelled && i < len; i += 1) { + cancelled = callbacks[i].apply(context, args) === false; + } + return !cancelled; + } + } + function getNextTick() { + var nextTickFn; + if (window.setImmediate) { + nextTickFn = function nextTickSetImmediate(fn) { + setImmediate(function() { + fn(); + }); + }; + } else { + nextTickFn = function nextTickSetTimeout(fn) { + setTimeout(function() { + fn(); + }, 0); + }; + } + return nextTickFn; + } + function bindContext(fn, context) { + return fn.bind ? fn.bind(context) : function() { + fn.apply(context, [].slice.call(arguments, 0)); + }; + } + }(); + var highlight = function(doc) { + "use strict"; + var defaults = { + node: null, + pattern: null, + tagName: "strong", + className: null, + wordsOnly: false, + caseSensitive: false, + diacriticInsensitive: false + }; + var accented = { + A: "[AaªÀ-Åà-åĀ-ąǍǎȀ-ȃȦȧᴬᵃḀḁẚẠ-ảₐ℀℁℻⒜Ⓐⓐ㍱-㍴㎀-㎄㎈㎉㎩-㎯㏂㏊㏟㏿Aa]", + B: "[BbᴮᵇḂ-ḇℬ⒝Ⓑⓑ㍴㎅-㎇㏃㏈㏔㏝Bb]", + C: "[CcÇçĆ-čᶜ℀ℂ℃℅℆ℭⅭⅽ⒞Ⓒⓒ㍶㎈㎉㎝㎠㎤㏄-㏇Cc]", + D: "[DdĎďDŽ-džDZ-dzᴰᵈḊ-ḓⅅⅆⅮⅾ⒟Ⓓⓓ㋏㍲㍷-㍹㎗㎭-㎯㏅㏈Dd]", + E: "[EeÈ-Ëè-ëĒ-ěȄ-ȇȨȩᴱᵉḘ-ḛẸ-ẽₑ℡ℯℰⅇ⒠Ⓔⓔ㉐㋍㋎Ee]", + F: "[FfᶠḞḟ℉ℱ℻⒡Ⓕⓕ㎊-㎌㎙ff-fflFf]", + G: "[GgĜ-ģǦǧǴǵᴳᵍḠḡℊ⒢Ⓖⓖ㋌㋍㎇㎍-㎏㎓㎬㏆㏉㏒㏿Gg]", + H: "[HhĤĥȞȟʰᴴḢ-ḫẖℋ-ℎ⒣Ⓗⓗ㋌㍱㎐-㎔㏊㏋㏗Hh]", + I: "[IiÌ-Ïì-ïĨ-İIJijǏǐȈ-ȋᴵᵢḬḭỈ-ịⁱℐℑℹⅈⅠ-ⅣⅥ-ⅨⅪⅫⅰ-ⅳⅵ-ⅸⅺⅻ⒤Ⓘⓘ㍺㏌㏕fiffiIi]", + J: "[JjIJ-ĵLJ-njǰʲᴶⅉ⒥ⒿⓙⱼJj]", + K: "[KkĶķǨǩᴷᵏḰ-ḵK⒦Ⓚⓚ㎄㎅㎉㎏㎑㎘㎞㎢㎦㎪㎸㎾㏀㏆㏍-㏏Kk]", + L: "[LlĹ-ŀLJ-ljˡᴸḶḷḺ-ḽℒℓ℡Ⅼⅼ⒧Ⓛⓛ㋏㎈㎉㏐-㏓㏕㏖㏿flfflLl]", + M: "[MmᴹᵐḾ-ṃ℠™ℳⅯⅿ⒨Ⓜⓜ㍷-㍹㎃㎆㎎㎒㎖㎙-㎨㎫㎳㎷㎹㎽㎿㏁㏂㏎㏐㏔-㏖㏘㏙㏞㏟Mm]", + N: "[NnÑñŃ-ʼnNJ-njǸǹᴺṄ-ṋⁿℕ№⒩Ⓝⓝ㎁㎋㎚㎱㎵㎻㏌㏑Nn]", + O: "[OoºÒ-Öò-öŌ-őƠơǑǒǪǫȌ-ȏȮȯᴼᵒỌ-ỏₒ℅№ℴ⒪Ⓞⓞ㍵㏇㏒㏖Oo]", + P: "[PpᴾᵖṔ-ṗℙ⒫Ⓟⓟ㉐㍱㍶㎀㎊㎩-㎬㎰㎴㎺㏋㏗-㏚Pp]", + Q: "[Qqℚ⒬Ⓠⓠ㏃Qq]", + R: "[RrŔ-řȐ-ȓʳᴿᵣṘ-ṛṞṟ₨ℛ-ℝ⒭Ⓡⓡ㋍㍴㎭-㎯㏚㏛Rr]", + S: "[SsŚ-šſȘșˢṠ-ṣ₨℁℠⒮Ⓢⓢ㎧㎨㎮-㎳㏛㏜stSs]", + T: "[TtŢ-ťȚțᵀᵗṪ-ṱẗ℡™⒯Ⓣⓣ㉐㋏㎔㏏ſtstTt]", + U: "[UuÙ-Üù-üŨ-ųƯưǓǔȔ-ȗᵁᵘᵤṲ-ṷỤ-ủ℆⒰Ⓤⓤ㍳㍺Uu]", + V: "[VvᵛᵥṼ-ṿⅣ-Ⅷⅳ-ⅷ⒱Ⓥⓥⱽ㋎㍵㎴-㎹㏜㏞Vv]", + W: "[WwŴŵʷᵂẀ-ẉẘ⒲Ⓦⓦ㎺-㎿㏝Ww]", + X: "[XxˣẊ-ẍₓ℻Ⅸ-Ⅻⅸ-ⅻ⒳Ⓧⓧ㏓Xx]", + Y: "[YyÝýÿŶ-ŸȲȳʸẎẏẙỲ-ỹ⒴Ⓨⓨ㏉Yy]", + Z: "[ZzŹ-žDZ-dzᶻẐ-ẕℤℨ⒵Ⓩⓩ㎐-㎔Zz]" + }; + return function hightlight(o) { + var regex; + o = _.mixin({}, defaults, o); + if (!o.node || !o.pattern) { + return; + } + o.pattern = _.isArray(o.pattern) ? o.pattern : [ o.pattern ]; + regex = getRegex(o.pattern, o.caseSensitive, o.wordsOnly, o.diacriticInsensitive); + traverse(o.node, hightlightTextNode); + function hightlightTextNode(textNode) { + var match, patternNode, wrapperNode; + if (match = regex.exec(textNode.data)) { + wrapperNode = doc.createElement(o.tagName); + o.className && (wrapperNode.className = o.className); + patternNode = textNode.splitText(match.index); + patternNode.splitText(match[0].length); + wrapperNode.appendChild(patternNode.cloneNode(true)); + textNode.parentNode.replaceChild(wrapperNode, patternNode); + } + return !!match; + } + function traverse(el, hightlightTextNode) { + var childNode, TEXT_NODE_TYPE = 3; + for (var i = 0; i < el.childNodes.length; i++) { + childNode = el.childNodes[i]; + if (childNode.nodeType === TEXT_NODE_TYPE) { + i += hightlightTextNode(childNode) ? 1 : 0; + } else { + traverse(childNode, hightlightTextNode); + } + } + } + }; + function accent_replacer(chr) { + return accented[chr.toUpperCase()] || chr; + } + function getRegex(patterns, caseSensitive, wordsOnly, diacriticInsensitive) { + var escapedPatterns = [], regexStr; + for (var i = 0, len = patterns.length; i < len; i++) { + var escapedWord = _.escapeRegExChars(patterns[i]); + if (diacriticInsensitive) { + escapedWord = escapedWord.replace(/\S/g, accent_replacer); + } + escapedPatterns.push(escapedWord); + } + regexStr = wordsOnly ? "\\b(" + escapedPatterns.join("|") + ")\\b" : "(" + escapedPatterns.join("|") + ")"; + return caseSensitive ? new RegExp(regexStr) : new RegExp(regexStr, "i"); + } + }(window.document); + var Input = function() { + "use strict"; + var specialKeyCodeMap; + specialKeyCodeMap = { + 9: "tab", + 27: "esc", + 37: "left", + 39: "right", + 13: "enter", + 38: "up", + 40: "down" + }; + function Input(o, www) { + var id; + o = o || {}; + if (!o.input) { + $.error("input is missing"); + } + www.mixin(this); + this.$hint = $(o.hint); + this.$input = $(o.input); + this.$menu = $(o.menu); + id = this.$input.attr("id") || _.guid(); + this.$menu.attr("id", id + "_listbox"); + this.$hint.attr({ + "aria-hidden": true + }); + this.$input.attr({ + "aria-owns": id + "_listbox", + role: "combobox", + "aria-autocomplete": "list", + "aria-expanded": false + }); + this.query = this.$input.val(); + this.queryWhenFocused = this.hasFocus() ? this.query : null; + this.$overflowHelper = buildOverflowHelper(this.$input); + this._checkLanguageDirection(); + if (this.$hint.length === 0) { + this.setHint = this.getHint = this.clearHint = this.clearHintIfInvalid = _.noop; + } + this.onSync("cursorchange", this._updateDescendent); + } + Input.normalizeQuery = function(str) { + return _.toStr(str).replace(/^\s*/g, "").replace(/\s{2,}/g, " "); + }; + _.mixin(Input.prototype, EventEmitter, { + _onBlur: function onBlur() { + this.resetInputValue(); + this.trigger("blurred"); + }, + _onFocus: function onFocus() { + this.queryWhenFocused = this.query; + this.trigger("focused"); + }, + _onKeydown: function onKeydown($e) { + var keyName = specialKeyCodeMap[$e.which || $e.keyCode]; + this._managePreventDefault(keyName, $e); + if (keyName && this._shouldTrigger(keyName, $e)) { + this.trigger(keyName + "Keyed", $e); + } + }, + _onInput: function onInput() { + this._setQuery(this.getInputValue()); + this.clearHintIfInvalid(); + this._checkLanguageDirection(); + }, + _managePreventDefault: function managePreventDefault(keyName, $e) { + var preventDefault; + switch (keyName) { + case "up": + case "down": + preventDefault = !withModifier($e); + break; + + default: + preventDefault = false; + } + preventDefault && $e.preventDefault(); + }, + _shouldTrigger: function shouldTrigger(keyName, $e) { + var trigger; + switch (keyName) { + case "tab": + trigger = !withModifier($e); + break; + + default: + trigger = true; + } + return trigger; + }, + _checkLanguageDirection: function checkLanguageDirection() { + var dir = (this.$input.css("direction") || "ltr").toLowerCase(); + if (this.dir !== dir) { + this.dir = dir; + this.$hint.attr("dir", dir); + this.trigger("langDirChanged", dir); + } + }, + _setQuery: function setQuery(val, silent) { + var areEquivalent, hasDifferentWhitespace; + areEquivalent = areQueriesEquivalent(val, this.query); + hasDifferentWhitespace = areEquivalent ? this.query.length !== val.length : false; + this.query = val; + if (!silent && !areEquivalent) { + this.trigger("queryChanged", this.query); + } else if (!silent && hasDifferentWhitespace) { + this.trigger("whitespaceChanged", this.query); + } + }, + _updateDescendent: function updateDescendent(event, id) { + this.$input.attr("aria-activedescendant", id); + }, + bind: function() { + var that = this, onBlur, onFocus, onKeydown, onInput; + onBlur = _.bind(this._onBlur, this); + onFocus = _.bind(this._onFocus, this); + onKeydown = _.bind(this._onKeydown, this); + onInput = _.bind(this._onInput, this); + this.$input.on("blur.tt", onBlur).on("focus.tt", onFocus).on("keydown.tt", onKeydown); + if (!_.isMsie() || _.isMsie() > 9) { + this.$input.on("input.tt", onInput); + } else { + this.$input.on("keydown.tt keypress.tt cut.tt paste.tt", function($e) { + if (specialKeyCodeMap[$e.which || $e.keyCode]) { + return; + } + _.defer(_.bind(that._onInput, that, $e)); + }); + } + return this; + }, + focus: function focus() { + this.$input.focus(); + }, + blur: function blur() { + this.$input.blur(); + }, + getLangDir: function getLangDir() { + return this.dir; + }, + getQuery: function getQuery() { + return this.query || ""; + }, + setQuery: function setQuery(val, silent) { + this.setInputValue(val); + this._setQuery(val, silent); + }, + hasQueryChangedSinceLastFocus: function hasQueryChangedSinceLastFocus() { + return this.query !== this.queryWhenFocused; + }, + getInputValue: function getInputValue() { + return this.$input.val(); + }, + setInputValue: function setInputValue(value) { + this.$input.val(value); + this.clearHintIfInvalid(); + this._checkLanguageDirection(); + }, + resetInputValue: function resetInputValue() { + this.setInputValue(this.query); + }, + getHint: function getHint() { + return this.$hint.val(); + }, + setHint: function setHint(value) { + this.$hint.val(value); + }, + clearHint: function clearHint() { + this.setHint(""); + }, + clearHintIfInvalid: function clearHintIfInvalid() { + var val, hint, valIsPrefixOfHint, isValid; + val = this.getInputValue(); + hint = this.getHint(); + valIsPrefixOfHint = val !== hint && hint.indexOf(val) === 0; + isValid = val !== "" && valIsPrefixOfHint && !this.hasOverflow(); + !isValid && this.clearHint(); + }, + hasFocus: function hasFocus() { + return this.$input.is(":focus"); + }, + hasOverflow: function hasOverflow() { + var constraint = this.$input.width() - 2; + this.$overflowHelper.text(this.getInputValue()); + return this.$overflowHelper.width() >= constraint; + }, + isCursorAtEnd: function() { + var valueLength, selectionStart, range; + valueLength = this.$input.val().length; + selectionStart = this.$input[0].selectionStart; + if (_.isNumber(selectionStart)) { + return selectionStart === valueLength; + } else if (document.selection) { + range = document.selection.createRange(); + range.moveStart("character", -valueLength); + return valueLength === range.text.length; + } + return true; + }, + destroy: function destroy() { + this.$hint.off(".tt"); + this.$input.off(".tt"); + this.$overflowHelper.remove(); + this.$hint = this.$input = this.$overflowHelper = $("
"); + }, + setAriaExpanded: function setAriaExpanded(value) { + this.$input.attr("aria-expanded", value); + } + }); + return Input; + function buildOverflowHelper($input) { + return $('').css({ + position: "absolute", + visibility: "hidden", + whiteSpace: "pre", + fontFamily: $input.css("font-family"), + fontSize: $input.css("font-size"), + fontStyle: $input.css("font-style"), + fontVariant: $input.css("font-variant"), + fontWeight: $input.css("font-weight"), + wordSpacing: $input.css("word-spacing"), + letterSpacing: $input.css("letter-spacing"), + textIndent: $input.css("text-indent"), + textRendering: $input.css("text-rendering"), + textTransform: $input.css("text-transform") + }).insertAfter($input); + } + function areQueriesEquivalent(a, b) { + return Input.normalizeQuery(a) === Input.normalizeQuery(b); + } + function withModifier($e) { + return $e.altKey || $e.ctrlKey || $e.metaKey || $e.shiftKey; + } + }(); + var Dataset = function() { + "use strict"; + var keys, nameGenerator; + keys = { + dataset: "tt-selectable-dataset", + val: "tt-selectable-display", + obj: "tt-selectable-object" + }; + nameGenerator = _.getIdGenerator(); + function Dataset(o, www) { + o = o || {}; + o.templates = o.templates || {}; + o.templates.notFound = o.templates.notFound || o.templates.empty; + if (!o.source) { + $.error("missing source"); + } + if (!o.node) { + $.error("missing node"); + } + if (o.name && !isValidName(o.name)) { + $.error("invalid dataset name: " + o.name); + } + www.mixin(this); + this.highlight = !!o.highlight; + this.name = _.toStr(o.name || nameGenerator()); + this.limit = o.limit || 5; + this.displayFn = getDisplayFn(o.display || o.displayKey); + this.templates = getTemplates(o.templates, this.displayFn); + this.source = o.source.__ttAdapter ? o.source.__ttAdapter() : o.source; + this.async = _.isUndefined(o.async) ? this.source.length > 2 : !!o.async; + this._resetLastSuggestion(); + this.$el = $(o.node).attr("role", "presentation").addClass(this.classes.dataset).addClass(this.classes.dataset + "-" + this.name); + } + Dataset.extractData = function extractData(el) { + var $el = $(el); + if ($el.data(keys.obj)) { + return { + dataset: $el.data(keys.dataset) || "", + val: $el.data(keys.val) || "", + obj: $el.data(keys.obj) || null + }; + } + return null; + }; + _.mixin(Dataset.prototype, EventEmitter, { + _overwrite: function overwrite(query, suggestions) { + suggestions = suggestions || []; + if (suggestions.length) { + this._renderSuggestions(query, suggestions); + } else if (this.async && this.templates.pending) { + this._renderPending(query); + } else if (!this.async && this.templates.notFound) { + this._renderNotFound(query); + } else { + this._empty(); + } + this.trigger("rendered", suggestions, false, this.name); + }, + _append: function append(query, suggestions) { + suggestions = suggestions || []; + if (suggestions.length && this.$lastSuggestion.length) { + this._appendSuggestions(query, suggestions); + } else if (suggestions.length) { + this._renderSuggestions(query, suggestions); + } else if (!this.$lastSuggestion.length && this.templates.notFound) { + this._renderNotFound(query); + } + this.trigger("rendered", suggestions, true, this.name); + }, + _renderSuggestions: function renderSuggestions(query, suggestions) { + var $fragment; + $fragment = this._getSuggestionsFragment(query, suggestions); + this.$lastSuggestion = $fragment.children().last(); + this.$el.html($fragment).prepend(this._getHeader(query, suggestions)).append(this._getFooter(query, suggestions)); + }, + _appendSuggestions: function appendSuggestions(query, suggestions) { + var $fragment, $lastSuggestion; + $fragment = this._getSuggestionsFragment(query, suggestions); + $lastSuggestion = $fragment.children().last(); + this.$lastSuggestion.after($fragment); + this.$lastSuggestion = $lastSuggestion; + }, + _renderPending: function renderPending(query) { + var template = this.templates.pending; + this._resetLastSuggestion(); + template && this.$el.html(template({ + query: query, + dataset: this.name + })); + }, + _renderNotFound: function renderNotFound(query) { + var template = this.templates.notFound; + this._resetLastSuggestion(); + template && this.$el.html(template({ + query: query, + dataset: this.name + })); + }, + _empty: function empty() { + this.$el.empty(); + this._resetLastSuggestion(); + }, + _getSuggestionsFragment: function getSuggestionsFragment(query, suggestions) { + var that = this, fragment; + fragment = document.createDocumentFragment(); + _.each(suggestions, function getSuggestionNode(suggestion) { + var $el, context; + context = that._injectQuery(query, suggestion); + $el = $(that.templates.suggestion(context)).data(keys.dataset, that.name).data(keys.obj, suggestion).data(keys.val, that.displayFn(suggestion)).addClass(that.classes.suggestion + " " + that.classes.selectable); + fragment.appendChild($el[0]); + }); + this.highlight && highlight({ + className: this.classes.highlight, + node: fragment, + pattern: query + }); + return $(fragment); + }, + _getFooter: function getFooter(query, suggestions) { + return this.templates.footer ? this.templates.footer({ + query: query, + suggestions: suggestions, + dataset: this.name + }) : null; + }, + _getHeader: function getHeader(query, suggestions) { + return this.templates.header ? this.templates.header({ + query: query, + suggestions: suggestions, + dataset: this.name + }) : null; + }, + _resetLastSuggestion: function resetLastSuggestion() { + this.$lastSuggestion = $(); + }, + _injectQuery: function injectQuery(query, obj) { + return _.isObject(obj) ? _.mixin({ + _query: query + }, obj) : obj; + }, + update: function update(query) { + var that = this, canceled = false, syncCalled = false, rendered = 0; + this.cancel(); + this.cancel = function cancel() { + canceled = true; + that.cancel = $.noop; + that.async && that.trigger("asyncCanceled", query, that.name); + }; + this.source(query, sync, async); + !syncCalled && sync([]); + function sync(suggestions) { + if (syncCalled) { + return; + } + syncCalled = true; + suggestions = (suggestions || []).slice(0, that.limit); + rendered = suggestions.length; + that._overwrite(query, suggestions); + if (rendered < that.limit && that.async) { + that.trigger("asyncRequested", query, that.name); + } + } + function async(suggestions) { + suggestions = suggestions || []; + if (!canceled && rendered < that.limit) { + that.cancel = $.noop; + var idx = Math.abs(rendered - that.limit); + rendered += idx; + that._append(query, suggestions.slice(0, idx)); + that.async && that.trigger("asyncReceived", query, that.name); + } + } + }, + cancel: $.noop, + clear: function clear() { + this._empty(); + this.cancel(); + this.trigger("cleared"); + }, + isEmpty: function isEmpty() { + return this.$el.is(":empty"); + }, + destroy: function destroy() { + this.$el = $("
"); + } + }); + return Dataset; + function getDisplayFn(display) { + display = display || _.stringify; + return _.isFunction(display) ? display : displayFn; + function displayFn(obj) { + return obj[display]; + } + } + function getTemplates(templates, displayFn) { + return { + notFound: templates.notFound && _.templatify(templates.notFound), + pending: templates.pending && _.templatify(templates.pending), + header: templates.header && _.templatify(templates.header), + footer: templates.footer && _.templatify(templates.footer), + suggestion: templates.suggestion ? userSuggestionTemplate : suggestionTemplate + }; + function userSuggestionTemplate(context) { + var template = templates.suggestion; + return $(template(context)).attr("id", _.guid()); + } + function suggestionTemplate(context) { + return $('
').attr("id", _.guid()).text(displayFn(context)); + } + } + function isValidName(str) { + return /^[_a-zA-Z0-9-]+$/.test(str); + } + }(); + var Menu = function() { + "use strict"; + function Menu(o, www) { + var that = this; + o = o || {}; + if (!o.node) { + $.error("node is required"); + } + www.mixin(this); + this.$node = $(o.node); + this.query = null; + this.datasets = _.map(o.datasets, initializeDataset); + function initializeDataset(oDataset) { + var node = that.$node.find(oDataset.node).first(); + oDataset.node = node.length ? node : $("
").appendTo(that.$node); + return new Dataset(oDataset, www); + } + } + _.mixin(Menu.prototype, EventEmitter, { + _onSelectableClick: function onSelectableClick($e) { + this.trigger("selectableClicked", $($e.currentTarget)); + }, + _onRendered: function onRendered(type, dataset, suggestions, async) { + this.$node.toggleClass(this.classes.empty, this._allDatasetsEmpty()); + this.trigger("datasetRendered", dataset, suggestions, async); + }, + _onCleared: function onCleared() { + this.$node.toggleClass(this.classes.empty, this._allDatasetsEmpty()); + this.trigger("datasetCleared"); + }, + _propagate: function propagate() { + this.trigger.apply(this, arguments); + }, + _allDatasetsEmpty: function allDatasetsEmpty() { + return _.every(this.datasets, _.bind(function isDatasetEmpty(dataset) { + var isEmpty = dataset.isEmpty(); + this.$node.attr("aria-expanded", !isEmpty); + return isEmpty; + }, this)); + }, + _getSelectables: function getSelectables() { + return this.$node.find(this.selectors.selectable); + }, + _removeCursor: function _removeCursor() { + var $selectable = this.getActiveSelectable(); + $selectable && $selectable.removeClass(this.classes.cursor); + }, + _ensureVisible: function ensureVisible($el) { + var elTop, elBottom, nodeScrollTop, nodeHeight; + elTop = $el.position().top; + elBottom = elTop + $el.outerHeight(true); + nodeScrollTop = this.$node.scrollTop(); + nodeHeight = this.$node.height() + parseInt(this.$node.css("paddingTop"), 10) + parseInt(this.$node.css("paddingBottom"), 10); + if (elTop < 0) { + this.$node.scrollTop(nodeScrollTop + elTop); + } else if (nodeHeight < elBottom) { + this.$node.scrollTop(nodeScrollTop + (elBottom - nodeHeight)); + } + }, + bind: function() { + var that = this, onSelectableClick; + onSelectableClick = _.bind(this._onSelectableClick, this); + this.$node.on("click.tt", this.selectors.selectable, onSelectableClick); + this.$node.on("mouseover", this.selectors.selectable, function() { + that.setCursor($(this)); + }); + this.$node.on("mouseleave", function() { + that._removeCursor(); + }); + _.each(this.datasets, function(dataset) { + dataset.onSync("asyncRequested", that._propagate, that).onSync("asyncCanceled", that._propagate, that).onSync("asyncReceived", that._propagate, that).onSync("rendered", that._onRendered, that).onSync("cleared", that._onCleared, that); + }); + return this; + }, + isOpen: function isOpen() { + return this.$node.hasClass(this.classes.open); + }, + open: function open() { + this.$node.scrollTop(0); + this.$node.addClass(this.classes.open); + }, + close: function close() { + this.$node.attr("aria-expanded", false); + this.$node.removeClass(this.classes.open); + this._removeCursor(); + }, + setLanguageDirection: function setLanguageDirection(dir) { + this.$node.attr("dir", dir); + }, + selectableRelativeToCursor: function selectableRelativeToCursor(delta) { + var $selectables, $oldCursor, oldIndex, newIndex; + $oldCursor = this.getActiveSelectable(); + $selectables = this._getSelectables(); + oldIndex = $oldCursor ? $selectables.index($oldCursor) : -1; + newIndex = oldIndex + delta; + newIndex = (newIndex + 1) % ($selectables.length + 1) - 1; + newIndex = newIndex < -1 ? $selectables.length - 1 : newIndex; + return newIndex === -1 ? null : $selectables.eq(newIndex); + }, + setCursor: function setCursor($selectable) { + this._removeCursor(); + if ($selectable = $selectable && $selectable.first()) { + $selectable.addClass(this.classes.cursor); + this._ensureVisible($selectable); + } + }, + getSelectableData: function getSelectableData($el) { + return $el && $el.length ? Dataset.extractData($el) : null; + }, + getActiveSelectable: function getActiveSelectable() { + var $selectable = this._getSelectables().filter(this.selectors.cursor).first(); + return $selectable.length ? $selectable : null; + }, + getTopSelectable: function getTopSelectable() { + var $selectable = this._getSelectables().first(); + return $selectable.length ? $selectable : null; + }, + update: function update(query) { + var isValidUpdate = query !== this.query; + if (isValidUpdate) { + this.query = query; + _.each(this.datasets, updateDataset); + } + return isValidUpdate; + function updateDataset(dataset) { + dataset.update(query); + } + }, + empty: function empty() { + _.each(this.datasets, clearDataset); + this.query = null; + this.$node.addClass(this.classes.empty); + function clearDataset(dataset) { + dataset.clear(); + } + }, + destroy: function destroy() { + this.$node.off(".tt"); + this.$node = $("
"); + _.each(this.datasets, destroyDataset); + function destroyDataset(dataset) { + dataset.destroy(); + } + } + }); + return Menu; + }(); + var Status = function() { + "use strict"; + function Status(options) { + this.$el = $("", { + role: "status", + "aria-live": "polite" + }).css({ + position: "absolute", + padding: "0", + border: "0", + height: "1px", + width: "1px", + "margin-bottom": "-1px", + "margin-right": "-1px", + overflow: "hidden", + clip: "rect(0 0 0 0)", + "white-space": "nowrap" + }); + options.$input.after(this.$el); + _.each(options.menu.datasets, _.bind(function(dataset) { + if (dataset.onSync) { + dataset.onSync("rendered", _.bind(this.update, this)); + dataset.onSync("cleared", _.bind(this.cleared, this)); + } + }, this)); + } + _.mixin(Status.prototype, { + update: function update(event, suggestions) { + var length = suggestions.length; + var words; + if (length === 1) { + words = { + result: "result", + is: "is" + }; + } else { + words = { + result: "results", + is: "are" + }; + } + this.$el.text(length + " " + words.result + " " + words.is + " available, use up and down arrow keys to navigate."); + }, + cleared: function() { + this.$el.text(""); + } + }); + return Status; + }(); + var DefaultMenu = function() { + "use strict"; + var s = Menu.prototype; + function DefaultMenu() { + Menu.apply(this, [].slice.call(arguments, 0)); + } + _.mixin(DefaultMenu.prototype, Menu.prototype, { + open: function open() { + !this._allDatasetsEmpty() && this._show(); + return s.open.apply(this, [].slice.call(arguments, 0)); + }, + close: function close() { + this._hide(); + return s.close.apply(this, [].slice.call(arguments, 0)); + }, + _onRendered: function onRendered() { + if (this._allDatasetsEmpty()) { + this._hide(); + } else { + this.isOpen() && this._show(); + } + return s._onRendered.apply(this, [].slice.call(arguments, 0)); + }, + _onCleared: function onCleared() { + if (this._allDatasetsEmpty()) { + this._hide(); + } else { + this.isOpen() && this._show(); + } + return s._onCleared.apply(this, [].slice.call(arguments, 0)); + }, + setLanguageDirection: function setLanguageDirection(dir) { + this.$node.css(dir === "ltr" ? this.css.ltr : this.css.rtl); + return s.setLanguageDirection.apply(this, [].slice.call(arguments, 0)); + }, + _hide: function hide() { + this.$node.hide(); + }, + _show: function show() { + this.$node.css("display", "block"); + } + }); + return DefaultMenu; + }(); + var Typeahead = function() { + "use strict"; + function Typeahead(o, www) { + var onFocused, onBlurred, onEnterKeyed, onTabKeyed, onEscKeyed, onUpKeyed, onDownKeyed, onLeftKeyed, onRightKeyed, onQueryChanged, onWhitespaceChanged; + o = o || {}; + if (!o.input) { + $.error("missing input"); + } + if (!o.menu) { + $.error("missing menu"); + } + if (!o.eventBus) { + $.error("missing event bus"); + } + www.mixin(this); + this.eventBus = o.eventBus; + this.minLength = _.isNumber(o.minLength) ? o.minLength : 1; + this.input = o.input; + this.menu = o.menu; + this.enabled = true; + this.autoselect = !!o.autoselect; + this.active = false; + this.input.hasFocus() && this.activate(); + this.dir = this.input.getLangDir(); + this._hacks(); + this.menu.bind().onSync("selectableClicked", this._onSelectableClicked, this).onSync("asyncRequested", this._onAsyncRequested, this).onSync("asyncCanceled", this._onAsyncCanceled, this).onSync("asyncReceived", this._onAsyncReceived, this).onSync("datasetRendered", this._onDatasetRendered, this).onSync("datasetCleared", this._onDatasetCleared, this); + onFocused = c(this, "activate", "open", "_onFocused"); + onBlurred = c(this, "deactivate", "_onBlurred"); + onEnterKeyed = c(this, "isActive", "isOpen", "_onEnterKeyed"); + onTabKeyed = c(this, "isActive", "isOpen", "_onTabKeyed"); + onEscKeyed = c(this, "isActive", "_onEscKeyed"); + onUpKeyed = c(this, "isActive", "open", "_onUpKeyed"); + onDownKeyed = c(this, "isActive", "open", "_onDownKeyed"); + onLeftKeyed = c(this, "isActive", "isOpen", "_onLeftKeyed"); + onRightKeyed = c(this, "isActive", "isOpen", "_onRightKeyed"); + onQueryChanged = c(this, "_openIfActive", "_onQueryChanged"); + onWhitespaceChanged = c(this, "_openIfActive", "_onWhitespaceChanged"); + this.input.bind().onSync("focused", onFocused, this).onSync("blurred", onBlurred, this).onSync("enterKeyed", onEnterKeyed, this).onSync("tabKeyed", onTabKeyed, this).onSync("escKeyed", onEscKeyed, this).onSync("upKeyed", onUpKeyed, this).onSync("downKeyed", onDownKeyed, this).onSync("leftKeyed", onLeftKeyed, this).onSync("rightKeyed", onRightKeyed, this).onSync("queryChanged", onQueryChanged, this).onSync("whitespaceChanged", onWhitespaceChanged, this).onSync("langDirChanged", this._onLangDirChanged, this); + } + _.mixin(Typeahead.prototype, { + _hacks: function hacks() { + var $input, $menu; + $input = this.input.$input || $("
"); + $menu = this.menu.$node || $("
"); + $input.on("blur.tt", function($e) { + var active, isActive, hasActive; + active = document.activeElement; + isActive = $menu.is(active); + hasActive = $menu.has(active).length > 0; + if (_.isMsie() && (isActive || hasActive)) { + $e.preventDefault(); + $e.stopImmediatePropagation(); + _.defer(function() { + $input.focus(); + }); + } + }); + $menu.on("mousedown.tt", function($e) { + $e.preventDefault(); + }); + }, + _onSelectableClicked: function onSelectableClicked(type, $el) { + this.select($el); + }, + _onDatasetCleared: function onDatasetCleared() { + this._updateHint(); + }, + _onDatasetRendered: function onDatasetRendered(type, suggestions, async, dataset) { + this._updateHint(); + if (this.autoselect) { + var cursorClass = this.selectors.cursor.substr(1); + this.menu.$node.find(this.selectors.suggestion).first().addClass(cursorClass); + } + this.eventBus.trigger("render", suggestions, async, dataset); + }, + _onAsyncRequested: function onAsyncRequested(type, dataset, query) { + this.eventBus.trigger("asyncrequest", query, dataset); + }, + _onAsyncCanceled: function onAsyncCanceled(type, dataset, query) { + this.eventBus.trigger("asynccancel", query, dataset); + }, + _onAsyncReceived: function onAsyncReceived(type, dataset, query) { + this.eventBus.trigger("asyncreceive", query, dataset); + }, + _onFocused: function onFocused() { + this._minLengthMet() && this.menu.update(this.input.getQuery()); + }, + _onBlurred: function onBlurred() { + if (this.input.hasQueryChangedSinceLastFocus()) { + this.eventBus.trigger("change", this.input.getQuery()); + } + }, + _onEnterKeyed: function onEnterKeyed(type, $e) { + var $selectable; + if ($selectable = this.menu.getActiveSelectable()) { + if (this.select($selectable)) { + $e.preventDefault(); + $e.stopPropagation(); + } + } else if (this.autoselect) { + if (this.select(this.menu.getTopSelectable())) { + $e.preventDefault(); + $e.stopPropagation(); + } + } + }, + _onTabKeyed: function onTabKeyed(type, $e) { + var $selectable; + if ($selectable = this.menu.getActiveSelectable()) { + this.select($selectable) && $e.preventDefault(); + } else if (this.autoselect) { + if ($selectable = this.menu.getTopSelectable()) { + this.autocomplete($selectable) && $e.preventDefault(); + } + } + }, + _onEscKeyed: function onEscKeyed() { + this.close(); + }, + _onUpKeyed: function onUpKeyed() { + this.moveCursor(-1); + }, + _onDownKeyed: function onDownKeyed() { + this.moveCursor(+1); + }, + _onLeftKeyed: function onLeftKeyed() { + if (this.dir === "rtl" && this.input.isCursorAtEnd()) { + this.autocomplete(this.menu.getActiveSelectable() || this.menu.getTopSelectable()); + } + }, + _onRightKeyed: function onRightKeyed() { + if (this.dir === "ltr" && this.input.isCursorAtEnd()) { + this.autocomplete(this.menu.getActiveSelectable() || this.menu.getTopSelectable()); + } + }, + _onQueryChanged: function onQueryChanged(e, query) { + this._minLengthMet(query) ? this.menu.update(query) : this.menu.empty(); + }, + _onWhitespaceChanged: function onWhitespaceChanged() { + this._updateHint(); + }, + _onLangDirChanged: function onLangDirChanged(e, dir) { + if (this.dir !== dir) { + this.dir = dir; + this.menu.setLanguageDirection(dir); + } + }, + _openIfActive: function openIfActive() { + this.isActive() && this.open(); + }, + _minLengthMet: function minLengthMet(query) { + query = _.isString(query) ? query : this.input.getQuery() || ""; + return query.length >= this.minLength; + }, + _updateHint: function updateHint() { + var $selectable, data, val, query, escapedQuery, frontMatchRegEx, match; + $selectable = this.menu.getTopSelectable(); + data = this.menu.getSelectableData($selectable); + val = this.input.getInputValue(); + if (data && !_.isBlankString(val) && !this.input.hasOverflow()) { + query = Input.normalizeQuery(val); + escapedQuery = _.escapeRegExChars(query); + frontMatchRegEx = new RegExp("^(?:" + escapedQuery + ")(.+$)", "i"); + match = frontMatchRegEx.exec(data.val); + match && this.input.setHint(val + match[1]); + } else { + this.input.clearHint(); + } + }, + isEnabled: function isEnabled() { + return this.enabled; + }, + enable: function enable() { + this.enabled = true; + }, + disable: function disable() { + this.enabled = false; + }, + isActive: function isActive() { + return this.active; + }, + activate: function activate() { + if (this.isActive()) { + return true; + } else if (!this.isEnabled() || this.eventBus.before("active")) { + return false; + } else { + this.active = true; + this.eventBus.trigger("active"); + return true; + } + }, + deactivate: function deactivate() { + if (!this.isActive()) { + return true; + } else if (this.eventBus.before("idle")) { + return false; + } else { + this.active = false; + this.close(); + this.eventBus.trigger("idle"); + return true; + } + }, + isOpen: function isOpen() { + return this.menu.isOpen(); + }, + open: function open() { + if (!this.isOpen() && !this.eventBus.before("open")) { + this.input.setAriaExpanded(true); + this.menu.open(); + this._updateHint(); + this.eventBus.trigger("open"); + } + return this.isOpen(); + }, + close: function close() { + if (this.isOpen() && !this.eventBus.before("close")) { + this.input.setAriaExpanded(false); + this.menu.close(); + this.input.clearHint(); + this.input.resetInputValue(); + this.eventBus.trigger("close"); + } + return !this.isOpen(); + }, + setVal: function setVal(val) { + this.input.setQuery(_.toStr(val)); + }, + getVal: function getVal() { + return this.input.getQuery(); + }, + select: function select($selectable) { + var data = this.menu.getSelectableData($selectable); + if (data && !this.eventBus.before("select", data.obj, data.dataset)) { + this.input.setQuery(data.val, true); + this.eventBus.trigger("select", data.obj, data.dataset); + this.close(); + return true; + } + return false; + }, + autocomplete: function autocomplete($selectable) { + var query, data, isValid; + query = this.input.getQuery(); + data = this.menu.getSelectableData($selectable); + isValid = data && query !== data.val; + if (isValid && !this.eventBus.before("autocomplete", data.obj, data.dataset)) { + this.input.setQuery(data.val); + this.eventBus.trigger("autocomplete", data.obj, data.dataset); + return true; + } + return false; + }, + moveCursor: function moveCursor(delta) { + var query, $candidate, data, suggestion, datasetName, cancelMove, id; + query = this.input.getQuery(); + $candidate = this.menu.selectableRelativeToCursor(delta); + data = this.menu.getSelectableData($candidate); + suggestion = data ? data.obj : null; + datasetName = data ? data.dataset : null; + id = $candidate ? $candidate.attr("id") : null; + this.input.trigger("cursorchange", id); + cancelMove = this._minLengthMet() && this.menu.update(query); + if (!cancelMove && !this.eventBus.before("cursorchange", suggestion, datasetName)) { + this.menu.setCursor($candidate); + if (data) { + if (typeof data.val === "string") { + this.input.setInputValue(data.val); + } + } else { + this.input.resetInputValue(); + this._updateHint(); + } + this.eventBus.trigger("cursorchange", suggestion, datasetName); + return true; + } + return false; + }, + destroy: function destroy() { + this.input.destroy(); + this.menu.destroy(); + } + }); + return Typeahead; + function c(ctx) { + var methods = [].slice.call(arguments, 1); + return function() { + var args = [].slice.call(arguments); + _.each(methods, function(method) { + return ctx[method].apply(ctx, args); + }); + }; + } + }(); + (function() { + "use strict"; + var old, keys, methods; + old = $.fn.typeahead; + keys = { + www: "tt-www", + attrs: "tt-attrs", + typeahead: "tt-typeahead" + }; + methods = { + initialize: function initialize(o, datasets) { + var www; + datasets = _.isArray(datasets) ? datasets : [].slice.call(arguments, 1); + o = o || {}; + www = WWW(o.classNames); + return this.each(attach); + function attach() { + var $input, $wrapper, $hint, $menu, defaultHint, defaultMenu, eventBus, input, menu, status, typeahead, MenuConstructor; + _.each(datasets, function(d) { + d.highlight = !!o.highlight; + }); + $input = $(this); + $wrapper = $(www.html.wrapper); + $hint = $elOrNull(o.hint); + $menu = $elOrNull(o.menu); + defaultHint = o.hint !== false && !$hint; + defaultMenu = o.menu !== false && !$menu; + defaultHint && ($hint = buildHintFromInput($input, www)); + defaultMenu && ($menu = $(www.html.menu).css(www.css.menu)); + $hint && $hint.val(""); + $input = prepInput($input, www); + if (defaultHint || defaultMenu) { + $wrapper.css(www.css.wrapper); + $input.css(defaultHint ? www.css.input : www.css.inputWithNoHint); + $input.wrap($wrapper).parent().prepend(defaultHint ? $hint : null).append(defaultMenu ? $menu : null); + } + MenuConstructor = defaultMenu ? DefaultMenu : Menu; + eventBus = new EventBus({ + el: $input + }); + input = new Input({ + hint: $hint, + input: $input, + menu: $menu + }, www); + menu = new MenuConstructor({ + node: $menu, + datasets: datasets + }, www); + status = new Status({ + $input: $input, + menu: menu + }); + typeahead = new Typeahead({ + input: input, + menu: menu, + eventBus: eventBus, + minLength: o.minLength, + autoselect: o.autoselect + }, www); + $input.data(keys.www, www); + $input.data(keys.typeahead, typeahead); + } + }, + isEnabled: function isEnabled() { + var enabled; + ttEach(this.first(), function(t) { + enabled = t.isEnabled(); + }); + return enabled; + }, + enable: function enable() { + ttEach(this, function(t) { + t.enable(); + }); + return this; + }, + disable: function disable() { + ttEach(this, function(t) { + t.disable(); + }); + return this; + }, + isActive: function isActive() { + var active; + ttEach(this.first(), function(t) { + active = t.isActive(); + }); + return active; + }, + activate: function activate() { + ttEach(this, function(t) { + t.activate(); + }); + return this; + }, + deactivate: function deactivate() { + ttEach(this, function(t) { + t.deactivate(); + }); + return this; + }, + isOpen: function isOpen() { + var open; + ttEach(this.first(), function(t) { + open = t.isOpen(); + }); + return open; + }, + open: function open() { + ttEach(this, function(t) { + t.open(); + }); + return this; + }, + close: function close() { + ttEach(this, function(t) { + t.close(); + }); + return this; + }, + select: function select(el) { + var success = false, $el = $(el); + ttEach(this.first(), function(t) { + success = t.select($el); + }); + return success; + }, + autocomplete: function autocomplete(el) { + var success = false, $el = $(el); + ttEach(this.first(), function(t) { + success = t.autocomplete($el); + }); + return success; + }, + moveCursor: function moveCursoe(delta) { + var success = false; + ttEach(this.first(), function(t) { + success = t.moveCursor(delta); + }); + return success; + }, + val: function val(newVal) { + var query; + if (!arguments.length) { + ttEach(this.first(), function(t) { + query = t.getVal(); + }); + return query; + } else { + ttEach(this, function(t) { + t.setVal(_.toStr(newVal)); + }); + return this; + } + }, + destroy: function destroy() { + ttEach(this, function(typeahead, $input) { + revert($input); + typeahead.destroy(); + }); + return this; + } + }; + $.fn.typeahead = function(method) { + if (methods[method]) { + return methods[method].apply(this, [].slice.call(arguments, 1)); + } else { + return methods.initialize.apply(this, arguments); + } + }; + $.fn.typeahead.noConflict = function noConflict() { + $.fn.typeahead = old; + return this; + }; + function ttEach($els, fn) { + $els.each(function() { + var $input = $(this), typeahead; + (typeahead = $input.data(keys.typeahead)) && fn(typeahead, $input); + }); + } + function buildHintFromInput($input, www) { + return $input.clone().addClass(www.classes.hint).removeData().css(www.css.hint).css(getBackgroundStyles($input)).prop({ + readonly: true, + required: false + }).removeAttr("id name placeholder").removeClass("required").attr({ + spellcheck: "false", + tabindex: -1 + }); + } + function prepInput($input, www) { + $input.data(keys.attrs, { + dir: $input.attr("dir"), + autocomplete: $input.attr("autocomplete"), + spellcheck: $input.attr("spellcheck"), + style: $input.attr("style") + }); + $input.addClass(www.classes.input).attr({ + spellcheck: false + }); + try { + !$input.attr("dir") && $input.attr("dir", "auto"); + } catch (e) {} + return $input; + } + function getBackgroundStyles($el) { + return { + backgroundAttachment: $el.css("background-attachment"), + backgroundClip: $el.css("background-clip"), + backgroundColor: $el.css("background-color"), + backgroundImage: $el.css("background-image"), + backgroundOrigin: $el.css("background-origin"), + backgroundPosition: $el.css("background-position"), + backgroundRepeat: $el.css("background-repeat"), + backgroundSize: $el.css("background-size") + }; + } + function revert($input) { + var www, $wrapper; + www = $input.data(keys.www); + $wrapper = $input.parent().filter(www.selectors.wrapper); + _.each($input.data(keys.attrs), function(val, key) { + _.isUndefined(val) ? $input.removeAttr(key) : $input.attr(key, val); + }); + $input.removeData(keys.typeahead).removeData(keys.www).removeData(keys.attr).removeClass(www.classes.input); + if ($wrapper.length) { + $input.detach().insertAfter($wrapper); + $wrapper.remove(); + } + } + function $elOrNull(obj) { + var isValid, $el; + isValid = _.isJQuery(obj) || _.isElement(obj); + $el = isValid ? $(obj).first() : []; + return $el.length ? $el : null; + } + })(); +}); \ No newline at end of file diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/search.json b/docs/api/ios/1.36.1/SCSDKCameraKit/search.json new file mode 100644 index 000000000..2feb027c8 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/search.json @@ -0,0 +1 @@ +{"Extensions/AdjustmentsProcessor.html#/s:So31SCCameraKitAdjustmentsProcessorP011SCSDKCameraB0E5apply10adjustment10ControllerQyd__qd___tKAC10AdjustmentRd__lF":{"name":"apply(adjustment:)","abstract":"

Applies a given adjustment and returns a controller which allows runtime configuration of the adjustment.

","parent_name":"AdjustmentsProcessor"},"Extensions/AdjustmentsProcessor.html":{"name":"AdjustmentsProcessor"},"Structs/SCCameraKitLensMediaPickerAssetMetadata.html#/c:@SA@SCCameraKitLensMediaPickerAssetMetadata@FI@faceRect":{"name":"faceRect","abstract":"

Undocumented

","parent_name":"SCCameraKitLensMediaPickerAssetMetadata"},"Structs/SCCameraKitLensMediaPickerAssetMetadata.html":{"name":"SCCameraKitLensMediaPickerAssetMetadata","abstract":"

Metadata for a media asset

"},"Type%20Definitions/SCCameraKitLensMediaPickerAssetMetadata/SCCameraKitLensMediaPickerAssetMetadata.html#/c:@SA@SCCameraKitLensMediaPickerAssetMetadata@FI@faceRect":{"name":"faceRect","abstract":"

Undocumented

","parent_name":"SCCameraKitLensMediaPickerAssetMetadata"},"Type%20Definitions/SCCameraKitLensMediaPickerAssetMetadata/SCCameraKitLensMediaPickerAssetMetadata.html":{"name":"SCCameraKitLensMediaPickerAssetMetadata","abstract":"

Metadata for a media asset

","parent_name":"SCCameraKitLensMediaPickerAssetMetadata"},"Type%20Definitions/SCCameraKitLensMediaPickerAssetMetadata.html":{"name":"SCCameraKitLensMediaPickerAssetMetadata","abstract":"

Metadata for a media asset

"},"Protocols/Adjustment.html#/s:14SCSDKCameraKit10AdjustmentP10ControllerQa":{"name":"Controller","parent_name":"Adjustment"},"Protocols/SCCameraKitUserDataProvider.html#/c:objc(pl)SCCameraKitUserDataProvider(py)userData":{"name":"userData","abstract":"

Current user data

","parent_name":"SCCameraKitUserDataProvider"},"Protocols/SCCameraKitUserDataProvider.html#/c:objc(pl)SCCameraKitUserDataProvider(py)delegate":{"name":"delegate","abstract":"

Delegate to receive updates on user data changes

","parent_name":"SCCameraKitUserDataProvider"},"Protocols/SCCameraKitUserDataProviderDelegate.html#/c:objc(pl)SCCameraKitUserDataProviderDelegate(im)userDataProvider:didUpdateUserData:":{"name":"-userDataProvider:didUpdateUserData:","abstract":"

Update delegate receivers with new user data

","parent_name":"SCCameraKitUserDataProviderDelegate"},"Protocols/SCCameraKitTextInputContextProvider.html#/c:objc(pl)SCCameraKitTextInputContextProvider(py)parentView":{"name":"parentView","abstract":"

A parent view in which to embed a text view. Unless reconfigured by providing a keyboardAccessoryProvider, this text","parent_name":"SCCameraKitTextInputContextProvider"},"Protocols/SCCameraKitTextInputContextProvider.html#/c:objc(pl)SCCameraKitTextInputContextProvider(py)keyboardAccessoryProvider":{"name":"keyboardAccessoryProvider","abstract":"

Object which describes a user-visible input view for text input. Typically, this is a styled text view that appears","parent_name":"SCCameraKitTextInputContextProvider"},"Protocols/SCCameraKitTextInputKeyboardAccessoryProvider.html#/c:objc(pl)SCCameraKitTextInputKeyboardAccessoryProvider(py)accessoryView":{"name":"accessoryView","abstract":"

The view to show on top of the keyboard.

","parent_name":"SCCameraKitTextInputKeyboardAccessoryProvider"},"Protocols/SCCameraKitTextInputKeyboardAccessoryProvider.html#/c:objc(pl)SCCameraKitTextInputKeyboardAccessoryProvider(py)textView":{"name":"textView","abstract":"

The text view associated with the input being provided.

","parent_name":"SCCameraKitTextInputKeyboardAccessoryProvider"},"Protocols/SCCameraKitTextInputKeyboardAccessoryProvider.html#/c:objc(pl)SCCameraKitTextInputKeyboardAccessoryProvider(py)placeholderText":{"name":"placeholderText","abstract":"

Placeholder text to show in the text view before the user has input any text. May be empty.

","parent_name":"SCCameraKitTextInputKeyboardAccessoryProvider"},"Protocols/SCCameraKitTextInputKeyboardAccessoryProvider.html#/c:objc(pl)SCCameraKitTextInputKeyboardAccessoryProvider(py)maximumHeight":{"name":"maximumHeight","abstract":"

The maximum height the accessoryView can grow to. This will be considered when setting the safe area for the lens.

","parent_name":"SCCameraKitTextInputKeyboardAccessoryProvider"},"Protocols/SCCameraKitPreferences.html#/c:objc(pl)SCCameraKitPreferences(im)clear":{"name":"-clear","abstract":"

Clear all stored preferences

","parent_name":"SCCameraKitPreferences"},"Protocols/SCCameraKitOutput.html#/c:objc(pl)SCCameraKitOutput(im)cameraKit:didOutputTexture:":{"name":"-cameraKit:didOutputTexture:","abstract":"

Notifies that a new frame is available.

","parent_name":"SCCameraKitOutput"},"Protocols/SCCameraKitOutput.html#/c:objc(pl)SCCameraKitOutput(im)cameraKit:didOutputVideoSampleBuffer:":{"name":"-cameraKit:didOutputVideoSampleBuffer:","abstract":"

Notifies that a new video frame is available.

","parent_name":"SCCameraKitOutput"},"Protocols/SCCameraKitOutput.html#/c:objc(pl)SCCameraKitOutput(im)cameraKit:didOutputAudioSampleBuffer:":{"name":"-cameraKit:didOutputAudioSampleBuffer:","abstract":"

Notifies that a new audio buffer is available

","parent_name":"SCCameraKitOutput"},"Protocols/SCCameraKitLocationDataProvider.html#/c:objc(pl)SCCameraKitLocationDataProvider(py)location":{"name":"location","abstract":"

Current location data

","parent_name":"SCCameraKitLocationDataProvider"},"Protocols/SCCameraKitLocationDataProvider.html#/c:objc(pl)SCCameraKitLocationDataProvider(im)startUpdatingWithParameters:":{"name":"-startUpdatingWithParameters:","abstract":"

Start updating location data with params

","parent_name":"SCCameraKitLocationDataProvider"},"Protocols/SCCameraKitLocationDataProvider.html#/c:objc(pl)SCCameraKitLocationDataProvider(im)stopUpdating":{"name":"-stopUpdating","abstract":"

Stop updating location

","parent_name":"SCCameraKitLocationDataProvider"},"Protocols/SCCameraKitLocationParameters.html#/c:objc(pl)SCCameraKitLocationParameters(py)updateIntervalMilliseconds":{"name":"updateIntervalMilliseconds","abstract":"

Minimum interval between consecutive location updates

","parent_name":"SCCameraKitLocationParameters"},"Protocols/SCCameraKitLocationParameters.html#/c:objc(pl)SCCameraKitLocationParameters(py)distanceFilterMeters":{"name":"distanceFilterMeters","abstract":"

Minimum distance between consecutive location updates

","parent_name":"SCCameraKitLocationParameters"},"Protocols/SCCameraKitLocationParameters.html#/c:objc(pl)SCCameraKitLocationParameters(py)desiredAccuracy":{"name":"desiredAccuracy","abstract":"

Desired accuracy

","parent_name":"SCCameraKitLocationParameters"},"Protocols/SCCameraKitLensRepository.html#/c:objc(pl)SCCameraKitLensRepository(im)addObserver:forGroupID:":{"name":"-addObserver:forGroupID:","abstract":"

Add an observer to receive updates to a lens group

","parent_name":"SCCameraKitLensRepository"},"Protocols/SCCameraKitLensRepository.html#/c:objc(pl)SCCameraKitLensRepository(im)removeObserver:forGroupID:":{"name":"-removeObserver:forGroupID:","abstract":"

Remove an observer from receiving updates for a lens group

","parent_name":"SCCameraKitLensRepository"},"Protocols/SCCameraKitLensRepository.html#/c:objc(pl)SCCameraKitLensRepository(im)addObserver:forSpecificLensID:inGroupID:":{"name":"-addObserver:forSpecificLensID:inGroupID:","abstract":"

Add an observer to receive updates for a specific lens in a group

","parent_name":"SCCameraKitLensRepository"},"Protocols/SCCameraKitLensRepository.html#/c:objc(pl)SCCameraKitLensRepository(im)removeObserver:forSpecificLensID:inGroupID:":{"name":"-removeObserver:forSpecificLensID:inGroupID:","abstract":"

Remove an observer from receiving updates for a specific lens in a group

","parent_name":"SCCameraKitLensRepository"},"Protocols/SCCameraKitLensRepository.html#/c:objc(pl)SCCameraKitLensRepository(im)lensesForGroupID:":{"name":"-lensesForGroupID:","abstract":"

Any available lenses for the group ID specified.

","parent_name":"SCCameraKitLensRepository"},"Protocols/SCCameraKitLensRepository.html#/c:objc(pl)SCCameraKitLensRepository(im)lensWithID:inGroupID:":{"name":"-lensWithID:inGroupID:","abstract":"

Specific lens in group ID specified

","parent_name":"SCCameraKitLensRepository"},"Protocols/SCCameraKitLensesComponent.html#/c:objc(pl)SCCameraKitLensesComponent(py)repository":{"name":"repository","abstract":"

The repository for lenses. Lists available lenses, etc. in the lenses folder

","parent_name":"SCCameraKitLensesComponent"},"Protocols/SCCameraKitLensesComponent.html#/c:objc(pl)SCCameraKitLensesComponent(py)processor":{"name":"processor","abstract":"

Handles the actual effect application. Will be null if CameraKit is not running with a valid input.

","parent_name":"SCCameraKitLensesComponent"},"Protocols/SCCameraKitLensesComponent.html#/c:objc(pl)SCCameraKitLensesComponent(py)prefetcher":{"name":"prefetcher","abstract":"

Prefetcher to prefetch lens content to reduce time when applying lens

","parent_name":"SCCameraKitLensesComponent"},"Protocols/SCCameraKitLensesComponent.html#/c:objc(pl)SCCameraKitLensesComponent(py)preferences":{"name":"preferences","abstract":"

Property to deal with preferences (ie. clear stored preferences)

","parent_name":"SCCameraKitLensesComponent"},"Protocols/SCCameraKitLensRepositorySpecificObserver.html#/c:objc(pl)SCCameraKitLensRepositorySpecificObserver(im)repository:didUpdateLens:forGroupID:":{"name":"-repository:didUpdateLens:forGroupID:","abstract":"

Notifies that an observed specific lens in a group has changed.

","parent_name":"SCCameraKitLensRepositorySpecificObserver"},"Protocols/SCCameraKitLensRepositorySpecificObserver.html#/c:objc(pl)SCCameraKitLensRepositorySpecificObserver(im)repository:didFailToUpdateLensID:forGroupID:error:":{"name":"-repository:didFailToUpdateLensID:forGroupID:error:","abstract":"

Notifies that an observed specific lens in a group has failed to be fetched.

","parent_name":"SCCameraKitLensRepositorySpecificObserver"},"Protocols/SCCameraKitLensRepositoryGroupObserver.html#/c:objc(pl)SCCameraKitLensRepositoryGroupObserver(im)repository:didUpdateLenses:forGroupID:":{"name":"-repository:didUpdateLenses:forGroupID:","abstract":"

Notifies that an observed group’s lenses have changed.

","parent_name":"SCCameraKitLensRepositoryGroupObserver"},"Protocols/SCCameraKitLensRepositoryGroupObserver.html#/c:objc(pl)SCCameraKitLensRepositoryGroupObserver(im)repository:didFailToUpdateLensesForGroupID:error:":{"name":"-repository:didFailToUpdateLensesForGroupID:error:","abstract":"

Notifies that an observed group’s lenses failed to be fetched.

","parent_name":"SCCameraKitLensRepositoryGroupObserver"},"Protocols/SCCameraKitLensRemoteApiServiceProvider.html#/c:objc(pl)SCCameraKitLensRemoteApiServiceProvider(py)supportedApiSpecIds":{"name":"supportedApiSpecIds","abstract":"

The set of api spec identifiers that this provider supports.

","parent_name":"SCCameraKitLensRemoteApiServiceProvider"},"Protocols/SCCameraKitLensRemoteApiServiceProvider.html#/c:objc(pl)SCCameraKitLensRemoteApiServiceProvider(im)remoteApiServiceForLens:":{"name":"-remoteApiServiceForLens:","abstract":"

Returns the remote api service used for processing requests sent by the lens.","parent_name":"SCCameraKitLensRemoteApiServiceProvider"},"Protocols/SCCameraKitLensRemoteApiService.html#/c:objc(pl)SCCameraKitLensRemoteApiService(im)processRequest:responseHandler:":{"name":"-processRequest:responseHandler:","abstract":"

Process the remote api request sent by a lens. Returns a call associated with the request.

","parent_name":"SCCameraKitLensRemoteApiService"},"Protocols/SCCameraKitLensRemoteApiServiceCall.html#/c:objc(pl)SCCameraKitLensRemoteApiServiceCall(py)status":{"name":"status","abstract":"

The status of the call associated with the request.

","parent_name":"SCCameraKitLensRemoteApiServiceCall"},"Protocols/SCCameraKitLensRemoteApiServiceCall.html#/c:objc(pl)SCCameraKitLensRemoteApiServiceCall(im)cancelRequest":{"name":"-cancelRequest","abstract":"

Cancel the request call. This is usually sent if the lens no longer needs a response to the remote api request it","parent_name":"SCCameraKitLensRemoteApiServiceCall"},"Protocols/SCCameraKitLensRemoteApiResponse.html#/c:objc(pl)SCCameraKitLensRemoteApiResponse(py)request":{"name":"request","abstract":"

Remote api service request sent by a lens.

","parent_name":"SCCameraKitLensRemoteApiResponse"},"Protocols/SCCameraKitLensRemoteApiResponse.html#/c:objc(pl)SCCameraKitLensRemoteApiResponse(py)status":{"name":"status","abstract":"

Status of the response.

","parent_name":"SCCameraKitLensRemoteApiResponse"},"Protocols/SCCameraKitLensRemoteApiResponse.html#/c:objc(pl)SCCameraKitLensRemoteApiResponse(py)metadata":{"name":"metadata","abstract":"

A map of named metadata associated with the response.

","parent_name":"SCCameraKitLensRemoteApiResponse"},"Protocols/SCCameraKitLensRemoteApiResponse.html#/c:objc(pl)SCCameraKitLensRemoteApiResponse(py)body":{"name":"body","abstract":"

Additional response payload as bytes.

","parent_name":"SCCameraKitLensRemoteApiResponse"},"Protocols/SCCameraKitLensRemoteApiRequest.html#/c:objc(pl)SCCameraKitLensRemoteApiRequest(py)requestId":{"name":"requestId","abstract":"

Unique id of the request.

","parent_name":"SCCameraKitLensRemoteApiRequest"},"Protocols/SCCameraKitLensRemoteApiRequest.html#/c:objc(pl)SCCameraKitLensRemoteApiRequest(py)apiSpecId":{"name":"apiSpecId","abstract":"

Unique id of the remote API service specification.

","parent_name":"SCCameraKitLensRemoteApiRequest"},"Protocols/SCCameraKitLensRemoteApiRequest.html#/c:objc(pl)SCCameraKitLensRemoteApiRequest(py)endpointId":{"name":"endpointId","abstract":"

Unique id of the remote API service endpoint requested by this request.

","parent_name":"SCCameraKitLensRemoteApiRequest"},"Protocols/SCCameraKitLensRemoteApiRequest.html#/c:objc(pl)SCCameraKitLensRemoteApiRequest(py)parameters":{"name":"parameters","abstract":"

A map of named parameters associated with the request.

","parent_name":"SCCameraKitLensRemoteApiRequest"},"Protocols/SCCameraKitLensRemoteApiRequest.html#/c:objc(pl)SCCameraKitLensRemoteApiRequest(py)body":{"name":"body","abstract":"

Additional request payload as bytes.

","parent_name":"SCCameraKitLensRemoteApiRequest"},"Protocols/SCCameraKitLensProcessorObserver.html#/c:objc(pl)SCCameraKitLensProcessorObserver(im)processor:didApplyLens:":{"name":"-processor:didApplyLens:","abstract":"

Notifies that the lens processor did apply lens

","parent_name":"SCCameraKitLensProcessorObserver"},"Protocols/SCCameraKitLensProcessorObserver.html#/c:objc(pl)SCCameraKitLensProcessorObserver(im)processorDidIdle:":{"name":"-processorDidIdle:","abstract":"

Notifies that the lens processor did clear any active lens and is now in an “idle” state

","parent_name":"SCCameraKitLensProcessorObserver"},"Protocols/SCCameraKitLensProcessorObserver.html#/c:objc(pl)SCCameraKitLensProcessorObserver(im)processor:firstFrameDidBecomeReadyForLens:":{"name":"-processor:firstFrameDidBecomeReadyForLens:","abstract":"

Notifies the listener that the first frame with the lens applied is ready

","parent_name":"SCCameraKitLensProcessorObserver"},"Protocols/SCCameraKitLensProcessor.html#/c:objc(pl)SCCameraKitLensProcessor(py)hintDelegate":{"name":"hintDelegate","abstract":"

Lens hint delegate to show/hide hints for applied lenses

","parent_name":"SCCameraKitLensProcessor"},"Protocols/SCCameraKitLensProcessor.html#/c:objc(pl)SCCameraKitLensProcessor(py)audioMuted":{"name":"audioMuted","abstract":"

Specifies whether lenses will have their audio muted. NO by default.","parent_name":"SCCameraKitLensProcessor"},"Protocols/SCCameraKitLensProcessor.html#/c:objc(pl)SCCameraKitLensProcessor(im)applyLens:launchData:completion:":{"name":"-applyLens:launchData:completion:","abstract":"

Applies a specified lens.

","parent_name":"SCCameraKitLensProcessor"},"Protocols/SCCameraKitLensProcessor.html#/c:objc(pl)SCCameraKitLensProcessor(im)clearWithCompletion:":{"name":"-clearWithCompletion:","abstract":"

Removes any applied lenses.

","parent_name":"SCCameraKitLensProcessor"},"Protocols/SCCameraKitLensProcessor.html#/c:objc(pl)SCCameraKitLensProcessor(im)configureTouchHandlingInView:gestureRecognizerDelegate:":{"name":"-configureTouchHandlingInView:gestureRecognizerDelegate:","abstract":"

Configures touch handling for a given view.

","parent_name":"SCCameraKitLensProcessor"},"Protocols/SCCameraKitLensProcessor.html#/c:objc(pl)SCCameraKitLensProcessor(im)removeTouchHandlingInView:":{"name":"-removeTouchHandlingInView:","abstract":"

Clears all touch handling for a given view

","parent_name":"SCCameraKitLensProcessor"},"Protocols/SCCameraKitLensProcessor.html#/c:objc(pl)SCCameraKitLensProcessor(im)setAudioMuted:completion:":{"name":"-setAudioMuted:completion:","abstract":"

Mutes or unmutes audio.","parent_name":"SCCameraKitLensProcessor"},"Protocols/SCCameraKitLensProcessor.html#/c:objc(pl)SCCameraKitLensProcessor(im)processImage:":{"name":"-processImage:","abstract":"

Process image with lens effect using current camera session configuration

","parent_name":"SCCameraKitLensProcessor"},"Protocols/SCCameraKitLensProcessor.html#/c:objc(pl)SCCameraKitLensProcessor(im)addObserver:":{"name":"-addObserver:","abstract":"

Adds observer to receive notifications of changes to lens processor state.","parent_name":"SCCameraKitLensProcessor"},"Protocols/SCCameraKitLensProcessor.html#/c:objc(pl)SCCameraKitLensProcessor(im)removeObserver:":{"name":"-removeObserver:","abstract":"

Removes observer from receiving notifications of changes to lens availability.

","parent_name":"SCCameraKitLensProcessor"},"Protocols/SCCameraKitLensPrefetcher.html#/c:objc(pl)SCCameraKitLensPrefetcher(im)prefetchLenses:completion:":{"name":"-prefetchLenses:completion:","abstract":"

Queues up a new fetch task for each of the lenses in order to prefetch their content.","parent_name":"SCCameraKitLensPrefetcher"},"Protocols/SCCameraKitLensPrefetcher.html#/c:objc(pl)SCCameraKitLensPrefetcher(im)addStatusObserver:forLens:":{"name":"-addStatusObserver:forLens:","abstract":"

Add observer to observe changes in lens fetch status

","parent_name":"SCCameraKitLensPrefetcher"},"Protocols/SCCameraKitLensPrefetcher.html#/c:objc(pl)SCCameraKitLensPrefetcher(im)removeStatusObserver:forLens:":{"name":"-removeStatusObserver:forLens:","abstract":"

Remove observer to stop observing changes in lens fetch status

","parent_name":"SCCameraKitLensPrefetcher"},"Protocols/SCCameraKitLensPrefetcherTask.html#/c:objc(pl)SCCameraKitLensPrefetcherTask(im)cancel":{"name":"-cancel","abstract":"

Cancel prefetch task if it’s ongoing

","parent_name":"SCCameraKitLensPrefetcherTask"},"Protocols/SCCameraKitLensPrefetcherObserver.html#/c:objc(pl)SCCameraKitLensPrefetcherObserver(im)prefetcher:didUpdateLens:status:":{"name":"-prefetcher:didUpdateLens:status:","abstract":"

Notification when fetcher updates lens fetch status

","parent_name":"SCCameraKitLensPrefetcherObserver"},"Protocols/SCCameraKitLensMediaPickerProviderMediaApplicationDelegate.html#/c:objc(pl)SCCameraKitLensMediaPickerProviderMediaApplicationDelegate(im)mediaPickerProvider:requestedApplicationOfOriginalAssets:url:metadata:":{"name":"-mediaPickerProvider:requestedApplicationOfOriginalAssets:url:metadata:","abstract":"

Notifies lenses that the media picker provider has loaded the full resolution version of an asset and is ready for","parent_name":"SCCameraKitLensMediaPickerProviderMediaApplicationDelegate"},"Protocols/SCCameraKitLensMediaPickerProviderUIDelegate.html#/c:objc(pl)SCCameraKitLensMediaPickerProviderUIDelegate(im)mediaPickerProviderRequestedUIPresentation:":{"name":"-mediaPickerProviderRequestedUIPresentation:","abstract":"

Requests media picker UI be displayed.

","parent_name":"SCCameraKitLensMediaPickerProviderUIDelegate"},"Protocols/SCCameraKitLensMediaPickerProviderUIDelegate.html#/c:objc(pl)SCCameraKitLensMediaPickerProviderUIDelegate(im)mediaPickerProviderRequestedUIDismissal:":{"name":"-mediaPickerProviderRequestedUIDismissal:","abstract":"

Requests media picker UI be dismissed.

","parent_name":"SCCameraKitLensMediaPickerProviderUIDelegate"},"Protocols/SCCameraKitLensMediaPickerAsset.html#/c:objc(pl)SCCameraKitLensMediaPickerAsset(py)identifier":{"name":"identifier","abstract":"

A unique identifier for the asset.

","parent_name":"SCCameraKitLensMediaPickerAsset"},"Protocols/SCCameraKitLensMediaPickerAsset.html#/c:objc(pl)SCCameraKitLensMediaPickerAsset(py)type":{"name":"type","abstract":"

Whether the asset is an image or video.

","parent_name":"SCCameraKitLensMediaPickerAsset"},"Protocols/SCCameraKitLensMediaPickerAsset.html#/c:objc(pl)SCCameraKitLensMediaPickerAsset(py)duration":{"name":"duration","abstract":"

If the asset is a video, the length of the video in seconds. Otherwise 0.

","parent_name":"SCCameraKitLensMediaPickerAsset"},"Protocols/SCCameraKitLensMediaPickerAsset.html#/c:objc(pl)SCCameraKitLensMediaPickerAsset(py)previewImage":{"name":"previewImage","abstract":"

A thumbnail for the image or video. For images, this will be cropped to show any detected faces.

","parent_name":"SCCameraKitLensMediaPickerAsset"},"Protocols/SCCameraKitLensMediaPickerProvider.html#/c:objc(pl)SCCameraKitLensMediaPickerProvider(py)mediaApplicationDelegate":{"name":"mediaApplicationDelegate","abstract":"

A delegate that must be notified when loadAndApplyOriginalMediaFromAsset: finishes loading an original asset.","parent_name":"SCCameraKitLensMediaPickerProvider"},"Protocols/SCCameraKitLensMediaPickerProvider.html#/c:objc(pl)SCCameraKitLensMediaPickerProvider(py)uiDelegate":{"name":"uiDelegate","abstract":"

A delegate that will be notified when picker-related UI should be shown or hidden.

","parent_name":"SCCameraKitLensMediaPickerProvider"},"Protocols/SCCameraKitLensMediaPickerProvider.html#/c:objc(pl)SCCameraKitLensMediaPickerProvider(py)fetchedAssetCount":{"name":"fetchedAssetCount","abstract":"

The number of assets that have been fetched and may be displayed by the picker UI.

","parent_name":"SCCameraKitLensMediaPickerProvider"},"Protocols/SCCameraKitLensMediaPickerProvider.html#/c:objc(pl)SCCameraKitLensMediaPickerProvider(py)hasMoreAssetsToFetch":{"name":"hasMoreAssetsToFetch","abstract":"

Whether or not the data provider has more assets available to fetch.

","parent_name":"SCCameraKitLensMediaPickerProvider"},"Protocols/SCCameraKitLensMediaPickerProvider.html#/c:objc(pl)SCCameraKitLensMediaPickerProvider(im)fetchNextAssetBatchOfSize:queue:completion:":{"name":"-fetchNextAssetBatchOfSize:queue:completion:","abstract":"

Fetches a new batch of assets.

","parent_name":"SCCameraKitLensMediaPickerProvider"},"Protocols/SCCameraKitLensMediaPickerProvider.html#/c:objc(pl)SCCameraKitLensMediaPickerProvider(im)fetchedAssetAtIndex:":{"name":"-fetchedAssetAtIndex:","abstract":"

Retrieves a fetched asset at a given index.

","parent_name":"SCCameraKitLensMediaPickerProvider"},"Protocols/SCCameraKitLensMediaPickerProvider.html#/c:objc(pl)SCCameraKitLensMediaPickerProvider(im)loadAndApplyOriginalMediaFromAsset:completion:":{"name":"-loadAndApplyOriginalMediaFromAsset:completion:","abstract":"

Loads the full resolution backing asset of a specified asset and applies it to lenses.

","parent_name":"SCCameraKitLensMediaPickerProvider"},"Protocols/SCCameraKitLensMediaPickerProvider.html#/c:objc(pl)SCCameraKitLensMediaPickerProvider(im)reconfigureWithAllowedTypes:":{"name":"-reconfigureWithAllowedTypes:","abstract":"

Invalidates and resets internal state of the provider with a newly specified allowed media type option set.

","parent_name":"SCCameraKitLensMediaPickerProvider"},"Protocols/SCCameraKitLensHintProvider.html#/c:objc(pl)SCCameraKitLensHintProvider(im)localizedHintForHintId:lens:":{"name":"-localizedHintForHintId:lens:","abstract":"

Get localized hint for hint id

","parent_name":"SCCameraKitLensHintProvider"},"Protocols/SCCameraKitLensHintDelegate.html#/c:objc(pl)SCCameraKitLensHintDelegate(im)lensProcessor:shouldDisplayHint:forLens:autohide:":{"name":"-lensProcessor:shouldDisplayHint:forLens:autohide:","abstract":"

Notifies receiver that they should show hint for current lens

","parent_name":"SCCameraKitLensHintDelegate"},"Protocols/SCCameraKitLensHintDelegate.html#/c:objc(pl)SCCameraKitLensHintDelegate(im)lensProcessor:shouldHideAllHintsForLens:":{"name":"-lensProcessor:shouldHideAllHintsForLens:","abstract":"

Notifies receiver that they should remove all hints for current lens

","parent_name":"SCCameraKitLensHintDelegate"},"Protocols/SCCameraKitLens.html#/c:objc(pl)SCCameraKitLens(py)identifier":{"name":"identifier","abstract":"

A unique identifier for the lens.

","parent_name":"SCCameraKitLens"},"Protocols/SCCameraKitLens.html#/c:objc(pl)SCCameraKitLens(py)groupIdentifier":{"name":"groupIdentifier","abstract":"

A unique identifier for the group that the lens belongs to

","parent_name":"SCCameraKitLens"},"Protocols/SCCameraKitLens.html#/c:objc(pl)SCCameraKitLens(py)name":{"name":"name","abstract":"

The name for the lens

","parent_name":"SCCameraKitLens"},"Protocols/SCCameraKitLens.html#/c:objc(pl)SCCameraKitLens(py)iconUrl":{"name":"iconUrl","abstract":"

URL for icon image

","parent_name":"SCCameraKitLens"},"Protocols/SCCameraKitLens.html#/c:objc(pl)SCCameraKitLens(py)preview":{"name":"preview","abstract":"

Lens preview instance

","parent_name":"SCCameraKitLens"},"Protocols/SCCameraKitLens.html#/c:objc(pl)SCCameraKitLens(py)vendorData":{"name":"vendorData","abstract":"

Extra metadata provided from vendor

","parent_name":"SCCameraKitLens"},"Protocols/SCCameraKitLens.html#/c:objc(pl)SCCameraKitLens(py)facingPreference":{"name":"facingPreference","abstract":"

Specifies which facing a lens is designed for.

","parent_name":"SCCameraKitLens"},"Protocols/SCCameraKitLens.html#/c:objc(pl)SCCameraKitLens(py)snapcodes":{"name":"snapcodes","abstract":"

Lens Snapcodes instance

","parent_name":"SCCameraKitLens"},"Protocols/SCCameraKitLensSnapcodes.html#/c:objc(pl)SCCameraKitLensSnapcodes(py)imageUrl":{"name":"imageUrl","abstract":"

Image URL for Snapcode

","parent_name":"SCCameraKitLensSnapcodes"},"Protocols/SCCameraKitLensSnapcodes.html#/c:objc(pl)SCCameraKitLensSnapcodes(py)deeplink":{"name":"deeplink","abstract":"

Deeplink URL for Snapcode

","parent_name":"SCCameraKitLensSnapcodes"},"Protocols/SCCameraKitLensPreview.html#/c:objc(pl)SCCameraKitLensPreview(py)imageUrl":{"name":"imageUrl","abstract":"

URL for image preview

","parent_name":"SCCameraKitLensPreview"},"Protocols/SCCameraKitInput.html#/c:objc(pl)SCCameraKitInput(py)destination":{"name":"destination","abstract":"

The intermediate destination for frame data. See the protocol definition for more details.","parent_name":"SCCameraKitInput"},"Protocols/SCCameraKitInput.html#/c:objc(pl)SCCameraKitInput(py)horizontalFieldOfView":{"name":"horizontalFieldOfView","abstract":"

The horizontal field of view for the input.

","parent_name":"SCCameraKitInput"},"Protocols/SCCameraKitInput.html#/c:objc(pl)SCCameraKitInput(py)frameSize":{"name":"frameSize","abstract":"

The size for input frame

","parent_name":"SCCameraKitInput"},"Protocols/SCCameraKitInput.html#/c:objc(pl)SCCameraKitInput(py)frameOrientation":{"name":"frameOrientation","abstract":"

The orientation of frame data for the input.

","parent_name":"SCCameraKitInput"},"Protocols/SCCameraKitInput.html#/c:objc(pl)SCCameraKitInput(py)position":{"name":"position","abstract":"

The camera position that the frames are sourced from.

","parent_name":"SCCameraKitInput"},"Protocols/SCCameraKitInput.html#/c:objc(pl)SCCameraKitInput(py)isRunning":{"name":"isRunning","abstract":"

Whether or not the session is currently running.

","parent_name":"SCCameraKitInput"},"Protocols/SCCameraKitInput.html#/c:objc(pl)SCCameraKitInput(im)startRunning":{"name":"-startRunning","abstract":"

Indiciates that the input should begin running if it is not currently. If the input is aleady running, this should","parent_name":"SCCameraKitInput"},"Protocols/SCCameraKitInput.html#/c:objc(pl)SCCameraKitInput(im)stopRunning":{"name":"-stopRunning","abstract":"

Indiciates that the input should MUST stop running if it currently is running. If the input is not already running,","parent_name":"SCCameraKitInput"},"Protocols/SCCameraKitInput.html#/c:objc(pl)SCCameraKitInput(im)setVideoOrientation:":{"name":"-setVideoOrientation:","abstract":"

Set the orientation for the outputted video buffers

","parent_name":"SCCameraKitInput"},"Protocols/SCCameraKitInput.html#/c:objc(pl)SCCameraKitInput(py)audioEnabled":{"name":"audioEnabled","abstract":"

Undocumented

","parent_name":"SCCameraKitInput"},"Protocols/SCCameraKitInputDestination.html#/c:objc(pl)SCCameraKitInputDestination(im)input:receivedVideoSampleBuffer:":{"name":"-input:receivedVideoSampleBuffer:","abstract":"

Pass new video frame data into CameraKit. Call this every time your input generates new video frames.

","parent_name":"SCCameraKitInputDestination"},"Protocols/SCCameraKitInputDestination.html#/c:objc(pl)SCCameraKitInputDestination(im)input:receivedAudioSampleBuffer:":{"name":"-input:receivedAudioSampleBuffer:","abstract":"

Pass new audio frame data into CameraKit. Call this every time your input generates new audio frames.

","parent_name":"SCCameraKitInputDestination"},"Protocols/SCCameraKitInputDestination.html#/c:objc(pl)SCCameraKitInputDestination(im)inputChangedAttributes:":{"name":"-inputChangedAttributes:","abstract":"

Indicates that the input has changed some attribute and that CameraKit should reconfigure itself accordingly.

","parent_name":"SCCameraKitInputDestination"},"Protocols/SCCameraKitErrorHandler.html#/c:objc(pl)SCCameraKitErrorHandler(im)handleError:":{"name":"-handleError:","abstract":"

Handle error thrown by CameraKit

","parent_name":"SCCameraKitErrorHandler"},"Protocols/SCCameraKitDeviceMotionDataProvider.html#/c:objc(pl)SCCameraKitDeviceMotionDataProvider(py)deviceMotion":{"name":"deviceMotion","abstract":"

Current device motion data

","parent_name":"SCCameraKitDeviceMotionDataProvider"},"Protocols/SCCameraKitDeviceMotionDataProvider.html#/c:objc(pl)SCCameraKitDeviceMotionDataProvider(im)startUpdatingWithParameters:":{"name":"-startUpdatingWithParameters:","abstract":"

Start updating device motion with params

","parent_name":"SCCameraKitDeviceMotionDataProvider"},"Protocols/SCCameraKitDeviceMotionDataProvider.html#/c:objc(pl)SCCameraKitDeviceMotionDataProvider(im)stopUpdating":{"name":"-stopUpdating","abstract":"

Stop updating device motion

","parent_name":"SCCameraKitDeviceMotionDataProvider"},"Protocols/SCCameraKitDeviceMotionParameters.html#/c:objc(pl)SCCameraKitDeviceMotionParameters(py)requiresCompassAlignment":{"name":"requiresCompassAlignment","abstract":"

Requires device motion interface to be aligned with compass

","parent_name":"SCCameraKitDeviceMotionParameters"},"Protocols/SCCameraKitAgreementsStore.html#/c:objc(pl)SCCameraKitAgreementsStore(py)requiresNewAgreementAcceptance":{"name":"requiresNewAgreementAcceptance","abstract":"

Undocumented

","parent_name":"SCCameraKitAgreementsStore"},"Protocols/SCCameraKitAgreementsStore.html#/c:objc(pl)SCCameraKitAgreementsStore(py)childrenProtectionActRestricted":{"name":"childrenProtectionActRestricted","abstract":"

Undocumented

","parent_name":"SCCameraKitAgreementsStore"},"Protocols/SCCameraKitAgreementsStore.html#/c:objc(pl)SCCameraKitAgreementsStore(py)newestAvailableAgreements":{"name":"newestAvailableAgreements","abstract":"

Undocumented

","parent_name":"SCCameraKitAgreementsStore"},"Protocols/SCCameraKitAgreementsStore.html#/c:objc(pl)SCCameraKitAgreementsStore(im)acceptAgreements:":{"name":"-acceptAgreements:","abstract":"

Undocumented

","parent_name":"SCCameraKitAgreementsStore"},"Protocols/SCCameraKitAgreementsStore.html#/c:objc(pl)SCCameraKitAgreementsStore(im)declineAgreements:":{"name":"-declineAgreements:","abstract":"

Undocumented

","parent_name":"SCCameraKitAgreementsStore"},"Protocols/SCCameraKitAgreementsPresentationContextProvider.html#/c:objc(pl)SCCameraKitAgreementsPresentationContextProvider(py)viewControllerForPresentingAgreements":{"name":"viewControllerForPresentingAgreements","abstract":"

The view controller to present the agreements view controller from.

","parent_name":"SCCameraKitAgreementsPresentationContextProvider"},"Protocols/SCCameraKitAgreementsPresentationContextProvider.html#/c:objc(pl)SCCameraKitAgreementsPresentationContextProvider(im)dismissAgreementsViewController:accepted:":{"name":"-dismissAgreementsViewController:accepted:","abstract":"

Requests that the view controller passed be dismissed, with acceptance status.

","parent_name":"SCCameraKitAgreementsPresentationContextProvider"},"Protocols/SCCameraKitAgreementSet.html#/c:objc(pl)SCCameraKitAgreementSet(py)termsOfServiceURL":{"name":"termsOfServiceURL","abstract":"

A URL to the terms of service agreement for CameraKit.

","parent_name":"SCCameraKitAgreementSet"},"Protocols/SCCameraKitAgreementSet.html#/c:objc(pl)SCCameraKitAgreementSet(py)privacyPolicyURL":{"name":"privacyPolicyURL","abstract":"

A URL to the privacy policy for CameraKit.

","parent_name":"SCCameraKitAgreementSet"},"Protocols/SCCameraKitAgreementSet.html#/c:objc(pl)SCCameraKitAgreementSet(py)learnMoreURL":{"name":"learnMoreURL","abstract":"

A URL to the learn more page for CameraKit.

","parent_name":"SCCameraKitAgreementSet"},"Protocols/SCCameraKitAdjustmentsProcessorObserver.html#/c:objc(pl)SCCameraKitAdjustmentsProcessorObserver(im)processorUpdatedAdjustmentsAvailability:":{"name":"-processorUpdatedAdjustmentsAvailability:","abstract":"

Notifies that the adjustments processor updated the state of available adjustments

","parent_name":"SCCameraKitAdjustmentsProcessorObserver"},"Protocols/SCCameraKitAdjustmentsComponent.html#/c:objc(pl)SCCameraKitAdjustmentsComponent(py)processor":{"name":"processor","abstract":"

Handles the actual adjustment application. Will be null if CameraKit is not running with a valid input.

","parent_name":"SCCameraKitAdjustmentsComponent"},"Protocols/SCCameraKitAdjustmentsProcessor.html#/c:objc(pl)SCCameraKitAdjustmentsProcessor(im)isAdjustmentAvailable:":{"name":"-isAdjustmentAvailable:","abstract":"

Checks if an adjustment is available and supported by the current device. Some adjustments are performance sensitive","parent_name":"SCCameraKitAdjustmentsProcessor"},"Protocols/SCCameraKitAdjustmentsProcessor.html#/c:objc(pl)SCCameraKitAdjustmentsProcessor(im)applyAdjustment:error:":{"name":"-applyAdjustment:error:","abstract":"

Applies the specified adjustment.

","parent_name":"SCCameraKitAdjustmentsProcessor"},"Protocols/SCCameraKitAdjustmentsProcessor.html#/c:objc(pl)SCCameraKitAdjustmentsProcessor(im)removeAdjustmentController:":{"name":"-removeAdjustmentController:","abstract":"

Removes an adjustment.

","parent_name":"SCCameraKitAdjustmentsProcessor"},"Protocols/SCCameraKitAdjustmentsProcessor.html#/c:objc(pl)SCCameraKitAdjustmentsProcessor(im)addObserver:":{"name":"-addObserver:","abstract":"

Adds observer to receive notifications of changes to adjustments processor state.","parent_name":"SCCameraKitAdjustmentsProcessor"},"Protocols/SCCameraKitAdjustmentsProcessor.html#/c:objc(pl)SCCameraKitAdjustmentsProcessor(im)removeObserver:":{"name":"-removeObserver:","abstract":"

Removes observer from receiving notifications of changes to adjustments availability.

","parent_name":"SCCameraKitAdjustmentsProcessor"},"Protocols/SCCameraKitPortraitAdjustmentController.html#/c:objc(pl)SCCameraKitPortraitAdjustmentController(py)blur":{"name":"blur","abstract":"

How blurred the background is. Ranges from 0.0 to 1.0. A value of 0.0 is “not blurred at all” while 1.0 is","parent_name":"SCCameraKitPortraitAdjustmentController"},"Protocols/SCCameraKitToneMapAdjustmentController.html#/c:objc(pl)SCCameraKitToneMapAdjustmentController(py)amount":{"name":"amount","abstract":"

The “amount” of adjustment applied to the tone mapping algorithm. Ranges from 0.0 to 1.0. A value of 0.5 is the","parent_name":"SCCameraKitToneMapAdjustmentController"},"Protocols/SCCameraKitAccessTokenProvider.html#/c:objc(pl)SCCameraKitAccessTokenProvider(im)fetchAccessTokenIfAuthenticatedWithCompletion:":{"name":"-fetchAccessTokenIfAuthenticatedWithCompletion:","abstract":"

If the user is already authenticated, fetch a valid/non-expired access token to be used by some features like connected lenses, push to device, etc.","parent_name":"SCCameraKitAccessTokenProvider"},"Protocols/SCCameraKitAccessTokenProvider.html#/c:objc(pl)SCCameraKitAccessTokenProvider(im)fetchAccessTokenWithCompletion:":{"name":"-fetchAccessTokenWithCompletion:","abstract":"

Fetch a valid/non-expired access token to be used by some features like connected lenses, push to device, etc.","parent_name":"SCCameraKitAccessTokenProvider"},"Protocols/SCCameraKitAccessTokenProviderTask.html#/c:objc(pl)SCCameraKitAccessTokenProviderTask(im)cancel":{"name":"-cancel","abstract":"

Cancels fetching access token if it’s currently in progress;

","parent_name":"SCCameraKitAccessTokenProviderTask"},"Protocols/SCCameraKitARInput.html#/c:objc(pl)SCCameraKitARInput(py)session":{"name":"session","abstract":"

The managed ARSession.

","parent_name":"SCCameraKitARInput"},"Protocols/SCCameraKitARInput.html#/c:objc(pl)SCCameraKitARInput(py)arDelegate":{"name":"arDelegate","abstract":"

The intermediate destination for ARKit delegate methods. See the protocol definition for more details.","parent_name":"SCCameraKitARInput"},"Protocols/SCCameraKitARInput.html#/c:objc(pl)SCCameraKitARInput(py)frontCameraConfiguration":{"name":"frontCameraConfiguration","abstract":"

The ARConfiguration to use when using the front camera.

","parent_name":"SCCameraKitARInput"},"Protocols/SCCameraKitARInput.html#/c:objc(pl)SCCameraKitARInput(im)runWithConfiguration:options:":{"name":"-runWithConfiguration:options:","abstract":"

Runs the session with the provided configuration and options.

","parent_name":"SCCameraKitARInput"},"Protocols/SCCameraKitARInput.html#/c:objc(pl)SCCameraKitARInput(im)pause":{"name":"-pause","abstract":"

Pauses the session.

","parent_name":"SCCameraKitARInput"},"Protocols/SCCameraKitARInputDelegate.html#/c:objc(pl)SCCameraKitARInputDelegate(im)input:didAddAnchors:":{"name":"-input:didAddAnchors:","abstract":"

Method to call when the input receives session:didAddAnchors:

","parent_name":"SCCameraKitARInputDelegate"},"Protocols/SCCameraKitARInputDelegate.html#/c:objc(pl)SCCameraKitARInputDelegate(im)input:didUpdateAnchors:":{"name":"-input:didUpdateAnchors:","abstract":"

Method to call when the input receives session:didUpdateAnchors:

","parent_name":"SCCameraKitARInputDelegate"},"Protocols/SCCameraKitARInputDelegate.html#/c:objc(pl)SCCameraKitARInputDelegate(im)input:didRemoveAnchors:":{"name":"-input:didRemoveAnchors:","abstract":"

Method to call when the input receives session:didRemoveAnchors:

","parent_name":"SCCameraKitARInputDelegate"},"Protocols/SCCameraKitProtocol.html#/c:objc(pl)SCCameraKitProtocol(py)lenses":{"name":"lenses","abstract":"

Contains lenses related objects.

","parent_name":"SCCameraKitProtocol"},"Protocols/SCCameraKitProtocol.html#/c:objc(pl)SCCameraKitProtocol(py)adjustments":{"name":"adjustments","abstract":"

Contains adjustment related objects.

","parent_name":"SCCameraKitProtocol"},"Protocols/SCCameraKitProtocol.html#/c:objc(pl)SCCameraKitProtocol(im)startWithInput:arInput:":{"name":"-startWithInput:arInput:","abstract":"

Begin processing input frames with front camera position and portrait video orientation

","parent_name":"SCCameraKitProtocol"},"Protocols/SCCameraKitProtocol.html#/c:objc(pl)SCCameraKitProtocol(im)startWithInput:arInput:cameraPosition:videoOrientation:dataProvider:hintDelegate:":{"name":"-startWithInput:arInput:cameraPosition:videoOrientation:dataProvider:hintDelegate:","abstract":"

Deprecated. Use","parent_name":"SCCameraKitProtocol"},"Protocols/SCCameraKitProtocol.html#/c:objc(pl)SCCameraKitProtocol(im)startWithInput:arInput:cameraPosition:videoOrientation:dataProvider:hintDelegate:agreementsPresentationContextProvider:":{"name":"-startWithInput:arInput:cameraPosition:videoOrientation:dataProvider:hintDelegate:agreementsPresentationContextProvider:","abstract":"

Deprecated. Use","parent_name":"SCCameraKitProtocol"},"Protocols/SCCameraKitProtocol.html#/c:objc(pl)SCCameraKitProtocol(im)startWithInput:arInput:cameraPosition:videoOrientation:dataProvider:hintDelegate:textInputContextProvider:agreementsPresentationContextProvider:":{"name":"-startWithInput:arInput:cameraPosition:videoOrientation:dataProvider:hintDelegate:textInputContextProvider:agreementsPresentationContextProvider:","abstract":"

Begin processing input frames.

","parent_name":"SCCameraKitProtocol"},"Protocols/SCCameraKitProtocol.html#/c:objc(pl)SCCameraKitProtocol(im)stop":{"name":"-stop","abstract":"

End processing input frames.

","parent_name":"SCCameraKitProtocol"},"Protocols/SCCameraKitProtocol.html#/c:objc(pl)SCCameraKitProtocol(im)stopWithCompletion:":{"name":"-stopWithCompletion:","abstract":"

End processing input frames.

","parent_name":"SCCameraKitProtocol"},"Protocols/SCCameraKitProtocol.html#/c:objc(pl)SCCameraKitProtocol(im)addOutput:":{"name":"-addOutput:","abstract":"

Add an output. Frames will still be processed if no outputs exist.

","parent_name":"SCCameraKitProtocol"},"Protocols/SCCameraKitProtocol.html#/c:objc(pl)SCCameraKitProtocol(im)removeOutput:":{"name":"-removeOutput:","abstract":"

Remove an output.

","parent_name":"SCCameraKitProtocol"},"Protocols/SCCameraKitProtocol.html#/c:objc(pl)SCCameraKitProtocol(py)cameraPosition":{"name":"cameraPosition","abstract":"

The camera position in use. Setting will automatically update the input.

","parent_name":"SCCameraKitProtocol"},"Protocols/SCCameraKitProtocol.html#/c:objc(pl)SCCameraKitProtocol(py)videoOrientation":{"name":"videoOrientation","abstract":"

The orientation for the outputted video buffers

","parent_name":"SCCameraKitProtocol"},"Protocols/SCCameraKitProtocol.html#/c:objc(pl)SCCameraKitProtocol(py)activeInput":{"name":"activeInput","abstract":"

The active input. May be either standard camera input or the AR input, depending on lens requirements.

","parent_name":"SCCameraKitProtocol"},"Protocols/SCCameraKitProtocol.html#/c:objc(pl)SCCameraKitProtocol(py)agreementsStore":{"name":"agreementsStore","abstract":"

Store containing information above the acceptance state of terms of service

","parent_name":"SCCameraKitProtocol"},"Protocols/SCCameraKitProtocol.html#/c:objc(pl)SCCameraKitProtocol(im)presentAgreementsImmediately":{"name":"-presentAgreementsImmediately","abstract":"

Presents any agreements such as Terms of Service or Privacy Policy for CameraKit immediately, if needed.

","parent_name":"SCCameraKitProtocol"},"Protocols/SCCameraKitProtocol.html":{"name":"SCCameraKitProtocol","abstract":"

Undocumented

"},"Protocols/SCCameraKitARInputDelegate.html":{"name":"SCCameraKitARInputDelegate","abstract":"

Propogates ARKit session delegate methods back to CameraKit."},"Protocols/SCCameraKitARInput.html":{"name":"SCCameraKitARInput","abstract":"

Describes a source of AR data for CameraKit.

"},"Protocols/SCCameraKitAccessTokenProviderTask.html":{"name":"SCCameraKitAccessTokenProviderTask","abstract":"

Describes an interface that will handle fetching the access token.

"},"Protocols/SCCameraKitAccessTokenProvider.html":{"name":"SCCameraKitAccessTokenProvider","abstract":"

Describes an interface to provide an access token (ie. from LoginKit) required by some features like connected"},"Protocols.html#/c:objc(pl)SCCameraKitAdjustment":{"name":"SCCameraKitAdjustment","abstract":"

Protocol describing the Objective-C interface to an Adjustment.

"},"Protocols.html#/c:objc(pl)SCCameraKitAdjustmentController":{"name":"SCCameraKitAdjustmentController","abstract":"

Protocol describing the Objective-C interface to an Adjustment Controller.

"},"Protocols/SCCameraKitToneMapAdjustmentController.html":{"name":"SCCameraKitToneMapAdjustmentController","abstract":"

A controller to control the tone map adjustment.

"},"Protocols/SCCameraKitPortraitAdjustmentController.html":{"name":"SCCameraKitPortraitAdjustmentController","abstract":"

A controller to control the portrait adjustment.

"},"Protocols/SCCameraKitAdjustmentsProcessor.html":{"name":"SCCameraKitAdjustmentsProcessor","abstract":"

The adjustments processor handles adjusting camera frames before they are processed by lenses.

"},"Protocols/SCCameraKitAdjustmentsComponent.html":{"name":"SCCameraKitAdjustmentsComponent","abstract":"

The adjustments component wraps several adjustment-related classes.

"},"Protocols/SCCameraKitAdjustmentsProcessorObserver.html":{"name":"SCCameraKitAdjustmentsProcessorObserver","abstract":"

Allows conformers to be notified of changes to adjustments processor state

"},"Protocols/SCCameraKitAgreementSet.html":{"name":"SCCameraKitAgreementSet","abstract":"

Protocol to interface with agreements by CameraKit"},"Protocols/SCCameraKitAgreementsPresentationContextProvider.html":{"name":"SCCameraKitAgreementsPresentationContextProvider","abstract":"

Describes an interface to provide presentation context for CameraKit to present agreements.

"},"Protocols/SCCameraKitAgreementsStore.html":{"name":"SCCameraKitAgreementsStore","abstract":"

Protocol describing the CameraKit agreements store.

"},"Protocols/SCCameraKitDeviceMotionParameters.html":{"name":"SCCameraKitDeviceMotionParameters","abstract":"

Params for device motion interface

"},"Protocols/SCCameraKitDeviceMotionDataProvider.html":{"name":"SCCameraKitDeviceMotionDataProvider","abstract":"

Protocol to provide device motion data and handle starting/updating/stopping

"},"Protocols/SCCameraKitErrorHandler.html":{"name":"SCCameraKitErrorHandler","abstract":"

Describes an interface to handler errors and exceptions related to CameraKit

"},"Protocols/SCCameraKitInputDestination.html":{"name":"SCCameraKitInputDestination","abstract":"

The input destination is an intermediary for frame data.

"},"Protocols/SCCameraKitInput.html":{"name":"SCCameraKitInput","abstract":"

Describes a source of frames for CameraKit. Can be a camera, file, etc.

"},"Protocols/SCCameraKitLensPreview.html":{"name":"SCCameraKitLensPreview","abstract":"

Describes an interface that contains lens preview data

"},"Protocols/SCCameraKitLensSnapcodes.html":{"name":"SCCameraKitLensSnapcodes","abstract":"

Describes an interface that contains lens snapcodes data

"},"Protocols/SCCameraKitLens.html":{"name":"SCCameraKitLens","abstract":"

Describes a lens object.

"},"Protocols/SCCameraKitLensHintDelegate.html":{"name":"SCCameraKitLensHintDelegate","abstract":"

Lens hint delegate used to notify receivers when to show/hide hints for applied lenses

"},"Protocols/SCCameraKitLensHintProvider.html":{"name":"SCCameraKitLensHintProvider","abstract":"

Describes an interface used to provide lens hint localizations from hint ids

"},"Protocols.html#/c:objc(pl)SCCameraKitLensLaunchData":{"name":"SCCameraKitLensLaunchData","abstract":"

An opaque protocol used to pass launch data to processor when applying lens

"},"Protocols/SCCameraKitLensMediaPickerProvider.html":{"name":"SCCameraKitLensMediaPickerProvider","abstract":"

Undocumented

"},"Protocols/SCCameraKitLensMediaPickerAsset.html":{"name":"SCCameraKitLensMediaPickerAsset","abstract":"

An asset provided by the picker. May be backed by a PHAsset, or an app’s own custom media type.

"},"Protocols/SCCameraKitLensMediaPickerProviderUIDelegate.html":{"name":"SCCameraKitLensMediaPickerProviderUIDelegate","abstract":"

Delegate responsible for handling UI events related to the provider, such as showing/hiding a picker.

"},"Protocols/SCCameraKitLensMediaPickerProviderMediaApplicationDelegate.html":{"name":"SCCameraKitLensMediaPickerProviderMediaApplicationDelegate","abstract":"

Delegate responsible for applying media to a lens. This should not be implemented directly.

"},"Protocols/SCCameraKitLensPrefetcherObserver.html":{"name":"SCCameraKitLensPrefetcherObserver","abstract":"

Describes an interface used to observe changes in lens fetch status

"},"Protocols/SCCameraKitLensPrefetcherTask.html":{"name":"SCCameraKitLensPrefetcherTask","abstract":"

Describes the interface used to cancel an ongoing prefetch task

"},"Protocols/SCCameraKitLensPrefetcher.html":{"name":"SCCameraKitLensPrefetcher","abstract":"

Describes the interface used to prefetch lens content

"},"Protocols/SCCameraKitLensProcessor.html":{"name":"SCCameraKitLensProcessor","abstract":"

The lens processor handles transforming camera frames and adding effects to them.

"},"Protocols/SCCameraKitLensProcessorObserver.html":{"name":"SCCameraKitLensProcessorObserver","abstract":"

Allows conformers to be notified of changes to lens processor state

"},"Protocols/SCCameraKitLensRemoteApiRequest.html":{"name":"SCCameraKitLensRemoteApiRequest","abstract":"

Describes the remote api service request sent by a lens.

"},"Protocols/SCCameraKitLensRemoteApiResponse.html":{"name":"SCCameraKitLensRemoteApiResponse","abstract":"

Describes the remote api service response to a request sent by a lens.

"},"Protocols/SCCameraKitLensRemoteApiServiceCall.html":{"name":"SCCameraKitLensRemoteApiServiceCall","abstract":"

Describes the call that is sent in response to a remote api request sent by a lens.

"},"Protocols/SCCameraKitLensRemoteApiService.html":{"name":"SCCameraKitLensRemoteApiService","abstract":"

Describes a remote api service used to process requests sent by a lens.

"},"Protocols/SCCameraKitLensRemoteApiServiceProvider.html":{"name":"SCCameraKitLensRemoteApiServiceProvider","abstract":"

Describes an interface to provide remote api services for specific lenses and api spec identifiers.

"},"Protocols/SCCameraKitLensRepositoryGroupObserver.html":{"name":"SCCameraKitLensRepositoryGroupObserver","abstract":"

Allows conformers to be notified of changes to lens groups the repository has available.

"},"Protocols/SCCameraKitLensRepositorySpecificObserver.html":{"name":"SCCameraKitLensRepositorySpecificObserver","abstract":"

Allows conformers to be notified of changes to specific lenses in groups the repository has available.

"},"Protocols/SCCameraKitLensesComponent.html":{"name":"SCCameraKitLensesComponent","abstract":"

The lenses component wraps several lens-related classes.

"},"Protocols/SCCameraKitLensRepository.html":{"name":"SCCameraKitLensRepository","abstract":"

Lens Repository for listing lenses, getting lenses, etc.

"},"Protocols/SCCameraKitLocationParameters.html":{"name":"SCCameraKitLocationParameters","abstract":"

Params for device motion interface

"},"Protocols/SCCameraKitLocationDataProvider.html":{"name":"SCCameraKitLocationDataProvider","abstract":"

Protocol to provide device motion data and handle starting/updating/stopping

"},"Protocols/SCCameraKitOutput.html":{"name":"SCCameraKitOutput","abstract":"

Allows conformers to be notified of new frame data from CameraKit.

"},"Protocols/SCCameraKitPreferences.html":{"name":"SCCameraKitPreferences","abstract":"

Protocol to interface with preferences stored by CameraKit"},"Protocols/SCCameraKitTextInputKeyboardAccessoryProvider.html":{"name":"SCCameraKitTextInputKeyboardAccessoryProvider","abstract":"

Protocol for representing a text input view on-screen for lenses that request it.

"},"Protocols/SCCameraKitTextInputContextProvider.html":{"name":"SCCameraKitTextInputContextProvider","abstract":"

Protocol to provide keyboard input data to lenses.

"},"Protocols.html#/c:objc(pl)SCCameraKitTexture":{"name":"SCCameraKitTexture","abstract":"

An opaque protocol describing CameraKit output.

"},"Protocols/SCCameraKitUserDataProviderDelegate.html":{"name":"SCCameraKitUserDataProviderDelegate","abstract":"

User data provider delegate to provide receivers with new user data on updates

"},"Protocols/SCCameraKitUserDataProvider.html":{"name":"SCCameraKitUserDataProvider","abstract":"

Describes an interface that provides user data to lenses

"},"Protocols/Adjustment.html":{"name":"Adjustment","abstract":"

Swift protocol for an adjustment. Specifies an associated Controller type.

"},"Enums/SCCameraKitPreviewViewContentMode.html#/c:@E@SCCameraKitPreviewViewContentMode@SCCameraKitPreviewViewContentModeScaleToFill":{"name":"SCCameraKitPreviewViewContentModeScaleToFill","abstract":"

Undocumented

","parent_name":"SCCameraKitPreviewViewContentMode"},"Enums/SCCameraKitPreviewViewContentMode.html#/c:@E@SCCameraKitPreviewViewContentMode@SCCameraKitPreviewViewContentModeAspectFill":{"name":"SCCameraKitPreviewViewContentModeAspectFill","abstract":"

Undocumented

","parent_name":"SCCameraKitPreviewViewContentMode"},"Enums/SCCameraKitPreviewViewContentMode.html#/c:@E@SCCameraKitPreviewViewContentMode@SCCameraKitPreviewViewContentModeAspectFit":{"name":"SCCameraKitPreviewViewContentModeAspectFit","abstract":"

Undocumented

","parent_name":"SCCameraKitPreviewViewContentMode"},"Enums/SCCameraKitLensRemoteApiServiceCallStatus.html#/c:@E@SCCameraKitLensRemoteApiServiceCallStatus@SCCameraKitLensRemoteApiServiceCallStatusIgnored":{"name":"SCCameraKitLensRemoteApiServiceCallStatusIgnored","abstract":"

Request was ignored typically due to a remote api service not interested in handling such request to allow other","parent_name":"SCCameraKitLensRemoteApiServiceCallStatus"},"Enums/SCCameraKitLensRemoteApiServiceCallStatus.html#/c:@E@SCCameraKitLensRemoteApiServiceCallStatus@SCCameraKitLensRemoteApiServiceCallStatusOngoing":{"name":"SCCameraKitLensRemoteApiServiceCallStatusOngoing","abstract":"

Request was received but one or more responses are yet to be sent.

","parent_name":"SCCameraKitLensRemoteApiServiceCallStatus"},"Enums/SCCameraKitLensRemoteApiServiceCallStatus.html#/c:@E@SCCameraKitLensRemoteApiServiceCallStatus@SCCameraKitLensRemoteApiServiceCallStatusAnswered":{"name":"SCCameraKitLensRemoteApiServiceCallStatusAnswered","abstract":"

Request was received and a single response was sent indicating that the call is complete.

","parent_name":"SCCameraKitLensRemoteApiServiceCallStatus"},"Enums/SCCameraKitLensRemoteApiResponseStatus.html#/c:@E@SCCameraKitLensRemoteApiResponseStatus@SCCameraKitLensRemoteApiResponseStatusSuccess":{"name":"SCCameraKitLensRemoteApiResponseStatusSuccess","abstract":"

Request succeeded.

","parent_name":"SCCameraKitLensRemoteApiResponseStatus"},"Enums/SCCameraKitLensRemoteApiResponseStatus.html#/c:@E@SCCameraKitLensRemoteApiResponseStatus@SCCameraKitLensRemoteApiResponseStatusRedirected":{"name":"SCCameraKitLensRemoteApiResponseStatusRedirected","abstract":"

Request was redirected.

","parent_name":"SCCameraKitLensRemoteApiResponseStatus"},"Enums/SCCameraKitLensRemoteApiResponseStatus.html#/c:@E@SCCameraKitLensRemoteApiResponseStatus@SCCameraKitLensRemoteApiResponseStatusBadRequest":{"name":"SCCameraKitLensRemoteApiResponseStatusBadRequest","abstract":"

Invalid request.

","parent_name":"SCCameraKitLensRemoteApiResponseStatus"},"Enums/SCCameraKitLensRemoteApiResponseStatus.html#/c:@E@SCCameraKitLensRemoteApiResponseStatus@SCCameraKitLensRemoteApiResponseStatusAccessDenied":{"name":"SCCameraKitLensRemoteApiResponseStatusAccessDenied","abstract":"

Caller doesn’t have permission to access resource.

","parent_name":"SCCameraKitLensRemoteApiResponseStatus"},"Enums/SCCameraKitLensRemoteApiResponseStatus.html#/c:@E@SCCameraKitLensRemoteApiResponseStatus@SCCameraKitLensRemoteApiResponseStatusNotFound":{"name":"SCCameraKitLensRemoteApiResponseStatusNotFound","abstract":"

Resource not found.

","parent_name":"SCCameraKitLensRemoteApiResponseStatus"},"Enums/SCCameraKitLensRemoteApiResponseStatus.html#/c:@E@SCCameraKitLensRemoteApiResponseStatus@SCCameraKitLensRemoteApiResponseStatusTimeout":{"name":"SCCameraKitLensRemoteApiResponseStatusTimeout","abstract":"

Request timed out.

","parent_name":"SCCameraKitLensRemoteApiResponseStatus"},"Enums/SCCameraKitLensRemoteApiResponseStatus.html#/c:@E@SCCameraKitLensRemoteApiResponseStatus@SCCameraKitLensRemoteApiResponseStatusRequestTooLarge":{"name":"SCCameraKitLensRemoteApiResponseStatusRequestTooLarge","abstract":"

Request too large.

","parent_name":"SCCameraKitLensRemoteApiResponseStatus"},"Enums/SCCameraKitLensRemoteApiResponseStatus.html#/c:@E@SCCameraKitLensRemoteApiResponseStatus@SCCameraKitLensRemoteApiResponseStatusInternalServiceError":{"name":"SCCameraKitLensRemoteApiResponseStatusInternalServiceError","abstract":"

Internal service error.

","parent_name":"SCCameraKitLensRemoteApiResponseStatus"},"Enums/SCCameraKitLensRemoteApiResponseStatus.html#/c:@E@SCCameraKitLensRemoteApiResponseStatus@SCCameraKitLensRemoteApiResponseStatusCancelled":{"name":"SCCameraKitLensRemoteApiResponseStatusCancelled","abstract":"

Request cancelled by caller.

","parent_name":"SCCameraKitLensRemoteApiResponseStatus"},"Enums/SCCameraKitLensFetchStatus.html#/c:@E@SCCameraKitLensFetchStatus@SCCameraKitLensFetchStatusUnloaded":{"name":"SCCameraKitLensFetchStatusUnloaded","abstract":"

Undocumented

","parent_name":"SCCameraKitLensFetchStatus"},"Enums/SCCameraKitLensFetchStatus.html#/c:@E@SCCameraKitLensFetchStatus@SCCameraKitLensFetchStatusLoading":{"name":"SCCameraKitLensFetchStatusLoading","abstract":"

Undocumented

","parent_name":"SCCameraKitLensFetchStatus"},"Enums/SCCameraKitLensFetchStatus.html#/c:@E@SCCameraKitLensFetchStatus@SCCameraKitLensFetchStatusLoaded":{"name":"SCCameraKitLensFetchStatusLoaded","abstract":"

Undocumented

","parent_name":"SCCameraKitLensFetchStatus"},"Enums/SCCameraKitLensMediaPickerAssetType.html#/c:@E@SCCameraKitLensMediaPickerAssetType@SCCameraKitLensMediaPickerAssetTypeImage":{"name":"SCCameraKitLensMediaPickerAssetTypeImage","abstract":"

Undocumented

","parent_name":"SCCameraKitLensMediaPickerAssetType"},"Enums/SCCameraKitLensMediaPickerAssetType.html#/c:@E@SCCameraKitLensMediaPickerAssetType@SCCameraKitLensMediaPickerAssetTypeVideo":{"name":"SCCameraKitLensMediaPickerAssetTypeVideo","abstract":"

Undocumented

","parent_name":"SCCameraKitLensMediaPickerAssetType"},"Enums/SCCameraKitLensMediaPickerProviderAllowedMediaType.html#/c:@E@SCCameraKitLensMediaPickerProviderAllowedMediaType@SCCameraKitLensMediaPickerProviderAllowedMediaTypeNoneSpecified":{"name":"SCCameraKitLensMediaPickerProviderAllowedMediaTypeNoneSpecified","abstract":"

Undocumented

","parent_name":"SCCameraKitLensMediaPickerProviderAllowedMediaType"},"Enums/SCCameraKitLensMediaPickerProviderAllowedMediaType.html#/c:@E@SCCameraKitLensMediaPickerProviderAllowedMediaType@SCCameraKitLensMediaPickerProviderAllowedMediaTypeImage":{"name":"SCCameraKitLensMediaPickerProviderAllowedMediaTypeImage","abstract":"

Undocumented

","parent_name":"SCCameraKitLensMediaPickerProviderAllowedMediaType"},"Enums/SCCameraKitLensMediaPickerProviderAllowedMediaType.html#/c:@E@SCCameraKitLensMediaPickerProviderAllowedMediaType@SCCameraKitLensMediaPickerProviderAllowedMediaTypeImageCroppedToFace":{"name":"SCCameraKitLensMediaPickerProviderAllowedMediaTypeImageCroppedToFace","abstract":"

Undocumented

","parent_name":"SCCameraKitLensMediaPickerProviderAllowedMediaType"},"Enums/SCCameraKitLensMediaPickerProviderAllowedMediaType.html#/c:@E@SCCameraKitLensMediaPickerProviderAllowedMediaType@SCCameraKitLensMediaPickerProviderAllowedMediaTypeVideo":{"name":"SCCameraKitLensMediaPickerProviderAllowedMediaTypeVideo","abstract":"

Undocumented

","parent_name":"SCCameraKitLensMediaPickerProviderAllowedMediaType"},"Enums/SCCameraKitLensFacingPreference.html#/c:@E@SCCameraKitLensFacingPreference@SCCameraKitLensFacingPreferenceNone":{"name":"SCCameraKitLensFacingPreferenceNone","abstract":"

Undocumented

","parent_name":"SCCameraKitLensFacingPreference"},"Enums/SCCameraKitLensFacingPreference.html#/c:@E@SCCameraKitLensFacingPreference@SCCameraKitLensFacingPreferenceFront":{"name":"SCCameraKitLensFacingPreferenceFront","abstract":"

Undocumented

","parent_name":"SCCameraKitLensFacingPreference"},"Enums/SCCameraKitLensFacingPreference.html#/c:@E@SCCameraKitLensFacingPreference@SCCameraKitLensFacingPreferenceBack":{"name":"SCCameraKitLensFacingPreferenceBack","abstract":"

Undocumented

","parent_name":"SCCameraKitLensFacingPreference"},"Enums/SCCameraKitAdjustmentsComponentError.html#/c:@E@SCCameraKitAdjustmentsComponentError@SCCameraKitAdjustmentsComponentErrorUnsupportedAdjustment":{"name":"SCCameraKitAdjustmentsComponentErrorUnsupportedAdjustment","abstract":"

Undocumented

","parent_name":"SCCameraKitAdjustmentsComponentError"},"Enums/SCCameraKitAdjustmentsComponentError.html":{"name":"SCCameraKitAdjustmentsComponentError","abstract":"

Undocumented

"},"Enums/SCCameraKitLensFacingPreference.html":{"name":"SCCameraKitLensFacingPreference","abstract":"

Describes all posible facings (inversely relative to the user) that a lens can be designed for.

"},"Enums/SCCameraKitLensMediaPickerProviderAllowedMediaType.html":{"name":"SCCameraKitLensMediaPickerProviderAllowedMediaType","abstract":"

Undocumented

"},"Enums/SCCameraKitLensMediaPickerAssetType.html":{"name":"SCCameraKitLensMediaPickerAssetType","abstract":"

Undocumented

"},"Enums/SCCameraKitLensFetchStatus.html":{"name":"SCCameraKitLensFetchStatus","abstract":"

Describes the fetch status for the lens"},"Enums/SCCameraKitLensRemoteApiResponseStatus.html":{"name":"SCCameraKitLensRemoteApiResponseStatus","abstract":"

Describes the status of the response sent to the lens.

"},"Enums/SCCameraKitLensRemoteApiServiceCallStatus.html":{"name":"SCCameraKitLensRemoteApiServiceCallStatus","abstract":"

Describes the status of the call for the request handled by a remote api service.

"},"Enums/SCCameraKitPreviewViewContentMode.html":{"name":"SCCameraKitPreviewViewContentMode","abstract":"

Undocumented

"},"Constants.html#/c:@SCCameraKitVersion":{"name":"SCCameraKitVersion","abstract":"

Short CameraKit version (ie 1.8.0)

"},"Constants.html#/c:@SCCameraKitLensCoreVersion":{"name":"SCCameraKitLensCoreVersion","abstract":"

LensCore version (ie 243)

"},"Constants.html#/c:@SCCameraKitAdjustmentsComponentErrorDomain":{"name":"SCCameraKitAdjustmentsComponentErrorDomain","abstract":"

Undocumented

"},"Constants.html#/c:@SCCameraKitErrorUnspecified":{"name":"SCCameraKitErrorUnspecified","abstract":"

Undocumented

"},"Constants.html#/c:@SCCameraKitErrorLensMetadataNotFound":{"name":"SCCameraKitErrorLensMetadataNotFound","abstract":"

Undocumented

"},"Constants.html#/c:@SCCameraKitErrorLensContentNotFound":{"name":"SCCameraKitErrorLensContentNotFound","abstract":"

Undocumented

"},"Constants.html#/c:@SCCameraKitErrorLensContentUrlMissing":{"name":"SCCameraKitErrorLensContentUrlMissing","abstract":"

Undocumented

"},"Constants.html#/c:@SCCameraKitErrorLensChecksumMissing":{"name":"SCCameraKitErrorLensChecksumMissing","abstract":"

Undocumented

"},"Constants.html#/c:@SCCameraKitErrorCannotWriteToFile":{"name":"SCCameraKitErrorCannotWriteToFile","abstract":"

Undocumented

"},"Constants.html#/c:@SCCameraKitExceptionUnauthorized":{"name":"SCCameraKitExceptionUnauthorized","abstract":"

Reported when SCCameraKitClientID in Info.plist is missing or invalid.

"},"Constants.html#/c:@SCCameraKitExceptionInvalidApplicationState":{"name":"SCCameraKitExceptionInvalidApplicationState","abstract":"

Reported when backend fails to authenticate client."},"Constants.html#/c:@SCCameraKitExceptionInvalidLens":{"name":"SCCameraKitExceptionInvalidLens","abstract":"

Reported when trying to pass an invalid lens class that’s different than the internal ones we support.

"},"Constants.html#/c:@SCCameraKitExceptionInvalidTexture":{"name":"SCCameraKitExceptionInvalidTexture","abstract":"

Reported when trying to draw an invalid texture class that’s different than the internal ones we support.

"},"Constants.html#/c:@SCCameraKitExceptionProcessingLensFailure":{"name":"SCCameraKitExceptionProcessingLensFailure","abstract":"

Reported whne processing fails due to a lens error. Lens errors are normally caused by"},"Constants.html#/c:@SCCameraKitExceptionProcessingInternalFailure":{"name":"SCCameraKitExceptionProcessingInternalFailure","abstract":"

Reported when processing fails due to an internal error. Cause of such errors can be bugs in the"},"Constants.html#/c:@SCCameraKitLensRepositoryBundledGroup":{"name":"SCCameraKitLensRepositoryBundledGroup","abstract":"

Undocumented

"},"Constants.html#/c:@SCCameraKitLensesComponentErrorDomain":{"name":"SCCameraKitLensesComponentErrorDomain","abstract":"

Undocumented

"},"Classes/SCCameraKitUserData.html#/c:objc(cs)SCCameraKitUserData(py)displayName":{"name":"displayName","abstract":"

User’s full display name

","parent_name":"SCCameraKitUserData"},"Classes/SCCameraKitUserData.html#/c:objc(cs)SCCameraKitUserData(py)birthDate":{"name":"birthDate","abstract":"

User’s birth date (optional)

","parent_name":"SCCameraKitUserData"},"Classes/SCCameraKitUserData.html#/c:objc(cs)SCCameraKitUserData(im)initWithDisplayName:birthDate:":{"name":"-initWithDisplayName:birthDate:","abstract":"

Designated init to pass in user data fields

","parent_name":"SCCameraKitUserData"},"Classes/SCCameraKitUserData.html#/c:objc(cs)SCCameraKitUserData(im)init":{"name":"-init","abstract":"

Use designated init or convenience init to pass in required user properties

","parent_name":"SCCameraKitUserData"},"Classes/SCCameraKitUserData.html#/c:objc(cs)SCCameraKitUserData(cm)new":{"name":"+new","abstract":"

Undocumented

","parent_name":"SCCameraKitUserData"},"Classes/SCCameraKitSessionConfig.html#/c:objc(cs)SCCameraKitSessionConfig(py)apiToken":{"name":"apiToken","abstract":"

API token that is found in the dev portal

","parent_name":"SCCameraKitSessionConfig"},"Classes/SCCameraKitSessionConfig.html#/c:objc(cs)SCCameraKitSessionConfig(py)additionalConfigurationAttributes":{"name":"additionalConfigurationAttributes","abstract":"
","parent_name":"SCCameraKitSessionConfig"},"Classes/SCCameraKitSessionConfig.html#/c:objc(cs)SCCameraKitSessionConfig(im)initWithApiToken:":{"name":"-initWithApiToken:","abstract":"

Designated init to pass in apiToken

","parent_name":"SCCameraKitSessionConfig"},"Classes/SCCameraKitSessionConfig.html#/c:objc(cs)SCCameraKitSessionConfig(im)initWithApiToken:additionalConfigurationAttributes:":{"name":"-initWithApiToken:additionalConfigurationAttributes:","abstract":"

Init to pass in apiToken

","parent_name":"SCCameraKitSessionConfig"},"Classes/SCCameraKitSessionConfig.html#/c:objc(cs)SCCameraKitSessionConfig(cm)new":{"name":"+new","abstract":"

Use designated init to pass in require applicationID and apiToken

","parent_name":"SCCameraKitSessionConfig"},"Classes/SCCameraKitSessionConfig.html#/c:objc(cs)SCCameraKitSessionConfig(im)init":{"name":"-init","abstract":"

Undocumented

","parent_name":"SCCameraKitSessionConfig"},"Classes/SCCameraKitSessionConfig.html#/c:objc(cs)SCCameraKitSessionConfig(py)applicationId":{"name":"applicationId","abstract":"

applicationID/clientID that is found in the dev portal

","parent_name":"SCCameraKitSessionConfig"},"Classes/SCCameraKitSessionConfig.html#/c:objc(cs)SCCameraKitSessionConfig(im)initWithApplicationID:apiToken:":{"name":"-initWithApplicationID:apiToken:","abstract":"

Designated init to pass in applicationID and apiToken

","parent_name":"SCCameraKitSessionConfig"},"Classes/SCCameraKitSessionConfig.html#/c:objc(cs)SCCameraKitSessionConfig(im)initWithApplicationID:apiToken:additionalConfigurationAttributes:":{"name":"-initWithApplicationID:apiToken:additionalConfigurationAttributes:","abstract":"

Init to pass in applicationID and apiToken

","parent_name":"SCCameraKitSessionConfig"},"Classes/SCCameraKitPreviewView.html#/c:objc(cs)SCCameraKitPreviewView(py)automaticallyConfiguresTouchHandler":{"name":"automaticallyConfiguresTouchHandler","abstract":"

Configures the neccessary gesture recognizers for handling touch input in lenses.","parent_name":"SCCameraKitPreviewView"},"Classes/SCCameraKitPreviewView.html#/c:objc(cs)SCCameraKitPreviewView(py)automaticallyConfiguresViewport":{"name":"automaticallyConfiguresViewport","abstract":"

Configures the viewport upon changes to the view’s frame.","parent_name":"SCCameraKitPreviewView"},"Classes/SCCameraKitPreviewView.html#/c:objc(cs)SCCameraKitPreviewView(py)contentMode":{"name":"contentMode","abstract":"

Configures the content mode the preview view will use to render.

","parent_name":"SCCameraKitPreviewView"},"Classes/SCCameraKitPreviewView.html#/c:objc(cs)SCCameraKitPreviewView(py)safeArea":{"name":"safeArea","abstract":"

Configures the safe area to an explicitly specified rect.

","parent_name":"SCCameraKitPreviewView"},"Classes/SCCameraKitPreviewView.html#/c:objc(cs)SCCameraKitPreviewView(py)explicitViewportProvider":{"name":"explicitViewportProvider","abstract":"

Setting this property configures the preview view to use its viewportSize, outputResolution, and safeArea.

","parent_name":"SCCameraKitPreviewView"},"Classes/SCCameraKitPreviewView.html#/c:objc(cs)SCCameraKitPreviewView(im)configureSafeAreaWithOccludingViews:":{"name":"-configureSafeAreaWithOccludingViews:","abstract":"

Automatically configures the safeArea property to avoid the specified views.

","parent_name":"SCCameraKitPreviewView"},"Classes/SCCameraKitPhotoCaptureOutput.html#/c:objc(cs)SCCameraKitPhotoCaptureOutput(im)init":{"name":"-init","abstract":"

Undocumented

","parent_name":"SCCameraKitPhotoCaptureOutput"},"Classes/SCCameraKitPhotoCaptureOutput.html#/c:objc(cs)SCCameraKitPhotoCaptureOutput(cm)new":{"name":"+new","abstract":"

Undocumented

","parent_name":"SCCameraKitPhotoCaptureOutput"},"Classes/SCCameraKitPhotoCaptureOutput.html#/c:objc(cs)SCCameraKitPhotoCaptureOutput(im)initWithCapturePhotoOutput:":{"name":"-initWithCapturePhotoOutput:","abstract":"

Instantiates a capturer with the specified AVCapturePhotoOutput and capture settings.

","parent_name":"SCCameraKitPhotoCaptureOutput"},"Classes/SCCameraKitPhotoCaptureOutput.html#/c:objc(cs)SCCameraKitPhotoCaptureOutput(im)capturePhotoWithCaptureSettings:outputSize:completion:":{"name":"-capturePhotoWithCaptureSettings:outputSize:completion:","abstract":"

Capture a photo and call a completion with the resulting image when done.

","parent_name":"SCCameraKitPhotoCaptureOutput"},"Classes/SCCameraKitPhotoCaptureOutput.html#/c:objc(cs)SCCameraKitPhotoCaptureOutput(im)capturePhotoWithCaptureSettings:completion:":{"name":"-capturePhotoWithCaptureSettings:completion:","abstract":"

Capture a photo and call a completion with the resulting image when done.

","parent_name":"SCCameraKitPhotoCaptureOutput"},"Classes/SCCameraKitLensesConfig.html#/c:objc(cs)SCCameraKitLensesConfig(py)cacheConfig":{"name":"cacheConfig","abstract":"

Cache config instance to configure cache properties

","parent_name":"SCCameraKitLensesConfig"},"Classes/SCCameraKitLensesConfig.html#/c:objc(cs)SCCameraKitLensesConfig(im)initWithCacheConfig:":{"name":"-initWithCacheConfig:","abstract":"

Init with cache config instance

","parent_name":"SCCameraKitLensesConfig"},"Classes/SCCameraKitCacheConfig.html#/c:objc(cs)SCCameraKitCacheConfig(py)lensContentMaxSize":{"name":"lensContentMaxSize","abstract":"

Max size in bytes for lens content cache

","parent_name":"SCCameraKitCacheConfig"},"Classes/SCCameraKitCacheConfig.html#/c:objc(cs)SCCameraKitCacheConfig(im)initWithLensContentMaxSize:":{"name":"-initWithLensContentMaxSize:","abstract":"

Init with specifed max size for lens content cache

","parent_name":"SCCameraKitCacheConfig"},"Classes/SCCameraKitLensRemoteApiResponse.html#/c:objc(cs)SCCameraKitLensRemoteApiResponse(im)initWithRequest:status:metadata:body:":{"name":"-initWithRequest:status:metadata:body:","abstract":"

Designated init to pass in required properties for the response.

","parent_name":"SCCameraKitLensRemoteApiResponse"},"Classes/SCCameraKitLensRemoteApiResponse.html#/c:objc(cs)SCCameraKitLensRemoteApiResponse(im)init":{"name":"-init","abstract":"

Use designated init to pass in required properties

","parent_name":"SCCameraKitLensRemoteApiResponse"},"Classes/SCCameraKitLensRemoteApiResponse.html#/c:objc(cs)SCCameraKitLensRemoteApiResponse(cm)new":{"name":"+new","abstract":"

Undocumented

","parent_name":"SCCameraKitLensRemoteApiResponse"},"Classes/SCCameraKitLensMediaPickerProviderPhotoLibrary.html#/c:objc(cs)SCCameraKitLensMediaPickerProviderPhotoLibrary(im)initWithDefaultAssetTypes:":{"name":"-initWithDefaultAssetTypes:","abstract":"

Initializes the photo library provider.

","parent_name":"SCCameraKitLensMediaPickerProviderPhotoLibrary"},"Classes/SCCameraKitLensMediaPickerProviderPhotoLibrary.html#/c:objc(cs)SCCameraKitLensMediaPickerProviderPhotoLibrary(im)init":{"name":"-init","abstract":"

Use designated init or convenience init

","parent_name":"SCCameraKitLensMediaPickerProviderPhotoLibrary"},"Classes/SCCameraKitLensMediaPickerProviderPhotoLibrary.html#/c:objc(cs)SCCameraKitLensMediaPickerProviderPhotoLibrary(cm)new":{"name":"+new","abstract":"

Undocumented

","parent_name":"SCCameraKitLensMediaPickerProviderPhotoLibrary"},"Classes/SCCameraKitLensLaunchDataBuilder.html#/c:objc(cs)SCCameraKitLensLaunchDataBuilder(py)launchData":{"name":"launchData","abstract":"

Builds and get launch data from current builder state

","parent_name":"SCCameraKitLensLaunchDataBuilder"},"Classes/SCCameraKitLensLaunchDataBuilder.html#/c:objc(cs)SCCameraKitLensLaunchDataBuilder(im)addNumber:forKey:":{"name":"-addNumber:forKey:","abstract":"

Add number key-value pair to launch data

","parent_name":"SCCameraKitLensLaunchDataBuilder"},"Classes/SCCameraKitLensLaunchDataBuilder.html#/c:objc(cs)SCCameraKitLensLaunchDataBuilder(im)addNumberArray:forKey:":{"name":"-addNumberArray:forKey:","abstract":"

Add number array key-value pair to launch data

","parent_name":"SCCameraKitLensLaunchDataBuilder"},"Classes/SCCameraKitLensLaunchDataBuilder.html#/c:objc(cs)SCCameraKitLensLaunchDataBuilder(im)addString:forKey:":{"name":"-addString:forKey:","abstract":"

Add string key-value pair to launch data

","parent_name":"SCCameraKitLensLaunchDataBuilder"},"Classes/SCCameraKitLensLaunchDataBuilder.html#/c:objc(cs)SCCameraKitLensLaunchDataBuilder(im)addStringArray:forKey:":{"name":"-addStringArray:forKey:","abstract":"

Add string array key-value pair to launch data

","parent_name":"SCCameraKitLensLaunchDataBuilder"},"Classes/SCCameraKitLensLaunchDataBuilder.html#/c:objc(cs)SCCameraKitLensLaunchDataBuilder(im)removeValueForKey:":{"name":"-removeValueForKey:","abstract":"

Removes key-value pair from launch data

","parent_name":"SCCameraKitLensLaunchDataBuilder"},"Classes/SCCameraKitExplicitViewportProvider.html#/c:objc(cs)SCCameraKitExplicitViewportProvider(im)initWithViewportSize:outputResolution:safeArea:":{"name":"-initWithViewportSize:outputResolution:safeArea:","abstract":"

Initializes the ExplicitViewportProvider with the specified viewportSize, outputResolution, and safeArea.

","parent_name":"SCCameraKitExplicitViewportProvider"},"Classes/SCCameraKitExplicitViewportProvider.html#/c:objc(cs)SCCameraKitExplicitViewportProvider(im)setViewportSize:":{"name":"-setViewportSize:","abstract":"

Sets the output viewport size and propagates the change to SCCameraKitPreviewView.

","parent_name":"SCCameraKitExplicitViewportProvider"},"Classes/SCCameraKitExplicitViewportProvider.html#/c:objc(cs)SCCameraKitExplicitViewportProvider(im)setOutputResolution:":{"name":"-setOutputResolution:","abstract":"

Sets the output resolution and propagates the change to SCCameraKitPreviewView.

","parent_name":"SCCameraKitExplicitViewportProvider"},"Classes/SCCameraKitExplicitViewportProvider.html#/c:objc(cs)SCCameraKitExplicitViewportProvider(im)setSafeArea:":{"name":"-setSafeArea:","abstract":"

Sets the safe area and propagates the change to SCCameraKitPreviewView.

","parent_name":"SCCameraKitExplicitViewportProvider"},"Classes/SCCameraKitExplicitViewportProvider.html#/c:objc(cs)SCCameraKitExplicitViewportProvider(im)init":{"name":"-init","abstract":"

Use the designated initializer to pass in the required properties.

","parent_name":"SCCameraKitExplicitViewportProvider"},"Classes/SCCameraKitExplicitViewportProvider.html#/c:objc(cs)SCCameraKitExplicitViewportProvider(cm)new":{"name":"+new","abstract":"

Undocumented

","parent_name":"SCCameraKitExplicitViewportProvider"},"Classes/SCCameraKitDataProviderComponent.html#/c:objc(cs)SCCameraKitDataProviderComponent(py)deviceMotion":{"name":"deviceMotion","abstract":"

Device motion data provider

","parent_name":"SCCameraKitDataProviderComponent"},"Classes/SCCameraKitDataProviderComponent.html#/c:objc(cs)SCCameraKitDataProviderComponent(py)userData":{"name":"userData","abstract":"

User data provider

","parent_name":"SCCameraKitDataProviderComponent"},"Classes/SCCameraKitDataProviderComponent.html#/c:objc(cs)SCCameraKitDataProviderComponent(py)lensHint":{"name":"lensHint","abstract":"

Lens hint provider to provide lens hint localizations

","parent_name":"SCCameraKitDataProviderComponent"},"Classes/SCCameraKitDataProviderComponent.html#/c:objc(cs)SCCameraKitDataProviderComponent(py)location":{"name":"location","abstract":"

Location data provider

","parent_name":"SCCameraKitDataProviderComponent"},"Classes/SCCameraKitDataProviderComponent.html#/c:objc(cs)SCCameraKitDataProviderComponent(py)mediaPicker":{"name":"mediaPicker","abstract":"

Media picker provider for selecting and loading external images and video into lenses.

","parent_name":"SCCameraKitDataProviderComponent"},"Classes/SCCameraKitDataProviderComponent.html#/c:objc(cs)SCCameraKitDataProviderComponent(py)remoteApiServiceProviders":{"name":"remoteApiServiceProviders","abstract":"

List of remote api service providers to handle remote api requests sent by lenses.

","parent_name":"SCCameraKitDataProviderComponent"},"Classes/SCCameraKitDataProviderComponent.html#/c:objc(cs)SCCameraKitDataProviderComponent(im)initWithDeviceMotion:userData:lensHint:location:mediaPicker:remoteApiServiceProviders:":{"name":"-initWithDeviceMotion:userData:lensHint:location:mediaPicker:remoteApiServiceProviders:","abstract":"

Designated init to pass in user data providers","parent_name":"SCCameraKitDataProviderComponent"},"Classes/SCCameraKitDataProviderComponent.html#/c:objc(cs)SCCameraKitDataProviderComponent(im)initWithDeviceMotion:userData:":{"name":"-initWithDeviceMotion:userData:","abstract":"

Convenience init to mantain API compatibility

","parent_name":"SCCameraKitDataProviderComponent"},"Classes/SCCameraKitDataProviderComponent.html#/c:objc(cs)SCCameraKitDataProviderComponent(im)initWithDeviceMotion:userData:lensHint:":{"name":"-initWithDeviceMotion:userData:lensHint:","abstract":"

Convenience init to mantain API compatibility

","parent_name":"SCCameraKitDataProviderComponent"},"Classes/SCCameraKitDataProviderComponent.html#/c:objc(cs)SCCameraKitDataProviderComponent(im)initWithDeviceMotion:userData:lensHint:location:":{"name":"-initWithDeviceMotion:userData:lensHint:location:","abstract":"

Convenience init to mantain API compatibility","parent_name":"SCCameraKitDataProviderComponent"},"Classes/SCCameraKitDataProviderComponent.html#/c:objc(cs)SCCameraKitDataProviderComponent(im)initWithDeviceMotion:userData:lensHint:location:mediaPicker:":{"name":"-initWithDeviceMotion:userData:lensHint:location:mediaPicker:","abstract":"

Convenience init to mantain API compatibility

","parent_name":"SCCameraKitDataProviderComponent"},"Classes/SCCameraKitAVWriterOutput.html#/c:objc(cs)SCCameraKitAVWriterOutput(py)startDate":{"name":"startDate","abstract":"

Date and time of first video buffer recorded (ie. start recording time)

","parent_name":"SCCameraKitAVWriterOutput"},"Classes/SCCameraKitAVWriterOutput.html#/c:objc(cs)SCCameraKitAVWriterOutput(im)initWithAVAssetWriter:pixelBufferInput:audioInput:":{"name":"-initWithAVAssetWriter:pixelBufferInput:audioInput:","abstract":"

Create an AVWriterOutput

","parent_name":"SCCameraKitAVWriterOutput"},"Classes/SCCameraKitAVWriterOutput.html#/c:objc(cs)SCCameraKitAVWriterOutput(cm)new":{"name":"+new","abstract":"

Use designated init or convenience init to pass in required writer and inputs

","parent_name":"SCCameraKitAVWriterOutput"},"Classes/SCCameraKitAVWriterOutput.html#/c:objc(cs)SCCameraKitAVWriterOutput(im)init":{"name":"-init","abstract":"

Undocumented

","parent_name":"SCCameraKitAVWriterOutput"},"Classes/SCCameraKitAVWriterOutput.html#/c:objc(cs)SCCameraKitAVWriterOutput(im)startRecording":{"name":"-startRecording","abstract":"

Call this after you start recording on the AVAssetWriter. This will indicate that the output should start recording","parent_name":"SCCameraKitAVWriterOutput"},"Classes/SCCameraKitAVWriterOutput.html#/c:objc(cs)SCCameraKitAVWriterOutput(im)stopRecording":{"name":"-stopRecording","abstract":"

Call this before you stop recording on the AVAssetWriter. This will cause the output to stop recording data from","parent_name":"SCCameraKitAVWriterOutput"},"Classes/SCCameraKitAVSessionInput.html#/c:objc(cs)SCCameraKitAVSessionInput(py)videoMirrored":{"name":"videoMirrored","abstract":"

Describes whether the current video frames are mirrored

","parent_name":"SCCameraKitAVSessionInput"},"Classes/SCCameraKitAVSessionInput.html#/c:objc(cs)SCCameraKitAVSessionInput(py)automaticallyConfiguresVideoMirrored":{"name":"automaticallyConfiguresVideoMirrored","abstract":"

Describes whether it should automatically configure outputted video frames to be mirrored.","parent_name":"SCCameraKitAVSessionInput"},"Classes/SCCameraKitAVSessionInput.html#/c:objc(cs)SCCameraKitAVSessionInput(py)audioEnabled":{"name":"audioEnabled","abstract":"

Determines whether or not this input will capture audio and pass audio buffer data to CameraKit.","parent_name":"SCCameraKitAVSessionInput"},"Classes/SCCameraKitAVSessionInput.html#/c:objc(cs)SCCameraKitAVSessionInput(im)initWithSession:":{"name":"-initWithSession:","abstract":"

Create an AV Session input.

","parent_name":"SCCameraKitAVSessionInput"},"Classes/SCCameraKitAVSessionInput.html#/c:objc(cs)SCCameraKitAVSessionInput(im)initWithSession:audioEnabled:":{"name":"-initWithSession:audioEnabled:","abstract":"

Create an AV Session input.

","parent_name":"SCCameraKitAVSessionInput"},"Classes/SCCameraKitARSessionInput.html#/c:objc(cs)SCCameraKitARSessionInput(im)init":{"name":"-init","abstract":"

Create an AR Session input.","parent_name":"SCCameraKitARSessionInput"},"Classes/SCCameraKitARSessionInput.html#/c:objc(cs)SCCameraKitARSessionInput(im)initWithSession:":{"name":"-initWithSession:","abstract":"

Create an AR Session input with a preexisting session.

","parent_name":"SCCameraKitARSessionInput"},"Classes/SCCameraKitARSessionInput.html#/c:objc(cs)SCCameraKitARSessionInput(im)initWithSession:frontCameraConfiguration:":{"name":"-initWithSession:frontCameraConfiguration:","abstract":"

Create an AR Session input with a preexisting session.

","parent_name":"SCCameraKitARSessionInput"},"Classes/SCCameraKitSession.html#/c:objc(cs)SCCameraKitSession(im)initWithSessionConfig:lensesConfig:errorHandler:":{"name":"-initWithSessionConfig:lensesConfig:errorHandler:","abstract":"

Init with session and lenses config instance to configure properties within lenses component

","parent_name":"SCCameraKitSession"},"Classes/SCCameraKitSession.html#/c:objc(cs)SCCameraKitSession(im)initWithLensesConfig:errorHandler:":{"name":"-initWithLensesConfig:errorHandler:","abstract":"

Init with lenses config instance to configure properties within lenses component

","parent_name":"SCCameraKitSession"},"Classes/SCCameraKitPortraitAdjustment.html#/s:So29SCCameraKitPortraitAdjustmentC011SCSDKCameraB0E10Controllera":{"name":"Controller","parent_name":"SCCameraKitPortraitAdjustment"},"Classes/SCCameraKitToneMapAdjustment.html#/s:So28SCCameraKitToneMapAdjustmentC011SCSDKCameraB0E10Controllera":{"name":"Controller","parent_name":"SCCameraKitToneMapAdjustment"},"Classes/SCCameraKitToneMapAdjustment.html":{"name":"SCCameraKitToneMapAdjustment","abstract":"

An adjustment which allows users to more accurately represent the color of their skin when captured by the camera.

"},"Classes/SCCameraKitPortraitAdjustment.html":{"name":"SCCameraKitPortraitAdjustment","abstract":"

An adjustment which allows users to blur the background on their input.

"},"Classes/SCCameraKitSession.html":{"name":"SCCameraKitSession","abstract":"

CameraKit handles interaction with the camera and contains several components like lenses.

"},"Classes/SCCameraKitARSessionInput.html":{"name":"SCCameraKitARSessionInput","abstract":"

ARSessionInput is a CameraKit provided wrapper for ARSession.

"},"Classes/SCCameraKitAVSessionInput.html":{"name":"SCCameraKitAVSessionInput","abstract":"

AVSessionInput is a CameraKit provided wrapper for AVCaptureSession. It may make adjustments to things like color"},"Classes/SCCameraKitAVWriterOutput.html":{"name":"SCCameraKitAVWriterOutput","abstract":"

AVWriterOutput is a CameraKit provided wrapper for AVAssetWriter. You are still responsible for the configuration of"},"Classes/SCCameraKitDataProviderComponent.html":{"name":"SCCameraKitDataProviderComponent","abstract":"

Component for user’s custom data providers

"},"Classes/SCCameraKitExplicitViewportProvider.html":{"name":"SCCameraKitExplicitViewportProvider","abstract":"

Enables the configuration of a custom viewport for SCCameraKitPreviewView.

"},"Classes/SCCameraKitLensLaunchDataBuilder.html":{"name":"SCCameraKitLensLaunchDataBuilder","abstract":"

Concrete class to build lens launch data to pass to processor when applying

"},"Classes.html#/c:objc(cs)SCCameraKitEmptyLensLaunchData":{"name":"SCCameraKitEmptyLensLaunchData","abstract":"

Final, opaque data class to reset persisted launch data

"},"Classes/SCCameraKitLensMediaPickerProviderPhotoLibrary.html":{"name":"SCCameraKitLensMediaPickerProviderPhotoLibrary","abstract":"

A default implementation of SCCameraKitLensMediaPickerProvider that uses the user’s photos library.

"},"Classes/SCCameraKitLensRemoteApiResponse.html":{"name":"SCCameraKitLensRemoteApiResponse","abstract":"

Concrete data class for the remote api service response to a request sent by a lens.

"},"Classes/SCCameraKitCacheConfig.html":{"name":"SCCameraKitCacheConfig","abstract":"

Concrete class to configure camera kit cache

"},"Classes/SCCameraKitLensesConfig.html":{"name":"SCCameraKitLensesConfig","abstract":"

Concrete class to configure all available, user-configurable properties within the lenses component

"},"Classes/SCCameraKitPhotoCaptureOutput.html":{"name":"SCCameraKitPhotoCaptureOutput","abstract":"

An output that will capture photos. You should add this as an output for your CameraKit instance.

"},"Classes/SCCameraKitPreviewView.html":{"name":"SCCameraKitPreviewView","abstract":"

A UIView which is capable of rendering SCCameraKitTextures. You should add this as an output for your CameraKit"},"Classes/SCCameraKitSessionConfig.html":{"name":"SCCameraKitSessionConfig","abstract":"

Data class that is used to pass in a configuration for the CameraKit Session."},"Classes/SCCameraKitUserData.html":{"name":"SCCameraKitUserData","abstract":"

Concrete user data class to pass in user data that can be used by some lenses

"},"Classes.html":{"name":"Classes","abstract":"

The following classes are available globally.

"},"Constants.html":{"name":"Constants","abstract":"

The following constants are available globally.

"},"Enums.html":{"name":"Enumerations","abstract":"

The following enumerations are available globally.

"},"Protocols.html":{"name":"Protocols","abstract":"

The following protocols are available globally.

"},"Type%20Definitions.html":{"name":"Type Definitions","abstract":"

The following type definitions are available globally.

"},"Structs.html":{"name":"Structures","abstract":"

The following structures are available globally.

"},"Extensions.html":{"name":"Extensions","abstract":"

The following extensions are available globally.

"}} \ No newline at end of file diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/undocumented.json b/docs/api/ios/1.36.1/SCSDKCameraKit/undocumented.json new file mode 100644 index 000000000..05bcc0e12 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/undocumented.json @@ -0,0 +1,362 @@ +{ + "warnings": [ + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/.buildscript/build/iphonesimulator_archive.xcarchive/Products/Library/Frameworks/SCSDKCameraKit.framework/Headers/SCCameraKit.h", + "line": 33, + "symbol": "SCCameraKitProtocol", + "symbol_kind": "sourcekitten.source.lang.objc.decl.protocol", + "warning": "undocumented" + }, + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/.buildscript/build/iphonesimulator_archive.xcarchive/Products/Library/Frameworks/SCSDKCameraKit.framework/Headers/SCCameraKitAVWriterOutput.h", + "line": 32, + "symbol": "SCCameraKitAVWriterOutput.-init", + "symbol_kind": "sourcekitten.source.lang.objc.decl.method.instance", + "warning": "undocumented" + }, + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/.buildscript/build/iphonesimulator_archive.xcarchive/Products/Library/Frameworks/SCSDKCameraKit.framework/Headers/SCCameraKitAdjustmentsComponent.h", + "line": 13, + "symbol": "SCCameraKitAdjustmentsComponentErrorDomain", + "symbol_kind": "sourcekitten.source.lang.objc.decl.constant", + "warning": "undocumented" + }, + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/.buildscript/build/iphonesimulator_archive.xcarchive/Products/Library/Frameworks/SCSDKCameraKit.framework/Headers/SCCameraKitAdjustmentsComponent.h", + "line": 17, + "symbol": "SCCameraKitAdjustmentsComponentError", + "symbol_kind": "sourcekitten.source.lang.objc.decl.enum", + "warning": "undocumented" + }, + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/.buildscript/build/iphonesimulator_archive.xcarchive/Products/Library/Frameworks/SCSDKCameraKit.framework/Headers/SCCameraKitAdjustmentsComponent.h", + "line": 17, + "symbol": "SCCameraKitAdjustmentsComponentError", + "symbol_kind": "sourcekitten.source.lang.objc.decl.typedef", + "warning": "undocumented" + }, + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/.buildscript/build/iphonesimulator_archive.xcarchive/Products/Library/Frameworks/SCSDKCameraKit.framework/Headers/SCCameraKitAdjustmentsComponent.h", + "line": 20, + "symbol": "SCCameraKitAdjustmentsComponentError.SCCameraKitAdjustmentsComponentErrorUnsupportedAdjustment", + "symbol_kind": "sourcekitten.source.lang.objc.decl.enumcase", + "warning": "undocumented" + }, + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/.buildscript/build/iphonesimulator_archive.xcarchive/Products/Library/Frameworks/SCSDKCameraKit.framework/Headers/SCCameraKitAgreementsStore.h", + "line": 16, + "symbol": "SCCameraKitAgreementsStore.requiresNewAgreementAcceptance", + "symbol_kind": "sourcekitten.source.lang.objc.decl.property", + "warning": "undocumented" + }, + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/.buildscript/build/iphonesimulator_archive.xcarchive/Products/Library/Frameworks/SCSDKCameraKit.framework/Headers/SCCameraKitAgreementsStore.h", + "line": 17, + "symbol": "SCCameraKitAgreementsStore.childrenProtectionActRestricted", + "symbol_kind": "sourcekitten.source.lang.objc.decl.property", + "warning": "undocumented" + }, + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/.buildscript/build/iphonesimulator_archive.xcarchive/Products/Library/Frameworks/SCSDKCameraKit.framework/Headers/SCCameraKitAgreementsStore.h", + "line": 18, + "symbol": "SCCameraKitAgreementsStore.newestAvailableAgreements", + "symbol_kind": "sourcekitten.source.lang.objc.decl.property", + "warning": "undocumented" + }, + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/.buildscript/build/iphonesimulator_archive.xcarchive/Products/Library/Frameworks/SCSDKCameraKit.framework/Headers/SCCameraKitAgreementsStore.h", + "line": 19, + "symbol": "SCCameraKitAgreementsStore.-acceptAgreements:", + "symbol_kind": "sourcekitten.source.lang.objc.decl.method.instance", + "warning": "undocumented" + }, + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/.buildscript/build/iphonesimulator_archive.xcarchive/Products/Library/Frameworks/SCSDKCameraKit.framework/Headers/SCCameraKitAgreementsStore.h", + "line": 20, + "symbol": "SCCameraKitAgreementsStore.-declineAgreements:", + "symbol_kind": "sourcekitten.source.lang.objc.decl.method.instance", + "warning": "undocumented" + }, + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/.buildscript/build/iphonesimulator_archive.xcarchive/Products/Library/Frameworks/SCSDKCameraKit.framework/Headers/SCCameraKitErrorCodes.h", + "line": 8, + "symbol": "SCCameraKitErrorUnspecified", + "symbol_kind": "sourcekitten.source.lang.objc.decl.constant", + "warning": "undocumented" + }, + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/.buildscript/build/iphonesimulator_archive.xcarchive/Products/Library/Frameworks/SCSDKCameraKit.framework/Headers/SCCameraKitErrorCodes.h", + "line": 9, + "symbol": "SCCameraKitErrorLensMetadataNotFound", + "symbol_kind": "sourcekitten.source.lang.objc.decl.constant", + "warning": "undocumented" + }, + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/.buildscript/build/iphonesimulator_archive.xcarchive/Products/Library/Frameworks/SCSDKCameraKit.framework/Headers/SCCameraKitErrorCodes.h", + "line": 10, + "symbol": "SCCameraKitErrorLensContentNotFound", + "symbol_kind": "sourcekitten.source.lang.objc.decl.constant", + "warning": "undocumented" + }, + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/.buildscript/build/iphonesimulator_archive.xcarchive/Products/Library/Frameworks/SCSDKCameraKit.framework/Headers/SCCameraKitErrorCodes.h", + "line": 11, + "symbol": "SCCameraKitErrorLensContentUrlMissing", + "symbol_kind": "sourcekitten.source.lang.objc.decl.constant", + "warning": "undocumented" + }, + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/.buildscript/build/iphonesimulator_archive.xcarchive/Products/Library/Frameworks/SCSDKCameraKit.framework/Headers/SCCameraKitErrorCodes.h", + "line": 12, + "symbol": "SCCameraKitErrorLensChecksumMissing", + "symbol_kind": "sourcekitten.source.lang.objc.decl.constant", + "warning": "undocumented" + }, + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/.buildscript/build/iphonesimulator_archive.xcarchive/Products/Library/Frameworks/SCSDKCameraKit.framework/Headers/SCCameraKitErrorCodes.h", + "line": 13, + "symbol": "SCCameraKitErrorCannotWriteToFile", + "symbol_kind": "sourcekitten.source.lang.objc.decl.constant", + "warning": "undocumented" + }, + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/.buildscript/build/iphonesimulator_archive.xcarchive/Products/Library/Frameworks/SCSDKCameraKit.framework/Headers/SCCameraKitExplicitViewportProvider.h", + "line": 36, + "symbol": "SCCameraKitExplicitViewportProvider.+new", + "symbol_kind": "sourcekitten.source.lang.objc.decl.method.class", + "warning": "undocumented" + }, + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/.buildscript/build/iphonesimulator_archive.xcarchive/Products/Library/Frameworks/SCSDKCameraKit.framework/Headers/SCCameraKitInput.h", + "line": 75, + "symbol": "SCCameraKitInput.audioEnabled", + "symbol_kind": "sourcekitten.source.lang.objc.decl.property", + "warning": "undocumented" + }, + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/.buildscript/build/iphonesimulator_archive.xcarchive/Products/Library/Frameworks/SCSDKCameraKit.framework/Headers/SCCameraKitLens.h", + "line": 10, + "symbol": "SCCameraKitLensFacingPreference.SCCameraKitLensFacingPreferenceNone", + "symbol_kind": "sourcekitten.source.lang.objc.decl.enumcase", + "warning": "undocumented" + }, + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/.buildscript/build/iphonesimulator_archive.xcarchive/Products/Library/Frameworks/SCSDKCameraKit.framework/Headers/SCCameraKitLens.h", + "line": 11, + "symbol": "SCCameraKitLensFacingPreference.SCCameraKitLensFacingPreferenceFront", + "symbol_kind": "sourcekitten.source.lang.objc.decl.enumcase", + "warning": "undocumented" + }, + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/.buildscript/build/iphonesimulator_archive.xcarchive/Products/Library/Frameworks/SCSDKCameraKit.framework/Headers/SCCameraKitLens.h", + "line": 12, + "symbol": "SCCameraKitLensFacingPreference.SCCameraKitLensFacingPreferenceBack", + "symbol_kind": "sourcekitten.source.lang.objc.decl.enumcase", + "warning": "undocumented" + }, + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/.buildscript/build/iphonesimulator_archive.xcarchive/Products/Library/Frameworks/SCSDKCameraKit.framework/Headers/SCCameraKitLensMediaPickerProvider.h", + "line": 17, + "symbol": "SCCameraKitLensMediaPickerProviderAllowedMediaType", + "symbol_kind": "sourcekitten.source.lang.objc.decl.enum", + "warning": "undocumented" + }, + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/.buildscript/build/iphonesimulator_archive.xcarchive/Products/Library/Frameworks/SCSDKCameraKit.framework/Headers/SCCameraKitLensMediaPickerProvider.h", + "line": 17, + "symbol": "SCCameraKitLensMediaPickerProviderAllowedMediaType", + "symbol_kind": "sourcekitten.source.lang.objc.decl.typedef", + "warning": "undocumented" + }, + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/.buildscript/build/iphonesimulator_archive.xcarchive/Products/Library/Frameworks/SCSDKCameraKit.framework/Headers/SCCameraKitLensMediaPickerProvider.h", + "line": 19, + "symbol": "SCCameraKitLensMediaPickerProviderAllowedMediaType.SCCameraKitLensMediaPickerProviderAllowedMediaTypeNoneSpecified", + "symbol_kind": "sourcekitten.source.lang.objc.decl.enumcase", + "warning": "undocumented" + }, + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/.buildscript/build/iphonesimulator_archive.xcarchive/Products/Library/Frameworks/SCSDKCameraKit.framework/Headers/SCCameraKitLensMediaPickerProvider.h", + "line": 22, + "symbol": "SCCameraKitLensMediaPickerProviderAllowedMediaType.SCCameraKitLensMediaPickerProviderAllowedMediaTypeImage", + "symbol_kind": "sourcekitten.source.lang.objc.decl.enumcase", + "warning": "undocumented" + }, + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/.buildscript/build/iphonesimulator_archive.xcarchive/Products/Library/Frameworks/SCSDKCameraKit.framework/Headers/SCCameraKitLensMediaPickerProvider.h", + "line": 27, + "symbol": "SCCameraKitLensMediaPickerProviderAllowedMediaType.SCCameraKitLensMediaPickerProviderAllowedMediaTypeImageCroppedToFace", + "symbol_kind": "sourcekitten.source.lang.objc.decl.enumcase", + "warning": "undocumented" + }, + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/.buildscript/build/iphonesimulator_archive.xcarchive/Products/Library/Frameworks/SCSDKCameraKit.framework/Headers/SCCameraKitLensMediaPickerProvider.h", + "line": 30, + "symbol": "SCCameraKitLensMediaPickerProviderAllowedMediaType.SCCameraKitLensMediaPickerProviderAllowedMediaTypeVideo", + "symbol_kind": "sourcekitten.source.lang.objc.decl.enumcase", + "warning": "undocumented" + }, + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/.buildscript/build/iphonesimulator_archive.xcarchive/Products/Library/Frameworks/SCSDKCameraKit.framework/Headers/SCCameraKitLensMediaPickerProvider.h", + "line": 34, + "symbol": "SCCameraKitLensMediaPickerProvider", + "symbol_kind": "sourcekitten.source.lang.objc.decl.protocol", + "warning": "undocumented" + }, + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/.buildscript/build/iphonesimulator_archive.xcarchive/Products/Library/Frameworks/SCSDKCameraKit.framework/Headers/SCCameraKitLensMediaPickerProvider.h", + "line": 89, + "symbol": "SCCameraKitLensMediaPickerProviderPhotoLibrary.+new", + "symbol_kind": "sourcekitten.source.lang.objc.decl.method.class", + "warning": "undocumented" + }, + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/.buildscript/build/iphonesimulator_archive.xcarchive/Products/Library/Frameworks/SCSDKCameraKit.framework/Headers/SCCameraKitLensMediaPickerProvider.h", + "line": 94, + "symbol": "SCCameraKitLensMediaPickerAssetType", + "symbol_kind": "sourcekitten.source.lang.objc.decl.enum", + "warning": "undocumented" + }, + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/.buildscript/build/iphonesimulator_archive.xcarchive/Products/Library/Frameworks/SCSDKCameraKit.framework/Headers/SCCameraKitLensMediaPickerProvider.h", + "line": 94, + "symbol": "SCCameraKitLensMediaPickerAssetType", + "symbol_kind": "sourcekitten.source.lang.objc.decl.typedef", + "warning": "undocumented" + }, + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/.buildscript/build/iphonesimulator_archive.xcarchive/Products/Library/Frameworks/SCSDKCameraKit.framework/Headers/SCCameraKitLensMediaPickerProvider.h", + "line": 95, + "symbol": "SCCameraKitLensMediaPickerAssetType.SCCameraKitLensMediaPickerAssetTypeImage", + "symbol_kind": "sourcekitten.source.lang.objc.decl.enumcase", + "warning": "undocumented" + }, + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/.buildscript/build/iphonesimulator_archive.xcarchive/Products/Library/Frameworks/SCSDKCameraKit.framework/Headers/SCCameraKitLensMediaPickerProvider.h", + "line": 96, + "symbol": "SCCameraKitLensMediaPickerAssetType.SCCameraKitLensMediaPickerAssetTypeVideo", + "symbol_kind": "sourcekitten.source.lang.objc.decl.enumcase", + "warning": "undocumented" + }, + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/.buildscript/build/iphonesimulator_archive.xcarchive/Products/Library/Frameworks/SCSDKCameraKit.framework/Headers/SCCameraKitLensMediaPickerProvider.h", + "line": 120, + "symbol": "SCCameraKitLensMediaPickerAssetMetadata.SCCameraKitLensMediaPickerAssetMetadata.faceRect", + "symbol_kind": "sourcekitten.source.lang.objc.decl.field", + "warning": "undocumented" + }, + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/.buildscript/build/iphonesimulator_archive.xcarchive/Products/Library/Frameworks/SCSDKCameraKit.framework/Headers/SCCameraKitLensMediaPickerProvider.h", + "line": 120, + "symbol": "SCCameraKitLensMediaPickerAssetMetadata.faceRect", + "symbol_kind": "sourcekitten.source.lang.objc.decl.field", + "warning": "undocumented" + }, + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/.buildscript/build/iphonesimulator_archive.xcarchive/Products/Library/Frameworks/SCSDKCameraKit.framework/Headers/SCCameraKitLensPrefetcher.h", + "line": 16, + "symbol": "SCCameraKitLensFetchStatus.SCCameraKitLensFetchStatusUnloaded", + "symbol_kind": "sourcekitten.source.lang.objc.decl.enumcase", + "warning": "undocumented" + }, + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/.buildscript/build/iphonesimulator_archive.xcarchive/Products/Library/Frameworks/SCSDKCameraKit.framework/Headers/SCCameraKitLensPrefetcher.h", + "line": 17, + "symbol": "SCCameraKitLensFetchStatus.SCCameraKitLensFetchStatusLoading", + "symbol_kind": "sourcekitten.source.lang.objc.decl.enumcase", + "warning": "undocumented" + }, + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/.buildscript/build/iphonesimulator_archive.xcarchive/Products/Library/Frameworks/SCSDKCameraKit.framework/Headers/SCCameraKitLensPrefetcher.h", + "line": 18, + "symbol": "SCCameraKitLensFetchStatus.SCCameraKitLensFetchStatusLoaded", + "symbol_kind": "sourcekitten.source.lang.objc.decl.enumcase", + "warning": "undocumented" + }, + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/.buildscript/build/iphonesimulator_archive.xcarchive/Products/Library/Frameworks/SCSDKCameraKit.framework/Headers/SCCameraKitLensRemoteApiService.h", + "line": 98, + "symbol": "SCCameraKitLensRemoteApiResponse.+new", + "symbol_kind": "sourcekitten.source.lang.objc.decl.method.class", + "warning": "undocumented" + }, + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/.buildscript/build/iphonesimulator_archive.xcarchive/Products/Library/Frameworks/SCSDKCameraKit.framework/Headers/SCCameraKitLensesComponent.h", + "line": 16, + "symbol": "SCCameraKitLensRepositoryBundledGroup", + "symbol_kind": "sourcekitten.source.lang.objc.decl.constant", + "warning": "undocumented" + }, + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/.buildscript/build/iphonesimulator_archive.xcarchive/Products/Library/Frameworks/SCSDKCameraKit.framework/Headers/SCCameraKitLensesComponent.h", + "line": 102, + "symbol": "SCCameraKitLensesComponentErrorDomain", + "symbol_kind": "sourcekitten.source.lang.objc.decl.constant", + "warning": "undocumented" + }, + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/.buildscript/build/iphonesimulator_archive.xcarchive/Products/Library/Frameworks/SCSDKCameraKit.framework/Headers/SCCameraKitPhotoCaptureOutput.h", + "line": 16, + "symbol": "SCCameraKitPhotoCaptureOutput.-init", + "symbol_kind": "sourcekitten.source.lang.objc.decl.method.instance", + "warning": "undocumented" + }, + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/.buildscript/build/iphonesimulator_archive.xcarchive/Products/Library/Frameworks/SCSDKCameraKit.framework/Headers/SCCameraKitPhotoCaptureOutput.h", + "line": 17, + "symbol": "SCCameraKitPhotoCaptureOutput.+new", + "symbol_kind": "sourcekitten.source.lang.objc.decl.method.class", + "warning": "undocumented" + }, + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/.buildscript/build/iphonesimulator_archive.xcarchive/Products/Library/Frameworks/SCSDKCameraKit.framework/Headers/SCCameraKitPreviewView.h", + "line": 12, + "symbol": "SCCameraKitPreviewViewContentMode", + "symbol_kind": "sourcekitten.source.lang.objc.decl.enum", + "warning": "undocumented" + }, + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/.buildscript/build/iphonesimulator_archive.xcarchive/Products/Library/Frameworks/SCSDKCameraKit.framework/Headers/SCCameraKitPreviewView.h", + "line": 12, + "symbol": "SCCameraKitPreviewViewContentMode", + "symbol_kind": "sourcekitten.source.lang.objc.decl.typedef", + "warning": "undocumented" + }, + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/.buildscript/build/iphonesimulator_archive.xcarchive/Products/Library/Frameworks/SCSDKCameraKit.framework/Headers/SCCameraKitPreviewView.h", + "line": 13, + "symbol": "SCCameraKitPreviewViewContentMode.SCCameraKitPreviewViewContentModeScaleToFill", + "symbol_kind": "sourcekitten.source.lang.objc.decl.enumcase", + "warning": "undocumented" + }, + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/.buildscript/build/iphonesimulator_archive.xcarchive/Products/Library/Frameworks/SCSDKCameraKit.framework/Headers/SCCameraKitPreviewView.h", + "line": 14, + "symbol": "SCCameraKitPreviewViewContentMode.SCCameraKitPreviewViewContentModeAspectFill", + "symbol_kind": "sourcekitten.source.lang.objc.decl.enumcase", + "warning": "undocumented" + }, + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/.buildscript/build/iphonesimulator_archive.xcarchive/Products/Library/Frameworks/SCSDKCameraKit.framework/Headers/SCCameraKitPreviewView.h", + "line": 15, + "symbol": "SCCameraKitPreviewViewContentMode.SCCameraKitPreviewViewContentModeAspectFit", + "symbol_kind": "sourcekitten.source.lang.objc.decl.enumcase", + "warning": "undocumented" + }, + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/.buildscript/build/iphonesimulator_archive.xcarchive/Products/Library/Frameworks/SCSDKCameraKit.framework/Headers/SCCameraKitSessionConfig.h", + "line": 36, + "symbol": "SCCameraKitSessionConfig.-init", + "symbol_kind": "sourcekitten.source.lang.objc.decl.method.instance", + "warning": "undocumented" + }, + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/.buildscript/build/iphonesimulator_archive.xcarchive/Products/Library/Frameworks/SCSDKCameraKit.framework/Headers/SCCameraKitUserData.h", + "line": 27, + "symbol": "SCCameraKitUserData.+new", + "symbol_kind": "sourcekitten.source.lang.objc.decl.method.class", + "warning": "undocumented" + } + ], + "source_directory": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk" +} \ No newline at end of file diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/Classes.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/Classes.html new file mode 100644 index 000000000..988830a86 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/Classes.html @@ -0,0 +1,144 @@ + + + + Classes Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceSwiftUI 1.36.1 Docs + + (74% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

Classes

+

The following classes are available globally.

+ +
+
+ +
+
+
+
    +
  • +
    + + + + CameraViewState + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public class CameraViewState : NSObject, ObservableObject
    +
    extension CameraViewState: CameraControllerUIDelegate
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/Classes/CameraViewState.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/Classes/CameraViewState.html new file mode 100644 index 000000000..54f943b53 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/Classes/CameraViewState.html @@ -0,0 +1,411 @@ + + + + CameraViewState Class Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceSwiftUI 1.36.1 Docs + + (74% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

CameraViewState

+
+
+ +
public class CameraViewState : NSObject, ObservableObject
+
extension CameraViewState: CameraControllerUIDelegate
+ +
+
+

Undocumented

+ +
+
+ +
+
+
+ +
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/Structs.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/Structs.html new file mode 100644 index 000000000..959f4c8b7 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/Structs.html @@ -0,0 +1,311 @@ + + + + Structures Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceSwiftUI 1.36.1 Docs + + (74% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

Structures

+

The following structures are available globally.

+ +
+
+ +
+
+
+
    +
  • +
    + + + + CameraButton + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public struct CameraButton : UIViewRepresentable
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + CameraView + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public struct CameraView : View
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + CarouselView + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public struct CarouselView : UIViewRepresentable
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + ImagePreviewView + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public struct ImagePreviewView : UIViewControllerRepresentable
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + MediaPickerView + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public struct MediaPickerView : View
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + PreviewView + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public struct PreviewView : UIViewRepresentable
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + VideoPreviewView + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public struct VideoPreviewView : UIViewControllerRepresentable
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/Structs/CameraButton.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/Structs/CameraButton.html new file mode 100644 index 000000000..c54081063 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/Structs/CameraButton.html @@ -0,0 +1,227 @@ + + + + CameraButton Structure Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceSwiftUI 1.36.1 Docs + + (74% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

CameraButton

+
+
+ +
public struct CameraButton : UIViewRepresentable
+ +
+
+

Undocumented

+ +
+
+ +
+
+
+
    +
  • +
    + + + + makeCoordinator() + +
    +
    +
    +
    +
    +
    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func makeCoordinator() -> Coordinator
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + makeUIView(context:) + +
    +
    +
    +
    +
    +
    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func makeUIView(context: Context) -> some UIView
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func updateUIView(_ uiView: UIViewType, context: Context)
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + Coordinator + +
    +
    +
    +
    +
    +
    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    class Coordinator : NSObject, CameraButtonDelegate
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/Structs/CameraButton/Coordinator.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/Structs/CameraButton/Coordinator.html new file mode 100644 index 000000000..1a04cdd59 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/Structs/CameraButton/Coordinator.html @@ -0,0 +1,225 @@ + + + + Coordinator Class Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceSwiftUI 1.36.1 Docs + + (74% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

Coordinator

+
+
+ +
class Coordinator : NSObject, CameraButtonDelegate
+ +
+
+ +
+
+ +
+
+
+
    +
  • + +
    +
    +
    +
    +
    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func cameraButtonTapped(_ cameraButton: SCSDKCameraKitReferenceUI.CameraButton)
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func cameraButtonHoldBegan(_ cameraButton: SCSDKCameraKitReferenceUI.CameraButton)
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func cameraButtonHoldCancelled(_ cameraButton: SCSDKCameraKitReferenceUI.CameraButton)
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func cameraButtonHoldEnded(_ cameraButton: SCSDKCameraKitReferenceUI.CameraButton)
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/Structs/CameraView.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/Structs/CameraView.html new file mode 100644 index 000000000..1bcf918ec --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/Structs/CameraView.html @@ -0,0 +1,175 @@ + + + + CameraView Structure Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceSwiftUI 1.36.1 Docs + + (74% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

CameraView

+
+
+ +
public struct CameraView : View
+ +
+
+

Undocumented

+ +
+
+ +
+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public init(cameraController: CameraController)
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + body + +
    +
    +
    +
    +
    +
    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var body: some View { get }
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/Structs/CarouselView.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/Structs/CarouselView.html new file mode 100644 index 000000000..6e5fb21b4 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/Structs/CarouselView.html @@ -0,0 +1,227 @@ + + + + CarouselView Structure Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceSwiftUI 1.36.1 Docs + + (74% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

CarouselView

+
+
+ +
public struct CarouselView : UIViewRepresentable
+ +
+
+

Undocumented

+ +
+
+ +
+
+
+
    +
  • +
    + + + + makeCoordinator() + +
    +
    +
    +
    +
    +
    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func makeCoordinator() -> Coordinator
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + makeUIView(context:) + +
    +
    +
    +
    +
    +
    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func makeUIView(context: Context) -> SCSDKCameraKitReferenceUI.CarouselView
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func updateUIView(_ uiView: SCSDKCameraKitReferenceUI.CarouselView, context: Context)
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + Coordinator + +
    +
    +
    +
    +
    +
    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    class Coordinator : NSObject, CarouselViewDelegate, CarouselViewDataSource
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/Structs/CarouselView/Coordinator.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/Structs/CarouselView/Coordinator.html new file mode 100644 index 000000000..818968b34 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/Structs/CarouselView/Coordinator.html @@ -0,0 +1,224 @@ + + + + Coordinator Class Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceSwiftUI 1.36.1 Docs + + (74% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

Coordinator

+
+
+ +
class Coordinator : NSObject, CarouselViewDelegate, CarouselViewDataSource
+ +
+
+ +
+
+ +
+
+
+
+ + +
+ +

CarouselViewDelegate +

+
+
+
    +
  • + +
    +
    +
    +
    +
    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func carouselView(
    +    _ view: SCSDKCameraKitReferenceUI.CarouselView, didSelect item: CarouselItem, at index: Int
    +)
    + +
    +
    +
    +
    +
  • +
+
+
+
+ + +
+ +

CarouselViewDataSource +

+
+
+
    +
  • + +
    +
    +
    +
    +
    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func itemsForCarouselView(_ view: SCSDKCameraKitReferenceUI.CarouselView) -> [CarouselItem]
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + item(for:) + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func item(for lens: Lens?) -> CarouselItem
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/Structs/ImagePreviewView.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/Structs/ImagePreviewView.html new file mode 100644 index 000000000..e3a600a22 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/Structs/ImagePreviewView.html @@ -0,0 +1,232 @@ + + + + ImagePreviewView Structure Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceSwiftUI 1.36.1 Docs + + (74% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

ImagePreviewView

+
+
+ +
public struct ImagePreviewView : UIViewControllerRepresentable
+ +
+
+

Undocumented

+ +
+
+ +
+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Creates a preview view.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public init(image: UIImage, snapchatDelegate: SnapchatDelegate?)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + +
    + + image + + +
    +

    the captured image to show

    +
    +
    + + snapchatDelegate + + +
    +

    the Snapchat delegate

    +
    +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func makeUIViewController(context: Context) -> some UIViewController
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func updateUIViewController(_ uiViewController: UIViewControllerType, context: Context)
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/Structs/MediaPickerView.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/Structs/MediaPickerView.html new file mode 100644 index 000000000..b8e6c6c34 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/Structs/MediaPickerView.html @@ -0,0 +1,194 @@ + + + + MediaPickerView Structure Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceSwiftUI 1.36.1 Docs + + (74% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

MediaPickerView

+
+
+ +
public struct MediaPickerView : View
+ +
+
+

Undocumented

+ +
+
+ +
+
+
+
    +
  • +
    + + + + init(provider:) + +
    +
    +
    +
    +
    +
    +

    Initializes the media picker view with a media picker provider

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public init(provider: LensMediaPickerProvider)
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + provider + + +
    +

    the provider to use

    +
    +
    +
    +
    +
    +
  • +
  • +
    + + + + body + +
    +
    +
    +
    +
    +
    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var body: some View { get }
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/Structs/PreviewView.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/Structs/PreviewView.html new file mode 100644 index 000000000..ff8baba22 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/Structs/PreviewView.html @@ -0,0 +1,232 @@ + + + + PreviewView Structure Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceSwiftUI 1.36.1 Docs + + (74% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

PreviewView

+
+
+ +
public struct PreviewView : UIViewRepresentable
+ +
+
+

Undocumented

+ +
+
+ +
+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Initializes a preview view and connects it to a CameraKit session as an output

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public init(cameraKit: CameraKitProtocol, automaticallyConfiguresTouchHandler: Bool = true)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + +
    + + cameraKit + + +
    +

    the session to attach the preview view as an output to

    +
    +
    + + automaticallyConfiguresTouchHandler + + +
    +

    whether or not touch handling should automatically be configured for the view

    +
    +
    +
    +
    +
    +
  • +
  • +
    + + + + makeUIView(context:) + +
    +
    +
    +
    +
    +
    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func makeUIView(context: Context) -> some UIView
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func updateUIView(_ uiView: UIViewType, context: Context)
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/Structs/VideoPreviewView.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/Structs/VideoPreviewView.html new file mode 100644 index 000000000..f7cd0c6db --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/Structs/VideoPreviewView.html @@ -0,0 +1,232 @@ + + + + VideoPreviewView Structure Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceSwiftUI 1.36.1 Docs + + (74% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

VideoPreviewView

+
+
+ +
public struct VideoPreviewView : UIViewControllerRepresentable
+ +
+
+

Undocumented

+ +
+
+ +
+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Creates a preview view.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public init(video: URL, snapchatDelegate: SnapchatDelegate?)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + +
    + + video + + +
    +

    the url for the recorded video to show

    +
    +
    + + snapchatDelegate + + +
    +

    the Snapchat delegate

    +
    +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func makeUIViewController(context: Context) -> some UIViewController
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func updateUIViewController(_ uiViewController: UIViewControllerType, context: Context)
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/badge.svg b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/badge.svg new file mode 100644 index 000000000..8f2e1c0c2 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/badge.svg @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + documentation + + + documentation + + + 74% + + + 74% + + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/css/highlight.css b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/css/highlight.css new file mode 100644 index 000000000..c170357ce --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/css/highlight.css @@ -0,0 +1,202 @@ +/*! Jazzy - https://github.com/realm/jazzy + * Copyright Realm Inc. + * SPDX-License-Identifier: MIT + */ +/* Credit to https://gist.github.com/wataru420/2048287 */ +.highlight .c { + color: #999988; + font-style: italic; } + +.highlight .err { + color: #a61717; + background-color: #e3d2d2; } + +.highlight .k { + color: #000000; + font-weight: bold; } + +.highlight .o { + color: #000000; + font-weight: bold; } + +.highlight .cm { + color: #999988; + font-style: italic; } + +.highlight .cp { + color: #999999; + font-weight: bold; } + +.highlight .c1 { + color: #999988; + font-style: italic; } + +.highlight .cs { + color: #999999; + font-weight: bold; + font-style: italic; } + +.highlight .gd { + color: #000000; + background-color: #ffdddd; } + +.highlight .gd .x { + color: #000000; + background-color: #ffaaaa; } + +.highlight .ge { + color: #000000; + font-style: italic; } + +.highlight .gr { + color: #aa0000; } + +.highlight .gh { + color: #999999; } + +.highlight .gi { + color: #000000; + background-color: #ddffdd; } + +.highlight .gi .x { + color: #000000; + background-color: #aaffaa; } + +.highlight .go { + color: #888888; } + +.highlight .gp { + color: #555555; } + +.highlight .gs { + font-weight: bold; } + +.highlight .gu { + color: #aaaaaa; } + +.highlight .gt { + color: #aa0000; } + +.highlight .kc { + color: #000000; + font-weight: bold; } + +.highlight .kd { + color: #000000; + font-weight: bold; } + +.highlight .kp { + color: #000000; + font-weight: bold; } + +.highlight .kr { + color: #000000; + font-weight: bold; } + +.highlight .kt { + color: #445588; } + +.highlight .m { + color: #009999; } + +.highlight .s { + color: #d14; } + +.highlight .na { + color: #008080; } + +.highlight .nb { + color: #0086B3; } + +.highlight .nc { + color: #445588; + font-weight: bold; } + +.highlight .no { + color: #008080; } + +.highlight .ni { + color: #800080; } + +.highlight .ne { + color: #990000; + font-weight: bold; } + +.highlight .nf { + color: #990000; } + +.highlight .nn { + color: #555555; } + +.highlight .nt { + color: #000080; } + +.highlight .nv { + color: #008080; } + +.highlight .ow { + color: #000000; + font-weight: bold; } + +.highlight .w { + color: #bbbbbb; } + +.highlight .mf { + color: #009999; } + +.highlight .mh { + color: #009999; } + +.highlight .mi { + color: #009999; } + +.highlight .mo { + color: #009999; } + +.highlight .sb { + color: #d14; } + +.highlight .sc { + color: #d14; } + +.highlight .sd { + color: #d14; } + +.highlight .s2 { + color: #d14; } + +.highlight .se { + color: #d14; } + +.highlight .sh { + color: #d14; } + +.highlight .si { + color: #d14; } + +.highlight .sx { + color: #d14; } + +.highlight .sr { + color: #009926; } + +.highlight .s1 { + color: #d14; } + +.highlight .ss { + color: #990073; } + +.highlight .bp { + color: #999999; } + +.highlight .vc { + color: #008080; } + +.highlight .vg { + color: #008080; } + +.highlight .vi { + color: #008080; } + +.highlight .il { + color: #009999; } diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/css/jazzy.css b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/css/jazzy.css new file mode 100644 index 000000000..c7bb9fe22 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/css/jazzy.css @@ -0,0 +1,404 @@ +/*! Jazzy - https://github.com/realm/jazzy + * Copyright Realm Inc. + * SPDX-License-Identifier: MIT + */ +*, *:before, *:after { + box-sizing: inherit; } + +body { + margin: 0; + background: #fff; + color: #333; + font: 16px/1.7 "Helvetica Neue", Helvetica, Arial, sans-serif; + letter-spacing: .2px; + -webkit-font-smoothing: antialiased; + box-sizing: border-box; } + +h1 { + font-size: 2rem; + font-weight: 700; + margin: 1.275em 0 0.6em; } + +h2 { + font-size: 1.75rem; + font-weight: 700; + margin: 1.275em 0 0.3em; } + +h3 { + font-size: 1.5rem; + font-weight: 700; + margin: 1em 0 0.3em; } + +h4 { + font-size: 1.25rem; + font-weight: 700; + margin: 1.275em 0 0.85em; } + +h5 { + font-size: 1rem; + font-weight: 700; + margin: 1.275em 0 0.85em; } + +h6 { + font-size: 1rem; + font-weight: 700; + margin: 1.275em 0 0.85em; + color: #777; } + +p { + margin: 0 0 1em; } + +ul, ol { + padding: 0 0 0 2em; + margin: 0 0 0.85em; } + +blockquote { + margin: 0 0 0.85em; + padding: 0 15px; + color: #858585; + border-left: 4px solid #e5e5e5; } + +img { + max-width: 100%; } + +a { + color: #4183c4; + text-decoration: none; } + a:hover, a:focus { + outline: 0; + text-decoration: underline; } + a.discouraged { + text-decoration: line-through; } + a.discouraged:hover, a.discouraged:focus { + text-decoration: underline line-through; } + +table { + background: #fff; + width: 100%; + border-collapse: collapse; + border-spacing: 0; + overflow: auto; + margin: 0 0 0.85em; } + +tr:nth-child(2n) { + background-color: #fbfbfb; } + +th, td { + padding: 6px 13px; + border: 1px solid #ddd; } + +hr { + height: 1px; + border: none; + background-color: #ddd; } + +pre { + margin: 0 0 1.275em; + padding: .85em 1em; + overflow: auto; + background: #f7f7f7; + font-size: .85em; + font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace; } + +code { + font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace; } + +.item-container p > code, .item-container li > code, .top-matter p > code, .top-matter li > code { + background: #f7f7f7; + padding: .2em; } + .item-container p > code:before, .item-container p > code:after, .item-container li > code:before, .item-container li > code:after, .top-matter p > code:before, .top-matter p > code:after, .top-matter li > code:before, .top-matter li > code:after { + letter-spacing: -.2em; + content: "\00a0"; } + +pre code { + padding: 0; + white-space: pre; } + +.content-wrapper { + display: flex; + flex-direction: column; } + @media (min-width: 768px) { + .content-wrapper { + flex-direction: row; } } +.header { + display: flex; + padding: 8px; + font-size: 0.875em; + background: #444; + color: #999; } + +.header-col { + margin: 0; + padding: 0 8px; } + +.header-col--primary { + flex: 1; } + +.header-link { + color: #fff; } + +.header-icon { + padding-right: 2px; + vertical-align: -3px; + height: 16px; } + +.breadcrumbs { + font-size: 0.875em; + padding: 8px 16px; + margin: 0; + background: #fbfbfb; + border-bottom: 1px solid #ddd; } + +.carat { + height: 10px; + margin: 0 5px; } + +.navigation { + order: 2; } + @media (min-width: 768px) { + .navigation { + order: 1; + width: 25%; + max-width: 300px; + padding-bottom: 64px; + overflow: hidden; + word-wrap: normal; + background: #fbfbfb; + border-right: 1px solid #ddd; } } +.nav-groups { + list-style-type: none; + padding-left: 0; } + +.nav-group-name { + border-bottom: 1px solid #ddd; + padding: 8px 0 8px 16px; } + +.nav-group-name-link { + color: #333; } + +.nav-group-tasks { + margin: 8px 0; + padding: 0 0 0 8px; } + +.nav-group-task { + font-size: 1em; + list-style-type: none; + white-space: nowrap; } + +.nav-group-task-link { + color: #808080; } + +.main-content { + order: 1; } + @media (min-width: 768px) { + .main-content { + order: 2; + flex: 1; + padding-bottom: 60px; } } +.section { + padding: 0 32px; + border-bottom: 1px solid #ddd; } + +.section-content { + max-width: 834px; + margin: 0 auto; + padding: 16px 0; } + +.section-name { + color: #666; + display: block; } + .section-name p { + margin-bottom: inherit; } + +.declaration .highlight { + overflow-x: initial; + padding: 8px 0; + margin: 0; + background-color: transparent; + border: none; } + +.task-group-section { + border-top: 1px solid #ddd; } + +.task-group { + padding-top: 0px; } + +.task-name-container a[name]:before { + content: ""; + display: block; } + +.section-name-container { + position: relative; } + .section-name-container .section-name-link { + position: absolute; + top: 0; + left: 0; + bottom: 0; + right: 0; + margin-bottom: 0; } + .section-name-container .section-name { + position: relative; + pointer-events: none; + z-index: 1; } + .section-name-container .section-name a { + pointer-events: auto; } + +.item-container { + padding: 0; } + +.item { + padding-top: 8px; + width: 100%; + list-style-type: none; } + .item a[name]:before { + content: ""; + display: block; } + .item .token, .item .direct-link { + display: inline-block; + text-indent: -20px; + padding-left: 3px; + margin-left: 20px; + font-size: 1rem; } + .item .declaration-note { + font-size: .85em; + color: #808080; + font-style: italic; } + +.pointer-container { + border-bottom: 1px solid #ddd; + left: -23px; + padding-bottom: 13px; + position: relative; + width: 110%; } + +.pointer { + left: 21px; + top: 7px; + display: block; + position: absolute; + width: 12px; + height: 12px; + border-left: 1px solid #ddd; + border-top: 1px solid #ddd; + background: #fff; + transform: rotate(45deg); } + +.height-container { + display: none; + position: relative; + width: 100%; + overflow: hidden; } + .height-container .section { + background: #fff; + border: 1px solid #ddd; + border-top-width: 0; + padding-top: 10px; + padding-bottom: 5px; + padding: 8px 16px; } + +.aside, .language { + padding: 6px 12px; + margin: 12px 0; + border-left: 5px solid #dddddd; + overflow-y: hidden; } + .aside .aside-title, .language .aside-title { + font-size: 9px; + letter-spacing: 2px; + text-transform: uppercase; + padding-bottom: 0; + margin: 0; + color: #aaa; + -webkit-user-select: none; } + .aside p:last-child, .language p:last-child { + margin-bottom: 0; } + +.language { + border-left: 5px solid #cde9f4; } + .language .aside-title { + color: #4183c4; } + +.aside-warning, .aside-deprecated, .aside-unavailable { + border-left: 5px solid #ff6666; } + .aside-warning .aside-title, .aside-deprecated .aside-title, .aside-unavailable .aside-title { + color: #ff0000; } + +.graybox { + border-collapse: collapse; + width: 100%; } + .graybox p { + margin: 0; + word-break: break-word; + min-width: 50px; } + .graybox td { + border: 1px solid #ddd; + padding: 5px 25px 5px 10px; + vertical-align: middle; } + .graybox tr td:first-of-type { + text-align: right; + padding: 7px; + vertical-align: top; + word-break: normal; + width: 40px; } + +.slightly-smaller { + font-size: 0.9em; } + +.footer { + padding: 8px 16px; + background: #444; + color: #ddd; + font-size: 0.8em; } + .footer p { + margin: 8px 0; } + .footer a { + color: #fff; } + +html.dash .header, html.dash .breadcrumbs, html.dash .navigation { + display: none; } + +html.dash .height-container { + display: block; } + +form[role=search] input { + font: 16px/1.7 "Helvetica Neue", Helvetica, Arial, sans-serif; + font-size: 14px; + line-height: 24px; + padding: 0 10px; + margin: 0; + border: none; + border-radius: 1em; } + .loading form[role=search] input { + background: white url(../img/spinner.gif) center right 4px no-repeat; } + +form[role=search] .tt-menu { + margin: 0; + min-width: 300px; + background: #fbfbfb; + color: #333; + border: 1px solid #ddd; } + +form[role=search] .tt-highlight { + font-weight: bold; } + +form[role=search] .tt-suggestion { + font: 16px/1.7 "Helvetica Neue", Helvetica, Arial, sans-serif; + padding: 0 8px; } + form[role=search] .tt-suggestion span { + display: table-cell; + white-space: nowrap; } + form[role=search] .tt-suggestion .doc-parent-name { + width: 100%; + text-align: right; + font-weight: normal; + font-size: 0.9em; + padding-left: 16px; } + +form[role=search] .tt-suggestion:hover, +form[role=search] .tt-suggestion.tt-cursor { + cursor: pointer; + background-color: #4183c4; + color: #fff; } + +form[role=search] .tt-suggestion:hover .doc-parent-name, +form[role=search] .tt-suggestion.tt-cursor .doc-parent-name { + color: #fff; } diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Info.plist b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Info.plist new file mode 100644 index 000000000..20c7ba971 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Info.plist @@ -0,0 +1,20 @@ + + + + + CFBundleIdentifier + com.jazzy.scsdkcamerakitreferenceswiftui + CFBundleName + SCSDKCameraKitReferenceSwiftUI + DocSetPlatformFamily + scsdkcamerakitreferenceswiftui + isDashDocset + + dashIndexFilePath + index.html + isJavaScriptEnabled + + DashDocSetFamily + dashtoc + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/Documents/Classes.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/Documents/Classes.html new file mode 100644 index 000000000..988830a86 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/Documents/Classes.html @@ -0,0 +1,144 @@ + + + + Classes Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceSwiftUI 1.36.1 Docs + + (74% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

Classes

+

The following classes are available globally.

+ +
+
+ +
+
+
+
    +
  • +
    + + + + CameraViewState + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public class CameraViewState : NSObject, ObservableObject
    +
    extension CameraViewState: CameraControllerUIDelegate
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/Documents/Classes/CameraViewState.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/Documents/Classes/CameraViewState.html new file mode 100644 index 000000000..54f943b53 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/Documents/Classes/CameraViewState.html @@ -0,0 +1,411 @@ + + + + CameraViewState Class Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceSwiftUI 1.36.1 Docs + + (74% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

CameraViewState

+
+
+ +
public class CameraViewState : NSObject, ObservableObject
+
extension CameraViewState: CameraControllerUIDelegate
+ +
+
+

Undocumented

+ +
+
+ +
+
+
+ +
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/Documents/Structs.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/Documents/Structs.html new file mode 100644 index 000000000..959f4c8b7 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/Documents/Structs.html @@ -0,0 +1,311 @@ + + + + Structures Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceSwiftUI 1.36.1 Docs + + (74% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

Structures

+

The following structures are available globally.

+ +
+
+ +
+
+
+
    +
  • +
    + + + + CameraButton + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public struct CameraButton : UIViewRepresentable
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + CameraView + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public struct CameraView : View
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + CarouselView + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public struct CarouselView : UIViewRepresentable
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + ImagePreviewView + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public struct ImagePreviewView : UIViewControllerRepresentable
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + MediaPickerView + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public struct MediaPickerView : View
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + PreviewView + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public struct PreviewView : UIViewRepresentable
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + VideoPreviewView + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public struct VideoPreviewView : UIViewControllerRepresentable
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/Documents/Structs/CameraButton.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/Documents/Structs/CameraButton.html new file mode 100644 index 000000000..c54081063 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/Documents/Structs/CameraButton.html @@ -0,0 +1,227 @@ + + + + CameraButton Structure Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceSwiftUI 1.36.1 Docs + + (74% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

CameraButton

+
+
+ +
public struct CameraButton : UIViewRepresentable
+ +
+
+

Undocumented

+ +
+
+ +
+
+
+
    +
  • +
    + + + + makeCoordinator() + +
    +
    +
    +
    +
    +
    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func makeCoordinator() -> Coordinator
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + makeUIView(context:) + +
    +
    +
    +
    +
    +
    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func makeUIView(context: Context) -> some UIView
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func updateUIView(_ uiView: UIViewType, context: Context)
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + Coordinator + +
    +
    +
    +
    +
    +
    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    class Coordinator : NSObject, CameraButtonDelegate
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/Documents/Structs/CameraButton/Coordinator.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/Documents/Structs/CameraButton/Coordinator.html new file mode 100644 index 000000000..1a04cdd59 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/Documents/Structs/CameraButton/Coordinator.html @@ -0,0 +1,225 @@ + + + + Coordinator Class Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceSwiftUI 1.36.1 Docs + + (74% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

Coordinator

+
+
+ +
class Coordinator : NSObject, CameraButtonDelegate
+ +
+
+ +
+
+ +
+
+
+
    +
  • + +
    +
    +
    +
    +
    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func cameraButtonTapped(_ cameraButton: SCSDKCameraKitReferenceUI.CameraButton)
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func cameraButtonHoldBegan(_ cameraButton: SCSDKCameraKitReferenceUI.CameraButton)
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func cameraButtonHoldCancelled(_ cameraButton: SCSDKCameraKitReferenceUI.CameraButton)
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func cameraButtonHoldEnded(_ cameraButton: SCSDKCameraKitReferenceUI.CameraButton)
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/Documents/Structs/CameraView.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/Documents/Structs/CameraView.html new file mode 100644 index 000000000..1bcf918ec --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/Documents/Structs/CameraView.html @@ -0,0 +1,175 @@ + + + + CameraView Structure Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceSwiftUI 1.36.1 Docs + + (74% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

CameraView

+
+
+ +
public struct CameraView : View
+ +
+
+

Undocumented

+ +
+
+ +
+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public init(cameraController: CameraController)
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + body + +
    +
    +
    +
    +
    +
    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var body: some View { get }
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/Documents/Structs/CarouselView.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/Documents/Structs/CarouselView.html new file mode 100644 index 000000000..6e5fb21b4 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/Documents/Structs/CarouselView.html @@ -0,0 +1,227 @@ + + + + CarouselView Structure Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceSwiftUI 1.36.1 Docs + + (74% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

CarouselView

+
+
+ +
public struct CarouselView : UIViewRepresentable
+ +
+
+

Undocumented

+ +
+
+ +
+
+
+
    +
  • +
    + + + + makeCoordinator() + +
    +
    +
    +
    +
    +
    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func makeCoordinator() -> Coordinator
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + makeUIView(context:) + +
    +
    +
    +
    +
    +
    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func makeUIView(context: Context) -> SCSDKCameraKitReferenceUI.CarouselView
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func updateUIView(_ uiView: SCSDKCameraKitReferenceUI.CarouselView, context: Context)
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + Coordinator + +
    +
    +
    +
    +
    +
    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    class Coordinator : NSObject, CarouselViewDelegate, CarouselViewDataSource
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/Documents/Structs/CarouselView/Coordinator.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/Documents/Structs/CarouselView/Coordinator.html new file mode 100644 index 000000000..818968b34 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/Documents/Structs/CarouselView/Coordinator.html @@ -0,0 +1,224 @@ + + + + Coordinator Class Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceSwiftUI 1.36.1 Docs + + (74% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

Coordinator

+
+
+ +
class Coordinator : NSObject, CarouselViewDelegate, CarouselViewDataSource
+ +
+
+ +
+
+ +
+
+
+
+ + +
+ +

CarouselViewDelegate +

+
+
+
    +
  • + +
    +
    +
    +
    +
    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func carouselView(
    +    _ view: SCSDKCameraKitReferenceUI.CarouselView, didSelect item: CarouselItem, at index: Int
    +)
    + +
    +
    +
    +
    +
  • +
+
+
+
+ + +
+ +

CarouselViewDataSource +

+
+
+
    +
  • + +
    +
    +
    +
    +
    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func itemsForCarouselView(_ view: SCSDKCameraKitReferenceUI.CarouselView) -> [CarouselItem]
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + item(for:) + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func item(for lens: Lens?) -> CarouselItem
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/Documents/Structs/ImagePreviewView.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/Documents/Structs/ImagePreviewView.html new file mode 100644 index 000000000..e3a600a22 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/Documents/Structs/ImagePreviewView.html @@ -0,0 +1,232 @@ + + + + ImagePreviewView Structure Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceSwiftUI 1.36.1 Docs + + (74% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

ImagePreviewView

+
+
+ +
public struct ImagePreviewView : UIViewControllerRepresentable
+ +
+
+

Undocumented

+ +
+
+ +
+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Creates a preview view.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public init(image: UIImage, snapchatDelegate: SnapchatDelegate?)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + +
    + + image + + +
    +

    the captured image to show

    +
    +
    + + snapchatDelegate + + +
    +

    the Snapchat delegate

    +
    +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func makeUIViewController(context: Context) -> some UIViewController
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func updateUIViewController(_ uiViewController: UIViewControllerType, context: Context)
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/Documents/Structs/MediaPickerView.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/Documents/Structs/MediaPickerView.html new file mode 100644 index 000000000..b8e6c6c34 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/Documents/Structs/MediaPickerView.html @@ -0,0 +1,194 @@ + + + + MediaPickerView Structure Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceSwiftUI 1.36.1 Docs + + (74% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

MediaPickerView

+
+
+ +
public struct MediaPickerView : View
+ +
+
+

Undocumented

+ +
+
+ +
+
+
+
    +
  • +
    + + + + init(provider:) + +
    +
    +
    +
    +
    +
    +

    Initializes the media picker view with a media picker provider

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public init(provider: LensMediaPickerProvider)
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + provider + + +
    +

    the provider to use

    +
    +
    +
    +
    +
    +
  • +
  • +
    + + + + body + +
    +
    +
    +
    +
    +
    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var body: some View { get }
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/Documents/Structs/PreviewView.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/Documents/Structs/PreviewView.html new file mode 100644 index 000000000..ff8baba22 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/Documents/Structs/PreviewView.html @@ -0,0 +1,232 @@ + + + + PreviewView Structure Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceSwiftUI 1.36.1 Docs + + (74% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

PreviewView

+
+
+ +
public struct PreviewView : UIViewRepresentable
+ +
+
+

Undocumented

+ +
+
+ +
+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Initializes a preview view and connects it to a CameraKit session as an output

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public init(cameraKit: CameraKitProtocol, automaticallyConfiguresTouchHandler: Bool = true)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + +
    + + cameraKit + + +
    +

    the session to attach the preview view as an output to

    +
    +
    + + automaticallyConfiguresTouchHandler + + +
    +

    whether or not touch handling should automatically be configured for the view

    +
    +
    +
    +
    +
    +
  • +
  • +
    + + + + makeUIView(context:) + +
    +
    +
    +
    +
    +
    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func makeUIView(context: Context) -> some UIView
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func updateUIView(_ uiView: UIViewType, context: Context)
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/Documents/Structs/VideoPreviewView.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/Documents/Structs/VideoPreviewView.html new file mode 100644 index 000000000..f7cd0c6db --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/Documents/Structs/VideoPreviewView.html @@ -0,0 +1,232 @@ + + + + VideoPreviewView Structure Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceSwiftUI 1.36.1 Docs + + (74% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

VideoPreviewView

+
+
+ +
public struct VideoPreviewView : UIViewControllerRepresentable
+ +
+
+

Undocumented

+ +
+
+ +
+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Creates a preview view.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public init(video: URL, snapchatDelegate: SnapchatDelegate?)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + +
    + + video + + +
    +

    the url for the recorded video to show

    +
    +
    + + snapchatDelegate + + +
    +

    the Snapchat delegate

    +
    +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func makeUIViewController(context: Context) -> some UIViewController
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func updateUIViewController(_ uiViewController: UIViewControllerType, context: Context)
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/Documents/css/highlight.css b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/Documents/css/highlight.css new file mode 100644 index 000000000..c170357ce --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/Documents/css/highlight.css @@ -0,0 +1,202 @@ +/*! Jazzy - https://github.com/realm/jazzy + * Copyright Realm Inc. + * SPDX-License-Identifier: MIT + */ +/* Credit to https://gist.github.com/wataru420/2048287 */ +.highlight .c { + color: #999988; + font-style: italic; } + +.highlight .err { + color: #a61717; + background-color: #e3d2d2; } + +.highlight .k { + color: #000000; + font-weight: bold; } + +.highlight .o { + color: #000000; + font-weight: bold; } + +.highlight .cm { + color: #999988; + font-style: italic; } + +.highlight .cp { + color: #999999; + font-weight: bold; } + +.highlight .c1 { + color: #999988; + font-style: italic; } + +.highlight .cs { + color: #999999; + font-weight: bold; + font-style: italic; } + +.highlight .gd { + color: #000000; + background-color: #ffdddd; } + +.highlight .gd .x { + color: #000000; + background-color: #ffaaaa; } + +.highlight .ge { + color: #000000; + font-style: italic; } + +.highlight .gr { + color: #aa0000; } + +.highlight .gh { + color: #999999; } + +.highlight .gi { + color: #000000; + background-color: #ddffdd; } + +.highlight .gi .x { + color: #000000; + background-color: #aaffaa; } + +.highlight .go { + color: #888888; } + +.highlight .gp { + color: #555555; } + +.highlight .gs { + font-weight: bold; } + +.highlight .gu { + color: #aaaaaa; } + +.highlight .gt { + color: #aa0000; } + +.highlight .kc { + color: #000000; + font-weight: bold; } + +.highlight .kd { + color: #000000; + font-weight: bold; } + +.highlight .kp { + color: #000000; + font-weight: bold; } + +.highlight .kr { + color: #000000; + font-weight: bold; } + +.highlight .kt { + color: #445588; } + +.highlight .m { + color: #009999; } + +.highlight .s { + color: #d14; } + +.highlight .na { + color: #008080; } + +.highlight .nb { + color: #0086B3; } + +.highlight .nc { + color: #445588; + font-weight: bold; } + +.highlight .no { + color: #008080; } + +.highlight .ni { + color: #800080; } + +.highlight .ne { + color: #990000; + font-weight: bold; } + +.highlight .nf { + color: #990000; } + +.highlight .nn { + color: #555555; } + +.highlight .nt { + color: #000080; } + +.highlight .nv { + color: #008080; } + +.highlight .ow { + color: #000000; + font-weight: bold; } + +.highlight .w { + color: #bbbbbb; } + +.highlight .mf { + color: #009999; } + +.highlight .mh { + color: #009999; } + +.highlight .mi { + color: #009999; } + +.highlight .mo { + color: #009999; } + +.highlight .sb { + color: #d14; } + +.highlight .sc { + color: #d14; } + +.highlight .sd { + color: #d14; } + +.highlight .s2 { + color: #d14; } + +.highlight .se { + color: #d14; } + +.highlight .sh { + color: #d14; } + +.highlight .si { + color: #d14; } + +.highlight .sx { + color: #d14; } + +.highlight .sr { + color: #009926; } + +.highlight .s1 { + color: #d14; } + +.highlight .ss { + color: #990073; } + +.highlight .bp { + color: #999999; } + +.highlight .vc { + color: #008080; } + +.highlight .vg { + color: #008080; } + +.highlight .vi { + color: #008080; } + +.highlight .il { + color: #009999; } diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/Documents/css/jazzy.css b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/Documents/css/jazzy.css new file mode 100644 index 000000000..c7bb9fe22 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/Documents/css/jazzy.css @@ -0,0 +1,404 @@ +/*! Jazzy - https://github.com/realm/jazzy + * Copyright Realm Inc. + * SPDX-License-Identifier: MIT + */ +*, *:before, *:after { + box-sizing: inherit; } + +body { + margin: 0; + background: #fff; + color: #333; + font: 16px/1.7 "Helvetica Neue", Helvetica, Arial, sans-serif; + letter-spacing: .2px; + -webkit-font-smoothing: antialiased; + box-sizing: border-box; } + +h1 { + font-size: 2rem; + font-weight: 700; + margin: 1.275em 0 0.6em; } + +h2 { + font-size: 1.75rem; + font-weight: 700; + margin: 1.275em 0 0.3em; } + +h3 { + font-size: 1.5rem; + font-weight: 700; + margin: 1em 0 0.3em; } + +h4 { + font-size: 1.25rem; + font-weight: 700; + margin: 1.275em 0 0.85em; } + +h5 { + font-size: 1rem; + font-weight: 700; + margin: 1.275em 0 0.85em; } + +h6 { + font-size: 1rem; + font-weight: 700; + margin: 1.275em 0 0.85em; + color: #777; } + +p { + margin: 0 0 1em; } + +ul, ol { + padding: 0 0 0 2em; + margin: 0 0 0.85em; } + +blockquote { + margin: 0 0 0.85em; + padding: 0 15px; + color: #858585; + border-left: 4px solid #e5e5e5; } + +img { + max-width: 100%; } + +a { + color: #4183c4; + text-decoration: none; } + a:hover, a:focus { + outline: 0; + text-decoration: underline; } + a.discouraged { + text-decoration: line-through; } + a.discouraged:hover, a.discouraged:focus { + text-decoration: underline line-through; } + +table { + background: #fff; + width: 100%; + border-collapse: collapse; + border-spacing: 0; + overflow: auto; + margin: 0 0 0.85em; } + +tr:nth-child(2n) { + background-color: #fbfbfb; } + +th, td { + padding: 6px 13px; + border: 1px solid #ddd; } + +hr { + height: 1px; + border: none; + background-color: #ddd; } + +pre { + margin: 0 0 1.275em; + padding: .85em 1em; + overflow: auto; + background: #f7f7f7; + font-size: .85em; + font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace; } + +code { + font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace; } + +.item-container p > code, .item-container li > code, .top-matter p > code, .top-matter li > code { + background: #f7f7f7; + padding: .2em; } + .item-container p > code:before, .item-container p > code:after, .item-container li > code:before, .item-container li > code:after, .top-matter p > code:before, .top-matter p > code:after, .top-matter li > code:before, .top-matter li > code:after { + letter-spacing: -.2em; + content: "\00a0"; } + +pre code { + padding: 0; + white-space: pre; } + +.content-wrapper { + display: flex; + flex-direction: column; } + @media (min-width: 768px) { + .content-wrapper { + flex-direction: row; } } +.header { + display: flex; + padding: 8px; + font-size: 0.875em; + background: #444; + color: #999; } + +.header-col { + margin: 0; + padding: 0 8px; } + +.header-col--primary { + flex: 1; } + +.header-link { + color: #fff; } + +.header-icon { + padding-right: 2px; + vertical-align: -3px; + height: 16px; } + +.breadcrumbs { + font-size: 0.875em; + padding: 8px 16px; + margin: 0; + background: #fbfbfb; + border-bottom: 1px solid #ddd; } + +.carat { + height: 10px; + margin: 0 5px; } + +.navigation { + order: 2; } + @media (min-width: 768px) { + .navigation { + order: 1; + width: 25%; + max-width: 300px; + padding-bottom: 64px; + overflow: hidden; + word-wrap: normal; + background: #fbfbfb; + border-right: 1px solid #ddd; } } +.nav-groups { + list-style-type: none; + padding-left: 0; } + +.nav-group-name { + border-bottom: 1px solid #ddd; + padding: 8px 0 8px 16px; } + +.nav-group-name-link { + color: #333; } + +.nav-group-tasks { + margin: 8px 0; + padding: 0 0 0 8px; } + +.nav-group-task { + font-size: 1em; + list-style-type: none; + white-space: nowrap; } + +.nav-group-task-link { + color: #808080; } + +.main-content { + order: 1; } + @media (min-width: 768px) { + .main-content { + order: 2; + flex: 1; + padding-bottom: 60px; } } +.section { + padding: 0 32px; + border-bottom: 1px solid #ddd; } + +.section-content { + max-width: 834px; + margin: 0 auto; + padding: 16px 0; } + +.section-name { + color: #666; + display: block; } + .section-name p { + margin-bottom: inherit; } + +.declaration .highlight { + overflow-x: initial; + padding: 8px 0; + margin: 0; + background-color: transparent; + border: none; } + +.task-group-section { + border-top: 1px solid #ddd; } + +.task-group { + padding-top: 0px; } + +.task-name-container a[name]:before { + content: ""; + display: block; } + +.section-name-container { + position: relative; } + .section-name-container .section-name-link { + position: absolute; + top: 0; + left: 0; + bottom: 0; + right: 0; + margin-bottom: 0; } + .section-name-container .section-name { + position: relative; + pointer-events: none; + z-index: 1; } + .section-name-container .section-name a { + pointer-events: auto; } + +.item-container { + padding: 0; } + +.item { + padding-top: 8px; + width: 100%; + list-style-type: none; } + .item a[name]:before { + content: ""; + display: block; } + .item .token, .item .direct-link { + display: inline-block; + text-indent: -20px; + padding-left: 3px; + margin-left: 20px; + font-size: 1rem; } + .item .declaration-note { + font-size: .85em; + color: #808080; + font-style: italic; } + +.pointer-container { + border-bottom: 1px solid #ddd; + left: -23px; + padding-bottom: 13px; + position: relative; + width: 110%; } + +.pointer { + left: 21px; + top: 7px; + display: block; + position: absolute; + width: 12px; + height: 12px; + border-left: 1px solid #ddd; + border-top: 1px solid #ddd; + background: #fff; + transform: rotate(45deg); } + +.height-container { + display: none; + position: relative; + width: 100%; + overflow: hidden; } + .height-container .section { + background: #fff; + border: 1px solid #ddd; + border-top-width: 0; + padding-top: 10px; + padding-bottom: 5px; + padding: 8px 16px; } + +.aside, .language { + padding: 6px 12px; + margin: 12px 0; + border-left: 5px solid #dddddd; + overflow-y: hidden; } + .aside .aside-title, .language .aside-title { + font-size: 9px; + letter-spacing: 2px; + text-transform: uppercase; + padding-bottom: 0; + margin: 0; + color: #aaa; + -webkit-user-select: none; } + .aside p:last-child, .language p:last-child { + margin-bottom: 0; } + +.language { + border-left: 5px solid #cde9f4; } + .language .aside-title { + color: #4183c4; } + +.aside-warning, .aside-deprecated, .aside-unavailable { + border-left: 5px solid #ff6666; } + .aside-warning .aside-title, .aside-deprecated .aside-title, .aside-unavailable .aside-title { + color: #ff0000; } + +.graybox { + border-collapse: collapse; + width: 100%; } + .graybox p { + margin: 0; + word-break: break-word; + min-width: 50px; } + .graybox td { + border: 1px solid #ddd; + padding: 5px 25px 5px 10px; + vertical-align: middle; } + .graybox tr td:first-of-type { + text-align: right; + padding: 7px; + vertical-align: top; + word-break: normal; + width: 40px; } + +.slightly-smaller { + font-size: 0.9em; } + +.footer { + padding: 8px 16px; + background: #444; + color: #ddd; + font-size: 0.8em; } + .footer p { + margin: 8px 0; } + .footer a { + color: #fff; } + +html.dash .header, html.dash .breadcrumbs, html.dash .navigation { + display: none; } + +html.dash .height-container { + display: block; } + +form[role=search] input { + font: 16px/1.7 "Helvetica Neue", Helvetica, Arial, sans-serif; + font-size: 14px; + line-height: 24px; + padding: 0 10px; + margin: 0; + border: none; + border-radius: 1em; } + .loading form[role=search] input { + background: white url(../img/spinner.gif) center right 4px no-repeat; } + +form[role=search] .tt-menu { + margin: 0; + min-width: 300px; + background: #fbfbfb; + color: #333; + border: 1px solid #ddd; } + +form[role=search] .tt-highlight { + font-weight: bold; } + +form[role=search] .tt-suggestion { + font: 16px/1.7 "Helvetica Neue", Helvetica, Arial, sans-serif; + padding: 0 8px; } + form[role=search] .tt-suggestion span { + display: table-cell; + white-space: nowrap; } + form[role=search] .tt-suggestion .doc-parent-name { + width: 100%; + text-align: right; + font-weight: normal; + font-size: 0.9em; + padding-left: 16px; } + +form[role=search] .tt-suggestion:hover, +form[role=search] .tt-suggestion.tt-cursor { + cursor: pointer; + background-color: #4183c4; + color: #fff; } + +form[role=search] .tt-suggestion:hover .doc-parent-name, +form[role=search] .tt-suggestion.tt-cursor .doc-parent-name { + color: #fff; } diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/Documents/img/carat.png b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/Documents/img/carat.png new file mode 100755 index 0000000000000000000000000000000000000000..29d2f7fd4955fca6bc6fb740e0373a2c358c398e GIT binary patch literal 274 zcmeAS@N?(olHy`uVBq!ia0vp^0zfRo!3HEV4DF?Wlw^r(L`iUdT1k0gQ7VIDN`6wR zf@f}GdTLN=VoGJ<$y6JlqAi{-jv*Ddl5#RKJQ5NTUZgiPI4RUKGIKU?u8L&ndhX1t za+0CMVUnT(Gnb}ei=c~x==tMH^F1_tBocXwcoSWoO-SZY-o>!8%^=Bms)(~h;m_U( zXNixk28L}0LS5-jKyq@#2gyS|J&f#pGCLkTc<@2s1dqeyqJ*Rc0tSIETAgmODY;(s z2y|Mcp&2}7rpBprBBB~1qM1`N+}4SoxYVPqsXi&l`rxZp{(w0iSy$Nv5*Vy!RapG^ S^0y4=eg;ohKbLh*2~7a!Pg}VF literal 0 HcmV?d00001 diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/Documents/img/dash.png b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/Documents/img/dash.png new file mode 100755 index 0000000000000000000000000000000000000000..6f694c7a012b417908da3687a0a39aa182e91c74 GIT binary patch literal 1338 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 literal 0 HcmV?d00001 diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/Documents/index.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/Documents/index.html new file mode 100644 index 000000000..39959bbb2 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/Documents/index.html @@ -0,0 +1,145 @@ + + + + SCSDKCameraKitReferenceSwiftUI Reference + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceSwiftUI 1.36.1 Docs + + (74% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+ +

CameraKit Reference SwiftUI iOS

+

Overview

+ +

SCSDKCameraKitReferenceSwiftUI is an optional SDK that provides SwiftUI wrappers around the UIKit elements provided in SCSDKCameraKitReferenceUI. As with SCSDKCameraKitReferenceUI this SDK also provides a fully-functional Camera view to use that has CameraKit set up and working with sample lenses.

+

Usage Philosophy

+ +

In general, SCSDKCameraKitReferenceSwiftUI follows the same design and usage philosophy as SCSDKCameraKitReferenceUI. This means that the UI elements in SCSDKCameraKitReferenceSwiftUI are intended to be used out-of-the-box and they provide customizations to tailor the behavior slightly (eg. changing the recording duration of the camera button). While the elements in SCSDKCameraKitReferenceSwiftUI are intended to be used in a modular fashion (eg. using carousel, camera buttuon, and recorder but own video preview), the elements aren’t designed to be as extensible and changeable as they are in SCSDKCameraKitReferenceUI since the SwiftUI elements are mostly wrappers around the UIKit elements.

+

Getting Started

+

Requirements

+ +

SCSDKCameraKitReferenceSwiftUI requires Swift, a minimum of iOS 13 (although some elements like the carousel require 14), and a 64 bit processor.

+

Dependency Management

+ +

CameraKit currently supports CocoaPods and Swift Package Manager.

+

CocoaPods

+ +

Add this line to your Podfile: +pod 'SCSDKCameraKitReferenceSwiftUI', :path => 'CameraKit/CameraKitReferenceSwiftUI' +where :path points to the directory that contains the camera kit sdk, podspec, etc.

+ +

Run pod install and open up your xcworkspace.

+

Swift Package Manager

+ +
    +
  • Drag and drop the CameraKit/CameraKitReferenceSwiftUI directory into your project or workspace.
  • +
  • Click the + button in the “Frameworks, Libraries, and Embedded Content” section, select SCSDKCameraKitReferenceSwiftUI, and add it as a dependency.
  • +
+ +

More detail can be found in Apple’s documentation.

+

Showing the Camera

+ +

At its most simplest form, SCSDKCameraKitReferenceUI contains a fully-setup camera that contains all UI elements (carousel, camera button, recorder, etc.) and hooks up to the core SCSDKCameraKit sdk to fetch and apply lenses to the camera. If you would like your app’s root view to be the camera, you can do so by doing the following in your app or scene delegate:

+
let cameraController = CameraController()
+cameraController.groupIDs = ["5685839489138688"]
+let view = CameraView(cameraController: CameraController)
+let cameraViewController = UIHostingController(rootView: view)
+window?.rootViewController = cameraViewController
+
+ +

where repoGroups is the list of group IDs added in Lens Scheduler to show in the carousel.

+ +
+
+ + +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/Documents/js/jazzy.js b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/Documents/js/jazzy.js new file mode 100755 index 000000000..198441660 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/Documents/js/jazzy.js @@ -0,0 +1,74 @@ +// Jazzy - https://github.com/realm/jazzy +// Copyright Realm Inc. +// SPDX-License-Identifier: MIT + +window.jazzy = {'docset': false} +if (typeof window.dash != 'undefined') { + document.documentElement.className += ' dash' + window.jazzy.docset = true +} +if (navigator.userAgent.match(/xcode/i)) { + document.documentElement.className += ' xcode' + window.jazzy.docset = true +} + +function toggleItem($link, $content) { + var animationDuration = 300; + $link.toggleClass('token-open'); + $content.slideToggle(animationDuration); +} + +function itemLinkToContent($link) { + return $link.parent().parent().next(); +} + +// On doc load + hash-change, open any targetted item +function openCurrentItemIfClosed() { + if (window.jazzy.docset) { + return; + } + var $link = $(`a[name="${location.hash.substring(1)}"]`).nextAll('.token'); + $content = itemLinkToContent($link); + if ($content.is(':hidden')) { + toggleItem($link, $content); + } +} + +$(openCurrentItemIfClosed); +$(window).on('hashchange', openCurrentItemIfClosed); + +// On item link ('token') click, toggle its discussion +$('.token').on('click', function(event) { + if (window.jazzy.docset) { + return; + } + var $link = $(this); + toggleItem($link, itemLinkToContent($link)); + + // Keeps the document from jumping to the hash. + var href = $link.attr('href'); + if (history.pushState) { + history.pushState({}, '', href); + } else { + location.hash = href; + } + event.preventDefault(); +}); + +// Clicks on links to the current, closed, item need to open the item +$("a:not('.token')").on('click', function() { + if (location == this.href) { + openCurrentItemIfClosed(); + } +}); + +// KaTeX rendering +if ("katex" in window) { + $($('.math').each( (_, element) => { + katex.render(element.textContent, element, { + displayMode: $(element).hasClass('m-block'), + throwOnError: false, + trust: true + }); + })) +} diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/Documents/js/jazzy.search.js b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/Documents/js/jazzy.search.js new file mode 100644 index 000000000..359cdbb8b --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/Documents/js/jazzy.search.js @@ -0,0 +1,74 @@ +// Jazzy - https://github.com/realm/jazzy +// Copyright Realm Inc. +// SPDX-License-Identifier: MIT + +$(function(){ + var $typeahead = $('[data-typeahead]'); + var $form = $typeahead.parents('form'); + var searchURL = $form.attr('action'); + + function displayTemplate(result) { + return result.name; + } + + function suggestionTemplate(result) { + var t = '
'; + t += '' + result.name + ''; + if (result.parent_name) { + t += '' + result.parent_name + ''; + } + t += '
'; + return t; + } + + $typeahead.one('focus', function() { + $form.addClass('loading'); + + $.getJSON(searchURL).then(function(searchData) { + const searchIndex = lunr(function() { + this.ref('url'); + this.field('name'); + this.field('abstract'); + for (const [url, doc] of Object.entries(searchData)) { + this.add({url: url, name: doc.name, abstract: doc.abstract}); + } + }); + + $typeahead.typeahead( + { + highlight: true, + minLength: 3, + autoselect: true + }, + { + limit: 10, + display: displayTemplate, + templates: { suggestion: suggestionTemplate }, + source: function(query, sync) { + const lcSearch = query.toLowerCase(); + const results = searchIndex.query(function(q) { + q.term(lcSearch, { boost: 100 }); + q.term(lcSearch, { + boost: 10, + wildcard: lunr.Query.wildcard.TRAILING + }); + }).map(function(result) { + var doc = searchData[result.ref]; + doc.url = result.ref; + return doc; + }); + sync(results); + } + } + ); + $form.removeClass('loading'); + $typeahead.trigger('focus'); + }); + }); + + var baseURL = searchURL.slice(0, -"search.json".length); + + $typeahead.on('typeahead:select', function(e, result) { + window.location = baseURL + result.url; + }); +}); diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/Documents/js/jquery.min.js b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/Documents/js/jquery.min.js new file mode 100644 index 000000000..c4c6022f2 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/Documents/js/jquery.min.js @@ -0,0 +1,2 @@ +/*! jQuery v3.6.0 | (c) OpenJS Foundation and other contributors | jquery.org/license */ +!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";var t=[],r=Object.getPrototypeOf,s=t.slice,g=t.flat?function(e){return t.flat.call(e)}:function(e){return t.concat.apply([],e)},u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType&&"function"!=typeof e.item},x=function(e){return null!=e&&e===e.window},E=C.document,c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.6.0",S=function(e,t){return new S.fn.init(e,t)};function p(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp(F),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+F),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\([^\\r\\n\\f])","g"),ne=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(p.childNodes),p.childNodes),t[p.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&(T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!N[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&(U.test(t)||z.test(t))){(f=ee.test(t)&&ye(e.parentNode)||e)===e&&d.scope||((s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=S)),o=(l=h(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+xe(l[o]);c=l.join(",")}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){N(t,!0)}finally{s===S&&e.removeAttribute("id")}}}return g(t.replace($,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[S]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e&&e.namespaceURI,n=e&&(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:p;return r!=C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),p!=C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.scope=ce(function(e){return a.appendChild(e).appendChild(C.createElement("div")),"undefined"!=typeof e.querySelectorAll&&!e.querySelectorAll(":scope fieldset div").length}),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=S,!C.getElementsByName||!C.getElementsByName(S).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){var t;a.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+S+"-]").length||v.push("~="),(t=C.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||v.push("\\["+M+"*name"+M+"*="+M+"*(?:''|\"\")"),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+S+"+*").length||v.push(".#.+[+~]"),e.querySelectorAll("\\\f"),v.push("[\\r\\n\\f]")}),ce(function(e){e.innerHTML="";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",F)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},j=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e==C||e.ownerDocument==p&&y(p,e)?-1:t==C||t.ownerDocument==p&&y(p,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e==C?-1:t==C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]==p?-1:s[r]==p?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if(T(e),d.matchesSelector&&E&&!N[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){N(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=m[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&m(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,n,r){return m(n)?S.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?S.grep(e,function(e){return e===n!==r}):"string"!=typeof n?S.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(S.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||D,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:q.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof S?t[0]:t,S.merge(this,S.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),N.test(r[1])&&S.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(S):S.makeArray(e,this)}).prototype=S.fn,D=S(E);var L=/^(?:parents|prev(?:Until|All))/,H={children:!0,contents:!0,next:!0,prev:!0};function O(e,t){while((e=e[t])&&1!==e.nodeType);return e}S.fn.extend({has:function(e){var t=S(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i;ce=E.createDocumentFragment().appendChild(E.createElement("div")),(fe=E.createElement("input")).setAttribute("type","radio"),fe.setAttribute("checked","checked"),fe.setAttribute("name","t"),ce.appendChild(fe),y.checkClone=ce.cloneNode(!0).cloneNode(!0).lastChild.checked,ce.innerHTML="",y.noCloneChecked=!!ce.cloneNode(!0).lastChild.defaultValue,ce.innerHTML="",y.option=!!ce.lastChild;var ge={thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};function ve(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?S.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;n",""]);var me=/<|&#?\w+;/;function xe(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d\s*$/g;function je(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&S(e).children("tbody")[0]||e}function De(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function qe(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Le(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(Y.hasData(e)&&(s=Y.get(e).events))for(i in Y.remove(t,"handle events"),s)for(n=0,r=s[i].length;n").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var _t,zt=[],Ut=/(=)\?(?=&|$)|\?\?/;S.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=zt.pop()||S.expando+"_"+wt.guid++;return this[e]=!0,e}}),S.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Ut.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Ut.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Ut,"$1"+r):!1!==e.jsonp&&(e.url+=(Tt.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||S.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?S(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,zt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((_t=E.implementation.createHTMLDocument("").body).innerHTML="
",2===_t.childNodes.length),S.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=N.exec(e))?[t.createElement(i[1])]:(i=xe([e],t,o),o&&o.length&&S(o).remove(),S.merge([],i.childNodes)));var r,i,o},S.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1").append(S.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},S.expr.pseudos.animated=function(t){return S.grep(S.timers,function(e){return t===e.elem}).length},S.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=S.css(e,"position"),c=S(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=S.css(e,"top"),u=S.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,S.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},S.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){S.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===S.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===S.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=S(e).offset()).top+=S.css(e,"borderTopWidth",!0),i.left+=S.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-S.css(r,"marginTop",!0),left:t.left-i.left-S.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===S.css(e,"position"))e=e.offsetParent;return e||re})}}),S.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;S.fn[t]=function(e){return $(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),S.each(["top","left"],function(e,n){S.cssHooks[n]=Fe(y.pixelPosition,function(e,t){if(t)return t=We(e,n),Pe.test(t)?S(e).position()[n]+"px":t})}),S.each({Height:"height",Width:"width"},function(a,s){S.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){S.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return $(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?S.css(e,t,i):S.style(e,t,n,i)},s,n?e:void 0,n)}})}),S.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){S.fn[t]=function(e){return this.on(t,e)}}),S.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),S.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){S.fn[n]=function(e,t){return 00){var c=e.utils.clone(r)||{};c.position=[a,l],c.index=s.length,s.push(new e.Token(i.slice(a,o),c))}a=o+1}}return s},e.tokenizer.separator=/[\s\-]+/,e.Pipeline=function(){this._stack=[]},e.Pipeline.registeredFunctions=Object.create(null),e.Pipeline.registerFunction=function(t,r){r in this.registeredFunctions&&e.utils.warn("Overwriting existing registered function: "+r),t.label=r,e.Pipeline.registeredFunctions[t.label]=t},e.Pipeline.warnIfFunctionNotRegistered=function(t){var r=t.label&&t.label in this.registeredFunctions;r||e.utils.warn("Function is not registered with pipeline. This may cause problems when serialising the index.\n",t)},e.Pipeline.load=function(t){var r=new e.Pipeline;return t.forEach(function(t){var i=e.Pipeline.registeredFunctions[t];if(!i)throw new Error("Cannot load unregistered function: "+t);r.add(i)}),r},e.Pipeline.prototype.add=function(){var t=Array.prototype.slice.call(arguments);t.forEach(function(t){e.Pipeline.warnIfFunctionNotRegistered(t),this._stack.push(t)},this)},e.Pipeline.prototype.after=function(t,r){e.Pipeline.warnIfFunctionNotRegistered(r);var i=this._stack.indexOf(t);if(i==-1)throw new Error("Cannot find existingFn");i+=1,this._stack.splice(i,0,r)},e.Pipeline.prototype.before=function(t,r){e.Pipeline.warnIfFunctionNotRegistered(r);var i=this._stack.indexOf(t);if(i==-1)throw new Error("Cannot find existingFn");this._stack.splice(i,0,r)},e.Pipeline.prototype.remove=function(e){var t=this._stack.indexOf(e);t!=-1&&this._stack.splice(t,1)},e.Pipeline.prototype.run=function(e){for(var t=this._stack.length,r=0;r1&&(se&&(r=n),s!=e);)i=r-t,n=t+Math.floor(i/2),s=this.elements[2*n];return s==e?2*n:s>e?2*n:sa?l+=2:o==a&&(t+=r[u+1]*i[l+1],u+=2,l+=2);return t},e.Vector.prototype.similarity=function(e){return this.dot(e)/this.magnitude()||0},e.Vector.prototype.toArray=function(){for(var e=new Array(this.elements.length/2),t=1,r=0;t0){var o,a=s.str.charAt(0);a in s.node.edges?o=s.node.edges[a]:(o=new e.TokenSet,s.node.edges[a]=o),1==s.str.length&&(o["final"]=!0),n.push({node:o,editsRemaining:s.editsRemaining,str:s.str.slice(1)})}if(0!=s.editsRemaining){if("*"in s.node.edges)var u=s.node.edges["*"];else{var u=new e.TokenSet;s.node.edges["*"]=u}if(0==s.str.length&&(u["final"]=!0),n.push({node:u,editsRemaining:s.editsRemaining-1,str:s.str}),s.str.length>1&&n.push({node:s.node,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)}),1==s.str.length&&(s.node["final"]=!0),s.str.length>=1){if("*"in s.node.edges)var l=s.node.edges["*"];else{var l=new e.TokenSet;s.node.edges["*"]=l}1==s.str.length&&(l["final"]=!0),n.push({node:l,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)})}if(s.str.length>1){var c,h=s.str.charAt(0),d=s.str.charAt(1);d in s.node.edges?c=s.node.edges[d]:(c=new e.TokenSet,s.node.edges[d]=c),1==s.str.length&&(c["final"]=!0),n.push({node:c,editsRemaining:s.editsRemaining-1,str:h+s.str.slice(2)})}}}return i},e.TokenSet.fromString=function(t){for(var r=new e.TokenSet,i=r,n=0,s=t.length;n=e;t--){var r=this.uncheckedNodes[t],i=r.child.toString();i in this.minimizedNodes?r.parent.edges[r["char"]]=this.minimizedNodes[i]:(r.child._str=i,this.minimizedNodes[i]=r.child),this.uncheckedNodes.pop()}},e.Index=function(e){this.invertedIndex=e.invertedIndex,this.fieldVectors=e.fieldVectors,this.tokenSet=e.tokenSet,this.fields=e.fields,this.pipeline=e.pipeline},e.Index.prototype.search=function(t){return this.query(function(r){var i=new e.QueryParser(t,r);i.parse()})},e.Index.prototype.query=function(t){for(var r=new e.Query(this.fields),i=Object.create(null),n=Object.create(null),s=Object.create(null),o=Object.create(null),a=Object.create(null),u=0;u1?this._b=1:this._b=e},e.Builder.prototype.k1=function(e){this._k1=e},e.Builder.prototype.add=function(t,r){var i=t[this._ref],n=Object.keys(this._fields);this._documents[i]=r||{},this.documentCount+=1;for(var s=0;s=this.length)return e.QueryLexer.EOS;var t=this.str.charAt(this.pos);return this.pos+=1,t},e.QueryLexer.prototype.width=function(){return this.pos-this.start},e.QueryLexer.prototype.ignore=function(){this.start==this.pos&&(this.pos+=1),this.start=this.pos},e.QueryLexer.prototype.backup=function(){this.pos-=1},e.QueryLexer.prototype.acceptDigitRun=function(){var t,r;do t=this.next(),r=t.charCodeAt(0);while(r>47&&r<58);t!=e.QueryLexer.EOS&&this.backup()},e.QueryLexer.prototype.more=function(){return this.pos1&&(t.backup(),t.emit(e.QueryLexer.TERM)),t.ignore(),t.more())return e.QueryLexer.lexText},e.QueryLexer.lexEditDistance=function(t){return t.ignore(),t.acceptDigitRun(),t.emit(e.QueryLexer.EDIT_DISTANCE),e.QueryLexer.lexText},e.QueryLexer.lexBoost=function(t){return t.ignore(),t.acceptDigitRun(),t.emit(e.QueryLexer.BOOST),e.QueryLexer.lexText},e.QueryLexer.lexEOS=function(t){t.width()>0&&t.emit(e.QueryLexer.TERM)},e.QueryLexer.termSeparator=e.tokenizer.separator,e.QueryLexer.lexText=function(t){for(;;){var r=t.next();if(r==e.QueryLexer.EOS)return e.QueryLexer.lexEOS;if(92!=r.charCodeAt(0)){if(":"==r)return e.QueryLexer.lexField;if("~"==r)return t.backup(),t.width()>0&&t.emit(e.QueryLexer.TERM),e.QueryLexer.lexEditDistance;if("^"==r)return t.backup(),t.width()>0&&t.emit(e.QueryLexer.TERM),e.QueryLexer.lexBoost;if("+"==r&&1===t.width())return t.emit(e.QueryLexer.PRESENCE),e.QueryLexer.lexText;if("-"==r&&1===t.width())return t.emit(e.QueryLexer.PRESENCE),e.QueryLexer.lexText;if(r.match(e.QueryLexer.termSeparator))return e.QueryLexer.lexTerm}else t.escapeCharacter()}},e.QueryParser=function(t,r){this.lexer=new e.QueryLexer(t),this.query=r,this.currentClause={},this.lexemeIdx=0},e.QueryParser.prototype.parse=function(){this.lexer.run(),this.lexemes=this.lexer.lexemes;for(var t=e.QueryParser.parseClause;t;)t=t(this);return this.query},e.QueryParser.prototype.peekLexeme=function(){return this.lexemes[this.lexemeIdx]},e.QueryParser.prototype.consumeLexeme=function(){var e=this.peekLexeme();return this.lexemeIdx+=1,e},e.QueryParser.prototype.nextClause=function(){var e=this.currentClause;this.query.clause(e),this.currentClause={}},e.QueryParser.parseClause=function(t){var r=t.peekLexeme();if(void 0!=r)switch(r.type){case e.QueryLexer.PRESENCE:return e.QueryParser.parsePresence;case e.QueryLexer.FIELD:return e.QueryParser.parseField;case e.QueryLexer.TERM:return e.QueryParser.parseTerm;default:var i="expected either a field or a term, found "+r.type;throw r.str.length>=1&&(i+=" with value '"+r.str+"'"),new e.QueryParseError(i,r.start,r.end)}},e.QueryParser.parsePresence=function(t){var r=t.consumeLexeme();if(void 0!=r){switch(r.str){case"-":t.currentClause.presence=e.Query.presence.PROHIBITED;break;case"+":t.currentClause.presence=e.Query.presence.REQUIRED;break;default:var i="unrecognised presence operator'"+r.str+"'";throw new e.QueryParseError(i,r.start,r.end)}var n=t.peekLexeme();if(void 0==n){var i="expecting term or field, found nothing";throw new e.QueryParseError(i,r.start,r.end)}switch(n.type){case e.QueryLexer.FIELD:return e.QueryParser.parseField;case e.QueryLexer.TERM:return e.QueryParser.parseTerm;default:var i="expecting term or field, found '"+n.type+"'";throw new e.QueryParseError(i,n.start,n.end)}}},e.QueryParser.parseField=function(t){var r=t.consumeLexeme();if(void 0!=r){if(t.query.allFields.indexOf(r.str)==-1){var i=t.query.allFields.map(function(e){return"'"+e+"'"}).join(", "),n="unrecognised field '"+r.str+"', possible fields: "+i;throw new e.QueryParseError(n,r.start,r.end)}t.currentClause.fields=[r.str];var s=t.peekLexeme();if(void 0==s){var n="expecting term, found nothing";throw new e.QueryParseError(n,r.start,r.end)}switch(s.type){case e.QueryLexer.TERM:return e.QueryParser.parseTerm;default:var n="expecting term, found '"+s.type+"'";throw new e.QueryParseError(n,s.start,s.end)}}},e.QueryParser.parseTerm=function(t){var r=t.consumeLexeme();if(void 0!=r){t.currentClause.term=r.str.toLowerCase(),r.str.indexOf("*")!=-1&&(t.currentClause.usePipeline=!1);var i=t.peekLexeme();if(void 0==i)return void t.nextClause();switch(i.type){case e.QueryLexer.TERM:return t.nextClause(),e.QueryParser.parseTerm;case e.QueryLexer.FIELD:return t.nextClause(),e.QueryParser.parseField;case e.QueryLexer.EDIT_DISTANCE:return e.QueryParser.parseEditDistance;case e.QueryLexer.BOOST:return e.QueryParser.parseBoost;case e.QueryLexer.PRESENCE:return t.nextClause(),e.QueryParser.parsePresence;default:var n="Unexpected lexeme type '"+i.type+"'";throw new e.QueryParseError(n,i.start,i.end)}}},e.QueryParser.parseEditDistance=function(t){var r=t.consumeLexeme();if(void 0!=r){var i=parseInt(r.str,10);if(isNaN(i)){var n="edit distance must be numeric";throw new e.QueryParseError(n,r.start,r.end)}t.currentClause.editDistance=i;var s=t.peekLexeme();if(void 0==s)return void t.nextClause();switch(s.type){case e.QueryLexer.TERM:return t.nextClause(),e.QueryParser.parseTerm;case e.QueryLexer.FIELD:return t.nextClause(),e.QueryParser.parseField;case e.QueryLexer.EDIT_DISTANCE:return e.QueryParser.parseEditDistance;case e.QueryLexer.BOOST:return e.QueryParser.parseBoost;case e.QueryLexer.PRESENCE:return t.nextClause(),e.QueryParser.parsePresence;default:var n="Unexpected lexeme type '"+s.type+"'";throw new e.QueryParseError(n,s.start,s.end)}}},e.QueryParser.parseBoost=function(t){var r=t.consumeLexeme();if(void 0!=r){var i=parseInt(r.str,10);if(isNaN(i)){var n="boost must be numeric";throw new e.QueryParseError(n,r.start,r.end)}t.currentClause.boost=i;var s=t.peekLexeme();if(void 0==s)return void t.nextClause();switch(s.type){case e.QueryLexer.TERM:return t.nextClause(),e.QueryParser.parseTerm;case e.QueryLexer.FIELD:return t.nextClause(),e.QueryParser.parseField;case e.QueryLexer.EDIT_DISTANCE:return e.QueryParser.parseEditDistance;case e.QueryLexer.BOOST:return e.QueryParser.parseBoost;case e.QueryLexer.PRESENCE:return t.nextClause(),e.QueryParser.parsePresence;default:var n="Unexpected lexeme type '"+s.type+"'";throw new e.QueryParseError(n,s.start,s.end)}}},function(e,t){"function"==typeof define&&define.amd?define(t):"object"==typeof exports?module.exports=t():e.lunr=t()}(this,function(){return e})}(); diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/Documents/js/typeahead.jquery.js b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/Documents/js/typeahead.jquery.js new file mode 100644 index 000000000..3a2d2ab03 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/Documents/js/typeahead.jquery.js @@ -0,0 +1,1694 @@ +/*! + * typeahead.js 1.3.1 + * https://github.com/corejavascript/typeahead.js + * Copyright 2013-2020 Twitter, Inc. and other contributors; Licensed MIT + */ + + +(function(root, factory) { + if (typeof define === "function" && define.amd) { + define([ "jquery" ], function(a0) { + return factory(a0); + }); + } else if (typeof module === "object" && module.exports) { + module.exports = factory(require("jquery")); + } else { + factory(root["jQuery"]); + } +})(this, function($) { + var _ = function() { + "use strict"; + return { + isMsie: function() { + return /(msie|trident)/i.test(navigator.userAgent) ? navigator.userAgent.match(/(msie |rv:)(\d+(.\d+)?)/i)[2] : false; + }, + isBlankString: function(str) { + return !str || /^\s*$/.test(str); + }, + escapeRegExChars: function(str) { + return str.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, "\\$&"); + }, + isString: function(obj) { + return typeof obj === "string"; + }, + isNumber: function(obj) { + return typeof obj === "number"; + }, + isArray: $.isArray, + isFunction: $.isFunction, + isObject: $.isPlainObject, + isUndefined: function(obj) { + return typeof obj === "undefined"; + }, + isElement: function(obj) { + return !!(obj && obj.nodeType === 1); + }, + isJQuery: function(obj) { + return obj instanceof $; + }, + toStr: function toStr(s) { + return _.isUndefined(s) || s === null ? "" : s + ""; + }, + bind: $.proxy, + each: function(collection, cb) { + $.each(collection, reverseArgs); + function reverseArgs(index, value) { + return cb(value, index); + } + }, + map: $.map, + filter: $.grep, + every: function(obj, test) { + var result = true; + if (!obj) { + return result; + } + $.each(obj, function(key, val) { + if (!(result = test.call(null, val, key, obj))) { + return false; + } + }); + return !!result; + }, + some: function(obj, test) { + var result = false; + if (!obj) { + return result; + } + $.each(obj, function(key, val) { + if (result = test.call(null, val, key, obj)) { + return false; + } + }); + return !!result; + }, + mixin: $.extend, + identity: function(x) { + return x; + }, + clone: function(obj) { + return $.extend(true, {}, obj); + }, + getIdGenerator: function() { + var counter = 0; + return function() { + return counter++; + }; + }, + templatify: function templatify(obj) { + return $.isFunction(obj) ? obj : template; + function template() { + return String(obj); + } + }, + defer: function(fn) { + setTimeout(fn, 0); + }, + debounce: function(func, wait, immediate) { + var timeout, result; + return function() { + var context = this, args = arguments, later, callNow; + later = function() { + timeout = null; + if (!immediate) { + result = func.apply(context, args); + } + }; + callNow = immediate && !timeout; + clearTimeout(timeout); + timeout = setTimeout(later, wait); + if (callNow) { + result = func.apply(context, args); + } + return result; + }; + }, + throttle: function(func, wait) { + var context, args, timeout, result, previous, later; + previous = 0; + later = function() { + previous = new Date(); + timeout = null; + result = func.apply(context, args); + }; + return function() { + var now = new Date(), remaining = wait - (now - previous); + context = this; + args = arguments; + if (remaining <= 0) { + clearTimeout(timeout); + timeout = null; + previous = now; + result = func.apply(context, args); + } else if (!timeout) { + timeout = setTimeout(later, remaining); + } + return result; + }; + }, + stringify: function(val) { + return _.isString(val) ? val : JSON.stringify(val); + }, + guid: function() { + function _p8(s) { + var p = (Math.random().toString(16) + "000000000").substr(2, 8); + return s ? "-" + p.substr(0, 4) + "-" + p.substr(4, 4) : p; + } + return "tt-" + _p8() + _p8(true) + _p8(true) + _p8(); + }, + noop: function() {} + }; + }(); + var WWW = function() { + "use strict"; + var defaultClassNames = { + wrapper: "twitter-typeahead", + input: "tt-input", + hint: "tt-hint", + menu: "tt-menu", + dataset: "tt-dataset", + suggestion: "tt-suggestion", + selectable: "tt-selectable", + empty: "tt-empty", + open: "tt-open", + cursor: "tt-cursor", + highlight: "tt-highlight" + }; + return build; + function build(o) { + var www, classes; + classes = _.mixin({}, defaultClassNames, o); + www = { + css: buildCss(), + classes: classes, + html: buildHtml(classes), + selectors: buildSelectors(classes) + }; + return { + css: www.css, + html: www.html, + classes: www.classes, + selectors: www.selectors, + mixin: function(o) { + _.mixin(o, www); + } + }; + } + function buildHtml(c) { + return { + wrapper: '', + menu: '
' + }; + } + function buildSelectors(classes) { + var selectors = {}; + _.each(classes, function(v, k) { + selectors[k] = "." + v; + }); + return selectors; + } + function buildCss() { + var css = { + wrapper: { + position: "relative", + display: "inline-block" + }, + hint: { + position: "absolute", + top: "0", + left: "0", + borderColor: "transparent", + boxShadow: "none", + opacity: "1" + }, + input: { + position: "relative", + verticalAlign: "top", + backgroundColor: "transparent" + }, + inputWithNoHint: { + position: "relative", + verticalAlign: "top" + }, + menu: { + position: "absolute", + top: "100%", + left: "0", + zIndex: "100", + display: "none" + }, + ltr: { + left: "0", + right: "auto" + }, + rtl: { + left: "auto", + right: " 0" + } + }; + if (_.isMsie()) { + _.mixin(css.input, { + backgroundImage: "url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)" + }); + } + return css; + } + }(); + var EventBus = function() { + "use strict"; + var namespace, deprecationMap; + namespace = "typeahead:"; + deprecationMap = { + render: "rendered", + cursorchange: "cursorchanged", + select: "selected", + autocomplete: "autocompleted" + }; + function EventBus(o) { + if (!o || !o.el) { + $.error("EventBus initialized without el"); + } + this.$el = $(o.el); + } + _.mixin(EventBus.prototype, { + _trigger: function(type, args) { + var $e = $.Event(namespace + type); + this.$el.trigger.call(this.$el, $e, args || []); + return $e; + }, + before: function(type) { + var args, $e; + args = [].slice.call(arguments, 1); + $e = this._trigger("before" + type, args); + return $e.isDefaultPrevented(); + }, + trigger: function(type) { + var deprecatedType; + this._trigger(type, [].slice.call(arguments, 1)); + if (deprecatedType = deprecationMap[type]) { + this._trigger(deprecatedType, [].slice.call(arguments, 1)); + } + } + }); + return EventBus; + }(); + var EventEmitter = function() { + "use strict"; + var splitter = /\s+/, nextTick = getNextTick(); + return { + onSync: onSync, + onAsync: onAsync, + off: off, + trigger: trigger + }; + function on(method, types, cb, context) { + var type; + if (!cb) { + return this; + } + types = types.split(splitter); + cb = context ? bindContext(cb, context) : cb; + this._callbacks = this._callbacks || {}; + while (type = types.shift()) { + this._callbacks[type] = this._callbacks[type] || { + sync: [], + async: [] + }; + this._callbacks[type][method].push(cb); + } + return this; + } + function onAsync(types, cb, context) { + return on.call(this, "async", types, cb, context); + } + function onSync(types, cb, context) { + return on.call(this, "sync", types, cb, context); + } + function off(types) { + var type; + if (!this._callbacks) { + return this; + } + types = types.split(splitter); + while (type = types.shift()) { + delete this._callbacks[type]; + } + return this; + } + function trigger(types) { + var type, callbacks, args, syncFlush, asyncFlush; + if (!this._callbacks) { + return this; + } + types = types.split(splitter); + args = [].slice.call(arguments, 1); + while ((type = types.shift()) && (callbacks = this._callbacks[type])) { + syncFlush = getFlush(callbacks.sync, this, [ type ].concat(args)); + asyncFlush = getFlush(callbacks.async, this, [ type ].concat(args)); + syncFlush() && nextTick(asyncFlush); + } + return this; + } + function getFlush(callbacks, context, args) { + return flush; + function flush() { + var cancelled; + for (var i = 0, len = callbacks.length; !cancelled && i < len; i += 1) { + cancelled = callbacks[i].apply(context, args) === false; + } + return !cancelled; + } + } + function getNextTick() { + var nextTickFn; + if (window.setImmediate) { + nextTickFn = function nextTickSetImmediate(fn) { + setImmediate(function() { + fn(); + }); + }; + } else { + nextTickFn = function nextTickSetTimeout(fn) { + setTimeout(function() { + fn(); + }, 0); + }; + } + return nextTickFn; + } + function bindContext(fn, context) { + return fn.bind ? fn.bind(context) : function() { + fn.apply(context, [].slice.call(arguments, 0)); + }; + } + }(); + var highlight = function(doc) { + "use strict"; + var defaults = { + node: null, + pattern: null, + tagName: "strong", + className: null, + wordsOnly: false, + caseSensitive: false, + diacriticInsensitive: false + }; + var accented = { + A: "[AaªÀ-Åà-åĀ-ąǍǎȀ-ȃȦȧᴬᵃḀḁẚẠ-ảₐ℀℁℻⒜Ⓐⓐ㍱-㍴㎀-㎄㎈㎉㎩-㎯㏂㏊㏟㏿Aa]", + B: "[BbᴮᵇḂ-ḇℬ⒝Ⓑⓑ㍴㎅-㎇㏃㏈㏔㏝Bb]", + C: "[CcÇçĆ-čᶜ℀ℂ℃℅℆ℭⅭⅽ⒞Ⓒⓒ㍶㎈㎉㎝㎠㎤㏄-㏇Cc]", + D: "[DdĎďDŽ-džDZ-dzᴰᵈḊ-ḓⅅⅆⅮⅾ⒟Ⓓⓓ㋏㍲㍷-㍹㎗㎭-㎯㏅㏈Dd]", + E: "[EeÈ-Ëè-ëĒ-ěȄ-ȇȨȩᴱᵉḘ-ḛẸ-ẽₑ℡ℯℰⅇ⒠Ⓔⓔ㉐㋍㋎Ee]", + F: "[FfᶠḞḟ℉ℱ℻⒡Ⓕⓕ㎊-㎌㎙ff-fflFf]", + G: "[GgĜ-ģǦǧǴǵᴳᵍḠḡℊ⒢Ⓖⓖ㋌㋍㎇㎍-㎏㎓㎬㏆㏉㏒㏿Gg]", + H: "[HhĤĥȞȟʰᴴḢ-ḫẖℋ-ℎ⒣Ⓗⓗ㋌㍱㎐-㎔㏊㏋㏗Hh]", + I: "[IiÌ-Ïì-ïĨ-İIJijǏǐȈ-ȋᴵᵢḬḭỈ-ịⁱℐℑℹⅈⅠ-ⅣⅥ-ⅨⅪⅫⅰ-ⅳⅵ-ⅸⅺⅻ⒤Ⓘⓘ㍺㏌㏕fiffiIi]", + J: "[JjIJ-ĵLJ-njǰʲᴶⅉ⒥ⒿⓙⱼJj]", + K: "[KkĶķǨǩᴷᵏḰ-ḵK⒦Ⓚⓚ㎄㎅㎉㎏㎑㎘㎞㎢㎦㎪㎸㎾㏀㏆㏍-㏏Kk]", + L: "[LlĹ-ŀLJ-ljˡᴸḶḷḺ-ḽℒℓ℡Ⅼⅼ⒧Ⓛⓛ㋏㎈㎉㏐-㏓㏕㏖㏿flfflLl]", + M: "[MmᴹᵐḾ-ṃ℠™ℳⅯⅿ⒨Ⓜⓜ㍷-㍹㎃㎆㎎㎒㎖㎙-㎨㎫㎳㎷㎹㎽㎿㏁㏂㏎㏐㏔-㏖㏘㏙㏞㏟Mm]", + N: "[NnÑñŃ-ʼnNJ-njǸǹᴺṄ-ṋⁿℕ№⒩Ⓝⓝ㎁㎋㎚㎱㎵㎻㏌㏑Nn]", + O: "[OoºÒ-Öò-öŌ-őƠơǑǒǪǫȌ-ȏȮȯᴼᵒỌ-ỏₒ℅№ℴ⒪Ⓞⓞ㍵㏇㏒㏖Oo]", + P: "[PpᴾᵖṔ-ṗℙ⒫Ⓟⓟ㉐㍱㍶㎀㎊㎩-㎬㎰㎴㎺㏋㏗-㏚Pp]", + Q: "[Qqℚ⒬Ⓠⓠ㏃Qq]", + R: "[RrŔ-řȐ-ȓʳᴿᵣṘ-ṛṞṟ₨ℛ-ℝ⒭Ⓡⓡ㋍㍴㎭-㎯㏚㏛Rr]", + S: "[SsŚ-šſȘșˢṠ-ṣ₨℁℠⒮Ⓢⓢ㎧㎨㎮-㎳㏛㏜stSs]", + T: "[TtŢ-ťȚțᵀᵗṪ-ṱẗ℡™⒯Ⓣⓣ㉐㋏㎔㏏ſtstTt]", + U: "[UuÙ-Üù-üŨ-ųƯưǓǔȔ-ȗᵁᵘᵤṲ-ṷỤ-ủ℆⒰Ⓤⓤ㍳㍺Uu]", + V: "[VvᵛᵥṼ-ṿⅣ-Ⅷⅳ-ⅷ⒱Ⓥⓥⱽ㋎㍵㎴-㎹㏜㏞Vv]", + W: "[WwŴŵʷᵂẀ-ẉẘ⒲Ⓦⓦ㎺-㎿㏝Ww]", + X: "[XxˣẊ-ẍₓ℻Ⅸ-Ⅻⅸ-ⅻ⒳Ⓧⓧ㏓Xx]", + Y: "[YyÝýÿŶ-ŸȲȳʸẎẏẙỲ-ỹ⒴Ⓨⓨ㏉Yy]", + Z: "[ZzŹ-žDZ-dzᶻẐ-ẕℤℨ⒵Ⓩⓩ㎐-㎔Zz]" + }; + return function hightlight(o) { + var regex; + o = _.mixin({}, defaults, o); + if (!o.node || !o.pattern) { + return; + } + o.pattern = _.isArray(o.pattern) ? o.pattern : [ o.pattern ]; + regex = getRegex(o.pattern, o.caseSensitive, o.wordsOnly, o.diacriticInsensitive); + traverse(o.node, hightlightTextNode); + function hightlightTextNode(textNode) { + var match, patternNode, wrapperNode; + if (match = regex.exec(textNode.data)) { + wrapperNode = doc.createElement(o.tagName); + o.className && (wrapperNode.className = o.className); + patternNode = textNode.splitText(match.index); + patternNode.splitText(match[0].length); + wrapperNode.appendChild(patternNode.cloneNode(true)); + textNode.parentNode.replaceChild(wrapperNode, patternNode); + } + return !!match; + } + function traverse(el, hightlightTextNode) { + var childNode, TEXT_NODE_TYPE = 3; + for (var i = 0; i < el.childNodes.length; i++) { + childNode = el.childNodes[i]; + if (childNode.nodeType === TEXT_NODE_TYPE) { + i += hightlightTextNode(childNode) ? 1 : 0; + } else { + traverse(childNode, hightlightTextNode); + } + } + } + }; + function accent_replacer(chr) { + return accented[chr.toUpperCase()] || chr; + } + function getRegex(patterns, caseSensitive, wordsOnly, diacriticInsensitive) { + var escapedPatterns = [], regexStr; + for (var i = 0, len = patterns.length; i < len; i++) { + var escapedWord = _.escapeRegExChars(patterns[i]); + if (diacriticInsensitive) { + escapedWord = escapedWord.replace(/\S/g, accent_replacer); + } + escapedPatterns.push(escapedWord); + } + regexStr = wordsOnly ? "\\b(" + escapedPatterns.join("|") + ")\\b" : "(" + escapedPatterns.join("|") + ")"; + return caseSensitive ? new RegExp(regexStr) : new RegExp(regexStr, "i"); + } + }(window.document); + var Input = function() { + "use strict"; + var specialKeyCodeMap; + specialKeyCodeMap = { + 9: "tab", + 27: "esc", + 37: "left", + 39: "right", + 13: "enter", + 38: "up", + 40: "down" + }; + function Input(o, www) { + var id; + o = o || {}; + if (!o.input) { + $.error("input is missing"); + } + www.mixin(this); + this.$hint = $(o.hint); + this.$input = $(o.input); + this.$menu = $(o.menu); + id = this.$input.attr("id") || _.guid(); + this.$menu.attr("id", id + "_listbox"); + this.$hint.attr({ + "aria-hidden": true + }); + this.$input.attr({ + "aria-owns": id + "_listbox", + role: "combobox", + "aria-autocomplete": "list", + "aria-expanded": false + }); + this.query = this.$input.val(); + this.queryWhenFocused = this.hasFocus() ? this.query : null; + this.$overflowHelper = buildOverflowHelper(this.$input); + this._checkLanguageDirection(); + if (this.$hint.length === 0) { + this.setHint = this.getHint = this.clearHint = this.clearHintIfInvalid = _.noop; + } + this.onSync("cursorchange", this._updateDescendent); + } + Input.normalizeQuery = function(str) { + return _.toStr(str).replace(/^\s*/g, "").replace(/\s{2,}/g, " "); + }; + _.mixin(Input.prototype, EventEmitter, { + _onBlur: function onBlur() { + this.resetInputValue(); + this.trigger("blurred"); + }, + _onFocus: function onFocus() { + this.queryWhenFocused = this.query; + this.trigger("focused"); + }, + _onKeydown: function onKeydown($e) { + var keyName = specialKeyCodeMap[$e.which || $e.keyCode]; + this._managePreventDefault(keyName, $e); + if (keyName && this._shouldTrigger(keyName, $e)) { + this.trigger(keyName + "Keyed", $e); + } + }, + _onInput: function onInput() { + this._setQuery(this.getInputValue()); + this.clearHintIfInvalid(); + this._checkLanguageDirection(); + }, + _managePreventDefault: function managePreventDefault(keyName, $e) { + var preventDefault; + switch (keyName) { + case "up": + case "down": + preventDefault = !withModifier($e); + break; + + default: + preventDefault = false; + } + preventDefault && $e.preventDefault(); + }, + _shouldTrigger: function shouldTrigger(keyName, $e) { + var trigger; + switch (keyName) { + case "tab": + trigger = !withModifier($e); + break; + + default: + trigger = true; + } + return trigger; + }, + _checkLanguageDirection: function checkLanguageDirection() { + var dir = (this.$input.css("direction") || "ltr").toLowerCase(); + if (this.dir !== dir) { + this.dir = dir; + this.$hint.attr("dir", dir); + this.trigger("langDirChanged", dir); + } + }, + _setQuery: function setQuery(val, silent) { + var areEquivalent, hasDifferentWhitespace; + areEquivalent = areQueriesEquivalent(val, this.query); + hasDifferentWhitespace = areEquivalent ? this.query.length !== val.length : false; + this.query = val; + if (!silent && !areEquivalent) { + this.trigger("queryChanged", this.query); + } else if (!silent && hasDifferentWhitespace) { + this.trigger("whitespaceChanged", this.query); + } + }, + _updateDescendent: function updateDescendent(event, id) { + this.$input.attr("aria-activedescendant", id); + }, + bind: function() { + var that = this, onBlur, onFocus, onKeydown, onInput; + onBlur = _.bind(this._onBlur, this); + onFocus = _.bind(this._onFocus, this); + onKeydown = _.bind(this._onKeydown, this); + onInput = _.bind(this._onInput, this); + this.$input.on("blur.tt", onBlur).on("focus.tt", onFocus).on("keydown.tt", onKeydown); + if (!_.isMsie() || _.isMsie() > 9) { + this.$input.on("input.tt", onInput); + } else { + this.$input.on("keydown.tt keypress.tt cut.tt paste.tt", function($e) { + if (specialKeyCodeMap[$e.which || $e.keyCode]) { + return; + } + _.defer(_.bind(that._onInput, that, $e)); + }); + } + return this; + }, + focus: function focus() { + this.$input.focus(); + }, + blur: function blur() { + this.$input.blur(); + }, + getLangDir: function getLangDir() { + return this.dir; + }, + getQuery: function getQuery() { + return this.query || ""; + }, + setQuery: function setQuery(val, silent) { + this.setInputValue(val); + this._setQuery(val, silent); + }, + hasQueryChangedSinceLastFocus: function hasQueryChangedSinceLastFocus() { + return this.query !== this.queryWhenFocused; + }, + getInputValue: function getInputValue() { + return this.$input.val(); + }, + setInputValue: function setInputValue(value) { + this.$input.val(value); + this.clearHintIfInvalid(); + this._checkLanguageDirection(); + }, + resetInputValue: function resetInputValue() { + this.setInputValue(this.query); + }, + getHint: function getHint() { + return this.$hint.val(); + }, + setHint: function setHint(value) { + this.$hint.val(value); + }, + clearHint: function clearHint() { + this.setHint(""); + }, + clearHintIfInvalid: function clearHintIfInvalid() { + var val, hint, valIsPrefixOfHint, isValid; + val = this.getInputValue(); + hint = this.getHint(); + valIsPrefixOfHint = val !== hint && hint.indexOf(val) === 0; + isValid = val !== "" && valIsPrefixOfHint && !this.hasOverflow(); + !isValid && this.clearHint(); + }, + hasFocus: function hasFocus() { + return this.$input.is(":focus"); + }, + hasOverflow: function hasOverflow() { + var constraint = this.$input.width() - 2; + this.$overflowHelper.text(this.getInputValue()); + return this.$overflowHelper.width() >= constraint; + }, + isCursorAtEnd: function() { + var valueLength, selectionStart, range; + valueLength = this.$input.val().length; + selectionStart = this.$input[0].selectionStart; + if (_.isNumber(selectionStart)) { + return selectionStart === valueLength; + } else if (document.selection) { + range = document.selection.createRange(); + range.moveStart("character", -valueLength); + return valueLength === range.text.length; + } + return true; + }, + destroy: function destroy() { + this.$hint.off(".tt"); + this.$input.off(".tt"); + this.$overflowHelper.remove(); + this.$hint = this.$input = this.$overflowHelper = $("
"); + }, + setAriaExpanded: function setAriaExpanded(value) { + this.$input.attr("aria-expanded", value); + } + }); + return Input; + function buildOverflowHelper($input) { + return $('').css({ + position: "absolute", + visibility: "hidden", + whiteSpace: "pre", + fontFamily: $input.css("font-family"), + fontSize: $input.css("font-size"), + fontStyle: $input.css("font-style"), + fontVariant: $input.css("font-variant"), + fontWeight: $input.css("font-weight"), + wordSpacing: $input.css("word-spacing"), + letterSpacing: $input.css("letter-spacing"), + textIndent: $input.css("text-indent"), + textRendering: $input.css("text-rendering"), + textTransform: $input.css("text-transform") + }).insertAfter($input); + } + function areQueriesEquivalent(a, b) { + return Input.normalizeQuery(a) === Input.normalizeQuery(b); + } + function withModifier($e) { + return $e.altKey || $e.ctrlKey || $e.metaKey || $e.shiftKey; + } + }(); + var Dataset = function() { + "use strict"; + var keys, nameGenerator; + keys = { + dataset: "tt-selectable-dataset", + val: "tt-selectable-display", + obj: "tt-selectable-object" + }; + nameGenerator = _.getIdGenerator(); + function Dataset(o, www) { + o = o || {}; + o.templates = o.templates || {}; + o.templates.notFound = o.templates.notFound || o.templates.empty; + if (!o.source) { + $.error("missing source"); + } + if (!o.node) { + $.error("missing node"); + } + if (o.name && !isValidName(o.name)) { + $.error("invalid dataset name: " + o.name); + } + www.mixin(this); + this.highlight = !!o.highlight; + this.name = _.toStr(o.name || nameGenerator()); + this.limit = o.limit || 5; + this.displayFn = getDisplayFn(o.display || o.displayKey); + this.templates = getTemplates(o.templates, this.displayFn); + this.source = o.source.__ttAdapter ? o.source.__ttAdapter() : o.source; + this.async = _.isUndefined(o.async) ? this.source.length > 2 : !!o.async; + this._resetLastSuggestion(); + this.$el = $(o.node).attr("role", "presentation").addClass(this.classes.dataset).addClass(this.classes.dataset + "-" + this.name); + } + Dataset.extractData = function extractData(el) { + var $el = $(el); + if ($el.data(keys.obj)) { + return { + dataset: $el.data(keys.dataset) || "", + val: $el.data(keys.val) || "", + obj: $el.data(keys.obj) || null + }; + } + return null; + }; + _.mixin(Dataset.prototype, EventEmitter, { + _overwrite: function overwrite(query, suggestions) { + suggestions = suggestions || []; + if (suggestions.length) { + this._renderSuggestions(query, suggestions); + } else if (this.async && this.templates.pending) { + this._renderPending(query); + } else if (!this.async && this.templates.notFound) { + this._renderNotFound(query); + } else { + this._empty(); + } + this.trigger("rendered", suggestions, false, this.name); + }, + _append: function append(query, suggestions) { + suggestions = suggestions || []; + if (suggestions.length && this.$lastSuggestion.length) { + this._appendSuggestions(query, suggestions); + } else if (suggestions.length) { + this._renderSuggestions(query, suggestions); + } else if (!this.$lastSuggestion.length && this.templates.notFound) { + this._renderNotFound(query); + } + this.trigger("rendered", suggestions, true, this.name); + }, + _renderSuggestions: function renderSuggestions(query, suggestions) { + var $fragment; + $fragment = this._getSuggestionsFragment(query, suggestions); + this.$lastSuggestion = $fragment.children().last(); + this.$el.html($fragment).prepend(this._getHeader(query, suggestions)).append(this._getFooter(query, suggestions)); + }, + _appendSuggestions: function appendSuggestions(query, suggestions) { + var $fragment, $lastSuggestion; + $fragment = this._getSuggestionsFragment(query, suggestions); + $lastSuggestion = $fragment.children().last(); + this.$lastSuggestion.after($fragment); + this.$lastSuggestion = $lastSuggestion; + }, + _renderPending: function renderPending(query) { + var template = this.templates.pending; + this._resetLastSuggestion(); + template && this.$el.html(template({ + query: query, + dataset: this.name + })); + }, + _renderNotFound: function renderNotFound(query) { + var template = this.templates.notFound; + this._resetLastSuggestion(); + template && this.$el.html(template({ + query: query, + dataset: this.name + })); + }, + _empty: function empty() { + this.$el.empty(); + this._resetLastSuggestion(); + }, + _getSuggestionsFragment: function getSuggestionsFragment(query, suggestions) { + var that = this, fragment; + fragment = document.createDocumentFragment(); + _.each(suggestions, function getSuggestionNode(suggestion) { + var $el, context; + context = that._injectQuery(query, suggestion); + $el = $(that.templates.suggestion(context)).data(keys.dataset, that.name).data(keys.obj, suggestion).data(keys.val, that.displayFn(suggestion)).addClass(that.classes.suggestion + " " + that.classes.selectable); + fragment.appendChild($el[0]); + }); + this.highlight && highlight({ + className: this.classes.highlight, + node: fragment, + pattern: query + }); + return $(fragment); + }, + _getFooter: function getFooter(query, suggestions) { + return this.templates.footer ? this.templates.footer({ + query: query, + suggestions: suggestions, + dataset: this.name + }) : null; + }, + _getHeader: function getHeader(query, suggestions) { + return this.templates.header ? this.templates.header({ + query: query, + suggestions: suggestions, + dataset: this.name + }) : null; + }, + _resetLastSuggestion: function resetLastSuggestion() { + this.$lastSuggestion = $(); + }, + _injectQuery: function injectQuery(query, obj) { + return _.isObject(obj) ? _.mixin({ + _query: query + }, obj) : obj; + }, + update: function update(query) { + var that = this, canceled = false, syncCalled = false, rendered = 0; + this.cancel(); + this.cancel = function cancel() { + canceled = true; + that.cancel = $.noop; + that.async && that.trigger("asyncCanceled", query, that.name); + }; + this.source(query, sync, async); + !syncCalled && sync([]); + function sync(suggestions) { + if (syncCalled) { + return; + } + syncCalled = true; + suggestions = (suggestions || []).slice(0, that.limit); + rendered = suggestions.length; + that._overwrite(query, suggestions); + if (rendered < that.limit && that.async) { + that.trigger("asyncRequested", query, that.name); + } + } + function async(suggestions) { + suggestions = suggestions || []; + if (!canceled && rendered < that.limit) { + that.cancel = $.noop; + var idx = Math.abs(rendered - that.limit); + rendered += idx; + that._append(query, suggestions.slice(0, idx)); + that.async && that.trigger("asyncReceived", query, that.name); + } + } + }, + cancel: $.noop, + clear: function clear() { + this._empty(); + this.cancel(); + this.trigger("cleared"); + }, + isEmpty: function isEmpty() { + return this.$el.is(":empty"); + }, + destroy: function destroy() { + this.$el = $("
"); + } + }); + return Dataset; + function getDisplayFn(display) { + display = display || _.stringify; + return _.isFunction(display) ? display : displayFn; + function displayFn(obj) { + return obj[display]; + } + } + function getTemplates(templates, displayFn) { + return { + notFound: templates.notFound && _.templatify(templates.notFound), + pending: templates.pending && _.templatify(templates.pending), + header: templates.header && _.templatify(templates.header), + footer: templates.footer && _.templatify(templates.footer), + suggestion: templates.suggestion ? userSuggestionTemplate : suggestionTemplate + }; + function userSuggestionTemplate(context) { + var template = templates.suggestion; + return $(template(context)).attr("id", _.guid()); + } + function suggestionTemplate(context) { + return $('
').attr("id", _.guid()).text(displayFn(context)); + } + } + function isValidName(str) { + return /^[_a-zA-Z0-9-]+$/.test(str); + } + }(); + var Menu = function() { + "use strict"; + function Menu(o, www) { + var that = this; + o = o || {}; + if (!o.node) { + $.error("node is required"); + } + www.mixin(this); + this.$node = $(o.node); + this.query = null; + this.datasets = _.map(o.datasets, initializeDataset); + function initializeDataset(oDataset) { + var node = that.$node.find(oDataset.node).first(); + oDataset.node = node.length ? node : $("
").appendTo(that.$node); + return new Dataset(oDataset, www); + } + } + _.mixin(Menu.prototype, EventEmitter, { + _onSelectableClick: function onSelectableClick($e) { + this.trigger("selectableClicked", $($e.currentTarget)); + }, + _onRendered: function onRendered(type, dataset, suggestions, async) { + this.$node.toggleClass(this.classes.empty, this._allDatasetsEmpty()); + this.trigger("datasetRendered", dataset, suggestions, async); + }, + _onCleared: function onCleared() { + this.$node.toggleClass(this.classes.empty, this._allDatasetsEmpty()); + this.trigger("datasetCleared"); + }, + _propagate: function propagate() { + this.trigger.apply(this, arguments); + }, + _allDatasetsEmpty: function allDatasetsEmpty() { + return _.every(this.datasets, _.bind(function isDatasetEmpty(dataset) { + var isEmpty = dataset.isEmpty(); + this.$node.attr("aria-expanded", !isEmpty); + return isEmpty; + }, this)); + }, + _getSelectables: function getSelectables() { + return this.$node.find(this.selectors.selectable); + }, + _removeCursor: function _removeCursor() { + var $selectable = this.getActiveSelectable(); + $selectable && $selectable.removeClass(this.classes.cursor); + }, + _ensureVisible: function ensureVisible($el) { + var elTop, elBottom, nodeScrollTop, nodeHeight; + elTop = $el.position().top; + elBottom = elTop + $el.outerHeight(true); + nodeScrollTop = this.$node.scrollTop(); + nodeHeight = this.$node.height() + parseInt(this.$node.css("paddingTop"), 10) + parseInt(this.$node.css("paddingBottom"), 10); + if (elTop < 0) { + this.$node.scrollTop(nodeScrollTop + elTop); + } else if (nodeHeight < elBottom) { + this.$node.scrollTop(nodeScrollTop + (elBottom - nodeHeight)); + } + }, + bind: function() { + var that = this, onSelectableClick; + onSelectableClick = _.bind(this._onSelectableClick, this); + this.$node.on("click.tt", this.selectors.selectable, onSelectableClick); + this.$node.on("mouseover", this.selectors.selectable, function() { + that.setCursor($(this)); + }); + this.$node.on("mouseleave", function() { + that._removeCursor(); + }); + _.each(this.datasets, function(dataset) { + dataset.onSync("asyncRequested", that._propagate, that).onSync("asyncCanceled", that._propagate, that).onSync("asyncReceived", that._propagate, that).onSync("rendered", that._onRendered, that).onSync("cleared", that._onCleared, that); + }); + return this; + }, + isOpen: function isOpen() { + return this.$node.hasClass(this.classes.open); + }, + open: function open() { + this.$node.scrollTop(0); + this.$node.addClass(this.classes.open); + }, + close: function close() { + this.$node.attr("aria-expanded", false); + this.$node.removeClass(this.classes.open); + this._removeCursor(); + }, + setLanguageDirection: function setLanguageDirection(dir) { + this.$node.attr("dir", dir); + }, + selectableRelativeToCursor: function selectableRelativeToCursor(delta) { + var $selectables, $oldCursor, oldIndex, newIndex; + $oldCursor = this.getActiveSelectable(); + $selectables = this._getSelectables(); + oldIndex = $oldCursor ? $selectables.index($oldCursor) : -1; + newIndex = oldIndex + delta; + newIndex = (newIndex + 1) % ($selectables.length + 1) - 1; + newIndex = newIndex < -1 ? $selectables.length - 1 : newIndex; + return newIndex === -1 ? null : $selectables.eq(newIndex); + }, + setCursor: function setCursor($selectable) { + this._removeCursor(); + if ($selectable = $selectable && $selectable.first()) { + $selectable.addClass(this.classes.cursor); + this._ensureVisible($selectable); + } + }, + getSelectableData: function getSelectableData($el) { + return $el && $el.length ? Dataset.extractData($el) : null; + }, + getActiveSelectable: function getActiveSelectable() { + var $selectable = this._getSelectables().filter(this.selectors.cursor).first(); + return $selectable.length ? $selectable : null; + }, + getTopSelectable: function getTopSelectable() { + var $selectable = this._getSelectables().first(); + return $selectable.length ? $selectable : null; + }, + update: function update(query) { + var isValidUpdate = query !== this.query; + if (isValidUpdate) { + this.query = query; + _.each(this.datasets, updateDataset); + } + return isValidUpdate; + function updateDataset(dataset) { + dataset.update(query); + } + }, + empty: function empty() { + _.each(this.datasets, clearDataset); + this.query = null; + this.$node.addClass(this.classes.empty); + function clearDataset(dataset) { + dataset.clear(); + } + }, + destroy: function destroy() { + this.$node.off(".tt"); + this.$node = $("
"); + _.each(this.datasets, destroyDataset); + function destroyDataset(dataset) { + dataset.destroy(); + } + } + }); + return Menu; + }(); + var Status = function() { + "use strict"; + function Status(options) { + this.$el = $("", { + role: "status", + "aria-live": "polite" + }).css({ + position: "absolute", + padding: "0", + border: "0", + height: "1px", + width: "1px", + "margin-bottom": "-1px", + "margin-right": "-1px", + overflow: "hidden", + clip: "rect(0 0 0 0)", + "white-space": "nowrap" + }); + options.$input.after(this.$el); + _.each(options.menu.datasets, _.bind(function(dataset) { + if (dataset.onSync) { + dataset.onSync("rendered", _.bind(this.update, this)); + dataset.onSync("cleared", _.bind(this.cleared, this)); + } + }, this)); + } + _.mixin(Status.prototype, { + update: function update(event, suggestions) { + var length = suggestions.length; + var words; + if (length === 1) { + words = { + result: "result", + is: "is" + }; + } else { + words = { + result: "results", + is: "are" + }; + } + this.$el.text(length + " " + words.result + " " + words.is + " available, use up and down arrow keys to navigate."); + }, + cleared: function() { + this.$el.text(""); + } + }); + return Status; + }(); + var DefaultMenu = function() { + "use strict"; + var s = Menu.prototype; + function DefaultMenu() { + Menu.apply(this, [].slice.call(arguments, 0)); + } + _.mixin(DefaultMenu.prototype, Menu.prototype, { + open: function open() { + !this._allDatasetsEmpty() && this._show(); + return s.open.apply(this, [].slice.call(arguments, 0)); + }, + close: function close() { + this._hide(); + return s.close.apply(this, [].slice.call(arguments, 0)); + }, + _onRendered: function onRendered() { + if (this._allDatasetsEmpty()) { + this._hide(); + } else { + this.isOpen() && this._show(); + } + return s._onRendered.apply(this, [].slice.call(arguments, 0)); + }, + _onCleared: function onCleared() { + if (this._allDatasetsEmpty()) { + this._hide(); + } else { + this.isOpen() && this._show(); + } + return s._onCleared.apply(this, [].slice.call(arguments, 0)); + }, + setLanguageDirection: function setLanguageDirection(dir) { + this.$node.css(dir === "ltr" ? this.css.ltr : this.css.rtl); + return s.setLanguageDirection.apply(this, [].slice.call(arguments, 0)); + }, + _hide: function hide() { + this.$node.hide(); + }, + _show: function show() { + this.$node.css("display", "block"); + } + }); + return DefaultMenu; + }(); + var Typeahead = function() { + "use strict"; + function Typeahead(o, www) { + var onFocused, onBlurred, onEnterKeyed, onTabKeyed, onEscKeyed, onUpKeyed, onDownKeyed, onLeftKeyed, onRightKeyed, onQueryChanged, onWhitespaceChanged; + o = o || {}; + if (!o.input) { + $.error("missing input"); + } + if (!o.menu) { + $.error("missing menu"); + } + if (!o.eventBus) { + $.error("missing event bus"); + } + www.mixin(this); + this.eventBus = o.eventBus; + this.minLength = _.isNumber(o.minLength) ? o.minLength : 1; + this.input = o.input; + this.menu = o.menu; + this.enabled = true; + this.autoselect = !!o.autoselect; + this.active = false; + this.input.hasFocus() && this.activate(); + this.dir = this.input.getLangDir(); + this._hacks(); + this.menu.bind().onSync("selectableClicked", this._onSelectableClicked, this).onSync("asyncRequested", this._onAsyncRequested, this).onSync("asyncCanceled", this._onAsyncCanceled, this).onSync("asyncReceived", this._onAsyncReceived, this).onSync("datasetRendered", this._onDatasetRendered, this).onSync("datasetCleared", this._onDatasetCleared, this); + onFocused = c(this, "activate", "open", "_onFocused"); + onBlurred = c(this, "deactivate", "_onBlurred"); + onEnterKeyed = c(this, "isActive", "isOpen", "_onEnterKeyed"); + onTabKeyed = c(this, "isActive", "isOpen", "_onTabKeyed"); + onEscKeyed = c(this, "isActive", "_onEscKeyed"); + onUpKeyed = c(this, "isActive", "open", "_onUpKeyed"); + onDownKeyed = c(this, "isActive", "open", "_onDownKeyed"); + onLeftKeyed = c(this, "isActive", "isOpen", "_onLeftKeyed"); + onRightKeyed = c(this, "isActive", "isOpen", "_onRightKeyed"); + onQueryChanged = c(this, "_openIfActive", "_onQueryChanged"); + onWhitespaceChanged = c(this, "_openIfActive", "_onWhitespaceChanged"); + this.input.bind().onSync("focused", onFocused, this).onSync("blurred", onBlurred, this).onSync("enterKeyed", onEnterKeyed, this).onSync("tabKeyed", onTabKeyed, this).onSync("escKeyed", onEscKeyed, this).onSync("upKeyed", onUpKeyed, this).onSync("downKeyed", onDownKeyed, this).onSync("leftKeyed", onLeftKeyed, this).onSync("rightKeyed", onRightKeyed, this).onSync("queryChanged", onQueryChanged, this).onSync("whitespaceChanged", onWhitespaceChanged, this).onSync("langDirChanged", this._onLangDirChanged, this); + } + _.mixin(Typeahead.prototype, { + _hacks: function hacks() { + var $input, $menu; + $input = this.input.$input || $("
"); + $menu = this.menu.$node || $("
"); + $input.on("blur.tt", function($e) { + var active, isActive, hasActive; + active = document.activeElement; + isActive = $menu.is(active); + hasActive = $menu.has(active).length > 0; + if (_.isMsie() && (isActive || hasActive)) { + $e.preventDefault(); + $e.stopImmediatePropagation(); + _.defer(function() { + $input.focus(); + }); + } + }); + $menu.on("mousedown.tt", function($e) { + $e.preventDefault(); + }); + }, + _onSelectableClicked: function onSelectableClicked(type, $el) { + this.select($el); + }, + _onDatasetCleared: function onDatasetCleared() { + this._updateHint(); + }, + _onDatasetRendered: function onDatasetRendered(type, suggestions, async, dataset) { + this._updateHint(); + if (this.autoselect) { + var cursorClass = this.selectors.cursor.substr(1); + this.menu.$node.find(this.selectors.suggestion).first().addClass(cursorClass); + } + this.eventBus.trigger("render", suggestions, async, dataset); + }, + _onAsyncRequested: function onAsyncRequested(type, dataset, query) { + this.eventBus.trigger("asyncrequest", query, dataset); + }, + _onAsyncCanceled: function onAsyncCanceled(type, dataset, query) { + this.eventBus.trigger("asynccancel", query, dataset); + }, + _onAsyncReceived: function onAsyncReceived(type, dataset, query) { + this.eventBus.trigger("asyncreceive", query, dataset); + }, + _onFocused: function onFocused() { + this._minLengthMet() && this.menu.update(this.input.getQuery()); + }, + _onBlurred: function onBlurred() { + if (this.input.hasQueryChangedSinceLastFocus()) { + this.eventBus.trigger("change", this.input.getQuery()); + } + }, + _onEnterKeyed: function onEnterKeyed(type, $e) { + var $selectable; + if ($selectable = this.menu.getActiveSelectable()) { + if (this.select($selectable)) { + $e.preventDefault(); + $e.stopPropagation(); + } + } else if (this.autoselect) { + if (this.select(this.menu.getTopSelectable())) { + $e.preventDefault(); + $e.stopPropagation(); + } + } + }, + _onTabKeyed: function onTabKeyed(type, $e) { + var $selectable; + if ($selectable = this.menu.getActiveSelectable()) { + this.select($selectable) && $e.preventDefault(); + } else if (this.autoselect) { + if ($selectable = this.menu.getTopSelectable()) { + this.autocomplete($selectable) && $e.preventDefault(); + } + } + }, + _onEscKeyed: function onEscKeyed() { + this.close(); + }, + _onUpKeyed: function onUpKeyed() { + this.moveCursor(-1); + }, + _onDownKeyed: function onDownKeyed() { + this.moveCursor(+1); + }, + _onLeftKeyed: function onLeftKeyed() { + if (this.dir === "rtl" && this.input.isCursorAtEnd()) { + this.autocomplete(this.menu.getActiveSelectable() || this.menu.getTopSelectable()); + } + }, + _onRightKeyed: function onRightKeyed() { + if (this.dir === "ltr" && this.input.isCursorAtEnd()) { + this.autocomplete(this.menu.getActiveSelectable() || this.menu.getTopSelectable()); + } + }, + _onQueryChanged: function onQueryChanged(e, query) { + this._minLengthMet(query) ? this.menu.update(query) : this.menu.empty(); + }, + _onWhitespaceChanged: function onWhitespaceChanged() { + this._updateHint(); + }, + _onLangDirChanged: function onLangDirChanged(e, dir) { + if (this.dir !== dir) { + this.dir = dir; + this.menu.setLanguageDirection(dir); + } + }, + _openIfActive: function openIfActive() { + this.isActive() && this.open(); + }, + _minLengthMet: function minLengthMet(query) { + query = _.isString(query) ? query : this.input.getQuery() || ""; + return query.length >= this.minLength; + }, + _updateHint: function updateHint() { + var $selectable, data, val, query, escapedQuery, frontMatchRegEx, match; + $selectable = this.menu.getTopSelectable(); + data = this.menu.getSelectableData($selectable); + val = this.input.getInputValue(); + if (data && !_.isBlankString(val) && !this.input.hasOverflow()) { + query = Input.normalizeQuery(val); + escapedQuery = _.escapeRegExChars(query); + frontMatchRegEx = new RegExp("^(?:" + escapedQuery + ")(.+$)", "i"); + match = frontMatchRegEx.exec(data.val); + match && this.input.setHint(val + match[1]); + } else { + this.input.clearHint(); + } + }, + isEnabled: function isEnabled() { + return this.enabled; + }, + enable: function enable() { + this.enabled = true; + }, + disable: function disable() { + this.enabled = false; + }, + isActive: function isActive() { + return this.active; + }, + activate: function activate() { + if (this.isActive()) { + return true; + } else if (!this.isEnabled() || this.eventBus.before("active")) { + return false; + } else { + this.active = true; + this.eventBus.trigger("active"); + return true; + } + }, + deactivate: function deactivate() { + if (!this.isActive()) { + return true; + } else if (this.eventBus.before("idle")) { + return false; + } else { + this.active = false; + this.close(); + this.eventBus.trigger("idle"); + return true; + } + }, + isOpen: function isOpen() { + return this.menu.isOpen(); + }, + open: function open() { + if (!this.isOpen() && !this.eventBus.before("open")) { + this.input.setAriaExpanded(true); + this.menu.open(); + this._updateHint(); + this.eventBus.trigger("open"); + } + return this.isOpen(); + }, + close: function close() { + if (this.isOpen() && !this.eventBus.before("close")) { + this.input.setAriaExpanded(false); + this.menu.close(); + this.input.clearHint(); + this.input.resetInputValue(); + this.eventBus.trigger("close"); + } + return !this.isOpen(); + }, + setVal: function setVal(val) { + this.input.setQuery(_.toStr(val)); + }, + getVal: function getVal() { + return this.input.getQuery(); + }, + select: function select($selectable) { + var data = this.menu.getSelectableData($selectable); + if (data && !this.eventBus.before("select", data.obj, data.dataset)) { + this.input.setQuery(data.val, true); + this.eventBus.trigger("select", data.obj, data.dataset); + this.close(); + return true; + } + return false; + }, + autocomplete: function autocomplete($selectable) { + var query, data, isValid; + query = this.input.getQuery(); + data = this.menu.getSelectableData($selectable); + isValid = data && query !== data.val; + if (isValid && !this.eventBus.before("autocomplete", data.obj, data.dataset)) { + this.input.setQuery(data.val); + this.eventBus.trigger("autocomplete", data.obj, data.dataset); + return true; + } + return false; + }, + moveCursor: function moveCursor(delta) { + var query, $candidate, data, suggestion, datasetName, cancelMove, id; + query = this.input.getQuery(); + $candidate = this.menu.selectableRelativeToCursor(delta); + data = this.menu.getSelectableData($candidate); + suggestion = data ? data.obj : null; + datasetName = data ? data.dataset : null; + id = $candidate ? $candidate.attr("id") : null; + this.input.trigger("cursorchange", id); + cancelMove = this._minLengthMet() && this.menu.update(query); + if (!cancelMove && !this.eventBus.before("cursorchange", suggestion, datasetName)) { + this.menu.setCursor($candidate); + if (data) { + if (typeof data.val === "string") { + this.input.setInputValue(data.val); + } + } else { + this.input.resetInputValue(); + this._updateHint(); + } + this.eventBus.trigger("cursorchange", suggestion, datasetName); + return true; + } + return false; + }, + destroy: function destroy() { + this.input.destroy(); + this.menu.destroy(); + } + }); + return Typeahead; + function c(ctx) { + var methods = [].slice.call(arguments, 1); + return function() { + var args = [].slice.call(arguments); + _.each(methods, function(method) { + return ctx[method].apply(ctx, args); + }); + }; + } + }(); + (function() { + "use strict"; + var old, keys, methods; + old = $.fn.typeahead; + keys = { + www: "tt-www", + attrs: "tt-attrs", + typeahead: "tt-typeahead" + }; + methods = { + initialize: function initialize(o, datasets) { + var www; + datasets = _.isArray(datasets) ? datasets : [].slice.call(arguments, 1); + o = o || {}; + www = WWW(o.classNames); + return this.each(attach); + function attach() { + var $input, $wrapper, $hint, $menu, defaultHint, defaultMenu, eventBus, input, menu, status, typeahead, MenuConstructor; + _.each(datasets, function(d) { + d.highlight = !!o.highlight; + }); + $input = $(this); + $wrapper = $(www.html.wrapper); + $hint = $elOrNull(o.hint); + $menu = $elOrNull(o.menu); + defaultHint = o.hint !== false && !$hint; + defaultMenu = o.menu !== false && !$menu; + defaultHint && ($hint = buildHintFromInput($input, www)); + defaultMenu && ($menu = $(www.html.menu).css(www.css.menu)); + $hint && $hint.val(""); + $input = prepInput($input, www); + if (defaultHint || defaultMenu) { + $wrapper.css(www.css.wrapper); + $input.css(defaultHint ? www.css.input : www.css.inputWithNoHint); + $input.wrap($wrapper).parent().prepend(defaultHint ? $hint : null).append(defaultMenu ? $menu : null); + } + MenuConstructor = defaultMenu ? DefaultMenu : Menu; + eventBus = new EventBus({ + el: $input + }); + input = new Input({ + hint: $hint, + input: $input, + menu: $menu + }, www); + menu = new MenuConstructor({ + node: $menu, + datasets: datasets + }, www); + status = new Status({ + $input: $input, + menu: menu + }); + typeahead = new Typeahead({ + input: input, + menu: menu, + eventBus: eventBus, + minLength: o.minLength, + autoselect: o.autoselect + }, www); + $input.data(keys.www, www); + $input.data(keys.typeahead, typeahead); + } + }, + isEnabled: function isEnabled() { + var enabled; + ttEach(this.first(), function(t) { + enabled = t.isEnabled(); + }); + return enabled; + }, + enable: function enable() { + ttEach(this, function(t) { + t.enable(); + }); + return this; + }, + disable: function disable() { + ttEach(this, function(t) { + t.disable(); + }); + return this; + }, + isActive: function isActive() { + var active; + ttEach(this.first(), function(t) { + active = t.isActive(); + }); + return active; + }, + activate: function activate() { + ttEach(this, function(t) { + t.activate(); + }); + return this; + }, + deactivate: function deactivate() { + ttEach(this, function(t) { + t.deactivate(); + }); + return this; + }, + isOpen: function isOpen() { + var open; + ttEach(this.first(), function(t) { + open = t.isOpen(); + }); + return open; + }, + open: function open() { + ttEach(this, function(t) { + t.open(); + }); + return this; + }, + close: function close() { + ttEach(this, function(t) { + t.close(); + }); + return this; + }, + select: function select(el) { + var success = false, $el = $(el); + ttEach(this.first(), function(t) { + success = t.select($el); + }); + return success; + }, + autocomplete: function autocomplete(el) { + var success = false, $el = $(el); + ttEach(this.first(), function(t) { + success = t.autocomplete($el); + }); + return success; + }, + moveCursor: function moveCursoe(delta) { + var success = false; + ttEach(this.first(), function(t) { + success = t.moveCursor(delta); + }); + return success; + }, + val: function val(newVal) { + var query; + if (!arguments.length) { + ttEach(this.first(), function(t) { + query = t.getVal(); + }); + return query; + } else { + ttEach(this, function(t) { + t.setVal(_.toStr(newVal)); + }); + return this; + } + }, + destroy: function destroy() { + ttEach(this, function(typeahead, $input) { + revert($input); + typeahead.destroy(); + }); + return this; + } + }; + $.fn.typeahead = function(method) { + if (methods[method]) { + return methods[method].apply(this, [].slice.call(arguments, 1)); + } else { + return methods.initialize.apply(this, arguments); + } + }; + $.fn.typeahead.noConflict = function noConflict() { + $.fn.typeahead = old; + return this; + }; + function ttEach($els, fn) { + $els.each(function() { + var $input = $(this), typeahead; + (typeahead = $input.data(keys.typeahead)) && fn(typeahead, $input); + }); + } + function buildHintFromInput($input, www) { + return $input.clone().addClass(www.classes.hint).removeData().css(www.css.hint).css(getBackgroundStyles($input)).prop({ + readonly: true, + required: false + }).removeAttr("id name placeholder").removeClass("required").attr({ + spellcheck: "false", + tabindex: -1 + }); + } + function prepInput($input, www) { + $input.data(keys.attrs, { + dir: $input.attr("dir"), + autocomplete: $input.attr("autocomplete"), + spellcheck: $input.attr("spellcheck"), + style: $input.attr("style") + }); + $input.addClass(www.classes.input).attr({ + spellcheck: false + }); + try { + !$input.attr("dir") && $input.attr("dir", "auto"); + } catch (e) {} + return $input; + } + function getBackgroundStyles($el) { + return { + backgroundAttachment: $el.css("background-attachment"), + backgroundClip: $el.css("background-clip"), + backgroundColor: $el.css("background-color"), + backgroundImage: $el.css("background-image"), + backgroundOrigin: $el.css("background-origin"), + backgroundPosition: $el.css("background-position"), + backgroundRepeat: $el.css("background-repeat"), + backgroundSize: $el.css("background-size") + }; + } + function revert($input) { + var www, $wrapper; + www = $input.data(keys.www); + $wrapper = $input.parent().filter(www.selectors.wrapper); + _.each($input.data(keys.attrs), function(val, key) { + _.isUndefined(val) ? $input.removeAttr(key) : $input.attr(key, val); + }); + $input.removeData(keys.typeahead).removeData(keys.www).removeData(keys.attr).removeClass(www.classes.input); + if ($wrapper.length) { + $input.detach().insertAfter($wrapper); + $wrapper.remove(); + } + } + function $elOrNull(obj) { + var isValid, $el; + isValid = _.isJQuery(obj) || _.isElement(obj); + $el = isValid ? $(obj).first() : []; + return $el.length ? $el : null; + } + })(); +}); \ No newline at end of file diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/Documents/search.json b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/Documents/search.json new file mode 100644 index 000000000..43208962f --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/Documents/search.json @@ -0,0 +1 @@ +{"Structs/VideoPreviewView.html#/s:30SCSDKCameraKitReferenceSwiftUI16VideoPreviewViewV5video16snapchatDelegateAC10Foundation3URLV_0abcE008SnapchatK0_pSgtcfc":{"name":"init(video:snapchatDelegate:)","abstract":"

Creates a preview view.

","parent_name":"VideoPreviewView"},"Structs/VideoPreviewView.html#/s:7SwiftUI29UIViewControllerRepresentableP04makecD07context0cD4TypeQzAA0cdE7ContextVyxG_tF":{"name":"makeUIViewController(context:)","parent_name":"VideoPreviewView"},"Structs/VideoPreviewView.html#/s:7SwiftUI29UIViewControllerRepresentableP06updatecD0_7contexty0cD4TypeQz_AA0cdE7ContextVyxGtF":{"name":"updateUIViewController(_:context:)","parent_name":"VideoPreviewView"},"Structs/PreviewView.html#/s:30SCSDKCameraKitReferenceSwiftUI11PreviewViewV06cameraB035automaticallyConfiguresTouchHandlerACSo08SCCameraB8Protocol_p_Sbtcfc":{"name":"init(cameraKit:automaticallyConfiguresTouchHandler:)","abstract":"

Initializes a preview view and connects it to a CameraKit session as an output

","parent_name":"PreviewView"},"Structs/PreviewView.html#/s:7SwiftUI19UIViewRepresentableP04makeC07context0C4TypeQzAA0cD7ContextVyxG_tF":{"name":"makeUIView(context:)","parent_name":"PreviewView"},"Structs/PreviewView.html#/s:7SwiftUI19UIViewRepresentableP06updateC0_7contexty0C4TypeQz_AA0cD7ContextVyxGtF":{"name":"updateUIView(_:context:)","parent_name":"PreviewView"},"Structs/MediaPickerView.html#/s:30SCSDKCameraKitReferenceSwiftUI15MediaPickerViewV8providerACSo08SCCamerab4LensfG8Provider_p_tcfc":{"name":"init(provider:)","abstract":"

Initializes the media picker view with a media picker provider

","parent_name":"MediaPickerView"},"Structs/MediaPickerView.html#/s:7SwiftUI4ViewP4body4BodyQzvp":{"name":"body","parent_name":"MediaPickerView"},"Structs/ImagePreviewView.html#/s:30SCSDKCameraKitReferenceSwiftUI16ImagePreviewViewV5image16snapchatDelegateACSo7UIImageC_0abcE008SnapchatK0_pSgtcfc":{"name":"init(image:snapchatDelegate:)","abstract":"

Creates a preview view.

","parent_name":"ImagePreviewView"},"Structs/ImagePreviewView.html#/s:7SwiftUI29UIViewControllerRepresentableP04makecD07context0cD4TypeQzAA0cdE7ContextVyxG_tF":{"name":"makeUIViewController(context:)","parent_name":"ImagePreviewView"},"Structs/ImagePreviewView.html#/s:7SwiftUI29UIViewControllerRepresentableP06updatecD0_7contexty0cD4TypeQz_AA0cdE7ContextVyxGtF":{"name":"updateUIViewController(_:context:)","parent_name":"ImagePreviewView"},"Structs/CarouselView/Coordinator.html#/s:25SCSDKCameraKitReferenceUI20CarouselViewDelegateP08carouselF0_9didSelect2atyAA0eF0C_AA0E4ItemCSitF":{"name":"carouselView(_:didSelect:at:)","parent_name":"Coordinator"},"Structs/CarouselView/Coordinator.html#/s:25SCSDKCameraKitReferenceUI22CarouselViewDataSourceP08itemsForeF0ySayAA0E4ItemCGAA0eF0CF":{"name":"itemsForCarouselView(_:)","parent_name":"Coordinator"},"Structs/CarouselView/Coordinator.html#/s:30SCSDKCameraKitReferenceSwiftUI12CarouselViewV11CoordinatorC4item3for0abcE00F4ItemCSo08SCCameraB4Lens_pSg_tF":{"name":"item(for:)","abstract":"

Undocumented

","parent_name":"Coordinator"},"Structs/CarouselView.html#/s:7SwiftUI19UIViewRepresentableP15makeCoordinator0F0QzyF":{"name":"makeCoordinator()","parent_name":"CarouselView"},"Structs/CarouselView.html#/s:7SwiftUI19UIViewRepresentableP04makeC07context0C4TypeQzAA0cD7ContextVyxG_tF":{"name":"makeUIView(context:)","parent_name":"CarouselView"},"Structs/CarouselView.html#/s:7SwiftUI19UIViewRepresentableP06updateC0_7contexty0C4TypeQz_AA0cD7ContextVyxGtF":{"name":"updateUIView(_:context:)","parent_name":"CarouselView"},"Structs/CarouselView/Coordinator.html":{"name":"Coordinator","parent_name":"CarouselView"},"Structs/CameraView.html#/s:30SCSDKCameraKitReferenceSwiftUI10CameraViewV16cameraControllerAC0abcE00fI0C_tcfc":{"name":"init(cameraController:)","abstract":"

Undocumented

","parent_name":"CameraView"},"Structs/CameraView.html#/s:7SwiftUI4ViewP4body4BodyQzvp":{"name":"body","parent_name":"CameraView"},"Structs/CameraButton/Coordinator.html#/s:25SCSDKCameraKitReferenceUI20CameraButtonDelegateP06cameraF6TappedyyAA0eF0CF":{"name":"cameraButtonTapped(_:)","parent_name":"Coordinator"},"Structs/CameraButton/Coordinator.html#/s:25SCSDKCameraKitReferenceUI20CameraButtonDelegateP06cameraF9HoldBeganyyAA0eF0CF":{"name":"cameraButtonHoldBegan(_:)","parent_name":"Coordinator"},"Structs/CameraButton/Coordinator.html#/s:25SCSDKCameraKitReferenceUI20CameraButtonDelegateP06cameraF13HoldCancelledyyAA0eF0CF":{"name":"cameraButtonHoldCancelled(_:)","parent_name":"Coordinator"},"Structs/CameraButton/Coordinator.html#/s:25SCSDKCameraKitReferenceUI20CameraButtonDelegateP06cameraF9HoldEndedyyAA0eF0CF":{"name":"cameraButtonHoldEnded(_:)","parent_name":"Coordinator"},"Structs/CameraButton.html#/s:7SwiftUI19UIViewRepresentableP15makeCoordinator0F0QzyF":{"name":"makeCoordinator()","parent_name":"CameraButton"},"Structs/CameraButton.html#/s:7SwiftUI19UIViewRepresentableP04makeC07context0C4TypeQzAA0cD7ContextVyxG_tF":{"name":"makeUIView(context:)","parent_name":"CameraButton"},"Structs/CameraButton.html#/s:7SwiftUI19UIViewRepresentableP06updateC0_7contexty0C4TypeQz_AA0cD7ContextVyxGtF":{"name":"updateUIView(_:context:)","parent_name":"CameraButton"},"Structs/CameraButton/Coordinator.html":{"name":"Coordinator","parent_name":"CameraButton"},"Structs/CameraButton.html":{"name":"CameraButton","abstract":"

Undocumented

"},"Structs/CameraView.html":{"name":"CameraView","abstract":"

Undocumented

"},"Structs/CarouselView.html":{"name":"CarouselView","abstract":"

Undocumented

"},"Structs/ImagePreviewView.html":{"name":"ImagePreviewView","abstract":"

Undocumented

"},"Structs/MediaPickerView.html":{"name":"MediaPickerView","abstract":"

Undocumented

"},"Structs/PreviewView.html":{"name":"PreviewView","abstract":"

Undocumented

"},"Structs/VideoPreviewView.html":{"name":"VideoPreviewView","abstract":"

Undocumented

"},"Classes/CameraViewState.html#/s:25SCSDKCameraKitReferenceUI26CameraControllerUIDelegateP06cameraF30RequestedActivityIndicatorShowyyAA0eF0CF":{"name":"cameraControllerRequestedActivityIndicatorShow(_:)","parent_name":"CameraViewState"},"Classes/CameraViewState.html#/s:25SCSDKCameraKitReferenceUI26CameraControllerUIDelegateP06cameraF30RequestedActivityIndicatorHideyyAA0eF0CF":{"name":"cameraControllerRequestedActivityIndicatorHide(_:)","parent_name":"CameraViewState"},"Classes/CameraViewState.html#/s:25SCSDKCameraKitReferenceUI26CameraControllerUIDelegateP06cameraF0_13updatedLensesyAA0eF0C_SaySo08SCCameraB4Lens_pGtF":{"name":"cameraController(_:updatedLenses:)","parent_name":"CameraViewState"},"Classes/CameraViewState.html#/s:25SCSDKCameraKitReferenceUI26CameraControllerUIDelegateP06cameraF0_20requestedHintDisplay3for8autohideyAA0eF0C_SSSo08SCCameraB4Lens_pSbtF":{"name":"cameraController(_:requestedHintDisplay:for:autohide:)","parent_name":"CameraViewState"},"Classes/CameraViewState.html#/s:25SCSDKCameraKitReferenceUI26CameraControllerUIDelegateP06cameraF0_20requestedHintHideForyAA0eF0C_So08SCCameraB4Lens_ptF":{"name":"cameraController(_:requestedHintHideFor:)","parent_name":"CameraViewState"},"Classes/CameraViewState.html#/s:25SCSDKCameraKitReferenceUI26CameraControllerUIDelegateP06cameraF22RequestedRingLightShowyyAA0eF0CF":{"name":"cameraControllerRequestedRingLightShow(_:)","parent_name":"CameraViewState"},"Classes/CameraViewState.html#/s:25SCSDKCameraKitReferenceUI26CameraControllerUIDelegateP06cameraF22RequestedRingLightHideyyAA0eF0CF":{"name":"cameraControllerRequestedRingLightHide(_:)","parent_name":"CameraViewState"},"Classes/CameraViewState.html#/s:25SCSDKCameraKitReferenceUI26CameraControllerUIDelegateP06cameraF25RequestedFlashControlHideyyAA0eF0CF":{"name":"cameraControllerRequestedFlashControlHide(_:)","parent_name":"CameraViewState"},"Classes/CameraViewState.html#/s:25SCSDKCameraKitReferenceUI26CameraControllerUIDelegateP06cameraF32RequestedSnapAttributionViewShowyyAA0eF0CF":{"name":"cameraControllerRequestedSnapAttributionViewShow(_:)","parent_name":"CameraViewState"},"Classes/CameraViewState.html#/s:25SCSDKCameraKitReferenceUI26CameraControllerUIDelegateP06cameraF32RequestedSnapAttributionViewHideyyAA0eF0CF":{"name":"cameraControllerRequestedSnapAttributionViewHide(_:)","parent_name":"CameraViewState"},"Classes/CameraViewState.html#/s:25SCSDKCameraKitReferenceUI26CameraControllerUIDelegateP06cameraf9RequestedE4FlipyyAA0eF0CF":{"name":"cameraControllerRequestedCameraFlip(_:)","parent_name":"CameraViewState"},"Classes/CameraViewState.html":{"name":"CameraViewState","abstract":"

Undocumented

"},"Classes.html":{"name":"Classes","abstract":"

The following classes are available globally.

"},"Structs.html":{"name":"Structures","abstract":"

The following structures are available globally.

"}} \ No newline at end of file diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/docSet.dsidx b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/docSet.dsidx new file mode 100644 index 0000000000000000000000000000000000000000..f1fbb9455fd744fce65eb106e5ee4e008655c1c3 GIT binary patch literal 28672 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 literal 0 HcmV?d00001 diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.tgz b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.tgz new file mode 100644 index 0000000000000000000000000000000000000000..ec5e29ecca2ca0aa35ff92a1c9576b173954d2e8 GIT binary patch literal 75926 zcmZs?Wl$a66F!K$y9R>0Yp~!1f;$8*79?13=i(Y1g1ftOad&rzi@Uqu&HLN>?|#^= z>N(Zj(^IFqXQofjb9yKuk)USML@l6T&pMFZ$(9@_(PE+G0tjiw{xVQl@zDNGJ8Jpu z22BoxL$ZM=G1Hm|=?RmGD;Umf&7)2o@0uB>s&AqXA+yX?-QvtUg(|Kk3LK z%Odk|PXS=zeHg2@F_^(g$Ex-2#iz`$#mLS&%Hua!ZYUbm>QsQ*(y4%6o+E(f@vaxe z_HzEsHS)`gvoQ7AX!rK=^5~P!7CYuPl(Io)D0w{{JaviaY-UwEMrNcIuJh)&JUi$D z&|X?a*hgPo0djniT{L!CF;LcCTQ~=z^+R(Ol9w|IPfM#YfV?nAVfO|0#eP7O_I;@E z5823}lxBGzCQ(dQRaN|5jGMC?!CY5GseE-Vz zhyq>%c2sm$G2@qVt7j>m)`kYW?OF{QT6QCG-Y>bs9^x}vlM<%JC0O6Atw>sD^xgcq zm%ppRT5%R`V?KFk>JXEC64H#F6*Lw`|G{W3B~Bc+>NT9O8Hg(=|{SNwFkq)qip zUJ;;(&DX{BD`Mn;sm?>3EQ|y{!b$@U!a!R@bm{5guoC zl>FNdCAs9wIY0E@?19`cMI($BKv>nxBUsg5yub;NSJ`^pQqesyEtV%$ldhFihnv*0r%R;Y!u}+y>FTP&8-6=hZQST1lnrHz zQcIqS0W=HCM`cqG`}~snbCZjEl?Po_~DXiSv1`AjJB(C(G>X6MnF9{LnmDL@Z zGLS(`4pGV^cWENTnVa4yoSDlfEDev`Jq%&%O!9QUt7Hk@P)U}dXe)U9`PPpyqFjVs zQzrJ-h20_&3VH1DLELPD0MEq0Z|oC+ufE=wfQ$3xTa!7U6%HxHdbckslys5giyP2= z>CsJb9@y$zbKwLEM>_Sov@bgqtrM;92H>;B0I-7#RZw6x#`FRN=`D2yMM@ci6N_Z- zyBA9XibimdEk8w-g&R^gX=Cf@HfR>*!BdF3 z!#Gv0u3*W|S{S^MO*_exT@?C;ud6ki*Kb{i)9S&ovysJTYFdlBq&>I@_6DdM+zh|y zjm{hp3nqVp=aUOHAB*}rKa&A3BkLB9wY7g8ol^f07K?k}fi6=bd+Bu+v~W3!@+X>u zfb^5TeH*Cs;x5kO(S4gV#Dj9rQ6Js3eQu!zcACGd2S}+bjyh{gBsW_P+vx=WYq;$U zzr^EqDtL=_El@A#yZw@MJ;)ktUFv!s%*Zh0Omp>`*dDN?CP`s6mx)2K5OVYT9Dqwd9}(+EiO+Ea_kTD%*uhmk>p#wv;Pck@~h`2GT6G zIhjfS6g`o)V>J-3TrUkHPpS`IQ)?-y_>@s5wZDxb{d2)65ijX1x2ScIdMXQx*Z6Z{ zoDWeM8ZWa+HHHPQ_KpKR*x4AAIbGRfYHF~1W#q0FeXoc?s$O+kL0MY=JmNu=bB~Bg z^(yQ|bXsaU9guI^#n=UXwO`bZdVy`YOFvRJDOE9bMrQspN)zMcs}cIzK%3HviG>U? z8bt@_eOC^+lCwhYWO1^U5f$`n+*8k9f#}#g1TA15L<`vvBWf-(0P(A4J? z^N!@9Z_nGhrZ5kRB!!=%w-Y5DfWG#)C3W{QVg{~Ca*=OADXmNlNz4uW=T>FbLxO*H z=NNYh4Fyhj%6;~0(A>GODC2FBm|f6H@4))UYK)I(+Z)K~;v;XaqCW8T9r9ZJAJ^sb0g1Z@@#HS)bt(Q+F2?ZYz5?LD zuD6g&R^HgPeh9Gd#Ygezqit)A-~)0xMB4LSUF{D6PI)TewnFaL1|dKLAayh3KK%xA zY1mbcya9PR--UoRqe|KvKY$8_d3EL=knQ{5|5*$5LBtw17lSTd}wh5zQrJc97sXgzEYK!A_tX5hcCkhaB8 z)d%!*+#Xun=D* z+G}Kcgltv<%KdAHNF3Mq+#>6L&gzk5f8N@VR@Em?o;5P{|Je9tW3n$^>)?^&`J*Xq zZggwspdN8acADy(wHH2Tfpw5)lvR9#YuU8^T1k8A?+DLG^^>%1x0-F>3YXWO?j$Da z09iP9o|N-#3c3F(jM*0xU#Mk)XUc-8;6*1zX4$OF4XkWz)rrHWBsiIcY4H(>TM(uo zED2iEed_dbiqcES`awgj=^B6kr;3|)87+@r|aPG2BRO5>vV)`A8}NB8wWKLg;+GhtbQH zHKOY>>(z!7Hg1#V$@kZY=_kJ-sw2_FrgSufhh;PIB zZEGYn%xUd9_M;Xmu{K`%^A&**2Pq|d0;X3w_j@q#;`kV&6Vgemjed0LJmCGx0C}I9 ztco_od>7g!zuw$>&DM8Vp>UPCLFdDaeODFy)b+t4_cD}R50lL&dQ={+r$p4y;Sf=$ zV@_GtHII5Ab<9+VBp9vLn3R#zdt}A)42LY6e-~b)kyKO{5xZ^qM7$t2_x+O$|B4jB z_yJkkVFN!GIH5lrk@rS1jw^f<*=rfaVJVg3tW zOF*aMOtx~epC?kbWN$HwD6@G0EHVsaTJY0rR+yijJPc86q=}?6Gk6AYzoa~VHPm(7 z=A@K=4me0*Mla-EEemn=SZO~Chh#`c|3v?hFiQ7#w|oi zbq>imf%=cHZ(D^GUw`iXP%^|R^pI~vr#HlA@QovMB8td6aJnHYVv)9i9hF+H`*g1l z+q{~4I546bkClBTUc1emBd56Tyv_Q`i37HWm}NycwLY14jrx94R@vBBGJQtkkCeV6 zv$2c+&`&fDAiTd`EWQ}`#;-25{#lqemG%pD)hL^#tuO-|I4$ke-sl6)eoZKJ!y?;a z+_CZ;_+FZLXiKVBJq(}HvIyFN%3(a|12UE5-&cNVhpcQZX+?;)!7UjnF#bqWh^2W; zttI!sN)P%N<k>_zbbROL4=_Sn*am$CCZ~ zH~-?aS)#ymV&sprCXZdG>CS=%!XEr6QYP1wFc7tFCu4hfIZ|M`R~|JrXQJ{=gtJgu@N{X3*`m3Y7QJ>tX#P@5#P(#OAlV zrCFHiI@wZ^*eHxVC;669FV5`8{+;|WT~V~ZAjRXUIZt&kq8FFgj#8M-Z~Xw}XY zlRjd8=m*GUS}CAok+i_c&Zp6xM3ti1_NSb0PK?+Zk5rLtAuFWpE5*Z6(Z!p^W^(?k z%{#grnN67!ynFpyHp8KY%g>i2y`O7-eH5W)DpIeBLpDbXP85`54_8iRqn6=$-oW0QJ+iaHau;#0=T~XEJzA2G%j_#OpY;g@ECj?cYOO zpAs<(;ZAM@B-r=haOOEq3m8@NMthB1C~`wIetny-!~Yv<2yFxxKUG?XPNV!2rDa`S zKs{CsfzFc|FB%Oi9_Cva_1}HX(N7*%KT9P(g-|N8j*M!qXDD{7J_ieP=tO7SmWD1N z)MWn6ZGvl*Icao+u_?B}a-WZmD`TZ2CeawU4b;i$1^ zg=bO67`CYM=rW3D;eDQi;<@*tM43wkP1rcGPgIHM{o6}<%;y;yNJTV)arTlhl|tul8ng-PI&i7>{{;77O6i1j#Z5p|!BP z*KkIieM;t zIU_bm!JTCQMoItW3!cwGLyZomcrtGLwb#nY>Tl(rBAkZzfX9}A;StU zOqshpft4D{mGsDRRTwP&ITZXYG8T=XZty6A>*SfG9)WYAq+cqXC?9A#EZH1HP?j*A1*orJv(`Ok)9YufII2_t~^%wi?)2v7x!u+I$Pr}(nOXs zqY9D|tUUJ3jaA+E-7uCMsj=`J+HNyCr-Xo!@Gn|!$ydz8^JYxUep7H+m`L&(szvxl zqp!avB~WKG1DuQXvoACP-zbKt8i5p~dyxL!TBXZpNUgi@Fk~g-ROZ>}$@ZO(F|%1b zL30((;DNN9$NKOGy(JoccmKQ`!$O!K_G!|0UWW9cumnEqh98NJU4wSQG@z68I*dPK zz*pDEndN?2Z}JkGx0&s-=@s8>?FX)3qj33k)v|=wmjXOgH-gum*qEoBD!TDsHA{{* z0&{!X7NIoo6=4hkD2$f>itMom%|Ev2Vs+R5^}?d$)+Xfe#LJa{*r zs}AjN#*^)^v!AS*zO_8w2r!EM2v(w=SkNoRCy!SjF|rZMbhVyYcFfem$gD%=BK1+` zIH<4%eyf?f`!ZxwPd{to8Q&i#B=`uaI2D7 zsVe_U#yu*V#uw2jxJ_h%Qx_Udi|!epG<5C&5j)dqoI&_Zro>f1!=nfweDU_%h%g|O z0+)AhAVnOlYbtEAtr%w!ZCh3~k~Y}QV%z+8rAp;sTlfuVEi!6=?FZm`(nHoic4}H^ zO0Qke-L8~VO+f(EOI8ZExnm~WMopitvDw5dU3bDAx+}8TeKB3bDaf@;Su3x<<{G7_ zh>RM9UeiL1Tlj;X*3pO=>)rKyCuaEJM=wuE!+WJp@*j}($v_$I9}va~uEpMu7d+ua zKDc$J76YRgH!8V4VLSxGb@x4kLJ%rW5LA8&o(A??!JfG>SWj{HX?S3w$0?Fm@qBBY zM6sT;J$;D>KRUQx#3B>jMcm3CFi#V=vA}yYG3Lg1Je|A1bCR8H$Nyu`Qe&>!UaMuJ zX=$RW=$MProx80tmU2oP5!&ok9NA!ok1GGj+eL z)%Kv8!fs)VL3`mmP#*-pMRb?ME3X}s1$t=eshKPKG`JD^KhUdr`umsiG+70nI?1cb ztQuO96}BgHC7sx4*Qot|ZxoG3PRrPj~#P)cFhZ?bPU{; zwa^Y@pFlgN*BbhcCf7D~oq$uiDv~|mwxH0@*Y5V}iwm`9z)KV}q&y!~{@-5YW(2f* z)FE)e@1rP#Wkq)3?(&a|^U(ix6=7e*8hh@*<8PNoQSf)*h;o8M2j z@O8L&+oN`J7f=lE%UF)br%3H{@>TiVO!}J~)R213q2w=Jrxkp6Fa=xB9UGv025+JC zA1#r4Ec|{4F+dqVsQSKF=eM;L57mDxt<0^ERzPeA8e8tg5DOWZ-*h7vy5(r}0^!B; zlhXBZgJk$>SuE$v9Dk}*Yi{i17+N@;1}ZUFw@Z}(hu0fHwL3q1(U(siSV?-_H$I<+ z_>E+OoR2;$qibWkzU!rHLkd1$5Ujf?!Z z$w$sA3SG{3+LA6?gp_9_2+|sBSzzacFE88Q=ks+~fLL>-QYmd7IjKm4OObbn-sR<8 ztXn!9)fY_%FDf)gZ9fN=3-w)^!#mBC0`;lW%cW)!XZ;HWe{x{0`)|2wE$as8A0Cx; zaTY84ov42sU0f>&VYn3^9qp>n>U~E_l);zJKY`V>mvKlG4seM~l)WGJq@)|Ao~H4q zW7IW1w8Wve)-F^y>RE{gqp*hkOk=JzwJZHn!T`Qqv>yJ-s)?=a=&Q2_1622dAuD#U zSA82s^?s%$Nx<`ODhY1NDLDzmBv2CH1h$kdl+)kT|5?5p%xHCFP~i@M{(Pf45J3 z(=GP#U2o#GiFVDJ@pNslb#>Zyzm!Bg9%SIkOtAk8;&7WjLcn-0c&AsnvjJoCE{=gC zZMQZ9=s8(0;(VUa_Wb7mG2&PMQ+wDR_%;9bIj8Y&p046Ur4e|(RQiSzF7&h|KR%owfPZ>+fSQKp zB=dc{_%7rpBlToHy8Ab_f;tO#M#Xprx_uq+UXAg_ogzaWT_C?edUj?;`A-C7sH_sG ztjh1~Ed#p;;#oAg8eA~qP4W}Srxx%Eli~Ai{+I0{16L31DXg?(hdb9{rSbGYzI3u&< zC$jrV&ywOZmNys-1i{lgp`hYxFfuN06!L}CaY>EhjH|MVmHdQPz{>NU=MhaRyeidC z{9;Cvxb`(53n+Pwdtiqt1OG6xvQKG8bkKT1&VZJZH zrr0v*pN6XfJ~53e;!?pSwu*b=SPM1Y^6^N8fmiu%E1`8UT`;&cz4ni6P3I67-F_e0 zCWUU=B_1CS+FKM@*kR&hkr|Wzqod&X;7g;9n#|~$h1~9Nq70!n)eg!9F}Zt8wfDgC z1MP_^AkR%@hL6!E(9Ny%4fsBo2?5WLo>u0!f=r+ccb_4ku#YNqO42jP(Zvzt7f3z* zBK{dV1xuAbNcb5TUG|5TUfwyk1>_+ZhyEhIb6TfLYl}aNEej z932`oA*`xi_a02jADPywtWB2rFYWCM>j=7OEDJIpeo|sd)K*;XaGJU; zuHHAr_J}jt#G>e{D*JD-mDSY4xy7QKN``)ghbyi5cP59>FyHgDTyTeznlUJtEqsWa zZ3W)fDJ_7-GP!l7ZJ8&ukeV`@;96>%N1BQT1b4% zHeKaK&*12JR11pq5y<5k+6@G>Q}+4&{YFymzuJGORjB>$^5h7q6H-IFRCEIoNyKP^ zg42hJ071E@6zmv4;d5x$V0TBV*I;kC+QXIj*`~94@_8{5pTU>dRuw{P)evs|jdA`r z62OxE)BP`#^%(jYv3FZLv46!rY*AwQjBn@-G!q zfRA_|YG|-JI`2Ru+Y){0%@e6><*@2^EPu9qQ)OThQ)Bn`f6J$9i1i*6|X#CyI7AJ8| z71%*vC6xeNiAatWhhuRO!=~n0)|~|R7-ASc{y@{6@0a@yYQFA#gHwevrnQ~l^5^?% zSKju#ZE-@7ppfk$`l+JM%rXQ1BqMZ8z3juBWggKp98VW%Icma5OIF`-BB{i0R3`AJ z%@ab0gO>Y^Wp;m_B#Dj;3mukSxYyMo#EaL(YnqQGB%%FXeNL5U6pg7(;gRO(^`_-z zX16U4DqNEQ?|f^&{boCg&t&_#(Wiv0pwMG(_KQ;DeefULICbiWxZzUlq155y8GWal zdh|(FVc6D(=45HgnutJ_);yH8!L!O8OUrc7<(*_+Bb$_N>2oi#kuFSi;g%$}u`=m3JehfM;vGr}&9`>=)nA z!ssOq$eJ5D>FY8Fq^%yr0BPg@v=zJiVg;?WW5*9bn;yzXt^0#9`cY{qHKFVaPw09~KY`QH*=LGzkI-J%b0D z5ud^0A8s+ptX0mt$2xU@A}3)!I>PSPK8KTb@9VQ9{WN%`?&c2NEs%{384^Ov)`tju z%a)Mqv15J9mYIY`*QEQkO)TQ4J%6tVWK=q#^S8aNfcSi_Itir_%^NuN-v8-pb-NrcCx>WK752`?R%*FBs!sN_yd8WH7co&HuEp6FZgImVf`J{AU!H zab=r=Yp81Own7sT^}77e|Kj{UuMaonih9$~e{Lu00GYAME><-@K!NZK@jtcm8!pp+ z`Ytg&d(AzA)0LpXW&}@)bOGSjAHRD)DW$495V#Z5wN;LQ-84QPGt*#v73#bBzr(Tj zwf^7nTNi%@3(>;AMGwP(#lyFRs0h93ivsOm|6GyB;dSEP_PS~OdcqjR07E11h(|Y* zUf6g~^U}Mic?vx1(!CsiEngkKyiJH1H@PR}Q$_CM-g|poK{ges$*8RsYK7 z@e)mCy}97#z?M}pAg7bdJiiGn;~#y2gK_p>n;BT{d;g2t;BM{mS$IQARuDg9W#E!l zNQg{D4bHi` z@nMBj@sA6gm3s^7A3u(%?o5se#`aE=(-wVMNA8UJF9rGFdQB5BtXxjl8(4AVqv3u9 zo@n==*9@7yai9=|4aBRrqR1P_1@SskCOi))grw{5Nl(;ij#??z7_{U+>PNR7icef>z; zZW*iX95FU!t^Ti(tT`28?q+2S_c8Tu0V_OEF(;0;0v5gUeJ-a!7zl#uM3iSPebxc~9MS2KUaXGkN0W3h_p|7+6a z`V47$xIKV$x#B#!sa+_K$C%;Pei8`~S#&}c3B4PYSG@62i|)J&0kNzVdkXvbqc4gC zzGda12w6ncrxaWN-AHh3F4;_k!$Vp7Zncw0Ef<&eH6OQ@OJ)j$?YE(f1BB=9zc;rjDfC#%dknfB^m$b(B9Xn zATP=MdM*IAi2`sl722l`ezvtIwB3!dWsHTT#brqS&uRp#2?KAOywE6M0-?t|(5POV zwJKtEKL4j1a6=s zQN7vvLpB>g$R87f36Fi*)T>9Ps|6V|f8C`^Nae?zV5H-tjb;nAtKN$^pn^rkM7f-; zo-q#`SI$!Dv%PQDZl{EuB0TlqFMOuXUiDOm94X614IQt++__*!Z2b1K9N5c+-dKAPY}VHIxh^dO}4E{-em62(oZ^nQxP z{p^n!`mu4je)}>lQcWlpOa40F0eIbbY~UX9y)%Jmf83CV()-?wt3v?lV+k(rVzuj! z9bJ$^X|nL^nOo}YFZX-(pcn$sZrRM6>|xRT9oX{2&H0{S0-~er#__Lqx=DrLeaIek zdA`4Zmo)hxZUB6Cks=Y-3mcg6V5FFzRAZ3mUms3b*!O67YtbeVo6`NjPXhAl z1!1m9`7Sx1g!skL$F}U8Wj%XKb=o6OM6ko%9`CY_e)dpBxJjG(%tY%5xKhn*q=vbq z41PxMU_Ac5vooABL%4pth(tuKpr8;}I2l$kF1t&wlo2-gC6Aokm;qZ$yZf^NhQf(z zeK58-m^pBfdh^!F5gLS$!oadOm03^nSHm=Cx>xVucE+8Cz(6M~txz)~W?!NFDUQur zOX4~|x@uH=AOK2n2b+UdnxkkOSwysV=87(!U@p9Nv#PW9Vmo(IoxC=y)4kok#KO$% zY`(OrYVsm_MhCPK0@%Pc*r4}Rx_5CI^4h(AvRn$!id(h>PhSm}s^?1<%j}qMI3Sx- zhLP1*SuUNk=<{=;ndi|lCz}acICe{EEt>H%AC_(#GdV{q`-@>dqRkFLX{tzZqzvJC z_*21VVEI4|n|aQqR?Ub1)?PyXyuPrpM0}v^jJ%yPoqn8x3m28{-6LVUh@274%0XG?PSEj_Oil0;#{!pb%El?%gtKWvtj$by<3N;*!}A~$W3uwo$%5o z4ssmVcuD5_0jYc)C+&Rx3w!ze2%Nn;=@Y|p6Eko-N3ZnCdcO1jyVoT=3%O4Klo$K@ zLYV7!K-n>wUo?j3OM%3qt%pk|hfnIEC0=W%Rl)k5&S&~l0FO7R4I!Y@LZoQQ(C9#1O)t&hn=;1)>Nx#z`YssY%5_z3`fYs)@rUVb_; zc@TO8o=RM9AA%pwz%!@HOQE=kz$5CekIXJTv5z;%o|yYn%SQP9ew**{@k>nC)okHq z`}K1u088x2i+u@l@&f$zJe|H$)d74sq}O&6gT%Oi$@4p(cBroxMQSA>uU&)6qUwOh zl!sJF_6(2XdWMM$7NK037r;a$&XaMR2dDbF?DKn9t&+;S;X4?2?HCMM{k(L1UE7K4 zjY{;Ma}2x+r10J`rFi{#?1E4LA&-!c%a03Yz{~8V?=I=p9>4GV67c#q8+gB<-SvKM z4}4M2e#sYm>r?i9+wFQ`?z*`Io`T9wD((Rn^j!LK>I!*(3!jRg_A|zdsq+%!PW8IL zDxt1&rU^B-msR$C1kWaeKh6%>$Tl8@fR4X> zS|Pv#JYOVZZs5P~#nIocAYOP~azM7e zm0gQ;T@yZYQ-IqZi}gf1-hyilPT2|R0L{hw=l5f>;2HOt-0l70laZK>S zZ`UQ3j<#As@Vdvzc}x|51J4=I*ZkgQuID(5qNCRHo&LqQ%&lw*?q@P?;!n7JF$yRZ z5}AkSSugP83SqX_YqAjDL&Br)-fBPdW4rYdx69-DFhk+ zt1q=p_vDG+FlvMFVxo|&0^FqmM?wQ$SK!{j@kYJVKO9a0wg zLh7?^+lG;q;jm>>-6;^f}}{ehj*SVRG6}qh2w+w$5#VguoDP#Lkb)i`KjK zBLJ{tAJzV8{uFYsda8c`d60z+Sp)%Hw%FOnFx|#QU!EXu`Hw$5wr{VC4=8N0lzs(s z8xf19dJmzd7RP)Xp;DYZcfZD@LGgTnb|-;;`bhxg{&(~B;c^o)dVS#bKrsw>TMul@ zdcB*`nUe+XjAZ9_dP8cfi$uv@j!0dBTe%7J;Jd%<8?Q-#_SdY}{Ojtlwl=*i;PVLk zkLTc5faS8!$pX8fm4J6m%>!BHYJG8>7`qJSS?Y?DpYbN?WU-R@=eq2Ye1v3UG+Z(EPqF@N>8b#|94GK7(7c(n1Fg~($0fTw5)Gf}mB)>b;r zJk&+>QmnqA?lyE;4q>^62!E`ANe}BQ6^q60kd2=^PqW`oLrtbo0VmHlWAxP(h9738 zeQs^O`^ho{qOZ}26asf^kR`zWrOjU|Za-o&Yn$_Q1-Bo>F%?}46 z*N>r(Q8ycHj(_0CHuK_)eQ%V-9;&0!-}m|`ATz+*N-=l#*J|K#HYRU7BzWdn<>FlI z`MT-D?xX|!>$uZvFIYQT829x-Uv%l21#(+^wQ=eDuFyr~JC|$U{%q0d4MrsKeJZz~ z%06x_F1#M?{ELVg(e`*I>fJ0T<`QSP0Xh|Fd-(Jcmp?(V*?9R|IsfTN?bmTL@`NbR zayeA&_uFgN-Ds5?kmX_S^*Q?p5_9?SQhW+t1&KbIEdk^xe8xVK#aw??U97YK41DJZ zNmr)4_tV|TpLb%s_qe<6L)bqaPCxEQbAA53LaT(L@8)I3kj)~*bVRpH!Df&H#Qz|A z7u^fv($hhE&iMN2!)Io2P--l6jbgdOYbKy*1zE8tfR6t@9Py*zxgN9eNBT<_pwl(y zwolnG_Pxy-6cgr-!@hjk$&PR# z6rH~61Ys&>jCa-kY(Cx!q;^51Ptzm8034kNP9t@b;i>Ob{p~o+j$kGCj;<}5_XRtI zlQlmK#PHS^yPZSkC0SkMkHGE6xydgWXFf|;ZXb6~2JD@unZ=@0zE2+%zC(bf4gTr3 z==(?Sk1nznq1RN{7*TS&=SB*T8`85**vpqKG4DIkhw6Xc|FSx<7hQI{euHWQJ__j} z>?C7=#(BeBHbS(~&%`c~iKTrK8zEm>y*$6Pbvyv< z-B@ZMO*;{v>W=NGl0Jq1 zcBq2t1fdL|@0fbiAWAZn!ng>pu17>R=y1~1kT?ahb(`Xs74o!Z{~Zb8P20UHKoXSv zuRTf0(wh02ii+j%r?h&)g}zc)N~fDzpq-xS_uh-7me1xAm9E$_V@x+Vw8#qcC3(a0 zVSHCwLDul9*cuUtt2zS7eu5mMsp<9Y#aqL4O#Kty&l0w5zk{ zAv6sYC3OT}`zp4GL!=FJdF+0LXbSis0?Z7j>F{(DYFlKvDn_la@rM#KLjkE|)wG#U zsbAyxf`qB{5BlXNEd$*_mUmi|re`%ax-X-c~y}nt?a7_svf| z&4O^7Zmc|pa#g=8!->iWNASJcZz3LGfBy)i60n zz3yRx_J%S6LsR(~lD4xsSXz9?7A*`W6f(rOTy>Ku^8FB286)*|bQ`7_5>rjuU?2?< zxj4ijx`yb@@RUEj_#ie^H@w9kPhAIlkeC_ZxPoIS;+j+-E(^1E?XW+YxMG zzF^6ZDX1>SL6b$|E5or_4rjUf zFkjRk5yM1tbuQ4ppvFeF1hLO)+IYV3-7+WxTQLYZB*Ny~d5w(&2wN1aWU_VL&R=7j zN8~m$fa~Z6HMCqT-#;Z4=nVhE%ooJv`gIgP^=6$RTjZ9UDra_6J_no-o1YIe=U*HW&&+l)^Dmj1ZCNJ6r+^$HG+D=5yX(S~Y^Z zKhk@pL~>-)%uIxc13yLhW+ojfuYD8i?lM>o;Wj@vxyK^s{#!@G?JzPuBBH)a1!)p{dTGSO&D{tXOB|Hut=J zq8Ed?Qc8>{hG9s9@WEn~+UT69}skBW9f2oFY^$s69MKR0=w({)#S&Upey zSFfQi&~fEV{Ing>dIei!m$c-2RxbB2$hVr2J(^3X#tkW}l;MM#^8^X=|X5s&b=6DpA$)qZ9ttwRw5rLpceMSdG-Nfq^ zjq|pGlVkKZ6>6V{Sjq>k1e(RX%+?5QsrwewpH}j8b(8 z7K>(@!mX{teo^A-97lBeSgorm!?5yQXa>Y}=-;(04H5idqpO zJspU5_X^8}adkjS1* zf_BMD0VZD5s+blvep?PCfria$Wf+fPJ46@Hjik&sO)FuqIcLN&w#$kwVnLP!S)bpb zp>O$FIBOZ=BpMsyf92%rpK>Y@9GQ2ra>W>wHLJG?$+SpbhDkSNukB-*imr>S7%f`H zugSI2Z1)wRpFY3dWgx@W;lpH0-JkpcuSZ4A_8a~PbDiqOLJs0&2)Rw{VvJUbmzk%2 znq)!B!d7uNw1{agS(?^Pygk#Mvk*4@aPN0iqilVLRn+GKU1kkiC`PFTgv(N#Pi826thPQqljIoVNiuOP zWb_-srrkuK$59;;9w>M z9DkgVR&Ay;)<*$BFEfE$=}X(mZPcK{Yja#K$L><<_quCZ_BqGv9hJNrOXWG`@01dyD7 zYe=6}go_7xu{uXKQ!rTWAt;xfPUFvq;pfy7H)h(WZ%nJlr>7)d6Bh+)dMV02uD5nH zG=+iyMkqAB1pfjf7!RN=RuH)86kr%-HNnMe8;F{aQ`RuX^|hDBc4_DLSDS2RB`CI--}*qvZu| zP6!o8MOtGdwrDCD3{r|hF0Be00gOa1&+`j{#}Hs|q(vn`+krY7=mfk@=Y)Cisc5hi zG-c(+88gPgJ)#?>`3RY#SVLu4_nkK7yf>poR{V4=#cN;&0pw@68>HEUX}c!f!+X}~ zRbY)?HO3W6wwXw97{C2X(6@kU+^~1y57>mJt&4hm&5l39C=df1Tussz@$kXULAxi# zW=PaFA}>jTVlFO$p(7;iaB$)T+N&h;3MPr^2Uvk&;NVvHFAi35zOC(q{wGduZ36?n z7W8f}!KknT2TtNJJIav7g1AvLRNx*5M^{MUAfTBda)qh*3@LMh!`8^sLWqa4m=`o7 z_Iqk&JPigeX3X~{ z6M-w_XjeV8a*3Zu)3QWF9P8fBbuOU2p2pdgs=n5t)*v`PPr7PA^))Gjv@gsn~klmUbot1ZiJwW zVBW*v0_Qs7=1^Eb_g%oDAZ8#)#E_~J*^a@}Vj4`Uq{^vQghLTPUNI<#yaid6n*_{d z4ovJU0%01#`oxjLVI~J|5*JdF^ijH9P0$I_Gfjk3`?3(i*Gzwk%SE1&MJWUVo>@aN zQ8e_K2nko~pCy)+A(+D{GU%2JI1keg?EJM1ru*hrZeUz%5~-^%7GnQQrKnuY2E zEd4+nG>krt?YWI!#tqYZHC2lB7AL;#cN_jHp+7S?2l56C{j+3TVCVsUaL0rxC8B1< zj22>MSi#^GPI5>SlsmQ~Gc`HGVOYt2pAzf<>9BX1#uC`N%r)eCE6xjhyv)FiHDH>9 zTQK%gV$DSZxy+#>?0_~SxMir}Qm(>KD&WkyxIzK0n2Yd0jx)TJ&Vh8DQf5HB+O6eX zt$_z8U@IW(Ed8Uep6THk`yTow%lG5B*caBEcPI-Kb3!Xb&N4bUAa5h6s3yg^9LQS| z@^m?3B<58)m5Bh8r5NbVF_u}uvGhCnV_{KPTk$l8)bwI<5w+iU?bx=vGum z91lQtIi7&PY{mF8P65B#j@}Vx=Q{`9ivlPZ6YreE5|XW_GS@D%&R4FeBTrVEO?yFR zSdmlQtS$np1AlYMlsJQ`fCL0uLmK|U-(ZB`|16MJT$3IwFP}wte~kxtu3$SP zaoNS6m^rFks+wzg4AV|$H# z8zdu|gq4neNik_5s%xy`XZiqGF#@!D7WrJkP?5D85`DqfcVIA+ zhO`LcNG<^&kxV9Fre6YJT48L=KN=_$L%&O zhz*9yQQiMBAe11E6}&GJT7tQ*>+8?6j^(D3jUx>}LJ-7nm{y@oR=F57awM0!A=bU* zSc)=@1&d!uT+};44u`X9W^z{_HSO3^Mabf^iij`bKe|(D3pei&5}(u~&-7*7VsVDs zpirrE^Z<{0T#wQ1lkM~|a^%y19!j(yhcR+@j9O5^y^xnud>+5*!ySXta^47;=qn%O zSyX?BXSk5ZgEZ@>qo&-=JppxREaBePwy4vG#x;f+&R$-?aQ`%kO8YiyLSi?yx@tCM zFJvSWWQMHjq1{q#iRq^~9e=;p;2pz;e4IAjZU-OQ?PiltE0O#HxBk;g^iEFla*l}) zBBV|7tKtz#7^_u2&DyVgYw}0QV6-3isTw&NX~(c|iK^4n(;0YW(bTb0h1P?IX9W*? zl0#RH9iuG!|Css9&9A=ib!Ln@xUs*4vu)6=U-J+S=P?jYU!(IOpFf>PN^upTYub<1 zZED&JYtTvui7WX~QjiFeJ}p_VSUO>j1+-Ko2CNZljg{`kZlKbB{F*t=CYBv6z($TI zkoF8pwFL}i2&!4$lyE7IH(#x;@{uKB?y9JrbC<;z3-WcJr?Ov3)${XWvb!tvE#qW~zZ%D@U_q$kmJ7qBUTSm6AmxLbi%_E{5lP%BapV znmHakZj49A+w`g?WK~44F_#%!EJrbN0-eeveKaX|!WDf<3SRFjfl(UG9XPULC+M_+ z$s1}_^a!@?!QoTM>N;uv3@I3MECG63TfC>ODb2C*rzxxS=5f;T-C?y0yfsK4^nGMn8K}EsaKY9yt*2Sqg(3dd~;k#^FGy>Wa%-` zm_(d`(M^+V#SsDBP+ZO_35Fg`k&=MjFa}&)osr1%N+{0?3}zH*q>NUg48Rpn6p|C6 z0u&G99{?tn=xUR&ZrqPFC5P0?Lb3@)Y&pj*&rJz4Xz*wxwtYyY#yteQp`vL9TLemhp^;2S<6B{7QaKk#* zz!sK2jp&=A#dpa3CLM_rkuh1(Q~9wK41#!CC|lPM4X&8CCyi=G4{(p@L**>VdP*`$ zJ=?8y)bx8y?y<95lS;xFssX}`COwWnFg!_!D{=-2HI;~(7gAzI6w*mW_X-mv;*aPH zDwy7a&+e2E?zUh&%SL(?%r|q@DB7(wNe-K#NJ*9|NQ#h>=OyvFkfwy?ydtP7)J#xx zyU}Dp62VxQ#0aNPEK%QfgmQySYmg_vbAkr^Hd4T3ZLr@|w!j&(aZ*DIgsdOvEA42C z;ET{x44X4uLXFcC9~q)6rbL_vxVT}Y{xOc_4Z%nW58=`V8@IT#K-Nt#MN-CqC=C83 z+(P4r08Lwh&*Xk0p!B6&Tr6E(J)!@JlUv=9EJ_|Fn{dfRa+g>E66Q+IeXkl0D`ok*`c5{HZ-Tlg>@;TayJ}n zWr^+>t6SO=s!&MF3788+EG15}_VmDvZ}hqGuOj3~R!ZUqJxC{t(-HJd6qtaFnGr?r z;c>h57(Y5F7gPg%SKX&e6?Xem+*BNc|M3}5c#9RLI%h!h!@nRs zrn<<#-MA0QF{g~8=tL4G?9f*gpdzlP;t#Uw$l5t0T`*nr#Hq5dxMU1VOIlX%0A86b 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

?hqc_3_{6#`~p-I3(qTiFOkppYwy9>b=xe$qQ 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 literal 0 HcmV?d00001 diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/img/carat.png b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/img/carat.png new file mode 100755 index 0000000000000000000000000000000000000000..29d2f7fd4955fca6bc6fb740e0373a2c358c398e GIT binary patch literal 274 zcmeAS@N?(olHy`uVBq!ia0vp^0zfRo!3HEV4DF?Wlw^r(L`iUdT1k0gQ7VIDN`6wR zf@f}GdTLN=VoGJ<$y6JlqAi{-jv*Ddl5#RKJQ5NTUZgiPI4RUKGIKU?u8L&ndhX1t za+0CMVUnT(Gnb}ei=c~x==tMH^F1_tBocXwcoSWoO-SZY-o>!8%^=Bms)(~h;m_U( zXNixk28L}0LS5-jKyq@#2gyS|J&f#pGCLkTc<@2s1dqeyqJ*Rc0tSIETAgmODY;(s z2y|Mcp&2}7rpBprBBB~1qM1`N+}4SoxYVPqsXi&l`rxZp{(w0iSy$Nv5*Vy!RapG^ S^0y4=eg;ohKbLh*2~7a!Pg}VF literal 0 HcmV?d00001 diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/img/dash.png b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/img/dash.png new file mode 100755 index 0000000000000000000000000000000000000000..6f694c7a012b417908da3687a0a39aa182e91c74 GIT binary patch literal 1338 zcmaJ>U2NM_6t){^r>#wcfL0VSTvuX@)$vd4#5N6WVkc|1rR}naMb)(7I5(};#!el# zbtCASsp?W-qE8zSJoFVdA%-T$WL8RI_B? zd+t5o`T5Q{p6=<|U$?VqCxRe#u}(PwSIl{LRKstfSbPYV7pzFiI$~t4QN;vEC}X4n z7RxDpAOV!j*w8ni4MAK3S~6v&;)g`l$axh<$7|>E5RD*h?RH*K2Y`j8L7%1v@%vZi za7@bt@uOUvisvQJuXPqpaHQCkREqd6M>0WG?6AwXR*T65ziuw$&~q$MS$o zfPyh>s<0l}mI@eh_hd(oB8*1tHZ@ojWl%QM;T+Jdm>k66jW?rZ#Atx!qns4-g&E4v z(=;FQ%W^avW?3J{L@2IeV>_(Ca)Lk1vm70uX*$9Rewm8!AxRF0BcZTNSFka?U@5u^ zDtpMY2lVtCmQm<8@|YxHuf`Qs(;a!QQ=g4=WngL}AQLr> z9JWrdsBIHKHXF!fSydodRsaOc@jgNkSU^x9kY&;UP<}3pZ{joC5f_Tevd>4eG~;)Y z=eZ~qp=5#aaUn*E3OES^BApKTU&mCAU>iEyt^S9?)&v0^j*SWDqjRZr20>6rTPSJ& zlzz0f);`}+^~w}lP1PK7Ew3f7ot#*uJ@>1Yo3J0TdsRKpA+*n9JnDXDrM~YvF`;uS|vAh|-QdmRf4AqG=`U z#v1n_Lxg8;&z#YCU2K`_W{-A zUf_|V)B9U(WZ~PP>)O(JZ|Vc-*qP&Q{MB!bsTr6|ge_{#vAVj^!DyNA-l zJ&$jDFNv;BTZXX@Qk-7+S5ErF>mkOcZ@lQv>F1VyCEMe2Ud@f<|L%#&QJi${E`2lR zqKFaW2Y$aTRxUY&ae$IHsN;Z;rdZ%CjYLTv!tMi234j-ON=CnvK-1QU|MG$YErn{gHZ@0Q6&?xSyply?S$EVNXH;gp?S5kV2-)$ga^gw`(f4Mm_Y(`RbgRkQTHF2@zL}dCiLk$RoZIc{xZL z_J*d5)Kb;#oKCFyfL*NGSs?y;e(QKvPJe1#G)h5*6E(?L9$nt?UaQJfP^$GDL0PU; z?r}C|);JQ4HES3w5VMlY7x6xfJAzDKlHE~>x;D`Fa=WygYot{pfFehH69o9pK|72W zwC6?t^AnATIJa=kewn=ep?Nk(aZ*pZo}51`S=^)jPRb`~l^VE}08>P3OJtQlXx1K8 z8Q}_u=F*fS;=k=?(fIv#+%811NTx8^}rHwvH%LbYmpFl9p1A{Idh@2x$ zuVp7)VD9}Uc(*(C**!QOdS(6B)$5^Tq5p3q*7un&_Z-NKEiEYg$D{Uq&sa>wj|za5 zJ6M~p)z+E6*X${8j6Ci+sqZ}zxeCAo0gZmZuhl+)Q%1U$Br_`NXcA-3yBdYMha+{o z{?q0Q(kaR2n`M29{!pwpgX6+CPQEgIO%x*0#!TC=c-ZPSkLO>OcmQUao5%-3w)U`F zRz?uGCEKQDh!TQPDmyd;iDX$TkMIe)%61q51Y2b-ie4r00!csilXgKL$txqj|6D(# z@(#!nQ}3R1JGeB3B5Tuqdvyg@*!-bq`9`pmasNGvy9^*+cd1Y*g>HK#rl7i79QQAG zl4SL_wW@WY1d+F?j0gFInGhsRrqvV3SKl{oqW+;9!fu|u@J)h4WM!0Cu02l@p60b#5M9c{dKh=_eRw~yl zWT0gw8RePzf%i8X&twiB|LF0bI@CYE{x1PI;Ylr4RJzU#Zc0j!c07g&q7=_eSd(sH z9VKChd?}^52IKcMqolAWiQH;HSp1Ploa$t zQhg|2sK;%Eb!By`)j9G1w?>`Wt6IK3gB}~uoue(MlRiIoZ#d{pgJZ8b{^{HO8)@%= zX)og3`*D5v1g;*Lz8@Sm(Q|&}PUytlb@Q_dzKFOzKK!Z_&?GO4+JO-)iPH=fs{(`& zZ9{oNn~LUZaeN!>i9p*0N^sHye8nw4xSi!REaP@@^Jy66|)Y9_AFoLlrlkg(42 zVq2J??I(+1*BcSKsTyO7LCho{8tVQm1b>*GQ*H~Mn71Lhy`alw%;D@CU^0)5Ng{cHz@LS7QZ o8uGHYt7)tmZjae5ge5$b`e_;HIklOseoIbqeod19BU-8d00{dbSpWb4 literal 0 HcmV?d00001 diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/index.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/index.html new file mode 100644 index 000000000..39959bbb2 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/index.html @@ -0,0 +1,145 @@ + + + + SCSDKCameraKitReferenceSwiftUI Reference + + + + + + + + + + + + + + + +

+

+ + SCSDKCameraKitReferenceSwiftUI 1.36.1 Docs + + (74% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+ +

CameraKit Reference SwiftUI iOS

+

Overview

+ +

SCSDKCameraKitReferenceSwiftUI is an optional SDK that provides SwiftUI wrappers around the UIKit elements provided in SCSDKCameraKitReferenceUI. As with SCSDKCameraKitReferenceUI this SDK also provides a fully-functional Camera view to use that has CameraKit set up and working with sample lenses.

+

Usage Philosophy

+ +

In general, SCSDKCameraKitReferenceSwiftUI follows the same design and usage philosophy as SCSDKCameraKitReferenceUI. This means that the UI elements in SCSDKCameraKitReferenceSwiftUI are intended to be used out-of-the-box and they provide customizations to tailor the behavior slightly (eg. changing the recording duration of the camera button). While the elements in SCSDKCameraKitReferenceSwiftUI are intended to be used in a modular fashion (eg. using carousel, camera buttuon, and recorder but own video preview), the elements aren’t designed to be as extensible and changeable as they are in SCSDKCameraKitReferenceUI since the SwiftUI elements are mostly wrappers around the UIKit elements.

+

Getting Started

+

Requirements

+ +

SCSDKCameraKitReferenceSwiftUI requires Swift, a minimum of iOS 13 (although some elements like the carousel require 14), and a 64 bit processor.

+

Dependency Management

+ +

CameraKit currently supports CocoaPods and Swift Package Manager.

+

CocoaPods

+ +

Add this line to your Podfile: +pod 'SCSDKCameraKitReferenceSwiftUI', :path => 'CameraKit/CameraKitReferenceSwiftUI' +where :path points to the directory that contains the camera kit sdk, podspec, etc.

+ +

Run pod install and open up your xcworkspace.

+

Swift Package Manager

+ +
    +
  • Drag and drop the CameraKit/CameraKitReferenceSwiftUI directory into your project or workspace.
  • +
  • Click the + button in the “Frameworks, Libraries, and Embedded Content” section, select SCSDKCameraKitReferenceSwiftUI, and add it as a dependency.
  • +
+ +

More detail can be found in Apple’s documentation.

+

Showing the Camera

+ +

At its most simplest form, SCSDKCameraKitReferenceUI contains a fully-setup camera that contains all UI elements (carousel, camera button, recorder, etc.) and hooks up to the core SCSDKCameraKit sdk to fetch and apply lenses to the camera. If you would like your app’s root view to be the camera, you can do so by doing the following in your app or scene delegate:

+
let cameraController = CameraController()
+cameraController.groupIDs = ["5685839489138688"]
+let view = CameraView(cameraController: CameraController)
+let cameraViewController = UIHostingController(rootView: view)
+window?.rootViewController = cameraViewController
+
+ +

where repoGroups is the list of group IDs added in Lens Scheduler to show in the carousel.

+ +
+
+ + +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/js/jazzy.js b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/js/jazzy.js new file mode 100755 index 000000000..198441660 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/js/jazzy.js @@ -0,0 +1,74 @@ +// Jazzy - https://github.com/realm/jazzy +// Copyright Realm Inc. +// SPDX-License-Identifier: MIT + +window.jazzy = {'docset': false} +if (typeof window.dash != 'undefined') { + document.documentElement.className += ' dash' + window.jazzy.docset = true +} +if (navigator.userAgent.match(/xcode/i)) { + document.documentElement.className += ' xcode' + window.jazzy.docset = true +} + +function toggleItem($link, $content) { + var animationDuration = 300; + $link.toggleClass('token-open'); + $content.slideToggle(animationDuration); +} + +function itemLinkToContent($link) { + return $link.parent().parent().next(); +} + +// On doc load + hash-change, open any targetted item +function openCurrentItemIfClosed() { + if (window.jazzy.docset) { + return; + } + var $link = $(`a[name="${location.hash.substring(1)}"]`).nextAll('.token'); + $content = itemLinkToContent($link); + if ($content.is(':hidden')) { + toggleItem($link, $content); + } +} + +$(openCurrentItemIfClosed); +$(window).on('hashchange', openCurrentItemIfClosed); + +// On item link ('token') click, toggle its discussion +$('.token').on('click', function(event) { + if (window.jazzy.docset) { + return; + } + var $link = $(this); + toggleItem($link, itemLinkToContent($link)); + + // Keeps the document from jumping to the hash. + var href = $link.attr('href'); + if (history.pushState) { + history.pushState({}, '', href); + } else { + location.hash = href; + } + event.preventDefault(); +}); + +// Clicks on links to the current, closed, item need to open the item +$("a:not('.token')").on('click', function() { + if (location == this.href) { + openCurrentItemIfClosed(); + } +}); + +// KaTeX rendering +if ("katex" in window) { + $($('.math').each( (_, element) => { + katex.render(element.textContent, element, { + displayMode: $(element).hasClass('m-block'), + throwOnError: false, + trust: true + }); + })) +} diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/js/jazzy.search.js b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/js/jazzy.search.js new file mode 100644 index 000000000..359cdbb8b --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/js/jazzy.search.js @@ -0,0 +1,74 @@ +// Jazzy - https://github.com/realm/jazzy +// Copyright Realm Inc. +// SPDX-License-Identifier: MIT + +$(function(){ + var $typeahead = $('[data-typeahead]'); + var $form = $typeahead.parents('form'); + var searchURL = $form.attr('action'); + + function displayTemplate(result) { + return result.name; + } + + function suggestionTemplate(result) { + var t = '
'; + t += '' + result.name + ''; + if (result.parent_name) { + t += '' + result.parent_name + ''; + } + t += '
'; + return t; + } + + $typeahead.one('focus', function() { + $form.addClass('loading'); + + $.getJSON(searchURL).then(function(searchData) { + const searchIndex = lunr(function() { + this.ref('url'); + this.field('name'); + this.field('abstract'); + for (const [url, doc] of Object.entries(searchData)) { + this.add({url: url, name: doc.name, abstract: doc.abstract}); + } + }); + + $typeahead.typeahead( + { + highlight: true, + minLength: 3, + autoselect: true + }, + { + limit: 10, + display: displayTemplate, + templates: { suggestion: suggestionTemplate }, + source: function(query, sync) { + const lcSearch = query.toLowerCase(); + const results = searchIndex.query(function(q) { + q.term(lcSearch, { boost: 100 }); + q.term(lcSearch, { + boost: 10, + wildcard: lunr.Query.wildcard.TRAILING + }); + }).map(function(result) { + var doc = searchData[result.ref]; + doc.url = result.ref; + return doc; + }); + sync(results); + } + } + ); + $form.removeClass('loading'); + $typeahead.trigger('focus'); + }); + }); + + var baseURL = searchURL.slice(0, -"search.json".length); + + $typeahead.on('typeahead:select', function(e, result) { + window.location = baseURL + result.url; + }); +}); diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/js/jquery.min.js b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/js/jquery.min.js new file mode 100644 index 000000000..c4c6022f2 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/js/jquery.min.js @@ -0,0 +1,2 @@ +/*! jQuery v3.6.0 | (c) OpenJS Foundation and other contributors | jquery.org/license */ +!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";var t=[],r=Object.getPrototypeOf,s=t.slice,g=t.flat?function(e){return t.flat.call(e)}:function(e){return t.concat.apply([],e)},u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType&&"function"!=typeof e.item},x=function(e){return null!=e&&e===e.window},E=C.document,c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.6.0",S=function(e,t){return new S.fn.init(e,t)};function p(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp(F),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+F),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\([^\\r\\n\\f])","g"),ne=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(p.childNodes),p.childNodes),t[p.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&(T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!N[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&(U.test(t)||z.test(t))){(f=ee.test(t)&&ye(e.parentNode)||e)===e&&d.scope||((s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=S)),o=(l=h(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+xe(l[o]);c=l.join(",")}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){N(t,!0)}finally{s===S&&e.removeAttribute("id")}}}return g(t.replace($,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[S]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e&&e.namespaceURI,n=e&&(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:p;return r!=C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),p!=C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.scope=ce(function(e){return a.appendChild(e).appendChild(C.createElement("div")),"undefined"!=typeof e.querySelectorAll&&!e.querySelectorAll(":scope fieldset div").length}),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=S,!C.getElementsByName||!C.getElementsByName(S).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){var t;a.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+S+"-]").length||v.push("~="),(t=C.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||v.push("\\["+M+"*name"+M+"*="+M+"*(?:''|\"\")"),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+S+"+*").length||v.push(".#.+[+~]"),e.querySelectorAll("\\\f"),v.push("[\\r\\n\\f]")}),ce(function(e){e.innerHTML="";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",F)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},j=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e==C||e.ownerDocument==p&&y(p,e)?-1:t==C||t.ownerDocument==p&&y(p,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e==C?-1:t==C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]==p?-1:s[r]==p?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if(T(e),d.matchesSelector&&E&&!N[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){N(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=m[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&m(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,n,r){return m(n)?S.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?S.grep(e,function(e){return e===n!==r}):"string"!=typeof n?S.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(S.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||D,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:q.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof S?t[0]:t,S.merge(this,S.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),N.test(r[1])&&S.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(S):S.makeArray(e,this)}).prototype=S.fn,D=S(E);var L=/^(?:parents|prev(?:Until|All))/,H={children:!0,contents:!0,next:!0,prev:!0};function O(e,t){while((e=e[t])&&1!==e.nodeType);return e}S.fn.extend({has:function(e){var t=S(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i;ce=E.createDocumentFragment().appendChild(E.createElement("div")),(fe=E.createElement("input")).setAttribute("type","radio"),fe.setAttribute("checked","checked"),fe.setAttribute("name","t"),ce.appendChild(fe),y.checkClone=ce.cloneNode(!0).cloneNode(!0).lastChild.checked,ce.innerHTML="",y.noCloneChecked=!!ce.cloneNode(!0).lastChild.defaultValue,ce.innerHTML="",y.option=!!ce.lastChild;var ge={thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};function ve(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?S.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;n",""]);var me=/<|&#?\w+;/;function xe(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d\s*$/g;function je(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&S(e).children("tbody")[0]||e}function De(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function qe(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Le(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(Y.hasData(e)&&(s=Y.get(e).events))for(i in Y.remove(t,"handle events"),s)for(n=0,r=s[i].length;n").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var _t,zt=[],Ut=/(=)\?(?=&|$)|\?\?/;S.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=zt.pop()||S.expando+"_"+wt.guid++;return this[e]=!0,e}}),S.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Ut.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Ut.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Ut,"$1"+r):!1!==e.jsonp&&(e.url+=(Tt.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||S.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?S(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,zt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((_t=E.implementation.createHTMLDocument("").body).innerHTML="
",2===_t.childNodes.length),S.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=N.exec(e))?[t.createElement(i[1])]:(i=xe([e],t,o),o&&o.length&&S(o).remove(),S.merge([],i.childNodes)));var r,i,o},S.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1").append(S.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},S.expr.pseudos.animated=function(t){return S.grep(S.timers,function(e){return t===e.elem}).length},S.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=S.css(e,"position"),c=S(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=S.css(e,"top"),u=S.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,S.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},S.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){S.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===S.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===S.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=S(e).offset()).top+=S.css(e,"borderTopWidth",!0),i.left+=S.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-S.css(r,"marginTop",!0),left:t.left-i.left-S.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===S.css(e,"position"))e=e.offsetParent;return e||re})}}),S.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;S.fn[t]=function(e){return $(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),S.each(["top","left"],function(e,n){S.cssHooks[n]=Fe(y.pixelPosition,function(e,t){if(t)return t=We(e,n),Pe.test(t)?S(e).position()[n]+"px":t})}),S.each({Height:"height",Width:"width"},function(a,s){S.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){S.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return $(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?S.css(e,t,i):S.style(e,t,n,i)},s,n?e:void 0,n)}})}),S.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){S.fn[t]=function(e){return this.on(t,e)}}),S.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),S.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){S.fn[n]=function(e,t){return 00){var c=e.utils.clone(r)||{};c.position=[a,l],c.index=s.length,s.push(new e.Token(i.slice(a,o),c))}a=o+1}}return s},e.tokenizer.separator=/[\s\-]+/,e.Pipeline=function(){this._stack=[]},e.Pipeline.registeredFunctions=Object.create(null),e.Pipeline.registerFunction=function(t,r){r in this.registeredFunctions&&e.utils.warn("Overwriting existing registered function: "+r),t.label=r,e.Pipeline.registeredFunctions[t.label]=t},e.Pipeline.warnIfFunctionNotRegistered=function(t){var r=t.label&&t.label in this.registeredFunctions;r||e.utils.warn("Function is not registered with pipeline. This may cause problems when serialising the index.\n",t)},e.Pipeline.load=function(t){var r=new e.Pipeline;return t.forEach(function(t){var i=e.Pipeline.registeredFunctions[t];if(!i)throw new Error("Cannot load unregistered function: "+t);r.add(i)}),r},e.Pipeline.prototype.add=function(){var t=Array.prototype.slice.call(arguments);t.forEach(function(t){e.Pipeline.warnIfFunctionNotRegistered(t),this._stack.push(t)},this)},e.Pipeline.prototype.after=function(t,r){e.Pipeline.warnIfFunctionNotRegistered(r);var i=this._stack.indexOf(t);if(i==-1)throw new Error("Cannot find existingFn");i+=1,this._stack.splice(i,0,r)},e.Pipeline.prototype.before=function(t,r){e.Pipeline.warnIfFunctionNotRegistered(r);var i=this._stack.indexOf(t);if(i==-1)throw new Error("Cannot find existingFn");this._stack.splice(i,0,r)},e.Pipeline.prototype.remove=function(e){var t=this._stack.indexOf(e);t!=-1&&this._stack.splice(t,1)},e.Pipeline.prototype.run=function(e){for(var t=this._stack.length,r=0;r1&&(se&&(r=n),s!=e);)i=r-t,n=t+Math.floor(i/2),s=this.elements[2*n];return s==e?2*n:s>e?2*n:sa?l+=2:o==a&&(t+=r[u+1]*i[l+1],u+=2,l+=2);return t},e.Vector.prototype.similarity=function(e){return this.dot(e)/this.magnitude()||0},e.Vector.prototype.toArray=function(){for(var e=new Array(this.elements.length/2),t=1,r=0;t0){var o,a=s.str.charAt(0);a in s.node.edges?o=s.node.edges[a]:(o=new e.TokenSet,s.node.edges[a]=o),1==s.str.length&&(o["final"]=!0),n.push({node:o,editsRemaining:s.editsRemaining,str:s.str.slice(1)})}if(0!=s.editsRemaining){if("*"in s.node.edges)var u=s.node.edges["*"];else{var u=new e.TokenSet;s.node.edges["*"]=u}if(0==s.str.length&&(u["final"]=!0),n.push({node:u,editsRemaining:s.editsRemaining-1,str:s.str}),s.str.length>1&&n.push({node:s.node,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)}),1==s.str.length&&(s.node["final"]=!0),s.str.length>=1){if("*"in s.node.edges)var l=s.node.edges["*"];else{var l=new e.TokenSet;s.node.edges["*"]=l}1==s.str.length&&(l["final"]=!0),n.push({node:l,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)})}if(s.str.length>1){var c,h=s.str.charAt(0),d=s.str.charAt(1);d in s.node.edges?c=s.node.edges[d]:(c=new e.TokenSet,s.node.edges[d]=c),1==s.str.length&&(c["final"]=!0),n.push({node:c,editsRemaining:s.editsRemaining-1,str:h+s.str.slice(2)})}}}return i},e.TokenSet.fromString=function(t){for(var r=new e.TokenSet,i=r,n=0,s=t.length;n=e;t--){var r=this.uncheckedNodes[t],i=r.child.toString();i in this.minimizedNodes?r.parent.edges[r["char"]]=this.minimizedNodes[i]:(r.child._str=i,this.minimizedNodes[i]=r.child),this.uncheckedNodes.pop()}},e.Index=function(e){this.invertedIndex=e.invertedIndex,this.fieldVectors=e.fieldVectors,this.tokenSet=e.tokenSet,this.fields=e.fields,this.pipeline=e.pipeline},e.Index.prototype.search=function(t){return this.query(function(r){var i=new e.QueryParser(t,r);i.parse()})},e.Index.prototype.query=function(t){for(var r=new e.Query(this.fields),i=Object.create(null),n=Object.create(null),s=Object.create(null),o=Object.create(null),a=Object.create(null),u=0;u1?this._b=1:this._b=e},e.Builder.prototype.k1=function(e){this._k1=e},e.Builder.prototype.add=function(t,r){var i=t[this._ref],n=Object.keys(this._fields);this._documents[i]=r||{},this.documentCount+=1;for(var s=0;s=this.length)return e.QueryLexer.EOS;var t=this.str.charAt(this.pos);return this.pos+=1,t},e.QueryLexer.prototype.width=function(){return this.pos-this.start},e.QueryLexer.prototype.ignore=function(){this.start==this.pos&&(this.pos+=1),this.start=this.pos},e.QueryLexer.prototype.backup=function(){this.pos-=1},e.QueryLexer.prototype.acceptDigitRun=function(){var t,r;do t=this.next(),r=t.charCodeAt(0);while(r>47&&r<58);t!=e.QueryLexer.EOS&&this.backup()},e.QueryLexer.prototype.more=function(){return this.pos1&&(t.backup(),t.emit(e.QueryLexer.TERM)),t.ignore(),t.more())return e.QueryLexer.lexText},e.QueryLexer.lexEditDistance=function(t){return t.ignore(),t.acceptDigitRun(),t.emit(e.QueryLexer.EDIT_DISTANCE),e.QueryLexer.lexText},e.QueryLexer.lexBoost=function(t){return t.ignore(),t.acceptDigitRun(),t.emit(e.QueryLexer.BOOST),e.QueryLexer.lexText},e.QueryLexer.lexEOS=function(t){t.width()>0&&t.emit(e.QueryLexer.TERM)},e.QueryLexer.termSeparator=e.tokenizer.separator,e.QueryLexer.lexText=function(t){for(;;){var r=t.next();if(r==e.QueryLexer.EOS)return e.QueryLexer.lexEOS;if(92!=r.charCodeAt(0)){if(":"==r)return e.QueryLexer.lexField;if("~"==r)return t.backup(),t.width()>0&&t.emit(e.QueryLexer.TERM),e.QueryLexer.lexEditDistance;if("^"==r)return t.backup(),t.width()>0&&t.emit(e.QueryLexer.TERM),e.QueryLexer.lexBoost;if("+"==r&&1===t.width())return t.emit(e.QueryLexer.PRESENCE),e.QueryLexer.lexText;if("-"==r&&1===t.width())return t.emit(e.QueryLexer.PRESENCE),e.QueryLexer.lexText;if(r.match(e.QueryLexer.termSeparator))return e.QueryLexer.lexTerm}else t.escapeCharacter()}},e.QueryParser=function(t,r){this.lexer=new e.QueryLexer(t),this.query=r,this.currentClause={},this.lexemeIdx=0},e.QueryParser.prototype.parse=function(){this.lexer.run(),this.lexemes=this.lexer.lexemes;for(var t=e.QueryParser.parseClause;t;)t=t(this);return this.query},e.QueryParser.prototype.peekLexeme=function(){return this.lexemes[this.lexemeIdx]},e.QueryParser.prototype.consumeLexeme=function(){var e=this.peekLexeme();return this.lexemeIdx+=1,e},e.QueryParser.prototype.nextClause=function(){var e=this.currentClause;this.query.clause(e),this.currentClause={}},e.QueryParser.parseClause=function(t){var r=t.peekLexeme();if(void 0!=r)switch(r.type){case e.QueryLexer.PRESENCE:return e.QueryParser.parsePresence;case e.QueryLexer.FIELD:return e.QueryParser.parseField;case e.QueryLexer.TERM:return e.QueryParser.parseTerm;default:var i="expected either a field or a term, found "+r.type;throw r.str.length>=1&&(i+=" with value '"+r.str+"'"),new e.QueryParseError(i,r.start,r.end)}},e.QueryParser.parsePresence=function(t){var r=t.consumeLexeme();if(void 0!=r){switch(r.str){case"-":t.currentClause.presence=e.Query.presence.PROHIBITED;break;case"+":t.currentClause.presence=e.Query.presence.REQUIRED;break;default:var i="unrecognised presence operator'"+r.str+"'";throw new e.QueryParseError(i,r.start,r.end)}var n=t.peekLexeme();if(void 0==n){var i="expecting term or field, found nothing";throw new e.QueryParseError(i,r.start,r.end)}switch(n.type){case e.QueryLexer.FIELD:return e.QueryParser.parseField;case e.QueryLexer.TERM:return e.QueryParser.parseTerm;default:var i="expecting term or field, found '"+n.type+"'";throw new e.QueryParseError(i,n.start,n.end)}}},e.QueryParser.parseField=function(t){var r=t.consumeLexeme();if(void 0!=r){if(t.query.allFields.indexOf(r.str)==-1){var i=t.query.allFields.map(function(e){return"'"+e+"'"}).join(", "),n="unrecognised field '"+r.str+"', possible fields: "+i;throw new e.QueryParseError(n,r.start,r.end)}t.currentClause.fields=[r.str];var s=t.peekLexeme();if(void 0==s){var n="expecting term, found nothing";throw new e.QueryParseError(n,r.start,r.end)}switch(s.type){case e.QueryLexer.TERM:return e.QueryParser.parseTerm;default:var n="expecting term, found '"+s.type+"'";throw new e.QueryParseError(n,s.start,s.end)}}},e.QueryParser.parseTerm=function(t){var r=t.consumeLexeme();if(void 0!=r){t.currentClause.term=r.str.toLowerCase(),r.str.indexOf("*")!=-1&&(t.currentClause.usePipeline=!1);var i=t.peekLexeme();if(void 0==i)return void t.nextClause();switch(i.type){case e.QueryLexer.TERM:return t.nextClause(),e.QueryParser.parseTerm;case e.QueryLexer.FIELD:return t.nextClause(),e.QueryParser.parseField;case e.QueryLexer.EDIT_DISTANCE:return e.QueryParser.parseEditDistance;case e.QueryLexer.BOOST:return e.QueryParser.parseBoost;case e.QueryLexer.PRESENCE:return t.nextClause(),e.QueryParser.parsePresence;default:var n="Unexpected lexeme type '"+i.type+"'";throw new e.QueryParseError(n,i.start,i.end)}}},e.QueryParser.parseEditDistance=function(t){var r=t.consumeLexeme();if(void 0!=r){var i=parseInt(r.str,10);if(isNaN(i)){var n="edit distance must be numeric";throw new e.QueryParseError(n,r.start,r.end)}t.currentClause.editDistance=i;var s=t.peekLexeme();if(void 0==s)return void t.nextClause();switch(s.type){case e.QueryLexer.TERM:return t.nextClause(),e.QueryParser.parseTerm;case e.QueryLexer.FIELD:return t.nextClause(),e.QueryParser.parseField;case e.QueryLexer.EDIT_DISTANCE:return e.QueryParser.parseEditDistance;case e.QueryLexer.BOOST:return e.QueryParser.parseBoost;case e.QueryLexer.PRESENCE:return t.nextClause(),e.QueryParser.parsePresence;default:var n="Unexpected lexeme type '"+s.type+"'";throw new e.QueryParseError(n,s.start,s.end)}}},e.QueryParser.parseBoost=function(t){var r=t.consumeLexeme();if(void 0!=r){var i=parseInt(r.str,10);if(isNaN(i)){var n="boost must be numeric";throw new e.QueryParseError(n,r.start,r.end)}t.currentClause.boost=i;var s=t.peekLexeme();if(void 0==s)return void t.nextClause();switch(s.type){case e.QueryLexer.TERM:return t.nextClause(),e.QueryParser.parseTerm;case e.QueryLexer.FIELD:return t.nextClause(),e.QueryParser.parseField;case e.QueryLexer.EDIT_DISTANCE:return e.QueryParser.parseEditDistance;case e.QueryLexer.BOOST:return e.QueryParser.parseBoost;case e.QueryLexer.PRESENCE:return t.nextClause(),e.QueryParser.parsePresence;default:var n="Unexpected lexeme type '"+s.type+"'";throw new e.QueryParseError(n,s.start,s.end)}}},function(e,t){"function"==typeof define&&define.amd?define(t):"object"==typeof exports?module.exports=t():e.lunr=t()}(this,function(){return e})}(); diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/js/typeahead.jquery.js b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/js/typeahead.jquery.js new file mode 100644 index 000000000..3a2d2ab03 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/js/typeahead.jquery.js @@ -0,0 +1,1694 @@ +/*! + * typeahead.js 1.3.1 + * https://github.com/corejavascript/typeahead.js + * Copyright 2013-2020 Twitter, Inc. and other contributors; Licensed MIT + */ + + +(function(root, factory) { + if (typeof define === "function" && define.amd) { + define([ "jquery" ], function(a0) { + return factory(a0); + }); + } else if (typeof module === "object" && module.exports) { + module.exports = factory(require("jquery")); + } else { + factory(root["jQuery"]); + } +})(this, function($) { + var _ = function() { + "use strict"; + return { + isMsie: function() { + return /(msie|trident)/i.test(navigator.userAgent) ? navigator.userAgent.match(/(msie |rv:)(\d+(.\d+)?)/i)[2] : false; + }, + isBlankString: function(str) { + return !str || /^\s*$/.test(str); + }, + escapeRegExChars: function(str) { + return str.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, "\\$&"); + }, + isString: function(obj) { + return typeof obj === "string"; + }, + isNumber: function(obj) { + return typeof obj === "number"; + }, + isArray: $.isArray, + isFunction: $.isFunction, + isObject: $.isPlainObject, + isUndefined: function(obj) { + return typeof obj === "undefined"; + }, + isElement: function(obj) { + return !!(obj && obj.nodeType === 1); + }, + isJQuery: function(obj) { + return obj instanceof $; + }, + toStr: function toStr(s) { + return _.isUndefined(s) || s === null ? "" : s + ""; + }, + bind: $.proxy, + each: function(collection, cb) { + $.each(collection, reverseArgs); + function reverseArgs(index, value) { + return cb(value, index); + } + }, + map: $.map, + filter: $.grep, + every: function(obj, test) { + var result = true; + if (!obj) { + return result; + } + $.each(obj, function(key, val) { + if (!(result = test.call(null, val, key, obj))) { + return false; + } + }); + return !!result; + }, + some: function(obj, test) { + var result = false; + if (!obj) { + return result; + } + $.each(obj, function(key, val) { + if (result = test.call(null, val, key, obj)) { + return false; + } + }); + return !!result; + }, + mixin: $.extend, + identity: function(x) { + return x; + }, + clone: function(obj) { + return $.extend(true, {}, obj); + }, + getIdGenerator: function() { + var counter = 0; + return function() { + return counter++; + }; + }, + templatify: function templatify(obj) { + return $.isFunction(obj) ? obj : template; + function template() { + return String(obj); + } + }, + defer: function(fn) { + setTimeout(fn, 0); + }, + debounce: function(func, wait, immediate) { + var timeout, result; + return function() { + var context = this, args = arguments, later, callNow; + later = function() { + timeout = null; + if (!immediate) { + result = func.apply(context, args); + } + }; + callNow = immediate && !timeout; + clearTimeout(timeout); + timeout = setTimeout(later, wait); + if (callNow) { + result = func.apply(context, args); + } + return result; + }; + }, + throttle: function(func, wait) { + var context, args, timeout, result, previous, later; + previous = 0; + later = function() { + previous = new Date(); + timeout = null; + result = func.apply(context, args); + }; + return function() { + var now = new Date(), remaining = wait - (now - previous); + context = this; + args = arguments; + if (remaining <= 0) { + clearTimeout(timeout); + timeout = null; + previous = now; + result = func.apply(context, args); + } else if (!timeout) { + timeout = setTimeout(later, remaining); + } + return result; + }; + }, + stringify: function(val) { + return _.isString(val) ? val : JSON.stringify(val); + }, + guid: function() { + function _p8(s) { + var p = (Math.random().toString(16) + "000000000").substr(2, 8); + return s ? "-" + p.substr(0, 4) + "-" + p.substr(4, 4) : p; + } + return "tt-" + _p8() + _p8(true) + _p8(true) + _p8(); + }, + noop: function() {} + }; + }(); + var WWW = function() { + "use strict"; + var defaultClassNames = { + wrapper: "twitter-typeahead", + input: "tt-input", + hint: "tt-hint", + menu: "tt-menu", + dataset: "tt-dataset", + suggestion: "tt-suggestion", + selectable: "tt-selectable", + empty: "tt-empty", + open: "tt-open", + cursor: "tt-cursor", + highlight: "tt-highlight" + }; + return build; + function build(o) { + var www, classes; + classes = _.mixin({}, defaultClassNames, o); + www = { + css: buildCss(), + classes: classes, + html: buildHtml(classes), + selectors: buildSelectors(classes) + }; + return { + css: www.css, + html: www.html, + classes: www.classes, + selectors: www.selectors, + mixin: function(o) { + _.mixin(o, www); + } + }; + } + function buildHtml(c) { + return { + wrapper: '', + menu: '
' + }; + } + function buildSelectors(classes) { + var selectors = {}; + _.each(classes, function(v, k) { + selectors[k] = "." + v; + }); + return selectors; + } + function buildCss() { + var css = { + wrapper: { + position: "relative", + display: "inline-block" + }, + hint: { + position: "absolute", + top: "0", + left: "0", + borderColor: "transparent", + boxShadow: "none", + opacity: "1" + }, + input: { + position: "relative", + verticalAlign: "top", + backgroundColor: "transparent" + }, + inputWithNoHint: { + position: "relative", + verticalAlign: "top" + }, + menu: { + position: "absolute", + top: "100%", + left: "0", + zIndex: "100", + display: "none" + }, + ltr: { + left: "0", + right: "auto" + }, + rtl: { + left: "auto", + right: " 0" + } + }; + if (_.isMsie()) { + _.mixin(css.input, { + backgroundImage: "url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)" + }); + } + return css; + } + }(); + var EventBus = function() { + "use strict"; + var namespace, deprecationMap; + namespace = "typeahead:"; + deprecationMap = { + render: "rendered", + cursorchange: "cursorchanged", + select: "selected", + autocomplete: "autocompleted" + }; + function EventBus(o) { + if (!o || !o.el) { + $.error("EventBus initialized without el"); + } + this.$el = $(o.el); + } + _.mixin(EventBus.prototype, { + _trigger: function(type, args) { + var $e = $.Event(namespace + type); + this.$el.trigger.call(this.$el, $e, args || []); + return $e; + }, + before: function(type) { + var args, $e; + args = [].slice.call(arguments, 1); + $e = this._trigger("before" + type, args); + return $e.isDefaultPrevented(); + }, + trigger: function(type) { + var deprecatedType; + this._trigger(type, [].slice.call(arguments, 1)); + if (deprecatedType = deprecationMap[type]) { + this._trigger(deprecatedType, [].slice.call(arguments, 1)); + } + } + }); + return EventBus; + }(); + var EventEmitter = function() { + "use strict"; + var splitter = /\s+/, nextTick = getNextTick(); + return { + onSync: onSync, + onAsync: onAsync, + off: off, + trigger: trigger + }; + function on(method, types, cb, context) { + var type; + if (!cb) { + return this; + } + types = types.split(splitter); + cb = context ? bindContext(cb, context) : cb; + this._callbacks = this._callbacks || {}; + while (type = types.shift()) { + this._callbacks[type] = this._callbacks[type] || { + sync: [], + async: [] + }; + this._callbacks[type][method].push(cb); + } + return this; + } + function onAsync(types, cb, context) { + return on.call(this, "async", types, cb, context); + } + function onSync(types, cb, context) { + return on.call(this, "sync", types, cb, context); + } + function off(types) { + var type; + if (!this._callbacks) { + return this; + } + types = types.split(splitter); + while (type = types.shift()) { + delete this._callbacks[type]; + } + return this; + } + function trigger(types) { + var type, callbacks, args, syncFlush, asyncFlush; + if (!this._callbacks) { + return this; + } + types = types.split(splitter); + args = [].slice.call(arguments, 1); + while ((type = types.shift()) && (callbacks = this._callbacks[type])) { + syncFlush = getFlush(callbacks.sync, this, [ type ].concat(args)); + asyncFlush = getFlush(callbacks.async, this, [ type ].concat(args)); + syncFlush() && nextTick(asyncFlush); + } + return this; + } + function getFlush(callbacks, context, args) { + return flush; + function flush() { + var cancelled; + for (var i = 0, len = callbacks.length; !cancelled && i < len; i += 1) { + cancelled = callbacks[i].apply(context, args) === false; + } + return !cancelled; + } + } + function getNextTick() { + var nextTickFn; + if (window.setImmediate) { + nextTickFn = function nextTickSetImmediate(fn) { + setImmediate(function() { + fn(); + }); + }; + } else { + nextTickFn = function nextTickSetTimeout(fn) { + setTimeout(function() { + fn(); + }, 0); + }; + } + return nextTickFn; + } + function bindContext(fn, context) { + return fn.bind ? fn.bind(context) : function() { + fn.apply(context, [].slice.call(arguments, 0)); + }; + } + }(); + var highlight = function(doc) { + "use strict"; + var defaults = { + node: null, + pattern: null, + tagName: "strong", + className: null, + wordsOnly: false, + caseSensitive: false, + diacriticInsensitive: false + }; + var accented = { + A: "[AaªÀ-Åà-åĀ-ąǍǎȀ-ȃȦȧᴬᵃḀḁẚẠ-ảₐ℀℁℻⒜Ⓐⓐ㍱-㍴㎀-㎄㎈㎉㎩-㎯㏂㏊㏟㏿Aa]", + B: "[BbᴮᵇḂ-ḇℬ⒝Ⓑⓑ㍴㎅-㎇㏃㏈㏔㏝Bb]", + C: "[CcÇçĆ-čᶜ℀ℂ℃℅℆ℭⅭⅽ⒞Ⓒⓒ㍶㎈㎉㎝㎠㎤㏄-㏇Cc]", + D: "[DdĎďDŽ-džDZ-dzᴰᵈḊ-ḓⅅⅆⅮⅾ⒟Ⓓⓓ㋏㍲㍷-㍹㎗㎭-㎯㏅㏈Dd]", + E: "[EeÈ-Ëè-ëĒ-ěȄ-ȇȨȩᴱᵉḘ-ḛẸ-ẽₑ℡ℯℰⅇ⒠Ⓔⓔ㉐㋍㋎Ee]", + F: "[FfᶠḞḟ℉ℱ℻⒡Ⓕⓕ㎊-㎌㎙ff-fflFf]", + G: "[GgĜ-ģǦǧǴǵᴳᵍḠḡℊ⒢Ⓖⓖ㋌㋍㎇㎍-㎏㎓㎬㏆㏉㏒㏿Gg]", + H: "[HhĤĥȞȟʰᴴḢ-ḫẖℋ-ℎ⒣Ⓗⓗ㋌㍱㎐-㎔㏊㏋㏗Hh]", + I: "[IiÌ-Ïì-ïĨ-İIJijǏǐȈ-ȋᴵᵢḬḭỈ-ịⁱℐℑℹⅈⅠ-ⅣⅥ-ⅨⅪⅫⅰ-ⅳⅵ-ⅸⅺⅻ⒤Ⓘⓘ㍺㏌㏕fiffiIi]", + J: "[JjIJ-ĵLJ-njǰʲᴶⅉ⒥ⒿⓙⱼJj]", + K: "[KkĶķǨǩᴷᵏḰ-ḵK⒦Ⓚⓚ㎄㎅㎉㎏㎑㎘㎞㎢㎦㎪㎸㎾㏀㏆㏍-㏏Kk]", + L: "[LlĹ-ŀLJ-ljˡᴸḶḷḺ-ḽℒℓ℡Ⅼⅼ⒧Ⓛⓛ㋏㎈㎉㏐-㏓㏕㏖㏿flfflLl]", + M: "[MmᴹᵐḾ-ṃ℠™ℳⅯⅿ⒨Ⓜⓜ㍷-㍹㎃㎆㎎㎒㎖㎙-㎨㎫㎳㎷㎹㎽㎿㏁㏂㏎㏐㏔-㏖㏘㏙㏞㏟Mm]", + N: "[NnÑñŃ-ʼnNJ-njǸǹᴺṄ-ṋⁿℕ№⒩Ⓝⓝ㎁㎋㎚㎱㎵㎻㏌㏑Nn]", + O: "[OoºÒ-Öò-öŌ-őƠơǑǒǪǫȌ-ȏȮȯᴼᵒỌ-ỏₒ℅№ℴ⒪Ⓞⓞ㍵㏇㏒㏖Oo]", + P: "[PpᴾᵖṔ-ṗℙ⒫Ⓟⓟ㉐㍱㍶㎀㎊㎩-㎬㎰㎴㎺㏋㏗-㏚Pp]", + Q: "[Qqℚ⒬Ⓠⓠ㏃Qq]", + R: "[RrŔ-řȐ-ȓʳᴿᵣṘ-ṛṞṟ₨ℛ-ℝ⒭Ⓡⓡ㋍㍴㎭-㎯㏚㏛Rr]", + S: "[SsŚ-šſȘșˢṠ-ṣ₨℁℠⒮Ⓢⓢ㎧㎨㎮-㎳㏛㏜stSs]", + T: "[TtŢ-ťȚțᵀᵗṪ-ṱẗ℡™⒯Ⓣⓣ㉐㋏㎔㏏ſtstTt]", + U: "[UuÙ-Üù-üŨ-ųƯưǓǔȔ-ȗᵁᵘᵤṲ-ṷỤ-ủ℆⒰Ⓤⓤ㍳㍺Uu]", + V: "[VvᵛᵥṼ-ṿⅣ-Ⅷⅳ-ⅷ⒱Ⓥⓥⱽ㋎㍵㎴-㎹㏜㏞Vv]", + W: "[WwŴŵʷᵂẀ-ẉẘ⒲Ⓦⓦ㎺-㎿㏝Ww]", + X: "[XxˣẊ-ẍₓ℻Ⅸ-Ⅻⅸ-ⅻ⒳Ⓧⓧ㏓Xx]", + Y: "[YyÝýÿŶ-ŸȲȳʸẎẏẙỲ-ỹ⒴Ⓨⓨ㏉Yy]", + Z: "[ZzŹ-žDZ-dzᶻẐ-ẕℤℨ⒵Ⓩⓩ㎐-㎔Zz]" + }; + return function hightlight(o) { + var regex; + o = _.mixin({}, defaults, o); + if (!o.node || !o.pattern) { + return; + } + o.pattern = _.isArray(o.pattern) ? o.pattern : [ o.pattern ]; + regex = getRegex(o.pattern, o.caseSensitive, o.wordsOnly, o.diacriticInsensitive); + traverse(o.node, hightlightTextNode); + function hightlightTextNode(textNode) { + var match, patternNode, wrapperNode; + if (match = regex.exec(textNode.data)) { + wrapperNode = doc.createElement(o.tagName); + o.className && (wrapperNode.className = o.className); + patternNode = textNode.splitText(match.index); + patternNode.splitText(match[0].length); + wrapperNode.appendChild(patternNode.cloneNode(true)); + textNode.parentNode.replaceChild(wrapperNode, patternNode); + } + return !!match; + } + function traverse(el, hightlightTextNode) { + var childNode, TEXT_NODE_TYPE = 3; + for (var i = 0; i < el.childNodes.length; i++) { + childNode = el.childNodes[i]; + if (childNode.nodeType === TEXT_NODE_TYPE) { + i += hightlightTextNode(childNode) ? 1 : 0; + } else { + traverse(childNode, hightlightTextNode); + } + } + } + }; + function accent_replacer(chr) { + return accented[chr.toUpperCase()] || chr; + } + function getRegex(patterns, caseSensitive, wordsOnly, diacriticInsensitive) { + var escapedPatterns = [], regexStr; + for (var i = 0, len = patterns.length; i < len; i++) { + var escapedWord = _.escapeRegExChars(patterns[i]); + if (diacriticInsensitive) { + escapedWord = escapedWord.replace(/\S/g, accent_replacer); + } + escapedPatterns.push(escapedWord); + } + regexStr = wordsOnly ? "\\b(" + escapedPatterns.join("|") + ")\\b" : "(" + escapedPatterns.join("|") + ")"; + return caseSensitive ? new RegExp(regexStr) : new RegExp(regexStr, "i"); + } + }(window.document); + var Input = function() { + "use strict"; + var specialKeyCodeMap; + specialKeyCodeMap = { + 9: "tab", + 27: "esc", + 37: "left", + 39: "right", + 13: "enter", + 38: "up", + 40: "down" + }; + function Input(o, www) { + var id; + o = o || {}; + if (!o.input) { + $.error("input is missing"); + } + www.mixin(this); + this.$hint = $(o.hint); + this.$input = $(o.input); + this.$menu = $(o.menu); + id = this.$input.attr("id") || _.guid(); + this.$menu.attr("id", id + "_listbox"); + this.$hint.attr({ + "aria-hidden": true + }); + this.$input.attr({ + "aria-owns": id + "_listbox", + role: "combobox", + "aria-autocomplete": "list", + "aria-expanded": false + }); + this.query = this.$input.val(); + this.queryWhenFocused = this.hasFocus() ? this.query : null; + this.$overflowHelper = buildOverflowHelper(this.$input); + this._checkLanguageDirection(); + if (this.$hint.length === 0) { + this.setHint = this.getHint = this.clearHint = this.clearHintIfInvalid = _.noop; + } + this.onSync("cursorchange", this._updateDescendent); + } + Input.normalizeQuery = function(str) { + return _.toStr(str).replace(/^\s*/g, "").replace(/\s{2,}/g, " "); + }; + _.mixin(Input.prototype, EventEmitter, { + _onBlur: function onBlur() { + this.resetInputValue(); + this.trigger("blurred"); + }, + _onFocus: function onFocus() { + this.queryWhenFocused = this.query; + this.trigger("focused"); + }, + _onKeydown: function onKeydown($e) { + var keyName = specialKeyCodeMap[$e.which || $e.keyCode]; + this._managePreventDefault(keyName, $e); + if (keyName && this._shouldTrigger(keyName, $e)) { + this.trigger(keyName + "Keyed", $e); + } + }, + _onInput: function onInput() { + this._setQuery(this.getInputValue()); + this.clearHintIfInvalid(); + this._checkLanguageDirection(); + }, + _managePreventDefault: function managePreventDefault(keyName, $e) { + var preventDefault; + switch (keyName) { + case "up": + case "down": + preventDefault = !withModifier($e); + break; + + default: + preventDefault = false; + } + preventDefault && $e.preventDefault(); + }, + _shouldTrigger: function shouldTrigger(keyName, $e) { + var trigger; + switch (keyName) { + case "tab": + trigger = !withModifier($e); + break; + + default: + trigger = true; + } + return trigger; + }, + _checkLanguageDirection: function checkLanguageDirection() { + var dir = (this.$input.css("direction") || "ltr").toLowerCase(); + if (this.dir !== dir) { + this.dir = dir; + this.$hint.attr("dir", dir); + this.trigger("langDirChanged", dir); + } + }, + _setQuery: function setQuery(val, silent) { + var areEquivalent, hasDifferentWhitespace; + areEquivalent = areQueriesEquivalent(val, this.query); + hasDifferentWhitespace = areEquivalent ? this.query.length !== val.length : false; + this.query = val; + if (!silent && !areEquivalent) { + this.trigger("queryChanged", this.query); + } else if (!silent && hasDifferentWhitespace) { + this.trigger("whitespaceChanged", this.query); + } + }, + _updateDescendent: function updateDescendent(event, id) { + this.$input.attr("aria-activedescendant", id); + }, + bind: function() { + var that = this, onBlur, onFocus, onKeydown, onInput; + onBlur = _.bind(this._onBlur, this); + onFocus = _.bind(this._onFocus, this); + onKeydown = _.bind(this._onKeydown, this); + onInput = _.bind(this._onInput, this); + this.$input.on("blur.tt", onBlur).on("focus.tt", onFocus).on("keydown.tt", onKeydown); + if (!_.isMsie() || _.isMsie() > 9) { + this.$input.on("input.tt", onInput); + } else { + this.$input.on("keydown.tt keypress.tt cut.tt paste.tt", function($e) { + if (specialKeyCodeMap[$e.which || $e.keyCode]) { + return; + } + _.defer(_.bind(that._onInput, that, $e)); + }); + } + return this; + }, + focus: function focus() { + this.$input.focus(); + }, + blur: function blur() { + this.$input.blur(); + }, + getLangDir: function getLangDir() { + return this.dir; + }, + getQuery: function getQuery() { + return this.query || ""; + }, + setQuery: function setQuery(val, silent) { + this.setInputValue(val); + this._setQuery(val, silent); + }, + hasQueryChangedSinceLastFocus: function hasQueryChangedSinceLastFocus() { + return this.query !== this.queryWhenFocused; + }, + getInputValue: function getInputValue() { + return this.$input.val(); + }, + setInputValue: function setInputValue(value) { + this.$input.val(value); + this.clearHintIfInvalid(); + this._checkLanguageDirection(); + }, + resetInputValue: function resetInputValue() { + this.setInputValue(this.query); + }, + getHint: function getHint() { + return this.$hint.val(); + }, + setHint: function setHint(value) { + this.$hint.val(value); + }, + clearHint: function clearHint() { + this.setHint(""); + }, + clearHintIfInvalid: function clearHintIfInvalid() { + var val, hint, valIsPrefixOfHint, isValid; + val = this.getInputValue(); + hint = this.getHint(); + valIsPrefixOfHint = val !== hint && hint.indexOf(val) === 0; + isValid = val !== "" && valIsPrefixOfHint && !this.hasOverflow(); + !isValid && this.clearHint(); + }, + hasFocus: function hasFocus() { + return this.$input.is(":focus"); + }, + hasOverflow: function hasOverflow() { + var constraint = this.$input.width() - 2; + this.$overflowHelper.text(this.getInputValue()); + return this.$overflowHelper.width() >= constraint; + }, + isCursorAtEnd: function() { + var valueLength, selectionStart, range; + valueLength = this.$input.val().length; + selectionStart = this.$input[0].selectionStart; + if (_.isNumber(selectionStart)) { + return selectionStart === valueLength; + } else if (document.selection) { + range = document.selection.createRange(); + range.moveStart("character", -valueLength); + return valueLength === range.text.length; + } + return true; + }, + destroy: function destroy() { + this.$hint.off(".tt"); + this.$input.off(".tt"); + this.$overflowHelper.remove(); + this.$hint = this.$input = this.$overflowHelper = $("
"); + }, + setAriaExpanded: function setAriaExpanded(value) { + this.$input.attr("aria-expanded", value); + } + }); + return Input; + function buildOverflowHelper($input) { + return $('').css({ + position: "absolute", + visibility: "hidden", + whiteSpace: "pre", + fontFamily: $input.css("font-family"), + fontSize: $input.css("font-size"), + fontStyle: $input.css("font-style"), + fontVariant: $input.css("font-variant"), + fontWeight: $input.css("font-weight"), + wordSpacing: $input.css("word-spacing"), + letterSpacing: $input.css("letter-spacing"), + textIndent: $input.css("text-indent"), + textRendering: $input.css("text-rendering"), + textTransform: $input.css("text-transform") + }).insertAfter($input); + } + function areQueriesEquivalent(a, b) { + return Input.normalizeQuery(a) === Input.normalizeQuery(b); + } + function withModifier($e) { + return $e.altKey || $e.ctrlKey || $e.metaKey || $e.shiftKey; + } + }(); + var Dataset = function() { + "use strict"; + var keys, nameGenerator; + keys = { + dataset: "tt-selectable-dataset", + val: "tt-selectable-display", + obj: "tt-selectable-object" + }; + nameGenerator = _.getIdGenerator(); + function Dataset(o, www) { + o = o || {}; + o.templates = o.templates || {}; + o.templates.notFound = o.templates.notFound || o.templates.empty; + if (!o.source) { + $.error("missing source"); + } + if (!o.node) { + $.error("missing node"); + } + if (o.name && !isValidName(o.name)) { + $.error("invalid dataset name: " + o.name); + } + www.mixin(this); + this.highlight = !!o.highlight; + this.name = _.toStr(o.name || nameGenerator()); + this.limit = o.limit || 5; + this.displayFn = getDisplayFn(o.display || o.displayKey); + this.templates = getTemplates(o.templates, this.displayFn); + this.source = o.source.__ttAdapter ? o.source.__ttAdapter() : o.source; + this.async = _.isUndefined(o.async) ? this.source.length > 2 : !!o.async; + this._resetLastSuggestion(); + this.$el = $(o.node).attr("role", "presentation").addClass(this.classes.dataset).addClass(this.classes.dataset + "-" + this.name); + } + Dataset.extractData = function extractData(el) { + var $el = $(el); + if ($el.data(keys.obj)) { + return { + dataset: $el.data(keys.dataset) || "", + val: $el.data(keys.val) || "", + obj: $el.data(keys.obj) || null + }; + } + return null; + }; + _.mixin(Dataset.prototype, EventEmitter, { + _overwrite: function overwrite(query, suggestions) { + suggestions = suggestions || []; + if (suggestions.length) { + this._renderSuggestions(query, suggestions); + } else if (this.async && this.templates.pending) { + this._renderPending(query); + } else if (!this.async && this.templates.notFound) { + this._renderNotFound(query); + } else { + this._empty(); + } + this.trigger("rendered", suggestions, false, this.name); + }, + _append: function append(query, suggestions) { + suggestions = suggestions || []; + if (suggestions.length && this.$lastSuggestion.length) { + this._appendSuggestions(query, suggestions); + } else if (suggestions.length) { + this._renderSuggestions(query, suggestions); + } else if (!this.$lastSuggestion.length && this.templates.notFound) { + this._renderNotFound(query); + } + this.trigger("rendered", suggestions, true, this.name); + }, + _renderSuggestions: function renderSuggestions(query, suggestions) { + var $fragment; + $fragment = this._getSuggestionsFragment(query, suggestions); + this.$lastSuggestion = $fragment.children().last(); + this.$el.html($fragment).prepend(this._getHeader(query, suggestions)).append(this._getFooter(query, suggestions)); + }, + _appendSuggestions: function appendSuggestions(query, suggestions) { + var $fragment, $lastSuggestion; + $fragment = this._getSuggestionsFragment(query, suggestions); + $lastSuggestion = $fragment.children().last(); + this.$lastSuggestion.after($fragment); + this.$lastSuggestion = $lastSuggestion; + }, + _renderPending: function renderPending(query) { + var template = this.templates.pending; + this._resetLastSuggestion(); + template && this.$el.html(template({ + query: query, + dataset: this.name + })); + }, + _renderNotFound: function renderNotFound(query) { + var template = this.templates.notFound; + this._resetLastSuggestion(); + template && this.$el.html(template({ + query: query, + dataset: this.name + })); + }, + _empty: function empty() { + this.$el.empty(); + this._resetLastSuggestion(); + }, + _getSuggestionsFragment: function getSuggestionsFragment(query, suggestions) { + var that = this, fragment; + fragment = document.createDocumentFragment(); + _.each(suggestions, function getSuggestionNode(suggestion) { + var $el, context; + context = that._injectQuery(query, suggestion); + $el = $(that.templates.suggestion(context)).data(keys.dataset, that.name).data(keys.obj, suggestion).data(keys.val, that.displayFn(suggestion)).addClass(that.classes.suggestion + " " + that.classes.selectable); + fragment.appendChild($el[0]); + }); + this.highlight && highlight({ + className: this.classes.highlight, + node: fragment, + pattern: query + }); + return $(fragment); + }, + _getFooter: function getFooter(query, suggestions) { + return this.templates.footer ? this.templates.footer({ + query: query, + suggestions: suggestions, + dataset: this.name + }) : null; + }, + _getHeader: function getHeader(query, suggestions) { + return this.templates.header ? this.templates.header({ + query: query, + suggestions: suggestions, + dataset: this.name + }) : null; + }, + _resetLastSuggestion: function resetLastSuggestion() { + this.$lastSuggestion = $(); + }, + _injectQuery: function injectQuery(query, obj) { + return _.isObject(obj) ? _.mixin({ + _query: query + }, obj) : obj; + }, + update: function update(query) { + var that = this, canceled = false, syncCalled = false, rendered = 0; + this.cancel(); + this.cancel = function cancel() { + canceled = true; + that.cancel = $.noop; + that.async && that.trigger("asyncCanceled", query, that.name); + }; + this.source(query, sync, async); + !syncCalled && sync([]); + function sync(suggestions) { + if (syncCalled) { + return; + } + syncCalled = true; + suggestions = (suggestions || []).slice(0, that.limit); + rendered = suggestions.length; + that._overwrite(query, suggestions); + if (rendered < that.limit && that.async) { + that.trigger("asyncRequested", query, that.name); + } + } + function async(suggestions) { + suggestions = suggestions || []; + if (!canceled && rendered < that.limit) { + that.cancel = $.noop; + var idx = Math.abs(rendered - that.limit); + rendered += idx; + that._append(query, suggestions.slice(0, idx)); + that.async && that.trigger("asyncReceived", query, that.name); + } + } + }, + cancel: $.noop, + clear: function clear() { + this._empty(); + this.cancel(); + this.trigger("cleared"); + }, + isEmpty: function isEmpty() { + return this.$el.is(":empty"); + }, + destroy: function destroy() { + this.$el = $("
"); + } + }); + return Dataset; + function getDisplayFn(display) { + display = display || _.stringify; + return _.isFunction(display) ? display : displayFn; + function displayFn(obj) { + return obj[display]; + } + } + function getTemplates(templates, displayFn) { + return { + notFound: templates.notFound && _.templatify(templates.notFound), + pending: templates.pending && _.templatify(templates.pending), + header: templates.header && _.templatify(templates.header), + footer: templates.footer && _.templatify(templates.footer), + suggestion: templates.suggestion ? userSuggestionTemplate : suggestionTemplate + }; + function userSuggestionTemplate(context) { + var template = templates.suggestion; + return $(template(context)).attr("id", _.guid()); + } + function suggestionTemplate(context) { + return $('
').attr("id", _.guid()).text(displayFn(context)); + } + } + function isValidName(str) { + return /^[_a-zA-Z0-9-]+$/.test(str); + } + }(); + var Menu = function() { + "use strict"; + function Menu(o, www) { + var that = this; + o = o || {}; + if (!o.node) { + $.error("node is required"); + } + www.mixin(this); + this.$node = $(o.node); + this.query = null; + this.datasets = _.map(o.datasets, initializeDataset); + function initializeDataset(oDataset) { + var node = that.$node.find(oDataset.node).first(); + oDataset.node = node.length ? node : $("
").appendTo(that.$node); + return new Dataset(oDataset, www); + } + } + _.mixin(Menu.prototype, EventEmitter, { + _onSelectableClick: function onSelectableClick($e) { + this.trigger("selectableClicked", $($e.currentTarget)); + }, + _onRendered: function onRendered(type, dataset, suggestions, async) { + this.$node.toggleClass(this.classes.empty, this._allDatasetsEmpty()); + this.trigger("datasetRendered", dataset, suggestions, async); + }, + _onCleared: function onCleared() { + this.$node.toggleClass(this.classes.empty, this._allDatasetsEmpty()); + this.trigger("datasetCleared"); + }, + _propagate: function propagate() { + this.trigger.apply(this, arguments); + }, + _allDatasetsEmpty: function allDatasetsEmpty() { + return _.every(this.datasets, _.bind(function isDatasetEmpty(dataset) { + var isEmpty = dataset.isEmpty(); + this.$node.attr("aria-expanded", !isEmpty); + return isEmpty; + }, this)); + }, + _getSelectables: function getSelectables() { + return this.$node.find(this.selectors.selectable); + }, + _removeCursor: function _removeCursor() { + var $selectable = this.getActiveSelectable(); + $selectable && $selectable.removeClass(this.classes.cursor); + }, + _ensureVisible: function ensureVisible($el) { + var elTop, elBottom, nodeScrollTop, nodeHeight; + elTop = $el.position().top; + elBottom = elTop + $el.outerHeight(true); + nodeScrollTop = this.$node.scrollTop(); + nodeHeight = this.$node.height() + parseInt(this.$node.css("paddingTop"), 10) + parseInt(this.$node.css("paddingBottom"), 10); + if (elTop < 0) { + this.$node.scrollTop(nodeScrollTop + elTop); + } else if (nodeHeight < elBottom) { + this.$node.scrollTop(nodeScrollTop + (elBottom - nodeHeight)); + } + }, + bind: function() { + var that = this, onSelectableClick; + onSelectableClick = _.bind(this._onSelectableClick, this); + this.$node.on("click.tt", this.selectors.selectable, onSelectableClick); + this.$node.on("mouseover", this.selectors.selectable, function() { + that.setCursor($(this)); + }); + this.$node.on("mouseleave", function() { + that._removeCursor(); + }); + _.each(this.datasets, function(dataset) { + dataset.onSync("asyncRequested", that._propagate, that).onSync("asyncCanceled", that._propagate, that).onSync("asyncReceived", that._propagate, that).onSync("rendered", that._onRendered, that).onSync("cleared", that._onCleared, that); + }); + return this; + }, + isOpen: function isOpen() { + return this.$node.hasClass(this.classes.open); + }, + open: function open() { + this.$node.scrollTop(0); + this.$node.addClass(this.classes.open); + }, + close: function close() { + this.$node.attr("aria-expanded", false); + this.$node.removeClass(this.classes.open); + this._removeCursor(); + }, + setLanguageDirection: function setLanguageDirection(dir) { + this.$node.attr("dir", dir); + }, + selectableRelativeToCursor: function selectableRelativeToCursor(delta) { + var $selectables, $oldCursor, oldIndex, newIndex; + $oldCursor = this.getActiveSelectable(); + $selectables = this._getSelectables(); + oldIndex = $oldCursor ? $selectables.index($oldCursor) : -1; + newIndex = oldIndex + delta; + newIndex = (newIndex + 1) % ($selectables.length + 1) - 1; + newIndex = newIndex < -1 ? $selectables.length - 1 : newIndex; + return newIndex === -1 ? null : $selectables.eq(newIndex); + }, + setCursor: function setCursor($selectable) { + this._removeCursor(); + if ($selectable = $selectable && $selectable.first()) { + $selectable.addClass(this.classes.cursor); + this._ensureVisible($selectable); + } + }, + getSelectableData: function getSelectableData($el) { + return $el && $el.length ? Dataset.extractData($el) : null; + }, + getActiveSelectable: function getActiveSelectable() { + var $selectable = this._getSelectables().filter(this.selectors.cursor).first(); + return $selectable.length ? $selectable : null; + }, + getTopSelectable: function getTopSelectable() { + var $selectable = this._getSelectables().first(); + return $selectable.length ? $selectable : null; + }, + update: function update(query) { + var isValidUpdate = query !== this.query; + if (isValidUpdate) { + this.query = query; + _.each(this.datasets, updateDataset); + } + return isValidUpdate; + function updateDataset(dataset) { + dataset.update(query); + } + }, + empty: function empty() { + _.each(this.datasets, clearDataset); + this.query = null; + this.$node.addClass(this.classes.empty); + function clearDataset(dataset) { + dataset.clear(); + } + }, + destroy: function destroy() { + this.$node.off(".tt"); + this.$node = $("
"); + _.each(this.datasets, destroyDataset); + function destroyDataset(dataset) { + dataset.destroy(); + } + } + }); + return Menu; + }(); + var Status = function() { + "use strict"; + function Status(options) { + this.$el = $("", { + role: "status", + "aria-live": "polite" + }).css({ + position: "absolute", + padding: "0", + border: "0", + height: "1px", + width: "1px", + "margin-bottom": "-1px", + "margin-right": "-1px", + overflow: "hidden", + clip: "rect(0 0 0 0)", + "white-space": "nowrap" + }); + options.$input.after(this.$el); + _.each(options.menu.datasets, _.bind(function(dataset) { + if (dataset.onSync) { + dataset.onSync("rendered", _.bind(this.update, this)); + dataset.onSync("cleared", _.bind(this.cleared, this)); + } + }, this)); + } + _.mixin(Status.prototype, { + update: function update(event, suggestions) { + var length = suggestions.length; + var words; + if (length === 1) { + words = { + result: "result", + is: "is" + }; + } else { + words = { + result: "results", + is: "are" + }; + } + this.$el.text(length + " " + words.result + " " + words.is + " available, use up and down arrow keys to navigate."); + }, + cleared: function() { + this.$el.text(""); + } + }); + return Status; + }(); + var DefaultMenu = function() { + "use strict"; + var s = Menu.prototype; + function DefaultMenu() { + Menu.apply(this, [].slice.call(arguments, 0)); + } + _.mixin(DefaultMenu.prototype, Menu.prototype, { + open: function open() { + !this._allDatasetsEmpty() && this._show(); + return s.open.apply(this, [].slice.call(arguments, 0)); + }, + close: function close() { + this._hide(); + return s.close.apply(this, [].slice.call(arguments, 0)); + }, + _onRendered: function onRendered() { + if (this._allDatasetsEmpty()) { + this._hide(); + } else { + this.isOpen() && this._show(); + } + return s._onRendered.apply(this, [].slice.call(arguments, 0)); + }, + _onCleared: function onCleared() { + if (this._allDatasetsEmpty()) { + this._hide(); + } else { + this.isOpen() && this._show(); + } + return s._onCleared.apply(this, [].slice.call(arguments, 0)); + }, + setLanguageDirection: function setLanguageDirection(dir) { + this.$node.css(dir === "ltr" ? this.css.ltr : this.css.rtl); + return s.setLanguageDirection.apply(this, [].slice.call(arguments, 0)); + }, + _hide: function hide() { + this.$node.hide(); + }, + _show: function show() { + this.$node.css("display", "block"); + } + }); + return DefaultMenu; + }(); + var Typeahead = function() { + "use strict"; + function Typeahead(o, www) { + var onFocused, onBlurred, onEnterKeyed, onTabKeyed, onEscKeyed, onUpKeyed, onDownKeyed, onLeftKeyed, onRightKeyed, onQueryChanged, onWhitespaceChanged; + o = o || {}; + if (!o.input) { + $.error("missing input"); + } + if (!o.menu) { + $.error("missing menu"); + } + if (!o.eventBus) { + $.error("missing event bus"); + } + www.mixin(this); + this.eventBus = o.eventBus; + this.minLength = _.isNumber(o.minLength) ? o.minLength : 1; + this.input = o.input; + this.menu = o.menu; + this.enabled = true; + this.autoselect = !!o.autoselect; + this.active = false; + this.input.hasFocus() && this.activate(); + this.dir = this.input.getLangDir(); + this._hacks(); + this.menu.bind().onSync("selectableClicked", this._onSelectableClicked, this).onSync("asyncRequested", this._onAsyncRequested, this).onSync("asyncCanceled", this._onAsyncCanceled, this).onSync("asyncReceived", this._onAsyncReceived, this).onSync("datasetRendered", this._onDatasetRendered, this).onSync("datasetCleared", this._onDatasetCleared, this); + onFocused = c(this, "activate", "open", "_onFocused"); + onBlurred = c(this, "deactivate", "_onBlurred"); + onEnterKeyed = c(this, "isActive", "isOpen", "_onEnterKeyed"); + onTabKeyed = c(this, "isActive", "isOpen", "_onTabKeyed"); + onEscKeyed = c(this, "isActive", "_onEscKeyed"); + onUpKeyed = c(this, "isActive", "open", "_onUpKeyed"); + onDownKeyed = c(this, "isActive", "open", "_onDownKeyed"); + onLeftKeyed = c(this, "isActive", "isOpen", "_onLeftKeyed"); + onRightKeyed = c(this, "isActive", "isOpen", "_onRightKeyed"); + onQueryChanged = c(this, "_openIfActive", "_onQueryChanged"); + onWhitespaceChanged = c(this, "_openIfActive", "_onWhitespaceChanged"); + this.input.bind().onSync("focused", onFocused, this).onSync("blurred", onBlurred, this).onSync("enterKeyed", onEnterKeyed, this).onSync("tabKeyed", onTabKeyed, this).onSync("escKeyed", onEscKeyed, this).onSync("upKeyed", onUpKeyed, this).onSync("downKeyed", onDownKeyed, this).onSync("leftKeyed", onLeftKeyed, this).onSync("rightKeyed", onRightKeyed, this).onSync("queryChanged", onQueryChanged, this).onSync("whitespaceChanged", onWhitespaceChanged, this).onSync("langDirChanged", this._onLangDirChanged, this); + } + _.mixin(Typeahead.prototype, { + _hacks: function hacks() { + var $input, $menu; + $input = this.input.$input || $("
"); + $menu = this.menu.$node || $("
"); + $input.on("blur.tt", function($e) { + var active, isActive, hasActive; + active = document.activeElement; + isActive = $menu.is(active); + hasActive = $menu.has(active).length > 0; + if (_.isMsie() && (isActive || hasActive)) { + $e.preventDefault(); + $e.stopImmediatePropagation(); + _.defer(function() { + $input.focus(); + }); + } + }); + $menu.on("mousedown.tt", function($e) { + $e.preventDefault(); + }); + }, + _onSelectableClicked: function onSelectableClicked(type, $el) { + this.select($el); + }, + _onDatasetCleared: function onDatasetCleared() { + this._updateHint(); + }, + _onDatasetRendered: function onDatasetRendered(type, suggestions, async, dataset) { + this._updateHint(); + if (this.autoselect) { + var cursorClass = this.selectors.cursor.substr(1); + this.menu.$node.find(this.selectors.suggestion).first().addClass(cursorClass); + } + this.eventBus.trigger("render", suggestions, async, dataset); + }, + _onAsyncRequested: function onAsyncRequested(type, dataset, query) { + this.eventBus.trigger("asyncrequest", query, dataset); + }, + _onAsyncCanceled: function onAsyncCanceled(type, dataset, query) { + this.eventBus.trigger("asynccancel", query, dataset); + }, + _onAsyncReceived: function onAsyncReceived(type, dataset, query) { + this.eventBus.trigger("asyncreceive", query, dataset); + }, + _onFocused: function onFocused() { + this._minLengthMet() && this.menu.update(this.input.getQuery()); + }, + _onBlurred: function onBlurred() { + if (this.input.hasQueryChangedSinceLastFocus()) { + this.eventBus.trigger("change", this.input.getQuery()); + } + }, + _onEnterKeyed: function onEnterKeyed(type, $e) { + var $selectable; + if ($selectable = this.menu.getActiveSelectable()) { + if (this.select($selectable)) { + $e.preventDefault(); + $e.stopPropagation(); + } + } else if (this.autoselect) { + if (this.select(this.menu.getTopSelectable())) { + $e.preventDefault(); + $e.stopPropagation(); + } + } + }, + _onTabKeyed: function onTabKeyed(type, $e) { + var $selectable; + if ($selectable = this.menu.getActiveSelectable()) { + this.select($selectable) && $e.preventDefault(); + } else if (this.autoselect) { + if ($selectable = this.menu.getTopSelectable()) { + this.autocomplete($selectable) && $e.preventDefault(); + } + } + }, + _onEscKeyed: function onEscKeyed() { + this.close(); + }, + _onUpKeyed: function onUpKeyed() { + this.moveCursor(-1); + }, + _onDownKeyed: function onDownKeyed() { + this.moveCursor(+1); + }, + _onLeftKeyed: function onLeftKeyed() { + if (this.dir === "rtl" && this.input.isCursorAtEnd()) { + this.autocomplete(this.menu.getActiveSelectable() || this.menu.getTopSelectable()); + } + }, + _onRightKeyed: function onRightKeyed() { + if (this.dir === "ltr" && this.input.isCursorAtEnd()) { + this.autocomplete(this.menu.getActiveSelectable() || this.menu.getTopSelectable()); + } + }, + _onQueryChanged: function onQueryChanged(e, query) { + this._minLengthMet(query) ? this.menu.update(query) : this.menu.empty(); + }, + _onWhitespaceChanged: function onWhitespaceChanged() { + this._updateHint(); + }, + _onLangDirChanged: function onLangDirChanged(e, dir) { + if (this.dir !== dir) { + this.dir = dir; + this.menu.setLanguageDirection(dir); + } + }, + _openIfActive: function openIfActive() { + this.isActive() && this.open(); + }, + _minLengthMet: function minLengthMet(query) { + query = _.isString(query) ? query : this.input.getQuery() || ""; + return query.length >= this.minLength; + }, + _updateHint: function updateHint() { + var $selectable, data, val, query, escapedQuery, frontMatchRegEx, match; + $selectable = this.menu.getTopSelectable(); + data = this.menu.getSelectableData($selectable); + val = this.input.getInputValue(); + if (data && !_.isBlankString(val) && !this.input.hasOverflow()) { + query = Input.normalizeQuery(val); + escapedQuery = _.escapeRegExChars(query); + frontMatchRegEx = new RegExp("^(?:" + escapedQuery + ")(.+$)", "i"); + match = frontMatchRegEx.exec(data.val); + match && this.input.setHint(val + match[1]); + } else { + this.input.clearHint(); + } + }, + isEnabled: function isEnabled() { + return this.enabled; + }, + enable: function enable() { + this.enabled = true; + }, + disable: function disable() { + this.enabled = false; + }, + isActive: function isActive() { + return this.active; + }, + activate: function activate() { + if (this.isActive()) { + return true; + } else if (!this.isEnabled() || this.eventBus.before("active")) { + return false; + } else { + this.active = true; + this.eventBus.trigger("active"); + return true; + } + }, + deactivate: function deactivate() { + if (!this.isActive()) { + return true; + } else if (this.eventBus.before("idle")) { + return false; + } else { + this.active = false; + this.close(); + this.eventBus.trigger("idle"); + return true; + } + }, + isOpen: function isOpen() { + return this.menu.isOpen(); + }, + open: function open() { + if (!this.isOpen() && !this.eventBus.before("open")) { + this.input.setAriaExpanded(true); + this.menu.open(); + this._updateHint(); + this.eventBus.trigger("open"); + } + return this.isOpen(); + }, + close: function close() { + if (this.isOpen() && !this.eventBus.before("close")) { + this.input.setAriaExpanded(false); + this.menu.close(); + this.input.clearHint(); + this.input.resetInputValue(); + this.eventBus.trigger("close"); + } + return !this.isOpen(); + }, + setVal: function setVal(val) { + this.input.setQuery(_.toStr(val)); + }, + getVal: function getVal() { + return this.input.getQuery(); + }, + select: function select($selectable) { + var data = this.menu.getSelectableData($selectable); + if (data && !this.eventBus.before("select", data.obj, data.dataset)) { + this.input.setQuery(data.val, true); + this.eventBus.trigger("select", data.obj, data.dataset); + this.close(); + return true; + } + return false; + }, + autocomplete: function autocomplete($selectable) { + var query, data, isValid; + query = this.input.getQuery(); + data = this.menu.getSelectableData($selectable); + isValid = data && query !== data.val; + if (isValid && !this.eventBus.before("autocomplete", data.obj, data.dataset)) { + this.input.setQuery(data.val); + this.eventBus.trigger("autocomplete", data.obj, data.dataset); + return true; + } + return false; + }, + moveCursor: function moveCursor(delta) { + var query, $candidate, data, suggestion, datasetName, cancelMove, id; + query = this.input.getQuery(); + $candidate = this.menu.selectableRelativeToCursor(delta); + data = this.menu.getSelectableData($candidate); + suggestion = data ? data.obj : null; + datasetName = data ? data.dataset : null; + id = $candidate ? $candidate.attr("id") : null; + this.input.trigger("cursorchange", id); + cancelMove = this._minLengthMet() && this.menu.update(query); + if (!cancelMove && !this.eventBus.before("cursorchange", suggestion, datasetName)) { + this.menu.setCursor($candidate); + if (data) { + if (typeof data.val === "string") { + this.input.setInputValue(data.val); + } + } else { + this.input.resetInputValue(); + this._updateHint(); + } + this.eventBus.trigger("cursorchange", suggestion, datasetName); + return true; + } + return false; + }, + destroy: function destroy() { + this.input.destroy(); + this.menu.destroy(); + } + }); + return Typeahead; + function c(ctx) { + var methods = [].slice.call(arguments, 1); + return function() { + var args = [].slice.call(arguments); + _.each(methods, function(method) { + return ctx[method].apply(ctx, args); + }); + }; + } + }(); + (function() { + "use strict"; + var old, keys, methods; + old = $.fn.typeahead; + keys = { + www: "tt-www", + attrs: "tt-attrs", + typeahead: "tt-typeahead" + }; + methods = { + initialize: function initialize(o, datasets) { + var www; + datasets = _.isArray(datasets) ? datasets : [].slice.call(arguments, 1); + o = o || {}; + www = WWW(o.classNames); + return this.each(attach); + function attach() { + var $input, $wrapper, $hint, $menu, defaultHint, defaultMenu, eventBus, input, menu, status, typeahead, MenuConstructor; + _.each(datasets, function(d) { + d.highlight = !!o.highlight; + }); + $input = $(this); + $wrapper = $(www.html.wrapper); + $hint = $elOrNull(o.hint); + $menu = $elOrNull(o.menu); + defaultHint = o.hint !== false && !$hint; + defaultMenu = o.menu !== false && !$menu; + defaultHint && ($hint = buildHintFromInput($input, www)); + defaultMenu && ($menu = $(www.html.menu).css(www.css.menu)); + $hint && $hint.val(""); + $input = prepInput($input, www); + if (defaultHint || defaultMenu) { + $wrapper.css(www.css.wrapper); + $input.css(defaultHint ? www.css.input : www.css.inputWithNoHint); + $input.wrap($wrapper).parent().prepend(defaultHint ? $hint : null).append(defaultMenu ? $menu : null); + } + MenuConstructor = defaultMenu ? DefaultMenu : Menu; + eventBus = new EventBus({ + el: $input + }); + input = new Input({ + hint: $hint, + input: $input, + menu: $menu + }, www); + menu = new MenuConstructor({ + node: $menu, + datasets: datasets + }, www); + status = new Status({ + $input: $input, + menu: menu + }); + typeahead = new Typeahead({ + input: input, + menu: menu, + eventBus: eventBus, + minLength: o.minLength, + autoselect: o.autoselect + }, www); + $input.data(keys.www, www); + $input.data(keys.typeahead, typeahead); + } + }, + isEnabled: function isEnabled() { + var enabled; + ttEach(this.first(), function(t) { + enabled = t.isEnabled(); + }); + return enabled; + }, + enable: function enable() { + ttEach(this, function(t) { + t.enable(); + }); + return this; + }, + disable: function disable() { + ttEach(this, function(t) { + t.disable(); + }); + return this; + }, + isActive: function isActive() { + var active; + ttEach(this.first(), function(t) { + active = t.isActive(); + }); + return active; + }, + activate: function activate() { + ttEach(this, function(t) { + t.activate(); + }); + return this; + }, + deactivate: function deactivate() { + ttEach(this, function(t) { + t.deactivate(); + }); + return this; + }, + isOpen: function isOpen() { + var open; + ttEach(this.first(), function(t) { + open = t.isOpen(); + }); + return open; + }, + open: function open() { + ttEach(this, function(t) { + t.open(); + }); + return this; + }, + close: function close() { + ttEach(this, function(t) { + t.close(); + }); + return this; + }, + select: function select(el) { + var success = false, $el = $(el); + ttEach(this.first(), function(t) { + success = t.select($el); + }); + return success; + }, + autocomplete: function autocomplete(el) { + var success = false, $el = $(el); + ttEach(this.first(), function(t) { + success = t.autocomplete($el); + }); + return success; + }, + moveCursor: function moveCursoe(delta) { + var success = false; + ttEach(this.first(), function(t) { + success = t.moveCursor(delta); + }); + return success; + }, + val: function val(newVal) { + var query; + if (!arguments.length) { + ttEach(this.first(), function(t) { + query = t.getVal(); + }); + return query; + } else { + ttEach(this, function(t) { + t.setVal(_.toStr(newVal)); + }); + return this; + } + }, + destroy: function destroy() { + ttEach(this, function(typeahead, $input) { + revert($input); + typeahead.destroy(); + }); + return this; + } + }; + $.fn.typeahead = function(method) { + if (methods[method]) { + return methods[method].apply(this, [].slice.call(arguments, 1)); + } else { + return methods.initialize.apply(this, arguments); + } + }; + $.fn.typeahead.noConflict = function noConflict() { + $.fn.typeahead = old; + return this; + }; + function ttEach($els, fn) { + $els.each(function() { + var $input = $(this), typeahead; + (typeahead = $input.data(keys.typeahead)) && fn(typeahead, $input); + }); + } + function buildHintFromInput($input, www) { + return $input.clone().addClass(www.classes.hint).removeData().css(www.css.hint).css(getBackgroundStyles($input)).prop({ + readonly: true, + required: false + }).removeAttr("id name placeholder").removeClass("required").attr({ + spellcheck: "false", + tabindex: -1 + }); + } + function prepInput($input, www) { + $input.data(keys.attrs, { + dir: $input.attr("dir"), + autocomplete: $input.attr("autocomplete"), + spellcheck: $input.attr("spellcheck"), + style: $input.attr("style") + }); + $input.addClass(www.classes.input).attr({ + spellcheck: false + }); + try { + !$input.attr("dir") && $input.attr("dir", "auto"); + } catch (e) {} + return $input; + } + function getBackgroundStyles($el) { + return { + backgroundAttachment: $el.css("background-attachment"), + backgroundClip: $el.css("background-clip"), + backgroundColor: $el.css("background-color"), + backgroundImage: $el.css("background-image"), + backgroundOrigin: $el.css("background-origin"), + backgroundPosition: $el.css("background-position"), + backgroundRepeat: $el.css("background-repeat"), + backgroundSize: $el.css("background-size") + }; + } + function revert($input) { + var www, $wrapper; + www = $input.data(keys.www); + $wrapper = $input.parent().filter(www.selectors.wrapper); + _.each($input.data(keys.attrs), function(val, key) { + _.isUndefined(val) ? $input.removeAttr(key) : $input.attr(key, val); + }); + $input.removeData(keys.typeahead).removeData(keys.www).removeData(keys.attr).removeClass(www.classes.input); + if ($wrapper.length) { + $input.detach().insertAfter($wrapper); + $wrapper.remove(); + } + } + function $elOrNull(obj) { + var isValid, $el; + isValid = _.isJQuery(obj) || _.isElement(obj); + $el = isValid ? $(obj).first() : []; + return $el.length ? $el : null; + } + })(); +}); \ No newline at end of file diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/search.json b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/search.json new file mode 100644 index 000000000..43208962f --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/search.json @@ -0,0 +1 @@ +{"Structs/VideoPreviewView.html#/s:30SCSDKCameraKitReferenceSwiftUI16VideoPreviewViewV5video16snapchatDelegateAC10Foundation3URLV_0abcE008SnapchatK0_pSgtcfc":{"name":"init(video:snapchatDelegate:)","abstract":"

Creates a preview view.

","parent_name":"VideoPreviewView"},"Structs/VideoPreviewView.html#/s:7SwiftUI29UIViewControllerRepresentableP04makecD07context0cD4TypeQzAA0cdE7ContextVyxG_tF":{"name":"makeUIViewController(context:)","parent_name":"VideoPreviewView"},"Structs/VideoPreviewView.html#/s:7SwiftUI29UIViewControllerRepresentableP06updatecD0_7contexty0cD4TypeQz_AA0cdE7ContextVyxGtF":{"name":"updateUIViewController(_:context:)","parent_name":"VideoPreviewView"},"Structs/PreviewView.html#/s:30SCSDKCameraKitReferenceSwiftUI11PreviewViewV06cameraB035automaticallyConfiguresTouchHandlerACSo08SCCameraB8Protocol_p_Sbtcfc":{"name":"init(cameraKit:automaticallyConfiguresTouchHandler:)","abstract":"

Initializes a preview view and connects it to a CameraKit session as an output

","parent_name":"PreviewView"},"Structs/PreviewView.html#/s:7SwiftUI19UIViewRepresentableP04makeC07context0C4TypeQzAA0cD7ContextVyxG_tF":{"name":"makeUIView(context:)","parent_name":"PreviewView"},"Structs/PreviewView.html#/s:7SwiftUI19UIViewRepresentableP06updateC0_7contexty0C4TypeQz_AA0cD7ContextVyxGtF":{"name":"updateUIView(_:context:)","parent_name":"PreviewView"},"Structs/MediaPickerView.html#/s:30SCSDKCameraKitReferenceSwiftUI15MediaPickerViewV8providerACSo08SCCamerab4LensfG8Provider_p_tcfc":{"name":"init(provider:)","abstract":"

Initializes the media picker view with a media picker provider

","parent_name":"MediaPickerView"},"Structs/MediaPickerView.html#/s:7SwiftUI4ViewP4body4BodyQzvp":{"name":"body","parent_name":"MediaPickerView"},"Structs/ImagePreviewView.html#/s:30SCSDKCameraKitReferenceSwiftUI16ImagePreviewViewV5image16snapchatDelegateACSo7UIImageC_0abcE008SnapchatK0_pSgtcfc":{"name":"init(image:snapchatDelegate:)","abstract":"

Creates a preview view.

","parent_name":"ImagePreviewView"},"Structs/ImagePreviewView.html#/s:7SwiftUI29UIViewControllerRepresentableP04makecD07context0cD4TypeQzAA0cdE7ContextVyxG_tF":{"name":"makeUIViewController(context:)","parent_name":"ImagePreviewView"},"Structs/ImagePreviewView.html#/s:7SwiftUI29UIViewControllerRepresentableP06updatecD0_7contexty0cD4TypeQz_AA0cdE7ContextVyxGtF":{"name":"updateUIViewController(_:context:)","parent_name":"ImagePreviewView"},"Structs/CarouselView/Coordinator.html#/s:25SCSDKCameraKitReferenceUI20CarouselViewDelegateP08carouselF0_9didSelect2atyAA0eF0C_AA0E4ItemCSitF":{"name":"carouselView(_:didSelect:at:)","parent_name":"Coordinator"},"Structs/CarouselView/Coordinator.html#/s:25SCSDKCameraKitReferenceUI22CarouselViewDataSourceP08itemsForeF0ySayAA0E4ItemCGAA0eF0CF":{"name":"itemsForCarouselView(_:)","parent_name":"Coordinator"},"Structs/CarouselView/Coordinator.html#/s:30SCSDKCameraKitReferenceSwiftUI12CarouselViewV11CoordinatorC4item3for0abcE00F4ItemCSo08SCCameraB4Lens_pSg_tF":{"name":"item(for:)","abstract":"

Undocumented

","parent_name":"Coordinator"},"Structs/CarouselView.html#/s:7SwiftUI19UIViewRepresentableP15makeCoordinator0F0QzyF":{"name":"makeCoordinator()","parent_name":"CarouselView"},"Structs/CarouselView.html#/s:7SwiftUI19UIViewRepresentableP04makeC07context0C4TypeQzAA0cD7ContextVyxG_tF":{"name":"makeUIView(context:)","parent_name":"CarouselView"},"Structs/CarouselView.html#/s:7SwiftUI19UIViewRepresentableP06updateC0_7contexty0C4TypeQz_AA0cD7ContextVyxGtF":{"name":"updateUIView(_:context:)","parent_name":"CarouselView"},"Structs/CarouselView/Coordinator.html":{"name":"Coordinator","parent_name":"CarouselView"},"Structs/CameraView.html#/s:30SCSDKCameraKitReferenceSwiftUI10CameraViewV16cameraControllerAC0abcE00fI0C_tcfc":{"name":"init(cameraController:)","abstract":"

Undocumented

","parent_name":"CameraView"},"Structs/CameraView.html#/s:7SwiftUI4ViewP4body4BodyQzvp":{"name":"body","parent_name":"CameraView"},"Structs/CameraButton/Coordinator.html#/s:25SCSDKCameraKitReferenceUI20CameraButtonDelegateP06cameraF6TappedyyAA0eF0CF":{"name":"cameraButtonTapped(_:)","parent_name":"Coordinator"},"Structs/CameraButton/Coordinator.html#/s:25SCSDKCameraKitReferenceUI20CameraButtonDelegateP06cameraF9HoldBeganyyAA0eF0CF":{"name":"cameraButtonHoldBegan(_:)","parent_name":"Coordinator"},"Structs/CameraButton/Coordinator.html#/s:25SCSDKCameraKitReferenceUI20CameraButtonDelegateP06cameraF13HoldCancelledyyAA0eF0CF":{"name":"cameraButtonHoldCancelled(_:)","parent_name":"Coordinator"},"Structs/CameraButton/Coordinator.html#/s:25SCSDKCameraKitReferenceUI20CameraButtonDelegateP06cameraF9HoldEndedyyAA0eF0CF":{"name":"cameraButtonHoldEnded(_:)","parent_name":"Coordinator"},"Structs/CameraButton.html#/s:7SwiftUI19UIViewRepresentableP15makeCoordinator0F0QzyF":{"name":"makeCoordinator()","parent_name":"CameraButton"},"Structs/CameraButton.html#/s:7SwiftUI19UIViewRepresentableP04makeC07context0C4TypeQzAA0cD7ContextVyxG_tF":{"name":"makeUIView(context:)","parent_name":"CameraButton"},"Structs/CameraButton.html#/s:7SwiftUI19UIViewRepresentableP06updateC0_7contexty0C4TypeQz_AA0cD7ContextVyxGtF":{"name":"updateUIView(_:context:)","parent_name":"CameraButton"},"Structs/CameraButton/Coordinator.html":{"name":"Coordinator","parent_name":"CameraButton"},"Structs/CameraButton.html":{"name":"CameraButton","abstract":"

Undocumented

"},"Structs/CameraView.html":{"name":"CameraView","abstract":"

Undocumented

"},"Structs/CarouselView.html":{"name":"CarouselView","abstract":"

Undocumented

"},"Structs/ImagePreviewView.html":{"name":"ImagePreviewView","abstract":"

Undocumented

"},"Structs/MediaPickerView.html":{"name":"MediaPickerView","abstract":"

Undocumented

"},"Structs/PreviewView.html":{"name":"PreviewView","abstract":"

Undocumented

"},"Structs/VideoPreviewView.html":{"name":"VideoPreviewView","abstract":"

Undocumented

"},"Classes/CameraViewState.html#/s:25SCSDKCameraKitReferenceUI26CameraControllerUIDelegateP06cameraF30RequestedActivityIndicatorShowyyAA0eF0CF":{"name":"cameraControllerRequestedActivityIndicatorShow(_:)","parent_name":"CameraViewState"},"Classes/CameraViewState.html#/s:25SCSDKCameraKitReferenceUI26CameraControllerUIDelegateP06cameraF30RequestedActivityIndicatorHideyyAA0eF0CF":{"name":"cameraControllerRequestedActivityIndicatorHide(_:)","parent_name":"CameraViewState"},"Classes/CameraViewState.html#/s:25SCSDKCameraKitReferenceUI26CameraControllerUIDelegateP06cameraF0_13updatedLensesyAA0eF0C_SaySo08SCCameraB4Lens_pGtF":{"name":"cameraController(_:updatedLenses:)","parent_name":"CameraViewState"},"Classes/CameraViewState.html#/s:25SCSDKCameraKitReferenceUI26CameraControllerUIDelegateP06cameraF0_20requestedHintDisplay3for8autohideyAA0eF0C_SSSo08SCCameraB4Lens_pSbtF":{"name":"cameraController(_:requestedHintDisplay:for:autohide:)","parent_name":"CameraViewState"},"Classes/CameraViewState.html#/s:25SCSDKCameraKitReferenceUI26CameraControllerUIDelegateP06cameraF0_20requestedHintHideForyAA0eF0C_So08SCCameraB4Lens_ptF":{"name":"cameraController(_:requestedHintHideFor:)","parent_name":"CameraViewState"},"Classes/CameraViewState.html#/s:25SCSDKCameraKitReferenceUI26CameraControllerUIDelegateP06cameraF22RequestedRingLightShowyyAA0eF0CF":{"name":"cameraControllerRequestedRingLightShow(_:)","parent_name":"CameraViewState"},"Classes/CameraViewState.html#/s:25SCSDKCameraKitReferenceUI26CameraControllerUIDelegateP06cameraF22RequestedRingLightHideyyAA0eF0CF":{"name":"cameraControllerRequestedRingLightHide(_:)","parent_name":"CameraViewState"},"Classes/CameraViewState.html#/s:25SCSDKCameraKitReferenceUI26CameraControllerUIDelegateP06cameraF25RequestedFlashControlHideyyAA0eF0CF":{"name":"cameraControllerRequestedFlashControlHide(_:)","parent_name":"CameraViewState"},"Classes/CameraViewState.html#/s:25SCSDKCameraKitReferenceUI26CameraControllerUIDelegateP06cameraF32RequestedSnapAttributionViewShowyyAA0eF0CF":{"name":"cameraControllerRequestedSnapAttributionViewShow(_:)","parent_name":"CameraViewState"},"Classes/CameraViewState.html#/s:25SCSDKCameraKitReferenceUI26CameraControllerUIDelegateP06cameraF32RequestedSnapAttributionViewHideyyAA0eF0CF":{"name":"cameraControllerRequestedSnapAttributionViewHide(_:)","parent_name":"CameraViewState"},"Classes/CameraViewState.html#/s:25SCSDKCameraKitReferenceUI26CameraControllerUIDelegateP06cameraf9RequestedE4FlipyyAA0eF0CF":{"name":"cameraControllerRequestedCameraFlip(_:)","parent_name":"CameraViewState"},"Classes/CameraViewState.html":{"name":"CameraViewState","abstract":"

Undocumented

"},"Classes.html":{"name":"Classes","abstract":"

The following classes are available globally.

"},"Structs.html":{"name":"Structures","abstract":"

The following structures are available globally.

"}} \ No newline at end of file diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/undocumented.json b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/undocumented.json new file mode 100644 index 000000000..e128f7c13 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceSwiftUI/undocumented.json @@ -0,0 +1,96 @@ +{ + "warnings": [ + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/CameraKitSandbox/Sources/Reference/SwiftUI/CameraButton.swift", + "line": 9, + "symbol": "CameraButton", + "symbol_kind": "source.lang.swift.decl.struct", + "warning": "undocumented" + }, + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/CameraKitSandbox/Sources/Reference/SwiftUI/CameraButton.swift", + "line": 53, + "symbol": "CameraButton", + "symbol_kind": "source.lang.swift.decl.extension", + "warning": "undocumented" + }, + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/CameraKitSandbox/Sources/Reference/SwiftUI/CameraView.swift", + "line": 9, + "symbol": "CameraView", + "symbol_kind": "source.lang.swift.decl.struct", + "warning": "undocumented" + }, + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/CameraKitSandbox/Sources/Reference/SwiftUI/CameraView.swift", + "line": 16, + "symbol": "CameraView.init(cameraController:)", + "symbol_kind": "source.lang.swift.decl.function.method.instance", + "warning": "undocumented" + }, + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/CameraKitSandbox/Sources/Reference/SwiftUI/CameraViewState.swift", + "line": 10, + "symbol": "CameraViewState", + "symbol_kind": "source.lang.swift.decl.class", + "warning": "undocumented" + }, + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/CameraKitSandbox/Sources/Reference/SwiftUI/CameraViewState.swift", + "line": 76, + "symbol": "CameraViewState", + "symbol_kind": "source.lang.swift.decl.extension", + "warning": "undocumented" + }, + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/CameraKitSandbox/Sources/Reference/SwiftUI/CarouselView.swift", + "line": 9, + "symbol": "CarouselView", + "symbol_kind": "source.lang.swift.decl.struct", + "warning": "undocumented" + }, + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/CameraKitSandbox/Sources/Reference/SwiftUI/CarouselView.swift", + "line": 40, + "symbol": "CarouselView", + "symbol_kind": "source.lang.swift.decl.extension", + "warning": "undocumented" + }, + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/CameraKitSandbox/Sources/Reference/SwiftUI/CarouselView.swift", + "line": 70, + "symbol": "CarouselView.Coordinator.item(for:)", + "symbol_kind": "source.lang.swift.decl.function.method.instance", + "warning": "undocumented" + }, + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/CameraKitSandbox/Sources/Reference/SwiftUI/ImagePreviewView.swift", + "line": 9, + "symbol": "ImagePreviewView", + "symbol_kind": "source.lang.swift.decl.struct", + "warning": "undocumented" + }, + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/CameraKitSandbox/Sources/Reference/SwiftUI/MediaPickerView.swift", + "line": 9, + "symbol": "MediaPickerView", + "symbol_kind": "source.lang.swift.decl.struct", + "warning": "undocumented" + }, + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/CameraKitSandbox/Sources/Reference/SwiftUI/PreviewView.swift", + "line": 8, + "symbol": "PreviewView", + "symbol_kind": "source.lang.swift.decl.struct", + "warning": "undocumented" + }, + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/CameraKitSandbox/Sources/Reference/SwiftUI/VideoPreviewView.swift", + "line": 9, + "symbol": "VideoPreviewView", + "symbol_kind": "source.lang.swift.decl.struct", + "warning": "undocumented" + } + ], + "source_directory": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk" +} \ No newline at end of file diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Classes.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Classes.html new file mode 100644 index 000000000..73a0e7b50 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Classes.html @@ -0,0 +1,1230 @@ + + + + Classes Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.36.1 Docs + + (60% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

Classes

+

The following classes are available globally.

+ +
+
+ +
+
+
+
+ + +
+ +

Class Definition and State +

+
+
+
    +
  • +
    + + + + CameraController + +
    +
    +
    +
    +
    +
    +

    A controller which manages the camera and lenses stack on behalf of its owner

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    open class CameraController: NSObject, LensRepositoryGroupObserver, LensPrefetcherObserver, LensHintDelegate,
    +    MediaPickerViewDelegate, AdjustmentControlViewDelegate
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + CameraButton + +
    +
    +
    +
    +
    +
    +

    Camera ring view for capturing and recording state

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public class CameraButton : UIView, UIGestureRecognizerDelegate
    +
    extension CameraButton: CAAnimationDelegate
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + AdjustmentControlView + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public class AdjustmentControlView : UIView
    +
    extension AdjustmentControlView: ControlSliderDelegate
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + ControlSlider + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public class ControlSlider : UISlider
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + CameraActionsView + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public class CameraActionsView : UIView
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    View to use for camera actions that can be enabled/disabled and configured via separate buttons.

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public class CameraConfigurableActionView : UIView
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + CameraView + +
    +
    +
    +
    +
    +
    +

    This is the default view that backs the CameraViewController.

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    open class CameraView : UIView
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + CameraViewController + +
    +
    +
    +
    +
    +
    +

    This is the default view controller which handles setting up the camera, lenses, carousel, etc.

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    open class CameraViewController : UIViewController, CameraControllerUIDelegate
    +
    extension CameraViewController: AdjustmentsProcessorObserver
    +
    extension CameraViewController: CarouselViewDelegate, CarouselViewDataSource
    +
    extension CameraViewController: CameraButtonDelegate
    +
    extension CameraViewController: FlashControlViewDelegate
    +
    extension CameraViewController: UIAdaptivePresentationControllerDelegate
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + FlashControlView + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public class FlashControlView : UIView
    +
    extension FlashControlView: FlashModeSelectionViewDelegate
    +
    extension FlashControlView: ControlSliderDelegate
    +
    extension FlashControlView: RingLightColorSelectionViewDelegate
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public class FlashModeSelectionView : UIView
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public class RingLightColorSelectionView : UIView
    +
    extension RingLightColorSelectionView: UICollectionViewDelegate
    +
    extension RingLightColorSelectionView: UICollectionViewDataSource
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public class RingLightColorSelectionViewCell : UICollectionViewCell
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + RingLightGradientView + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public class RingLightGradientView : UIView
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + RingLightView + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public class RingLightView : UIView
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Carousel collection view cell which represents a single lens item/icon

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public class CarouselCollectionViewCell : UICollectionViewCell
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Custom collection view layout for carousel collection view

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public class CarouselCollectionViewLayout : UICollectionViewFlowLayout
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Default image loader class which uses a URLSession to load images

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public class DefaultCarouselImageLoader : CarouselImageLoader
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + CarouselItem + +
    +
    +
    +
    +
    +
    +

    This is the carousel item view model which represents a specific lens icon

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public class CarouselItem : Identifiable, Equatable
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + EmptyItem + +
    +
    +
    +
    +
    +
    +

    Concrete class for an empty item (clear camera button)

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public class EmptyItem : CarouselItem
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + CarouselView + +
    +
    +
    +
    +
    +
    +

    A view that manages an ordered collection of data items (eg. lenses) and displays them in a swipeable row with one item always selected.

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public class CarouselView : UIView, UICollectionViewDataSource, UICollectionViewDelegateFlowLayout
    +
    extension CarouselView: CarouselCollectionViewLayoutDelegate
    +
    extension CarouselView: CarouselCollectionViewLayoutDataSource
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + BundleHelper + +
    +
    +
    +
    +
    +
    +

    Internal helper to deal with resources bundle

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public class BundleHelper
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Reference implementation of a text input view for lenses that take text input.

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    @objc
    +public class KeyboardAccessoryViewProvider : NSObject, TextInputKeyboardAccessoryProvider
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + MediaPickerView + +
    +
    +
    +
    +
    +
    +

    Selection view for Media Picker

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public class MediaPickerView : UIView
    +
    extension MediaPickerView: LensMediaPickerProviderUIDelegate
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Preview view controller for showing captured photos and images

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public class ImagePreviewViewController : PreviewViewController
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + PreviewViewController + +
    +
    +
    +
    +
    +
    +

    Base preview view controller that describes properties and views of all preview controllers

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public class PreviewViewController : UIViewController
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Preview view controller for showing recorded video previews

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public class VideoPreviewViewController : PreviewViewController
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + Recorder + +
    +
    +
    +
    +
    +
    +

    Sample video recorder implementation.

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public class Recorder
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + UserDataProvider + +
    +
    +
    +
    +
    +
    +

    Default user data provider to show how to provide user data to CameraKit

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public class UserDataProvider : NSObject, SCSDKCameraKit.UserDataProvider
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + CameraBottomBar + +
    +
    +
    +
    +
    +
    +

    Bottom bar on Camera that contains Snap ghost button for actions +as well as close button to clear current lens

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public class CameraBottomBar : UIView
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Popup message notification view for different lens events

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public class MessageNotificationView : UIView
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + SnapAttributionView + +
    +
    +
    +
    +
    +
    +

    Snap attribution on Camera that contains “Powered by” and Snap ghost icon

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public class SnapAttributionView : UIView
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + TapAnimationView + +
    +
    +
    +
    +
    +
    +

    View that appears when the user taps on the camera view

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public class TapAnimationView : UIView
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Classes/AdjustmentControlView.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Classes/AdjustmentControlView.html new file mode 100644 index 000000000..79f51b563 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Classes/AdjustmentControlView.html @@ -0,0 +1,598 @@ + + + + AdjustmentControlView Class Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.36.1 Docs + + (60% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

AdjustmentControlView

+
+
+ +
public class AdjustmentControlView : UIView
+
extension AdjustmentControlView: ControlSliderDelegate
+ +
+
+

Undocumented

+ +
+
+ +
+
+
+
    +
  • +
    + + + + Variant + +
    +
    +
    +
    +
    +
    +

    Adjustments that can be controlled via this view. +Used to set the tag field of the view so the delegate can disambiguate between different adjustments.

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public enum Variant : Int
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + delegate + +
    +
    +
    +
    +
    +
    +

    Delegate for handling changes to the adjustment intensity slider.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public weak var delegate: AdjustmentControlViewDelegate?
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + intensityValue + +
    +
    +
    +
    +
    +
    +

    The intensity of the adjustment according to the control’s slider’s value.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var intensityValue: Float { get set }
    + +
    +
    +
    +
    +
  • +
+
+
+
+ + +
+ +

Views +

+
+
+
    +
  • +
    + + + + primaryLabel + +
    +
    +
    +
    +
    +
    +

    Primary label for the control.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public let primaryLabel: UILabel
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + secondaryLabel + +
    +
    +
    +
    +
    +
    +

    Secondary label for the control.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public let secondaryLabel: UILabel
    + +
    +
    +
    +
    +
  • +
+
+
+
+ + +
+ +

Init +

+
+
+
    +
  • +
    + + + + init(frame:) + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    override public init(frame: CGRect)
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + layoutSubviews() + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    override public func layoutSubviews()
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + intrinsicContentSize + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    override public var intrinsicContentSize: CGSize { get }
    + +
    +
    +
    +
    +
  • +
+
+
+
+ + +
+ +

Control Slider Delegate +

+
+
+ +
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Classes/AdjustmentControlView/Variant.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Classes/AdjustmentControlView/Variant.html new file mode 100644 index 000000000..6c548398b --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Classes/AdjustmentControlView/Variant.html @@ -0,0 +1,396 @@ + + + + Variant Enumeration Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.36.1 Docs + + (60% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

Variant

+
+
+ +
public enum Variant : Int
+ +
+
+

Adjustments that can be controlled via this view. +Used to set the tag field of the view so the delegate can disambiguate between different adjustments.

+ +
+
+ +
+
+
+
    +
  • +
    + + + + tone + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    case tone
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + portrait + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    case portrait
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + label + +
    +
    +
    +
    +
    +
    +

    Text for the primary label of the control with the specified variant.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var label: String { get }
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Classes/BundleHelper.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Classes/BundleHelper.html new file mode 100644 index 000000000..1b5148b3e --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Classes/BundleHelper.html @@ -0,0 +1,342 @@ + + + + BundleHelper Class Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.36.1 Docs + + (60% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

BundleHelper

+
+
+ +
public class BundleHelper
+ +
+
+

Internal helper to deal with resources bundle

+ +
+
+ +
+
+
+
    +
  • +
    + + + + resourcesBundle + +
    +
    +
    +
    +
    +
    +

    Internal helper computed property to get correct resources bundle +(ie. if pods, look for bundle inside main bundle)

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public class var resourcesBundle: Bundle { get }
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Classes/CameraActionsView.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Classes/CameraActionsView.html new file mode 100644 index 000000000..994cac2c9 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Classes/CameraActionsView.html @@ -0,0 +1,673 @@ + + + + CameraActionsView Class Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.36.1 Docs + + (60% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

CameraActionsView

+
+
+ +
public class CameraActionsView : UIView
+ +
+
+

Undocumented

+ +
+
+ +
+
+
+
+ + +
+ +

Views +

+
+
+
    +
  • +
    + + + + flipCameraButton + +
    +
    +
    +
    +
    +
    +

    Button to flip camera input position

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public lazy var flipCameraButton: UIButton { get set }
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public lazy var flashToggleButtonBaseSelectedImage: UIImage? { get set }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + flashActionView + +
    +
    +
    +
    +
    +
    +

    View with buttons to enable/disable flash and switch between system flash and ring light.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public lazy var flashActionView: CameraConfigurableActionView { get set }
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Sets up the flash toggle button for front flash.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func setupFlashToggleButtonForFront()
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Sets up the flash toggle button for back flash.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func setupFlashToggleButtonForBack()
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + toneMapActionView + +
    +
    +
    +
    +
    +
    +

    View with buttons to enable/disable the tone map adjustment and control the intensity of the adjustment.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public lazy var toneMapActionView: CameraConfigurableActionView { get set }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + portraitActionView + +
    +
    +
    +
    +
    +
    +

    View with buttons to enable/disable the portrait adjustment and control the intensity of the adjustment.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public lazy var portraitActionView: CameraConfigurableActionView { get set }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + buttonStackView + +
    +
    +
    +
    +
    +
    +

    Stack view used to arrange the view’s buttons.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public lazy var buttonStackView: UIStackView { get set }
    + +
    +
    +
    +
    +
  • +
+
+
+
+ + +
+ +

Recording Handling +

+
+
+
    +
  • +
    + + + + collapse() + +
    +
    +
    +
    +
    +
    +

    Hide all camera actions except camera flip while recording.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func collapse()
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + expand() + +
    +
    +
    +
    +
    +
    +

    Unhide all camera actions that were hidden as a result of a call to collapse.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func expand()
    + +
    +
    +
    +
    +
  • +
+
+
+
+ + +
+ +

Init +

+
+
+
    +
  • +
    + + + + init(frame:) + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    override public init(frame: CGRect)
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + layoutSubviews() + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    override public func layoutSubviews()
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Classes/CameraBottomBar.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Classes/CameraBottomBar.html new file mode 100644 index 000000000..6a351d44d --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Classes/CameraBottomBar.html @@ -0,0 +1,369 @@ + + + + CameraBottomBar Class Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.36.1 Docs + + (60% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

CameraBottomBar

+
+
+ +
public class CameraBottomBar : UIView
+ +
+
+

Bottom bar on Camera that contains Snap ghost button for actions +as well as close button to clear current lens

+ +
+
+ +
+
+
+
    +
  • +
    + + + + snapButton + +
    +
    +
    +
    +
    +
    +

    Snap ghost button for lens actions

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public let snapButton: UIButton
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + closeButton + +
    +
    +
    +
    +
    +
    +

    Close button to clear current lens

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public let closeButton: UIButton
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Classes/CameraButton.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Classes/CameraButton.html new file mode 100644 index 000000000..c55f02f14 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Classes/CameraButton.html @@ -0,0 +1,924 @@ + + + + CameraButton Class Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.36.1 Docs + + (60% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

CameraButton

+
+
+ +
public class CameraButton : UIView, UIGestureRecognizerDelegate
+
extension CameraButton: CAAnimationDelegate
+ +
+
+

Camera ring view for capturing and recording state

+ +
+
+ +
+
+
+
    +
  • +
    + + + + Constants + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public enum Constants
    + +
    +
    +
    +
    +
  • +
+
+
+
+ + +
+ +

Properties +

+
+
+
    +
  • +
    + + + + delegate + +
    +
    +
    +
    +
    +
    +

    Camera button delegate

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public weak var delegate: CameraButtonDelegate?
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + minimumHoldDuration + +
    +
    +
    +
    +
    +
    +

    The minimum time for a hold to be considered “valid.” +If the user holds and releases for a duration shorter than specified, the camera button will act as though it has been tapped instead of held.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var minimumHoldDuration: TimeInterval
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + ringWidth + +
    +
    +
    +
    +
    +
    +

    Line width for camera ring

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var ringWidth: CGFloat { get set }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + allowWhileRecording + +
    +
    +
    +
    +
    +
    +

    List of allowed gestures to be used when recording a video(LongPressGesture) i.e. Double Tap Gesture, Pinch Gesture.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var allowWhileRecording: [UIGestureRecognizer]
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + ringColor + +
    +
    +
    +
    +
    +
    +

    Ring color while recording

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var ringColor: UIColor? { get set }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + tapGestureRecognizer + +
    +
    +
    +
    +
    +
    +

    Tap gesture recognizer that is used to recognize taps on the camera button +to notify delegate that camera button was tapped to trigger an action (ie. capture)

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public private(set) lazy var tapGestureRecognizer: UITapGestureRecognizer { get set }
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Long press gesture recognizer used to handle recording gesture +NOTE: this gets added to superview when the view is added, +so that all touches can be passed through this view +until the gesture is recognized in which it will then eat up all the touches

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public private(set) lazy var pressGestureRecognizer: UILongPressGestureRecognizer { get set }
    + +
    +
    +
    +
    +
  • +
+
+
+
+ + +
+ +

Init +

+
+
+
    +
  • +
    + + + + init() + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public init()
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + init(frame:) + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    override public init(frame: CGRect)
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + init(coder:) + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public required init?(coder: NSCoder)
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + layoutSubviews() + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    override public func layoutSubviews()
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + intrinsicContentSize + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    override public var intrinsicContentSize: CGSize { get }
    + +
    +
    +
    +
    +
  • +
+
+
+
+ + +
+ +

Gesture Recognizer +

+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    override public func willMove(toSuperview newSuperview: UIView?)
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func gestureRecognizer(
    +    _ gestureRecognizer: UIGestureRecognizer,
    +    shouldRecognizeSimultaneouslyWith otherGestureRecognizer: UIGestureRecognizer
    +) -> Bool
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldReceive touch: UITouch) -> Bool
    + +
    +
    +
    +
    +
  • +
+
+
+
+ + +
+ +

Animation +

+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Start animating ring fill +Call this function when gesture recognizer begins

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func startRecordingAnimation(
    +    ringFillDuration: TimeInterval = 10.0,
    +    maxRecordingDuration: TimeInterval = 60.0
    +)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + +
    + + ringFillDuration + + +
    +

    Duration of ring fill recording animation.

    +
    +
    + + maxRecordingDuration + + +
    +

    The max duration of a recorded video.

    +
    +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Stop animating ring fill and reset views to original state +Call this function when gesture recognizer ends, cancels, or fails

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func stopRecordingAnimation()
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func animationDidStop(_ anim: CAAnimation, finished flag: Bool)
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Classes/CameraConfigurableActionView.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Classes/CameraConfigurableActionView.html new file mode 100644 index 000000000..5e2405575 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Classes/CameraConfigurableActionView.html @@ -0,0 +1,756 @@ + + + + CameraConfigurableActionView Class Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.36.1 Docs + + (60% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

CameraConfigurableActionView

+
+
+ +
public class CameraConfigurableActionView : UIView
+ +
+
+

View to use for camera actions that can be enabled/disabled and configured via separate buttons.

+ +
+
+ +
+
+
+
+ + +
+ +

Public +

+
+
+
    +
  • +
    + + + + configurable + +
    +
    +
    +
    +
    +
    +

    Whether or not the action is currently configurable via a control view. +If this is false, then the action can only be toggled on/off.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var configurable: Bool { get set }
    + +
    +
    +
    +
    +
  • +
+
+
+
+ + +
+ +

Views +

+
+
+
    +
  • +
    + + + + toggleButton + +
    +
    +
    +
    +
    +
    +

    Button used to enable/disable camera action. +By default, this button has no image and it should be set.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public lazy var toggleButton: UIButton { get set }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + configurationButton + +
    +
    +
    +
    +
    +
    +

    Button used to open/close the settings for the camera action. +By default, this button has no image and it should be set.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public lazy var configurationButton: UIButton { get set }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + blurEffectView + +
    +
    +
    +
    +
    +
    +

    View that provides the stack view with its blurred background.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public let blurEffectView: UIVisualEffectView
    + +
    +
    +
    +
    +
  • +
+
+
+
+ + +
+ +

View Configuration +

+
+
+
    +
  • +
    + + + + collapse() + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func collapse()
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + expand() + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func expand()
    + +
    +
    +
    +
    +
  • +
+
+
+
+ + +
+ +

Init +

+
+
+
    +
  • +
    + + + + init(frame:) + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    override public init(frame: CGRect)
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + init(coder:) + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public required init?(coder: NSCoder)
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + layoutSubviews() + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    override public func layoutSubviews()
    + +
    +
    +
    +
    +
  • +
+
+
+
+ + +
+ +

Callbacks +

+
+
+
    +
  • +
    + + + + enableAction + +
    +
    +
    +
    +
    +
    +

    Callback to enable the camera action when the toggle button is selected.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var enableAction: (() -> Void)?
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + disableAction + +
    +
    +
    +
    +
    +
    +

    Callback to disable the camera action when the toggle button is deselected.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var disableAction: (() -> Void)?
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + showActionSettings + +
    +
    +
    +
    +
    +
    +

    Callback to show the settings for the camera action.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var showActionSettings: (() -> Void)?
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + hideActionSettings + +
    +
    +
    +
    +
    +
    +

    Callback to hide the settings for the camera action.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var hideActionSettings: (() -> Void)?
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Callback to toggle the visibility of the settings for the camera action.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var toggleActionSettingsVisibility: (() -> Void)?
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Classes/CameraController.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Classes/CameraController.html new file mode 100644 index 000000000..88d7b84ea --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Classes/CameraController.html @@ -0,0 +1,2095 @@ + + + + CameraController Class Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.36.1 Docs + + (60% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

CameraController

+
+
+ +
open class CameraController: NSObject, LensRepositoryGroupObserver, LensPrefetcherObserver, LensHintDelegate,
+    MediaPickerViewDelegate, AdjustmentControlViewDelegate
+ +
+
+

A controller which manages the camera and lenses stack on behalf of its owner

+ +
+
+ +
+
+
+
+ + +
+ +

Public vars +

+
+
+
    +
  • +
    + + + + captureSession + +
    +
    +
    +
    +
    +
    +

    A capture session we’ll use for camera input.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public let captureSession: AVCaptureSession
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + cameraKit + +
    +
    +
    +
    +
    +
    +

    The CameraKit session

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public let cameraKit: CameraKitProtocol
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + cameraPosition + +
    +
    +
    +
    +
    +
    +

    The position of the camera.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public private(set) var cameraPosition: AVCaptureDevice.Position { get set }
    + +
    +
    +
    +
    +
  • +
+
+
+
+ + +
+ +

Outputs +

+
+
+
    +
  • +
    + + + + photoCaptureOutput + +
    +
    +
    +
    +
    +
    +

    An output used for taking still photos.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public private(set) var photoCaptureOutput: PhotoCaptureOutput? { get }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + recorder + +
    +
    +
    +
    +
    +
    +

    An output used for recording videos.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public private(set) var recorder: Recorder? { get }
    + +
    +
    +
    +
    +
  • +
+
+
+
+ + +
+ +

Data providers +

+
+
+
    +
  • +
    + + + + lensMediaProvider + +
    +
    +
    +
    +
    +
    +

    Media provider for CameraKit.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public let lensMediaProvider: LensMediaPickerProviderPhotoLibrary
    + +
    +
    +
    +
    +
  • +
+
+
+
+ + +
+ +

Delegates +

+
+
+
    +
  • +
    + + + + snapchatDelegate + +
    +
    +
    +
    +
    +
    +

    Snapchat delegate for requests to open the main Snapchat app.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public weak var snapchatDelegate: SnapchatDelegate?
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + uiDelegate + +
    +
    +
    +
    +
    +
    +

    Delegate for responding to UI requests from camera controller.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public weak var uiDelegate: CameraControllerUIDelegate?
    + +
    +
    +
    +
    +
  • +
+
+
+
+ + +
+ +

State +

+
+
+
    +
  • +
    + + + + currentLens + +
    +
    +
    +
    +
    +
    +

    The currently selected and active lens.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public private(set) var currentLens: Lens? { get }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + groupIDs + +
    +
    +
    +
    +
    +
    +

    List of lens repository groups to observe/show in carousel

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var groupIDs: [String] { get set }
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Whether or not the tone map adjustment is available for the current device. +This variable should be checked before showing any UI associated with the tone map adjustment.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var isToneMapAdjustmentAvailable: Bool { get }
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Whether or not the portrait adjustment is available for the current device. +This variable should be checked before showing any UI associated with the portrait adjustment.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var isPortraitAdjustmentAvailable: Bool { get }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + flashState + +
    +
    +
    +
    +
    +
    +

    The current state of the camera flash.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var flashState: FlashState { get set }
    + +
    +
    +
    +
    +
  • +
+
+
+
+ + +
+ +

Initializers +

+
+
+
    +
  • +
    + + + + init(sessionConfig:) + +
    +
    +
    +
    +
    +
    +

    Returns a camera controller that is initialized with a newly created AVCaptureSession stack +and CameraKit session with the specified configuration and list of group IDs.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public convenience init(sessionConfig: SessionConfig? = nil)
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + sessionConfig + + +
    +

    Config to configure session with application id and api token. +Pass this in if you wish to dynamically update or overwrite the application id and api token in the application’s Info.plist.

    +
    +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Init with camera kit session, capture session, and lens holder

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public init(cameraKit: CameraKitProtocol, captureSession: AVCaptureSession)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + +
    + + cameraKit + + +
    +

    camera kit session

    +
    +
    + + captureSession + + +
    +

    avcapturesession

    +
    +
    +
    +
    +
    +
  • +
+
+
+
+ + +
+ +

Configuration +

+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Configures the overall camera and lenses stack.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func configure(
    +    orientation: AVCaptureVideoOrientation,
    +    textInputContextProvider: TextInputContextProvider?,
    +    agreementsPresentationContextProvider: AgreementsPresentationContextProvider?,
    +    completion: (() -> Void)?
    +)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + +
    + + orientation + + +
    +

    the orientation

    +
    +
    + + completion + + +
    +

    a nullable completion that is called after configuration is done. + In case it’s a first app start (when camera permission is not determined yet) a completion will be called after the prompt.

    +
    +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Configures the lenses pipeline.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    open func configureLenses(
    +    orientation: AVCaptureVideoOrientation,
    +    textInputContextProvider: TextInputContextProvider?,
    +    agreementsPresentationContextProvider: AgreementsPresentationContextProvider?
    +)
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + orientation + + +
    +

    the camera orientation.

    +
    +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Configures the data provider for lenses. Subclasses may override this to customize their data provider.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    open func configureDataProvider() -> DataProviderComponent
    + +
    +
    +
    +

    Return Value

    +

    a configured data provider.

    +
    +
    +
    +
  • +
+
+
+
+ + +
+ +

Camera Control +

+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Zoom in by a given factor from whatever the current zoom level is

    +
    +

    Note

    + the zoom level will be capped to a minimum level of 1.0. + +
    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func zoomExistingLevel(by factor: CGFloat)
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + factor + + +
    +

    the factor to zoom by.

    +
    +
    +
    +
    +
    +
  • +
  • +
    + + + + finalizeZoom() + +
    +
    +
    +
    +
    +
    +

    Save whatever the current zoom level is.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func finalizeZoom()
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + flipCamera() + +
    +
    +
    +
    +
    +
    +

    Flips the camera to the other side

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func flipCamera()
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Options to support when setting a point of interest

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public struct PointOfInterestOptions : OptionSet
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Sets camera point of interest for operations in the option set. Also adds observers for the current device such +that once the focusing/exposure rebalancing operations are complete, continuous autofocus/autoexposure +are restored (see observeValue)

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func setPointOfInterest(at point: CGPoint, for options: PointOfInterestOptions = [.exposure, .focus])
    + +
    +
    +
    +
    +
  • +
+
+
+
+ + +
+ +

Taking Photos +

+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Takes a photo.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    open func takePhoto(completion: ((UIImage?, Error?) -> Void)?)
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + completion + + +
    +

    completion to be called with the photo or an error.

    +
    +
    +
    +
    +
    +
  • +
+
+
+
+ + +
+ +

LensRepositoryGroupObserver +

+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    open func repository(_ repository: LensRepository, didUpdateLenses lenses: [Lens], forGroupID groupID: String)
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    open func repository(
    +    _ repository: LensRepository, didFailToUpdateLensesForGroupID groupID: String, error: Error?
    +)
    + +
    +
    +
    +
    +
  • +
+
+
+
+ + +
+ +

LensPrefetcherObserver +

+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func prefetcher(_ prefetcher: LensPrefetcher, didUpdate lens: Lens, status: LensFetchStatus)
    + +
    +
    +
    +
    +
  • +
+
+
+
+ + +
+ +

Recording +

+
+
+
    +
  • +
    + + + + startRecording() + +
    +
    +
    +
    +
    +
    +

    Begin recording video.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    open func startRecording()
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + cancelRecording() + +
    +
    +
    +
    +
    +
    +

    Cancel recording video.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    open func cancelRecording()
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Finish recording the video.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    open func finishRecording(completion: ((URL?, Error?) -> Void)?)
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + completion + + +
    +

    completion to be called with a URL to the recorded video or an error.

    +
    +
    +
    +
    +
    +
  • +
+
+
+
+ + +
+ +

Lens Application +

+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Apply a specified lens.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func applyLens(_ lens: Lens, completion: ((Bool) -> Void)? = nil)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + +
    + + lens + + +
    +

    selected lens

    +
    +
    + + completion + + +
    +

    callback on completion with success/failure

    +
    +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Clear the currently selected lens, and return to unmodified camera feed.

    + +
      +
    • willReapply: if true, cameraKit will not clear out the “currentLens” property, and reapplyCurrentLens will apply the lens that was cleared.
    • +
    • completion: callback on completion with success/failure
    • +
    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func clearLens(willReapply: Bool = false, completion: ((Bool) -> Void)? = nil)
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + reapplyCurrentLens() + +
    +
    +
    +
    +
    +
    +

    If a lens has already been applied, reapply it.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func reapplyCurrentLens()
    + +
    +
    +
    +
    +
  • +
+
+
+
+ + +
+ +

Adjustments Application +

+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Enables the tone map adjustment.

    +
    +

    Note

    + Before calling this function, check whether or not the adjustment is available for the device. See isToneMapAdjustmentAvailable. + +
    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func enableToneMapAdjustment() -> Float?
    + +
    +
    +
    +

    Return Value

    +

    Float representing the intensity of the tone map effect.

    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Disables the tone map adjustment.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func disableToneMapAdjustment()
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Enables the portrait adjustment.

    +
    +

    Note

    + Before calling this function, check whether or not the adjustment is available for the device. See isPortraitAdjustmentAvailable. + +
    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func enablePortraitAdjustment() -> Float?
    + +
    +
    +
    +

    Return Value

    +

    Float representing the intensity of the portrait blur effect.

    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Disables the portrait adjustment.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func disablePortraitAdjustment()
    + +
    +
    +
    +
    +
  • +
+
+
+
+ + +
+ +

LensHintDelegate +

+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func lensProcessor(
    +    _ lensProcessor: LensProcessor, shouldDisplayHint hint: String, for lens: Lens, autohide: Bool
    +)
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func lensProcessor(_ lensProcessor: LensProcessor, shouldHideAllHintsFor lens: Lens)
    + +
    +
    +
    +
    +
  • +
+
+
+
+ + +
+ +

MediaPickerViewDelegate +

+
+
+ +
+
+
+ + +
+ +

AdjustmentsControlViewDelegate +

+
+
+ +
+
+
+ + +
+ +

Private vars +

+
+
+
    +
  • +
    + + + + brightnessToRestore + +
    +
    +
    +
    +
    +
    +

    Temporary state that holds the brightness that should be restored after the ring light is disabled.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var brightnessToRestore: CGFloat?
    + +
    +
    +
    +
    +
  • +
+
+
+
+ + +
+ +

Flash +

+
+
+
    +
  • +
    + + + + FlashMode + +
    +
    +
    +
    +
    +
    +

    Enumerates the different flash enabled modes.

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    enum FlashMode : Int
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + FlashState + +
    +
    +
    +
    +
    +
    +

    Enumerates the different possible flash states.

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    enum FlashState : Equatable
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + enableFlash() + +
    +
    +
    +
    +
    +
    +

    Enables the camera flash with the appopriate flash mode as per camera position and prior user selections.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    func enableFlash()
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + disableFlash() + +
    +
    +
    +
    +
    +
    +

    Disables the camera flash.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    func disableFlash()
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Restores brightness to what it was before the ring light was enabled.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    func restoreBrightnessIfNecessary()
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Increases brightness to max if the ring light is enabled.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    func increaseBrightnessIfNecessary()
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Classes/CameraController/FlashMode.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Classes/CameraController/FlashMode.html new file mode 100644 index 000000000..55c0c1a35 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Classes/CameraController/FlashMode.html @@ -0,0 +1,368 @@ + + + + FlashMode Enumeration Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.36.1 Docs + + (60% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

FlashMode

+
+
+ +
enum FlashMode : Int
+ +
+
+

Enumerates the different flash enabled modes.

+ +
+
+ +
+
+
+
    +
  • +
    + + + + standard + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    case standard
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + ring + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    case ring
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Classes/CameraController/FlashState.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Classes/CameraController/FlashState.html new file mode 100644 index 000000000..6f08dae55 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Classes/CameraController/FlashState.html @@ -0,0 +1,422 @@ + + + + FlashState Enumeration Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.36.1 Docs + + (60% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

FlashState

+
+
+ +
enum FlashState : Equatable
+ +
+
+

Enumerates the different possible flash states.

+ +
+
+ +
+
+
+
    +
  • +
    + + + + off + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    case off
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + on(_:) + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    case on(FlashMode)
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    The AVCaptureDevice.FlashMode that should be used when taking photos as per the FlashState.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var captureDeviceFlashMode: AVCaptureDevice.FlashMode { get }
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    The AVCaptureDevice.torchMode that should be used when recording videos as per the FlashState.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var captureDeviceTorchMode: AVCaptureDevice.TorchMode { get }
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Classes/CameraController/PointOfInterestOptions.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Classes/CameraController/PointOfInterestOptions.html new file mode 100644 index 000000000..5a1cdf2ee --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Classes/CameraController/PointOfInterestOptions.html @@ -0,0 +1,420 @@ + + + + PointOfInterestOptions Structure Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.36.1 Docs + + (60% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

PointOfInterestOptions

+
+
+ +
public struct PointOfInterestOptions : OptionSet
+ +
+
+

Options to support when setting a point of interest

+ +
+
+ +
+
+
+
    +
  • +
    + + + + rawValue + +
    +
    +
    +
    +
    +
    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public let rawValue: Int
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + init(rawValue:) + +
    +
    +
    +
    +
    +
    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public init(rawValue: Int)
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + exposure + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public static let exposure: CameraController.PointOfInterestOptions
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + focus + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public static let focus: CameraController.PointOfInterestOptions
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Classes/CameraView.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Classes/CameraView.html new file mode 100644 index 000000000..6dd693630 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Classes/CameraView.html @@ -0,0 +1,1054 @@ + + + + CameraView Class Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.36.1 Docs + + (60% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

CameraView

+
+
+ +
open class CameraView : UIView
+ +
+
+

This is the default view that backs the CameraViewController.

+ +
+
+ +
+
+
+
    +
  • +
    + + + + previewView + +
    +
    +
    +
    +
    +
    +

    default camerakit view to draw outputted textures

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public let previewView: PreviewView
    + +
    +
    +
    +
    +
  • +
+
+
+
+ + +
+ +

View properties +

+
+
+
    +
  • +
    + + + + cameraBottomBar + +
    +
    +
    +
    +
    +
    +

    bottom bar below carousel

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public let cameraBottomBar: CameraBottomBar
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + hintLabel + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public let hintLabel: UILabel
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + lensLabel + +
    +
    +
    +
    +
    +
    +

    top label to show current selected lens

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public let lensLabel: UILabel
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + ringLightView + +
    +
    +
    +
    +
    +
    +

    View used for ring light effect.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public let ringLightView: RingLightView
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + cameraActionsView + +
    +
    +
    +
    +
    +
    +

    View that contains the buttons for various camera actions (flip, adjust, etc.)

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public let cameraActionsView: CameraActionsView
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + flashControlView + +
    +
    +
    +
    +
    +
    +

    Control view for switching between flash and ring light as well as controlling ring light color and intensity.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public lazy var flashControlView: FlashControlView { get set }
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Label shown beneath the ring light control that provides a hint regarding dismissing the control.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public let flashControlDismissalHint: UILabel
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + toneMapControlView + +
    +
    +
    +
    +
    +
    +

    Control view for tone map adjustment that allows the user to adjust the intensity of the tone map effect.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public let toneMapControlView: AdjustmentControlView
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Label shown beneath the tone map control that provides a hint regarding dismissing the control.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public let toneMapControlDismissalHintLabel: UILabel
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + portraitControlView + +
    +
    +
    +
    +
    +
    +

    Control view for portrait that allows the user to adjust the intensity of the portrait effect.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public let portraitControlView: AdjustmentControlView
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Label shown beneath the portrait control that provides a hint regarding dismissing the control.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public let portraitControlDismissalHintLabel: UILabel
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + carouselView + +
    +
    +
    +
    +
    +
    +

    carousel to scroll through lenses

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public let carouselView: CarouselView
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + cameraButton + +
    +
    +
    +
    +
    +
    +

    camera button to capture/record

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public let cameraButton: CameraButton
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + mediaPickerView + +
    +
    +
    +
    +
    +
    +

    media picker to allow using photos from camera roll in lenses

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public lazy var mediaPickerView: MediaPickerView { get set }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + messageView + +
    +
    +
    +
    +
    +
    +

    message view to show updates when selected lens changes

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public let messageView: MessageNotificationView
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + snapAttributionView + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public let snapAttributionView: SnapAttributionView
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + activityIndicator + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public let activityIndicator: UIActivityIndicatorView
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + init(frame:) + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    override public init(frame: CGRect)
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + layoutSubviews() + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    override open func layoutSubviews()
    + +
    +
    +
    +
    +
  • +
+
+
+
+ + +
+ +

Messages +

+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func showMessage(text: String, numberOfLines: Int, duration: TimeInterval = 1.5)
    + +
    +
    +
    +
    +
  • +
+
+
+
+ + +
+ +

Activity Indicator +

+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    func setupActivityIndicator()
    + +
    +
    +
    +
    +
  • +
+
+
+
+ + +
+ +

Camera Actions Control Helper +

+
+
+
    +
  • +
    + + + + isAnyControlVisible + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    var isAnyControlVisible: Bool { get }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + hideAllControls() + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    func hideAllControls()
    + +
    +
    +
    +
    +
  • +
+
+
+
+ + +
+ +

Tap to Focus +

+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    func drawTapAnimationView(at point: CGPoint)
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Classes/CameraViewController.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Classes/CameraViewController.html new file mode 100644 index 000000000..c165484bb --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Classes/CameraViewController.html @@ -0,0 +1,1578 @@ + + + + CameraViewController Class Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.36.1 Docs + + (60% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

CameraViewController

+
+
+ +
open class CameraViewController : UIViewController, CameraControllerUIDelegate
+
extension CameraViewController: AdjustmentsProcessorObserver
+
extension CameraViewController: CarouselViewDelegate, CarouselViewDataSource
+
extension CameraViewController: CameraButtonDelegate
+
extension CameraViewController: FlashControlViewDelegate
+
extension CameraViewController: UIAdaptivePresentationControllerDelegate
+ +
+
+

This is the default view controller which handles setting up the camera, lenses, carousel, etc.

+ +
+
+ +
+
+
+
+ + +
+ +

CameraKit properties +

+
+
+
    +
  • +
    + + + + cameraController + +
    +
    +
    +
    +
    +
    +

    A controller which manages the camera and lenses stack on behalf of the view controller

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public let cameraController: CameraController
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    App orientation delegate to control app orientation

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public weak var appOrientationDelegate: AppOrientationDelegate?
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + cameraView + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public let cameraView: CameraView
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + loadView() + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    override open func loadView()
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + viewDidLoad() + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    override open func viewDidLoad()
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + viewDidAppear(_:) + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    override open func viewDidAppear(_ animated: Bool)
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + viewDidDisappear(_:) + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    override open func viewDidDisappear(_ animated: Bool)
    + +
    +
    +
    +
    +
  • +
+
+
+
+ + +
+ +

Init +

+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Returns a camera view controller initialized with a camera controller that is configured with a newly created AVCaptureSession stack +and CameraKit session with the specified configuration and list of group IDs.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public convenience init(repoGroups: [String], sessionConfig: SessionConfig? = nil)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + +
    + + repoGroups + + +
    +

    List of group IDs to observe.

    +
    +
    + + sessionConfig + + +
    +

    Config to configure session with application id and api token. +Pass this in if you wish to dynamically update or overwrite the application id and api token in the application’s Info.plist.

    +
    +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Convenience init to configure a camera controller with a specified AVCaptureSession stack, CameraKit, and list of group IDs.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public convenience init(cameraKit: CameraKitProtocol, captureSession: AVCaptureSession, repoGroups: [String])
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + + + + + +
    + + cameraKit + + +
    +

    camera kit session

    +
    +
    + + captureSession + + +
    +

    a backing AVCaptureSession to use

    +
    +
    + + repoGroups + + +
    +

    the group IDs to observe

    +
    +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Initialize the view controller with a preconfigured camera controller

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public init(cameraController: CameraController)
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + cameraController + + +
    +

    the camera controller to use.

    +
    +
    +
    +
    +
    +
  • +
+
+
+
+ + +
+ +

Overridable Helper +

+
+
+
    +
  • +
    + + + + getMessage(lens:) + +
    +
    +
    +
    +
    +
    +

    get message to display in popup view for selected lens

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    open func getMessage(lens: Lens) -> String
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + lens + + +
    +

    selected lens

    +
    +
    +
    +
    +
    +
  • +
  • +
    + + + + showMessage(lens:) + +
    +
    +
    +
    +
    +
    +

    Displays a message indicating that a specified lens has been displayed

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    open func showMessage(lens: Lens)
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + lens + + +
    +

    the lens to display info for.

    +
    +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    override public func viewWillTransition(to size: CGSize, with coordinator: UIViewControllerTransitionCoordinator)
    + +
    +
    +
    +
    +
  • +
+
+
+
+ + +
+ +

Lenses Setup +

+
+
+
    +
  • +
    + + + + applyLens(_:) + +
    +
    +
    +
    +
    +
    +

    Apply a specific lens

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    open func applyLens(_ lens: Lens)
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + lens + + +
    +

    selected lens

    +
    +
    +
    +
    +
    +
  • +
  • +
    + + + + clearLens() + +
    +
    +
    +
    +
    +
    +

    Helper function to clear currently selected lens

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    open func clearLens()
    + +
    +
    +
    +
    +
  • +
+
+
+
+ + +
+ +

CameraControllerUIDelegate +

+
+
+ +
+
+
+ + +
+ +

Adjustment Observer +

+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func processorUpdatedAdjustmentsAvailability(_ adjustmentsProcessor: AdjustmentsProcessor)
    + +
    +
    +
    +
    +
  • +
+
+
+
+ + +
+ +

Carousel +

+
+
+ +
+
+
+ + +
+ +

Camera Button +

+
+
+ +
+
+
+ + +
+ +

Ring Light Control Delegate +

+
+
+ +
+
+
+ + +
+ +

Presentation Delegate +

+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    open func presentationControllerWillDismiss(_ presentationController: UIPresentationController)
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Classes/CarouselCollectionViewCell.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Classes/CarouselCollectionViewCell.html new file mode 100644 index 000000000..3a91bf518 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Classes/CarouselCollectionViewCell.html @@ -0,0 +1,449 @@ + + + + CarouselCollectionViewCell Class Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.36.1 Docs + + (60% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

CarouselCollectionViewCell

+
+
+ +
public class CarouselCollectionViewCell : UICollectionViewCell
+ +
+
+

Carousel collection view cell which represents a single lens item/icon

+ +
+
+ +
+
+
+
    +
  • +
    + + + + imageView + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public let imageView: UIImageView
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + activityIndicatorView + +
    +
    +
    +
    +
    +
    +

    Activity indicator view that should activate when lens content is loading

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public let activityIndicatorView: UIActivityIndicatorView
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + init() + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public init()
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + init(frame:) + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    override public init(frame: CGRect)
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + init(coder:) + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public required init?(coder: NSCoder)
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Classes/CarouselCollectionViewLayout.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Classes/CarouselCollectionViewLayout.html new file mode 100644 index 000000000..818ca8314 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Classes/CarouselCollectionViewLayout.html @@ -0,0 +1,455 @@ + + + + CarouselCollectionViewLayout Class Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.36.1 Docs + + (60% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

CarouselCollectionViewLayout

+
+
+ +
public class CarouselCollectionViewLayout : UICollectionViewFlowLayout
+ +
+
+

Custom collection view layout for carousel collection view

+ +
+
+ +
+
+
+
    +
  • +
    + + + + delegate + +
    +
    +
    +
    +
    +
    +

    Weak ref to carousel layout delegate

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public weak var delegate: CarouselCollectionViewLayoutDelegate?
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + dataSource + +
    +
    +
    +
    +
    +
    +

    Weak ref to carousel layout data source

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public weak var dataSource: CarouselCollectionViewLayoutDataSource?
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Override flow layout target content offset to land at a specific item (for the paging effect)

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    override public func targetContentOffset(
    +    forProposedContentOffset proposedContentOffset: CGPoint, withScrollingVelocity velocity: CGPoint
    +) -> CGPoint
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + +
    + + proposedContentOffset + + +
    +

    proposed content offset of flow layout to land at

    +
    +
    + + velocity + + +
    +

    scrolling velocity of collection view

    +
    +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    override public func layoutAttributesForElements(in rect: CGRect) -> [UICollectionViewLayoutAttributes]?
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Classes/CarouselItem.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Classes/CarouselItem.html new file mode 100644 index 000000000..dc3961251 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Classes/CarouselItem.html @@ -0,0 +1,557 @@ + + + + CarouselItem Class Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.36.1 Docs + + (60% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

CarouselItem

+
+
+ +
public class CarouselItem : Identifiable, Equatable
+ +
+
+

This is the carousel item view model which represents a specific lens icon

+ +
+
+ +
+
+
+
    +
  • +
    + + + + id + +
    +
    +
    +
    +
    +
    +

    id for carousel item

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public let id: String
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + lensId + +
    +
    +
    +
    +
    +
    +

    lens id

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public let lensId: String
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + groupId + +
    +
    +
    +
    +
    +
    +

    group id lens belongs to

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public let groupId: String
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + imageUrl + +
    +
    +
    +
    +
    +
    +

    image url for lens icon

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public let imageUrl: URL?
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + image + +
    +
    +
    +
    +
    +
    +

    downloaded image for lens icon

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var image: UIImage?
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Designated init for a carousel item

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public init(lensId: String, groupId: String, imageUrl: URL? = nil, image: UIImage? = nil)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + + + + + + + + + +
    + + lensId + + +
    +

    lens id

    +
    +
    + + groupId + + +
    +

    group id that lens belongs to

    +
    +
    + + imageUrl + + +
    +

    optional image url of lens icon

    +
    +
    + + image + + +
    +

    optional loaded UIImage of icon

    +
    +
    +
    +
    +
    +
  • +
  • +
    + + + + ==(_:_:) + +
    +
    +
    +
    +
    +
    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public static func == (lhs: CarouselItem, rhs: CarouselItem) -> Bool
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Classes/CarouselView.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Classes/CarouselView.html new file mode 100644 index 000000000..a7a09ad42 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Classes/CarouselView.html @@ -0,0 +1,867 @@ + + + + CarouselView Class Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.36.1 Docs + + (60% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

CarouselView

+
+
+ +
public class CarouselView : UIView, UICollectionViewDataSource, UICollectionViewDelegateFlowLayout
+
extension CarouselView: CarouselCollectionViewLayoutDelegate
+
extension CarouselView: CarouselCollectionViewLayoutDataSource
+ +
+
+

A view that manages an ordered collection of data items (eg. lenses) and displays them in a swipeable row with one item always selected.

+ +
+
+ +
+
+
+
    +
  • +
    + + + + delegate + +
    +
    +
    +
    +
    +
    +

    The delegate for the carousel view which will be notified of the carousel view actions.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public weak var delegate: CarouselViewDelegate?
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + dataSource + +
    +
    +
    +
    +
    +
    +

    The object that manages data and provides items for the carousel view.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public weak var dataSource: CarouselViewDataSource? { get set }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + reloadData() + +
    +
    +
    +
    +
    +
    +

    Reloads all of the data in the carousel view to display the latest carousel items.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func reloadData()
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + selectedItem + +
    +
    +
    +
    +
    +
    +

    Current selected item or nil if none are selected (ie. when carousel is empty).

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public private(set) var selectedItem: CarouselItem { get }
    + +
    +
    +
    +
    +
  • +
+
+
+
+ + +
+ +

Init +

+
+
+
    +
  • +
    + + + + intrinsicContentSize + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    override public var intrinsicContentSize: CGSize { get }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + layoutSubviews() + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    override public func layoutSubviews()
    + +
    +
    +
    +
    +
  • +
+
+
+
+ + +
+ +

Items +

+
+
+
    +
  • +
    + + + + selectItem(_:) + +
    +
    +
    +
    +
    +
    +

    Select carousel item +Returns true if item exists in carousel and is selected or false if failed to select item

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    @discardableResult
    +public func selectItem(_ selected: CarouselItem) -> Bool
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + selected + + +
    +

    carousel item to select

    +
    +
    +
    +
    +
    +
  • +
  • +
    + + + + hideCarousel() + +
    +
    +
    +
    +
    +
    +

    Hide lens carousel. +Sets Items to selected item and saves list to show later.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func hideCarousel()
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + showCarousel() + +
    +
    +
    +
    +
    +
    +

    Show lens carousel. +Sets Items to previous stored item list and reloads collectionView.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func showCarousel()
    + +
    +
    +
    +
    +
  • +
+
+
+
+ + +
+ +

Collection View +

+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath)
    +    -> UICollectionViewCell
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func collectionView(
    +    _ collectionView: UICollectionView, willDisplay cell: UICollectionViewCell, forItemAt indexPath: IndexPath
    +)
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func collectionView(
    +    _ collectionView: UICollectionView, didEndDisplaying cell: UICollectionViewCell, forItemAt indexPath: IndexPath
    +)
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath)
    + +
    +
    +
    +
    +
  • +
+
+
+
+ + +
+ +

Scroll View +

+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func scrollViewDidScroll(_ scrollView: UIScrollView)
    + +
    +
    +
    +
    +
  • +
+
+
+
+ + +
+ +

Collection View Layout +

+
+
+ +
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Classes/ControlSlider.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Classes/ControlSlider.html new file mode 100644 index 000000000..94dd15b06 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Classes/ControlSlider.html @@ -0,0 +1,482 @@ + + + + ControlSlider Class Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.36.1 Docs + + (60% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

ControlSlider

+
+
+ +
public class ControlSlider : UISlider
+ +
+
+

Undocumented

+ +
+
+ +
+
+
+
    +
  • +
    + + + + delegate + +
    +
    +
    +
    +
    +
    +

    Delegate for handling updates to the slider’s value.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public weak var delegate: ControlSliderDelegate?
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + setValue(_:animated:) + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    override public func setValue(_ value: Float, animated: Bool)
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + setThumbColor(_:) + +
    +
    +
    +
    +
    +
    +

    Sets the color of the slider’s thumb.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    @available(iOS 13.0, *)
    +public func setThumbColor(_ color: UIColor)
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + color + + +
    +

    The color to set for the the slider’s thumb.

    +
    +
    +
    +
    +
    +
  • +
+
+
+
+ + +
+ +

Init +

+
+
+
    +
  • +
    + + + + layoutSubviews() + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    override public func layoutSubviews()
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + intrinsicContentSize + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    override public var intrinsicContentSize: CGSize { get }
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Classes/DefaultCarouselImageLoader.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Classes/DefaultCarouselImageLoader.html new file mode 100644 index 000000000..feefd5097 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Classes/DefaultCarouselImageLoader.html @@ -0,0 +1,451 @@ + + + + DefaultCarouselImageLoader Class Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.36.1 Docs + + (60% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

DefaultCarouselImageLoader

+
+
+ +
public class DefaultCarouselImageLoader : CarouselImageLoader
+ +
+
+

Default image loader class which uses a URLSession to load images

+ +
+
+ +
+
+
+
    +
  • +
    + + + + urlSession + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public let urlSession: URLSession
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + init(urlSession:) + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public init(urlSession: URLSession = .shared)
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func loadImage(url: URL, completion: ((UIImage?, Error?) -> Void)?)
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func loadImage(
    +    url: URL,
    +    cachePolicy: URLRequest.CachePolicy = .useProtocolCachePolicy,
    +    queue: DispatchQueue,
    +    completion: ((UIImage?, Error?) -> Void)?
    +)
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func cancelImageLoad(from url: URL)
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Classes/EmptyItem.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Classes/EmptyItem.html new file mode 100644 index 000000000..35134de89 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Classes/EmptyItem.html @@ -0,0 +1,341 @@ + + + + EmptyItem Class Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.36.1 Docs + + (60% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

EmptyItem

+
+
+ +
public class EmptyItem : CarouselItem
+ +
+
+

Concrete class for an empty item (clear camera button)

+ +
+
+ +
+
+
+
    +
  • +
    + + + + init() + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public init()
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Classes/FlashControlView.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Classes/FlashControlView.html new file mode 100644 index 000000000..b3a854798 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Classes/FlashControlView.html @@ -0,0 +1,649 @@ + + + + FlashControlView Class Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.36.1 Docs + + (60% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

FlashControlView

+
+
+ +
public class FlashControlView : UIView
+
extension FlashControlView: FlashModeSelectionViewDelegate
+
extension FlashControlView: ControlSliderDelegate
+
extension FlashControlView: RingLightColorSelectionViewDelegate
+ +
+
+

Undocumented

+ +
+
+ +
+
+
+
    +
  • +
    + + + + delegate + +
    +
    +
    +
    +
    +
    +

    Delegate for handling changes to the view’s controls.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public weak var delegate: FlashControlViewDelegate?
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    The intensity of the ring light according to the control’s slider’s value.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var ringLightIntensityValue: Float { get set }
    + +
    +
    +
    +
    +
  • +
+
+
+
+ + +
+ +

Views +

+
+
+
    +
  • +
    + + + + primaryLabel + +
    +
    +
    +
    +
    +
    +

    Primary label for the control.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public let primaryLabel: UILabel
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    View that enables the user to swtich between flash modes.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public lazy var flashModeSelectionView: FlashModeSelectionView { get set }
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    View with ring light color options to select between.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public lazy var ringLightColorSelectionView: RingLightColorSelectionView { get set }
    + +
    +
    +
    +
    +
  • +
+
+
+
+ + +
+ +

Init +

+
+
+
    +
  • +
    + + + + init(frame:) + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    override public init(frame: CGRect)
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + intrinsicContentSize + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    override public var intrinsicContentSize: CGSize { get }
    + +
    +
    +
    +
    +
  • +
+
+
+
+ + +
+ +

Flash Mode Selection View Delegate +

+
+
+ +
+
+
+ + +
+ +

Control Slider Delegate +

+
+
+ +
+
+
+ + +
+ +

Ring Light Color Selection View Delegate +

+
+
+ +
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Classes/FlashModeSelectionView.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Classes/FlashModeSelectionView.html new file mode 100644 index 000000000..d85d637cf --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Classes/FlashModeSelectionView.html @@ -0,0 +1,408 @@ + + + + FlashModeSelectionView Class Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.36.1 Docs + + (60% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

FlashModeSelectionView

+
+
+ +
public class FlashModeSelectionView : UIView
+ +
+
+

Undocumented

+ +
+
+ +
+
+
+
    +
  • +
    + + + + delegate + +
    +
    +
    +
    +
    +
    +

    Delegate for handling update’s to the selected flash mode in the view.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public weak var delegate: FlashModeSelectionViewDelegate?
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + flashMode + +
    +
    +
    +
    +
    +
    +

    The current FlashMode that is selected in the view.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var flashMode: CameraController.FlashMode { get set }
    + +
    +
    +
    +
    +
  • +
+
+
+
+ + +
+ +

Init +

+
+
+
    +
  • +
    + + + + init(frame:) + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    override public init(frame: CGRect)
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Classes/ImagePreviewViewController.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Classes/ImagePreviewViewController.html new file mode 100644 index 000000000..fac17a5a5 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Classes/ImagePreviewViewController.html @@ -0,0 +1,530 @@ + + + + ImagePreviewViewController Class Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.36.1 Docs + + (60% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

ImagePreviewViewController

+
+
+ +
public class ImagePreviewViewController : PreviewViewController
+ +
+
+

Preview view controller for showing captured photos and images

+ +
+
+ +
+
+
+
+ + +
+ +

Properties +

+
+
+
    +
  • +
    + + + + image + +
    +
    +
    +
    +
    +
    +

    UIImage to display

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public let image: UIImage
    + +
    +
    +
    +
    +
  • +
+
+
+
+ + +
+ +

Init +

+
+
+
    +
  • +
    + + + + init(image:) + +
    +
    +
    +
    +
    +
    +

    Designated init to pass in required deps

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public init(image: UIImage)
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + image + + +
    +

    UIImage to display

    +
    +
    +
    +
    +
    +
  • +
  • +
    + + + + viewDidLoad() + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    override public func viewDidLoad()
    + +
    +
    +
    +
    +
  • +
+
+
+
+ + +
+ +

Action Overrides +

+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    override public func openSnapchatPressed(_ sender: UIButton)
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    override public func sharePreviewPressed(_ sender: UIButton)
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    override public func savePreviewPressed(_ sender: UIButton)
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Classes/KeyboardAccessoryViewProvider.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Classes/KeyboardAccessoryViewProvider.html new file mode 100644 index 000000000..fbb281a83 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Classes/KeyboardAccessoryViewProvider.html @@ -0,0 +1,423 @@ + + + + KeyboardAccessoryViewProvider Class Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.36.1 Docs + + (60% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

KeyboardAccessoryViewProvider

+
+
+ +
@objc
+public class KeyboardAccessoryViewProvider : NSObject, TextInputKeyboardAccessoryProvider
+ +
+
+

Reference implementation of a text input view for lenses that take text input.

+ +
+
+ +
+
+
+
    +
  • +
    + + + + textView + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public let textView: UITextView
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + accessoryView + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public let accessoryView: UIView
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + placeholderText + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var placeholderText: String? { get set }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + maximumHeight + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public let maximumHeight: CGFloat
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Classes/MediaPickerView.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Classes/MediaPickerView.html new file mode 100644 index 000000000..60f4adf8a --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Classes/MediaPickerView.html @@ -0,0 +1,545 @@ + + + + MediaPickerView Class Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.36.1 Docs + + (60% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

MediaPickerView

+
+
+ +
public class MediaPickerView : UIView
+
extension MediaPickerView: LensMediaPickerProviderUIDelegate
+ +
+
+

Selection view for Media Picker

+ +
+
+ +
+
+
+
+ + +
+ +

Properties +

+
+
+
    +
  • +
    + + + + delegate + +
    +
    +
    +
    +
    +
    +

    Delegate to be notified of MediaPickerView events

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public weak var delegate: MediaPickerViewDelegate?
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + provider + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var provider: LensMediaPickerProvider? { get set }
    + +
    +
    +
    +
    +
  • +
+
+
+
+ + +
+ +

Init +

+
+
+
    +
  • +
    + + + + init() + +
    +
    +
    +
    +
    +
    +

    Designated init to provide in required deps

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public init()
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + provider + + +
    +

    LensMediaPickerProvider instance to provide media to the picker view

    +
    +
    +
    +
    +
    +
  • +
  • +
    + + + + intrinsicContentSize + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    override public var intrinsicContentSize: CGSize { get }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + layoutSubviews() + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    override public func layoutSubviews()
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func mediaPickerProviderRequestedUIPresentation(_ provider: LensMediaPickerProvider)
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func mediaPickerProviderRequestedUIDismissal(_ provider: LensMediaPickerProvider)
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Classes/MessageNotificationView.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Classes/MessageNotificationView.html new file mode 100644 index 000000000..873b9de63 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Classes/MessageNotificationView.html @@ -0,0 +1,368 @@ + + + + MessageNotificationView Class Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.36.1 Docs + + (60% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

MessageNotificationView

+
+
+ +
public class MessageNotificationView : UIView
+ +
+
+

Popup message notification view for different lens events

+ +
+
+ +
+
+
+
    +
  • +
    + + + + label + +
    +
    +
    +
    +
    +
    +

    Default label in the message notification view

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public let label: UILabel
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + init() + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public init()
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Classes/PreviewViewController.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Classes/PreviewViewController.html new file mode 100644 index 000000000..1c94853ec --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Classes/PreviewViewController.html @@ -0,0 +1,514 @@ + + + + PreviewViewController Class Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.36.1 Docs + + (60% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

PreviewViewController

+
+
+ +
public class PreviewViewController : UIViewController
+ +
+
+

Base preview view controller that describes properties and views of all preview controllers

+ +
+
+ +
+
+
+
+ + +
+ +

Preview Properties +

+
+
+
    +
  • +
    + + + + snapchatDelegate + +
    +
    +
    +
    +
    +
    +

    Snapchat delegate for open requests

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public weak var snapchatDelegate: SnapchatDelegate? { get set }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + onDismiss + +
    +
    +
    +
    +
    +
    +

    Callback when user presses close button and dismisses preview view controller

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var onDismiss: (() -> Void)?
    + +
    +
    +
    +
    +
  • +
+
+
+
+ + +
+ +

Setup +

+
+
+
    +
  • +
    + + + + viewDidLoad() + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    override public func viewDidLoad()
    + +
    +
    +
    +
    +
  • +
+
+
+
+ + +
+ +

Overridable Actions +

+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    @objc
    +open func openSnapchatPressed(_ sender: UIButton)
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    @objc
    +open func savePreviewPressed(_ sender: UIButton)
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    @objc
    +open func sharePreviewPressed(_ sender: UIButton)
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Classes/Recorder.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Classes/Recorder.html new file mode 100644 index 000000000..d999cbfd1 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Classes/Recorder.html @@ -0,0 +1,470 @@ + + + + Recorder Class Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.36.1 Docs + + (60% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

Recorder

+
+
+ +
public class Recorder
+ +
+
+

Sample video recorder implementation.

+ +
+
+ +
+
+
+
    +
  • +
    + + + + output + +
    +
    +
    +
    +
    +
    +

    The AVWriterOutput for CameraKt.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public let output: AVWriterOutput
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Designated init to pass in required deps

    +
    +

    Throws

    + Throws error if cannot create asset writer with output file URL and file type + +
    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public init(url: URL, orientation: AVCaptureVideoOrientation, size: CGSize) throws
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + + + + + +
    + + url + + +
    +

    output URL of video file

    +
    +
    + + orientation + + +
    +

    current orientation of device

    +
    +
    + + size + + +
    +

    height of video output

    +
    +
    +
    +
    +
    +
  • +
  • +
    + + + + startRecording() + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func startRecording()
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func finishRecording(completion: ((URL?, Error?) -> Void)?)
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Classes/RingLightColorSelectionView.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Classes/RingLightColorSelectionView.html new file mode 100644 index 000000000..02a6a7690 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Classes/RingLightColorSelectionView.html @@ -0,0 +1,644 @@ + + + + RingLightColorSelectionView Class Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.36.1 Docs + + (60% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

RingLightColorSelectionView

+
+
+ +
public class RingLightColorSelectionView : UIView
+
extension RingLightColorSelectionView: UICollectionViewDelegate
+
extension RingLightColorSelectionView: UICollectionViewDataSource
+ +
+
+

Undocumented

+ +
+
+ +
+
+
+ +
+
+
+ + +
+ +

Views +

+
+
+
    +
  • +
    + + + + collectionView + +
    +
    +
    +
    +
    +
    +

    Collection view which contains the different color options for the ring light.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public lazy var collectionView: UICollectionView { get set }
    + +
    +
    +
    +
    +
  • +
+
+
+
+ + +
+ +

Init +

+
+
+
    +
  • +
    + + + + layoutSubviews() + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    override public func layoutSubviews()
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + intrinsicContentSize + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    override public var intrinsicContentSize: CGSize { get }
    + +
    +
    +
    +
    +
  • +
+
+
+
+ + +
+ +

Collection View +

+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    To be called the first time the ring light color selection view appears.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func performInitialSelection(indexPath: IndexPath = IndexPath(row: 0, section: 0))
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + indexPath + + +
    +

    The index path of the color cell to initially select.

    +
    +
    +
    +
    +
    +
  • +
+
+
+
+ + +
+ +

Collection View Delegate +

+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath)
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func collectionView(_ collectionView: UICollectionView, didDeselectItemAt indexPath: IndexPath)
    + +
    +
    +
    +
    +
  • +
+
+
+
+ + +
+ +

Collection View Data Source +

+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath)
    +    -> UICollectionViewCell
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Classes/RingLightColorSelectionViewCell.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Classes/RingLightColorSelectionViewCell.html new file mode 100644 index 000000000..583946b0c --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Classes/RingLightColorSelectionViewCell.html @@ -0,0 +1,508 @@ + + + + RingLightColorSelectionViewCell Class Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.36.1 Docs + + (60% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

RingLightColorSelectionViewCell

+
+
+ +
public class RingLightColorSelectionViewCell : UICollectionViewCell
+ +
+
+

Undocumented

+ +
+
+ +
+
+
+
    +
  • +
    + + + + reuseIdentifer + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public static let reuseIdentifer: String
    + +
    +
    +
    +
    +
  • +
+
+
+
+ + +
+ +

Public +

+
+
+
    +
  • +
    + + + + setColor(_:) + +
    +
    +
    +
    +
    +
    +

    Used to set the color option that the cell represents.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func setColor(_ color: UIColor)
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + color + + +
    +

    The color to set for the cell.

    +
    +
    +
    +
    +
    +
  • +
  • +
    + + + + highlight() + +
    +
    +
    +
    +
    +
    +

    Used to highlight the color option that this cell represents when selected.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func highlight()
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + unhighlight() + +
    +
    +
    +
    +
    +
    +

    Remove the highlight from this cell.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func unhighlight()
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + layoutSubviews() + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    override public func layoutSubviews()
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + intrinsicContentSize + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    override public var intrinsicContentSize: CGSize { get }
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Classes/RingLightGradientView.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Classes/RingLightGradientView.html new file mode 100644 index 000000000..babff9b84 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Classes/RingLightGradientView.html @@ -0,0 +1,494 @@ + + + + RingLightGradientView Class Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.36.1 Docs + + (60% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

RingLightGradientView

+
+
+ +
public class RingLightGradientView : UIView
+ +
+
+

Undocumented

+ +
+
+ +
+
+
+
+ + +
+ +

Ring Light Modification +

+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Updates the intensity of the ring light effect to the specified intensity.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func updateIntensity(to intensity: CGFloat, animated: Bool)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + +
    + + intensity + + +
    +

    The intensity to set the ring light effect to. Value should be between 0.0 and 1.0.

    +
    +
    + + animated + + +
    +

    Whether or not the change in intensity is animated.

    +
    +
    +
    +
    +
    +
  • +
  • +
    + + + + changeColor(to:) + +
    +
    +
    +
    +
    +
    +

    Changes the color of the ring light gradient to the specified color.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func changeColor(to color: UIColor)
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + color + + +
    +

    The color to set the ring light gradient to.

    +
    +
    +
    +
    +
    +
  • +
+
+
+
+ + +
+ +

Init +

+
+
+
    +
  • +
    + + + + init(frame:) + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    override public init(frame: CGRect)
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + init(coder:) + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public required init?(coder: NSCoder)
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Classes/RingLightView.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Classes/RingLightView.html new file mode 100644 index 000000000..efd15055c --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Classes/RingLightView.html @@ -0,0 +1,541 @@ + + + + RingLightView Class Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.36.1 Docs + + (60% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

RingLightView

+
+
+ +
public class RingLightView : UIView
+ +
+
+

Undocumented

+ +
+
+ +
+
+
+
+ + +
+ +

Views +

+
+
+
    +
  • +
    + + + + topBorder + +
    +
    +
    +
    +
    +
    +

    The top border of the ring light effect. This top border is unaffected by changes to the ring light gradient intensity.

    +
    +

    Note

    + This top border is unaffected by changes to the ring light gradient intensity. + +
    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public let topBorder: UIView
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + bottomBorder + +
    +
    +
    +
    +
    +
    +

    The bottom border of the ring light effect.

    +
    +

    Note

    + This bottom border is unaffected by changes to the ring light gradient intensity. + +
    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public let bottomBorder: UIView
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + ringLightGradient + +
    +
    +
    +
    +
    +
    +

    The gradient portion of the ring light effect. +Update the intensity of the ring light effect by calling the updateIntensity method of RingLightGradientView.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public let ringLightGradient: RingLightGradientView
    + +
    +
    +
    +
    +
  • +
+
+
+
+ + +
+ +

Modification +

+
+
+
    +
  • +
    + + + + changeColor(to:) + +
    +
    +
    +
    +
    +
    +

    Changes the color of the ring light effect to the specified color.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func changeColor(to color: UIColor)
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + color + + +
    +

    The color to set the ring light effect to.

    +
    +
    +
    +
    +
    +
  • +
+
+
+
+ + +
+ +

Init +

+
+
+
    +
  • +
    + + + + init(frame:) + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    override public init(frame: CGRect)
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + init(coder:) + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public required init?(coder: NSCoder)
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Classes/SnapAttributionView.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Classes/SnapAttributionView.html new file mode 100644 index 000000000..676625859 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Classes/SnapAttributionView.html @@ -0,0 +1,368 @@ + + + + SnapAttributionView Class Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.36.1 Docs + + (60% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

SnapAttributionView

+
+
+ +
public class SnapAttributionView : UIView
+ +
+
+

Snap attribution on Camera that contains “Powered by” and Snap ghost icon

+ +
+
+ +
+
+
+
    +
  • +
    + + + + poweredByLabel + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public let poweredByLabel: UILabel
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + snapIconImage + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public let snapIconImage: UIImageView
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Classes/TapAnimationView.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Classes/TapAnimationView.html new file mode 100644 index 000000000..0590f8431 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Classes/TapAnimationView.html @@ -0,0 +1,368 @@ + + + + TapAnimationView Class Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.36.1 Docs + + (60% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

TapAnimationView

+
+
+ +
public class TapAnimationView : UIView
+ +
+
+

View that appears when the user taps on the camera view

+ +
+
+ +
+
+
+
    +
  • +
    + + + + init(center:) + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public init(center: CGPoint)
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + show() + +
    +
    +
    +
    +
    +
    +

    Performs the tap animation and removes the view upon completion of the animation

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func show()
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Classes/UserDataProvider.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Classes/UserDataProvider.html new file mode 100644 index 000000000..1e59d8780 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Classes/UserDataProvider.html @@ -0,0 +1,368 @@ + + + + UserDataProvider Class Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.36.1 Docs + + (60% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

UserDataProvider

+
+
+ +
public class UserDataProvider : NSObject, SCSDKCameraKit.UserDataProvider
+ +
+
+

Default user data provider to show how to provide user data to CameraKit

+ +
+
+ +
+
+
+
    +
  • +
    + + + + delegate + +
    +
    +
    +
    +
    +
    +

    Delegate for CameraKit to receive updates on user data

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public weak var delegate: UserDataProviderDelegate?
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + userData + +
    +
    +
    +
    +
    +
    +

    Mocked user data

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public lazy var userData: UserData? { get set }
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Classes/VideoPreviewViewController.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Classes/VideoPreviewViewController.html new file mode 100644 index 000000000..dc0c0b2d2 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Classes/VideoPreviewViewController.html @@ -0,0 +1,530 @@ + + + + VideoPreviewViewController Class Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.36.1 Docs + + (60% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

VideoPreviewViewController

+
+
+ +
public class VideoPreviewViewController : PreviewViewController
+ +
+
+

Preview view controller for showing recorded video previews

+ +
+
+ +
+
+
+
+ + +
+ +

Properties +

+
+
+
    +
  • +
    + + + + videoUrl + +
    +
    +
    +
    +
    +
    +

    URL which contains video file

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public let videoUrl: URL
    + +
    +
    +
    +
    +
  • +
+
+
+
+ + +
+ +

Init +

+
+
+
    +
  • +
    + + + + init(videoUrl:) + +
    +
    +
    +
    +
    +
    +

    Init with url to video file

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public init(videoUrl: URL)
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + videoUrl + + +
    +

    url to video file

    +
    +
    +
    +
    +
    +
  • +
  • +
    + + + + viewDidLoad() + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    override public func viewDidLoad()
    + +
    +
    +
    +
    +
  • +
+
+
+
+ + +
+ +

Action Overrides +

+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    override public func openSnapchatPressed(_ sender: UIButton)
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    override public func sharePreviewPressed(_ sender: UIButton)
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    override public func savePreviewPressed(_ sender: UIButton)
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Enums.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Enums.html new file mode 100644 index 000000000..1f9e89ea0 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Enums.html @@ -0,0 +1,622 @@ + + + + Enumerations Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.36.1 Docs + + (60% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

Enumerations

+

The following enumerations are available globally.

+ +
+
+ +
+
+
+
    +
  • +
    + + + + SnapchatScreen + +
    +
    +
    +
    +
    +
    +

    Describes the Snapchat screen to open to

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public enum SnapchatScreen
    + +
    +
    +
    +
    +
  • +
+
+
+
+ + +
+ +

Camera Bottom Bar +

+
+
+ +
+
+
+ + +
+ +

Camera View +

+
+
+
    +
  • +
    + + + + CameraElements + +
    +
    +
    +
    +
    +
    +

    CameraViewController testable elements

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public enum CameraElements : String, TestableElement
    + +
    +
    +
    +
    +
  • +
+
+
+
+ + +
+ +

Carousel +

+
+
+ +
+
+
+ + +
+ +

Preview +

+
+
+
    +
  • +
    + + + + PreviewElements + +
    +
    +
    +
    +
    +
    +

    PreviewViewController testable elements

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public enum PreviewElements : String, TestableElement
    + +
    +
    +
    +
    +
  • +
+
+
+
+ + +
+ +

Message Notification +

+
+
+ +
+
+
+ + +
+ +

Flash Control +

+
+
+ +
+
+
+ + +
+ +

Other Elements +

+
+
+
    +
  • +
    + + + + OtherElements + +
    +
    +
    +
    +
    +
    +

    Other misc testable elements

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public enum OtherElements : String, TestableElement
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Enums/CameraBottomBarElements.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Enums/CameraBottomBarElements.html new file mode 100644 index 000000000..a5184c368 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Enums/CameraBottomBarElements.html @@ -0,0 +1,341 @@ + + + + CameraBottomBarElements Enumeration Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.36.1 Docs + + (60% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

CameraBottomBarElements

+
+
+ +
public enum CameraBottomBarElements : String, TestableElement
+ +
+
+

CameraBottomBar view testable elements

+ +
+
+ +
+
+
+
    +
  • +
    + + + + closeButton + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    case closeButton
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Enums/CameraElements.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Enums/CameraElements.html new file mode 100644 index 000000000..2d9fbfadc --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Enums/CameraElements.html @@ -0,0 +1,814 @@ + + + + CameraElements Enumeration Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.36.1 Docs + + (60% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

CameraElements

+
+
+ +
public enum CameraElements : String, TestableElement
+ +
+
+

CameraViewController testable elements

+ +
+
+ +
+
+
+
    +
  • +
    + + + + lensLabel + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    case lensLabel
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + flipCameraButton + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    case flipCameraButton
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + flashToggleButton + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    case flashToggleButton
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    case flashConfigurationButton
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + flashControl + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    case flashControl
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    case flashControlDismissalHint
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + toneMapToggleButton + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    case toneMapToggleButton
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    case toneMapConfigurationButton
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + toneMapControl + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    case toneMapControl
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    case toneMapControlDismissalHint
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + portraitToggleButton + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    case portraitToggleButton
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    case portraitConfigurationButton
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + portraitControl + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    case portraitControl
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    case portraitControlDismissalHint
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + ringLightView + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    case ringLightView
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + photoLibraryButton + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    case photoLibraryButton
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + cameraButton + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    case cameraButton
    + +
    +
    +
    +
    +
  • +
+
+
+
+ + +
+ +

Camera View +

+
+
+
    +
  • +
    + + + + CameraFlip + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    enum CameraFlip
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Enums/CameraElements/CameraFlip.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Enums/CameraElements/CameraFlip.html new file mode 100644 index 000000000..098aed1f2 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Enums/CameraElements/CameraFlip.html @@ -0,0 +1,368 @@ + + + + CameraFlip Enumeration Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.36.1 Docs + + (60% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

CameraFlip

+
+
+ +
enum CameraFlip
+ +
+
+

Undocumented

+ +
+
+ +
+
+
+
    +
  • +
    + + + + front + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public static let front: String
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + back + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public static let back: String
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Enums/CarouselElements.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Enums/CarouselElements.html new file mode 100644 index 000000000..463202645 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Enums/CarouselElements.html @@ -0,0 +1,395 @@ + + + + CarouselElements Enumeration Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.36.1 Docs + + (60% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

CarouselElements

+
+
+ +
public enum CarouselElements : String, TestableElement
+ +
+
+

CarouselView testable elements

+ +
+
+ +
+
+
+
    +
  • +
    + + + + collectionView + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    case collectionView
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + lensCell + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    case lensCell
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    case facadeSelectionRingView
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Enums/FlashControlElements.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Enums/FlashControlElements.html new file mode 100644 index 000000000..312f01614 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Enums/FlashControlElements.html @@ -0,0 +1,395 @@ + + + + FlashControlElements Enumeration Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.36.1 Docs + + (60% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

FlashControlElements

+
+
+ +
public enum FlashControlElements : String, TestableElement
+ +
+
+

FlashControlView testable elements

+ +
+
+ +
+
+
+
    +
  • +
    + + + + flashModeSelector + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    case flashModeSelector
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    case ringLightColorSelector
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    case ringLightIntensitySlider
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Enums/MessageNotificationElements.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Enums/MessageNotificationElements.html new file mode 100644 index 000000000..328f6baed --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Enums/MessageNotificationElements.html @@ -0,0 +1,341 @@ + + + + MessageNotificationElements Enumeration Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.36.1 Docs + + (60% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

MessageNotificationElements

+
+
+ +
public enum MessageNotificationElements : String, TestableElement
+ +
+
+

MessageNotificationView testable elements

+ +
+
+ +
+
+
+
    +
  • +
    + + + + label + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    case label
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Enums/OtherElements.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Enums/OtherElements.html new file mode 100644 index 000000000..5866f505a --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Enums/OtherElements.html @@ -0,0 +1,476 @@ + + + + OtherElements Enumeration Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.36.1 Docs + + (60% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

OtherElements

+
+
+ +
public enum OtherElements : String, TestableElement
+ +
+
+

Other misc testable elements

+ +
+
+ +
+
+
+
    +
  • +
    + + + + noOpButton + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    case noOpButton
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + arkitButton + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    case arkitButton
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + agreementsButton + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    case agreementsButton
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + tapToFocusView + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    case tapToFocusView
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + pairingButton + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    case pairingButton
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    case connectedLensStartButton
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Enums/PreviewElements.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Enums/PreviewElements.html new file mode 100644 index 000000000..37bab535d --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Enums/PreviewElements.html @@ -0,0 +1,449 @@ + + + + PreviewElements Enumeration Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.36.1 Docs + + (60% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

PreviewElements

+
+
+ +
public enum PreviewElements : String, TestableElement
+ +
+
+

PreviewViewController testable elements

+ +
+
+ +
+
+
+
    +
  • +
    + + + + closeButton + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    case closeButton
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + snapchatButton + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    case snapchatButton
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + shareButton + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    case shareButton
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + imageView + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    case imageView
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + playerControllerView + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    case playerControllerView
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Enums/SnapchatScreen.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Enums/SnapchatScreen.html new file mode 100644 index 000000000..5cb5b1d80 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Enums/SnapchatScreen.html @@ -0,0 +1,422 @@ + + + + SnapchatScreen Enumeration Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.36.1 Docs + + (60% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

SnapchatScreen

+
+
+ +
public enum SnapchatScreen
+ +
+
+

Describes the Snapchat screen to open to

+ +
+
+ +
+
+
+
    +
  • +
    + + + + profile + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    case profile
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + lens(_:) + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    case lens(Lens)
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + photo(_:) + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    case photo(UIImage)
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + video(_:) + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    case video(URL)
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Extensions.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Extensions.html new file mode 100644 index 000000000..a22694636 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Extensions.html @@ -0,0 +1,474 @@ + + + + Extensions Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.36.1 Docs + + (60% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

Extensions

+

The following extensions are available globally.

+ +
+
+ +
+
+
+
    +
  • +
    + + + + UIButton + +
    +
    +
    +
    +
    +
    +

    Helper to apply shadows to buttons.

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public extension UIButton
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + UILabel + +
    +
    +
    +
    +
    +
    +

    Helper to produce a dismissal hint for various camera action controls.

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public extension UILabel
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + UIImage + +
    +
    +
    +
    +
    +
    +

    Helper to produce highlighted versions of some camera action button images.

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    extension UIImage
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + UIColor + +
    +
    +
    +
    +
    +
    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public extension UIColor
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + UIFont + +
    +
    +
    +
    +
    +
    +

    Provides access to Snapchat typography in all supported weights.

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public extension UIFont
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + NSString + +
    +
    +
    +
    +
    +
    +

    Objective-C interface for CameraKitLocalizedString

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public extension NSString
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Extensions/NSString.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Extensions/NSString.html new file mode 100644 index 000000000..949ea64b8 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Extensions/NSString.html @@ -0,0 +1,348 @@ + + + + NSString Extension Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.36.1 Docs + + (60% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

NSString

+
+
+ +
public extension NSString
+ +
+
+

Objective-C interface for CameraKitLocalizedString

+ +
+
+ +
+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    @objc
    +class func cameraKit_localized(
    +    key: String,
    +    bundle: Bundle?,
    +    preferredLanguages: [String] = NSLocale.preferredLanguages,
    +    comment: String?,
    +    table: String? = nil
    +) -> String
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Extensions/UIButton.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Extensions/UIButton.html new file mode 100644 index 000000000..f340a6381 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Extensions/UIButton.html @@ -0,0 +1,341 @@ + + + + UIButton Extension Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.36.1 Docs + + (60% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

UIButton

+
+
+ +
public extension UIButton
+ +
+
+

Helper to apply shadows to buttons.

+ +
+
+ +
+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Applies a shadow designed for camera action buttons.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    func applyCameraActionButtonShadow()
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Extensions/UIColor.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Extensions/UIColor.html new file mode 100644 index 000000000..2b349f90b --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Extensions/UIColor.html @@ -0,0 +1,340 @@ + + + + UIColor Extension Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.36.1 Docs + + (60% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

UIColor

+
+
+ +
public extension UIColor
+ +
+
+ +
+
+ +
+
+
+
    +
  • +
    + + + + init(hex:alpha:) + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    convenience init(hex: UInt, alpha: CGFloat = 1.0)
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Extensions/UIFont.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Extensions/UIFont.html new file mode 100644 index 000000000..7dad670ef --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Extensions/UIFont.html @@ -0,0 +1,476 @@ + + + + UIFont Extension Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.36.1 Docs + + (60% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

UIFont

+
+
+ +
public extension UIFont
+ +
+
+

Provides access to Snapchat typography in all supported weights.

+ +
+
+ +
+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    static func sc_ultraLightFont(size: CGFloat) -> UIFont?
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + sc_regularFont(size:) + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    static func sc_regularFont(size: CGFloat) -> UIFont?
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + sc_mediumFont(size:) + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    static func sc_mediumFont(size: CGFloat) -> UIFont?
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    static func sc_demiBoldFont(size: CGFloat) -> UIFont?
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + sc_boldFont(size:) + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    static func sc_boldFont(size: CGFloat) -> UIFont?
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + sc_heavyFont(size:) + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    static func sc_heavyFont(size: CGFloat) -> UIFont?
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Extensions/UIImage.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Extensions/UIImage.html new file mode 100644 index 000000000..75d98f6a5 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Extensions/UIImage.html @@ -0,0 +1,376 @@ + + + + UIImage Extension Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.36.1 Docs + + (60% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

UIImage

+
+
+ +
extension UIImage
+ +
+
+

Helper to produce highlighted versions of some camera action button images.

+ +
+
+ +
+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Produces a version of the image that is subtracted from a circle with the given radius and color.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func circleHighlightedImage(radius: CGFloat, color: UIColor = .white) -> UIImage?
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + +
    + + radius + + +
    +

    The radius of the circle to subtract the image from.

    +
    +
    + + color + + +
    +

    The color of the circle to subtract the image from.

    +
    +
    +
    +
    +

    Return Value

    +

    The image subtracted from the circle with the provided radius and color.

    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Extensions/UILabel.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Extensions/UILabel.html new file mode 100644 index 000000000..71e7118c2 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Extensions/UILabel.html @@ -0,0 +1,345 @@ + + + + UILabel Extension Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.36.1 Docs + + (60% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

UILabel

+
+
+ +
public extension UILabel
+ +
+
+

Helper to produce a dismissal hint for various camera action controls.

+ +
+
+ +
+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Produces a dismissal hint label for the control.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    static func controlDismissalHint() -> UILabel
    + +
    +
    +
    +

    Return Value

    +

    The dismissal hint label.

    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Functions.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Functions.html new file mode 100644 index 000000000..3c8cd9da7 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Functions.html @@ -0,0 +1,411 @@ + + + + Functions Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.36.1 Docs + + (60% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

Functions

+

The following functions are available globally.

+ +
+
+ +
+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Looks up a localized string for CameraKit’s reference UI.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func CameraKitLocalizedString(
    +    key: String,
    +    bundle: Bundle? = nil,
    +    preferredLanguages: [String] = NSLocale.preferredLanguages,
    +    comment: String?,
    +    table: String? = nil
    +) -> String
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + + + + + + + + + + + + + +
    + + key + + +
    +

    key to lookup.

    +
    +
    + + bundle + + +
    +

    explicit bundle to look up key for. If omitted, uses the CameraKit Reference UI bundle.

    +
    +
    + + preferredLanguages + + +
    +

    a list of language codes in order of preference.

    +
    +
    + + comment + + +
    +

    any comments on the string.

    +
    +
    + + table + + +
    +

    an explicit strings table to reference.

    +
    +
    +
    +
    +

    Return Value

    +

    a localized string, if one is available for the languages specified, otherwise the English string (and the key, if neither are found).

    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Protocols.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Protocols.html new file mode 100644 index 000000000..77d21d115 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Protocols.html @@ -0,0 +1,755 @@ + + + + Protocols Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.36.1 Docs + + (60% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

Protocols

+

The following protocols are available globally.

+ +
+
+ +
+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public protocol CameraControllerUIDelegate : AnyObject
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + CameraButtonDelegate + +
    +
    +
    +
    +
    +
    +

    Delegate to receive updates for camera button view

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public protocol CameraButtonDelegate : AnyObject
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public protocol AdjustmentControlViewDelegate : AnyObject
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + ControlSliderDelegate + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public protocol ControlSliderDelegate : AnyObject
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Describes an interface to control app orientation

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public protocol AppOrientationDelegate : AnyObject
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public protocol FlashControlViewDelegate : AnyObject
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public protocol FlashModeSelectionViewDelegate : AnyObject
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public protocol RingLightColorSelectionViewDelegate : AnyObject
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Delegate for custom carousel collection view layout

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public protocol CarouselCollectionViewLayoutDelegate : AnyObject
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Data source for custom carousel collection view layout

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public protocol CarouselCollectionViewLayoutDataSource : AnyObject
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + CarouselImageLoader + +
    +
    +
    +
    +
    +
    +

    Protocol used to load an image from url

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public protocol CarouselImageLoader : AnyObject
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + CarouselViewDelegate + +
    +
    +
    +
    +
    +
    +

    A set of functions implemented by the delegate to be notified when the carousel responds to user interactions.

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public protocol CarouselViewDelegate : AnyObject
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    A set of functions that an object adopts to manage data and provide items for a carousel view.

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public protocol CarouselViewDataSource : AnyObject
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Describes an interface to be notified of MediaPickerView events

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public protocol MediaPickerViewDelegate : NSObjectProtocol
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + SnapchatDelegate + +
    +
    +
    +
    +
    +
    +

    CameraKit view controllers will notify this delegate when it needs to open, send info, or interact with Snapchat

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public protocol SnapchatDelegate : AnyObject
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + TestableElement + +
    +
    +
    +
    +
    +
    +

    Describes an element that can be UI tested

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public protocol TestableElement
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Protocols/AdjustmentControlViewDelegate.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Protocols/AdjustmentControlViewDelegate.html new file mode 100644 index 000000000..794d85b27 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Protocols/AdjustmentControlViewDelegate.html @@ -0,0 +1,372 @@ + + + + AdjustmentControlViewDelegate Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.36.1 Docs + + (60% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

AdjustmentControlViewDelegate

+
+
+ +
public protocol AdjustmentControlViewDelegate : AnyObject
+ +
+
+

Undocumented

+ +
+
+ +
+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Notifies the delegate that the control’s intensity slider’s value has changed.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    func adjustmentControlView(_ control: AdjustmentControlView, sliderValueChanged value: Double)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + +
    + + control + + +
    +

    The control view.

    +
    +
    + + value + + +
    +

    The updated value received from the control’s intensity slider.

    +
    +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Protocols/AppOrientationDelegate.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Protocols/AppOrientationDelegate.html new file mode 100644 index 000000000..7c74d02de --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Protocols/AppOrientationDelegate.html @@ -0,0 +1,387 @@ + + + + AppOrientationDelegate Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.36.1 Docs + + (60% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

AppOrientationDelegate

+
+
+ +
public protocol AppOrientationDelegate : AnyObject
+ +
+
+

Describes an interface to control app orientation

+ +
+
+ +
+
+
+
    +
  • +
    + + + + lockOrientation(_:) + +
    +
    +
    +
    +
    +
    +

    Lock app orientation

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    func lockOrientation(_ orientation: UIInterfaceOrientationMask)
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + orientation + + +
    +

    interface orientation mask to lock orientations to

    +
    +
    +
    +
    +
    +
  • +
  • +
    + + + + unlockOrientation() + +
    +
    +
    +
    +
    +
    +

    Unlock orientation

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    func unlockOrientation()
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Protocols/CameraButtonDelegate.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Protocols/CameraButtonDelegate.html new file mode 100644 index 000000000..f08e670ff --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Protocols/CameraButtonDelegate.html @@ -0,0 +1,499 @@ + + + + CameraButtonDelegate Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.36.1 Docs + + (60% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

CameraButtonDelegate

+
+
+ +
public protocol CameraButtonDelegate : AnyObject
+ +
+
+

Delegate to receive updates for camera button view

+ +
+
+ +
+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Called when user taps camera button

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    func cameraButtonTapped(_ cameraButton: CameraButton)
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + cameraButton + + +
    +

    camera button view

    +
    +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Called when user starts holding down camera button

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    func cameraButtonHoldBegan(_ cameraButton: CameraButton)
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + cameraButton + + +
    +

    camera button view

    +
    +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Called when user released their hold before the minimum threshold has been reached

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    func cameraButtonHoldCancelled(_ cameraButton: CameraButton)
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + cameraButton + + +
    +

    camera button view +NOTE: this will be followed by a call to cameraButtonTapped(_:)

    +
    +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Called when user stops holding down camera button

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    func cameraButtonHoldEnded(_ cameraButton: CameraButton)
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + cameraButton + + +
    +

    camera button view

    +
    +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Protocols/CameraControllerUIDelegate.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Protocols/CameraControllerUIDelegate.html new file mode 100644 index 000000000..3fb9f1ae1 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Protocols/CameraControllerUIDelegate.html @@ -0,0 +1,882 @@ + + + + CameraControllerUIDelegate Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.36.1 Docs + + (60% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

CameraControllerUIDelegate

+
+
+ +
public protocol CameraControllerUIDelegate : AnyObject
+ +
+
+

Undocumented

+ +
+
+ +
+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Notifies the delegate that the camera controller has resolved a new list of available lenses

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    func cameraController(_ controller: CameraController, updatedLenses lenses: [Lens])
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + +
    + + controller + + +
    +

    The camera controller.

    +
    +
    + + lenses + + +
    +

    The newly available lenses.

    +
    +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Notifies the delegate that the camera controller is currently in a loading state, and an activity indicator should be displayed.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    func cameraControllerRequestedActivityIndicatorShow(_ controller: CameraController)
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + controller + + +
    +

    The camera controller.

    +
    +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Notifies the delegate that the camera controller is no longer in a loading state, and an activity indicator should be hidden.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    func cameraControllerRequestedActivityIndicatorHide(_ controller: CameraController)
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + controller + + +
    +

    The camera controller.

    +
    +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Notifies the delegate that the flash state is on in ring light mode and that the ring light effect should be shown.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    func cameraControllerRequestedRingLightShow(_ controller: CameraController)
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + controller + + +
    +

    The camera controller.

    +
    +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Notifies the delegate that the flash state is no longer in ring light mode and that the ring light effect should be hidden.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    func cameraControllerRequestedRingLightHide(_ controller: CameraController)
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + controller + + +
    +

    The camera controller.

    +
    +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Notifies the delegate that the flash state has changed such that the flash control should be hidden.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    func cameraControllerRequestedFlashControlHide(_ controller: CameraController)
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + controller + + +
    +

    The camera controller.

    +
    +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Notifies the delegate that the snap attribution should be shown. For example, after the agreements have been accepted.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    func cameraControllerRequestedSnapAttributionViewShow(_ controller: CameraController)
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + controller + + +
    +

    The camera controller.

    +
    +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Notifies the delegate that the snap attribution should be hidden. For example, when a video is being recorded.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    func cameraControllerRequestedSnapAttributionViewHide(_ controller: CameraController)
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + controller + + +
    +

    The camera controller.

    +
    +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Notifies the delegate that the camera position should be flipped.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    func cameraControllerRequestedCameraFlip(_ controller: CameraController)
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + controller + + +
    +

    The camera controller.

    +
    +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Notifies the delegate that a lens has requested that a hint should be displayed

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    func cameraController(
    +    _ controller: CameraController, requestedHintDisplay hint: String, for lens: Lens, autohide: Bool
    +)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + + + + + + + + + +
    + + controller + + +
    +

    The camera controller.

    +
    +
    + + hint + + +
    +

    The hint text that should be displayed.

    +
    +
    + + lens + + +
    +

    The requesting lens.

    +
    +
    + + autohide + + +
    +

    Whether or not the hint should be automatically hidden, after a callee-determined amount of time.

    +
    +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Notifies the delegate that any hints requested by the specified lens should be hidden

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    func cameraController(_ controller: CameraController, requestedHintHideFor lens: Lens)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + +
    + + controller + + +
    +

    The camera controller.

    +
    +
    + + lens + + +
    +

    The lens whose hints should be hidden.

    +
    +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Protocols/CarouselCollectionViewLayoutDataSource.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Protocols/CarouselCollectionViewLayoutDataSource.html new file mode 100644 index 000000000..7d95a2831 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Protocols/CarouselCollectionViewLayoutDataSource.html @@ -0,0 +1,373 @@ + + + + CarouselCollectionViewLayoutDataSource Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.36.1 Docs + + (60% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

CarouselCollectionViewLayoutDataSource

+
+
+ +
public protocol CarouselCollectionViewLayoutDataSource : AnyObject
+ +
+
+

Data source for custom carousel collection view layout

+ +
+
+ +
+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Method to provide any sort of transform that should be applied to the carousel cell

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    func carouselLayout(_ layout: CarouselCollectionViewLayout, transformForItemAt indexPath: IndexPath)
    +    -> CGAffineTransform
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + +
    + + layout + + +
    +

    carousel collection view layout instance

    +
    +
    + + indexPath + + +
    +

    index path of cell

    +
    +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Protocols/CarouselCollectionViewLayoutDelegate.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Protocols/CarouselCollectionViewLayoutDelegate.html new file mode 100644 index 000000000..cfc2ee2d3 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Protocols/CarouselCollectionViewLayoutDelegate.html @@ -0,0 +1,372 @@ + + + + CarouselCollectionViewLayoutDelegate Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.36.1 Docs + + (60% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

CarouselCollectionViewLayoutDelegate

+
+
+ +
public protocol CarouselCollectionViewLayoutDelegate : AnyObject
+ +
+
+

Delegate for custom carousel collection view layout

+ +
+
+ +
+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    This method is called when user stops scrolling and layout will target the correct lens to land at

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    func carouselLayout(_ layout: CarouselCollectionViewLayout, willTargetIndex index: Int)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + +
    + + layout + + +
    +

    carousel collection view layout instance

    +
    +
    + + index + + +
    +

    index of item that it will land at

    +
    +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Protocols/CarouselImageLoader.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Protocols/CarouselImageLoader.html new file mode 100644 index 000000000..46b9b2ece --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Protocols/CarouselImageLoader.html @@ -0,0 +1,486 @@ + + + + CarouselImageLoader Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.36.1 Docs + + (60% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

CarouselImageLoader

+
+
+ +
public protocol CarouselImageLoader : AnyObject
+ +
+
+

Protocol used to load an image from url

+ +
+
+ +
+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Load image from url

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    func loadImage(url: URL, completion: ((_ image: UIImage?, _ error: Error?) -> Void)?)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + +
    + + url + + +
    +

    image url

    +
    +
    + + completion + + +
    +

    callback with image on success or error on failure

    +
    +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Load image from url

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    func loadImage(
    +    url: URL,
    +    cachePolicy: URLRequest.CachePolicy,
    +    queue: DispatchQueue,
    +    completion: ((UIImage?, Error?) -> Void)?
    +)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + + + + + + + + + +
    + + url + + +
    +

    image url

    +
    +
    + + cachePolicy + + +
    +

    cache policy for the requested image data

    +
    +
    + + queue + + +
    +

    queue to call completion on

    +
    +
    + + completion + + +
    +

    callback with image on success or error on failure

    +
    +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Cancels image loading for a given url

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    func cancelImageLoad(from url: URL)
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Protocols/CarouselViewDataSource.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Protocols/CarouselViewDataSource.html new file mode 100644 index 000000000..edc877ea0 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Protocols/CarouselViewDataSource.html @@ -0,0 +1,364 @@ + + + + CarouselViewDataSource Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.36.1 Docs + + (60% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

CarouselViewDataSource

+
+
+ +
public protocol CarouselViewDataSource : AnyObject
+ +
+
+

A set of functions that an object adopts to manage data and provide items for a carousel view.

+ +
+
+ +
+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Returns a list of items to show in the carousel view.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    func itemsForCarouselView(_ view: CarouselView) -> [CarouselItem]
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + view + + +
    +

    The carousel view which will show the list of items returned.

    +
    +
    +
    +
    +

    Return Value

    +

    A list of items to show in the carousel view.

    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Protocols/CarouselViewDelegate.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Protocols/CarouselViewDelegate.html new file mode 100644 index 000000000..a01dc0298 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Protocols/CarouselViewDelegate.html @@ -0,0 +1,384 @@ + + + + CarouselViewDelegate Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.36.1 Docs + + (60% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

CarouselViewDelegate

+
+
+ +
public protocol CarouselViewDelegate : AnyObject
+ +
+
+

A set of functions implemented by the delegate to be notified when the carousel responds to user interactions.

+ +
+
+ +
+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Notifies the delegate that a given carousel’s specific index was selected.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    func carouselView(_ view: CarouselView, didSelect item: CarouselItem, at index: Int)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + + + + + +
    + + view + + +
    +

    The carousel view which contains the item that was just selected.

    +
    +
    + + item + + +
    +

    The carousel item which was just selected.

    +
    +
    + + index + + +
    +

    The index at which the carousel item was selected.

    +
    +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Protocols/ControlSliderDelegate.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Protocols/ControlSliderDelegate.html new file mode 100644 index 000000000..15bf31d95 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Protocols/ControlSliderDelegate.html @@ -0,0 +1,384 @@ + + + + ControlSliderDelegate Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.36.1 Docs + + (60% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

ControlSliderDelegate

+
+
+ +
public protocol ControlSliderDelegate : AnyObject
+ +
+
+

Undocumented

+ +
+
+ +
+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Notifies the delegate that the slider’s value has changed.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    func controlSlider(_ slider: ControlSlider, updatedValue value: Float, done: Bool)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + + + + + +
    + + slider + + +
    +

    The control slider.

    +
    +
    + + updatedValue + + +
    +

    The updated value received from the slider.

    +
    +
    + + done + + +
    +

    Whether or not the slider’s value is done changing.

    +
    +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Protocols/FlashControlViewDelegate.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Protocols/FlashControlViewDelegate.html new file mode 100644 index 000000000..1f41ac6b5 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Protocols/FlashControlViewDelegate.html @@ -0,0 +1,488 @@ + + + + FlashControlViewDelegate Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.36.1 Docs + + (60% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

FlashControlViewDelegate

+
+
+ +
public protocol FlashControlViewDelegate : AnyObject
+ +
+
+

Undocumented

+ +
+
+ +
+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Notifies the delegate that a ring light color was selected.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    func flashControlView(_ view: FlashControlView, selectedRingLightColor color: UIColor)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + +
    + + view + + +
    +

    The flash control view.

    +
    +
    + + selectedRingLightColor + + +
    +

    The ring light color that was just selected.

    +
    +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Notifies the delegate that the control’s ring light intensity slider has an updated value.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    func flashControlView(_ view: FlashControlView, updatedRingLightValue value: Float)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + +
    + + view + + +
    +

    The flash control view.

    +
    +
    + + updatedRingLightValue + + +
    +

    The updated intensity value received from the slider.

    +
    +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Notifies the delegate that there is an update to the selected flash mode.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    func flashControlView(_ view: FlashControlView, updatedFlashMode flashMode: CameraController.FlashMode)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + +
    + + view + + +
    +

    The flash control view.

    +
    +
    + + updatedFlashMode + + +
    +

    The updated flash mode selection.

    +
    +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Protocols/FlashModeSelectionViewDelegate.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Protocols/FlashModeSelectionViewDelegate.html new file mode 100644 index 000000000..52acb36ec --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Protocols/FlashModeSelectionViewDelegate.html @@ -0,0 +1,372 @@ + + + + FlashModeSelectionViewDelegate Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.36.1 Docs + + (60% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

FlashModeSelectionViewDelegate

+
+
+ +
public protocol FlashModeSelectionViewDelegate : AnyObject
+ +
+
+

Undocumented

+ +
+
+ +
+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Notifies the delegate that there is an update to the selected flash mode.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    func flashModeSelectionView(_ view: FlashModeSelectionView, updatedMode mode: CameraController.FlashMode)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + +
    + + view + + +
    +

    The flash mode selection view.

    +
    +
    + + updatedFlashMode + + +
    +

    The updated flash mode selection.

    +
    +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Protocols/MediaPickerViewDelegate.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Protocols/MediaPickerViewDelegate.html new file mode 100644 index 000000000..11880d231 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Protocols/MediaPickerViewDelegate.html @@ -0,0 +1,372 @@ + + + + MediaPickerViewDelegate Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.36.1 Docs + + (60% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

MediaPickerViewDelegate

+
+
+ +
public protocol MediaPickerViewDelegate : NSObjectProtocol
+ +
+
+

Describes an interface to be notified of MediaPickerView events

+ +
+
+ +
+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    User selected asset in MediaPickerView

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    func mediaPickerView(_ mediaPickerView: MediaPickerView, selectedAsset: LensMediaPickerProviderAsset)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + +
    + + mediaPickerView + + +
    +

    MediaPickerView instance

    +
    +
    + + selectedAsset + + +
    +

    user selected asset

    +
    +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Protocols/RingLightColorSelectionViewDelegate.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Protocols/RingLightColorSelectionViewDelegate.html new file mode 100644 index 000000000..79800f5c6 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Protocols/RingLightColorSelectionViewDelegate.html @@ -0,0 +1,372 @@ + + + + RingLightColorSelectionViewDelegate Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.36.1 Docs + + (60% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

RingLightColorSelectionViewDelegate

+
+
+ +
public protocol RingLightColorSelectionViewDelegate : AnyObject
+ +
+
+

Undocumented

+ +
+
+ +
+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Notifies the delegate that a color was selected.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    func ringLightColorSelectionView(_ view: RingLightColorSelectionView, selectedColor color: UIColor)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + +
    + + view + + +
    +

    The ring light color selection view.

    +
    +
    + + selectedColor + + +
    +

    The color that was just selected.

    +
    +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Protocols/SnapchatDelegate.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Protocols/SnapchatDelegate.html new file mode 100644 index 000000000..3753d0807 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Protocols/SnapchatDelegate.html @@ -0,0 +1,372 @@ + + + + SnapchatDelegate Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.36.1 Docs + + (60% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

SnapchatDelegate

+
+
+ +
public protocol SnapchatDelegate : AnyObject
+ +
+
+

CameraKit view controllers will notify this delegate when it needs to open, send info, or interact with Snapchat

+ +
+
+ +
+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    CameraKit view controller requests opening Snapchat with specific info

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    func cameraKitViewController(_ viewController: UIViewController, openSnapchat screen: SnapchatScreen)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + +
    + + viewController + + +
    +

    CameraKit view controller instance

    +
    +
    + + screen + + +
    +

    Snapchat screen to open to

    +
    +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Protocols/TestableElement.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Protocols/TestableElement.html new file mode 100644 index 000000000..93ba5468d --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/Protocols/TestableElement.html @@ -0,0 +1,341 @@ + + + + TestableElement Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.36.1 Docs + + (60% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

TestableElement

+
+
+ +
public protocol TestableElement
+ +
+
+

Describes an element that can be UI tested

+ +
+
+ +
+
+
+
    +
  • +
    + + + + id + +
    +
    +
    +
    +
    +
    +

    identifier for the testable element

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    var id: String { get }
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/badge.svg b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/badge.svg new file mode 100644 index 000000000..43342ebc3 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/badge.svg @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + documentation + + + documentation + + + 60% + + + 60% + + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/css/highlight.css b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/css/highlight.css new file mode 100644 index 000000000..c170357ce --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/css/highlight.css @@ -0,0 +1,202 @@ +/*! Jazzy - https://github.com/realm/jazzy + * Copyright Realm Inc. + * SPDX-License-Identifier: MIT + */ +/* Credit to https://gist.github.com/wataru420/2048287 */ +.highlight .c { + color: #999988; + font-style: italic; } + +.highlight .err { + color: #a61717; + background-color: #e3d2d2; } + +.highlight .k { + color: #000000; + font-weight: bold; } + +.highlight .o { + color: #000000; + font-weight: bold; } + +.highlight .cm { + color: #999988; + font-style: italic; } + +.highlight .cp { + color: #999999; + font-weight: bold; } + +.highlight .c1 { + color: #999988; + font-style: italic; } + +.highlight .cs { + color: #999999; + font-weight: bold; + font-style: italic; } + +.highlight .gd { + color: #000000; + background-color: #ffdddd; } + +.highlight .gd .x { + color: #000000; + background-color: #ffaaaa; } + +.highlight .ge { + color: #000000; + font-style: italic; } + +.highlight .gr { + color: #aa0000; } + +.highlight .gh { + color: #999999; } + +.highlight .gi { + color: #000000; + background-color: #ddffdd; } + +.highlight .gi .x { + color: #000000; + background-color: #aaffaa; } + +.highlight .go { + color: #888888; } + +.highlight .gp { + color: #555555; } + +.highlight .gs { + font-weight: bold; } + +.highlight .gu { + color: #aaaaaa; } + +.highlight .gt { + color: #aa0000; } + +.highlight .kc { + color: #000000; + font-weight: bold; } + +.highlight .kd { + color: #000000; + font-weight: bold; } + +.highlight .kp { + color: #000000; + font-weight: bold; } + +.highlight .kr { + color: #000000; + font-weight: bold; } + +.highlight .kt { + color: #445588; } + +.highlight .m { + color: #009999; } + +.highlight .s { + color: #d14; } + +.highlight .na { + color: #008080; } + +.highlight .nb { + color: #0086B3; } + +.highlight .nc { + color: #445588; + font-weight: bold; } + +.highlight .no { + color: #008080; } + +.highlight .ni { + color: #800080; } + +.highlight .ne { + color: #990000; + font-weight: bold; } + +.highlight .nf { + color: #990000; } + +.highlight .nn { + color: #555555; } + +.highlight .nt { + color: #000080; } + +.highlight .nv { + color: #008080; } + +.highlight .ow { + color: #000000; + font-weight: bold; } + +.highlight .w { + color: #bbbbbb; } + +.highlight .mf { + color: #009999; } + +.highlight .mh { + color: #009999; } + +.highlight .mi { + color: #009999; } + +.highlight .mo { + color: #009999; } + +.highlight .sb { + color: #d14; } + +.highlight .sc { + color: #d14; } + +.highlight .sd { + color: #d14; } + +.highlight .s2 { + color: #d14; } + +.highlight .se { + color: #d14; } + +.highlight .sh { + color: #d14; } + +.highlight .si { + color: #d14; } + +.highlight .sx { + color: #d14; } + +.highlight .sr { + color: #009926; } + +.highlight .s1 { + color: #d14; } + +.highlight .ss { + color: #990073; } + +.highlight .bp { + color: #999999; } + +.highlight .vc { + color: #008080; } + +.highlight .vg { + color: #008080; } + +.highlight .vi { + color: #008080; } + +.highlight .il { + color: #009999; } diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/css/jazzy.css b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/css/jazzy.css new file mode 100644 index 000000000..c7bb9fe22 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/css/jazzy.css @@ -0,0 +1,404 @@ +/*! Jazzy - https://github.com/realm/jazzy + * Copyright Realm Inc. + * SPDX-License-Identifier: MIT + */ +*, *:before, *:after { + box-sizing: inherit; } + +body { + margin: 0; + background: #fff; + color: #333; + font: 16px/1.7 "Helvetica Neue", Helvetica, Arial, sans-serif; + letter-spacing: .2px; + -webkit-font-smoothing: antialiased; + box-sizing: border-box; } + +h1 { + font-size: 2rem; + font-weight: 700; + margin: 1.275em 0 0.6em; } + +h2 { + font-size: 1.75rem; + font-weight: 700; + margin: 1.275em 0 0.3em; } + +h3 { + font-size: 1.5rem; + font-weight: 700; + margin: 1em 0 0.3em; } + +h4 { + font-size: 1.25rem; + font-weight: 700; + margin: 1.275em 0 0.85em; } + +h5 { + font-size: 1rem; + font-weight: 700; + margin: 1.275em 0 0.85em; } + +h6 { + font-size: 1rem; + font-weight: 700; + margin: 1.275em 0 0.85em; + color: #777; } + +p { + margin: 0 0 1em; } + +ul, ol { + padding: 0 0 0 2em; + margin: 0 0 0.85em; } + +blockquote { + margin: 0 0 0.85em; + padding: 0 15px; + color: #858585; + border-left: 4px solid #e5e5e5; } + +img { + max-width: 100%; } + +a { + color: #4183c4; + text-decoration: none; } + a:hover, a:focus { + outline: 0; + text-decoration: underline; } + a.discouraged { + text-decoration: line-through; } + a.discouraged:hover, a.discouraged:focus { + text-decoration: underline line-through; } + +table { + background: #fff; + width: 100%; + border-collapse: collapse; + border-spacing: 0; + overflow: auto; + margin: 0 0 0.85em; } + +tr:nth-child(2n) { + background-color: #fbfbfb; } + +th, td { + padding: 6px 13px; + border: 1px solid #ddd; } + +hr { + height: 1px; + border: none; + background-color: #ddd; } + +pre { + margin: 0 0 1.275em; + padding: .85em 1em; + overflow: auto; + background: #f7f7f7; + font-size: .85em; + font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace; } + +code { + font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace; } + +.item-container p > code, .item-container li > code, .top-matter p > code, .top-matter li > code { + background: #f7f7f7; + padding: .2em; } + .item-container p > code:before, .item-container p > code:after, .item-container li > code:before, .item-container li > code:after, .top-matter p > code:before, .top-matter p > code:after, .top-matter li > code:before, .top-matter li > code:after { + letter-spacing: -.2em; + content: "\00a0"; } + +pre code { + padding: 0; + white-space: pre; } + +.content-wrapper { + display: flex; + flex-direction: column; } + @media (min-width: 768px) { + .content-wrapper { + flex-direction: row; } } +.header { + display: flex; + padding: 8px; + font-size: 0.875em; + background: #444; + color: #999; } + +.header-col { + margin: 0; + padding: 0 8px; } + +.header-col--primary { + flex: 1; } + +.header-link { + color: #fff; } + +.header-icon { + padding-right: 2px; + vertical-align: -3px; + height: 16px; } + +.breadcrumbs { + font-size: 0.875em; + padding: 8px 16px; + margin: 0; + background: #fbfbfb; + border-bottom: 1px solid #ddd; } + +.carat { + height: 10px; + margin: 0 5px; } + +.navigation { + order: 2; } + @media (min-width: 768px) { + .navigation { + order: 1; + width: 25%; + max-width: 300px; + padding-bottom: 64px; + overflow: hidden; + word-wrap: normal; + background: #fbfbfb; + border-right: 1px solid #ddd; } } +.nav-groups { + list-style-type: none; + padding-left: 0; } + +.nav-group-name { + border-bottom: 1px solid #ddd; + padding: 8px 0 8px 16px; } + +.nav-group-name-link { + color: #333; } + +.nav-group-tasks { + margin: 8px 0; + padding: 0 0 0 8px; } + +.nav-group-task { + font-size: 1em; + list-style-type: none; + white-space: nowrap; } + +.nav-group-task-link { + color: #808080; } + +.main-content { + order: 1; } + @media (min-width: 768px) { + .main-content { + order: 2; + flex: 1; + padding-bottom: 60px; } } +.section { + padding: 0 32px; + border-bottom: 1px solid #ddd; } + +.section-content { + max-width: 834px; + margin: 0 auto; + padding: 16px 0; } + +.section-name { + color: #666; + display: block; } + .section-name p { + margin-bottom: inherit; } + +.declaration .highlight { + overflow-x: initial; + padding: 8px 0; + margin: 0; + background-color: transparent; + border: none; } + +.task-group-section { + border-top: 1px solid #ddd; } + +.task-group { + padding-top: 0px; } + +.task-name-container a[name]:before { + content: ""; + display: block; } + +.section-name-container { + position: relative; } + .section-name-container .section-name-link { + position: absolute; + top: 0; + left: 0; + bottom: 0; + right: 0; + margin-bottom: 0; } + .section-name-container .section-name { + position: relative; + pointer-events: none; + z-index: 1; } + .section-name-container .section-name a { + pointer-events: auto; } + +.item-container { + padding: 0; } + +.item { + padding-top: 8px; + width: 100%; + list-style-type: none; } + .item a[name]:before { + content: ""; + display: block; } + .item .token, .item .direct-link { + display: inline-block; + text-indent: -20px; + padding-left: 3px; + margin-left: 20px; + font-size: 1rem; } + .item .declaration-note { + font-size: .85em; + color: #808080; + font-style: italic; } + +.pointer-container { + border-bottom: 1px solid #ddd; + left: -23px; + padding-bottom: 13px; + position: relative; + width: 110%; } + +.pointer { + left: 21px; + top: 7px; + display: block; + position: absolute; + width: 12px; + height: 12px; + border-left: 1px solid #ddd; + border-top: 1px solid #ddd; + background: #fff; + transform: rotate(45deg); } + +.height-container { + display: none; + position: relative; + width: 100%; + overflow: hidden; } + .height-container .section { + background: #fff; + border: 1px solid #ddd; + border-top-width: 0; + padding-top: 10px; + padding-bottom: 5px; + padding: 8px 16px; } + +.aside, .language { + padding: 6px 12px; + margin: 12px 0; + border-left: 5px solid #dddddd; + overflow-y: hidden; } + .aside .aside-title, .language .aside-title { + font-size: 9px; + letter-spacing: 2px; + text-transform: uppercase; + padding-bottom: 0; + margin: 0; + color: #aaa; + -webkit-user-select: none; } + .aside p:last-child, .language p:last-child { + margin-bottom: 0; } + +.language { + border-left: 5px solid #cde9f4; } + .language .aside-title { + color: #4183c4; } + +.aside-warning, .aside-deprecated, .aside-unavailable { + border-left: 5px solid #ff6666; } + .aside-warning .aside-title, .aside-deprecated .aside-title, .aside-unavailable .aside-title { + color: #ff0000; } + +.graybox { + border-collapse: collapse; + width: 100%; } + .graybox p { + margin: 0; + word-break: break-word; + min-width: 50px; } + .graybox td { + border: 1px solid #ddd; + padding: 5px 25px 5px 10px; + vertical-align: middle; } + .graybox tr td:first-of-type { + text-align: right; + padding: 7px; + vertical-align: top; + word-break: normal; + width: 40px; } + +.slightly-smaller { + font-size: 0.9em; } + +.footer { + padding: 8px 16px; + background: #444; + color: #ddd; + font-size: 0.8em; } + .footer p { + margin: 8px 0; } + .footer a { + color: #fff; } + +html.dash .header, html.dash .breadcrumbs, html.dash .navigation { + display: none; } + +html.dash .height-container { + display: block; } + +form[role=search] input { + font: 16px/1.7 "Helvetica Neue", Helvetica, Arial, sans-serif; + font-size: 14px; + line-height: 24px; + padding: 0 10px; + margin: 0; + border: none; + border-radius: 1em; } + .loading form[role=search] input { + background: white url(../img/spinner.gif) center right 4px no-repeat; } + +form[role=search] .tt-menu { + margin: 0; + min-width: 300px; + background: #fbfbfb; + color: #333; + border: 1px solid #ddd; } + +form[role=search] .tt-highlight { + font-weight: bold; } + +form[role=search] .tt-suggestion { + font: 16px/1.7 "Helvetica Neue", Helvetica, Arial, sans-serif; + padding: 0 8px; } + form[role=search] .tt-suggestion span { + display: table-cell; + white-space: nowrap; } + form[role=search] .tt-suggestion .doc-parent-name { + width: 100%; + text-align: right; + font-weight: normal; + font-size: 0.9em; + padding-left: 16px; } + +form[role=search] .tt-suggestion:hover, +form[role=search] .tt-suggestion.tt-cursor { + cursor: pointer; + background-color: #4183c4; + color: #fff; } + +form[role=search] .tt-suggestion:hover .doc-parent-name, +form[role=search] .tt-suggestion.tt-cursor .doc-parent-name { + color: #fff; } diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Info.plist b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Info.plist new file mode 100644 index 000000000..defb28c32 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Info.plist @@ -0,0 +1,20 @@ + + + + + CFBundleIdentifier + com.jazzy.scsdkcamerakitreferenceui + CFBundleName + SCSDKCameraKitReferenceUI + DocSetPlatformFamily + scsdkcamerakitreferenceui + isDashDocset + + dashIndexFilePath + index.html + isJavaScriptEnabled + + DashDocSetFamily + dashtoc + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes.html new file mode 100644 index 000000000..73a0e7b50 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes.html @@ -0,0 +1,1230 @@ + + + + Classes Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.36.1 Docs + + (60% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

Classes

+

The following classes are available globally.

+ +
+
+ +
+
+
+
+ + +
+ +

Class Definition and State +

+
+
+
    +
  • +
    + + + + CameraController + +
    +
    +
    +
    +
    +
    +

    A controller which manages the camera and lenses stack on behalf of its owner

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    open class CameraController: NSObject, LensRepositoryGroupObserver, LensPrefetcherObserver, LensHintDelegate,
    +    MediaPickerViewDelegate, AdjustmentControlViewDelegate
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + CameraButton + +
    +
    +
    +
    +
    +
    +

    Camera ring view for capturing and recording state

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public class CameraButton : UIView, UIGestureRecognizerDelegate
    +
    extension CameraButton: CAAnimationDelegate
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + AdjustmentControlView + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public class AdjustmentControlView : UIView
    +
    extension AdjustmentControlView: ControlSliderDelegate
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + ControlSlider + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public class ControlSlider : UISlider
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + CameraActionsView + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public class CameraActionsView : UIView
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    View to use for camera actions that can be enabled/disabled and configured via separate buttons.

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public class CameraConfigurableActionView : UIView
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + CameraView + +
    +
    +
    +
    +
    +
    +

    This is the default view that backs the CameraViewController.

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    open class CameraView : UIView
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + CameraViewController + +
    +
    +
    +
    +
    +
    +

    This is the default view controller which handles setting up the camera, lenses, carousel, etc.

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    open class CameraViewController : UIViewController, CameraControllerUIDelegate
    +
    extension CameraViewController: AdjustmentsProcessorObserver
    +
    extension CameraViewController: CarouselViewDelegate, CarouselViewDataSource
    +
    extension CameraViewController: CameraButtonDelegate
    +
    extension CameraViewController: FlashControlViewDelegate
    +
    extension CameraViewController: UIAdaptivePresentationControllerDelegate
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + FlashControlView + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public class FlashControlView : UIView
    +
    extension FlashControlView: FlashModeSelectionViewDelegate
    +
    extension FlashControlView: ControlSliderDelegate
    +
    extension FlashControlView: RingLightColorSelectionViewDelegate
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public class FlashModeSelectionView : UIView
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public class RingLightColorSelectionView : UIView
    +
    extension RingLightColorSelectionView: UICollectionViewDelegate
    +
    extension RingLightColorSelectionView: UICollectionViewDataSource
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public class RingLightColorSelectionViewCell : UICollectionViewCell
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + RingLightGradientView + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public class RingLightGradientView : UIView
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + RingLightView + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public class RingLightView : UIView
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Carousel collection view cell which represents a single lens item/icon

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public class CarouselCollectionViewCell : UICollectionViewCell
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Custom collection view layout for carousel collection view

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public class CarouselCollectionViewLayout : UICollectionViewFlowLayout
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Default image loader class which uses a URLSession to load images

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public class DefaultCarouselImageLoader : CarouselImageLoader
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + CarouselItem + +
    +
    +
    +
    +
    +
    +

    This is the carousel item view model which represents a specific lens icon

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public class CarouselItem : Identifiable, Equatable
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + EmptyItem + +
    +
    +
    +
    +
    +
    +

    Concrete class for an empty item (clear camera button)

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public class EmptyItem : CarouselItem
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + CarouselView + +
    +
    +
    +
    +
    +
    +

    A view that manages an ordered collection of data items (eg. lenses) and displays them in a swipeable row with one item always selected.

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public class CarouselView : UIView, UICollectionViewDataSource, UICollectionViewDelegateFlowLayout
    +
    extension CarouselView: CarouselCollectionViewLayoutDelegate
    +
    extension CarouselView: CarouselCollectionViewLayoutDataSource
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + BundleHelper + +
    +
    +
    +
    +
    +
    +

    Internal helper to deal with resources bundle

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public class BundleHelper
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Reference implementation of a text input view for lenses that take text input.

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    @objc
    +public class KeyboardAccessoryViewProvider : NSObject, TextInputKeyboardAccessoryProvider
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + MediaPickerView + +
    +
    +
    +
    +
    +
    +

    Selection view for Media Picker

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public class MediaPickerView : UIView
    +
    extension MediaPickerView: LensMediaPickerProviderUIDelegate
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Preview view controller for showing captured photos and images

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public class ImagePreviewViewController : PreviewViewController
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + PreviewViewController + +
    +
    +
    +
    +
    +
    +

    Base preview view controller that describes properties and views of all preview controllers

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public class PreviewViewController : UIViewController
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Preview view controller for showing recorded video previews

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public class VideoPreviewViewController : PreviewViewController
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + Recorder + +
    +
    +
    +
    +
    +
    +

    Sample video recorder implementation.

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public class Recorder
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + UserDataProvider + +
    +
    +
    +
    +
    +
    +

    Default user data provider to show how to provide user data to CameraKit

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public class UserDataProvider : NSObject, SCSDKCameraKit.UserDataProvider
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + CameraBottomBar + +
    +
    +
    +
    +
    +
    +

    Bottom bar on Camera that contains Snap ghost button for actions +as well as close button to clear current lens

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public class CameraBottomBar : UIView
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Popup message notification view for different lens events

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public class MessageNotificationView : UIView
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + SnapAttributionView + +
    +
    +
    +
    +
    +
    +

    Snap attribution on Camera that contains “Powered by” and Snap ghost icon

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public class SnapAttributionView : UIView
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + TapAnimationView + +
    +
    +
    +
    +
    +
    +

    View that appears when the user taps on the camera view

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public class TapAnimationView : UIView
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/AdjustmentControlView.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/AdjustmentControlView.html new file mode 100644 index 000000000..79f51b563 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/AdjustmentControlView.html @@ -0,0 +1,598 @@ + + + + AdjustmentControlView Class Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.36.1 Docs + + (60% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

AdjustmentControlView

+
+
+ +
public class AdjustmentControlView : UIView
+
extension AdjustmentControlView: ControlSliderDelegate
+ +
+
+

Undocumented

+ +
+
+ +
+
+
+
    +
  • +
    + + + + Variant + +
    +
    +
    +
    +
    +
    +

    Adjustments that can be controlled via this view. +Used to set the tag field of the view so the delegate can disambiguate between different adjustments.

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public enum Variant : Int
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + delegate + +
    +
    +
    +
    +
    +
    +

    Delegate for handling changes to the adjustment intensity slider.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public weak var delegate: AdjustmentControlViewDelegate?
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + intensityValue + +
    +
    +
    +
    +
    +
    +

    The intensity of the adjustment according to the control’s slider’s value.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var intensityValue: Float { get set }
    + +
    +
    +
    +
    +
  • +
+
+
+
+ + +
+ +

Views +

+
+
+
    +
  • +
    + + + + primaryLabel + +
    +
    +
    +
    +
    +
    +

    Primary label for the control.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public let primaryLabel: UILabel
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + secondaryLabel + +
    +
    +
    +
    +
    +
    +

    Secondary label for the control.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public let secondaryLabel: UILabel
    + +
    +
    +
    +
    +
  • +
+
+
+
+ + +
+ +

Init +

+
+
+
    +
  • +
    + + + + init(frame:) + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    override public init(frame: CGRect)
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + layoutSubviews() + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    override public func layoutSubviews()
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + intrinsicContentSize + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    override public var intrinsicContentSize: CGSize { get }
    + +
    +
    +
    +
    +
  • +
+
+
+
+ + +
+ +

Control Slider Delegate +

+
+
+ +
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/AdjustmentControlView/Variant.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/AdjustmentControlView/Variant.html new file mode 100644 index 000000000..6c548398b --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/AdjustmentControlView/Variant.html @@ -0,0 +1,396 @@ + + + + Variant Enumeration Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.36.1 Docs + + (60% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

Variant

+
+
+ +
public enum Variant : Int
+ +
+
+

Adjustments that can be controlled via this view. +Used to set the tag field of the view so the delegate can disambiguate between different adjustments.

+ +
+
+ +
+
+
+
    +
  • +
    + + + + tone + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    case tone
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + portrait + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    case portrait
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + label + +
    +
    +
    +
    +
    +
    +

    Text for the primary label of the control with the specified variant.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var label: String { get }
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/BundleHelper.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/BundleHelper.html new file mode 100644 index 000000000..1b5148b3e --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/BundleHelper.html @@ -0,0 +1,342 @@ + + + + BundleHelper Class Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.36.1 Docs + + (60% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

BundleHelper

+
+
+ +
public class BundleHelper
+ +
+
+

Internal helper to deal with resources bundle

+ +
+
+ +
+
+
+
    +
  • +
    + + + + resourcesBundle + +
    +
    +
    +
    +
    +
    +

    Internal helper computed property to get correct resources bundle +(ie. if pods, look for bundle inside main bundle)

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public class var resourcesBundle: Bundle { get }
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/CameraActionsView.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/CameraActionsView.html new file mode 100644 index 000000000..994cac2c9 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/CameraActionsView.html @@ -0,0 +1,673 @@ + + + + CameraActionsView Class Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.36.1 Docs + + (60% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

CameraActionsView

+
+
+ +
public class CameraActionsView : UIView
+ +
+
+

Undocumented

+ +
+
+ +
+
+
+
+ + +
+ +

Views +

+
+
+
    +
  • +
    + + + + flipCameraButton + +
    +
    +
    +
    +
    +
    +

    Button to flip camera input position

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public lazy var flipCameraButton: UIButton { get set }
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public lazy var flashToggleButtonBaseSelectedImage: UIImage? { get set }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + flashActionView + +
    +
    +
    +
    +
    +
    +

    View with buttons to enable/disable flash and switch between system flash and ring light.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public lazy var flashActionView: CameraConfigurableActionView { get set }
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Sets up the flash toggle button for front flash.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func setupFlashToggleButtonForFront()
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Sets up the flash toggle button for back flash.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func setupFlashToggleButtonForBack()
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + toneMapActionView + +
    +
    +
    +
    +
    +
    +

    View with buttons to enable/disable the tone map adjustment and control the intensity of the adjustment.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public lazy var toneMapActionView: CameraConfigurableActionView { get set }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + portraitActionView + +
    +
    +
    +
    +
    +
    +

    View with buttons to enable/disable the portrait adjustment and control the intensity of the adjustment.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public lazy var portraitActionView: CameraConfigurableActionView { get set }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + buttonStackView + +
    +
    +
    +
    +
    +
    +

    Stack view used to arrange the view’s buttons.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public lazy var buttonStackView: UIStackView { get set }
    + +
    +
    +
    +
    +
  • +
+
+
+
+ + +
+ +

Recording Handling +

+
+
+
    +
  • +
    + + + + collapse() + +
    +
    +
    +
    +
    +
    +

    Hide all camera actions except camera flip while recording.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func collapse()
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + expand() + +
    +
    +
    +
    +
    +
    +

    Unhide all camera actions that were hidden as a result of a call to collapse.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func expand()
    + +
    +
    +
    +
    +
  • +
+
+
+
+ + +
+ +

Init +

+
+
+
    +
  • +
    + + + + init(frame:) + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    override public init(frame: CGRect)
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + layoutSubviews() + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    override public func layoutSubviews()
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/CameraBottomBar.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/CameraBottomBar.html new file mode 100644 index 000000000..6a351d44d --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/CameraBottomBar.html @@ -0,0 +1,369 @@ + + + + CameraBottomBar Class Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.36.1 Docs + + (60% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

CameraBottomBar

+
+
+ +
public class CameraBottomBar : UIView
+ +
+
+

Bottom bar on Camera that contains Snap ghost button for actions +as well as close button to clear current lens

+ +
+
+ +
+
+
+
    +
  • +
    + + + + snapButton + +
    +
    +
    +
    +
    +
    +

    Snap ghost button for lens actions

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public let snapButton: UIButton
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + closeButton + +
    +
    +
    +
    +
    +
    +

    Close button to clear current lens

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public let closeButton: UIButton
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/CameraButton.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/CameraButton.html new file mode 100644 index 000000000..c55f02f14 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/CameraButton.html @@ -0,0 +1,924 @@ + + + + CameraButton Class Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.36.1 Docs + + (60% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

CameraButton

+
+
+ +
public class CameraButton : UIView, UIGestureRecognizerDelegate
+
extension CameraButton: CAAnimationDelegate
+ +
+
+

Camera ring view for capturing and recording state

+ +
+
+ +
+
+
+
    +
  • +
    + + + + Constants + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public enum Constants
    + +
    +
    +
    +
    +
  • +
+
+
+
+ + +
+ +

Properties +

+
+
+
    +
  • +
    + + + + delegate + +
    +
    +
    +
    +
    +
    +

    Camera button delegate

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public weak var delegate: CameraButtonDelegate?
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + minimumHoldDuration + +
    +
    +
    +
    +
    +
    +

    The minimum time for a hold to be considered “valid.” +If the user holds and releases for a duration shorter than specified, the camera button will act as though it has been tapped instead of held.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var minimumHoldDuration: TimeInterval
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + ringWidth + +
    +
    +
    +
    +
    +
    +

    Line width for camera ring

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var ringWidth: CGFloat { get set }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + allowWhileRecording + +
    +
    +
    +
    +
    +
    +

    List of allowed gestures to be used when recording a video(LongPressGesture) i.e. Double Tap Gesture, Pinch Gesture.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var allowWhileRecording: [UIGestureRecognizer]
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + ringColor + +
    +
    +
    +
    +
    +
    +

    Ring color while recording

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var ringColor: UIColor? { get set }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + tapGestureRecognizer + +
    +
    +
    +
    +
    +
    +

    Tap gesture recognizer that is used to recognize taps on the camera button +to notify delegate that camera button was tapped to trigger an action (ie. capture)

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public private(set) lazy var tapGestureRecognizer: UITapGestureRecognizer { get set }
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Long press gesture recognizer used to handle recording gesture +NOTE: this gets added to superview when the view is added, +so that all touches can be passed through this view +until the gesture is recognized in which it will then eat up all the touches

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public private(set) lazy var pressGestureRecognizer: UILongPressGestureRecognizer { get set }
    + +
    +
    +
    +
    +
  • +
+
+
+
+ + +
+ +

Init +

+
+
+
    +
  • +
    + + + + init() + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public init()
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + init(frame:) + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    override public init(frame: CGRect)
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + init(coder:) + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public required init?(coder: NSCoder)
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + layoutSubviews() + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    override public func layoutSubviews()
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + intrinsicContentSize + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    override public var intrinsicContentSize: CGSize { get }
    + +
    +
    +
    +
    +
  • +
+
+
+
+ + +
+ +

Gesture Recognizer +

+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    override public func willMove(toSuperview newSuperview: UIView?)
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func gestureRecognizer(
    +    _ gestureRecognizer: UIGestureRecognizer,
    +    shouldRecognizeSimultaneouslyWith otherGestureRecognizer: UIGestureRecognizer
    +) -> Bool
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldReceive touch: UITouch) -> Bool
    + +
    +
    +
    +
    +
  • +
+
+
+
+ + +
+ +

Animation +

+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Start animating ring fill +Call this function when gesture recognizer begins

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func startRecordingAnimation(
    +    ringFillDuration: TimeInterval = 10.0,
    +    maxRecordingDuration: TimeInterval = 60.0
    +)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + +
    + + ringFillDuration + + +
    +

    Duration of ring fill recording animation.

    +
    +
    + + maxRecordingDuration + + +
    +

    The max duration of a recorded video.

    +
    +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Stop animating ring fill and reset views to original state +Call this function when gesture recognizer ends, cancels, or fails

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func stopRecordingAnimation()
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func animationDidStop(_ anim: CAAnimation, finished flag: Bool)
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/CameraConfigurableActionView.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/CameraConfigurableActionView.html new file mode 100644 index 000000000..5e2405575 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/CameraConfigurableActionView.html @@ -0,0 +1,756 @@ + + + + CameraConfigurableActionView Class Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.36.1 Docs + + (60% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

CameraConfigurableActionView

+
+
+ +
public class CameraConfigurableActionView : UIView
+ +
+
+

View to use for camera actions that can be enabled/disabled and configured via separate buttons.

+ +
+
+ +
+
+
+
+ + +
+ +

Public +

+
+
+
    +
  • +
    + + + + configurable + +
    +
    +
    +
    +
    +
    +

    Whether or not the action is currently configurable via a control view. +If this is false, then the action can only be toggled on/off.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var configurable: Bool { get set }
    + +
    +
    +
    +
    +
  • +
+
+
+
+ + +
+ +

Views +

+
+
+
    +
  • +
    + + + + toggleButton + +
    +
    +
    +
    +
    +
    +

    Button used to enable/disable camera action. +By default, this button has no image and it should be set.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public lazy var toggleButton: UIButton { get set }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + configurationButton + +
    +
    +
    +
    +
    +
    +

    Button used to open/close the settings for the camera action. +By default, this button has no image and it should be set.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public lazy var configurationButton: UIButton { get set }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + blurEffectView + +
    +
    +
    +
    +
    +
    +

    View that provides the stack view with its blurred background.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public let blurEffectView: UIVisualEffectView
    + +
    +
    +
    +
    +
  • +
+
+
+
+ + +
+ +

View Configuration +

+
+
+
    +
  • +
    + + + + collapse() + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func collapse()
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + expand() + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func expand()
    + +
    +
    +
    +
    +
  • +
+
+
+
+ + +
+ +

Init +

+
+
+
    +
  • +
    + + + + init(frame:) + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    override public init(frame: CGRect)
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + init(coder:) + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public required init?(coder: NSCoder)
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + layoutSubviews() + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    override public func layoutSubviews()
    + +
    +
    +
    +
    +
  • +
+
+
+
+ + +
+ +

Callbacks +

+
+
+
    +
  • +
    + + + + enableAction + +
    +
    +
    +
    +
    +
    +

    Callback to enable the camera action when the toggle button is selected.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var enableAction: (() -> Void)?
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + disableAction + +
    +
    +
    +
    +
    +
    +

    Callback to disable the camera action when the toggle button is deselected.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var disableAction: (() -> Void)?
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + showActionSettings + +
    +
    +
    +
    +
    +
    +

    Callback to show the settings for the camera action.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var showActionSettings: (() -> Void)?
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + hideActionSettings + +
    +
    +
    +
    +
    +
    +

    Callback to hide the settings for the camera action.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var hideActionSettings: (() -> Void)?
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Callback to toggle the visibility of the settings for the camera action.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var toggleActionSettingsVisibility: (() -> Void)?
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/CameraController.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/CameraController.html new file mode 100644 index 000000000..88d7b84ea --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/CameraController.html @@ -0,0 +1,2095 @@ + + + + CameraController Class Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.36.1 Docs + + (60% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

CameraController

+
+
+ +
open class CameraController: NSObject, LensRepositoryGroupObserver, LensPrefetcherObserver, LensHintDelegate,
+    MediaPickerViewDelegate, AdjustmentControlViewDelegate
+ +
+
+

A controller which manages the camera and lenses stack on behalf of its owner

+ +
+
+ +
+
+
+
+ + +
+ +

Public vars +

+
+
+
    +
  • +
    + + + + captureSession + +
    +
    +
    +
    +
    +
    +

    A capture session we’ll use for camera input.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public let captureSession: AVCaptureSession
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + cameraKit + +
    +
    +
    +
    +
    +
    +

    The CameraKit session

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public let cameraKit: CameraKitProtocol
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + cameraPosition + +
    +
    +
    +
    +
    +
    +

    The position of the camera.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public private(set) var cameraPosition: AVCaptureDevice.Position { get set }
    + +
    +
    +
    +
    +
  • +
+
+
+
+ + +
+ +

Outputs +

+
+
+
    +
  • +
    + + + + photoCaptureOutput + +
    +
    +
    +
    +
    +
    +

    An output used for taking still photos.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public private(set) var photoCaptureOutput: PhotoCaptureOutput? { get }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + recorder + +
    +
    +
    +
    +
    +
    +

    An output used for recording videos.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public private(set) var recorder: Recorder? { get }
    + +
    +
    +
    +
    +
  • +
+
+
+
+ + +
+ +

Data providers +

+
+
+
    +
  • +
    + + + + lensMediaProvider + +
    +
    +
    +
    +
    +
    +

    Media provider for CameraKit.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public let lensMediaProvider: LensMediaPickerProviderPhotoLibrary
    + +
    +
    +
    +
    +
  • +
+
+
+
+ + +
+ +

Delegates +

+
+
+
    +
  • +
    + + + + snapchatDelegate + +
    +
    +
    +
    +
    +
    +

    Snapchat delegate for requests to open the main Snapchat app.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public weak var snapchatDelegate: SnapchatDelegate?
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + uiDelegate + +
    +
    +
    +
    +
    +
    +

    Delegate for responding to UI requests from camera controller.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public weak var uiDelegate: CameraControllerUIDelegate?
    + +
    +
    +
    +
    +
  • +
+
+
+
+ + +
+ +

State +

+
+
+
    +
  • +
    + + + + currentLens + +
    +
    +
    +
    +
    +
    +

    The currently selected and active lens.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public private(set) var currentLens: Lens? { get }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + groupIDs + +
    +
    +
    +
    +
    +
    +

    List of lens repository groups to observe/show in carousel

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var groupIDs: [String] { get set }
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Whether or not the tone map adjustment is available for the current device. +This variable should be checked before showing any UI associated with the tone map adjustment.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var isToneMapAdjustmentAvailable: Bool { get }
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Whether or not the portrait adjustment is available for the current device. +This variable should be checked before showing any UI associated with the portrait adjustment.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var isPortraitAdjustmentAvailable: Bool { get }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + flashState + +
    +
    +
    +
    +
    +
    +

    The current state of the camera flash.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var flashState: FlashState { get set }
    + +
    +
    +
    +
    +
  • +
+
+
+
+ + +
+ +

Initializers +

+
+
+
    +
  • +
    + + + + init(sessionConfig:) + +
    +
    +
    +
    +
    +
    +

    Returns a camera controller that is initialized with a newly created AVCaptureSession stack +and CameraKit session with the specified configuration and list of group IDs.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public convenience init(sessionConfig: SessionConfig? = nil)
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + sessionConfig + + +
    +

    Config to configure session with application id and api token. +Pass this in if you wish to dynamically update or overwrite the application id and api token in the application’s Info.plist.

    +
    +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Init with camera kit session, capture session, and lens holder

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public init(cameraKit: CameraKitProtocol, captureSession: AVCaptureSession)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + +
    + + cameraKit + + +
    +

    camera kit session

    +
    +
    + + captureSession + + +
    +

    avcapturesession

    +
    +
    +
    +
    +
    +
  • +
+
+
+
+ + +
+ +

Configuration +

+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Configures the overall camera and lenses stack.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func configure(
    +    orientation: AVCaptureVideoOrientation,
    +    textInputContextProvider: TextInputContextProvider?,
    +    agreementsPresentationContextProvider: AgreementsPresentationContextProvider?,
    +    completion: (() -> Void)?
    +)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + +
    + + orientation + + +
    +

    the orientation

    +
    +
    + + completion + + +
    +

    a nullable completion that is called after configuration is done. + In case it’s a first app start (when camera permission is not determined yet) a completion will be called after the prompt.

    +
    +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Configures the lenses pipeline.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    open func configureLenses(
    +    orientation: AVCaptureVideoOrientation,
    +    textInputContextProvider: TextInputContextProvider?,
    +    agreementsPresentationContextProvider: AgreementsPresentationContextProvider?
    +)
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + orientation + + +
    +

    the camera orientation.

    +
    +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Configures the data provider for lenses. Subclasses may override this to customize their data provider.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    open func configureDataProvider() -> DataProviderComponent
    + +
    +
    +
    +

    Return Value

    +

    a configured data provider.

    +
    +
    +
    +
  • +
+
+
+
+ + +
+ +

Camera Control +

+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Zoom in by a given factor from whatever the current zoom level is

    +
    +

    Note

    + the zoom level will be capped to a minimum level of 1.0. + +
    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func zoomExistingLevel(by factor: CGFloat)
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + factor + + +
    +

    the factor to zoom by.

    +
    +
    +
    +
    +
    +
  • +
  • +
    + + + + finalizeZoom() + +
    +
    +
    +
    +
    +
    +

    Save whatever the current zoom level is.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func finalizeZoom()
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + flipCamera() + +
    +
    +
    +
    +
    +
    +

    Flips the camera to the other side

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func flipCamera()
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Options to support when setting a point of interest

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public struct PointOfInterestOptions : OptionSet
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Sets camera point of interest for operations in the option set. Also adds observers for the current device such +that once the focusing/exposure rebalancing operations are complete, continuous autofocus/autoexposure +are restored (see observeValue)

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func setPointOfInterest(at point: CGPoint, for options: PointOfInterestOptions = [.exposure, .focus])
    + +
    +
    +
    +
    +
  • +
+
+
+
+ + +
+ +

Taking Photos +

+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Takes a photo.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    open func takePhoto(completion: ((UIImage?, Error?) -> Void)?)
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + completion + + +
    +

    completion to be called with the photo or an error.

    +
    +
    +
    +
    +
    +
  • +
+
+
+
+ + +
+ +

LensRepositoryGroupObserver +

+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    open func repository(_ repository: LensRepository, didUpdateLenses lenses: [Lens], forGroupID groupID: String)
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    open func repository(
    +    _ repository: LensRepository, didFailToUpdateLensesForGroupID groupID: String, error: Error?
    +)
    + +
    +
    +
    +
    +
  • +
+
+
+
+ + +
+ +

LensPrefetcherObserver +

+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func prefetcher(_ prefetcher: LensPrefetcher, didUpdate lens: Lens, status: LensFetchStatus)
    + +
    +
    +
    +
    +
  • +
+
+
+
+ + +
+ +

Recording +

+
+
+
    +
  • +
    + + + + startRecording() + +
    +
    +
    +
    +
    +
    +

    Begin recording video.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    open func startRecording()
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + cancelRecording() + +
    +
    +
    +
    +
    +
    +

    Cancel recording video.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    open func cancelRecording()
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Finish recording the video.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    open func finishRecording(completion: ((URL?, Error?) -> Void)?)
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + completion + + +
    +

    completion to be called with a URL to the recorded video or an error.

    +
    +
    +
    +
    +
    +
  • +
+
+
+
+ + +
+ +

Lens Application +

+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Apply a specified lens.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func applyLens(_ lens: Lens, completion: ((Bool) -> Void)? = nil)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + +
    + + lens + + +
    +

    selected lens

    +
    +
    + + completion + + +
    +

    callback on completion with success/failure

    +
    +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Clear the currently selected lens, and return to unmodified camera feed.

    + +
      +
    • willReapply: if true, cameraKit will not clear out the “currentLens” property, and reapplyCurrentLens will apply the lens that was cleared.
    • +
    • completion: callback on completion with success/failure
    • +
    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func clearLens(willReapply: Bool = false, completion: ((Bool) -> Void)? = nil)
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + reapplyCurrentLens() + +
    +
    +
    +
    +
    +
    +

    If a lens has already been applied, reapply it.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func reapplyCurrentLens()
    + +
    +
    +
    +
    +
  • +
+
+
+
+ + +
+ +

Adjustments Application +

+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Enables the tone map adjustment.

    +
    +

    Note

    + Before calling this function, check whether or not the adjustment is available for the device. See isToneMapAdjustmentAvailable. + +
    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func enableToneMapAdjustment() -> Float?
    + +
    +
    +
    +

    Return Value

    +

    Float representing the intensity of the tone map effect.

    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Disables the tone map adjustment.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func disableToneMapAdjustment()
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Enables the portrait adjustment.

    +
    +

    Note

    + Before calling this function, check whether or not the adjustment is available for the device. See isPortraitAdjustmentAvailable. + +
    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func enablePortraitAdjustment() -> Float?
    + +
    +
    +
    +

    Return Value

    +

    Float representing the intensity of the portrait blur effect.

    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Disables the portrait adjustment.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func disablePortraitAdjustment()
    + +
    +
    +
    +
    +
  • +
+
+
+
+ + +
+ +

LensHintDelegate +

+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func lensProcessor(
    +    _ lensProcessor: LensProcessor, shouldDisplayHint hint: String, for lens: Lens, autohide: Bool
    +)
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func lensProcessor(_ lensProcessor: LensProcessor, shouldHideAllHintsFor lens: Lens)
    + +
    +
    +
    +
    +
  • +
+
+
+
+ + +
+ +

MediaPickerViewDelegate +

+
+
+ +
+
+
+ + +
+ +

AdjustmentsControlViewDelegate +

+
+
+ +
+
+
+ + +
+ +

Private vars +

+
+
+
    +
  • +
    + + + + brightnessToRestore + +
    +
    +
    +
    +
    +
    +

    Temporary state that holds the brightness that should be restored after the ring light is disabled.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var brightnessToRestore: CGFloat?
    + +
    +
    +
    +
    +
  • +
+
+
+
+ + +
+ +

Flash +

+
+
+
    +
  • +
    + + + + FlashMode + +
    +
    +
    +
    +
    +
    +

    Enumerates the different flash enabled modes.

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    enum FlashMode : Int
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + FlashState + +
    +
    +
    +
    +
    +
    +

    Enumerates the different possible flash states.

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    enum FlashState : Equatable
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + enableFlash() + +
    +
    +
    +
    +
    +
    +

    Enables the camera flash with the appopriate flash mode as per camera position and prior user selections.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    func enableFlash()
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + disableFlash() + +
    +
    +
    +
    +
    +
    +

    Disables the camera flash.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    func disableFlash()
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Restores brightness to what it was before the ring light was enabled.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    func restoreBrightnessIfNecessary()
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Increases brightness to max if the ring light is enabled.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    func increaseBrightnessIfNecessary()
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/CameraController/FlashMode.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/CameraController/FlashMode.html new file mode 100644 index 000000000..55c0c1a35 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/CameraController/FlashMode.html @@ -0,0 +1,368 @@ + + + + FlashMode Enumeration Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.36.1 Docs + + (60% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

FlashMode

+
+
+ +
enum FlashMode : Int
+ +
+
+

Enumerates the different flash enabled modes.

+ +
+
+ +
+
+
+
    +
  • +
    + + + + standard + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    case standard
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + ring + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    case ring
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/CameraController/FlashState.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/CameraController/FlashState.html new file mode 100644 index 000000000..6f08dae55 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/CameraController/FlashState.html @@ -0,0 +1,422 @@ + + + + FlashState Enumeration Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.36.1 Docs + + (60% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

FlashState

+
+
+ +
enum FlashState : Equatable
+ +
+
+

Enumerates the different possible flash states.

+ +
+
+ +
+
+
+
    +
  • +
    + + + + off + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    case off
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + on(_:) + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    case on(FlashMode)
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    The AVCaptureDevice.FlashMode that should be used when taking photos as per the FlashState.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var captureDeviceFlashMode: AVCaptureDevice.FlashMode { get }
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    The AVCaptureDevice.torchMode that should be used when recording videos as per the FlashState.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var captureDeviceTorchMode: AVCaptureDevice.TorchMode { get }
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/CameraController/PointOfInterestOptions.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/CameraController/PointOfInterestOptions.html new file mode 100644 index 000000000..5a1cdf2ee --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/CameraController/PointOfInterestOptions.html @@ -0,0 +1,420 @@ + + + + PointOfInterestOptions Structure Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.36.1 Docs + + (60% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

PointOfInterestOptions

+
+
+ +
public struct PointOfInterestOptions : OptionSet
+ +
+
+

Options to support when setting a point of interest

+ +
+
+ +
+
+
+
    +
  • +
    + + + + rawValue + +
    +
    +
    +
    +
    +
    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public let rawValue: Int
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + init(rawValue:) + +
    +
    +
    +
    +
    +
    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public init(rawValue: Int)
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + exposure + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public static let exposure: CameraController.PointOfInterestOptions
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + focus + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public static let focus: CameraController.PointOfInterestOptions
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/CameraView.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/CameraView.html new file mode 100644 index 000000000..6dd693630 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/CameraView.html @@ -0,0 +1,1054 @@ + + + + CameraView Class Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.36.1 Docs + + (60% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

CameraView

+
+
+ +
open class CameraView : UIView
+ +
+
+

This is the default view that backs the CameraViewController.

+ +
+
+ +
+
+
+
    +
  • +
    + + + + previewView + +
    +
    +
    +
    +
    +
    +

    default camerakit view to draw outputted textures

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public let previewView: PreviewView
    + +
    +
    +
    +
    +
  • +
+
+
+
+ + +
+ +

View properties +

+
+
+
    +
  • +
    + + + + cameraBottomBar + +
    +
    +
    +
    +
    +
    +

    bottom bar below carousel

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public let cameraBottomBar: CameraBottomBar
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + hintLabel + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public let hintLabel: UILabel
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + lensLabel + +
    +
    +
    +
    +
    +
    +

    top label to show current selected lens

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public let lensLabel: UILabel
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + ringLightView + +
    +
    +
    +
    +
    +
    +

    View used for ring light effect.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public let ringLightView: RingLightView
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + cameraActionsView + +
    +
    +
    +
    +
    +
    +

    View that contains the buttons for various camera actions (flip, adjust, etc.)

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public let cameraActionsView: CameraActionsView
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + flashControlView + +
    +
    +
    +
    +
    +
    +

    Control view for switching between flash and ring light as well as controlling ring light color and intensity.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public lazy var flashControlView: FlashControlView { get set }
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Label shown beneath the ring light control that provides a hint regarding dismissing the control.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public let flashControlDismissalHint: UILabel
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + toneMapControlView + +
    +
    +
    +
    +
    +
    +

    Control view for tone map adjustment that allows the user to adjust the intensity of the tone map effect.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public let toneMapControlView: AdjustmentControlView
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Label shown beneath the tone map control that provides a hint regarding dismissing the control.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public let toneMapControlDismissalHintLabel: UILabel
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + portraitControlView + +
    +
    +
    +
    +
    +
    +

    Control view for portrait that allows the user to adjust the intensity of the portrait effect.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public let portraitControlView: AdjustmentControlView
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Label shown beneath the portrait control that provides a hint regarding dismissing the control.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public let portraitControlDismissalHintLabel: UILabel
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + carouselView + +
    +
    +
    +
    +
    +
    +

    carousel to scroll through lenses

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public let carouselView: CarouselView
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + cameraButton + +
    +
    +
    +
    +
    +
    +

    camera button to capture/record

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public let cameraButton: CameraButton
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + mediaPickerView + +
    +
    +
    +
    +
    +
    +

    media picker to allow using photos from camera roll in lenses

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public lazy var mediaPickerView: MediaPickerView { get set }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + messageView + +
    +
    +
    +
    +
    +
    +

    message view to show updates when selected lens changes

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public let messageView: MessageNotificationView
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + snapAttributionView + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public let snapAttributionView: SnapAttributionView
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + activityIndicator + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public let activityIndicator: UIActivityIndicatorView
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + init(frame:) + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    override public init(frame: CGRect)
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + layoutSubviews() + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    override open func layoutSubviews()
    + +
    +
    +
    +
    +
  • +
+
+
+
+ + +
+ +

Messages +

+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func showMessage(text: String, numberOfLines: Int, duration: TimeInterval = 1.5)
    + +
    +
    +
    +
    +
  • +
+
+
+
+ + +
+ +

Activity Indicator +

+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    func setupActivityIndicator()
    + +
    +
    +
    +
    +
  • +
+
+
+
+ + +
+ +

Camera Actions Control Helper +

+
+
+
    +
  • +
    + + + + isAnyControlVisible + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    var isAnyControlVisible: Bool { get }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + hideAllControls() + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    func hideAllControls()
    + +
    +
    +
    +
    +
  • +
+
+
+
+ + +
+ +

Tap to Focus +

+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    func drawTapAnimationView(at point: CGPoint)
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/CameraViewController.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/CameraViewController.html new file mode 100644 index 000000000..c165484bb --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/CameraViewController.html @@ -0,0 +1,1578 @@ + + + + CameraViewController Class Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.36.1 Docs + + (60% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

CameraViewController

+
+
+ +
open class CameraViewController : UIViewController, CameraControllerUIDelegate
+
extension CameraViewController: AdjustmentsProcessorObserver
+
extension CameraViewController: CarouselViewDelegate, CarouselViewDataSource
+
extension CameraViewController: CameraButtonDelegate
+
extension CameraViewController: FlashControlViewDelegate
+
extension CameraViewController: UIAdaptivePresentationControllerDelegate
+ +
+
+

This is the default view controller which handles setting up the camera, lenses, carousel, etc.

+ +
+
+ +
+
+
+
+ + +
+ +

CameraKit properties +

+
+
+
    +
  • +
    + + + + cameraController + +
    +
    +
    +
    +
    +
    +

    A controller which manages the camera and lenses stack on behalf of the view controller

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public let cameraController: CameraController
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    App orientation delegate to control app orientation

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public weak var appOrientationDelegate: AppOrientationDelegate?
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + cameraView + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public let cameraView: CameraView
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + loadView() + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    override open func loadView()
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + viewDidLoad() + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    override open func viewDidLoad()
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + viewDidAppear(_:) + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    override open func viewDidAppear(_ animated: Bool)
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + viewDidDisappear(_:) + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    override open func viewDidDisappear(_ animated: Bool)
    + +
    +
    +
    +
    +
  • +
+
+
+
+ + +
+ +

Init +

+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Returns a camera view controller initialized with a camera controller that is configured with a newly created AVCaptureSession stack +and CameraKit session with the specified configuration and list of group IDs.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public convenience init(repoGroups: [String], sessionConfig: SessionConfig? = nil)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + +
    + + repoGroups + + +
    +

    List of group IDs to observe.

    +
    +
    + + sessionConfig + + +
    +

    Config to configure session with application id and api token. +Pass this in if you wish to dynamically update or overwrite the application id and api token in the application’s Info.plist.

    +
    +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Convenience init to configure a camera controller with a specified AVCaptureSession stack, CameraKit, and list of group IDs.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public convenience init(cameraKit: CameraKitProtocol, captureSession: AVCaptureSession, repoGroups: [String])
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + + + + + +
    + + cameraKit + + +
    +

    camera kit session

    +
    +
    + + captureSession + + +
    +

    a backing AVCaptureSession to use

    +
    +
    + + repoGroups + + +
    +

    the group IDs to observe

    +
    +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Initialize the view controller with a preconfigured camera controller

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public init(cameraController: CameraController)
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + cameraController + + +
    +

    the camera controller to use.

    +
    +
    +
    +
    +
    +
  • +
+
+
+
+ + +
+ +

Overridable Helper +

+
+
+
    +
  • +
    + + + + getMessage(lens:) + +
    +
    +
    +
    +
    +
    +

    get message to display in popup view for selected lens

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    open func getMessage(lens: Lens) -> String
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + lens + + +
    +

    selected lens

    +
    +
    +
    +
    +
    +
  • +
  • +
    + + + + showMessage(lens:) + +
    +
    +
    +
    +
    +
    +

    Displays a message indicating that a specified lens has been displayed

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    open func showMessage(lens: Lens)
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + lens + + +
    +

    the lens to display info for.

    +
    +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    override public func viewWillTransition(to size: CGSize, with coordinator: UIViewControllerTransitionCoordinator)
    + +
    +
    +
    +
    +
  • +
+
+
+
+ + +
+ +

Lenses Setup +

+
+
+
    +
  • +
    + + + + applyLens(_:) + +
    +
    +
    +
    +
    +
    +

    Apply a specific lens

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    open func applyLens(_ lens: Lens)
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + lens + + +
    +

    selected lens

    +
    +
    +
    +
    +
    +
  • +
  • +
    + + + + clearLens() + +
    +
    +
    +
    +
    +
    +

    Helper function to clear currently selected lens

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    open func clearLens()
    + +
    +
    +
    +
    +
  • +
+
+
+
+ + +
+ +

CameraControllerUIDelegate +

+
+
+ +
+
+
+ + +
+ +

Adjustment Observer +

+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func processorUpdatedAdjustmentsAvailability(_ adjustmentsProcessor: AdjustmentsProcessor)
    + +
    +
    +
    +
    +
  • +
+
+
+
+ + +
+ +

Carousel +

+
+
+ +
+
+
+ + +
+ +

Camera Button +

+
+
+ +
+
+
+ + +
+ +

Ring Light Control Delegate +

+
+
+ +
+
+
+ + +
+ +

Presentation Delegate +

+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    open func presentationControllerWillDismiss(_ presentationController: UIPresentationController)
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/CarouselCollectionViewCell.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/CarouselCollectionViewCell.html new file mode 100644 index 000000000..3a91bf518 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/CarouselCollectionViewCell.html @@ -0,0 +1,449 @@ + + + + CarouselCollectionViewCell Class Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.36.1 Docs + + (60% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

CarouselCollectionViewCell

+
+
+ +
public class CarouselCollectionViewCell : UICollectionViewCell
+ +
+
+

Carousel collection view cell which represents a single lens item/icon

+ +
+
+ +
+
+
+
    +
  • +
    + + + + imageView + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public let imageView: UIImageView
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + activityIndicatorView + +
    +
    +
    +
    +
    +
    +

    Activity indicator view that should activate when lens content is loading

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public let activityIndicatorView: UIActivityIndicatorView
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + init() + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public init()
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + init(frame:) + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    override public init(frame: CGRect)
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + init(coder:) + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public required init?(coder: NSCoder)
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/CarouselCollectionViewLayout.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/CarouselCollectionViewLayout.html new file mode 100644 index 000000000..818ca8314 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/CarouselCollectionViewLayout.html @@ -0,0 +1,455 @@ + + + + CarouselCollectionViewLayout Class Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.36.1 Docs + + (60% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

CarouselCollectionViewLayout

+
+
+ +
public class CarouselCollectionViewLayout : UICollectionViewFlowLayout
+ +
+
+

Custom collection view layout for carousel collection view

+ +
+
+ +
+
+
+
    +
  • +
    + + + + delegate + +
    +
    +
    +
    +
    +
    +

    Weak ref to carousel layout delegate

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public weak var delegate: CarouselCollectionViewLayoutDelegate?
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + dataSource + +
    +
    +
    +
    +
    +
    +

    Weak ref to carousel layout data source

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public weak var dataSource: CarouselCollectionViewLayoutDataSource?
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Override flow layout target content offset to land at a specific item (for the paging effect)

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    override public func targetContentOffset(
    +    forProposedContentOffset proposedContentOffset: CGPoint, withScrollingVelocity velocity: CGPoint
    +) -> CGPoint
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + +
    + + proposedContentOffset + + +
    +

    proposed content offset of flow layout to land at

    +
    +
    + + velocity + + +
    +

    scrolling velocity of collection view

    +
    +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    override public func layoutAttributesForElements(in rect: CGRect) -> [UICollectionViewLayoutAttributes]?
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/CarouselItem.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/CarouselItem.html new file mode 100644 index 000000000..dc3961251 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/CarouselItem.html @@ -0,0 +1,557 @@ + + + + CarouselItem Class Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.36.1 Docs + + (60% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

CarouselItem

+
+
+ +
public class CarouselItem : Identifiable, Equatable
+ +
+
+

This is the carousel item view model which represents a specific lens icon

+ +
+
+ +
+
+
+
    +
  • +
    + + + + id + +
    +
    +
    +
    +
    +
    +

    id for carousel item

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public let id: String
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + lensId + +
    +
    +
    +
    +
    +
    +

    lens id

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public let lensId: String
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + groupId + +
    +
    +
    +
    +
    +
    +

    group id lens belongs to

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public let groupId: String
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + imageUrl + +
    +
    +
    +
    +
    +
    +

    image url for lens icon

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public let imageUrl: URL?
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + image + +
    +
    +
    +
    +
    +
    +

    downloaded image for lens icon

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var image: UIImage?
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Designated init for a carousel item

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public init(lensId: String, groupId: String, imageUrl: URL? = nil, image: UIImage? = nil)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + + + + + + + + + +
    + + lensId + + +
    +

    lens id

    +
    +
    + + groupId + + +
    +

    group id that lens belongs to

    +
    +
    + + imageUrl + + +
    +

    optional image url of lens icon

    +
    +
    + + image + + +
    +

    optional loaded UIImage of icon

    +
    +
    +
    +
    +
    +
  • +
  • +
    + + + + ==(_:_:) + +
    +
    +
    +
    +
    +
    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public static func == (lhs: CarouselItem, rhs: CarouselItem) -> Bool
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/CarouselView.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/CarouselView.html new file mode 100644 index 000000000..a7a09ad42 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/CarouselView.html @@ -0,0 +1,867 @@ + + + + CarouselView Class Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.36.1 Docs + + (60% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

CarouselView

+
+
+ +
public class CarouselView : UIView, UICollectionViewDataSource, UICollectionViewDelegateFlowLayout
+
extension CarouselView: CarouselCollectionViewLayoutDelegate
+
extension CarouselView: CarouselCollectionViewLayoutDataSource
+ +
+
+

A view that manages an ordered collection of data items (eg. lenses) and displays them in a swipeable row with one item always selected.

+ +
+
+ +
+
+
+
    +
  • +
    + + + + delegate + +
    +
    +
    +
    +
    +
    +

    The delegate for the carousel view which will be notified of the carousel view actions.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public weak var delegate: CarouselViewDelegate?
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + dataSource + +
    +
    +
    +
    +
    +
    +

    The object that manages data and provides items for the carousel view.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public weak var dataSource: CarouselViewDataSource? { get set }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + reloadData() + +
    +
    +
    +
    +
    +
    +

    Reloads all of the data in the carousel view to display the latest carousel items.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func reloadData()
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + selectedItem + +
    +
    +
    +
    +
    +
    +

    Current selected item or nil if none are selected (ie. when carousel is empty).

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public private(set) var selectedItem: CarouselItem { get }
    + +
    +
    +
    +
    +
  • +
+
+
+
+ + +
+ +

Init +

+
+
+
    +
  • +
    + + + + intrinsicContentSize + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    override public var intrinsicContentSize: CGSize { get }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + layoutSubviews() + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    override public func layoutSubviews()
    + +
    +
    +
    +
    +
  • +
+
+
+
+ + +
+ +

Items +

+
+
+
    +
  • +
    + + + + selectItem(_:) + +
    +
    +
    +
    +
    +
    +

    Select carousel item +Returns true if item exists in carousel and is selected or false if failed to select item

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    @discardableResult
    +public func selectItem(_ selected: CarouselItem) -> Bool
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + selected + + +
    +

    carousel item to select

    +
    +
    +
    +
    +
    +
  • +
  • +
    + + + + hideCarousel() + +
    +
    +
    +
    +
    +
    +

    Hide lens carousel. +Sets Items to selected item and saves list to show later.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func hideCarousel()
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + showCarousel() + +
    +
    +
    +
    +
    +
    +

    Show lens carousel. +Sets Items to previous stored item list and reloads collectionView.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func showCarousel()
    + +
    +
    +
    +
    +
  • +
+
+
+
+ + +
+ +

Collection View +

+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath)
    +    -> UICollectionViewCell
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func collectionView(
    +    _ collectionView: UICollectionView, willDisplay cell: UICollectionViewCell, forItemAt indexPath: IndexPath
    +)
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func collectionView(
    +    _ collectionView: UICollectionView, didEndDisplaying cell: UICollectionViewCell, forItemAt indexPath: IndexPath
    +)
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath)
    + +
    +
    +
    +
    +
  • +
+
+
+
+ + +
+ +

Scroll View +

+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func scrollViewDidScroll(_ scrollView: UIScrollView)
    + +
    +
    +
    +
    +
  • +
+
+
+
+ + +
+ +

Collection View Layout +

+
+
+ +
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/ControlSlider.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/ControlSlider.html new file mode 100644 index 000000000..94dd15b06 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/ControlSlider.html @@ -0,0 +1,482 @@ + + + + ControlSlider Class Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.36.1 Docs + + (60% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

ControlSlider

+
+
+ +
public class ControlSlider : UISlider
+ +
+
+

Undocumented

+ +
+
+ +
+
+
+
    +
  • +
    + + + + delegate + +
    +
    +
    +
    +
    +
    +

    Delegate for handling updates to the slider’s value.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public weak var delegate: ControlSliderDelegate?
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + setValue(_:animated:) + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    override public func setValue(_ value: Float, animated: Bool)
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + setThumbColor(_:) + +
    +
    +
    +
    +
    +
    +

    Sets the color of the slider’s thumb.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    @available(iOS 13.0, *)
    +public func setThumbColor(_ color: UIColor)
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + color + + +
    +

    The color to set for the the slider’s thumb.

    +
    +
    +
    +
    +
    +
  • +
+
+
+
+ + +
+ +

Init +

+
+
+
    +
  • +
    + + + + layoutSubviews() + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    override public func layoutSubviews()
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + intrinsicContentSize + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    override public var intrinsicContentSize: CGSize { get }
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/DefaultCarouselImageLoader.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/DefaultCarouselImageLoader.html new file mode 100644 index 000000000..feefd5097 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/DefaultCarouselImageLoader.html @@ -0,0 +1,451 @@ + + + + DefaultCarouselImageLoader Class Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.36.1 Docs + + (60% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

DefaultCarouselImageLoader

+
+
+ +
public class DefaultCarouselImageLoader : CarouselImageLoader
+ +
+
+

Default image loader class which uses a URLSession to load images

+ +
+
+ +
+
+
+
    +
  • +
    + + + + urlSession + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public let urlSession: URLSession
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + init(urlSession:) + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public init(urlSession: URLSession = .shared)
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func loadImage(url: URL, completion: ((UIImage?, Error?) -> Void)?)
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func loadImage(
    +    url: URL,
    +    cachePolicy: URLRequest.CachePolicy = .useProtocolCachePolicy,
    +    queue: DispatchQueue,
    +    completion: ((UIImage?, Error?) -> Void)?
    +)
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func cancelImageLoad(from url: URL)
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/EmptyItem.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/EmptyItem.html new file mode 100644 index 000000000..35134de89 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/EmptyItem.html @@ -0,0 +1,341 @@ + + + + EmptyItem Class Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.36.1 Docs + + (60% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

EmptyItem

+
+
+ +
public class EmptyItem : CarouselItem
+ +
+
+

Concrete class for an empty item (clear camera button)

+ +
+
+ +
+
+
+
    +
  • +
    + + + + init() + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public init()
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/FlashControlView.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/FlashControlView.html new file mode 100644 index 000000000..b3a854798 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/FlashControlView.html @@ -0,0 +1,649 @@ + + + + FlashControlView Class Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.36.1 Docs + + (60% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

FlashControlView

+
+
+ +
public class FlashControlView : UIView
+
extension FlashControlView: FlashModeSelectionViewDelegate
+
extension FlashControlView: ControlSliderDelegate
+
extension FlashControlView: RingLightColorSelectionViewDelegate
+ +
+
+

Undocumented

+ +
+
+ +
+
+
+
    +
  • +
    + + + + delegate + +
    +
    +
    +
    +
    +
    +

    Delegate for handling changes to the view’s controls.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public weak var delegate: FlashControlViewDelegate?
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    The intensity of the ring light according to the control’s slider’s value.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var ringLightIntensityValue: Float { get set }
    + +
    +
    +
    +
    +
  • +
+
+
+
+ + +
+ +

Views +

+
+
+
    +
  • +
    + + + + primaryLabel + +
    +
    +
    +
    +
    +
    +

    Primary label for the control.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public let primaryLabel: UILabel
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    View that enables the user to swtich between flash modes.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public lazy var flashModeSelectionView: FlashModeSelectionView { get set }
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    View with ring light color options to select between.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public lazy var ringLightColorSelectionView: RingLightColorSelectionView { get set }
    + +
    +
    +
    +
    +
  • +
+
+
+
+ + +
+ +

Init +

+
+
+
    +
  • +
    + + + + init(frame:) + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    override public init(frame: CGRect)
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + intrinsicContentSize + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    override public var intrinsicContentSize: CGSize { get }
    + +
    +
    +
    +
    +
  • +
+
+
+
+ + +
+ +

Flash Mode Selection View Delegate +

+
+
+ +
+
+
+ + +
+ +

Control Slider Delegate +

+
+
+ +
+
+
+ + +
+ +

Ring Light Color Selection View Delegate +

+
+
+ +
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/FlashModeSelectionView.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/FlashModeSelectionView.html new file mode 100644 index 000000000..d85d637cf --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/FlashModeSelectionView.html @@ -0,0 +1,408 @@ + + + + FlashModeSelectionView Class Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.36.1 Docs + + (60% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

FlashModeSelectionView

+
+
+ +
public class FlashModeSelectionView : UIView
+ +
+
+

Undocumented

+ +
+
+ +
+
+
+
    +
  • +
    + + + + delegate + +
    +
    +
    +
    +
    +
    +

    Delegate for handling update’s to the selected flash mode in the view.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public weak var delegate: FlashModeSelectionViewDelegate?
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + flashMode + +
    +
    +
    +
    +
    +
    +

    The current FlashMode that is selected in the view.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var flashMode: CameraController.FlashMode { get set }
    + +
    +
    +
    +
    +
  • +
+
+
+
+ + +
+ +

Init +

+
+
+
    +
  • +
    + + + + init(frame:) + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    override public init(frame: CGRect)
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/ImagePreviewViewController.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/ImagePreviewViewController.html new file mode 100644 index 000000000..fac17a5a5 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/ImagePreviewViewController.html @@ -0,0 +1,530 @@ + + + + ImagePreviewViewController Class Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.36.1 Docs + + (60% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

ImagePreviewViewController

+
+
+ +
public class ImagePreviewViewController : PreviewViewController
+ +
+
+

Preview view controller for showing captured photos and images

+ +
+
+ +
+
+
+
+ + +
+ +

Properties +

+
+
+
    +
  • +
    + + + + image + +
    +
    +
    +
    +
    +
    +

    UIImage to display

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public let image: UIImage
    + +
    +
    +
    +
    +
  • +
+
+
+
+ + +
+ +

Init +

+
+
+
    +
  • +
    + + + + init(image:) + +
    +
    +
    +
    +
    +
    +

    Designated init to pass in required deps

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public init(image: UIImage)
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + image + + +
    +

    UIImage to display

    +
    +
    +
    +
    +
    +
  • +
  • +
    + + + + viewDidLoad() + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    override public func viewDidLoad()
    + +
    +
    +
    +
    +
  • +
+
+
+
+ + +
+ +

Action Overrides +

+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    override public func openSnapchatPressed(_ sender: UIButton)
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    override public func sharePreviewPressed(_ sender: UIButton)
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    override public func savePreviewPressed(_ sender: UIButton)
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/KeyboardAccessoryViewProvider.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/KeyboardAccessoryViewProvider.html new file mode 100644 index 000000000..fbb281a83 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/KeyboardAccessoryViewProvider.html @@ -0,0 +1,423 @@ + + + + KeyboardAccessoryViewProvider Class Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.36.1 Docs + + (60% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

KeyboardAccessoryViewProvider

+
+
+ +
@objc
+public class KeyboardAccessoryViewProvider : NSObject, TextInputKeyboardAccessoryProvider
+ +
+
+

Reference implementation of a text input view for lenses that take text input.

+ +
+
+ +
+
+
+
    +
  • +
    + + + + textView + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public let textView: UITextView
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + accessoryView + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public let accessoryView: UIView
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + placeholderText + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var placeholderText: String? { get set }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + maximumHeight + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public let maximumHeight: CGFloat
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/MediaPickerView.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/MediaPickerView.html new file mode 100644 index 000000000..60f4adf8a --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/MediaPickerView.html @@ -0,0 +1,545 @@ + + + + MediaPickerView Class Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.36.1 Docs + + (60% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

MediaPickerView

+
+
+ +
public class MediaPickerView : UIView
+
extension MediaPickerView: LensMediaPickerProviderUIDelegate
+ +
+
+

Selection view for Media Picker

+ +
+
+ +
+
+
+
+ + +
+ +

Properties +

+
+
+
    +
  • +
    + + + + delegate + +
    +
    +
    +
    +
    +
    +

    Delegate to be notified of MediaPickerView events

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public weak var delegate: MediaPickerViewDelegate?
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + provider + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var provider: LensMediaPickerProvider? { get set }
    + +
    +
    +
    +
    +
  • +
+
+
+
+ + +
+ +

Init +

+
+
+
    +
  • +
    + + + + init() + +
    +
    +
    +
    +
    +
    +

    Designated init to provide in required deps

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public init()
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + provider + + +
    +

    LensMediaPickerProvider instance to provide media to the picker view

    +
    +
    +
    +
    +
    +
  • +
  • +
    + + + + intrinsicContentSize + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    override public var intrinsicContentSize: CGSize { get }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + layoutSubviews() + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    override public func layoutSubviews()
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func mediaPickerProviderRequestedUIPresentation(_ provider: LensMediaPickerProvider)
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func mediaPickerProviderRequestedUIDismissal(_ provider: LensMediaPickerProvider)
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/MessageNotificationView.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/MessageNotificationView.html new file mode 100644 index 000000000..873b9de63 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/MessageNotificationView.html @@ -0,0 +1,368 @@ + + + + MessageNotificationView Class Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.36.1 Docs + + (60% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

MessageNotificationView

+
+
+ +
public class MessageNotificationView : UIView
+ +
+
+

Popup message notification view for different lens events

+ +
+
+ +
+
+
+
    +
  • +
    + + + + label + +
    +
    +
    +
    +
    +
    +

    Default label in the message notification view

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public let label: UILabel
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + init() + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public init()
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/PreviewViewController.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/PreviewViewController.html new file mode 100644 index 000000000..1c94853ec --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/PreviewViewController.html @@ -0,0 +1,514 @@ + + + + PreviewViewController Class Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.36.1 Docs + + (60% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

PreviewViewController

+
+
+ +
public class PreviewViewController : UIViewController
+ +
+
+

Base preview view controller that describes properties and views of all preview controllers

+ +
+
+ +
+
+
+
+ + +
+ +

Preview Properties +

+
+
+
    +
  • +
    + + + + snapchatDelegate + +
    +
    +
    +
    +
    +
    +

    Snapchat delegate for open requests

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public weak var snapchatDelegate: SnapchatDelegate? { get set }
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + onDismiss + +
    +
    +
    +
    +
    +
    +

    Callback when user presses close button and dismisses preview view controller

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public var onDismiss: (() -> Void)?
    + +
    +
    +
    +
    +
  • +
+
+
+
+ + +
+ +

Setup +

+
+
+
    +
  • +
    + + + + viewDidLoad() + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    override public func viewDidLoad()
    + +
    +
    +
    +
    +
  • +
+
+
+
+ + +
+ +

Overridable Actions +

+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    @objc
    +open func openSnapchatPressed(_ sender: UIButton)
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    @objc
    +open func savePreviewPressed(_ sender: UIButton)
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    @objc
    +open func sharePreviewPressed(_ sender: UIButton)
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/Recorder.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/Recorder.html new file mode 100644 index 000000000..d999cbfd1 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/Recorder.html @@ -0,0 +1,470 @@ + + + + Recorder Class Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.36.1 Docs + + (60% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

Recorder

+
+
+ +
public class Recorder
+ +
+
+

Sample video recorder implementation.

+ +
+
+ +
+
+
+
    +
  • +
    + + + + output + +
    +
    +
    +
    +
    +
    +

    The AVWriterOutput for CameraKt.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public let output: AVWriterOutput
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Designated init to pass in required deps

    +
    +

    Throws

    + Throws error if cannot create asset writer with output file URL and file type + +
    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public init(url: URL, orientation: AVCaptureVideoOrientation, size: CGSize) throws
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + + + + + +
    + + url + + +
    +

    output URL of video file

    +
    +
    + + orientation + + +
    +

    current orientation of device

    +
    +
    + + size + + +
    +

    height of video output

    +
    +
    +
    +
    +
    +
  • +
  • +
    + + + + startRecording() + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func startRecording()
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func finishRecording(completion: ((URL?, Error?) -> Void)?)
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/RingLightColorSelectionView.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/RingLightColorSelectionView.html new file mode 100644 index 000000000..02a6a7690 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/RingLightColorSelectionView.html @@ -0,0 +1,644 @@ + + + + RingLightColorSelectionView Class Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.36.1 Docs + + (60% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

RingLightColorSelectionView

+
+
+ +
public class RingLightColorSelectionView : UIView
+
extension RingLightColorSelectionView: UICollectionViewDelegate
+
extension RingLightColorSelectionView: UICollectionViewDataSource
+ +
+
+

Undocumented

+ +
+
+ +
+
+
+ +
+
+
+ + +
+ +

Views +

+
+
+
    +
  • +
    + + + + collectionView + +
    +
    +
    +
    +
    +
    +

    Collection view which contains the different color options for the ring light.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public lazy var collectionView: UICollectionView { get set }
    + +
    +
    +
    +
    +
  • +
+
+
+
+ + +
+ +

Init +

+
+
+
    +
  • +
    + + + + layoutSubviews() + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    override public func layoutSubviews()
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + intrinsicContentSize + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    override public var intrinsicContentSize: CGSize { get }
    + +
    +
    +
    +
    +
  • +
+
+
+
+ + +
+ +

Collection View +

+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    To be called the first time the ring light color selection view appears.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func performInitialSelection(indexPath: IndexPath = IndexPath(row: 0, section: 0))
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + indexPath + + +
    +

    The index path of the color cell to initially select.

    +
    +
    +
    +
    +
    +
  • +
+
+
+
+ + +
+ +

Collection View Delegate +

+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath)
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func collectionView(_ collectionView: UICollectionView, didDeselectItemAt indexPath: IndexPath)
    + +
    +
    +
    +
    +
  • +
+
+
+
+ + +
+ +

Collection View Data Source +

+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath)
    +    -> UICollectionViewCell
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/RingLightColorSelectionViewCell.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/RingLightColorSelectionViewCell.html new file mode 100644 index 000000000..583946b0c --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/RingLightColorSelectionViewCell.html @@ -0,0 +1,508 @@ + + + + RingLightColorSelectionViewCell Class Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.36.1 Docs + + (60% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

RingLightColorSelectionViewCell

+
+
+ +
public class RingLightColorSelectionViewCell : UICollectionViewCell
+ +
+
+

Undocumented

+ +
+
+ +
+
+
+
    +
  • +
    + + + + reuseIdentifer + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public static let reuseIdentifer: String
    + +
    +
    +
    +
    +
  • +
+
+
+
+ + +
+ +

Public +

+
+
+
    +
  • +
    + + + + setColor(_:) + +
    +
    +
    +
    +
    +
    +

    Used to set the color option that the cell represents.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func setColor(_ color: UIColor)
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + color + + +
    +

    The color to set for the cell.

    +
    +
    +
    +
    +
    +
  • +
  • +
    + + + + highlight() + +
    +
    +
    +
    +
    +
    +

    Used to highlight the color option that this cell represents when selected.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func highlight()
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + unhighlight() + +
    +
    +
    +
    +
    +
    +

    Remove the highlight from this cell.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func unhighlight()
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + layoutSubviews() + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    override public func layoutSubviews()
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + intrinsicContentSize + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    override public var intrinsicContentSize: CGSize { get }
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/RingLightGradientView.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/RingLightGradientView.html new file mode 100644 index 000000000..babff9b84 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/RingLightGradientView.html @@ -0,0 +1,494 @@ + + + + RingLightGradientView Class Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.36.1 Docs + + (60% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

RingLightGradientView

+
+
+ +
public class RingLightGradientView : UIView
+ +
+
+

Undocumented

+ +
+
+ +
+
+
+
+ + +
+ +

Ring Light Modification +

+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Updates the intensity of the ring light effect to the specified intensity.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func updateIntensity(to intensity: CGFloat, animated: Bool)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + +
    + + intensity + + +
    +

    The intensity to set the ring light effect to. Value should be between 0.0 and 1.0.

    +
    +
    + + animated + + +
    +

    Whether or not the change in intensity is animated.

    +
    +
    +
    +
    +
    +
  • +
  • +
    + + + + changeColor(to:) + +
    +
    +
    +
    +
    +
    +

    Changes the color of the ring light gradient to the specified color.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func changeColor(to color: UIColor)
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + color + + +
    +

    The color to set the ring light gradient to.

    +
    +
    +
    +
    +
    +
  • +
+
+
+
+ + +
+ +

Init +

+
+
+
    +
  • +
    + + + + init(frame:) + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    override public init(frame: CGRect)
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + init(coder:) + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public required init?(coder: NSCoder)
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/RingLightView.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/RingLightView.html new file mode 100644 index 000000000..efd15055c --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/RingLightView.html @@ -0,0 +1,541 @@ + + + + RingLightView Class Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.36.1 Docs + + (60% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

RingLightView

+
+
+ +
public class RingLightView : UIView
+ +
+
+

Undocumented

+ +
+
+ +
+
+
+
+ + +
+ +

Views +

+
+
+
    +
  • +
    + + + + topBorder + +
    +
    +
    +
    +
    +
    +

    The top border of the ring light effect. This top border is unaffected by changes to the ring light gradient intensity.

    +
    +

    Note

    + This top border is unaffected by changes to the ring light gradient intensity. + +
    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public let topBorder: UIView
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + bottomBorder + +
    +
    +
    +
    +
    +
    +

    The bottom border of the ring light effect.

    +
    +

    Note

    + This bottom border is unaffected by changes to the ring light gradient intensity. + +
    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public let bottomBorder: UIView
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + ringLightGradient + +
    +
    +
    +
    +
    +
    +

    The gradient portion of the ring light effect. +Update the intensity of the ring light effect by calling the updateIntensity method of RingLightGradientView.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public let ringLightGradient: RingLightGradientView
    + +
    +
    +
    +
    +
  • +
+
+
+
+ + +
+ +

Modification +

+
+
+
    +
  • +
    + + + + changeColor(to:) + +
    +
    +
    +
    +
    +
    +

    Changes the color of the ring light effect to the specified color.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func changeColor(to color: UIColor)
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + color + + +
    +

    The color to set the ring light effect to.

    +
    +
    +
    +
    +
    +
  • +
+
+
+
+ + +
+ +

Init +

+
+
+
    +
  • +
    + + + + init(frame:) + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    override public init(frame: CGRect)
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + init(coder:) + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public required init?(coder: NSCoder)
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/SnapAttributionView.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/SnapAttributionView.html new file mode 100644 index 000000000..676625859 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/SnapAttributionView.html @@ -0,0 +1,368 @@ + + + + SnapAttributionView Class Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.36.1 Docs + + (60% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

SnapAttributionView

+
+
+ +
public class SnapAttributionView : UIView
+ +
+
+

Snap attribution on Camera that contains “Powered by” and Snap ghost icon

+ +
+
+ +
+
+
+
    +
  • +
    + + + + poweredByLabel + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public let poweredByLabel: UILabel
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + snapIconImage + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public let snapIconImage: UIImageView
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/TapAnimationView.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/TapAnimationView.html new file mode 100644 index 000000000..0590f8431 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/TapAnimationView.html @@ -0,0 +1,368 @@ + + + + TapAnimationView Class Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.36.1 Docs + + (60% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

TapAnimationView

+
+
+ +
public class TapAnimationView : UIView
+ +
+
+

View that appears when the user taps on the camera view

+ +
+
+ +
+
+
+
    +
  • +
    + + + + init(center:) + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public init(center: CGPoint)
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + show() + +
    +
    +
    +
    +
    +
    +

    Performs the tap animation and removes the view upon completion of the animation

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func show()
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/UserDataProvider.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/UserDataProvider.html new file mode 100644 index 000000000..1e59d8780 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/UserDataProvider.html @@ -0,0 +1,368 @@ + + + + UserDataProvider Class Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.36.1 Docs + + (60% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

UserDataProvider

+
+
+ +
public class UserDataProvider : NSObject, SCSDKCameraKit.UserDataProvider
+ +
+
+

Default user data provider to show how to provide user data to CameraKit

+ +
+
+ +
+
+
+
    +
  • +
    + + + + delegate + +
    +
    +
    +
    +
    +
    +

    Delegate for CameraKit to receive updates on user data

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public weak var delegate: UserDataProviderDelegate?
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + userData + +
    +
    +
    +
    +
    +
    +

    Mocked user data

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public lazy var userData: UserData? { get set }
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/VideoPreviewViewController.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/VideoPreviewViewController.html new file mode 100644 index 000000000..dc0c0b2d2 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/VideoPreviewViewController.html @@ -0,0 +1,530 @@ + + + + VideoPreviewViewController Class Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.36.1 Docs + + (60% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

VideoPreviewViewController

+
+
+ +
public class VideoPreviewViewController : PreviewViewController
+ +
+
+

Preview view controller for showing recorded video previews

+ +
+
+ +
+
+
+
+ + +
+ +

Properties +

+
+
+
    +
  • +
    + + + + videoUrl + +
    +
    +
    +
    +
    +
    +

    URL which contains video file

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public let videoUrl: URL
    + +
    +
    +
    +
    +
  • +
+
+
+
+ + +
+ +

Init +

+
+
+
    +
  • +
    + + + + init(videoUrl:) + +
    +
    +
    +
    +
    +
    +

    Init with url to video file

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public init(videoUrl: URL)
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + videoUrl + + +
    +

    url to video file

    +
    +
    +
    +
    +
    +
  • +
  • +
    + + + + viewDidLoad() + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    override public func viewDidLoad()
    + +
    +
    +
    +
    +
  • +
+
+
+
+ + +
+ +

Action Overrides +

+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    override public func openSnapchatPressed(_ sender: UIButton)
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    override public func sharePreviewPressed(_ sender: UIButton)
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    override public func savePreviewPressed(_ sender: UIButton)
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Enums.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Enums.html new file mode 100644 index 000000000..1f9e89ea0 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Enums.html @@ -0,0 +1,622 @@ + + + + Enumerations Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.36.1 Docs + + (60% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

Enumerations

+

The following enumerations are available globally.

+ +
+
+ +
+
+
+
    +
  • +
    + + + + SnapchatScreen + +
    +
    +
    +
    +
    +
    +

    Describes the Snapchat screen to open to

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public enum SnapchatScreen
    + +
    +
    +
    +
    +
  • +
+
+
+
+ + +
+ +

Camera Bottom Bar +

+
+
+ +
+
+
+ + +
+ +

Camera View +

+
+
+
    +
  • +
    + + + + CameraElements + +
    +
    +
    +
    +
    +
    +

    CameraViewController testable elements

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public enum CameraElements : String, TestableElement
    + +
    +
    +
    +
    +
  • +
+
+
+
+ + +
+ +

Carousel +

+
+
+ +
+
+
+ + +
+ +

Preview +

+
+
+
    +
  • +
    + + + + PreviewElements + +
    +
    +
    +
    +
    +
    +

    PreviewViewController testable elements

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public enum PreviewElements : String, TestableElement
    + +
    +
    +
    +
    +
  • +
+
+
+
+ + +
+ +

Message Notification +

+
+
+ +
+
+
+ + +
+ +

Flash Control +

+
+
+ +
+
+
+ + +
+ +

Other Elements +

+
+
+
    +
  • +
    + + + + OtherElements + +
    +
    +
    +
    +
    +
    +

    Other misc testable elements

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public enum OtherElements : String, TestableElement
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Enums/CameraBottomBarElements.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Enums/CameraBottomBarElements.html new file mode 100644 index 000000000..a5184c368 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Enums/CameraBottomBarElements.html @@ -0,0 +1,341 @@ + + + + CameraBottomBarElements Enumeration Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.36.1 Docs + + (60% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

CameraBottomBarElements

+
+
+ +
public enum CameraBottomBarElements : String, TestableElement
+ +
+
+

CameraBottomBar view testable elements

+ +
+
+ +
+
+
+
    +
  • +
    + + + + closeButton + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    case closeButton
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Enums/CameraElements.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Enums/CameraElements.html new file mode 100644 index 000000000..2d9fbfadc --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Enums/CameraElements.html @@ -0,0 +1,814 @@ + + + + CameraElements Enumeration Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.36.1 Docs + + (60% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

CameraElements

+
+
+ +
public enum CameraElements : String, TestableElement
+ +
+
+

CameraViewController testable elements

+ +
+
+ +
+
+
+
    +
  • +
    + + + + lensLabel + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    case lensLabel
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + flipCameraButton + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    case flipCameraButton
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + flashToggleButton + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    case flashToggleButton
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    case flashConfigurationButton
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + flashControl + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    case flashControl
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    case flashControlDismissalHint
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + toneMapToggleButton + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    case toneMapToggleButton
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    case toneMapConfigurationButton
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + toneMapControl + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    case toneMapControl
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    case toneMapControlDismissalHint
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + portraitToggleButton + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    case portraitToggleButton
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    case portraitConfigurationButton
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + portraitControl + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    case portraitControl
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    case portraitControlDismissalHint
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + ringLightView + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    case ringLightView
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + photoLibraryButton + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    case photoLibraryButton
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + cameraButton + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    case cameraButton
    + +
    +
    +
    +
    +
  • +
+
+
+
+ + +
+ +

Camera View +

+
+
+
    +
  • +
    + + + + CameraFlip + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    enum CameraFlip
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Enums/CameraElements/CameraFlip.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Enums/CameraElements/CameraFlip.html new file mode 100644 index 000000000..098aed1f2 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Enums/CameraElements/CameraFlip.html @@ -0,0 +1,368 @@ + + + + CameraFlip Enumeration Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.36.1 Docs + + (60% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

CameraFlip

+
+
+ +
enum CameraFlip
+ +
+
+

Undocumented

+ +
+
+ +
+
+
+
    +
  • +
    + + + + front + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public static let front: String
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + back + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public static let back: String
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Enums/CarouselElements.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Enums/CarouselElements.html new file mode 100644 index 000000000..463202645 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Enums/CarouselElements.html @@ -0,0 +1,395 @@ + + + + CarouselElements Enumeration Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.36.1 Docs + + (60% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

CarouselElements

+
+
+ +
public enum CarouselElements : String, TestableElement
+ +
+
+

CarouselView testable elements

+ +
+
+ +
+
+
+
    +
  • +
    + + + + collectionView + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    case collectionView
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + lensCell + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    case lensCell
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    case facadeSelectionRingView
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Enums/FlashControlElements.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Enums/FlashControlElements.html new file mode 100644 index 000000000..312f01614 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Enums/FlashControlElements.html @@ -0,0 +1,395 @@ + + + + FlashControlElements Enumeration Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.36.1 Docs + + (60% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

FlashControlElements

+
+
+ +
public enum FlashControlElements : String, TestableElement
+ +
+
+

FlashControlView testable elements

+ +
+
+ +
+
+
+
    +
  • +
    + + + + flashModeSelector + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    case flashModeSelector
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    case ringLightColorSelector
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    case ringLightIntensitySlider
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Enums/MessageNotificationElements.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Enums/MessageNotificationElements.html new file mode 100644 index 000000000..328f6baed --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Enums/MessageNotificationElements.html @@ -0,0 +1,341 @@ + + + + MessageNotificationElements Enumeration Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.36.1 Docs + + (60% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

MessageNotificationElements

+
+
+ +
public enum MessageNotificationElements : String, TestableElement
+ +
+
+

MessageNotificationView testable elements

+ +
+
+ +
+
+
+
    +
  • +
    + + + + label + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    case label
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Enums/OtherElements.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Enums/OtherElements.html new file mode 100644 index 000000000..5866f505a --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Enums/OtherElements.html @@ -0,0 +1,476 @@ + + + + OtherElements Enumeration Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.36.1 Docs + + (60% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

OtherElements

+
+
+ +
public enum OtherElements : String, TestableElement
+ +
+
+

Other misc testable elements

+ +
+
+ +
+
+
+
    +
  • +
    + + + + noOpButton + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    case noOpButton
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + arkitButton + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    case arkitButton
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + agreementsButton + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    case agreementsButton
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + tapToFocusView + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    case tapToFocusView
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + pairingButton + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    case pairingButton
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    case connectedLensStartButton
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Enums/PreviewElements.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Enums/PreviewElements.html new file mode 100644 index 000000000..37bab535d --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Enums/PreviewElements.html @@ -0,0 +1,449 @@ + + + + PreviewElements Enumeration Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.36.1 Docs + + (60% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

PreviewElements

+
+
+ +
public enum PreviewElements : String, TestableElement
+ +
+
+

PreviewViewController testable elements

+ +
+
+ +
+
+
+
    +
  • +
    + + + + closeButton + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    case closeButton
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + snapchatButton + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    case snapchatButton
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + shareButton + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    case shareButton
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + imageView + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    case imageView
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + playerControllerView + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    case playerControllerView
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Enums/SnapchatScreen.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Enums/SnapchatScreen.html new file mode 100644 index 000000000..5cb5b1d80 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Enums/SnapchatScreen.html @@ -0,0 +1,422 @@ + + + + SnapchatScreen Enumeration Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.36.1 Docs + + (60% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

SnapchatScreen

+
+
+ +
public enum SnapchatScreen
+ +
+
+

Describes the Snapchat screen to open to

+ +
+
+ +
+
+
+
    +
  • +
    + + + + profile + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    case profile
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + lens(_:) + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    case lens(Lens)
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + photo(_:) + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    case photo(UIImage)
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + video(_:) + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    case video(URL)
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Extensions.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Extensions.html new file mode 100644 index 000000000..a22694636 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Extensions.html @@ -0,0 +1,474 @@ + + + + Extensions Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.36.1 Docs + + (60% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

Extensions

+

The following extensions are available globally.

+ +
+
+ +
+
+
+
    +
  • +
    + + + + UIButton + +
    +
    +
    +
    +
    +
    +

    Helper to apply shadows to buttons.

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public extension UIButton
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + UILabel + +
    +
    +
    +
    +
    +
    +

    Helper to produce a dismissal hint for various camera action controls.

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public extension UILabel
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + UIImage + +
    +
    +
    +
    +
    +
    +

    Helper to produce highlighted versions of some camera action button images.

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    extension UIImage
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + UIColor + +
    +
    +
    +
    +
    +
    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public extension UIColor
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + UIFont + +
    +
    +
    +
    +
    +
    +

    Provides access to Snapchat typography in all supported weights.

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public extension UIFont
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + NSString + +
    +
    +
    +
    +
    +
    +

    Objective-C interface for CameraKitLocalizedString

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public extension NSString
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Extensions/NSString.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Extensions/NSString.html new file mode 100644 index 000000000..949ea64b8 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Extensions/NSString.html @@ -0,0 +1,348 @@ + + + + NSString Extension Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.36.1 Docs + + (60% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

NSString

+
+
+ +
public extension NSString
+ +
+
+

Objective-C interface for CameraKitLocalizedString

+ +
+
+ +
+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    @objc
    +class func cameraKit_localized(
    +    key: String,
    +    bundle: Bundle?,
    +    preferredLanguages: [String] = NSLocale.preferredLanguages,
    +    comment: String?,
    +    table: String? = nil
    +) -> String
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Extensions/UIButton.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Extensions/UIButton.html new file mode 100644 index 000000000..f340a6381 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Extensions/UIButton.html @@ -0,0 +1,341 @@ + + + + UIButton Extension Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.36.1 Docs + + (60% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

UIButton

+
+
+ +
public extension UIButton
+ +
+
+

Helper to apply shadows to buttons.

+ +
+
+ +
+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Applies a shadow designed for camera action buttons.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    func applyCameraActionButtonShadow()
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Extensions/UIColor.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Extensions/UIColor.html new file mode 100644 index 000000000..2b349f90b --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Extensions/UIColor.html @@ -0,0 +1,340 @@ + + + + UIColor Extension Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.36.1 Docs + + (60% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

UIColor

+
+
+ +
public extension UIColor
+ +
+
+ +
+
+ +
+
+
+
    +
  • +
    + + + + init(hex:alpha:) + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    convenience init(hex: UInt, alpha: CGFloat = 1.0)
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Extensions/UIFont.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Extensions/UIFont.html new file mode 100644 index 000000000..7dad670ef --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Extensions/UIFont.html @@ -0,0 +1,476 @@ + + + + UIFont Extension Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.36.1 Docs + + (60% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

UIFont

+
+
+ +
public extension UIFont
+ +
+
+

Provides access to Snapchat typography in all supported weights.

+ +
+
+ +
+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    static func sc_ultraLightFont(size: CGFloat) -> UIFont?
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + sc_regularFont(size:) + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    static func sc_regularFont(size: CGFloat) -> UIFont?
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + sc_mediumFont(size:) + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    static func sc_mediumFont(size: CGFloat) -> UIFont?
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    static func sc_demiBoldFont(size: CGFloat) -> UIFont?
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + sc_boldFont(size:) + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    static func sc_boldFont(size: CGFloat) -> UIFont?
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + sc_heavyFont(size:) + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    static func sc_heavyFont(size: CGFloat) -> UIFont?
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Extensions/UIImage.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Extensions/UIImage.html new file mode 100644 index 000000000..75d98f6a5 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Extensions/UIImage.html @@ -0,0 +1,376 @@ + + + + UIImage Extension Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.36.1 Docs + + (60% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

UIImage

+
+
+ +
extension UIImage
+ +
+
+

Helper to produce highlighted versions of some camera action button images.

+ +
+
+ +
+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Produces a version of the image that is subtracted from a circle with the given radius and color.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func circleHighlightedImage(radius: CGFloat, color: UIColor = .white) -> UIImage?
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + +
    + + radius + + +
    +

    The radius of the circle to subtract the image from.

    +
    +
    + + color + + +
    +

    The color of the circle to subtract the image from.

    +
    +
    +
    +
    +

    Return Value

    +

    The image subtracted from the circle with the provided radius and color.

    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Extensions/UILabel.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Extensions/UILabel.html new file mode 100644 index 000000000..71e7118c2 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Extensions/UILabel.html @@ -0,0 +1,345 @@ + + + + UILabel Extension Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.36.1 Docs + + (60% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

UILabel

+
+
+ +
public extension UILabel
+ +
+
+

Helper to produce a dismissal hint for various camera action controls.

+ +
+
+ +
+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Produces a dismissal hint label for the control.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    static func controlDismissalHint() -> UILabel
    + +
    +
    +
    +

    Return Value

    +

    The dismissal hint label.

    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Functions.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Functions.html new file mode 100644 index 000000000..3c8cd9da7 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Functions.html @@ -0,0 +1,411 @@ + + + + Functions Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.36.1 Docs + + (60% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

Functions

+

The following functions are available globally.

+ +
+
+ +
+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Looks up a localized string for CameraKit’s reference UI.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func CameraKitLocalizedString(
    +    key: String,
    +    bundle: Bundle? = nil,
    +    preferredLanguages: [String] = NSLocale.preferredLanguages,
    +    comment: String?,
    +    table: String? = nil
    +) -> String
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + + + + + + + + + + + + + +
    + + key + + +
    +

    key to lookup.

    +
    +
    + + bundle + + +
    +

    explicit bundle to look up key for. If omitted, uses the CameraKit Reference UI bundle.

    +
    +
    + + preferredLanguages + + +
    +

    a list of language codes in order of preference.

    +
    +
    + + comment + + +
    +

    any comments on the string.

    +
    +
    + + table + + +
    +

    an explicit strings table to reference.

    +
    +
    +
    +
    +

    Return Value

    +

    a localized string, if one is available for the languages specified, otherwise the English string (and the key, if neither are found).

    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Protocols.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Protocols.html new file mode 100644 index 000000000..77d21d115 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Protocols.html @@ -0,0 +1,755 @@ + + + + Protocols Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.36.1 Docs + + (60% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

Protocols

+

The following protocols are available globally.

+ +
+
+ +
+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public protocol CameraControllerUIDelegate : AnyObject
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + CameraButtonDelegate + +
    +
    +
    +
    +
    +
    +

    Delegate to receive updates for camera button view

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public protocol CameraButtonDelegate : AnyObject
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public protocol AdjustmentControlViewDelegate : AnyObject
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + ControlSliderDelegate + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public protocol ControlSliderDelegate : AnyObject
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Describes an interface to control app orientation

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public protocol AppOrientationDelegate : AnyObject
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public protocol FlashControlViewDelegate : AnyObject
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public protocol FlashModeSelectionViewDelegate : AnyObject
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public protocol RingLightColorSelectionViewDelegate : AnyObject
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Delegate for custom carousel collection view layout

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public protocol CarouselCollectionViewLayoutDelegate : AnyObject
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Data source for custom carousel collection view layout

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public protocol CarouselCollectionViewLayoutDataSource : AnyObject
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + CarouselImageLoader + +
    +
    +
    +
    +
    +
    +

    Protocol used to load an image from url

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public protocol CarouselImageLoader : AnyObject
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + CarouselViewDelegate + +
    +
    +
    +
    +
    +
    +

    A set of functions implemented by the delegate to be notified when the carousel responds to user interactions.

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public protocol CarouselViewDelegate : AnyObject
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    A set of functions that an object adopts to manage data and provide items for a carousel view.

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public protocol CarouselViewDataSource : AnyObject
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Describes an interface to be notified of MediaPickerView events

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public protocol MediaPickerViewDelegate : NSObjectProtocol
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + SnapchatDelegate + +
    +
    +
    +
    +
    +
    +

    CameraKit view controllers will notify this delegate when it needs to open, send info, or interact with Snapchat

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public protocol SnapchatDelegate : AnyObject
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + TestableElement + +
    +
    +
    +
    +
    +
    +

    Describes an element that can be UI tested

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public protocol TestableElement
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Protocols/AdjustmentControlViewDelegate.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Protocols/AdjustmentControlViewDelegate.html new file mode 100644 index 000000000..794d85b27 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Protocols/AdjustmentControlViewDelegate.html @@ -0,0 +1,372 @@ + + + + AdjustmentControlViewDelegate Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.36.1 Docs + + (60% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

AdjustmentControlViewDelegate

+
+
+ +
public protocol AdjustmentControlViewDelegate : AnyObject
+ +
+
+

Undocumented

+ +
+
+ +
+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Notifies the delegate that the control’s intensity slider’s value has changed.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    func adjustmentControlView(_ control: AdjustmentControlView, sliderValueChanged value: Double)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + +
    + + control + + +
    +

    The control view.

    +
    +
    + + value + + +
    +

    The updated value received from the control’s intensity slider.

    +
    +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Protocols/AppOrientationDelegate.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Protocols/AppOrientationDelegate.html new file mode 100644 index 000000000..7c74d02de --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Protocols/AppOrientationDelegate.html @@ -0,0 +1,387 @@ + + + + AppOrientationDelegate Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.36.1 Docs + + (60% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

AppOrientationDelegate

+
+
+ +
public protocol AppOrientationDelegate : AnyObject
+ +
+
+

Describes an interface to control app orientation

+ +
+
+ +
+
+
+
    +
  • +
    + + + + lockOrientation(_:) + +
    +
    +
    +
    +
    +
    +

    Lock app orientation

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    func lockOrientation(_ orientation: UIInterfaceOrientationMask)
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + orientation + + +
    +

    interface orientation mask to lock orientations to

    +
    +
    +
    +
    +
    +
  • +
  • +
    + + + + unlockOrientation() + +
    +
    +
    +
    +
    +
    +

    Unlock orientation

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    func unlockOrientation()
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Protocols/CameraButtonDelegate.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Protocols/CameraButtonDelegate.html new file mode 100644 index 000000000..f08e670ff --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Protocols/CameraButtonDelegate.html @@ -0,0 +1,499 @@ + + + + CameraButtonDelegate Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.36.1 Docs + + (60% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

CameraButtonDelegate

+
+
+ +
public protocol CameraButtonDelegate : AnyObject
+ +
+
+

Delegate to receive updates for camera button view

+ +
+
+ +
+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Called when user taps camera button

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    func cameraButtonTapped(_ cameraButton: CameraButton)
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + cameraButton + + +
    +

    camera button view

    +
    +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Called when user starts holding down camera button

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    func cameraButtonHoldBegan(_ cameraButton: CameraButton)
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + cameraButton + + +
    +

    camera button view

    +
    +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Called when user released their hold before the minimum threshold has been reached

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    func cameraButtonHoldCancelled(_ cameraButton: CameraButton)
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + cameraButton + + +
    +

    camera button view +NOTE: this will be followed by a call to cameraButtonTapped(_:)

    +
    +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Called when user stops holding down camera button

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    func cameraButtonHoldEnded(_ cameraButton: CameraButton)
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + cameraButton + + +
    +

    camera button view

    +
    +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Protocols/CameraControllerUIDelegate.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Protocols/CameraControllerUIDelegate.html new file mode 100644 index 000000000..3fb9f1ae1 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Protocols/CameraControllerUIDelegate.html @@ -0,0 +1,882 @@ + + + + CameraControllerUIDelegate Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.36.1 Docs + + (60% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

CameraControllerUIDelegate

+
+
+ +
public protocol CameraControllerUIDelegate : AnyObject
+ +
+
+

Undocumented

+ +
+
+ +
+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Notifies the delegate that the camera controller has resolved a new list of available lenses

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    func cameraController(_ controller: CameraController, updatedLenses lenses: [Lens])
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + +
    + + controller + + +
    +

    The camera controller.

    +
    +
    + + lenses + + +
    +

    The newly available lenses.

    +
    +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Notifies the delegate that the camera controller is currently in a loading state, and an activity indicator should be displayed.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    func cameraControllerRequestedActivityIndicatorShow(_ controller: CameraController)
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + controller + + +
    +

    The camera controller.

    +
    +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Notifies the delegate that the camera controller is no longer in a loading state, and an activity indicator should be hidden.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    func cameraControllerRequestedActivityIndicatorHide(_ controller: CameraController)
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + controller + + +
    +

    The camera controller.

    +
    +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Notifies the delegate that the flash state is on in ring light mode and that the ring light effect should be shown.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    func cameraControllerRequestedRingLightShow(_ controller: CameraController)
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + controller + + +
    +

    The camera controller.

    +
    +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Notifies the delegate that the flash state is no longer in ring light mode and that the ring light effect should be hidden.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    func cameraControllerRequestedRingLightHide(_ controller: CameraController)
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + controller + + +
    +

    The camera controller.

    +
    +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Notifies the delegate that the flash state has changed such that the flash control should be hidden.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    func cameraControllerRequestedFlashControlHide(_ controller: CameraController)
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + controller + + +
    +

    The camera controller.

    +
    +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Notifies the delegate that the snap attribution should be shown. For example, after the agreements have been accepted.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    func cameraControllerRequestedSnapAttributionViewShow(_ controller: CameraController)
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + controller + + +
    +

    The camera controller.

    +
    +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Notifies the delegate that the snap attribution should be hidden. For example, when a video is being recorded.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    func cameraControllerRequestedSnapAttributionViewHide(_ controller: CameraController)
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + controller + + +
    +

    The camera controller.

    +
    +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Notifies the delegate that the camera position should be flipped.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    func cameraControllerRequestedCameraFlip(_ controller: CameraController)
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + controller + + +
    +

    The camera controller.

    +
    +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Notifies the delegate that a lens has requested that a hint should be displayed

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    func cameraController(
    +    _ controller: CameraController, requestedHintDisplay hint: String, for lens: Lens, autohide: Bool
    +)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + + + + + + + + + +
    + + controller + + +
    +

    The camera controller.

    +
    +
    + + hint + + +
    +

    The hint text that should be displayed.

    +
    +
    + + lens + + +
    +

    The requesting lens.

    +
    +
    + + autohide + + +
    +

    Whether or not the hint should be automatically hidden, after a callee-determined amount of time.

    +
    +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Notifies the delegate that any hints requested by the specified lens should be hidden

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    func cameraController(_ controller: CameraController, requestedHintHideFor lens: Lens)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + +
    + + controller + + +
    +

    The camera controller.

    +
    +
    + + lens + + +
    +

    The lens whose hints should be hidden.

    +
    +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Protocols/CarouselCollectionViewLayoutDataSource.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Protocols/CarouselCollectionViewLayoutDataSource.html new file mode 100644 index 000000000..7d95a2831 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Protocols/CarouselCollectionViewLayoutDataSource.html @@ -0,0 +1,373 @@ + + + + CarouselCollectionViewLayoutDataSource Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.36.1 Docs + + (60% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

CarouselCollectionViewLayoutDataSource

+
+
+ +
public protocol CarouselCollectionViewLayoutDataSource : AnyObject
+ +
+
+

Data source for custom carousel collection view layout

+ +
+
+ +
+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Method to provide any sort of transform that should be applied to the carousel cell

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    func carouselLayout(_ layout: CarouselCollectionViewLayout, transformForItemAt indexPath: IndexPath)
    +    -> CGAffineTransform
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + +
    + + layout + + +
    +

    carousel collection view layout instance

    +
    +
    + + indexPath + + +
    +

    index path of cell

    +
    +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Protocols/CarouselCollectionViewLayoutDelegate.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Protocols/CarouselCollectionViewLayoutDelegate.html new file mode 100644 index 000000000..cfc2ee2d3 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Protocols/CarouselCollectionViewLayoutDelegate.html @@ -0,0 +1,372 @@ + + + + CarouselCollectionViewLayoutDelegate Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.36.1 Docs + + (60% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

CarouselCollectionViewLayoutDelegate

+
+
+ +
public protocol CarouselCollectionViewLayoutDelegate : AnyObject
+ +
+
+

Delegate for custom carousel collection view layout

+ +
+
+ +
+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    This method is called when user stops scrolling and layout will target the correct lens to land at

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    func carouselLayout(_ layout: CarouselCollectionViewLayout, willTargetIndex index: Int)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + +
    + + layout + + +
    +

    carousel collection view layout instance

    +
    +
    + + index + + +
    +

    index of item that it will land at

    +
    +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Protocols/CarouselImageLoader.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Protocols/CarouselImageLoader.html new file mode 100644 index 000000000..46b9b2ece --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Protocols/CarouselImageLoader.html @@ -0,0 +1,486 @@ + + + + CarouselImageLoader Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.36.1 Docs + + (60% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

CarouselImageLoader

+
+
+ +
public protocol CarouselImageLoader : AnyObject
+ +
+
+

Protocol used to load an image from url

+ +
+
+ +
+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Load image from url

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    func loadImage(url: URL, completion: ((_ image: UIImage?, _ error: Error?) -> Void)?)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + +
    + + url + + +
    +

    image url

    +
    +
    + + completion + + +
    +

    callback with image on success or error on failure

    +
    +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Load image from url

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    func loadImage(
    +    url: URL,
    +    cachePolicy: URLRequest.CachePolicy,
    +    queue: DispatchQueue,
    +    completion: ((UIImage?, Error?) -> Void)?
    +)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + + + + + + + + + +
    + + url + + +
    +

    image url

    +
    +
    + + cachePolicy + + +
    +

    cache policy for the requested image data

    +
    +
    + + queue + + +
    +

    queue to call completion on

    +
    +
    + + completion + + +
    +

    callback with image on success or error on failure

    +
    +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Cancels image loading for a given url

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    func cancelImageLoad(from url: URL)
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Protocols/CarouselViewDataSource.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Protocols/CarouselViewDataSource.html new file mode 100644 index 000000000..edc877ea0 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Protocols/CarouselViewDataSource.html @@ -0,0 +1,364 @@ + + + + CarouselViewDataSource Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.36.1 Docs + + (60% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

CarouselViewDataSource

+
+
+ +
public protocol CarouselViewDataSource : AnyObject
+ +
+
+

A set of functions that an object adopts to manage data and provide items for a carousel view.

+ +
+
+ +
+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Returns a list of items to show in the carousel view.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    func itemsForCarouselView(_ view: CarouselView) -> [CarouselItem]
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + view + + +
    +

    The carousel view which will show the list of items returned.

    +
    +
    +
    +
    +

    Return Value

    +

    A list of items to show in the carousel view.

    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Protocols/CarouselViewDelegate.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Protocols/CarouselViewDelegate.html new file mode 100644 index 000000000..a01dc0298 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Protocols/CarouselViewDelegate.html @@ -0,0 +1,384 @@ + + + + CarouselViewDelegate Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.36.1 Docs + + (60% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

CarouselViewDelegate

+
+
+ +
public protocol CarouselViewDelegate : AnyObject
+ +
+
+

A set of functions implemented by the delegate to be notified when the carousel responds to user interactions.

+ +
+
+ +
+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Notifies the delegate that a given carousel’s specific index was selected.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    func carouselView(_ view: CarouselView, didSelect item: CarouselItem, at index: Int)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + + + + + +
    + + view + + +
    +

    The carousel view which contains the item that was just selected.

    +
    +
    + + item + + +
    +

    The carousel item which was just selected.

    +
    +
    + + index + + +
    +

    The index at which the carousel item was selected.

    +
    +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Protocols/ControlSliderDelegate.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Protocols/ControlSliderDelegate.html new file mode 100644 index 000000000..15bf31d95 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Protocols/ControlSliderDelegate.html @@ -0,0 +1,384 @@ + + + + ControlSliderDelegate Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.36.1 Docs + + (60% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

ControlSliderDelegate

+
+
+ +
public protocol ControlSliderDelegate : AnyObject
+ +
+
+

Undocumented

+ +
+
+ +
+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Notifies the delegate that the slider’s value has changed.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    func controlSlider(_ slider: ControlSlider, updatedValue value: Float, done: Bool)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + + + + + +
    + + slider + + +
    +

    The control slider.

    +
    +
    + + updatedValue + + +
    +

    The updated value received from the slider.

    +
    +
    + + done + + +
    +

    Whether or not the slider’s value is done changing.

    +
    +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Protocols/FlashControlViewDelegate.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Protocols/FlashControlViewDelegate.html new file mode 100644 index 000000000..1f41ac6b5 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Protocols/FlashControlViewDelegate.html @@ -0,0 +1,488 @@ + + + + FlashControlViewDelegate Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.36.1 Docs + + (60% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

FlashControlViewDelegate

+
+
+ +
public protocol FlashControlViewDelegate : AnyObject
+ +
+
+

Undocumented

+ +
+
+ +
+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Notifies the delegate that a ring light color was selected.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    func flashControlView(_ view: FlashControlView, selectedRingLightColor color: UIColor)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + +
    + + view + + +
    +

    The flash control view.

    +
    +
    + + selectedRingLightColor + + +
    +

    The ring light color that was just selected.

    +
    +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Notifies the delegate that the control’s ring light intensity slider has an updated value.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    func flashControlView(_ view: FlashControlView, updatedRingLightValue value: Float)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + +
    + + view + + +
    +

    The flash control view.

    +
    +
    + + updatedRingLightValue + + +
    +

    The updated intensity value received from the slider.

    +
    +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Notifies the delegate that there is an update to the selected flash mode.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    func flashControlView(_ view: FlashControlView, updatedFlashMode flashMode: CameraController.FlashMode)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + +
    + + view + + +
    +

    The flash control view.

    +
    +
    + + updatedFlashMode + + +
    +

    The updated flash mode selection.

    +
    +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Protocols/FlashModeSelectionViewDelegate.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Protocols/FlashModeSelectionViewDelegate.html new file mode 100644 index 000000000..52acb36ec --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Protocols/FlashModeSelectionViewDelegate.html @@ -0,0 +1,372 @@ + + + + FlashModeSelectionViewDelegate Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.36.1 Docs + + (60% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

FlashModeSelectionViewDelegate

+
+
+ +
public protocol FlashModeSelectionViewDelegate : AnyObject
+ +
+
+

Undocumented

+ +
+
+ +
+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Notifies the delegate that there is an update to the selected flash mode.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    func flashModeSelectionView(_ view: FlashModeSelectionView, updatedMode mode: CameraController.FlashMode)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + +
    + + view + + +
    +

    The flash mode selection view.

    +
    +
    + + updatedFlashMode + + +
    +

    The updated flash mode selection.

    +
    +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Protocols/MediaPickerViewDelegate.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Protocols/MediaPickerViewDelegate.html new file mode 100644 index 000000000..11880d231 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Protocols/MediaPickerViewDelegate.html @@ -0,0 +1,372 @@ + + + + MediaPickerViewDelegate Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.36.1 Docs + + (60% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

MediaPickerViewDelegate

+
+
+ +
public protocol MediaPickerViewDelegate : NSObjectProtocol
+ +
+
+

Describes an interface to be notified of MediaPickerView events

+ +
+
+ +
+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    User selected asset in MediaPickerView

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    func mediaPickerView(_ mediaPickerView: MediaPickerView, selectedAsset: LensMediaPickerProviderAsset)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + +
    + + mediaPickerView + + +
    +

    MediaPickerView instance

    +
    +
    + + selectedAsset + + +
    +

    user selected asset

    +
    +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Protocols/RingLightColorSelectionViewDelegate.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Protocols/RingLightColorSelectionViewDelegate.html new file mode 100644 index 000000000..79800f5c6 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Protocols/RingLightColorSelectionViewDelegate.html @@ -0,0 +1,372 @@ + + + + RingLightColorSelectionViewDelegate Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.36.1 Docs + + (60% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

RingLightColorSelectionViewDelegate

+
+
+ +
public protocol RingLightColorSelectionViewDelegate : AnyObject
+ +
+
+

Undocumented

+ +
+
+ +
+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    Notifies the delegate that a color was selected.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    func ringLightColorSelectionView(_ view: RingLightColorSelectionView, selectedColor color: UIColor)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + +
    + + view + + +
    +

    The ring light color selection view.

    +
    +
    + + selectedColor + + +
    +

    The color that was just selected.

    +
    +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Protocols/SnapchatDelegate.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Protocols/SnapchatDelegate.html new file mode 100644 index 000000000..3753d0807 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Protocols/SnapchatDelegate.html @@ -0,0 +1,372 @@ + + + + SnapchatDelegate Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.36.1 Docs + + (60% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

SnapchatDelegate

+
+
+ +
public protocol SnapchatDelegate : AnyObject
+ +
+
+

CameraKit view controllers will notify this delegate when it needs to open, send info, or interact with Snapchat

+ +
+
+ +
+
+
+
    +
  • + +
    +
    +
    +
    +
    +

    CameraKit view controller requests opening Snapchat with specific info

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    func cameraKitViewController(_ viewController: UIViewController, openSnapchat screen: SnapchatScreen)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + +
    + + viewController + + +
    +

    CameraKit view controller instance

    +
    +
    + + screen + + +
    +

    Snapchat screen to open to

    +
    +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Protocols/TestableElement.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Protocols/TestableElement.html new file mode 100644 index 000000000..93ba5468d --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Protocols/TestableElement.html @@ -0,0 +1,341 @@ + + + + TestableElement Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.36.1 Docs + + (60% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

TestableElement

+
+
+ +
public protocol TestableElement
+ +
+
+

Describes an element that can be UI tested

+ +
+
+ +
+
+
+
    +
  • +
    + + + + id + +
    +
    +
    +
    +
    +
    +

    identifier for the testable element

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    var id: String { get }
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/css/highlight.css b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/css/highlight.css new file mode 100644 index 000000000..c170357ce --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/css/highlight.css @@ -0,0 +1,202 @@ +/*! Jazzy - https://github.com/realm/jazzy + * Copyright Realm Inc. + * SPDX-License-Identifier: MIT + */ +/* Credit to https://gist.github.com/wataru420/2048287 */ +.highlight .c { + color: #999988; + font-style: italic; } + +.highlight .err { + color: #a61717; + background-color: #e3d2d2; } + +.highlight .k { + color: #000000; + font-weight: bold; } + +.highlight .o { + color: #000000; + font-weight: bold; } + +.highlight .cm { + color: #999988; + font-style: italic; } + +.highlight .cp { + color: #999999; + font-weight: bold; } + +.highlight .c1 { + color: #999988; + font-style: italic; } + +.highlight .cs { + color: #999999; + font-weight: bold; + font-style: italic; } + +.highlight .gd { + color: #000000; + background-color: #ffdddd; } + +.highlight .gd .x { + color: #000000; + background-color: #ffaaaa; } + +.highlight .ge { + color: #000000; + font-style: italic; } + +.highlight .gr { + color: #aa0000; } + +.highlight .gh { + color: #999999; } + +.highlight .gi { + color: #000000; + background-color: #ddffdd; } + +.highlight .gi .x { + color: #000000; + background-color: #aaffaa; } + +.highlight .go { + color: #888888; } + +.highlight .gp { + color: #555555; } + +.highlight .gs { + font-weight: bold; } + +.highlight .gu { + color: #aaaaaa; } + +.highlight .gt { + color: #aa0000; } + +.highlight .kc { + color: #000000; + font-weight: bold; } + +.highlight .kd { + color: #000000; + font-weight: bold; } + +.highlight .kp { + color: #000000; + font-weight: bold; } + +.highlight .kr { + color: #000000; + font-weight: bold; } + +.highlight .kt { + color: #445588; } + +.highlight .m { + color: #009999; } + +.highlight .s { + color: #d14; } + +.highlight .na { + color: #008080; } + +.highlight .nb { + color: #0086B3; } + +.highlight .nc { + color: #445588; + font-weight: bold; } + +.highlight .no { + color: #008080; } + +.highlight .ni { + color: #800080; } + +.highlight .ne { + color: #990000; + font-weight: bold; } + +.highlight .nf { + color: #990000; } + +.highlight .nn { + color: #555555; } + +.highlight .nt { + color: #000080; } + +.highlight .nv { + color: #008080; } + +.highlight .ow { + color: #000000; + font-weight: bold; } + +.highlight .w { + color: #bbbbbb; } + +.highlight .mf { + color: #009999; } + +.highlight .mh { + color: #009999; } + +.highlight .mi { + color: #009999; } + +.highlight .mo { + color: #009999; } + +.highlight .sb { + color: #d14; } + +.highlight .sc { + color: #d14; } + +.highlight .sd { + color: #d14; } + +.highlight .s2 { + color: #d14; } + +.highlight .se { + color: #d14; } + +.highlight .sh { + color: #d14; } + +.highlight .si { + color: #d14; } + +.highlight .sx { + color: #d14; } + +.highlight .sr { + color: #009926; } + +.highlight .s1 { + color: #d14; } + +.highlight .ss { + color: #990073; } + +.highlight .bp { + color: #999999; } + +.highlight .vc { + color: #008080; } + +.highlight .vg { + color: #008080; } + +.highlight .vi { + color: #008080; } + +.highlight .il { + color: #009999; } diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/css/jazzy.css b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/css/jazzy.css new file mode 100644 index 000000000..c7bb9fe22 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/css/jazzy.css @@ -0,0 +1,404 @@ +/*! Jazzy - https://github.com/realm/jazzy + * Copyright Realm Inc. + * SPDX-License-Identifier: MIT + */ +*, *:before, *:after { + box-sizing: inherit; } + +body { + margin: 0; + background: #fff; + color: #333; + font: 16px/1.7 "Helvetica Neue", Helvetica, Arial, sans-serif; + letter-spacing: .2px; + -webkit-font-smoothing: antialiased; + box-sizing: border-box; } + +h1 { + font-size: 2rem; + font-weight: 700; + margin: 1.275em 0 0.6em; } + +h2 { + font-size: 1.75rem; + font-weight: 700; + margin: 1.275em 0 0.3em; } + +h3 { + font-size: 1.5rem; + font-weight: 700; + margin: 1em 0 0.3em; } + +h4 { + font-size: 1.25rem; + font-weight: 700; + margin: 1.275em 0 0.85em; } + +h5 { + font-size: 1rem; + font-weight: 700; + margin: 1.275em 0 0.85em; } + +h6 { + font-size: 1rem; + font-weight: 700; + margin: 1.275em 0 0.85em; + color: #777; } + +p { + margin: 0 0 1em; } + +ul, ol { + padding: 0 0 0 2em; + margin: 0 0 0.85em; } + +blockquote { + margin: 0 0 0.85em; + padding: 0 15px; + color: #858585; + border-left: 4px solid #e5e5e5; } + +img { + max-width: 100%; } + +a { + color: #4183c4; + text-decoration: none; } + a:hover, a:focus { + outline: 0; + text-decoration: underline; } + a.discouraged { + text-decoration: line-through; } + a.discouraged:hover, a.discouraged:focus { + text-decoration: underline line-through; } + +table { + background: #fff; + width: 100%; + border-collapse: collapse; + border-spacing: 0; + overflow: auto; + margin: 0 0 0.85em; } + +tr:nth-child(2n) { + background-color: #fbfbfb; } + +th, td { + padding: 6px 13px; + border: 1px solid #ddd; } + +hr { + height: 1px; + border: none; + background-color: #ddd; } + +pre { + margin: 0 0 1.275em; + padding: .85em 1em; + overflow: auto; + background: #f7f7f7; + font-size: .85em; + font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace; } + +code { + font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace; } + +.item-container p > code, .item-container li > code, .top-matter p > code, .top-matter li > code { + background: #f7f7f7; + padding: .2em; } + .item-container p > code:before, .item-container p > code:after, .item-container li > code:before, .item-container li > code:after, .top-matter p > code:before, .top-matter p > code:after, .top-matter li > code:before, .top-matter li > code:after { + letter-spacing: -.2em; + content: "\00a0"; } + +pre code { + padding: 0; + white-space: pre; } + +.content-wrapper { + display: flex; + flex-direction: column; } + @media (min-width: 768px) { + .content-wrapper { + flex-direction: row; } } +.header { + display: flex; + padding: 8px; + font-size: 0.875em; + background: #444; + color: #999; } + +.header-col { + margin: 0; + padding: 0 8px; } + +.header-col--primary { + flex: 1; } + +.header-link { + color: #fff; } + +.header-icon { + padding-right: 2px; + vertical-align: -3px; + height: 16px; } + +.breadcrumbs { + font-size: 0.875em; + padding: 8px 16px; + margin: 0; + background: #fbfbfb; + border-bottom: 1px solid #ddd; } + +.carat { + height: 10px; + margin: 0 5px; } + +.navigation { + order: 2; } + @media (min-width: 768px) { + .navigation { + order: 1; + width: 25%; + max-width: 300px; + padding-bottom: 64px; + overflow: hidden; + word-wrap: normal; + background: #fbfbfb; + border-right: 1px solid #ddd; } } +.nav-groups { + list-style-type: none; + padding-left: 0; } + +.nav-group-name { + border-bottom: 1px solid #ddd; + padding: 8px 0 8px 16px; } + +.nav-group-name-link { + color: #333; } + +.nav-group-tasks { + margin: 8px 0; + padding: 0 0 0 8px; } + +.nav-group-task { + font-size: 1em; + list-style-type: none; + white-space: nowrap; } + +.nav-group-task-link { + color: #808080; } + +.main-content { + order: 1; } + @media (min-width: 768px) { + .main-content { + order: 2; + flex: 1; + padding-bottom: 60px; } } +.section { + padding: 0 32px; + border-bottom: 1px solid #ddd; } + +.section-content { + max-width: 834px; + margin: 0 auto; + padding: 16px 0; } + +.section-name { + color: #666; + display: block; } + .section-name p { + margin-bottom: inherit; } + +.declaration .highlight { + overflow-x: initial; + padding: 8px 0; + margin: 0; + background-color: transparent; + border: none; } + +.task-group-section { + border-top: 1px solid #ddd; } + +.task-group { + padding-top: 0px; } + +.task-name-container a[name]:before { + content: ""; + display: block; } + +.section-name-container { + position: relative; } + .section-name-container .section-name-link { + position: absolute; + top: 0; + left: 0; + bottom: 0; + right: 0; + margin-bottom: 0; } + .section-name-container .section-name { + position: relative; + pointer-events: none; + z-index: 1; } + .section-name-container .section-name a { + pointer-events: auto; } + +.item-container { + padding: 0; } + +.item { + padding-top: 8px; + width: 100%; + list-style-type: none; } + .item a[name]:before { + content: ""; + display: block; } + .item .token, .item .direct-link { + display: inline-block; + text-indent: -20px; + padding-left: 3px; + margin-left: 20px; + font-size: 1rem; } + .item .declaration-note { + font-size: .85em; + color: #808080; + font-style: italic; } + +.pointer-container { + border-bottom: 1px solid #ddd; + left: -23px; + padding-bottom: 13px; + position: relative; + width: 110%; } + +.pointer { + left: 21px; + top: 7px; + display: block; + position: absolute; + width: 12px; + height: 12px; + border-left: 1px solid #ddd; + border-top: 1px solid #ddd; + background: #fff; + transform: rotate(45deg); } + +.height-container { + display: none; + position: relative; + width: 100%; + overflow: hidden; } + .height-container .section { + background: #fff; + border: 1px solid #ddd; + border-top-width: 0; + padding-top: 10px; + padding-bottom: 5px; + padding: 8px 16px; } + +.aside, .language { + padding: 6px 12px; + margin: 12px 0; + border-left: 5px solid #dddddd; + overflow-y: hidden; } + .aside .aside-title, .language .aside-title { + font-size: 9px; + letter-spacing: 2px; + text-transform: uppercase; + padding-bottom: 0; + margin: 0; + color: #aaa; + -webkit-user-select: none; } + .aside p:last-child, .language p:last-child { + margin-bottom: 0; } + +.language { + border-left: 5px solid #cde9f4; } + .language .aside-title { + color: #4183c4; } + +.aside-warning, .aside-deprecated, .aside-unavailable { + border-left: 5px solid #ff6666; } + .aside-warning .aside-title, .aside-deprecated .aside-title, .aside-unavailable .aside-title { + color: #ff0000; } + +.graybox { + border-collapse: collapse; + width: 100%; } + .graybox p { + margin: 0; + word-break: break-word; + min-width: 50px; } + .graybox td { + border: 1px solid #ddd; + padding: 5px 25px 5px 10px; + vertical-align: middle; } + .graybox tr td:first-of-type { + text-align: right; + padding: 7px; + vertical-align: top; + word-break: normal; + width: 40px; } + +.slightly-smaller { + font-size: 0.9em; } + +.footer { + padding: 8px 16px; + background: #444; + color: #ddd; + font-size: 0.8em; } + .footer p { + margin: 8px 0; } + .footer a { + color: #fff; } + +html.dash .header, html.dash .breadcrumbs, html.dash .navigation { + display: none; } + +html.dash .height-container { + display: block; } + +form[role=search] input { + font: 16px/1.7 "Helvetica Neue", Helvetica, Arial, sans-serif; + font-size: 14px; + line-height: 24px; + padding: 0 10px; + margin: 0; + border: none; + border-radius: 1em; } + .loading form[role=search] input { + background: white url(../img/spinner.gif) center right 4px no-repeat; } + +form[role=search] .tt-menu { + margin: 0; + min-width: 300px; + background: #fbfbfb; + color: #333; + border: 1px solid #ddd; } + +form[role=search] .tt-highlight { + font-weight: bold; } + +form[role=search] .tt-suggestion { + font: 16px/1.7 "Helvetica Neue", Helvetica, Arial, sans-serif; + padding: 0 8px; } + form[role=search] .tt-suggestion span { + display: table-cell; + white-space: nowrap; } + form[role=search] .tt-suggestion .doc-parent-name { + width: 100%; + text-align: right; + font-weight: normal; + font-size: 0.9em; + padding-left: 16px; } + +form[role=search] .tt-suggestion:hover, +form[role=search] .tt-suggestion.tt-cursor { + cursor: pointer; + background-color: #4183c4; + color: #fff; } + +form[role=search] .tt-suggestion:hover .doc-parent-name, +form[role=search] .tt-suggestion.tt-cursor .doc-parent-name { + color: #fff; } diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/img/carat.png b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/img/carat.png new file mode 100755 index 0000000000000000000000000000000000000000..29d2f7fd4955fca6bc6fb740e0373a2c358c398e GIT binary patch literal 274 zcmeAS@N?(olHy`uVBq!ia0vp^0zfRo!3HEV4DF?Wlw^r(L`iUdT1k0gQ7VIDN`6wR zf@f}GdTLN=VoGJ<$y6JlqAi{-jv*Ddl5#RKJQ5NTUZgiPI4RUKGIKU?u8L&ndhX1t za+0CMVUnT(Gnb}ei=c~x==tMH^F1_tBocXwcoSWoO-SZY-o>!8%^=Bms)(~h;m_U( zXNixk28L}0LS5-jKyq@#2gyS|J&f#pGCLkTc<@2s1dqeyqJ*Rc0tSIETAgmODY;(s z2y|Mcp&2}7rpBprBBB~1qM1`N+}4SoxYVPqsXi&l`rxZp{(w0iSy$Nv5*Vy!RapG^ S^0y4=eg;ohKbLh*2~7a!Pg}VF literal 0 HcmV?d00001 diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/img/dash.png b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/img/dash.png new file mode 100755 index 0000000000000000000000000000000000000000..6f694c7a012b417908da3687a0a39aa182e91c74 GIT binary patch literal 1338 zcmaJ>U2NM_6t){^r>#wcfL0VSTvuX@)$vd4#5N6WVkc|1rR}naMb)(7I5(};#!el# zbtCASsp?W-qE8zSJoFVdA%-T$WL8RI_B? zd+t5o`T5Q{p6=<|U$?VqCxRe#u}(PwSIl{LRKstfSbPYV7pzFiI$~t4QN;vEC}X4n z7RxDpAOV!j*w8ni4MAK3S~6v&;)g`l$axh<$7|>E5RD*h?RH*K2Y`j8L7%1v@%vZi za7@bt@uOUvisvQJuXPqpaHQCkREqd6M>0WG?6AwXR*T65ziuw$&~q$MS$o zfPyh>s<0l}mI@eh_hd(oB8*1tHZ@ojWl%QM;T+Jdm>k66jW?rZ#Atx!qns4-g&E4v z(=;FQ%W^avW?3J{L@2IeV>_(Ca)Lk1vm70uX*$9Rewm8!AxRF0BcZTNSFka?U@5u^ zDtpMY2lVtCmQm<8@|YxHuf`Qs(;a!QQ=g4=WngL}AQLr> z9JWrdsBIHKHXF!fSydodRsaOc@jgNkSU^x9kY&;UP<}3pZ{joC5f_Tevd>4eG~;)Y z=eZ~qp=5#aaUn*E3OES^BApKTU&mCAU>iEyt^S9?)&v0^j*SWDqjRZr20>6rTPSJ& zlzz0f);`}+^~w}lP1PK7Ew3f7ot#*uJ@>1Yo3J0TdsRKpA+*n9JnDXDrM~YvF`;uS|vAh|-QdmRf4AqG=`U z#v1n_Lxg8;&z#YCU2K`_W{-A zUf_|V)B9U(WZ~PP>)O(JZ|Vc-*qP&Q{MB!bsTr6|ge_{#vAVj^!DyNA-l zJ&$jDFNv;BTZXX@Qk-7+S5ErF>mkOcZ@lQv>F1VyCEMe2Ud@f<|L%#&QJi${E`2lR zqKFaW2Y$aTRxUY&ae$IHsN;Z;rdZ%CjYLTv!tMi234j-ON=CnvK-1QU|MG$YErn{gHZ@0Q6&?xSyply?S$EVNXH;gp?S5kV2-)$ga^gw`(f4Mm_Y(`RbgRkQTHF2@zL}dCiLk$RoZIc{xZL z_J*d5)Kb;#oKCFyfL*NGSs?y;e(QKvPJe1#G)h5*6E(?L9$nt?UaQJfP^$GDL0PU; z?r}C|);JQ4HES3w5VMlY7x6xfJAzDKlHE~>x;D`Fa=WygYot{pfFehH69o9pK|72W zwC6?t^AnATIJa=kewn=ep?Nk(aZ*pZo}51`S=^)jPRb`~l^VE}08>P3OJtQlXx1K8 z8Q}_u=F*fS;=k=?(fIv#+%811NTx8^}rHwvH%LbYmpFl9p1A{Idh@2x$ zuVp7)VD9}Uc(*(C**!QOdS(6B)$5^Tq5p3q*7un&_Z-NKEiEYg$D{Uq&sa>wj|za5 zJ6M~p)z+E6*X${8j6Ci+sqZ}zxeCAo0gZmZuhl+)Q%1U$Br_`NXcA-3yBdYMha+{o z{?q0Q(kaR2n`M29{!pwpgX6+CPQEgIO%x*0#!TC=c-ZPSkLO>OcmQUao5%-3w)U`F zRz?uGCEKQDh!TQPDmyd;iDX$TkMIe)%61q51Y2b-ie4r00!csilXgKL$txqj|6D(# z@(#!nQ}3R1JGeB3B5Tuqdvyg@*!-bq`9`pmasNGvy9^*+cd1Y*g>HK#rl7i79QQAG zl4SL_wW@WY1d+F?j0gFInGhsRrqvV3SKl{oqW+;9!fu|u@J)h4WM!0Cu02l@p60b#5M9c{dKh=_eRw~yl zWT0gw8RePzf%i8X&twiB|LF0bI@CYE{x1PI;Ylr4RJzU#Zc0j!c07g&q7=_eSd(sH z9VKChd?}^52IKcMqolAWiQH;HSp1Ploa$t zQhg|2sK;%Eb!By`)j9G1w?>`Wt6IK3gB}~uoue(MlRiIoZ#d{pgJZ8b{^{HO8)@%= zX)og3`*D5v1g;*Lz8@Sm(Q|&}PUytlb@Q_dzKFOzKK!Z_&?GO4+JO-)iPH=fs{(`& zZ9{oNn~LUZaeN!>i9p*0N^sHye8nw4xSi!REaP@@^Jy66|)Y9_AFoLlrlkg(42 zVq2J??I(+1*BcSKsTyO7LCho{8tVQm1b>*GQ*H~Mn71Lhy`alw%;D@CU^0)5Ng{cHz@LS7QZ o8uGHYt7)tmZjae5ge5$b`e_;HIklOseoIbqeod19BU-8d00{dbSpWb4 literal 0 HcmV?d00001 diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/index.html b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/index.html new file mode 100644 index 000000000..2a8ff991e --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/index.html @@ -0,0 +1,334 @@ + + + + SCSDKCameraKitReferenceUI Reference + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.36.1 Docs + + (60% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+ +

CameraKit Reference UI iOS

+

Overview

+ +

SCSDKCameraKitReferenceUI is an optional SDK that provides reference UI elements similar to Snapchat’s UI as well as a fully-functional Camera view controller that has CameraKit set up and working with sample lenses. The elements provided in this SDK are designed to be used in a modular fashion, so it is easy to use certain UI elements out of the box while changing the design or functionality of other elements.

+

Usage Philosophy

+ +

In general, the UI elements in SCSDKCameraKitReferenceUI are intended to be used out-of-the-box and they provide customizations to tailor the behavior slightly (eg. changing the recording duration of the camera button). The UI elements are also designed to be extended, changed, and used in a modular fashion – for example, using our carousel, camera button, and recorder together to record a video with a lens, but showing it in your own video preview view can easily be done using these elements out-of-the-box.

+

Getting Started

+

Requirements

+ +

SCSDKCameraKitReferenceUI requires Swift, a minimum of iOS 11, and a 64 bit processor.

+

Dependency Management

+ +

CameraKit currently supports CocoaPods and Swift Package Manager.

+

CocoaPods

+ +

Add this line to your Podfile: +pod 'SCSDKCameraKitReferenceUI', :path => 'CameraKit/CameraKitReferenceUI' +where :path points to the directory that contains the camera kit sdk, podspec, etc.

+ +

Run pod install and open up your xcworkspace.

+

Swift Package Manager

+ +
    +
  • Drag and drop the CameraKit/CameraKitReferenceUI file into your project or workspace.
  • +
  • Click the + button in the “Frameworks, Libraries, and Embedded Content” section, select SCSDKCameraKitReferenceUI, and add it as a dependency.
  • +
+ +

More detail can be found in Apple’s documentation.

+

Showing the Camera

+ +

At its most simplest form, SCSDKCameraKitReferenceUI contains a fully-setup camera that contains all UI elements (carousel, camera button, recorder, etc.) and hooks up to the core SCSDKCameraKit sdk to fetch and apply lenses to the camera. This can be easily set up and presented by doing the following:

+
let cameraViewController = CameraViewController(repoGroups: ["5685839489138688"])
+present(cameraViewController, animated: true, completion: nil)
+
+ +

where repoGroups is the list of group IDs added in Lens Scheduler to show in the carousel.

+ +
+
+ + +
+
+ + + diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/js/jazzy.js b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/js/jazzy.js new file mode 100755 index 000000000..198441660 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/js/jazzy.js @@ -0,0 +1,74 @@ +// Jazzy - https://github.com/realm/jazzy +// Copyright Realm Inc. +// SPDX-License-Identifier: MIT + +window.jazzy = {'docset': false} +if (typeof window.dash != 'undefined') { + document.documentElement.className += ' dash' + window.jazzy.docset = true +} +if (navigator.userAgent.match(/xcode/i)) { + document.documentElement.className += ' xcode' + window.jazzy.docset = true +} + +function toggleItem($link, $content) { + var animationDuration = 300; + $link.toggleClass('token-open'); + $content.slideToggle(animationDuration); +} + +function itemLinkToContent($link) { + return $link.parent().parent().next(); +} + +// On doc load + hash-change, open any targetted item +function openCurrentItemIfClosed() { + if (window.jazzy.docset) { + return; + } + var $link = $(`a[name="${location.hash.substring(1)}"]`).nextAll('.token'); + $content = itemLinkToContent($link); + if ($content.is(':hidden')) { + toggleItem($link, $content); + } +} + +$(openCurrentItemIfClosed); +$(window).on('hashchange', openCurrentItemIfClosed); + +// On item link ('token') click, toggle its discussion +$('.token').on('click', function(event) { + if (window.jazzy.docset) { + return; + } + var $link = $(this); + toggleItem($link, itemLinkToContent($link)); + + // Keeps the document from jumping to the hash. + var href = $link.attr('href'); + if (history.pushState) { + history.pushState({}, '', href); + } else { + location.hash = href; + } + event.preventDefault(); +}); + +// Clicks on links to the current, closed, item need to open the item +$("a:not('.token')").on('click', function() { + if (location == this.href) { + openCurrentItemIfClosed(); + } +}); + +// KaTeX rendering +if ("katex" in window) { + $($('.math').each( (_, element) => { + katex.render(element.textContent, element, { + displayMode: $(element).hasClass('m-block'), + throwOnError: false, + trust: true + }); + })) +} diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/js/jazzy.search.js b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/js/jazzy.search.js new file mode 100644 index 000000000..359cdbb8b --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/js/jazzy.search.js @@ -0,0 +1,74 @@ +// Jazzy - https://github.com/realm/jazzy +// Copyright Realm Inc. +// SPDX-License-Identifier: MIT + +$(function(){ + var $typeahead = $('[data-typeahead]'); + var $form = $typeahead.parents('form'); + var searchURL = $form.attr('action'); + + function displayTemplate(result) { + return result.name; + } + + function suggestionTemplate(result) { + var t = '
'; + t += '' + result.name + ''; + if (result.parent_name) { + t += '' + result.parent_name + ''; + } + t += '
'; + return t; + } + + $typeahead.one('focus', function() { + $form.addClass('loading'); + + $.getJSON(searchURL).then(function(searchData) { + const searchIndex = lunr(function() { + this.ref('url'); + this.field('name'); + this.field('abstract'); + for (const [url, doc] of Object.entries(searchData)) { + this.add({url: url, name: doc.name, abstract: doc.abstract}); + } + }); + + $typeahead.typeahead( + { + highlight: true, + minLength: 3, + autoselect: true + }, + { + limit: 10, + display: displayTemplate, + templates: { suggestion: suggestionTemplate }, + source: function(query, sync) { + const lcSearch = query.toLowerCase(); + const results = searchIndex.query(function(q) { + q.term(lcSearch, { boost: 100 }); + q.term(lcSearch, { + boost: 10, + wildcard: lunr.Query.wildcard.TRAILING + }); + }).map(function(result) { + var doc = searchData[result.ref]; + doc.url = result.ref; + return doc; + }); + sync(results); + } + } + ); + $form.removeClass('loading'); + $typeahead.trigger('focus'); + }); + }); + + var baseURL = searchURL.slice(0, -"search.json".length); + + $typeahead.on('typeahead:select', function(e, result) { + window.location = baseURL + result.url; + }); +}); diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/js/jquery.min.js b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/js/jquery.min.js new file mode 100644 index 000000000..c4c6022f2 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/js/jquery.min.js @@ -0,0 +1,2 @@ +/*! jQuery v3.6.0 | (c) OpenJS Foundation and other contributors | jquery.org/license */ +!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";var t=[],r=Object.getPrototypeOf,s=t.slice,g=t.flat?function(e){return t.flat.call(e)}:function(e){return t.concat.apply([],e)},u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType&&"function"!=typeof e.item},x=function(e){return null!=e&&e===e.window},E=C.document,c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.6.0",S=function(e,t){return new S.fn.init(e,t)};function p(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp(F),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+F),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\([^\\r\\n\\f])","g"),ne=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(p.childNodes),p.childNodes),t[p.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&(T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!N[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&(U.test(t)||z.test(t))){(f=ee.test(t)&&ye(e.parentNode)||e)===e&&d.scope||((s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=S)),o=(l=h(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+xe(l[o]);c=l.join(",")}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){N(t,!0)}finally{s===S&&e.removeAttribute("id")}}}return g(t.replace($,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[S]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e&&e.namespaceURI,n=e&&(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:p;return r!=C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),p!=C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.scope=ce(function(e){return a.appendChild(e).appendChild(C.createElement("div")),"undefined"!=typeof e.querySelectorAll&&!e.querySelectorAll(":scope fieldset div").length}),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=S,!C.getElementsByName||!C.getElementsByName(S).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){var t;a.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+S+"-]").length||v.push("~="),(t=C.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||v.push("\\["+M+"*name"+M+"*="+M+"*(?:''|\"\")"),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+S+"+*").length||v.push(".#.+[+~]"),e.querySelectorAll("\\\f"),v.push("[\\r\\n\\f]")}),ce(function(e){e.innerHTML="";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",F)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},j=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e==C||e.ownerDocument==p&&y(p,e)?-1:t==C||t.ownerDocument==p&&y(p,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e==C?-1:t==C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]==p?-1:s[r]==p?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if(T(e),d.matchesSelector&&E&&!N[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){N(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=m[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&m(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,n,r){return m(n)?S.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?S.grep(e,function(e){return e===n!==r}):"string"!=typeof n?S.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(S.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||D,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:q.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof S?t[0]:t,S.merge(this,S.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),N.test(r[1])&&S.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(S):S.makeArray(e,this)}).prototype=S.fn,D=S(E);var L=/^(?:parents|prev(?:Until|All))/,H={children:!0,contents:!0,next:!0,prev:!0};function O(e,t){while((e=e[t])&&1!==e.nodeType);return e}S.fn.extend({has:function(e){var t=S(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i;ce=E.createDocumentFragment().appendChild(E.createElement("div")),(fe=E.createElement("input")).setAttribute("type","radio"),fe.setAttribute("checked","checked"),fe.setAttribute("name","t"),ce.appendChild(fe),y.checkClone=ce.cloneNode(!0).cloneNode(!0).lastChild.checked,ce.innerHTML="",y.noCloneChecked=!!ce.cloneNode(!0).lastChild.defaultValue,ce.innerHTML="",y.option=!!ce.lastChild;var ge={thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};function ve(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?S.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;n",""]);var me=/<|&#?\w+;/;function xe(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d\s*$/g;function je(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&S(e).children("tbody")[0]||e}function De(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function qe(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Le(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(Y.hasData(e)&&(s=Y.get(e).events))for(i in Y.remove(t,"handle events"),s)for(n=0,r=s[i].length;n").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var _t,zt=[],Ut=/(=)\?(?=&|$)|\?\?/;S.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=zt.pop()||S.expando+"_"+wt.guid++;return this[e]=!0,e}}),S.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Ut.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Ut.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Ut,"$1"+r):!1!==e.jsonp&&(e.url+=(Tt.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||S.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?S(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,zt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((_t=E.implementation.createHTMLDocument("").body).innerHTML="
",2===_t.childNodes.length),S.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=N.exec(e))?[t.createElement(i[1])]:(i=xe([e],t,o),o&&o.length&&S(o).remove(),S.merge([],i.childNodes)));var r,i,o},S.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1").append(S.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},S.expr.pseudos.animated=function(t){return S.grep(S.timers,function(e){return t===e.elem}).length},S.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=S.css(e,"position"),c=S(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=S.css(e,"top"),u=S.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,S.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},S.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){S.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===S.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===S.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=S(e).offset()).top+=S.css(e,"borderTopWidth",!0),i.left+=S.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-S.css(r,"marginTop",!0),left:t.left-i.left-S.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===S.css(e,"position"))e=e.offsetParent;return e||re})}}),S.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;S.fn[t]=function(e){return $(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),S.each(["top","left"],function(e,n){S.cssHooks[n]=Fe(y.pixelPosition,function(e,t){if(t)return t=We(e,n),Pe.test(t)?S(e).position()[n]+"px":t})}),S.each({Height:"height",Width:"width"},function(a,s){S.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){S.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return $(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?S.css(e,t,i):S.style(e,t,n,i)},s,n?e:void 0,n)}})}),S.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){S.fn[t]=function(e){return this.on(t,e)}}),S.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),S.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){S.fn[n]=function(e,t){return 00){var c=e.utils.clone(r)||{};c.position=[a,l],c.index=s.length,s.push(new e.Token(i.slice(a,o),c))}a=o+1}}return s},e.tokenizer.separator=/[\s\-]+/,e.Pipeline=function(){this._stack=[]},e.Pipeline.registeredFunctions=Object.create(null),e.Pipeline.registerFunction=function(t,r){r in this.registeredFunctions&&e.utils.warn("Overwriting existing registered function: "+r),t.label=r,e.Pipeline.registeredFunctions[t.label]=t},e.Pipeline.warnIfFunctionNotRegistered=function(t){var r=t.label&&t.label in this.registeredFunctions;r||e.utils.warn("Function is not registered with pipeline. This may cause problems when serialising the index.\n",t)},e.Pipeline.load=function(t){var r=new e.Pipeline;return t.forEach(function(t){var i=e.Pipeline.registeredFunctions[t];if(!i)throw new Error("Cannot load unregistered function: "+t);r.add(i)}),r},e.Pipeline.prototype.add=function(){var t=Array.prototype.slice.call(arguments);t.forEach(function(t){e.Pipeline.warnIfFunctionNotRegistered(t),this._stack.push(t)},this)},e.Pipeline.prototype.after=function(t,r){e.Pipeline.warnIfFunctionNotRegistered(r);var i=this._stack.indexOf(t);if(i==-1)throw new Error("Cannot find existingFn");i+=1,this._stack.splice(i,0,r)},e.Pipeline.prototype.before=function(t,r){e.Pipeline.warnIfFunctionNotRegistered(r);var i=this._stack.indexOf(t);if(i==-1)throw new Error("Cannot find existingFn");this._stack.splice(i,0,r)},e.Pipeline.prototype.remove=function(e){var t=this._stack.indexOf(e);t!=-1&&this._stack.splice(t,1)},e.Pipeline.prototype.run=function(e){for(var t=this._stack.length,r=0;r1&&(se&&(r=n),s!=e);)i=r-t,n=t+Math.floor(i/2),s=this.elements[2*n];return s==e?2*n:s>e?2*n:sa?l+=2:o==a&&(t+=r[u+1]*i[l+1],u+=2,l+=2);return t},e.Vector.prototype.similarity=function(e){return this.dot(e)/this.magnitude()||0},e.Vector.prototype.toArray=function(){for(var e=new Array(this.elements.length/2),t=1,r=0;t0){var o,a=s.str.charAt(0);a in s.node.edges?o=s.node.edges[a]:(o=new e.TokenSet,s.node.edges[a]=o),1==s.str.length&&(o["final"]=!0),n.push({node:o,editsRemaining:s.editsRemaining,str:s.str.slice(1)})}if(0!=s.editsRemaining){if("*"in s.node.edges)var u=s.node.edges["*"];else{var u=new e.TokenSet;s.node.edges["*"]=u}if(0==s.str.length&&(u["final"]=!0),n.push({node:u,editsRemaining:s.editsRemaining-1,str:s.str}),s.str.length>1&&n.push({node:s.node,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)}),1==s.str.length&&(s.node["final"]=!0),s.str.length>=1){if("*"in s.node.edges)var l=s.node.edges["*"];else{var l=new e.TokenSet;s.node.edges["*"]=l}1==s.str.length&&(l["final"]=!0),n.push({node:l,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)})}if(s.str.length>1){var c,h=s.str.charAt(0),d=s.str.charAt(1);d in s.node.edges?c=s.node.edges[d]:(c=new e.TokenSet,s.node.edges[d]=c),1==s.str.length&&(c["final"]=!0),n.push({node:c,editsRemaining:s.editsRemaining-1,str:h+s.str.slice(2)})}}}return i},e.TokenSet.fromString=function(t){for(var r=new e.TokenSet,i=r,n=0,s=t.length;n=e;t--){var r=this.uncheckedNodes[t],i=r.child.toString();i in this.minimizedNodes?r.parent.edges[r["char"]]=this.minimizedNodes[i]:(r.child._str=i,this.minimizedNodes[i]=r.child),this.uncheckedNodes.pop()}},e.Index=function(e){this.invertedIndex=e.invertedIndex,this.fieldVectors=e.fieldVectors,this.tokenSet=e.tokenSet,this.fields=e.fields,this.pipeline=e.pipeline},e.Index.prototype.search=function(t){return this.query(function(r){var i=new e.QueryParser(t,r);i.parse()})},e.Index.prototype.query=function(t){for(var r=new e.Query(this.fields),i=Object.create(null),n=Object.create(null),s=Object.create(null),o=Object.create(null),a=Object.create(null),u=0;u1?this._b=1:this._b=e},e.Builder.prototype.k1=function(e){this._k1=e},e.Builder.prototype.add=function(t,r){var i=t[this._ref],n=Object.keys(this._fields);this._documents[i]=r||{},this.documentCount+=1;for(var s=0;s=this.length)return e.QueryLexer.EOS;var t=this.str.charAt(this.pos);return this.pos+=1,t},e.QueryLexer.prototype.width=function(){return this.pos-this.start},e.QueryLexer.prototype.ignore=function(){this.start==this.pos&&(this.pos+=1),this.start=this.pos},e.QueryLexer.prototype.backup=function(){this.pos-=1},e.QueryLexer.prototype.acceptDigitRun=function(){var t,r;do t=this.next(),r=t.charCodeAt(0);while(r>47&&r<58);t!=e.QueryLexer.EOS&&this.backup()},e.QueryLexer.prototype.more=function(){return this.pos1&&(t.backup(),t.emit(e.QueryLexer.TERM)),t.ignore(),t.more())return e.QueryLexer.lexText},e.QueryLexer.lexEditDistance=function(t){return t.ignore(),t.acceptDigitRun(),t.emit(e.QueryLexer.EDIT_DISTANCE),e.QueryLexer.lexText},e.QueryLexer.lexBoost=function(t){return t.ignore(),t.acceptDigitRun(),t.emit(e.QueryLexer.BOOST),e.QueryLexer.lexText},e.QueryLexer.lexEOS=function(t){t.width()>0&&t.emit(e.QueryLexer.TERM)},e.QueryLexer.termSeparator=e.tokenizer.separator,e.QueryLexer.lexText=function(t){for(;;){var r=t.next();if(r==e.QueryLexer.EOS)return e.QueryLexer.lexEOS;if(92!=r.charCodeAt(0)){if(":"==r)return e.QueryLexer.lexField;if("~"==r)return t.backup(),t.width()>0&&t.emit(e.QueryLexer.TERM),e.QueryLexer.lexEditDistance;if("^"==r)return t.backup(),t.width()>0&&t.emit(e.QueryLexer.TERM),e.QueryLexer.lexBoost;if("+"==r&&1===t.width())return t.emit(e.QueryLexer.PRESENCE),e.QueryLexer.lexText;if("-"==r&&1===t.width())return t.emit(e.QueryLexer.PRESENCE),e.QueryLexer.lexText;if(r.match(e.QueryLexer.termSeparator))return e.QueryLexer.lexTerm}else t.escapeCharacter()}},e.QueryParser=function(t,r){this.lexer=new e.QueryLexer(t),this.query=r,this.currentClause={},this.lexemeIdx=0},e.QueryParser.prototype.parse=function(){this.lexer.run(),this.lexemes=this.lexer.lexemes;for(var t=e.QueryParser.parseClause;t;)t=t(this);return this.query},e.QueryParser.prototype.peekLexeme=function(){return this.lexemes[this.lexemeIdx]},e.QueryParser.prototype.consumeLexeme=function(){var e=this.peekLexeme();return this.lexemeIdx+=1,e},e.QueryParser.prototype.nextClause=function(){var e=this.currentClause;this.query.clause(e),this.currentClause={}},e.QueryParser.parseClause=function(t){var r=t.peekLexeme();if(void 0!=r)switch(r.type){case e.QueryLexer.PRESENCE:return e.QueryParser.parsePresence;case e.QueryLexer.FIELD:return e.QueryParser.parseField;case e.QueryLexer.TERM:return e.QueryParser.parseTerm;default:var i="expected either a field or a term, found "+r.type;throw r.str.length>=1&&(i+=" with value '"+r.str+"'"),new e.QueryParseError(i,r.start,r.end)}},e.QueryParser.parsePresence=function(t){var r=t.consumeLexeme();if(void 0!=r){switch(r.str){case"-":t.currentClause.presence=e.Query.presence.PROHIBITED;break;case"+":t.currentClause.presence=e.Query.presence.REQUIRED;break;default:var i="unrecognised presence operator'"+r.str+"'";throw new e.QueryParseError(i,r.start,r.end)}var n=t.peekLexeme();if(void 0==n){var i="expecting term or field, found nothing";throw new e.QueryParseError(i,r.start,r.end)}switch(n.type){case e.QueryLexer.FIELD:return e.QueryParser.parseField;case e.QueryLexer.TERM:return e.QueryParser.parseTerm;default:var i="expecting term or field, found '"+n.type+"'";throw new e.QueryParseError(i,n.start,n.end)}}},e.QueryParser.parseField=function(t){var r=t.consumeLexeme();if(void 0!=r){if(t.query.allFields.indexOf(r.str)==-1){var i=t.query.allFields.map(function(e){return"'"+e+"'"}).join(", "),n="unrecognised field '"+r.str+"', possible fields: "+i;throw new e.QueryParseError(n,r.start,r.end)}t.currentClause.fields=[r.str];var s=t.peekLexeme();if(void 0==s){var n="expecting term, found nothing";throw new e.QueryParseError(n,r.start,r.end)}switch(s.type){case e.QueryLexer.TERM:return e.QueryParser.parseTerm;default:var n="expecting term, found '"+s.type+"'";throw new e.QueryParseError(n,s.start,s.end)}}},e.QueryParser.parseTerm=function(t){var r=t.consumeLexeme();if(void 0!=r){t.currentClause.term=r.str.toLowerCase(),r.str.indexOf("*")!=-1&&(t.currentClause.usePipeline=!1);var i=t.peekLexeme();if(void 0==i)return void t.nextClause();switch(i.type){case e.QueryLexer.TERM:return t.nextClause(),e.QueryParser.parseTerm;case e.QueryLexer.FIELD:return t.nextClause(),e.QueryParser.parseField;case e.QueryLexer.EDIT_DISTANCE:return e.QueryParser.parseEditDistance;case e.QueryLexer.BOOST:return e.QueryParser.parseBoost;case e.QueryLexer.PRESENCE:return t.nextClause(),e.QueryParser.parsePresence;default:var n="Unexpected lexeme type '"+i.type+"'";throw new e.QueryParseError(n,i.start,i.end)}}},e.QueryParser.parseEditDistance=function(t){var r=t.consumeLexeme();if(void 0!=r){var i=parseInt(r.str,10);if(isNaN(i)){var n="edit distance must be numeric";throw new e.QueryParseError(n,r.start,r.end)}t.currentClause.editDistance=i;var s=t.peekLexeme();if(void 0==s)return void t.nextClause();switch(s.type){case e.QueryLexer.TERM:return t.nextClause(),e.QueryParser.parseTerm;case e.QueryLexer.FIELD:return t.nextClause(),e.QueryParser.parseField;case e.QueryLexer.EDIT_DISTANCE:return e.QueryParser.parseEditDistance;case e.QueryLexer.BOOST:return e.QueryParser.parseBoost;case e.QueryLexer.PRESENCE:return t.nextClause(),e.QueryParser.parsePresence;default:var n="Unexpected lexeme type '"+s.type+"'";throw new e.QueryParseError(n,s.start,s.end)}}},e.QueryParser.parseBoost=function(t){var r=t.consumeLexeme();if(void 0!=r){var i=parseInt(r.str,10);if(isNaN(i)){var n="boost must be numeric";throw new e.QueryParseError(n,r.start,r.end)}t.currentClause.boost=i;var s=t.peekLexeme();if(void 0==s)return void t.nextClause();switch(s.type){case e.QueryLexer.TERM:return t.nextClause(),e.QueryParser.parseTerm;case e.QueryLexer.FIELD:return t.nextClause(),e.QueryParser.parseField;case e.QueryLexer.EDIT_DISTANCE:return e.QueryParser.parseEditDistance;case e.QueryLexer.BOOST:return e.QueryParser.parseBoost;case e.QueryLexer.PRESENCE:return t.nextClause(),e.QueryParser.parsePresence;default:var n="Unexpected lexeme type '"+s.type+"'";throw new e.QueryParseError(n,s.start,s.end)}}},function(e,t){"function"==typeof define&&define.amd?define(t):"object"==typeof exports?module.exports=t():e.lunr=t()}(this,function(){return e})}(); diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/js/typeahead.jquery.js b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/js/typeahead.jquery.js new file mode 100644 index 000000000..3a2d2ab03 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/js/typeahead.jquery.js @@ -0,0 +1,1694 @@ +/*! + * typeahead.js 1.3.1 + * https://github.com/corejavascript/typeahead.js + * Copyright 2013-2020 Twitter, Inc. and other contributors; Licensed MIT + */ + + +(function(root, factory) { + if (typeof define === "function" && define.amd) { + define([ "jquery" ], function(a0) { + return factory(a0); + }); + } else if (typeof module === "object" && module.exports) { + module.exports = factory(require("jquery")); + } else { + factory(root["jQuery"]); + } +})(this, function($) { + var _ = function() { + "use strict"; + return { + isMsie: function() { + return /(msie|trident)/i.test(navigator.userAgent) ? navigator.userAgent.match(/(msie |rv:)(\d+(.\d+)?)/i)[2] : false; + }, + isBlankString: function(str) { + return !str || /^\s*$/.test(str); + }, + escapeRegExChars: function(str) { + return str.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, "\\$&"); + }, + isString: function(obj) { + return typeof obj === "string"; + }, + isNumber: function(obj) { + return typeof obj === "number"; + }, + isArray: $.isArray, + isFunction: $.isFunction, + isObject: $.isPlainObject, + isUndefined: function(obj) { + return typeof obj === "undefined"; + }, + isElement: function(obj) { + return !!(obj && obj.nodeType === 1); + }, + isJQuery: function(obj) { + return obj instanceof $; + }, + toStr: function toStr(s) { + return _.isUndefined(s) || s === null ? "" : s + ""; + }, + bind: $.proxy, + each: function(collection, cb) { + $.each(collection, reverseArgs); + function reverseArgs(index, value) { + return cb(value, index); + } + }, + map: $.map, + filter: $.grep, + every: function(obj, test) { + var result = true; + if (!obj) { + return result; + } + $.each(obj, function(key, val) { + if (!(result = test.call(null, val, key, obj))) { + return false; + } + }); + return !!result; + }, + some: function(obj, test) { + var result = false; + if (!obj) { + return result; + } + $.each(obj, function(key, val) { + if (result = test.call(null, val, key, obj)) { + return false; + } + }); + return !!result; + }, + mixin: $.extend, + identity: function(x) { + return x; + }, + clone: function(obj) { + return $.extend(true, {}, obj); + }, + getIdGenerator: function() { + var counter = 0; + return function() { + return counter++; + }; + }, + templatify: function templatify(obj) { + return $.isFunction(obj) ? obj : template; + function template() { + return String(obj); + } + }, + defer: function(fn) { + setTimeout(fn, 0); + }, + debounce: function(func, wait, immediate) { + var timeout, result; + return function() { + var context = this, args = arguments, later, callNow; + later = function() { + timeout = null; + if (!immediate) { + result = func.apply(context, args); + } + }; + callNow = immediate && !timeout; + clearTimeout(timeout); + timeout = setTimeout(later, wait); + if (callNow) { + result = func.apply(context, args); + } + return result; + }; + }, + throttle: function(func, wait) { + var context, args, timeout, result, previous, later; + previous = 0; + later = function() { + previous = new Date(); + timeout = null; + result = func.apply(context, args); + }; + return function() { + var now = new Date(), remaining = wait - (now - previous); + context = this; + args = arguments; + if (remaining <= 0) { + clearTimeout(timeout); + timeout = null; + previous = now; + result = func.apply(context, args); + } else if (!timeout) { + timeout = setTimeout(later, remaining); + } + return result; + }; + }, + stringify: function(val) { + return _.isString(val) ? val : JSON.stringify(val); + }, + guid: function() { + function _p8(s) { + var p = (Math.random().toString(16) + "000000000").substr(2, 8); + return s ? "-" + p.substr(0, 4) + "-" + p.substr(4, 4) : p; + } + return "tt-" + _p8() + _p8(true) + _p8(true) + _p8(); + }, + noop: function() {} + }; + }(); + var WWW = function() { + "use strict"; + var defaultClassNames = { + wrapper: "twitter-typeahead", + input: "tt-input", + hint: "tt-hint", + menu: "tt-menu", + dataset: "tt-dataset", + suggestion: "tt-suggestion", + selectable: "tt-selectable", + empty: "tt-empty", + open: "tt-open", + cursor: "tt-cursor", + highlight: "tt-highlight" + }; + return build; + function build(o) { + var www, classes; + classes = _.mixin({}, defaultClassNames, o); + www = { + css: buildCss(), + classes: classes, + html: buildHtml(classes), + selectors: buildSelectors(classes) + }; + return { + css: www.css, + html: www.html, + classes: www.classes, + selectors: www.selectors, + mixin: function(o) { + _.mixin(o, www); + } + }; + } + function buildHtml(c) { + return { + wrapper: '', + menu: '
' + }; + } + function buildSelectors(classes) { + var selectors = {}; + _.each(classes, function(v, k) { + selectors[k] = "." + v; + }); + return selectors; + } + function buildCss() { + var css = { + wrapper: { + position: "relative", + display: "inline-block" + }, + hint: { + position: "absolute", + top: "0", + left: "0", + borderColor: "transparent", + boxShadow: "none", + opacity: "1" + }, + input: { + position: "relative", + verticalAlign: "top", + backgroundColor: "transparent" + }, + inputWithNoHint: { + position: "relative", + verticalAlign: "top" + }, + menu: { + position: "absolute", + top: "100%", + left: "0", + zIndex: "100", + display: "none" + }, + ltr: { + left: "0", + right: "auto" + }, + rtl: { + left: "auto", + right: " 0" + } + }; + if (_.isMsie()) { + _.mixin(css.input, { + backgroundImage: "url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)" + }); + } + return css; + } + }(); + var EventBus = function() { + "use strict"; + var namespace, deprecationMap; + namespace = "typeahead:"; + deprecationMap = { + render: "rendered", + cursorchange: "cursorchanged", + select: "selected", + autocomplete: "autocompleted" + }; + function EventBus(o) { + if (!o || !o.el) { + $.error("EventBus initialized without el"); + } + this.$el = $(o.el); + } + _.mixin(EventBus.prototype, { + _trigger: function(type, args) { + var $e = $.Event(namespace + type); + this.$el.trigger.call(this.$el, $e, args || []); + return $e; + }, + before: function(type) { + var args, $e; + args = [].slice.call(arguments, 1); + $e = this._trigger("before" + type, args); + return $e.isDefaultPrevented(); + }, + trigger: function(type) { + var deprecatedType; + this._trigger(type, [].slice.call(arguments, 1)); + if (deprecatedType = deprecationMap[type]) { + this._trigger(deprecatedType, [].slice.call(arguments, 1)); + } + } + }); + return EventBus; + }(); + var EventEmitter = function() { + "use strict"; + var splitter = /\s+/, nextTick = getNextTick(); + return { + onSync: onSync, + onAsync: onAsync, + off: off, + trigger: trigger + }; + function on(method, types, cb, context) { + var type; + if (!cb) { + return this; + } + types = types.split(splitter); + cb = context ? bindContext(cb, context) : cb; + this._callbacks = this._callbacks || {}; + while (type = types.shift()) { + this._callbacks[type] = this._callbacks[type] || { + sync: [], + async: [] + }; + this._callbacks[type][method].push(cb); + } + return this; + } + function onAsync(types, cb, context) { + return on.call(this, "async", types, cb, context); + } + function onSync(types, cb, context) { + return on.call(this, "sync", types, cb, context); + } + function off(types) { + var type; + if (!this._callbacks) { + return this; + } + types = types.split(splitter); + while (type = types.shift()) { + delete this._callbacks[type]; + } + return this; + } + function trigger(types) { + var type, callbacks, args, syncFlush, asyncFlush; + if (!this._callbacks) { + return this; + } + types = types.split(splitter); + args = [].slice.call(arguments, 1); + while ((type = types.shift()) && (callbacks = this._callbacks[type])) { + syncFlush = getFlush(callbacks.sync, this, [ type ].concat(args)); + asyncFlush = getFlush(callbacks.async, this, [ type ].concat(args)); + syncFlush() && nextTick(asyncFlush); + } + return this; + } + function getFlush(callbacks, context, args) { + return flush; + function flush() { + var cancelled; + for (var i = 0, len = callbacks.length; !cancelled && i < len; i += 1) { + cancelled = callbacks[i].apply(context, args) === false; + } + return !cancelled; + } + } + function getNextTick() { + var nextTickFn; + if (window.setImmediate) { + nextTickFn = function nextTickSetImmediate(fn) { + setImmediate(function() { + fn(); + }); + }; + } else { + nextTickFn = function nextTickSetTimeout(fn) { + setTimeout(function() { + fn(); + }, 0); + }; + } + return nextTickFn; + } + function bindContext(fn, context) { + return fn.bind ? fn.bind(context) : function() { + fn.apply(context, [].slice.call(arguments, 0)); + }; + } + }(); + var highlight = function(doc) { + "use strict"; + var defaults = { + node: null, + pattern: null, + tagName: "strong", + className: null, + wordsOnly: false, + caseSensitive: false, + diacriticInsensitive: false + }; + var accented = { + A: "[AaªÀ-Åà-åĀ-ąǍǎȀ-ȃȦȧᴬᵃḀḁẚẠ-ảₐ℀℁℻⒜Ⓐⓐ㍱-㍴㎀-㎄㎈㎉㎩-㎯㏂㏊㏟㏿Aa]", + B: "[BbᴮᵇḂ-ḇℬ⒝Ⓑⓑ㍴㎅-㎇㏃㏈㏔㏝Bb]", + C: "[CcÇçĆ-čᶜ℀ℂ℃℅℆ℭⅭⅽ⒞Ⓒⓒ㍶㎈㎉㎝㎠㎤㏄-㏇Cc]", + D: "[DdĎďDŽ-džDZ-dzᴰᵈḊ-ḓⅅⅆⅮⅾ⒟Ⓓⓓ㋏㍲㍷-㍹㎗㎭-㎯㏅㏈Dd]", + E: "[EeÈ-Ëè-ëĒ-ěȄ-ȇȨȩᴱᵉḘ-ḛẸ-ẽₑ℡ℯℰⅇ⒠Ⓔⓔ㉐㋍㋎Ee]", + F: "[FfᶠḞḟ℉ℱ℻⒡Ⓕⓕ㎊-㎌㎙ff-fflFf]", + G: "[GgĜ-ģǦǧǴǵᴳᵍḠḡℊ⒢Ⓖⓖ㋌㋍㎇㎍-㎏㎓㎬㏆㏉㏒㏿Gg]", + H: "[HhĤĥȞȟʰᴴḢ-ḫẖℋ-ℎ⒣Ⓗⓗ㋌㍱㎐-㎔㏊㏋㏗Hh]", + I: "[IiÌ-Ïì-ïĨ-İIJijǏǐȈ-ȋᴵᵢḬḭỈ-ịⁱℐℑℹⅈⅠ-ⅣⅥ-ⅨⅪⅫⅰ-ⅳⅵ-ⅸⅺⅻ⒤Ⓘⓘ㍺㏌㏕fiffiIi]", + J: "[JjIJ-ĵLJ-njǰʲᴶⅉ⒥ⒿⓙⱼJj]", + K: "[KkĶķǨǩᴷᵏḰ-ḵK⒦Ⓚⓚ㎄㎅㎉㎏㎑㎘㎞㎢㎦㎪㎸㎾㏀㏆㏍-㏏Kk]", + L: "[LlĹ-ŀLJ-ljˡᴸḶḷḺ-ḽℒℓ℡Ⅼⅼ⒧Ⓛⓛ㋏㎈㎉㏐-㏓㏕㏖㏿flfflLl]", + M: "[MmᴹᵐḾ-ṃ℠™ℳⅯⅿ⒨Ⓜⓜ㍷-㍹㎃㎆㎎㎒㎖㎙-㎨㎫㎳㎷㎹㎽㎿㏁㏂㏎㏐㏔-㏖㏘㏙㏞㏟Mm]", + N: "[NnÑñŃ-ʼnNJ-njǸǹᴺṄ-ṋⁿℕ№⒩Ⓝⓝ㎁㎋㎚㎱㎵㎻㏌㏑Nn]", + O: "[OoºÒ-Öò-öŌ-őƠơǑǒǪǫȌ-ȏȮȯᴼᵒỌ-ỏₒ℅№ℴ⒪Ⓞⓞ㍵㏇㏒㏖Oo]", + P: "[PpᴾᵖṔ-ṗℙ⒫Ⓟⓟ㉐㍱㍶㎀㎊㎩-㎬㎰㎴㎺㏋㏗-㏚Pp]", + Q: "[Qqℚ⒬Ⓠⓠ㏃Qq]", + R: "[RrŔ-řȐ-ȓʳᴿᵣṘ-ṛṞṟ₨ℛ-ℝ⒭Ⓡⓡ㋍㍴㎭-㎯㏚㏛Rr]", + S: "[SsŚ-šſȘșˢṠ-ṣ₨℁℠⒮Ⓢⓢ㎧㎨㎮-㎳㏛㏜stSs]", + T: "[TtŢ-ťȚțᵀᵗṪ-ṱẗ℡™⒯Ⓣⓣ㉐㋏㎔㏏ſtstTt]", + U: "[UuÙ-Üù-üŨ-ųƯưǓǔȔ-ȗᵁᵘᵤṲ-ṷỤ-ủ℆⒰Ⓤⓤ㍳㍺Uu]", + V: "[VvᵛᵥṼ-ṿⅣ-Ⅷⅳ-ⅷ⒱Ⓥⓥⱽ㋎㍵㎴-㎹㏜㏞Vv]", + W: "[WwŴŵʷᵂẀ-ẉẘ⒲Ⓦⓦ㎺-㎿㏝Ww]", + X: "[XxˣẊ-ẍₓ℻Ⅸ-Ⅻⅸ-ⅻ⒳Ⓧⓧ㏓Xx]", + Y: "[YyÝýÿŶ-ŸȲȳʸẎẏẙỲ-ỹ⒴Ⓨⓨ㏉Yy]", + Z: "[ZzŹ-žDZ-dzᶻẐ-ẕℤℨ⒵Ⓩⓩ㎐-㎔Zz]" + }; + return function hightlight(o) { + var regex; + o = _.mixin({}, defaults, o); + if (!o.node || !o.pattern) { + return; + } + o.pattern = _.isArray(o.pattern) ? o.pattern : [ o.pattern ]; + regex = getRegex(o.pattern, o.caseSensitive, o.wordsOnly, o.diacriticInsensitive); + traverse(o.node, hightlightTextNode); + function hightlightTextNode(textNode) { + var match, patternNode, wrapperNode; + if (match = regex.exec(textNode.data)) { + wrapperNode = doc.createElement(o.tagName); + o.className && (wrapperNode.className = o.className); + patternNode = textNode.splitText(match.index); + patternNode.splitText(match[0].length); + wrapperNode.appendChild(patternNode.cloneNode(true)); + textNode.parentNode.replaceChild(wrapperNode, patternNode); + } + return !!match; + } + function traverse(el, hightlightTextNode) { + var childNode, TEXT_NODE_TYPE = 3; + for (var i = 0; i < el.childNodes.length; i++) { + childNode = el.childNodes[i]; + if (childNode.nodeType === TEXT_NODE_TYPE) { + i += hightlightTextNode(childNode) ? 1 : 0; + } else { + traverse(childNode, hightlightTextNode); + } + } + } + }; + function accent_replacer(chr) { + return accented[chr.toUpperCase()] || chr; + } + function getRegex(patterns, caseSensitive, wordsOnly, diacriticInsensitive) { + var escapedPatterns = [], regexStr; + for (var i = 0, len = patterns.length; i < len; i++) { + var escapedWord = _.escapeRegExChars(patterns[i]); + if (diacriticInsensitive) { + escapedWord = escapedWord.replace(/\S/g, accent_replacer); + } + escapedPatterns.push(escapedWord); + } + regexStr = wordsOnly ? "\\b(" + escapedPatterns.join("|") + ")\\b" : "(" + escapedPatterns.join("|") + ")"; + return caseSensitive ? new RegExp(regexStr) : new RegExp(regexStr, "i"); + } + }(window.document); + var Input = function() { + "use strict"; + var specialKeyCodeMap; + specialKeyCodeMap = { + 9: "tab", + 27: "esc", + 37: "left", + 39: "right", + 13: "enter", + 38: "up", + 40: "down" + }; + function Input(o, www) { + var id; + o = o || {}; + if (!o.input) { + $.error("input is missing"); + } + www.mixin(this); + this.$hint = $(o.hint); + this.$input = $(o.input); + this.$menu = $(o.menu); + id = this.$input.attr("id") || _.guid(); + this.$menu.attr("id", id + "_listbox"); + this.$hint.attr({ + "aria-hidden": true + }); + this.$input.attr({ + "aria-owns": id + "_listbox", + role: "combobox", + "aria-autocomplete": "list", + "aria-expanded": false + }); + this.query = this.$input.val(); + this.queryWhenFocused = this.hasFocus() ? this.query : null; + this.$overflowHelper = buildOverflowHelper(this.$input); + this._checkLanguageDirection(); + if (this.$hint.length === 0) { + this.setHint = this.getHint = this.clearHint = this.clearHintIfInvalid = _.noop; + } + this.onSync("cursorchange", this._updateDescendent); + } + Input.normalizeQuery = function(str) { + return _.toStr(str).replace(/^\s*/g, "").replace(/\s{2,}/g, " "); + }; + _.mixin(Input.prototype, EventEmitter, { + _onBlur: function onBlur() { + this.resetInputValue(); + this.trigger("blurred"); + }, + _onFocus: function onFocus() { + this.queryWhenFocused = this.query; + this.trigger("focused"); + }, + _onKeydown: function onKeydown($e) { + var keyName = specialKeyCodeMap[$e.which || $e.keyCode]; + this._managePreventDefault(keyName, $e); + if (keyName && this._shouldTrigger(keyName, $e)) { + this.trigger(keyName + "Keyed", $e); + } + }, + _onInput: function onInput() { + this._setQuery(this.getInputValue()); + this.clearHintIfInvalid(); + this._checkLanguageDirection(); + }, + _managePreventDefault: function managePreventDefault(keyName, $e) { + var preventDefault; + switch (keyName) { + case "up": + case "down": + preventDefault = !withModifier($e); + break; + + default: + preventDefault = false; + } + preventDefault && $e.preventDefault(); + }, + _shouldTrigger: function shouldTrigger(keyName, $e) { + var trigger; + switch (keyName) { + case "tab": + trigger = !withModifier($e); + break; + + default: + trigger = true; + } + return trigger; + }, + _checkLanguageDirection: function checkLanguageDirection() { + var dir = (this.$input.css("direction") || "ltr").toLowerCase(); + if (this.dir !== dir) { + this.dir = dir; + this.$hint.attr("dir", dir); + this.trigger("langDirChanged", dir); + } + }, + _setQuery: function setQuery(val, silent) { + var areEquivalent, hasDifferentWhitespace; + areEquivalent = areQueriesEquivalent(val, this.query); + hasDifferentWhitespace = areEquivalent ? this.query.length !== val.length : false; + this.query = val; + if (!silent && !areEquivalent) { + this.trigger("queryChanged", this.query); + } else if (!silent && hasDifferentWhitespace) { + this.trigger("whitespaceChanged", this.query); + } + }, + _updateDescendent: function updateDescendent(event, id) { + this.$input.attr("aria-activedescendant", id); + }, + bind: function() { + var that = this, onBlur, onFocus, onKeydown, onInput; + onBlur = _.bind(this._onBlur, this); + onFocus = _.bind(this._onFocus, this); + onKeydown = _.bind(this._onKeydown, this); + onInput = _.bind(this._onInput, this); + this.$input.on("blur.tt", onBlur).on("focus.tt", onFocus).on("keydown.tt", onKeydown); + if (!_.isMsie() || _.isMsie() > 9) { + this.$input.on("input.tt", onInput); + } else { + this.$input.on("keydown.tt keypress.tt cut.tt paste.tt", function($e) { + if (specialKeyCodeMap[$e.which || $e.keyCode]) { + return; + } + _.defer(_.bind(that._onInput, that, $e)); + }); + } + return this; + }, + focus: function focus() { + this.$input.focus(); + }, + blur: function blur() { + this.$input.blur(); + }, + getLangDir: function getLangDir() { + return this.dir; + }, + getQuery: function getQuery() { + return this.query || ""; + }, + setQuery: function setQuery(val, silent) { + this.setInputValue(val); + this._setQuery(val, silent); + }, + hasQueryChangedSinceLastFocus: function hasQueryChangedSinceLastFocus() { + return this.query !== this.queryWhenFocused; + }, + getInputValue: function getInputValue() { + return this.$input.val(); + }, + setInputValue: function setInputValue(value) { + this.$input.val(value); + this.clearHintIfInvalid(); + this._checkLanguageDirection(); + }, + resetInputValue: function resetInputValue() { + this.setInputValue(this.query); + }, + getHint: function getHint() { + return this.$hint.val(); + }, + setHint: function setHint(value) { + this.$hint.val(value); + }, + clearHint: function clearHint() { + this.setHint(""); + }, + clearHintIfInvalid: function clearHintIfInvalid() { + var val, hint, valIsPrefixOfHint, isValid; + val = this.getInputValue(); + hint = this.getHint(); + valIsPrefixOfHint = val !== hint && hint.indexOf(val) === 0; + isValid = val !== "" && valIsPrefixOfHint && !this.hasOverflow(); + !isValid && this.clearHint(); + }, + hasFocus: function hasFocus() { + return this.$input.is(":focus"); + }, + hasOverflow: function hasOverflow() { + var constraint = this.$input.width() - 2; + this.$overflowHelper.text(this.getInputValue()); + return this.$overflowHelper.width() >= constraint; + }, + isCursorAtEnd: function() { + var valueLength, selectionStart, range; + valueLength = this.$input.val().length; + selectionStart = this.$input[0].selectionStart; + if (_.isNumber(selectionStart)) { + return selectionStart === valueLength; + } else if (document.selection) { + range = document.selection.createRange(); + range.moveStart("character", -valueLength); + return valueLength === range.text.length; + } + return true; + }, + destroy: function destroy() { + this.$hint.off(".tt"); + this.$input.off(".tt"); + this.$overflowHelper.remove(); + this.$hint = this.$input = this.$overflowHelper = $("
"); + }, + setAriaExpanded: function setAriaExpanded(value) { + this.$input.attr("aria-expanded", value); + } + }); + return Input; + function buildOverflowHelper($input) { + return $('').css({ + position: "absolute", + visibility: "hidden", + whiteSpace: "pre", + fontFamily: $input.css("font-family"), + fontSize: $input.css("font-size"), + fontStyle: $input.css("font-style"), + fontVariant: $input.css("font-variant"), + fontWeight: $input.css("font-weight"), + wordSpacing: $input.css("word-spacing"), + letterSpacing: $input.css("letter-spacing"), + textIndent: $input.css("text-indent"), + textRendering: $input.css("text-rendering"), + textTransform: $input.css("text-transform") + }).insertAfter($input); + } + function areQueriesEquivalent(a, b) { + return Input.normalizeQuery(a) === Input.normalizeQuery(b); + } + function withModifier($e) { + return $e.altKey || $e.ctrlKey || $e.metaKey || $e.shiftKey; + } + }(); + var Dataset = function() { + "use strict"; + var keys, nameGenerator; + keys = { + dataset: "tt-selectable-dataset", + val: "tt-selectable-display", + obj: "tt-selectable-object" + }; + nameGenerator = _.getIdGenerator(); + function Dataset(o, www) { + o = o || {}; + o.templates = o.templates || {}; + o.templates.notFound = o.templates.notFound || o.templates.empty; + if (!o.source) { + $.error("missing source"); + } + if (!o.node) { + $.error("missing node"); + } + if (o.name && !isValidName(o.name)) { + $.error("invalid dataset name: " + o.name); + } + www.mixin(this); + this.highlight = !!o.highlight; + this.name = _.toStr(o.name || nameGenerator()); + this.limit = o.limit || 5; + this.displayFn = getDisplayFn(o.display || o.displayKey); + this.templates = getTemplates(o.templates, this.displayFn); + this.source = o.source.__ttAdapter ? o.source.__ttAdapter() : o.source; + this.async = _.isUndefined(o.async) ? this.source.length > 2 : !!o.async; + this._resetLastSuggestion(); + this.$el = $(o.node).attr("role", "presentation").addClass(this.classes.dataset).addClass(this.classes.dataset + "-" + this.name); + } + Dataset.extractData = function extractData(el) { + var $el = $(el); + if ($el.data(keys.obj)) { + return { + dataset: $el.data(keys.dataset) || "", + val: $el.data(keys.val) || "", + obj: $el.data(keys.obj) || null + }; + } + return null; + }; + _.mixin(Dataset.prototype, EventEmitter, { + _overwrite: function overwrite(query, suggestions) { + suggestions = suggestions || []; + if (suggestions.length) { + this._renderSuggestions(query, suggestions); + } else if (this.async && this.templates.pending) { + this._renderPending(query); + } else if (!this.async && this.templates.notFound) { + this._renderNotFound(query); + } else { + this._empty(); + } + this.trigger("rendered", suggestions, false, this.name); + }, + _append: function append(query, suggestions) { + suggestions = suggestions || []; + if (suggestions.length && this.$lastSuggestion.length) { + this._appendSuggestions(query, suggestions); + } else if (suggestions.length) { + this._renderSuggestions(query, suggestions); + } else if (!this.$lastSuggestion.length && this.templates.notFound) { + this._renderNotFound(query); + } + this.trigger("rendered", suggestions, true, this.name); + }, + _renderSuggestions: function renderSuggestions(query, suggestions) { + var $fragment; + $fragment = this._getSuggestionsFragment(query, suggestions); + this.$lastSuggestion = $fragment.children().last(); + this.$el.html($fragment).prepend(this._getHeader(query, suggestions)).append(this._getFooter(query, suggestions)); + }, + _appendSuggestions: function appendSuggestions(query, suggestions) { + var $fragment, $lastSuggestion; + $fragment = this._getSuggestionsFragment(query, suggestions); + $lastSuggestion = $fragment.children().last(); + this.$lastSuggestion.after($fragment); + this.$lastSuggestion = $lastSuggestion; + }, + _renderPending: function renderPending(query) { + var template = this.templates.pending; + this._resetLastSuggestion(); + template && this.$el.html(template({ + query: query, + dataset: this.name + })); + }, + _renderNotFound: function renderNotFound(query) { + var template = this.templates.notFound; + this._resetLastSuggestion(); + template && this.$el.html(template({ + query: query, + dataset: this.name + })); + }, + _empty: function empty() { + this.$el.empty(); + this._resetLastSuggestion(); + }, + _getSuggestionsFragment: function getSuggestionsFragment(query, suggestions) { + var that = this, fragment; + fragment = document.createDocumentFragment(); + _.each(suggestions, function getSuggestionNode(suggestion) { + var $el, context; + context = that._injectQuery(query, suggestion); + $el = $(that.templates.suggestion(context)).data(keys.dataset, that.name).data(keys.obj, suggestion).data(keys.val, that.displayFn(suggestion)).addClass(that.classes.suggestion + " " + that.classes.selectable); + fragment.appendChild($el[0]); + }); + this.highlight && highlight({ + className: this.classes.highlight, + node: fragment, + pattern: query + }); + return $(fragment); + }, + _getFooter: function getFooter(query, suggestions) { + return this.templates.footer ? this.templates.footer({ + query: query, + suggestions: suggestions, + dataset: this.name + }) : null; + }, + _getHeader: function getHeader(query, suggestions) { + return this.templates.header ? this.templates.header({ + query: query, + suggestions: suggestions, + dataset: this.name + }) : null; + }, + _resetLastSuggestion: function resetLastSuggestion() { + this.$lastSuggestion = $(); + }, + _injectQuery: function injectQuery(query, obj) { + return _.isObject(obj) ? _.mixin({ + _query: query + }, obj) : obj; + }, + update: function update(query) { + var that = this, canceled = false, syncCalled = false, rendered = 0; + this.cancel(); + this.cancel = function cancel() { + canceled = true; + that.cancel = $.noop; + that.async && that.trigger("asyncCanceled", query, that.name); + }; + this.source(query, sync, async); + !syncCalled && sync([]); + function sync(suggestions) { + if (syncCalled) { + return; + } + syncCalled = true; + suggestions = (suggestions || []).slice(0, that.limit); + rendered = suggestions.length; + that._overwrite(query, suggestions); + if (rendered < that.limit && that.async) { + that.trigger("asyncRequested", query, that.name); + } + } + function async(suggestions) { + suggestions = suggestions || []; + if (!canceled && rendered < that.limit) { + that.cancel = $.noop; + var idx = Math.abs(rendered - that.limit); + rendered += idx; + that._append(query, suggestions.slice(0, idx)); + that.async && that.trigger("asyncReceived", query, that.name); + } + } + }, + cancel: $.noop, + clear: function clear() { + this._empty(); + this.cancel(); + this.trigger("cleared"); + }, + isEmpty: function isEmpty() { + return this.$el.is(":empty"); + }, + destroy: function destroy() { + this.$el = $("
"); + } + }); + return Dataset; + function getDisplayFn(display) { + display = display || _.stringify; + return _.isFunction(display) ? display : displayFn; + function displayFn(obj) { + return obj[display]; + } + } + function getTemplates(templates, displayFn) { + return { + notFound: templates.notFound && _.templatify(templates.notFound), + pending: templates.pending && _.templatify(templates.pending), + header: templates.header && _.templatify(templates.header), + footer: templates.footer && _.templatify(templates.footer), + suggestion: templates.suggestion ? userSuggestionTemplate : suggestionTemplate + }; + function userSuggestionTemplate(context) { + var template = templates.suggestion; + return $(template(context)).attr("id", _.guid()); + } + function suggestionTemplate(context) { + return $('
').attr("id", _.guid()).text(displayFn(context)); + } + } + function isValidName(str) { + return /^[_a-zA-Z0-9-]+$/.test(str); + } + }(); + var Menu = function() { + "use strict"; + function Menu(o, www) { + var that = this; + o = o || {}; + if (!o.node) { + $.error("node is required"); + } + www.mixin(this); + this.$node = $(o.node); + this.query = null; + this.datasets = _.map(o.datasets, initializeDataset); + function initializeDataset(oDataset) { + var node = that.$node.find(oDataset.node).first(); + oDataset.node = node.length ? node : $("
").appendTo(that.$node); + return new Dataset(oDataset, www); + } + } + _.mixin(Menu.prototype, EventEmitter, { + _onSelectableClick: function onSelectableClick($e) { + this.trigger("selectableClicked", $($e.currentTarget)); + }, + _onRendered: function onRendered(type, dataset, suggestions, async) { + this.$node.toggleClass(this.classes.empty, this._allDatasetsEmpty()); + this.trigger("datasetRendered", dataset, suggestions, async); + }, + _onCleared: function onCleared() { + this.$node.toggleClass(this.classes.empty, this._allDatasetsEmpty()); + this.trigger("datasetCleared"); + }, + _propagate: function propagate() { + this.trigger.apply(this, arguments); + }, + _allDatasetsEmpty: function allDatasetsEmpty() { + return _.every(this.datasets, _.bind(function isDatasetEmpty(dataset) { + var isEmpty = dataset.isEmpty(); + this.$node.attr("aria-expanded", !isEmpty); + return isEmpty; + }, this)); + }, + _getSelectables: function getSelectables() { + return this.$node.find(this.selectors.selectable); + }, + _removeCursor: function _removeCursor() { + var $selectable = this.getActiveSelectable(); + $selectable && $selectable.removeClass(this.classes.cursor); + }, + _ensureVisible: function ensureVisible($el) { + var elTop, elBottom, nodeScrollTop, nodeHeight; + elTop = $el.position().top; + elBottom = elTop + $el.outerHeight(true); + nodeScrollTop = this.$node.scrollTop(); + nodeHeight = this.$node.height() + parseInt(this.$node.css("paddingTop"), 10) + parseInt(this.$node.css("paddingBottom"), 10); + if (elTop < 0) { + this.$node.scrollTop(nodeScrollTop + elTop); + } else if (nodeHeight < elBottom) { + this.$node.scrollTop(nodeScrollTop + (elBottom - nodeHeight)); + } + }, + bind: function() { + var that = this, onSelectableClick; + onSelectableClick = _.bind(this._onSelectableClick, this); + this.$node.on("click.tt", this.selectors.selectable, onSelectableClick); + this.$node.on("mouseover", this.selectors.selectable, function() { + that.setCursor($(this)); + }); + this.$node.on("mouseleave", function() { + that._removeCursor(); + }); + _.each(this.datasets, function(dataset) { + dataset.onSync("asyncRequested", that._propagate, that).onSync("asyncCanceled", that._propagate, that).onSync("asyncReceived", that._propagate, that).onSync("rendered", that._onRendered, that).onSync("cleared", that._onCleared, that); + }); + return this; + }, + isOpen: function isOpen() { + return this.$node.hasClass(this.classes.open); + }, + open: function open() { + this.$node.scrollTop(0); + this.$node.addClass(this.classes.open); + }, + close: function close() { + this.$node.attr("aria-expanded", false); + this.$node.removeClass(this.classes.open); + this._removeCursor(); + }, + setLanguageDirection: function setLanguageDirection(dir) { + this.$node.attr("dir", dir); + }, + selectableRelativeToCursor: function selectableRelativeToCursor(delta) { + var $selectables, $oldCursor, oldIndex, newIndex; + $oldCursor = this.getActiveSelectable(); + $selectables = this._getSelectables(); + oldIndex = $oldCursor ? $selectables.index($oldCursor) : -1; + newIndex = oldIndex + delta; + newIndex = (newIndex + 1) % ($selectables.length + 1) - 1; + newIndex = newIndex < -1 ? $selectables.length - 1 : newIndex; + return newIndex === -1 ? null : $selectables.eq(newIndex); + }, + setCursor: function setCursor($selectable) { + this._removeCursor(); + if ($selectable = $selectable && $selectable.first()) { + $selectable.addClass(this.classes.cursor); + this._ensureVisible($selectable); + } + }, + getSelectableData: function getSelectableData($el) { + return $el && $el.length ? Dataset.extractData($el) : null; + }, + getActiveSelectable: function getActiveSelectable() { + var $selectable = this._getSelectables().filter(this.selectors.cursor).first(); + return $selectable.length ? $selectable : null; + }, + getTopSelectable: function getTopSelectable() { + var $selectable = this._getSelectables().first(); + return $selectable.length ? $selectable : null; + }, + update: function update(query) { + var isValidUpdate = query !== this.query; + if (isValidUpdate) { + this.query = query; + _.each(this.datasets, updateDataset); + } + return isValidUpdate; + function updateDataset(dataset) { + dataset.update(query); + } + }, + empty: function empty() { + _.each(this.datasets, clearDataset); + this.query = null; + this.$node.addClass(this.classes.empty); + function clearDataset(dataset) { + dataset.clear(); + } + }, + destroy: function destroy() { + this.$node.off(".tt"); + this.$node = $("
"); + _.each(this.datasets, destroyDataset); + function destroyDataset(dataset) { + dataset.destroy(); + } + } + }); + return Menu; + }(); + var Status = function() { + "use strict"; + function Status(options) { + this.$el = $("", { + role: "status", + "aria-live": "polite" + }).css({ + position: "absolute", + padding: "0", + border: "0", + height: "1px", + width: "1px", + "margin-bottom": "-1px", + "margin-right": "-1px", + overflow: "hidden", + clip: "rect(0 0 0 0)", + "white-space": "nowrap" + }); + options.$input.after(this.$el); + _.each(options.menu.datasets, _.bind(function(dataset) { + if (dataset.onSync) { + dataset.onSync("rendered", _.bind(this.update, this)); + dataset.onSync("cleared", _.bind(this.cleared, this)); + } + }, this)); + } + _.mixin(Status.prototype, { + update: function update(event, suggestions) { + var length = suggestions.length; + var words; + if (length === 1) { + words = { + result: "result", + is: "is" + }; + } else { + words = { + result: "results", + is: "are" + }; + } + this.$el.text(length + " " + words.result + " " + words.is + " available, use up and down arrow keys to navigate."); + }, + cleared: function() { + this.$el.text(""); + } + }); + return Status; + }(); + var DefaultMenu = function() { + "use strict"; + var s = Menu.prototype; + function DefaultMenu() { + Menu.apply(this, [].slice.call(arguments, 0)); + } + _.mixin(DefaultMenu.prototype, Menu.prototype, { + open: function open() { + !this._allDatasetsEmpty() && this._show(); + return s.open.apply(this, [].slice.call(arguments, 0)); + }, + close: function close() { + this._hide(); + return s.close.apply(this, [].slice.call(arguments, 0)); + }, + _onRendered: function onRendered() { + if (this._allDatasetsEmpty()) { + this._hide(); + } else { + this.isOpen() && this._show(); + } + return s._onRendered.apply(this, [].slice.call(arguments, 0)); + }, + _onCleared: function onCleared() { + if (this._allDatasetsEmpty()) { + this._hide(); + } else { + this.isOpen() && this._show(); + } + return s._onCleared.apply(this, [].slice.call(arguments, 0)); + }, + setLanguageDirection: function setLanguageDirection(dir) { + this.$node.css(dir === "ltr" ? this.css.ltr : this.css.rtl); + return s.setLanguageDirection.apply(this, [].slice.call(arguments, 0)); + }, + _hide: function hide() { + this.$node.hide(); + }, + _show: function show() { + this.$node.css("display", "block"); + } + }); + return DefaultMenu; + }(); + var Typeahead = function() { + "use strict"; + function Typeahead(o, www) { + var onFocused, onBlurred, onEnterKeyed, onTabKeyed, onEscKeyed, onUpKeyed, onDownKeyed, onLeftKeyed, onRightKeyed, onQueryChanged, onWhitespaceChanged; + o = o || {}; + if (!o.input) { + $.error("missing input"); + } + if (!o.menu) { + $.error("missing menu"); + } + if (!o.eventBus) { + $.error("missing event bus"); + } + www.mixin(this); + this.eventBus = o.eventBus; + this.minLength = _.isNumber(o.minLength) ? o.minLength : 1; + this.input = o.input; + this.menu = o.menu; + this.enabled = true; + this.autoselect = !!o.autoselect; + this.active = false; + this.input.hasFocus() && this.activate(); + this.dir = this.input.getLangDir(); + this._hacks(); + this.menu.bind().onSync("selectableClicked", this._onSelectableClicked, this).onSync("asyncRequested", this._onAsyncRequested, this).onSync("asyncCanceled", this._onAsyncCanceled, this).onSync("asyncReceived", this._onAsyncReceived, this).onSync("datasetRendered", this._onDatasetRendered, this).onSync("datasetCleared", this._onDatasetCleared, this); + onFocused = c(this, "activate", "open", "_onFocused"); + onBlurred = c(this, "deactivate", "_onBlurred"); + onEnterKeyed = c(this, "isActive", "isOpen", "_onEnterKeyed"); + onTabKeyed = c(this, "isActive", "isOpen", "_onTabKeyed"); + onEscKeyed = c(this, "isActive", "_onEscKeyed"); + onUpKeyed = c(this, "isActive", "open", "_onUpKeyed"); + onDownKeyed = c(this, "isActive", "open", "_onDownKeyed"); + onLeftKeyed = c(this, "isActive", "isOpen", "_onLeftKeyed"); + onRightKeyed = c(this, "isActive", "isOpen", "_onRightKeyed"); + onQueryChanged = c(this, "_openIfActive", "_onQueryChanged"); + onWhitespaceChanged = c(this, "_openIfActive", "_onWhitespaceChanged"); + this.input.bind().onSync("focused", onFocused, this).onSync("blurred", onBlurred, this).onSync("enterKeyed", onEnterKeyed, this).onSync("tabKeyed", onTabKeyed, this).onSync("escKeyed", onEscKeyed, this).onSync("upKeyed", onUpKeyed, this).onSync("downKeyed", onDownKeyed, this).onSync("leftKeyed", onLeftKeyed, this).onSync("rightKeyed", onRightKeyed, this).onSync("queryChanged", onQueryChanged, this).onSync("whitespaceChanged", onWhitespaceChanged, this).onSync("langDirChanged", this._onLangDirChanged, this); + } + _.mixin(Typeahead.prototype, { + _hacks: function hacks() { + var $input, $menu; + $input = this.input.$input || $("
"); + $menu = this.menu.$node || $("
"); + $input.on("blur.tt", function($e) { + var active, isActive, hasActive; + active = document.activeElement; + isActive = $menu.is(active); + hasActive = $menu.has(active).length > 0; + if (_.isMsie() && (isActive || hasActive)) { + $e.preventDefault(); + $e.stopImmediatePropagation(); + _.defer(function() { + $input.focus(); + }); + } + }); + $menu.on("mousedown.tt", function($e) { + $e.preventDefault(); + }); + }, + _onSelectableClicked: function onSelectableClicked(type, $el) { + this.select($el); + }, + _onDatasetCleared: function onDatasetCleared() { + this._updateHint(); + }, + _onDatasetRendered: function onDatasetRendered(type, suggestions, async, dataset) { + this._updateHint(); + if (this.autoselect) { + var cursorClass = this.selectors.cursor.substr(1); + this.menu.$node.find(this.selectors.suggestion).first().addClass(cursorClass); + } + this.eventBus.trigger("render", suggestions, async, dataset); + }, + _onAsyncRequested: function onAsyncRequested(type, dataset, query) { + this.eventBus.trigger("asyncrequest", query, dataset); + }, + _onAsyncCanceled: function onAsyncCanceled(type, dataset, query) { + this.eventBus.trigger("asynccancel", query, dataset); + }, + _onAsyncReceived: function onAsyncReceived(type, dataset, query) { + this.eventBus.trigger("asyncreceive", query, dataset); + }, + _onFocused: function onFocused() { + this._minLengthMet() && this.menu.update(this.input.getQuery()); + }, + _onBlurred: function onBlurred() { + if (this.input.hasQueryChangedSinceLastFocus()) { + this.eventBus.trigger("change", this.input.getQuery()); + } + }, + _onEnterKeyed: function onEnterKeyed(type, $e) { + var $selectable; + if ($selectable = this.menu.getActiveSelectable()) { + if (this.select($selectable)) { + $e.preventDefault(); + $e.stopPropagation(); + } + } else if (this.autoselect) { + if (this.select(this.menu.getTopSelectable())) { + $e.preventDefault(); + $e.stopPropagation(); + } + } + }, + _onTabKeyed: function onTabKeyed(type, $e) { + var $selectable; + if ($selectable = this.menu.getActiveSelectable()) { + this.select($selectable) && $e.preventDefault(); + } else if (this.autoselect) { + if ($selectable = this.menu.getTopSelectable()) { + this.autocomplete($selectable) && $e.preventDefault(); + } + } + }, + _onEscKeyed: function onEscKeyed() { + this.close(); + }, + _onUpKeyed: function onUpKeyed() { + this.moveCursor(-1); + }, + _onDownKeyed: function onDownKeyed() { + this.moveCursor(+1); + }, + _onLeftKeyed: function onLeftKeyed() { + if (this.dir === "rtl" && this.input.isCursorAtEnd()) { + this.autocomplete(this.menu.getActiveSelectable() || this.menu.getTopSelectable()); + } + }, + _onRightKeyed: function onRightKeyed() { + if (this.dir === "ltr" && this.input.isCursorAtEnd()) { + this.autocomplete(this.menu.getActiveSelectable() || this.menu.getTopSelectable()); + } + }, + _onQueryChanged: function onQueryChanged(e, query) { + this._minLengthMet(query) ? this.menu.update(query) : this.menu.empty(); + }, + _onWhitespaceChanged: function onWhitespaceChanged() { + this._updateHint(); + }, + _onLangDirChanged: function onLangDirChanged(e, dir) { + if (this.dir !== dir) { + this.dir = dir; + this.menu.setLanguageDirection(dir); + } + }, + _openIfActive: function openIfActive() { + this.isActive() && this.open(); + }, + _minLengthMet: function minLengthMet(query) { + query = _.isString(query) ? query : this.input.getQuery() || ""; + return query.length >= this.minLength; + }, + _updateHint: function updateHint() { + var $selectable, data, val, query, escapedQuery, frontMatchRegEx, match; + $selectable = this.menu.getTopSelectable(); + data = this.menu.getSelectableData($selectable); + val = this.input.getInputValue(); + if (data && !_.isBlankString(val) && !this.input.hasOverflow()) { + query = Input.normalizeQuery(val); + escapedQuery = _.escapeRegExChars(query); + frontMatchRegEx = new RegExp("^(?:" + escapedQuery + ")(.+$)", "i"); + match = frontMatchRegEx.exec(data.val); + match && this.input.setHint(val + match[1]); + } else { + this.input.clearHint(); + } + }, + isEnabled: function isEnabled() { + return this.enabled; + }, + enable: function enable() { + this.enabled = true; + }, + disable: function disable() { + this.enabled = false; + }, + isActive: function isActive() { + return this.active; + }, + activate: function activate() { + if (this.isActive()) { + return true; + } else if (!this.isEnabled() || this.eventBus.before("active")) { + return false; + } else { + this.active = true; + this.eventBus.trigger("active"); + return true; + } + }, + deactivate: function deactivate() { + if (!this.isActive()) { + return true; + } else if (this.eventBus.before("idle")) { + return false; + } else { + this.active = false; + this.close(); + this.eventBus.trigger("idle"); + return true; + } + }, + isOpen: function isOpen() { + return this.menu.isOpen(); + }, + open: function open() { + if (!this.isOpen() && !this.eventBus.before("open")) { + this.input.setAriaExpanded(true); + this.menu.open(); + this._updateHint(); + this.eventBus.trigger("open"); + } + return this.isOpen(); + }, + close: function close() { + if (this.isOpen() && !this.eventBus.before("close")) { + this.input.setAriaExpanded(false); + this.menu.close(); + this.input.clearHint(); + this.input.resetInputValue(); + this.eventBus.trigger("close"); + } + return !this.isOpen(); + }, + setVal: function setVal(val) { + this.input.setQuery(_.toStr(val)); + }, + getVal: function getVal() { + return this.input.getQuery(); + }, + select: function select($selectable) { + var data = this.menu.getSelectableData($selectable); + if (data && !this.eventBus.before("select", data.obj, data.dataset)) { + this.input.setQuery(data.val, true); + this.eventBus.trigger("select", data.obj, data.dataset); + this.close(); + return true; + } + return false; + }, + autocomplete: function autocomplete($selectable) { + var query, data, isValid; + query = this.input.getQuery(); + data = this.menu.getSelectableData($selectable); + isValid = data && query !== data.val; + if (isValid && !this.eventBus.before("autocomplete", data.obj, data.dataset)) { + this.input.setQuery(data.val); + this.eventBus.trigger("autocomplete", data.obj, data.dataset); + return true; + } + return false; + }, + moveCursor: function moveCursor(delta) { + var query, $candidate, data, suggestion, datasetName, cancelMove, id; + query = this.input.getQuery(); + $candidate = this.menu.selectableRelativeToCursor(delta); + data = this.menu.getSelectableData($candidate); + suggestion = data ? data.obj : null; + datasetName = data ? data.dataset : null; + id = $candidate ? $candidate.attr("id") : null; + this.input.trigger("cursorchange", id); + cancelMove = this._minLengthMet() && this.menu.update(query); + if (!cancelMove && !this.eventBus.before("cursorchange", suggestion, datasetName)) { + this.menu.setCursor($candidate); + if (data) { + if (typeof data.val === "string") { + this.input.setInputValue(data.val); + } + } else { + this.input.resetInputValue(); + this._updateHint(); + } + this.eventBus.trigger("cursorchange", suggestion, datasetName); + return true; + } + return false; + }, + destroy: function destroy() { + this.input.destroy(); + this.menu.destroy(); + } + }); + return Typeahead; + function c(ctx) { + var methods = [].slice.call(arguments, 1); + return function() { + var args = [].slice.call(arguments); + _.each(methods, function(method) { + return ctx[method].apply(ctx, args); + }); + }; + } + }(); + (function() { + "use strict"; + var old, keys, methods; + old = $.fn.typeahead; + keys = { + www: "tt-www", + attrs: "tt-attrs", + typeahead: "tt-typeahead" + }; + methods = { + initialize: function initialize(o, datasets) { + var www; + datasets = _.isArray(datasets) ? datasets : [].slice.call(arguments, 1); + o = o || {}; + www = WWW(o.classNames); + return this.each(attach); + function attach() { + var $input, $wrapper, $hint, $menu, defaultHint, defaultMenu, eventBus, input, menu, status, typeahead, MenuConstructor; + _.each(datasets, function(d) { + d.highlight = !!o.highlight; + }); + $input = $(this); + $wrapper = $(www.html.wrapper); + $hint = $elOrNull(o.hint); + $menu = $elOrNull(o.menu); + defaultHint = o.hint !== false && !$hint; + defaultMenu = o.menu !== false && !$menu; + defaultHint && ($hint = buildHintFromInput($input, www)); + defaultMenu && ($menu = $(www.html.menu).css(www.css.menu)); + $hint && $hint.val(""); + $input = prepInput($input, www); + if (defaultHint || defaultMenu) { + $wrapper.css(www.css.wrapper); + $input.css(defaultHint ? www.css.input : www.css.inputWithNoHint); + $input.wrap($wrapper).parent().prepend(defaultHint ? $hint : null).append(defaultMenu ? $menu : null); + } + MenuConstructor = defaultMenu ? DefaultMenu : Menu; + eventBus = new EventBus({ + el: $input + }); + input = new Input({ + hint: $hint, + input: $input, + menu: $menu + }, www); + menu = new MenuConstructor({ + node: $menu, + datasets: datasets + }, www); + status = new Status({ + $input: $input, + menu: menu + }); + typeahead = new Typeahead({ + input: input, + menu: menu, + eventBus: eventBus, + minLength: o.minLength, + autoselect: o.autoselect + }, www); + $input.data(keys.www, www); + $input.data(keys.typeahead, typeahead); + } + }, + isEnabled: function isEnabled() { + var enabled; + ttEach(this.first(), function(t) { + enabled = t.isEnabled(); + }); + return enabled; + }, + enable: function enable() { + ttEach(this, function(t) { + t.enable(); + }); + return this; + }, + disable: function disable() { + ttEach(this, function(t) { + t.disable(); + }); + return this; + }, + isActive: function isActive() { + var active; + ttEach(this.first(), function(t) { + active = t.isActive(); + }); + return active; + }, + activate: function activate() { + ttEach(this, function(t) { + t.activate(); + }); + return this; + }, + deactivate: function deactivate() { + ttEach(this, function(t) { + t.deactivate(); + }); + return this; + }, + isOpen: function isOpen() { + var open; + ttEach(this.first(), function(t) { + open = t.isOpen(); + }); + return open; + }, + open: function open() { + ttEach(this, function(t) { + t.open(); + }); + return this; + }, + close: function close() { + ttEach(this, function(t) { + t.close(); + }); + return this; + }, + select: function select(el) { + var success = false, $el = $(el); + ttEach(this.first(), function(t) { + success = t.select($el); + }); + return success; + }, + autocomplete: function autocomplete(el) { + var success = false, $el = $(el); + ttEach(this.first(), function(t) { + success = t.autocomplete($el); + }); + return success; + }, + moveCursor: function moveCursoe(delta) { + var success = false; + ttEach(this.first(), function(t) { + success = t.moveCursor(delta); + }); + return success; + }, + val: function val(newVal) { + var query; + if (!arguments.length) { + ttEach(this.first(), function(t) { + query = t.getVal(); + }); + return query; + } else { + ttEach(this, function(t) { + t.setVal(_.toStr(newVal)); + }); + return this; + } + }, + destroy: function destroy() { + ttEach(this, function(typeahead, $input) { + revert($input); + typeahead.destroy(); + }); + return this; + } + }; + $.fn.typeahead = function(method) { + if (methods[method]) { + return methods[method].apply(this, [].slice.call(arguments, 1)); + } else { + return methods.initialize.apply(this, arguments); + } + }; + $.fn.typeahead.noConflict = function noConflict() { + $.fn.typeahead = old; + return this; + }; + function ttEach($els, fn) { + $els.each(function() { + var $input = $(this), typeahead; + (typeahead = $input.data(keys.typeahead)) && fn(typeahead, $input); + }); + } + function buildHintFromInput($input, www) { + return $input.clone().addClass(www.classes.hint).removeData().css(www.css.hint).css(getBackgroundStyles($input)).prop({ + readonly: true, + required: false + }).removeAttr("id name placeholder").removeClass("required").attr({ + spellcheck: "false", + tabindex: -1 + }); + } + function prepInput($input, www) { + $input.data(keys.attrs, { + dir: $input.attr("dir"), + autocomplete: $input.attr("autocomplete"), + spellcheck: $input.attr("spellcheck"), + style: $input.attr("style") + }); + $input.addClass(www.classes.input).attr({ + spellcheck: false + }); + try { + !$input.attr("dir") && $input.attr("dir", "auto"); + } catch (e) {} + return $input; + } + function getBackgroundStyles($el) { + return { + backgroundAttachment: $el.css("background-attachment"), + backgroundClip: $el.css("background-clip"), + backgroundColor: $el.css("background-color"), + backgroundImage: $el.css("background-image"), + backgroundOrigin: $el.css("background-origin"), + backgroundPosition: $el.css("background-position"), + backgroundRepeat: $el.css("background-repeat"), + backgroundSize: $el.css("background-size") + }; + } + function revert($input) { + var www, $wrapper; + www = $input.data(keys.www); + $wrapper = $input.parent().filter(www.selectors.wrapper); + _.each($input.data(keys.attrs), function(val, key) { + _.isUndefined(val) ? $input.removeAttr(key) : $input.attr(key, val); + }); + $input.removeData(keys.typeahead).removeData(keys.www).removeData(keys.attr).removeClass(www.classes.input); + if ($wrapper.length) { + $input.detach().insertAfter($wrapper); + $wrapper.remove(); + } + } + function $elOrNull(obj) { + var isValid, $el; + isValid = _.isJQuery(obj) || _.isElement(obj); + $el = isValid ? $(obj).first() : []; + return $el.length ? $el : null; + } + })(); +}); \ No newline at end of file diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/search.json b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/search.json new file mode 100644 index 000000000..a5f9ef37a --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/search.json @@ -0,0 +1 @@ +{"Protocols/TestableElement.html#/s:25SCSDKCameraKitReferenceUI15TestableElementP2idSSvp":{"name":"id","abstract":"

identifier for the testable element

","parent_name":"TestableElement"},"Protocols/SnapchatDelegate.html#/s:25SCSDKCameraKitReferenceUI16SnapchatDelegateP06cameraB14ViewController_04openE0ySo06UIViewI0C_AA0E6ScreenOtF":{"name":"cameraKitViewController(_:openSnapchat:)","abstract":"

CameraKit view controller requests opening Snapchat with specific info

","parent_name":"SnapchatDelegate"},"Protocols/MediaPickerViewDelegate.html#/s:25SCSDKCameraKitReferenceUI23MediaPickerViewDelegateP05mediafG0_13selectedAssetyAA0efG0C_So08SCCamerab4LensefK0_ptF":{"name":"mediaPickerView(_:selectedAsset:)","abstract":"

User selected asset in MediaPickerView

","parent_name":"MediaPickerViewDelegate"},"Protocols/CarouselViewDataSource.html#/s:25SCSDKCameraKitReferenceUI22CarouselViewDataSourceP08itemsForeF0ySayAA0E4ItemCGAA0eF0CF":{"name":"itemsForCarouselView(_:)","abstract":"

Returns a list of items to show in the carousel view.

","parent_name":"CarouselViewDataSource"},"Protocols/CarouselViewDelegate.html#/s:25SCSDKCameraKitReferenceUI20CarouselViewDelegateP08carouselF0_9didSelect2atyAA0eF0C_AA0E4ItemCSitF":{"name":"carouselView(_:didSelect:at:)","abstract":"

Notifies the delegate that a given carousel’s specific index was selected.

","parent_name":"CarouselViewDelegate"},"Protocols/CarouselImageLoader.html#/s:25SCSDKCameraKitReferenceUI19CarouselImageLoaderP04loadF03url10completiony10Foundation3URLV_ySo7UIImageCSg_s5Error_pSgtcSgtF":{"name":"loadImage(url:completion:)","abstract":"

Load image from url

","parent_name":"CarouselImageLoader"},"Protocols/CarouselImageLoader.html#/s:25SCSDKCameraKitReferenceUI19CarouselImageLoaderP04loadF03url11cachePolicy5queue10completiony10Foundation3URLV_So017NSURLRequestCacheK0VSo012OS_dispatch_L0CySo7UIImageCSg_s5Error_pSgtcSgtF":{"name":"loadImage(url:cachePolicy:queue:completion:)","abstract":"

Load image from url

","parent_name":"CarouselImageLoader"},"Protocols/CarouselImageLoader.html#/s:25SCSDKCameraKitReferenceUI19CarouselImageLoaderP06cancelF4Load4fromy10Foundation3URLV_tF":{"name":"cancelImageLoad(from:)","abstract":"

Cancels image loading for a given url

","parent_name":"CarouselImageLoader"},"Protocols/CarouselCollectionViewLayoutDataSource.html#/s:25SCSDKCameraKitReferenceUI38CarouselCollectionViewLayoutDataSourceP08carouselH0_18transformForItemAtSo17CGAffineTransformVAA0efgH0C_10Foundation9IndexPathVtF":{"name":"carouselLayout(_:transformForItemAt:)","abstract":"

Method to provide any sort of transform that should be applied to the carousel cell

","parent_name":"CarouselCollectionViewLayoutDataSource"},"Protocols/CarouselCollectionViewLayoutDelegate.html#/s:25SCSDKCameraKitReferenceUI36CarouselCollectionViewLayoutDelegateP08carouselH0_15willTargetIndexyAA0efgH0C_SitF":{"name":"carouselLayout(_:willTargetIndex:)","abstract":"

This method is called when user stops scrolling and layout will target the correct lens to land at

","parent_name":"CarouselCollectionViewLayoutDelegate"},"Protocols/RingLightColorSelectionViewDelegate.html#/s:25SCSDKCameraKitReferenceUI35RingLightColorSelectionViewDelegateP04ringfghI0_08selectedG0yAA0efghI0C_So7UIColorCtF":{"name":"ringLightColorSelectionView(_:selectedColor:)","abstract":"

Notifies the delegate that a color was selected.

","parent_name":"RingLightColorSelectionViewDelegate"},"Protocols/FlashModeSelectionViewDelegate.html#/s:25SCSDKCameraKitReferenceUI30FlashModeSelectionViewDelegateP05flashfgH0_07updatedF0yAA0efgH0C_AA16CameraControllerC0eF0OtF":{"name":"flashModeSelectionView(_:updatedMode:)","abstract":"

Notifies the delegate that there is an update to the selected flash mode.

","parent_name":"FlashModeSelectionViewDelegate"},"Protocols/FlashControlViewDelegate.html#/s:25SCSDKCameraKitReferenceUI24FlashControlViewDelegateP05flashfG0_22selectedRingLightColoryAA0efG0C_So7UIColorCtF":{"name":"flashControlView(_:selectedRingLightColor:)","abstract":"

Notifies the delegate that a ring light color was selected.

","parent_name":"FlashControlViewDelegate"},"Protocols/FlashControlViewDelegate.html#/s:25SCSDKCameraKitReferenceUI24FlashControlViewDelegateP05flashfG0_21updatedRingLightValueyAA0efG0C_SftF":{"name":"flashControlView(_:updatedRingLightValue:)","abstract":"

Notifies the delegate that the control’s ring light intensity slider has an updated value.

","parent_name":"FlashControlViewDelegate"},"Protocols/FlashControlViewDelegate.html#/s:25SCSDKCameraKitReferenceUI24FlashControlViewDelegateP05flashfG0_07updatedE4ModeyAA0efG0C_AA16CameraControllerC0eK0OtF":{"name":"flashControlView(_:updatedFlashMode:)","abstract":"

Notifies the delegate that there is an update to the selected flash mode.

","parent_name":"FlashControlViewDelegate"},"Protocols/AppOrientationDelegate.html#/s:25SCSDKCameraKitReferenceUI22AppOrientationDelegateP04lockF0yySo011UIInterfaceF4MaskVF":{"name":"lockOrientation(_:)","abstract":"

Lock app orientation

","parent_name":"AppOrientationDelegate"},"Protocols/AppOrientationDelegate.html#/s:25SCSDKCameraKitReferenceUI22AppOrientationDelegateP06unlockF0yyF":{"name":"unlockOrientation()","abstract":"

Unlock orientation

","parent_name":"AppOrientationDelegate"},"Protocols/ControlSliderDelegate.html#/s:25SCSDKCameraKitReferenceUI21ControlSliderDelegateP07controlF0_12updatedValue4doneyAA0eF0C_SfSbtF":{"name":"controlSlider(_:updatedValue:done:)","abstract":"

Notifies the delegate that the slider’s value has changed.

","parent_name":"ControlSliderDelegate"},"Protocols/AdjustmentControlViewDelegate.html#/s:25SCSDKCameraKitReferenceUI29AdjustmentControlViewDelegateP010adjustmentfG0_18sliderValueChangedyAA0efG0C_SdtF":{"name":"adjustmentControlView(_:sliderValueChanged:)","abstract":"

Notifies the delegate that the control’s intensity slider’s value has changed.

","parent_name":"AdjustmentControlViewDelegate"},"Protocols/CameraButtonDelegate.html#/s:25SCSDKCameraKitReferenceUI20CameraButtonDelegateP06cameraF6TappedyyAA0eF0CF":{"name":"cameraButtonTapped(_:)","abstract":"

Called when user taps camera button

","parent_name":"CameraButtonDelegate"},"Protocols/CameraButtonDelegate.html#/s:25SCSDKCameraKitReferenceUI20CameraButtonDelegateP06cameraF9HoldBeganyyAA0eF0CF":{"name":"cameraButtonHoldBegan(_:)","abstract":"

Called when user starts holding down camera button

","parent_name":"CameraButtonDelegate"},"Protocols/CameraButtonDelegate.html#/s:25SCSDKCameraKitReferenceUI20CameraButtonDelegateP06cameraF13HoldCancelledyyAA0eF0CF":{"name":"cameraButtonHoldCancelled(_:)","abstract":"

Called when user released their hold before the minimum threshold has been reached

","parent_name":"CameraButtonDelegate"},"Protocols/CameraButtonDelegate.html#/s:25SCSDKCameraKitReferenceUI20CameraButtonDelegateP06cameraF9HoldEndedyyAA0eF0CF":{"name":"cameraButtonHoldEnded(_:)","abstract":"

Called when user stops holding down camera button

","parent_name":"CameraButtonDelegate"},"Protocols/CameraControllerUIDelegate.html#/s:25SCSDKCameraKitReferenceUI26CameraControllerUIDelegateP06cameraF0_13updatedLensesyAA0eF0C_SaySo08SCCameraB4Lens_pGtF":{"name":"cameraController(_:updatedLenses:)","abstract":"

Notifies the delegate that the camera controller has resolved a new list of available lenses

","parent_name":"CameraControllerUIDelegate"},"Protocols/CameraControllerUIDelegate.html#/s:25SCSDKCameraKitReferenceUI26CameraControllerUIDelegateP06cameraF30RequestedActivityIndicatorShowyyAA0eF0CF":{"name":"cameraControllerRequestedActivityIndicatorShow(_:)","abstract":"

Notifies the delegate that the camera controller is currently in a loading state, and an activity indicator should be displayed.

","parent_name":"CameraControllerUIDelegate"},"Protocols/CameraControllerUIDelegate.html#/s:25SCSDKCameraKitReferenceUI26CameraControllerUIDelegateP06cameraF30RequestedActivityIndicatorHideyyAA0eF0CF":{"name":"cameraControllerRequestedActivityIndicatorHide(_:)","abstract":"

Notifies the delegate that the camera controller is no longer in a loading state, and an activity indicator should be hidden.

","parent_name":"CameraControllerUIDelegate"},"Protocols/CameraControllerUIDelegate.html#/s:25SCSDKCameraKitReferenceUI26CameraControllerUIDelegateP06cameraF22RequestedRingLightShowyyAA0eF0CF":{"name":"cameraControllerRequestedRingLightShow(_:)","abstract":"

Notifies the delegate that the flash state is on in ring light mode and that the ring light effect should be shown.

","parent_name":"CameraControllerUIDelegate"},"Protocols/CameraControllerUIDelegate.html#/s:25SCSDKCameraKitReferenceUI26CameraControllerUIDelegateP06cameraF22RequestedRingLightHideyyAA0eF0CF":{"name":"cameraControllerRequestedRingLightHide(_:)","abstract":"

Notifies the delegate that the flash state is no longer in ring light mode and that the ring light effect should be hidden.

","parent_name":"CameraControllerUIDelegate"},"Protocols/CameraControllerUIDelegate.html#/s:25SCSDKCameraKitReferenceUI26CameraControllerUIDelegateP06cameraF25RequestedFlashControlHideyyAA0eF0CF":{"name":"cameraControllerRequestedFlashControlHide(_:)","abstract":"

Notifies the delegate that the flash state has changed such that the flash control should be hidden.

","parent_name":"CameraControllerUIDelegate"},"Protocols/CameraControllerUIDelegate.html#/s:25SCSDKCameraKitReferenceUI26CameraControllerUIDelegateP06cameraF32RequestedSnapAttributionViewShowyyAA0eF0CF":{"name":"cameraControllerRequestedSnapAttributionViewShow(_:)","abstract":"

Notifies the delegate that the snap attribution should be shown. For example, after the agreements have been accepted.

","parent_name":"CameraControllerUIDelegate"},"Protocols/CameraControllerUIDelegate.html#/s:25SCSDKCameraKitReferenceUI26CameraControllerUIDelegateP06cameraF32RequestedSnapAttributionViewHideyyAA0eF0CF":{"name":"cameraControllerRequestedSnapAttributionViewHide(_:)","abstract":"

Notifies the delegate that the snap attribution should be hidden. For example, when a video is being recorded.

","parent_name":"CameraControllerUIDelegate"},"Protocols/CameraControllerUIDelegate.html#/s:25SCSDKCameraKitReferenceUI26CameraControllerUIDelegateP06cameraf9RequestedE4FlipyyAA0eF0CF":{"name":"cameraControllerRequestedCameraFlip(_:)","abstract":"

Notifies the delegate that the camera position should be flipped.

","parent_name":"CameraControllerUIDelegate"},"Protocols/CameraControllerUIDelegate.html#/s:25SCSDKCameraKitReferenceUI26CameraControllerUIDelegateP06cameraF0_20requestedHintDisplay3for8autohideyAA0eF0C_SSSo08SCCameraB4Lens_pSbtF":{"name":"cameraController(_:requestedHintDisplay:for:autohide:)","abstract":"

Notifies the delegate that a lens has requested that a hint should be displayed

","parent_name":"CameraControllerUIDelegate"},"Protocols/CameraControllerUIDelegate.html#/s:25SCSDKCameraKitReferenceUI26CameraControllerUIDelegateP06cameraF0_20requestedHintHideForyAA0eF0C_So08SCCameraB4Lens_ptF":{"name":"cameraController(_:requestedHintHideFor:)","abstract":"

Notifies the delegate that any hints requested by the specified lens should be hidden

","parent_name":"CameraControllerUIDelegate"},"Protocols/CameraControllerUIDelegate.html":{"name":"CameraControllerUIDelegate","abstract":"

Undocumented

"},"Protocols/CameraButtonDelegate.html":{"name":"CameraButtonDelegate","abstract":"

Delegate to receive updates for camera button view

"},"Protocols/AdjustmentControlViewDelegate.html":{"name":"AdjustmentControlViewDelegate","abstract":"

Undocumented

"},"Protocols/ControlSliderDelegate.html":{"name":"ControlSliderDelegate","abstract":"

Undocumented

"},"Protocols/AppOrientationDelegate.html":{"name":"AppOrientationDelegate","abstract":"

Describes an interface to control app orientation

"},"Protocols/FlashControlViewDelegate.html":{"name":"FlashControlViewDelegate","abstract":"

Undocumented

"},"Protocols/FlashModeSelectionViewDelegate.html":{"name":"FlashModeSelectionViewDelegate","abstract":"

Undocumented

"},"Protocols/RingLightColorSelectionViewDelegate.html":{"name":"RingLightColorSelectionViewDelegate","abstract":"

Undocumented

"},"Protocols/CarouselCollectionViewLayoutDelegate.html":{"name":"CarouselCollectionViewLayoutDelegate","abstract":"

Delegate for custom carousel collection view layout

"},"Protocols/CarouselCollectionViewLayoutDataSource.html":{"name":"CarouselCollectionViewLayoutDataSource","abstract":"

Data source for custom carousel collection view layout

"},"Protocols/CarouselImageLoader.html":{"name":"CarouselImageLoader","abstract":"

Protocol used to load an image from url

"},"Protocols/CarouselViewDelegate.html":{"name":"CarouselViewDelegate","abstract":"

A set of functions implemented by the delegate to be notified when the carousel responds to user interactions.

"},"Protocols/CarouselViewDataSource.html":{"name":"CarouselViewDataSource","abstract":"

A set of functions that an object adopts to manage data and provide items for a carousel view.

"},"Protocols/MediaPickerViewDelegate.html":{"name":"MediaPickerViewDelegate","abstract":"

Describes an interface to be notified of MediaPickerView events

"},"Protocols/SnapchatDelegate.html":{"name":"SnapchatDelegate","abstract":"

CameraKit view controllers will notify this delegate when it needs to open, send info, or interact with Snapchat

"},"Protocols/TestableElement.html":{"name":"TestableElement","abstract":"

Describes an element that can be UI tested

"},"Functions.html#/s:25SCSDKCameraKitReferenceUI06CameraB15LocalizedString3key6bundle18preferredLanguages7comment5tableS2S_So8NSBundleCSgSaySSGSSSgALtF":{"name":"CameraKitLocalizedString(key:bundle:preferredLanguages:comment:table:)","abstract":"

Looks up a localized string for CameraKit’s reference UI.

"},"Extensions/NSString.html#/c:@CM@SCSDKCameraKitReferenceUI@@objc(cs)NSString(cm)cameraKit_localizedWithKey:bundle:preferredLanguages:comment:table:":{"name":"cameraKit_localized(key:bundle:preferredLanguages:comment:table:)","abstract":"

Undocumented

","parent_name":"NSString"},"Extensions/UIFont.html#/s:So6UIFontC25SCSDKCameraKitReferenceUIE17sc_ultraLightFont4sizeABSg14CoreFoundation7CGFloatV_tFZ":{"name":"sc_ultraLightFont(size:)","abstract":"

Undocumented

","parent_name":"UIFont"},"Extensions/UIFont.html#/s:So6UIFontC25SCSDKCameraKitReferenceUIE14sc_regularFont4sizeABSg14CoreFoundation7CGFloatV_tFZ":{"name":"sc_regularFont(size:)","abstract":"

Undocumented

","parent_name":"UIFont"},"Extensions/UIFont.html#/s:So6UIFontC25SCSDKCameraKitReferenceUIE13sc_mediumFont4sizeABSg14CoreFoundation7CGFloatV_tFZ":{"name":"sc_mediumFont(size:)","abstract":"

Undocumented

","parent_name":"UIFont"},"Extensions/UIFont.html#/s:So6UIFontC25SCSDKCameraKitReferenceUIE15sc_demiBoldFont4sizeABSg14CoreFoundation7CGFloatV_tFZ":{"name":"sc_demiBoldFont(size:)","abstract":"

Undocumented

","parent_name":"UIFont"},"Extensions/UIFont.html#/s:So6UIFontC25SCSDKCameraKitReferenceUIE11sc_boldFont4sizeABSg14CoreFoundation7CGFloatV_tFZ":{"name":"sc_boldFont(size:)","abstract":"

Undocumented

","parent_name":"UIFont"},"Extensions/UIFont.html#/s:So6UIFontC25SCSDKCameraKitReferenceUIE12sc_heavyFont4sizeABSg14CoreFoundation7CGFloatV_tFZ":{"name":"sc_heavyFont(size:)","abstract":"

Undocumented

","parent_name":"UIFont"},"Extensions/UIColor.html#/s:So7UIColorC25SCSDKCameraKitReferenceUIE3hex5alphaABSu_14CoreFoundation7CGFloatVtcfc":{"name":"init(hex:alpha:)","abstract":"

Undocumented

","parent_name":"UIColor"},"Extensions/UIImage.html#/s:So7UIImageC25SCSDKCameraKitReferenceUIE22circleHighlightedImage6radius5colorABSg14CoreFoundation7CGFloatV_So7UIColorCtF":{"name":"circleHighlightedImage(radius:color:)","abstract":"

Produces a version of the image that is subtracted from a circle with the given radius and color.

","parent_name":"UIImage"},"Extensions/UILabel.html#/s:So7UILabelC25SCSDKCameraKitReferenceUIE20controlDismissalHintAByFZ":{"name":"controlDismissalHint()","abstract":"

Produces a dismissal hint label for the control.

","parent_name":"UILabel"},"Extensions/UIButton.html#/s:So8UIButtonC25SCSDKCameraKitReferenceUIE29applyCameraActionButtonShadowyyF":{"name":"applyCameraActionButtonShadow()","abstract":"

Applies a shadow designed for camera action buttons.

","parent_name":"UIButton"},"Extensions/UIButton.html":{"name":"UIButton","abstract":"

Helper to apply shadows to buttons.

"},"Extensions/UILabel.html":{"name":"UILabel","abstract":"

Helper to produce a dismissal hint for various camera action controls.

"},"Extensions/UIImage.html":{"name":"UIImage","abstract":"

Helper to produce highlighted versions of some camera action button images.

"},"Extensions/UIColor.html":{"name":"UIColor"},"Extensions/UIFont.html":{"name":"UIFont","abstract":"

Provides access to Snapchat typography in all supported weights.

"},"Extensions/NSString.html":{"name":"NSString","abstract":"

Objective-C interface for CameraKitLocalizedString

"},"Enums/OtherElements.html#/s:25SCSDKCameraKitReferenceUI13OtherElementsO10noOpButtonyA2CmF":{"name":"noOpButton","abstract":"

Undocumented

","parent_name":"OtherElements"},"Enums/OtherElements.html#/s:25SCSDKCameraKitReferenceUI13OtherElementsO11arkitButtonyA2CmF":{"name":"arkitButton","abstract":"

Undocumented

","parent_name":"OtherElements"},"Enums/OtherElements.html#/s:25SCSDKCameraKitReferenceUI13OtherElementsO16agreementsButtonyA2CmF":{"name":"agreementsButton","abstract":"

Undocumented

","parent_name":"OtherElements"},"Enums/OtherElements.html#/s:25SCSDKCameraKitReferenceUI13OtherElementsO14tapToFocusViewyA2CmF":{"name":"tapToFocusView","abstract":"

Undocumented

","parent_name":"OtherElements"},"Enums/OtherElements.html#/s:25SCSDKCameraKitReferenceUI13OtherElementsO13pairingButtonyA2CmF":{"name":"pairingButton","abstract":"

Undocumented

","parent_name":"OtherElements"},"Enums/OtherElements.html#/s:25SCSDKCameraKitReferenceUI13OtherElementsO24connectedLensStartButtonyA2CmF":{"name":"connectedLensStartButton","abstract":"

Undocumented

","parent_name":"OtherElements"},"Enums/FlashControlElements.html#/s:25SCSDKCameraKitReferenceUI20FlashControlElementsO17flashModeSelectoryA2CmF":{"name":"flashModeSelector","abstract":"

Undocumented

","parent_name":"FlashControlElements"},"Enums/FlashControlElements.html#/s:25SCSDKCameraKitReferenceUI20FlashControlElementsO22ringLightColorSelectoryA2CmF":{"name":"ringLightColorSelector","abstract":"

Undocumented

","parent_name":"FlashControlElements"},"Enums/FlashControlElements.html#/s:25SCSDKCameraKitReferenceUI20FlashControlElementsO24ringLightIntensitySlideryA2CmF":{"name":"ringLightIntensitySlider","abstract":"

Undocumented

","parent_name":"FlashControlElements"},"Enums/MessageNotificationElements.html#/s:25SCSDKCameraKitReferenceUI27MessageNotificationElementsO5labelyA2CmF":{"name":"label","abstract":"

Undocumented

","parent_name":"MessageNotificationElements"},"Enums/PreviewElements.html#/s:25SCSDKCameraKitReferenceUI15PreviewElementsO11closeButtonyA2CmF":{"name":"closeButton","abstract":"

Undocumented

","parent_name":"PreviewElements"},"Enums/PreviewElements.html#/s:25SCSDKCameraKitReferenceUI15PreviewElementsO14snapchatButtonyA2CmF":{"name":"snapchatButton","abstract":"

Undocumented

","parent_name":"PreviewElements"},"Enums/PreviewElements.html#/s:25SCSDKCameraKitReferenceUI15PreviewElementsO11shareButtonyA2CmF":{"name":"shareButton","abstract":"

Undocumented

","parent_name":"PreviewElements"},"Enums/PreviewElements.html#/s:25SCSDKCameraKitReferenceUI15PreviewElementsO9imageViewyA2CmF":{"name":"imageView","abstract":"

Undocumented

","parent_name":"PreviewElements"},"Enums/PreviewElements.html#/s:25SCSDKCameraKitReferenceUI15PreviewElementsO20playerControllerViewyA2CmF":{"name":"playerControllerView","abstract":"

Undocumented

","parent_name":"PreviewElements"},"Enums/CarouselElements.html#/s:25SCSDKCameraKitReferenceUI16CarouselElementsO14collectionViewyA2CmF":{"name":"collectionView","abstract":"

Undocumented

","parent_name":"CarouselElements"},"Enums/CarouselElements.html#/s:25SCSDKCameraKitReferenceUI16CarouselElementsO8lensCellyA2CmF":{"name":"lensCell","abstract":"

Undocumented

","parent_name":"CarouselElements"},"Enums/CarouselElements.html#/s:25SCSDKCameraKitReferenceUI16CarouselElementsO23facadeSelectionRingViewyA2CmF":{"name":"facadeSelectionRingView","abstract":"

Undocumented

","parent_name":"CarouselElements"},"Enums/CameraElements/CameraFlip.html#/s:25SCSDKCameraKitReferenceUI14CameraElementsO0E4FlipO5frontSSvpZ":{"name":"front","abstract":"

Undocumented

","parent_name":"CameraFlip"},"Enums/CameraElements/CameraFlip.html#/s:25SCSDKCameraKitReferenceUI14CameraElementsO0E4FlipO4backSSvpZ":{"name":"back","abstract":"

Undocumented

","parent_name":"CameraFlip"},"Enums/CameraElements.html#/s:25SCSDKCameraKitReferenceUI14CameraElementsO9lensLabelyA2CmF":{"name":"lensLabel","abstract":"

Undocumented

","parent_name":"CameraElements"},"Enums/CameraElements.html#/s:25SCSDKCameraKitReferenceUI14CameraElementsO04flipE6ButtonyA2CmF":{"name":"flipCameraButton","abstract":"

Undocumented

","parent_name":"CameraElements"},"Enums/CameraElements.html#/s:25SCSDKCameraKitReferenceUI14CameraElementsO17flashToggleButtonyA2CmF":{"name":"flashToggleButton","abstract":"

Undocumented

","parent_name":"CameraElements"},"Enums/CameraElements.html#/s:25SCSDKCameraKitReferenceUI14CameraElementsO24flashConfigurationButtonyA2CmF":{"name":"flashConfigurationButton","abstract":"

Undocumented

","parent_name":"CameraElements"},"Enums/CameraElements.html#/s:25SCSDKCameraKitReferenceUI14CameraElementsO12flashControlyA2CmF":{"name":"flashControl","abstract":"

Undocumented

","parent_name":"CameraElements"},"Enums/CameraElements.html#/s:25SCSDKCameraKitReferenceUI14CameraElementsO25flashControlDismissalHintyA2CmF":{"name":"flashControlDismissalHint","abstract":"

Undocumented

","parent_name":"CameraElements"},"Enums/CameraElements.html#/s:25SCSDKCameraKitReferenceUI14CameraElementsO19toneMapToggleButtonyA2CmF":{"name":"toneMapToggleButton","abstract":"

Undocumented

","parent_name":"CameraElements"},"Enums/CameraElements.html#/s:25SCSDKCameraKitReferenceUI14CameraElementsO26toneMapConfigurationButtonyA2CmF":{"name":"toneMapConfigurationButton","abstract":"

Undocumented

","parent_name":"CameraElements"},"Enums/CameraElements.html#/s:25SCSDKCameraKitReferenceUI14CameraElementsO14toneMapControlyA2CmF":{"name":"toneMapControl","abstract":"

Undocumented

","parent_name":"CameraElements"},"Enums/CameraElements.html#/s:25SCSDKCameraKitReferenceUI14CameraElementsO27toneMapControlDismissalHintyA2CmF":{"name":"toneMapControlDismissalHint","abstract":"

Undocumented

","parent_name":"CameraElements"},"Enums/CameraElements.html#/s:25SCSDKCameraKitReferenceUI14CameraElementsO20portraitToggleButtonyA2CmF":{"name":"portraitToggleButton","abstract":"

Undocumented

","parent_name":"CameraElements"},"Enums/CameraElements.html#/s:25SCSDKCameraKitReferenceUI14CameraElementsO27portraitConfigurationButtonyA2CmF":{"name":"portraitConfigurationButton","abstract":"

Undocumented

","parent_name":"CameraElements"},"Enums/CameraElements.html#/s:25SCSDKCameraKitReferenceUI14CameraElementsO15portraitControlyA2CmF":{"name":"portraitControl","abstract":"

Undocumented

","parent_name":"CameraElements"},"Enums/CameraElements.html#/s:25SCSDKCameraKitReferenceUI14CameraElementsO28portraitControlDismissalHintyA2CmF":{"name":"portraitControlDismissalHint","abstract":"

Undocumented

","parent_name":"CameraElements"},"Enums/CameraElements.html#/s:25SCSDKCameraKitReferenceUI14CameraElementsO13ringLightViewyA2CmF":{"name":"ringLightView","abstract":"

Undocumented

","parent_name":"CameraElements"},"Enums/CameraElements.html#/s:25SCSDKCameraKitReferenceUI14CameraElementsO18photoLibraryButtonyA2CmF":{"name":"photoLibraryButton","abstract":"

Undocumented

","parent_name":"CameraElements"},"Enums/CameraElements.html#/s:25SCSDKCameraKitReferenceUI14CameraElementsO12cameraButtonyA2CmF":{"name":"cameraButton","abstract":"

Undocumented

","parent_name":"CameraElements"},"Enums/CameraElements/CameraFlip.html":{"name":"CameraFlip","abstract":"

Undocumented

","parent_name":"CameraElements"},"Enums/CameraBottomBarElements.html#/s:25SCSDKCameraKitReferenceUI23CameraBottomBarElementsO11closeButtonyA2CmF":{"name":"closeButton","abstract":"

Undocumented

","parent_name":"CameraBottomBarElements"},"Enums/SnapchatScreen.html#/s:25SCSDKCameraKitReferenceUI14SnapchatScreenO7profileyA2CmF":{"name":"profile","abstract":"

Undocumented

","parent_name":"SnapchatScreen"},"Enums/SnapchatScreen.html#/s:25SCSDKCameraKitReferenceUI14SnapchatScreenO4lensyACSo08SCCameraB4Lens_pcACmF":{"name":"lens(_:)","abstract":"

Undocumented

","parent_name":"SnapchatScreen"},"Enums/SnapchatScreen.html#/s:25SCSDKCameraKitReferenceUI14SnapchatScreenO5photoyACSo7UIImageCcACmF":{"name":"photo(_:)","abstract":"

Undocumented

","parent_name":"SnapchatScreen"},"Enums/SnapchatScreen.html#/s:25SCSDKCameraKitReferenceUI14SnapchatScreenO5videoyAC10Foundation3URLVcACmF":{"name":"video(_:)","abstract":"

Undocumented

","parent_name":"SnapchatScreen"},"Enums/SnapchatScreen.html":{"name":"SnapchatScreen","abstract":"

Describes the Snapchat screen to open to

"},"Enums/CameraBottomBarElements.html":{"name":"CameraBottomBarElements","abstract":"

CameraBottomBar view testable elements

"},"Enums/CameraElements.html":{"name":"CameraElements","abstract":"

CameraViewController testable elements

"},"Enums/CarouselElements.html":{"name":"CarouselElements","abstract":"

CarouselView testable elements

"},"Enums/PreviewElements.html":{"name":"PreviewElements","abstract":"

PreviewViewController testable elements

"},"Enums/MessageNotificationElements.html":{"name":"MessageNotificationElements","abstract":"

MessageNotificationView testable elements

"},"Enums/FlashControlElements.html":{"name":"FlashControlElements","abstract":"

FlashControlView testable elements

"},"Enums/OtherElements.html":{"name":"OtherElements","abstract":"

Other misc testable elements

"},"Classes/TapAnimationView.html#/s:25SCSDKCameraKitReferenceUI16TapAnimationViewC6centerACSo7CGPointV_tcfc":{"name":"init(center:)","abstract":"

Undocumented

","parent_name":"TapAnimationView"},"Classes/TapAnimationView.html#/s:25SCSDKCameraKitReferenceUI16TapAnimationViewC4showyyF":{"name":"show()","abstract":"

Performs the tap animation and removes the view upon completion of the animation

","parent_name":"TapAnimationView"},"Classes/SnapAttributionView.html#/s:25SCSDKCameraKitReferenceUI19SnapAttributionViewC14poweredByLabelSo7UILabelCvp":{"name":"poweredByLabel","abstract":"

Undocumented

","parent_name":"SnapAttributionView"},"Classes/SnapAttributionView.html#/s:25SCSDKCameraKitReferenceUI19SnapAttributionViewC13snapIconImageSo07UIImageG0Cvp":{"name":"snapIconImage","abstract":"

Undocumented

","parent_name":"SnapAttributionView"},"Classes/MessageNotificationView.html#/s:25SCSDKCameraKitReferenceUI23MessageNotificationViewC5labelSo7UILabelCvp":{"name":"label","abstract":"

Default label in the message notification view

","parent_name":"MessageNotificationView"},"Classes/MessageNotificationView.html#/c:@M@SCSDKCameraKitReferenceUI@objc(cs)MessageNotificationView(im)init":{"name":"init()","abstract":"

Undocumented

","parent_name":"MessageNotificationView"},"Classes/CameraBottomBar.html#/s:25SCSDKCameraKitReferenceUI15CameraBottomBarC10snapButtonSo8UIButtonCvp":{"name":"snapButton","abstract":"

Snap ghost button for lens actions

","parent_name":"CameraBottomBar"},"Classes/CameraBottomBar.html#/s:25SCSDKCameraKitReferenceUI15CameraBottomBarC11closeButtonSo8UIButtonCvp":{"name":"closeButton","abstract":"

Close button to clear current lens

","parent_name":"CameraBottomBar"},"Classes/UserDataProvider.html#/c:@M@SCSDKCameraKitReferenceUI@objc(cs)UserDataProvider(py)delegate":{"name":"delegate","abstract":"

Delegate for CameraKit to receive updates on user data

","parent_name":"UserDataProvider"},"Classes/UserDataProvider.html#/c:@M@SCSDKCameraKitReferenceUI@objc(cs)UserDataProvider(py)userData":{"name":"userData","abstract":"

Mocked user data

","parent_name":"UserDataProvider"},"Classes/Recorder.html#/s:25SCSDKCameraKitReferenceUI8RecorderC6outputSo08SCCameraB14AVWriterOutputCvp":{"name":"output","abstract":"

The AVWriterOutput for CameraKt.

","parent_name":"Recorder"},"Classes/Recorder.html#/s:25SCSDKCameraKitReferenceUI8RecorderC3url11orientation4sizeAC10Foundation3URLV_So25AVCaptureVideoOrientationVSo6CGSizeVtKcfc":{"name":"init(url:orientation:size:)","abstract":"

Designated init to pass in required deps

","parent_name":"Recorder"},"Classes/Recorder.html#/s:25SCSDKCameraKitReferenceUI8RecorderC14startRecordingyyF":{"name":"startRecording()","abstract":"

Undocumented

","parent_name":"Recorder"},"Classes/Recorder.html#/s:25SCSDKCameraKitReferenceUI8RecorderC15finishRecording10completionyy10Foundation3URLVSg_s5Error_pSgtcSg_tF":{"name":"finishRecording(completion:)","abstract":"

Undocumented

","parent_name":"Recorder"},"Classes/VideoPreviewViewController.html#/s:25SCSDKCameraKitReferenceUI26VideoPreviewViewControllerC8videoUrl10Foundation3URLVvp":{"name":"videoUrl","abstract":"

URL which contains video file

","parent_name":"VideoPreviewViewController"},"Classes/VideoPreviewViewController.html#/s:25SCSDKCameraKitReferenceUI26VideoPreviewViewControllerC8videoUrlAC10Foundation3URLV_tcfc":{"name":"init(videoUrl:)","abstract":"

Init with url to video file

","parent_name":"VideoPreviewViewController"},"Classes/VideoPreviewViewController.html#/c:@M@SCSDKCameraKitReferenceUI@objc(cs)VideoPreviewViewController(im)viewDidLoad":{"name":"viewDidLoad()","abstract":"

Undocumented

","parent_name":"VideoPreviewViewController"},"Classes/VideoPreviewViewController.html#/c:@M@SCSDKCameraKitReferenceUI@objc(cs)VideoPreviewViewController(im)openSnapchatPressed:":{"name":"openSnapchatPressed(_:)","abstract":"

Undocumented

","parent_name":"VideoPreviewViewController"},"Classes/VideoPreviewViewController.html#/c:@M@SCSDKCameraKitReferenceUI@objc(cs)VideoPreviewViewController(im)sharePreviewPressed:":{"name":"sharePreviewPressed(_:)","abstract":"

Undocumented

","parent_name":"VideoPreviewViewController"},"Classes/VideoPreviewViewController.html#/c:@M@SCSDKCameraKitReferenceUI@objc(cs)VideoPreviewViewController(im)savePreviewPressed:":{"name":"savePreviewPressed(_:)","abstract":"

Undocumented

","parent_name":"VideoPreviewViewController"},"Classes/PreviewViewController.html#/s:25SCSDKCameraKitReferenceUI21PreviewViewControllerC16snapchatDelegateAA08SnapchatI0_pSgvp":{"name":"snapchatDelegate","abstract":"

Snapchat delegate for open requests

","parent_name":"PreviewViewController"},"Classes/PreviewViewController.html#/s:25SCSDKCameraKitReferenceUI21PreviewViewControllerC9onDismissyycSgvp":{"name":"onDismiss","abstract":"

Callback when user presses close button and dismisses preview view controller

","parent_name":"PreviewViewController"},"Classes/PreviewViewController.html#/c:@M@SCSDKCameraKitReferenceUI@objc(cs)PreviewViewController(im)viewDidLoad":{"name":"viewDidLoad()","abstract":"

Undocumented

","parent_name":"PreviewViewController"},"Classes/PreviewViewController.html#/c:@M@SCSDKCameraKitReferenceUI@objc(cs)PreviewViewController(im)openSnapchatPressed:":{"name":"openSnapchatPressed(_:)","abstract":"

Undocumented

","parent_name":"PreviewViewController"},"Classes/PreviewViewController.html#/c:@M@SCSDKCameraKitReferenceUI@objc(cs)PreviewViewController(im)savePreviewPressed:":{"name":"savePreviewPressed(_:)","abstract":"

Undocumented

","parent_name":"PreviewViewController"},"Classes/PreviewViewController.html#/c:@M@SCSDKCameraKitReferenceUI@objc(cs)PreviewViewController(im)sharePreviewPressed:":{"name":"sharePreviewPressed(_:)","abstract":"

Undocumented

","parent_name":"PreviewViewController"},"Classes/ImagePreviewViewController.html#/s:25SCSDKCameraKitReferenceUI26ImagePreviewViewControllerC5imageSo7UIImageCvp":{"name":"image","abstract":"

UIImage to display

","parent_name":"ImagePreviewViewController"},"Classes/ImagePreviewViewController.html#/s:25SCSDKCameraKitReferenceUI26ImagePreviewViewControllerC5imageACSo7UIImageC_tcfc":{"name":"init(image:)","abstract":"

Designated init to pass in required deps

","parent_name":"ImagePreviewViewController"},"Classes/ImagePreviewViewController.html#/c:@M@SCSDKCameraKitReferenceUI@objc(cs)ImagePreviewViewController(im)viewDidLoad":{"name":"viewDidLoad()","abstract":"

Undocumented

","parent_name":"ImagePreviewViewController"},"Classes/ImagePreviewViewController.html#/c:@M@SCSDKCameraKitReferenceUI@objc(cs)ImagePreviewViewController(im)openSnapchatPressed:":{"name":"openSnapchatPressed(_:)","abstract":"

Undocumented

","parent_name":"ImagePreviewViewController"},"Classes/ImagePreviewViewController.html#/c:@M@SCSDKCameraKitReferenceUI@objc(cs)ImagePreviewViewController(im)sharePreviewPressed:":{"name":"sharePreviewPressed(_:)","abstract":"

Undocumented

","parent_name":"ImagePreviewViewController"},"Classes/ImagePreviewViewController.html#/c:@M@SCSDKCameraKitReferenceUI@objc(cs)ImagePreviewViewController(im)savePreviewPressed:":{"name":"savePreviewPressed(_:)","abstract":"

Undocumented

","parent_name":"ImagePreviewViewController"},"Classes/MediaPickerView.html#/s:25SCSDKCameraKitReferenceUI15MediaPickerViewC8delegateAA0efG8Delegate_pSgvp":{"name":"delegate","abstract":"

Delegate to be notified of MediaPickerView events

","parent_name":"MediaPickerView"},"Classes/MediaPickerView.html#/s:25SCSDKCameraKitReferenceUI15MediaPickerViewC8providerSo08SCCamerab4LenseF8Provider_pSgvp":{"name":"provider","abstract":"

Undocumented

","parent_name":"MediaPickerView"},"Classes/MediaPickerView.html#/c:@M@SCSDKCameraKitReferenceUI@objc(cs)MediaPickerView(im)init":{"name":"init()","abstract":"

Designated init to provide in required deps

","parent_name":"MediaPickerView"},"Classes/MediaPickerView.html#/c:@M@SCSDKCameraKitReferenceUI@objc(cs)MediaPickerView(py)intrinsicContentSize":{"name":"intrinsicContentSize","abstract":"

Undocumented

","parent_name":"MediaPickerView"},"Classes/MediaPickerView.html#/c:@M@SCSDKCameraKitReferenceUI@objc(cs)MediaPickerView(im)layoutSubviews":{"name":"layoutSubviews()","abstract":"

Undocumented

","parent_name":"MediaPickerView"},"Classes/MediaPickerView.html#/c:@CM@SCSDKCameraKitReferenceUI@objc(cs)MediaPickerView(im)mediaPickerProviderRequestedUIPresentation:":{"name":"mediaPickerProviderRequestedUIPresentation(_:)","abstract":"

Undocumented

","parent_name":"MediaPickerView"},"Classes/MediaPickerView.html#/c:@CM@SCSDKCameraKitReferenceUI@objc(cs)MediaPickerView(im)mediaPickerProviderRequestedUIDismissal:":{"name":"mediaPickerProviderRequestedUIDismissal(_:)","abstract":"

Undocumented

","parent_name":"MediaPickerView"},"Classes/KeyboardAccessoryViewProvider.html#/c:@M@SCSDKCameraKitReferenceUI@objc(cs)KeyboardAccessoryViewProvider(py)textView":{"name":"textView","abstract":"

Undocumented

","parent_name":"KeyboardAccessoryViewProvider"},"Classes/KeyboardAccessoryViewProvider.html#/c:@M@SCSDKCameraKitReferenceUI@objc(cs)KeyboardAccessoryViewProvider(py)accessoryView":{"name":"accessoryView","abstract":"

Undocumented

","parent_name":"KeyboardAccessoryViewProvider"},"Classes/KeyboardAccessoryViewProvider.html#/c:@M@SCSDKCameraKitReferenceUI@objc(cs)KeyboardAccessoryViewProvider(py)placeholderText":{"name":"placeholderText","abstract":"

Undocumented

","parent_name":"KeyboardAccessoryViewProvider"},"Classes/KeyboardAccessoryViewProvider.html#/c:@M@SCSDKCameraKitReferenceUI@objc(cs)KeyboardAccessoryViewProvider(py)maximumHeight":{"name":"maximumHeight","abstract":"

Undocumented

","parent_name":"KeyboardAccessoryViewProvider"},"Classes/BundleHelper.html#/s:25SCSDKCameraKitReferenceUI12BundleHelperC09resourcesE0So8NSBundleCvpZ":{"name":"resourcesBundle","abstract":"

Internal helper computed property to get correct resources bundle","parent_name":"BundleHelper"},"Classes/CarouselView.html#/s:25SCSDKCameraKitReferenceUI12CarouselViewC8delegateAA0eF8Delegate_pSgvp":{"name":"delegate","abstract":"

The delegate for the carousel view which will be notified of the carousel view actions.

","parent_name":"CarouselView"},"Classes/CarouselView.html#/s:25SCSDKCameraKitReferenceUI12CarouselViewC10dataSourceAA0ef4DataH0_pSgvp":{"name":"dataSource","abstract":"

The object that manages data and provides items for the carousel view.

","parent_name":"CarouselView"},"Classes/CarouselView.html#/s:25SCSDKCameraKitReferenceUI12CarouselViewC10reloadDatayyF":{"name":"reloadData()","abstract":"

Reloads all of the data in the carousel view to display the latest carousel items.

","parent_name":"CarouselView"},"Classes/CarouselView.html#/s:25SCSDKCameraKitReferenceUI12CarouselViewC12selectedItemAA0eH0Cvp":{"name":"selectedItem","abstract":"

Current selected item or nil if none are selected (ie. when carousel is empty).

","parent_name":"CarouselView"},"Classes/CarouselView.html#/c:@M@SCSDKCameraKitReferenceUI@objc(cs)CarouselView(py)intrinsicContentSize":{"name":"intrinsicContentSize","abstract":"

Undocumented

","parent_name":"CarouselView"},"Classes/CarouselView.html#/c:@M@SCSDKCameraKitReferenceUI@objc(cs)CarouselView(im)layoutSubviews":{"name":"layoutSubviews()","abstract":"

Undocumented

","parent_name":"CarouselView"},"Classes/CarouselView.html#/s:25SCSDKCameraKitReferenceUI12CarouselViewC10selectItemySbAA0eH0CF":{"name":"selectItem(_:)","abstract":"

Select carousel item","parent_name":"CarouselView"},"Classes/CarouselView.html#/s:25SCSDKCameraKitReferenceUI12CarouselViewC04hideE0yyF":{"name":"hideCarousel()","abstract":"

Hide lens carousel.","parent_name":"CarouselView"},"Classes/CarouselView.html#/s:25SCSDKCameraKitReferenceUI12CarouselViewC04showE0yyF":{"name":"showCarousel()","abstract":"

Show lens carousel.","parent_name":"CarouselView"},"Classes/CarouselView.html#/c:@M@SCSDKCameraKitReferenceUI@objc(cs)CarouselView(im)collectionView:numberOfItemsInSection:":{"name":"collectionView(_:numberOfItemsInSection:)","abstract":"

Undocumented

","parent_name":"CarouselView"},"Classes/CarouselView.html#/c:@M@SCSDKCameraKitReferenceUI@objc(cs)CarouselView(im)collectionView:cellForItemAtIndexPath:":{"name":"collectionView(_:cellForItemAt:)","abstract":"

Undocumented

","parent_name":"CarouselView"},"Classes/CarouselView.html#/c:@M@SCSDKCameraKitReferenceUI@objc(cs)CarouselView(im)collectionView:willDisplayCell:forItemAtIndexPath:":{"name":"collectionView(_:willDisplay:forItemAt:)","abstract":"

Undocumented

","parent_name":"CarouselView"},"Classes/CarouselView.html#/c:@M@SCSDKCameraKitReferenceUI@objc(cs)CarouselView(im)collectionView:didEndDisplayingCell:forItemAtIndexPath:":{"name":"collectionView(_:didEndDisplaying:forItemAt:)","abstract":"

Undocumented

","parent_name":"CarouselView"},"Classes/CarouselView.html#/c:@M@SCSDKCameraKitReferenceUI@objc(cs)CarouselView(im)collectionView:didSelectItemAtIndexPath:":{"name":"collectionView(_:didSelectItemAt:)","abstract":"

Undocumented

","parent_name":"CarouselView"},"Classes/CarouselView.html#/c:@M@SCSDKCameraKitReferenceUI@objc(cs)CarouselView(im)scrollViewDidScroll:":{"name":"scrollViewDidScroll(_:)","abstract":"

Undocumented

","parent_name":"CarouselView"},"Classes/CarouselView.html#/s:25SCSDKCameraKitReferenceUI36CarouselCollectionViewLayoutDelegateP08carouselH0_15willTargetIndexyAA0efgH0C_SitF":{"name":"carouselLayout(_:willTargetIndex:)","parent_name":"CarouselView"},"Classes/CarouselView.html#/s:25SCSDKCameraKitReferenceUI38CarouselCollectionViewLayoutDataSourceP08carouselH0_18transformForItemAtSo17CGAffineTransformVAA0efgH0C_10Foundation9IndexPathVtF":{"name":"carouselLayout(_:transformForItemAt:)","parent_name":"CarouselView"},"Classes/EmptyItem.html#/s:25SCSDKCameraKitReferenceUI9EmptyItemCACycfc":{"name":"init()","abstract":"

Undocumented

","parent_name":"EmptyItem"},"Classes/CarouselItem.html#/s:25SCSDKCameraKitReferenceUI12CarouselItemC2idSSvp":{"name":"id","abstract":"

id for carousel item

","parent_name":"CarouselItem"},"Classes/CarouselItem.html#/s:25SCSDKCameraKitReferenceUI12CarouselItemC6lensIdSSvp":{"name":"lensId","abstract":"

lens id

","parent_name":"CarouselItem"},"Classes/CarouselItem.html#/s:25SCSDKCameraKitReferenceUI12CarouselItemC7groupIdSSvp":{"name":"groupId","abstract":"

group id lens belongs to

","parent_name":"CarouselItem"},"Classes/CarouselItem.html#/s:25SCSDKCameraKitReferenceUI12CarouselItemC8imageUrl10Foundation3URLVSgvp":{"name":"imageUrl","abstract":"

image url for lens icon

","parent_name":"CarouselItem"},"Classes/CarouselItem.html#/s:25SCSDKCameraKitReferenceUI12CarouselItemC5imageSo7UIImageCSgvp":{"name":"image","abstract":"

downloaded image for lens icon

","parent_name":"CarouselItem"},"Classes/CarouselItem.html#/s:25SCSDKCameraKitReferenceUI12CarouselItemC6lensId05groupH08imageUrl0J0ACSS_SS10Foundation3URLVSgSo7UIImageCSgtcfc":{"name":"init(lensId:groupId:imageUrl:image:)","abstract":"

Designated init for a carousel item

","parent_name":"CarouselItem"},"Classes/CarouselItem.html#/s:SQ2eeoiySbx_xtFZ":{"name":"==(_:_:)","parent_name":"CarouselItem"},"Classes/DefaultCarouselImageLoader.html#/s:25SCSDKCameraKitReferenceUI26DefaultCarouselImageLoaderC10urlSessionSo12NSURLSessionCvp":{"name":"urlSession","abstract":"

Undocumented

","parent_name":"DefaultCarouselImageLoader"},"Classes/DefaultCarouselImageLoader.html#/s:25SCSDKCameraKitReferenceUI26DefaultCarouselImageLoaderC10urlSessionACSo12NSURLSessionC_tcfc":{"name":"init(urlSession:)","abstract":"

Undocumented

","parent_name":"DefaultCarouselImageLoader"},"Classes/DefaultCarouselImageLoader.html#/s:25SCSDKCameraKitReferenceUI19CarouselImageLoaderP04loadF03url10completiony10Foundation3URLV_ySo7UIImageCSg_s5Error_pSgtcSgtF":{"name":"loadImage(url:completion:)","parent_name":"DefaultCarouselImageLoader"},"Classes/DefaultCarouselImageLoader.html#/s:25SCSDKCameraKitReferenceUI19CarouselImageLoaderP04loadF03url11cachePolicy5queue10completiony10Foundation3URLV_So017NSURLRequestCacheK0VSo012OS_dispatch_L0CySo7UIImageCSg_s5Error_pSgtcSgtF":{"name":"loadImage(url:cachePolicy:queue:completion:)","parent_name":"DefaultCarouselImageLoader"},"Classes/DefaultCarouselImageLoader.html#/s:25SCSDKCameraKitReferenceUI19CarouselImageLoaderP06cancelF4Load4fromy10Foundation3URLV_tF":{"name":"cancelImageLoad(from:)","parent_name":"DefaultCarouselImageLoader"},"Classes/CarouselCollectionViewLayout.html#/s:25SCSDKCameraKitReferenceUI28CarouselCollectionViewLayoutC8delegateAA0efgH8Delegate_pSgvp":{"name":"delegate","abstract":"

Weak ref to carousel layout delegate

","parent_name":"CarouselCollectionViewLayout"},"Classes/CarouselCollectionViewLayout.html#/s:25SCSDKCameraKitReferenceUI28CarouselCollectionViewLayoutC10dataSourceAA0efgh4DataJ0_pSgvp":{"name":"dataSource","abstract":"

Weak ref to carousel layout data source

","parent_name":"CarouselCollectionViewLayout"},"Classes/CarouselCollectionViewLayout.html#/c:@M@SCSDKCameraKitReferenceUI@objc(cs)CarouselCollectionViewLayout(im)targetContentOffsetForProposedContentOffset:withScrollingVelocity:":{"name":"targetContentOffset(forProposedContentOffset:withScrollingVelocity:)","abstract":"

Override flow layout target content offset to land at a specific item (for the paging effect)

","parent_name":"CarouselCollectionViewLayout"},"Classes/CarouselCollectionViewLayout.html#/c:@M@SCSDKCameraKitReferenceUI@objc(cs)CarouselCollectionViewLayout(im)layoutAttributesForElementsInRect:":{"name":"layoutAttributesForElements(in:)","abstract":"

Undocumented

","parent_name":"CarouselCollectionViewLayout"},"Classes/CarouselCollectionViewCell.html#/s:25SCSDKCameraKitReferenceUI26CarouselCollectionViewCellC05imageG0So07UIImageG0Cvp":{"name":"imageView","abstract":"

Undocumented

","parent_name":"CarouselCollectionViewCell"},"Classes/CarouselCollectionViewCell.html#/s:25SCSDKCameraKitReferenceUI26CarouselCollectionViewCellC017activityIndicatorG0So010UIActivityjG0Cvp":{"name":"activityIndicatorView","abstract":"

Activity indicator view that should activate when lens content is loading

","parent_name":"CarouselCollectionViewCell"},"Classes/CarouselCollectionViewCell.html#/c:@M@SCSDKCameraKitReferenceUI@objc(cs)CarouselCollectionViewCell(im)init":{"name":"init()","abstract":"

Undocumented

","parent_name":"CarouselCollectionViewCell"},"Classes/CarouselCollectionViewCell.html#/c:@M@SCSDKCameraKitReferenceUI@objc(cs)CarouselCollectionViewCell(im)initWithFrame:":{"name":"init(frame:)","abstract":"

Undocumented

","parent_name":"CarouselCollectionViewCell"},"Classes/CarouselCollectionViewCell.html#/c:@M@SCSDKCameraKitReferenceUI@objc(cs)CarouselCollectionViewCell(im)initWithCoder:":{"name":"init(coder:)","abstract":"

Undocumented

","parent_name":"CarouselCollectionViewCell"},"Classes/RingLightView.html#/s:25SCSDKCameraKitReferenceUI13RingLightViewC9topBorderSo6UIViewCvp":{"name":"topBorder","abstract":"

The top border of the ring light effect. This top border is unaffected by changes to the ring light gradient intensity.

","parent_name":"RingLightView"},"Classes/RingLightView.html#/s:25SCSDKCameraKitReferenceUI13RingLightViewC12bottomBorderSo6UIViewCvp":{"name":"bottomBorder","abstract":"

The bottom border of the ring light effect.

","parent_name":"RingLightView"},"Classes/RingLightView.html#/s:25SCSDKCameraKitReferenceUI13RingLightViewC04ringF8GradientAA0efiG0Cvp":{"name":"ringLightGradient","abstract":"

The gradient portion of the ring light effect.","parent_name":"RingLightView"},"Classes/RingLightView.html#/s:25SCSDKCameraKitReferenceUI13RingLightViewC11changeColor2toySo7UIColorC_tF":{"name":"changeColor(to:)","abstract":"

Changes the color of the ring light effect to the specified color.

","parent_name":"RingLightView"},"Classes/RingLightView.html#/c:@M@SCSDKCameraKitReferenceUI@objc(cs)RingLightView(im)initWithFrame:":{"name":"init(frame:)","abstract":"

Undocumented

","parent_name":"RingLightView"},"Classes/RingLightView.html#/c:@M@SCSDKCameraKitReferenceUI@objc(cs)RingLightView(im)initWithCoder:":{"name":"init(coder:)","abstract":"

Undocumented

","parent_name":"RingLightView"},"Classes/RingLightGradientView.html#/s:25SCSDKCameraKitReferenceUI21RingLightGradientViewC15updateIntensity2to8animatedy14CoreFoundation7CGFloatV_SbtF":{"name":"updateIntensity(to:animated:)","abstract":"

Updates the intensity of the ring light effect to the specified intensity.

","parent_name":"RingLightGradientView"},"Classes/RingLightGradientView.html#/s:25SCSDKCameraKitReferenceUI21RingLightGradientViewC11changeColor2toySo7UIColorC_tF":{"name":"changeColor(to:)","abstract":"

Changes the color of the ring light gradient to the specified color.

","parent_name":"RingLightGradientView"},"Classes/RingLightGradientView.html#/c:@M@SCSDKCameraKitReferenceUI@objc(cs)RingLightGradientView(im)initWithFrame:":{"name":"init(frame:)","abstract":"

Undocumented

","parent_name":"RingLightGradientView"},"Classes/RingLightGradientView.html#/c:@M@SCSDKCameraKitReferenceUI@objc(cs)RingLightGradientView(im)initWithCoder:":{"name":"init(coder:)","abstract":"

Undocumented

","parent_name":"RingLightGradientView"},"Classes/RingLightColorSelectionViewCell.html#/s:25SCSDKCameraKitReferenceUI31RingLightColorSelectionViewCellC14reuseIdentiferSSvpZ":{"name":"reuseIdentifer","abstract":"

Undocumented

","parent_name":"RingLightColorSelectionViewCell"},"Classes/RingLightColorSelectionViewCell.html#/s:25SCSDKCameraKitReferenceUI31RingLightColorSelectionViewCellC03setG0yySo7UIColorCF":{"name":"setColor(_:)","abstract":"

Used to set the color option that the cell represents.

","parent_name":"RingLightColorSelectionViewCell"},"Classes/RingLightColorSelectionViewCell.html#/s:25SCSDKCameraKitReferenceUI31RingLightColorSelectionViewCellC9highlightyyF":{"name":"highlight()","abstract":"

Used to highlight the color option that this cell represents when selected.

","parent_name":"RingLightColorSelectionViewCell"},"Classes/RingLightColorSelectionViewCell.html#/s:25SCSDKCameraKitReferenceUI31RingLightColorSelectionViewCellC11unhighlightyyF":{"name":"unhighlight()","abstract":"

Remove the highlight from this cell.

","parent_name":"RingLightColorSelectionViewCell"},"Classes/RingLightColorSelectionViewCell.html#/c:@M@SCSDKCameraKitReferenceUI@objc(cs)RingLightColorSelectionViewCell(im)layoutSubviews":{"name":"layoutSubviews()","abstract":"

Undocumented

","parent_name":"RingLightColorSelectionViewCell"},"Classes/RingLightColorSelectionViewCell.html#/c:@M@SCSDKCameraKitReferenceUI@objc(cs)RingLightColorSelectionViewCell(py)intrinsicContentSize":{"name":"intrinsicContentSize","abstract":"

Undocumented

","parent_name":"RingLightColorSelectionViewCell"},"Classes/RingLightColorSelectionView.html#/s:25SCSDKCameraKitReferenceUI27RingLightColorSelectionViewC8delegateAA0efghI8Delegate_pSgvp":{"name":"delegate","abstract":"

Delegate for handling updates to the color selection.

","parent_name":"RingLightColorSelectionView"},"Classes/RingLightColorSelectionView.html#/s:25SCSDKCameraKitReferenceUI27RingLightColorSelectionViewC010collectionI0So012UICollectionI0Cvp":{"name":"collectionView","abstract":"

Collection view which contains the different color options for the ring light.

","parent_name":"RingLightColorSelectionView"},"Classes/RingLightColorSelectionView.html#/c:@M@SCSDKCameraKitReferenceUI@objc(cs)RingLightColorSelectionView(im)layoutSubviews":{"name":"layoutSubviews()","abstract":"

Undocumented

","parent_name":"RingLightColorSelectionView"},"Classes/RingLightColorSelectionView.html#/c:@M@SCSDKCameraKitReferenceUI@objc(cs)RingLightColorSelectionView(py)intrinsicContentSize":{"name":"intrinsicContentSize","abstract":"

Undocumented

","parent_name":"RingLightColorSelectionView"},"Classes/RingLightColorSelectionView.html#/s:25SCSDKCameraKitReferenceUI27RingLightColorSelectionViewC014performInitialH09indexPathy10Foundation05IndexM0V_tF":{"name":"performInitialSelection(indexPath:)","abstract":"

To be called the first time the ring light color selection view appears.

","parent_name":"RingLightColorSelectionView"},"Classes/RingLightColorSelectionView.html#/c:@CM@SCSDKCameraKitReferenceUI@objc(cs)RingLightColorSelectionView(im)collectionView:didSelectItemAtIndexPath:":{"name":"collectionView(_:didSelectItemAt:)","abstract":"

Undocumented

","parent_name":"RingLightColorSelectionView"},"Classes/RingLightColorSelectionView.html#/c:@CM@SCSDKCameraKitReferenceUI@objc(cs)RingLightColorSelectionView(im)collectionView:didDeselectItemAtIndexPath:":{"name":"collectionView(_:didDeselectItemAt:)","abstract":"

Undocumented

","parent_name":"RingLightColorSelectionView"},"Classes/RingLightColorSelectionView.html#/c:@CM@SCSDKCameraKitReferenceUI@objc(cs)RingLightColorSelectionView(im)collectionView:numberOfItemsInSection:":{"name":"collectionView(_:numberOfItemsInSection:)","abstract":"

Undocumented

","parent_name":"RingLightColorSelectionView"},"Classes/RingLightColorSelectionView.html#/c:@CM@SCSDKCameraKitReferenceUI@objc(cs)RingLightColorSelectionView(im)collectionView:cellForItemAtIndexPath:":{"name":"collectionView(_:cellForItemAt:)","abstract":"

Undocumented

","parent_name":"RingLightColorSelectionView"},"Classes/FlashModeSelectionView.html#/s:25SCSDKCameraKitReferenceUI22FlashModeSelectionViewC8delegateAA0efgH8Delegate_pSgvp":{"name":"delegate","abstract":"

Delegate for handling update’s to the selected flash mode in the view.

","parent_name":"FlashModeSelectionView"},"Classes/FlashModeSelectionView.html#/s:25SCSDKCameraKitReferenceUI22FlashModeSelectionViewC05flashF0AA16CameraControllerC0eF0Ovp":{"name":"flashMode","abstract":"

The current FlashMode that is selected in the view.

","parent_name":"FlashModeSelectionView"},"Classes/FlashModeSelectionView.html#/c:@M@SCSDKCameraKitReferenceUI@objc(cs)FlashModeSelectionView(im)initWithFrame:":{"name":"init(frame:)","abstract":"

Undocumented

","parent_name":"FlashModeSelectionView"},"Classes/FlashControlView.html#/s:25SCSDKCameraKitReferenceUI16FlashControlViewC8delegateAA0efG8Delegate_pSgvp":{"name":"delegate","abstract":"

Delegate for handling changes to the view’s controls.

","parent_name":"FlashControlView"},"Classes/FlashControlView.html#/s:25SCSDKCameraKitReferenceUI16FlashControlViewC23ringLightIntensityValueSfvp":{"name":"ringLightIntensityValue","abstract":"

The intensity of the ring light according to the control’s slider’s value.

","parent_name":"FlashControlView"},"Classes/FlashControlView.html#/s:25SCSDKCameraKitReferenceUI16FlashControlViewC12primaryLabelSo7UILabelCvp":{"name":"primaryLabel","abstract":"

Primary label for the control.

","parent_name":"FlashControlView"},"Classes/FlashControlView.html#/s:25SCSDKCameraKitReferenceUI16FlashControlViewC018flashModeSelectionG0AA0eijG0Cvp":{"name":"flashModeSelectionView","abstract":"

View that enables the user to swtich between flash modes.

","parent_name":"FlashControlView"},"Classes/FlashControlView.html#/s:25SCSDKCameraKitReferenceUI16FlashControlViewC023ringLightColorSelectionG0AA04RingijkG0Cvp":{"name":"ringLightColorSelectionView","abstract":"

View with ring light color options to select between.

","parent_name":"FlashControlView"},"Classes/FlashControlView.html#/c:@M@SCSDKCameraKitReferenceUI@objc(cs)FlashControlView(im)initWithFrame:":{"name":"init(frame:)","abstract":"

Undocumented

","parent_name":"FlashControlView"},"Classes/FlashControlView.html#/c:@M@SCSDKCameraKitReferenceUI@objc(cs)FlashControlView(py)intrinsicContentSize":{"name":"intrinsicContentSize","abstract":"

Undocumented

","parent_name":"FlashControlView"},"Classes/FlashControlView.html#/s:25SCSDKCameraKitReferenceUI30FlashModeSelectionViewDelegateP05flashfgH0_07updatedF0yAA0efgH0C_AA16CameraControllerC0eF0OtF":{"name":"flashModeSelectionView(_:updatedMode:)","parent_name":"FlashControlView"},"Classes/FlashControlView.html#/s:25SCSDKCameraKitReferenceUI21ControlSliderDelegateP07controlF0_12updatedValue4doneyAA0eF0C_SfSbtF":{"name":"controlSlider(_:updatedValue:done:)","parent_name":"FlashControlView"},"Classes/FlashControlView.html#/s:25SCSDKCameraKitReferenceUI35RingLightColorSelectionViewDelegateP04ringfghI0_08selectedG0yAA0efghI0C_So7UIColorCtF":{"name":"ringLightColorSelectionView(_:selectedColor:)","parent_name":"FlashControlView"},"Classes/CameraViewController.html#/s:25SCSDKCameraKitReferenceUI20CameraViewControllerC06cameraG0AA0eG0Cvp":{"name":"cameraController","abstract":"

A controller which manages the camera and lenses stack on behalf of the view controller

","parent_name":"CameraViewController"},"Classes/CameraViewController.html#/s:25SCSDKCameraKitReferenceUI20CameraViewControllerC22appOrientationDelegateAA03AppiJ0_pSgvp":{"name":"appOrientationDelegate","abstract":"

App orientation delegate to control app orientation

","parent_name":"CameraViewController"},"Classes/CameraViewController.html#/s:25SCSDKCameraKitReferenceUI20CameraViewControllerC06cameraF0AA0eF0Cvp":{"name":"cameraView","abstract":"

Undocumented

","parent_name":"CameraViewController"},"Classes/CameraViewController.html#/c:@M@SCSDKCameraKitReferenceUI@objc(cs)CameraViewController(im)loadView":{"name":"loadView()","abstract":"

Undocumented

","parent_name":"CameraViewController"},"Classes/CameraViewController.html#/c:@M@SCSDKCameraKitReferenceUI@objc(cs)CameraViewController(im)viewDidLoad":{"name":"viewDidLoad()","abstract":"

Undocumented

","parent_name":"CameraViewController"},"Classes/CameraViewController.html#/c:@M@SCSDKCameraKitReferenceUI@objc(cs)CameraViewController(im)viewDidAppear:":{"name":"viewDidAppear(_:)","abstract":"

Undocumented

","parent_name":"CameraViewController"},"Classes/CameraViewController.html#/c:@M@SCSDKCameraKitReferenceUI@objc(cs)CameraViewController(im)viewDidDisappear:":{"name":"viewDidDisappear(_:)","abstract":"

Undocumented

","parent_name":"CameraViewController"},"Classes/CameraViewController.html#/s:25SCSDKCameraKitReferenceUI20CameraViewControllerC10repoGroups13sessionConfigACSaySSG_So08SCCamerab7SessionK0CSgtcfc":{"name":"init(repoGroups:sessionConfig:)","abstract":"

Returns a camera view controller initialized with a camera controller that is configured with a newly created AVCaptureSession stack","parent_name":"CameraViewController"},"Classes/CameraViewController.html#/s:25SCSDKCameraKitReferenceUI20CameraViewControllerC06cameraB014captureSession10repoGroupsACSo08SCCameraB8Protocol_p_So09AVCaptureJ0CSaySSGtcfc":{"name":"init(cameraKit:captureSession:repoGroups:)","abstract":"

Convenience init to configure a camera controller with a specified AVCaptureSession stack, CameraKit, and list of group IDs.

","parent_name":"CameraViewController"},"Classes/CameraViewController.html#/s:25SCSDKCameraKitReferenceUI20CameraViewControllerC06cameraG0AcA0eG0C_tcfc":{"name":"init(cameraController:)","abstract":"

Initialize the view controller with a preconfigured camera controller

","parent_name":"CameraViewController"},"Classes/CameraViewController.html#/s:25SCSDKCameraKitReferenceUI20CameraViewControllerC10getMessage4lensSSSo08SCCameraB4Lens_p_tF":{"name":"getMessage(lens:)","abstract":"

get message to display in popup view for selected lens

","parent_name":"CameraViewController"},"Classes/CameraViewController.html#/s:25SCSDKCameraKitReferenceUI20CameraViewControllerC11showMessage4lensySo08SCCameraB4Lens_p_tF":{"name":"showMessage(lens:)","abstract":"

Displays a message indicating that a specified lens has been displayed

","parent_name":"CameraViewController"},"Classes/CameraViewController.html#/c:@M@SCSDKCameraKitReferenceUI@objc(cs)CameraViewController(im)viewWillTransitionToSize:withTransitionCoordinator:":{"name":"viewWillTransition(to:with:)","abstract":"

Undocumented

","parent_name":"CameraViewController"},"Classes/CameraViewController.html#/s:25SCSDKCameraKitReferenceUI20CameraViewControllerC9applyLensyySo08SCCamerabI0_pF":{"name":"applyLens(_:)","abstract":"

Apply a specific lens

","parent_name":"CameraViewController"},"Classes/CameraViewController.html#/s:25SCSDKCameraKitReferenceUI20CameraViewControllerC9clearLensyyF":{"name":"clearLens()","abstract":"

Helper function to clear currently selected lens

","parent_name":"CameraViewController"},"Classes/CameraViewController.html#/s:25SCSDKCameraKitReferenceUI26CameraControllerUIDelegateP06cameraF0_13updatedLensesyAA0eF0C_SaySo08SCCameraB4Lens_pGtF":{"name":"cameraController(_:updatedLenses:)","parent_name":"CameraViewController"},"Classes/CameraViewController.html#/s:25SCSDKCameraKitReferenceUI26CameraControllerUIDelegateP06cameraF30RequestedActivityIndicatorShowyyAA0eF0CF":{"name":"cameraControllerRequestedActivityIndicatorShow(_:)","parent_name":"CameraViewController"},"Classes/CameraViewController.html#/s:25SCSDKCameraKitReferenceUI26CameraControllerUIDelegateP06cameraF30RequestedActivityIndicatorHideyyAA0eF0CF":{"name":"cameraControllerRequestedActivityIndicatorHide(_:)","parent_name":"CameraViewController"},"Classes/CameraViewController.html#/s:25SCSDKCameraKitReferenceUI26CameraControllerUIDelegateP06cameraF22RequestedRingLightShowyyAA0eF0CF":{"name":"cameraControllerRequestedRingLightShow(_:)","parent_name":"CameraViewController"},"Classes/CameraViewController.html#/s:25SCSDKCameraKitReferenceUI26CameraControllerUIDelegateP06cameraF22RequestedRingLightHideyyAA0eF0CF":{"name":"cameraControllerRequestedRingLightHide(_:)","parent_name":"CameraViewController"},"Classes/CameraViewController.html#/s:25SCSDKCameraKitReferenceUI26CameraControllerUIDelegateP06cameraF25RequestedFlashControlHideyyAA0eF0CF":{"name":"cameraControllerRequestedFlashControlHide(_:)","parent_name":"CameraViewController"},"Classes/CameraViewController.html#/s:25SCSDKCameraKitReferenceUI26CameraControllerUIDelegateP06cameraF32RequestedSnapAttributionViewShowyyAA0eF0CF":{"name":"cameraControllerRequestedSnapAttributionViewShow(_:)","parent_name":"CameraViewController"},"Classes/CameraViewController.html#/s:25SCSDKCameraKitReferenceUI26CameraControllerUIDelegateP06cameraF32RequestedSnapAttributionViewHideyyAA0eF0CF":{"name":"cameraControllerRequestedSnapAttributionViewHide(_:)","parent_name":"CameraViewController"},"Classes/CameraViewController.html#/s:25SCSDKCameraKitReferenceUI26CameraControllerUIDelegateP06cameraf9RequestedE4FlipyyAA0eF0CF":{"name":"cameraControllerRequestedCameraFlip(_:)","parent_name":"CameraViewController"},"Classes/CameraViewController.html#/s:25SCSDKCameraKitReferenceUI26CameraControllerUIDelegateP06cameraF0_20requestedHintDisplay3for8autohideyAA0eF0C_SSSo08SCCameraB4Lens_pSbtF":{"name":"cameraController(_:requestedHintDisplay:for:autohide:)","parent_name":"CameraViewController"},"Classes/CameraViewController.html#/s:25SCSDKCameraKitReferenceUI26CameraControllerUIDelegateP06cameraF0_20requestedHintHideForyAA0eF0C_So08SCCameraB4Lens_ptF":{"name":"cameraController(_:requestedHintHideFor:)","parent_name":"CameraViewController"},"Classes/CameraViewController.html#/c:@CM@SCSDKCameraKitReferenceUI@objc(cs)CameraViewController(im)processorUpdatedAdjustmentsAvailability:":{"name":"processorUpdatedAdjustmentsAvailability(_:)","abstract":"

Undocumented

","parent_name":"CameraViewController"},"Classes/CameraViewController.html#/s:25SCSDKCameraKitReferenceUI20CarouselViewDelegateP08carouselF0_9didSelect2atyAA0eF0C_AA0E4ItemCSitF":{"name":"carouselView(_:didSelect:at:)","parent_name":"CameraViewController"},"Classes/CameraViewController.html#/s:25SCSDKCameraKitReferenceUI22CarouselViewDataSourceP08itemsForeF0ySayAA0E4ItemCGAA0eF0CF":{"name":"itemsForCarouselView(_:)","parent_name":"CameraViewController"},"Classes/CameraViewController.html#/s:25SCSDKCameraKitReferenceUI20CameraButtonDelegateP06cameraF6TappedyyAA0eF0CF":{"name":"cameraButtonTapped(_:)","parent_name":"CameraViewController"},"Classes/CameraViewController.html#/s:25SCSDKCameraKitReferenceUI20CameraButtonDelegateP06cameraF9HoldBeganyyAA0eF0CF":{"name":"cameraButtonHoldBegan(_:)","parent_name":"CameraViewController"},"Classes/CameraViewController.html#/s:25SCSDKCameraKitReferenceUI20CameraButtonDelegateP06cameraF13HoldCancelledyyAA0eF0CF":{"name":"cameraButtonHoldCancelled(_:)","parent_name":"CameraViewController"},"Classes/CameraViewController.html#/s:25SCSDKCameraKitReferenceUI20CameraButtonDelegateP06cameraF9HoldEndedyyAA0eF0CF":{"name":"cameraButtonHoldEnded(_:)","parent_name":"CameraViewController"},"Classes/CameraViewController.html#/s:25SCSDKCameraKitReferenceUI24FlashControlViewDelegateP05flashfG0_21updatedRingLightValueyAA0efG0C_SftF":{"name":"flashControlView(_:updatedRingLightValue:)","parent_name":"CameraViewController"},"Classes/CameraViewController.html#/s:25SCSDKCameraKitReferenceUI24FlashControlViewDelegateP05flashfG0_22selectedRingLightColoryAA0efG0C_So7UIColorCtF":{"name":"flashControlView(_:selectedRingLightColor:)","parent_name":"CameraViewController"},"Classes/CameraViewController.html#/s:25SCSDKCameraKitReferenceUI24FlashControlViewDelegateP05flashfG0_07updatedE4ModeyAA0efG0C_AA16CameraControllerC0eK0OtF":{"name":"flashControlView(_:updatedFlashMode:)","parent_name":"CameraViewController"},"Classes/CameraViewController.html#/c:@CM@SCSDKCameraKitReferenceUI@objc(cs)CameraViewController(im)presentationControllerWillDismiss:":{"name":"presentationControllerWillDismiss(_:)","abstract":"

Undocumented

","parent_name":"CameraViewController"},"Classes/CameraView.html#/s:25SCSDKCameraKitReferenceUI10CameraViewC07previewF0So08SCCamerab7PreviewF0Cvp":{"name":"previewView","abstract":"

default camerakit view to draw outputted textures

","parent_name":"CameraView"},"Classes/CameraView.html#/s:25SCSDKCameraKitReferenceUI10CameraViewC15cameraBottomBarAA0ehI0Cvp":{"name":"cameraBottomBar","abstract":"

bottom bar below carousel

","parent_name":"CameraView"},"Classes/CameraView.html#/s:25SCSDKCameraKitReferenceUI10CameraViewC9hintLabelSo7UILabelCvp":{"name":"hintLabel","abstract":"

Undocumented

","parent_name":"CameraView"},"Classes/CameraView.html#/s:25SCSDKCameraKitReferenceUI10CameraViewC9lensLabelSo7UILabelCvp":{"name":"lensLabel","abstract":"

top label to show current selected lens

","parent_name":"CameraView"},"Classes/CameraView.html#/s:25SCSDKCameraKitReferenceUI10CameraViewC09ringLightF0AA04RinghF0Cvp":{"name":"ringLightView","abstract":"

View used for ring light effect.

","parent_name":"CameraView"},"Classes/CameraView.html#/s:25SCSDKCameraKitReferenceUI10CameraViewC013cameraActionsF0AA0ehF0Cvp":{"name":"cameraActionsView","abstract":"

View that contains the buttons for various camera actions (flip, adjust, etc.)

","parent_name":"CameraView"},"Classes/CameraView.html#/s:25SCSDKCameraKitReferenceUI10CameraViewC012flashControlF0AA05FlashhF0Cvp":{"name":"flashControlView","abstract":"

Control view for switching between flash and ring light as well as controlling ring light color and intensity.

","parent_name":"CameraView"},"Classes/CameraView.html#/s:25SCSDKCameraKitReferenceUI10CameraViewC25flashControlDismissalHintSo7UILabelCvp":{"name":"flashControlDismissalHint","abstract":"

Label shown beneath the ring light control that provides a hint regarding dismissing the control.

","parent_name":"CameraView"},"Classes/CameraView.html#/s:25SCSDKCameraKitReferenceUI10CameraViewC014toneMapControlF0AA010AdjustmentiF0Cvp":{"name":"toneMapControlView","abstract":"

Control view for tone map adjustment that allows the user to adjust the intensity of the tone map effect.

","parent_name":"CameraView"},"Classes/CameraView.html#/s:25SCSDKCameraKitReferenceUI10CameraViewC32toneMapControlDismissalHintLabelSo7UILabelCvp":{"name":"toneMapControlDismissalHintLabel","abstract":"

Label shown beneath the tone map control that provides a hint regarding dismissing the control.

","parent_name":"CameraView"},"Classes/CameraView.html#/s:25SCSDKCameraKitReferenceUI10CameraViewC015portraitControlF0AA010AdjustmenthF0Cvp":{"name":"portraitControlView","abstract":"

Control view for portrait that allows the user to adjust the intensity of the portrait effect.

","parent_name":"CameraView"},"Classes/CameraView.html#/s:25SCSDKCameraKitReferenceUI10CameraViewC33portraitControlDismissalHintLabelSo7UILabelCvp":{"name":"portraitControlDismissalHintLabel","abstract":"

Label shown beneath the portrait control that provides a hint regarding dismissing the control.

","parent_name":"CameraView"},"Classes/CameraView.html#/s:25SCSDKCameraKitReferenceUI10CameraViewC08carouselF0AA08CarouselF0Cvp":{"name":"carouselView","abstract":"

carousel to scroll through lenses

","parent_name":"CameraView"},"Classes/CameraView.html#/s:25SCSDKCameraKitReferenceUI10CameraViewC12cameraButtonAA0eH0Cvp":{"name":"cameraButton","abstract":"

camera button to capture/record

","parent_name":"CameraView"},"Classes/CameraView.html#/s:25SCSDKCameraKitReferenceUI10CameraViewC011mediaPickerF0AA05MediahF0Cvp":{"name":"mediaPickerView","abstract":"

media picker to allow using photos from camera roll in lenses

","parent_name":"CameraView"},"Classes/CameraView.html#/s:25SCSDKCameraKitReferenceUI10CameraViewC07messageF0AA019MessageNotificationF0Cvp":{"name":"messageView","abstract":"

message view to show updates when selected lens changes

","parent_name":"CameraView"},"Classes/CameraView.html#/s:25SCSDKCameraKitReferenceUI10CameraViewC015snapAttributionF0AA04SnaphF0Cvp":{"name":"snapAttributionView","abstract":"

Undocumented

","parent_name":"CameraView"},"Classes/CameraView.html#/s:25SCSDKCameraKitReferenceUI10CameraViewC17activityIndicatorSo010UIActivityhF0Cvp":{"name":"activityIndicator","abstract":"

Undocumented

","parent_name":"CameraView"},"Classes/CameraView.html#/c:@M@SCSDKCameraKitReferenceUI@objc(cs)CameraView(im)initWithFrame:":{"name":"init(frame:)","abstract":"

Undocumented

","parent_name":"CameraView"},"Classes/CameraView.html#/c:@M@SCSDKCameraKitReferenceUI@objc(cs)CameraView(im)layoutSubviews":{"name":"layoutSubviews()","abstract":"

Undocumented

","parent_name":"CameraView"},"Classes/CameraView.html#/s:25SCSDKCameraKitReferenceUI10CameraViewC11showMessage4text13numberOfLines8durationySS_SiSdtF":{"name":"showMessage(text:numberOfLines:duration:)","abstract":"

Undocumented

","parent_name":"CameraView"},"Classes/CameraView.html#/s:25SCSDKCameraKitReferenceUI10CameraViewC22setupActivityIndicatoryyF":{"name":"setupActivityIndicator()","abstract":"

Undocumented

","parent_name":"CameraView"},"Classes/CameraView.html#/s:25SCSDKCameraKitReferenceUI10CameraViewC19isAnyControlVisibleSbvp":{"name":"isAnyControlVisible","abstract":"

Undocumented

","parent_name":"CameraView"},"Classes/CameraView.html#/s:25SCSDKCameraKitReferenceUI10CameraViewC15hideAllControlsyyF":{"name":"hideAllControls()","abstract":"

Undocumented

","parent_name":"CameraView"},"Classes/CameraView.html#/s:25SCSDKCameraKitReferenceUI10CameraViewC016drawTapAnimationF02atySo7CGPointV_tF":{"name":"drawTapAnimationView(at:)","abstract":"

Undocumented

","parent_name":"CameraView"},"Classes/CameraConfigurableActionView.html#/s:25SCSDKCameraKitReferenceUI28CameraConfigurableActionViewC12configurableSbvp":{"name":"configurable","abstract":"

Whether or not the action is currently configurable via a control view.","parent_name":"CameraConfigurableActionView"},"Classes/CameraConfigurableActionView.html#/s:25SCSDKCameraKitReferenceUI28CameraConfigurableActionViewC12toggleButtonSo8UIButtonCvp":{"name":"toggleButton","abstract":"

Button used to enable/disable camera action.","parent_name":"CameraConfigurableActionView"},"Classes/CameraConfigurableActionView.html#/s:25SCSDKCameraKitReferenceUI28CameraConfigurableActionViewC19configurationButtonSo8UIButtonCvp":{"name":"configurationButton","abstract":"

Button used to open/close the settings for the camera action.","parent_name":"CameraConfigurableActionView"},"Classes/CameraConfigurableActionView.html#/s:25SCSDKCameraKitReferenceUI28CameraConfigurableActionViewC010blurEffectH0So08UIVisualjH0Cvp":{"name":"blurEffectView","abstract":"

View that provides the stack view with its blurred background.

","parent_name":"CameraConfigurableActionView"},"Classes/CameraConfigurableActionView.html#/s:25SCSDKCameraKitReferenceUI28CameraConfigurableActionViewC8collapseyyF":{"name":"collapse()","abstract":"

Undocumented

","parent_name":"CameraConfigurableActionView"},"Classes/CameraConfigurableActionView.html#/s:25SCSDKCameraKitReferenceUI28CameraConfigurableActionViewC6expandyyF":{"name":"expand()","abstract":"

Undocumented

","parent_name":"CameraConfigurableActionView"},"Classes/CameraConfigurableActionView.html#/c:@M@SCSDKCameraKitReferenceUI@objc(cs)CameraConfigurableActionView(im)initWithFrame:":{"name":"init(frame:)","abstract":"

Undocumented

","parent_name":"CameraConfigurableActionView"},"Classes/CameraConfigurableActionView.html#/c:@M@SCSDKCameraKitReferenceUI@objc(cs)CameraConfigurableActionView(im)initWithCoder:":{"name":"init(coder:)","abstract":"

Undocumented

","parent_name":"CameraConfigurableActionView"},"Classes/CameraConfigurableActionView.html#/c:@M@SCSDKCameraKitReferenceUI@objc(cs)CameraConfigurableActionView(im)layoutSubviews":{"name":"layoutSubviews()","abstract":"

Undocumented

","parent_name":"CameraConfigurableActionView"},"Classes/CameraConfigurableActionView.html#/s:25SCSDKCameraKitReferenceUI28CameraConfigurableActionViewC06enableG0yycSgvp":{"name":"enableAction","abstract":"

Callback to enable the camera action when the toggle button is selected.

","parent_name":"CameraConfigurableActionView"},"Classes/CameraConfigurableActionView.html#/s:25SCSDKCameraKitReferenceUI28CameraConfigurableActionViewC07disableG0yycSgvp":{"name":"disableAction","abstract":"

Callback to disable the camera action when the toggle button is deselected.

","parent_name":"CameraConfigurableActionView"},"Classes/CameraConfigurableActionView.html#/s:25SCSDKCameraKitReferenceUI28CameraConfigurableActionViewC04showG8SettingsyycSgvp":{"name":"showActionSettings","abstract":"

Callback to show the settings for the camera action.

","parent_name":"CameraConfigurableActionView"},"Classes/CameraConfigurableActionView.html#/s:25SCSDKCameraKitReferenceUI28CameraConfigurableActionViewC04hideG8SettingsyycSgvp":{"name":"hideActionSettings","abstract":"

Callback to hide the settings for the camera action.

","parent_name":"CameraConfigurableActionView"},"Classes/CameraConfigurableActionView.html#/s:25SCSDKCameraKitReferenceUI28CameraConfigurableActionViewC06toggleG18SettingsVisibilityyycSgvp":{"name":"toggleActionSettingsVisibility","abstract":"

Callback to toggle the visibility of the settings for the camera action.

","parent_name":"CameraConfigurableActionView"},"Classes/CameraActionsView.html#/s:25SCSDKCameraKitReferenceUI17CameraActionsViewC04flipE6ButtonSo8UIButtonCvp":{"name":"flipCameraButton","abstract":"

Button to flip camera input position

","parent_name":"CameraActionsView"},"Classes/CameraActionsView.html#/s:25SCSDKCameraKitReferenceUI17CameraActionsViewC34flashToggleButtonBaseSelectedImageSo7UIImageCSgvp":{"name":"flashToggleButtonBaseSelectedImage","abstract":"

Undocumented

","parent_name":"CameraActionsView"},"Classes/CameraActionsView.html#/s:25SCSDKCameraKitReferenceUI17CameraActionsViewC011flashActionG0AA0e12ConfigurableiG0Cvp":{"name":"flashActionView","abstract":"

View with buttons to enable/disable flash and switch between system flash and ring light.

","parent_name":"CameraActionsView"},"Classes/CameraActionsView.html#/s:25SCSDKCameraKitReferenceUI17CameraActionsViewC30setupFlashToggleButtonForFrontyyF":{"name":"setupFlashToggleButtonForFront()","abstract":"

Sets up the flash toggle button for front flash.

","parent_name":"CameraActionsView"},"Classes/CameraActionsView.html#/s:25SCSDKCameraKitReferenceUI17CameraActionsViewC29setupFlashToggleButtonForBackyyF":{"name":"setupFlashToggleButtonForBack()","abstract":"

Sets up the flash toggle button for back flash.

","parent_name":"CameraActionsView"},"Classes/CameraActionsView.html#/s:25SCSDKCameraKitReferenceUI17CameraActionsViewC013toneMapActionG0AA0e12ConfigurablejG0Cvp":{"name":"toneMapActionView","abstract":"

View with buttons to enable/disable the tone map adjustment and control the intensity of the adjustment.

","parent_name":"CameraActionsView"},"Classes/CameraActionsView.html#/s:25SCSDKCameraKitReferenceUI17CameraActionsViewC014portraitActionG0AA0e12ConfigurableiG0Cvp":{"name":"portraitActionView","abstract":"

View with buttons to enable/disable the portrait adjustment and control the intensity of the adjustment.

","parent_name":"CameraActionsView"},"Classes/CameraActionsView.html#/s:25SCSDKCameraKitReferenceUI17CameraActionsViewC011buttonStackG0So07UIStackG0Cvp":{"name":"buttonStackView","abstract":"

Stack view used to arrange the view’s buttons.

","parent_name":"CameraActionsView"},"Classes/CameraActionsView.html#/s:25SCSDKCameraKitReferenceUI17CameraActionsViewC8collapseyyF":{"name":"collapse()","abstract":"

Hide all camera actions except camera flip while recording.

","parent_name":"CameraActionsView"},"Classes/CameraActionsView.html#/s:25SCSDKCameraKitReferenceUI17CameraActionsViewC6expandyyF":{"name":"expand()","abstract":"

Unhide all camera actions that were hidden as a result of a call to collapse.

","parent_name":"CameraActionsView"},"Classes/CameraActionsView.html#/c:@M@SCSDKCameraKitReferenceUI@objc(cs)CameraActionsView(im)initWithFrame:":{"name":"init(frame:)","abstract":"

Undocumented

","parent_name":"CameraActionsView"},"Classes/CameraActionsView.html#/c:@M@SCSDKCameraKitReferenceUI@objc(cs)CameraActionsView(im)layoutSubviews":{"name":"layoutSubviews()","abstract":"

Undocumented

","parent_name":"CameraActionsView"},"Classes/ControlSlider.html#/s:25SCSDKCameraKitReferenceUI13ControlSliderC8delegateAA0eF8Delegate_pSgvp":{"name":"delegate","abstract":"

Delegate for handling updates to the slider’s value.

","parent_name":"ControlSlider"},"Classes/ControlSlider.html#/c:@M@SCSDKCameraKitReferenceUI@objc(cs)ControlSlider(im)setValue:animated:":{"name":"setValue(_:animated:)","abstract":"

Undocumented

","parent_name":"ControlSlider"},"Classes/ControlSlider.html#/s:25SCSDKCameraKitReferenceUI13ControlSliderC13setThumbColoryySo7UIColorCF":{"name":"setThumbColor(_:)","abstract":"

Sets the color of the slider’s thumb.

","parent_name":"ControlSlider"},"Classes/ControlSlider.html#/c:@M@SCSDKCameraKitReferenceUI@objc(cs)ControlSlider(im)layoutSubviews":{"name":"layoutSubviews()","abstract":"

Undocumented

","parent_name":"ControlSlider"},"Classes/ControlSlider.html#/c:@M@SCSDKCameraKitReferenceUI@objc(cs)ControlSlider(py)intrinsicContentSize":{"name":"intrinsicContentSize","abstract":"

Undocumented

","parent_name":"ControlSlider"},"Classes/AdjustmentControlView/Variant.html#/s:25SCSDKCameraKitReferenceUI21AdjustmentControlViewC7VariantO4toneyA2EmF":{"name":"tone","abstract":"

Undocumented

","parent_name":"Variant"},"Classes/AdjustmentControlView/Variant.html#/s:25SCSDKCameraKitReferenceUI21AdjustmentControlViewC7VariantO8portraityA2EmF":{"name":"portrait","abstract":"

Undocumented

","parent_name":"Variant"},"Classes/AdjustmentControlView/Variant.html#/s:25SCSDKCameraKitReferenceUI21AdjustmentControlViewC7VariantO5labelSSvp":{"name":"label","abstract":"

Text for the primary label of the control with the specified variant.

","parent_name":"Variant"},"Classes/AdjustmentControlView/Variant.html":{"name":"Variant","abstract":"

Adjustments that can be controlled via this view.","parent_name":"AdjustmentControlView"},"Classes/AdjustmentControlView.html#/s:25SCSDKCameraKitReferenceUI21AdjustmentControlViewC8delegateAA0efG8Delegate_pSgvp":{"name":"delegate","abstract":"

Delegate for handling changes to the adjustment intensity slider.

","parent_name":"AdjustmentControlView"},"Classes/AdjustmentControlView.html#/s:25SCSDKCameraKitReferenceUI21AdjustmentControlViewC14intensityValueSfvp":{"name":"intensityValue","abstract":"

The intensity of the adjustment according to the control’s slider’s value.

","parent_name":"AdjustmentControlView"},"Classes/AdjustmentControlView.html#/s:25SCSDKCameraKitReferenceUI21AdjustmentControlViewC12primaryLabelSo7UILabelCvp":{"name":"primaryLabel","abstract":"

Primary label for the control.

","parent_name":"AdjustmentControlView"},"Classes/AdjustmentControlView.html#/s:25SCSDKCameraKitReferenceUI21AdjustmentControlViewC14secondaryLabelSo7UILabelCvp":{"name":"secondaryLabel","abstract":"

Secondary label for the control.

","parent_name":"AdjustmentControlView"},"Classes/AdjustmentControlView.html#/c:@M@SCSDKCameraKitReferenceUI@objc(cs)AdjustmentControlView(im)initWithFrame:":{"name":"init(frame:)","abstract":"

Undocumented

","parent_name":"AdjustmentControlView"},"Classes/AdjustmentControlView.html#/c:@M@SCSDKCameraKitReferenceUI@objc(cs)AdjustmentControlView(im)layoutSubviews":{"name":"layoutSubviews()","abstract":"

Undocumented

","parent_name":"AdjustmentControlView"},"Classes/AdjustmentControlView.html#/c:@M@SCSDKCameraKitReferenceUI@objc(cs)AdjustmentControlView(py)intrinsicContentSize":{"name":"intrinsicContentSize","abstract":"

Undocumented

","parent_name":"AdjustmentControlView"},"Classes/AdjustmentControlView.html#/s:25SCSDKCameraKitReferenceUI21ControlSliderDelegateP07controlF0_12updatedValue4doneyAA0eF0C_SfSbtF":{"name":"controlSlider(_:updatedValue:done:)","parent_name":"AdjustmentControlView"},"Classes/CameraButton.html#/s:25SCSDKCameraKitReferenceUI12CameraButtonC9ConstantsO":{"name":"Constants","abstract":"

Undocumented

","parent_name":"CameraButton"},"Classes/CameraButton.html#/s:25SCSDKCameraKitReferenceUI12CameraButtonC8delegateAA0eF8Delegate_pSgvp":{"name":"delegate","abstract":"

Camera button delegate

","parent_name":"CameraButton"},"Classes/CameraButton.html#/s:25SCSDKCameraKitReferenceUI12CameraButtonC19minimumHoldDurationSdvp":{"name":"minimumHoldDuration","abstract":"

The minimum time for a hold to be considered “valid.”","parent_name":"CameraButton"},"Classes/CameraButton.html#/s:25SCSDKCameraKitReferenceUI12CameraButtonC9ringWidth14CoreFoundation7CGFloatVvp":{"name":"ringWidth","abstract":"

Line width for camera ring

","parent_name":"CameraButton"},"Classes/CameraButton.html#/s:25SCSDKCameraKitReferenceUI12CameraButtonC19allowWhileRecordingSaySo19UIGestureRecognizerCGvp":{"name":"allowWhileRecording","abstract":"

List of allowed gestures to be used when recording a video(LongPressGesture) i.e. Double Tap Gesture, Pinch Gesture.

","parent_name":"CameraButton"},"Classes/CameraButton.html#/s:25SCSDKCameraKitReferenceUI12CameraButtonC9ringColorSo7UIColorCSgvp":{"name":"ringColor","abstract":"

Ring color while recording

","parent_name":"CameraButton"},"Classes/CameraButton.html#/s:25SCSDKCameraKitReferenceUI12CameraButtonC20tapGestureRecognizerSo05UITaphI0Cvp":{"name":"tapGestureRecognizer","abstract":"

Tap gesture recognizer that is used to recognize taps on the camera button","parent_name":"CameraButton"},"Classes/CameraButton.html#/s:25SCSDKCameraKitReferenceUI12CameraButtonC22pressGestureRecognizerSo011UILongPresshI0Cvp":{"name":"pressGestureRecognizer","abstract":"

Long press gesture recognizer used to handle recording gesture","parent_name":"CameraButton"},"Classes/CameraButton.html#/c:@M@SCSDKCameraKitReferenceUI@objc(cs)CameraButton(im)init":{"name":"init()","abstract":"

Undocumented

","parent_name":"CameraButton"},"Classes/CameraButton.html#/c:@M@SCSDKCameraKitReferenceUI@objc(cs)CameraButton(im)initWithFrame:":{"name":"init(frame:)","abstract":"

Undocumented

","parent_name":"CameraButton"},"Classes/CameraButton.html#/c:@M@SCSDKCameraKitReferenceUI@objc(cs)CameraButton(im)initWithCoder:":{"name":"init(coder:)","abstract":"

Undocumented

","parent_name":"CameraButton"},"Classes/CameraButton.html#/c:@M@SCSDKCameraKitReferenceUI@objc(cs)CameraButton(im)layoutSubviews":{"name":"layoutSubviews()","abstract":"

Undocumented

","parent_name":"CameraButton"},"Classes/CameraButton.html#/c:@M@SCSDKCameraKitReferenceUI@objc(cs)CameraButton(py)intrinsicContentSize":{"name":"intrinsicContentSize","abstract":"

Undocumented

","parent_name":"CameraButton"},"Classes/CameraButton.html#/c:@M@SCSDKCameraKitReferenceUI@objc(cs)CameraButton(im)willMoveToSuperview:":{"name":"willMove(toSuperview:)","abstract":"

Undocumented

","parent_name":"CameraButton"},"Classes/CameraButton.html#/c:@M@SCSDKCameraKitReferenceUI@objc(cs)CameraButton(im)gestureRecognizer:shouldRecognizeSimultaneouslyWithGestureRecognizer:":{"name":"gestureRecognizer(_:shouldRecognizeSimultaneouslyWith:)","abstract":"

Undocumented

","parent_name":"CameraButton"},"Classes/CameraButton.html#/c:@M@SCSDKCameraKitReferenceUI@objc(cs)CameraButton(im)gestureRecognizer:shouldReceiveTouch:":{"name":"gestureRecognizer(_:shouldReceive:)","abstract":"

Undocumented

","parent_name":"CameraButton"},"Classes/CameraButton.html#/s:25SCSDKCameraKitReferenceUI12CameraButtonC23startRecordingAnimation16ringFillDuration03maxhL0ySd_SdtF":{"name":"startRecordingAnimation(ringFillDuration:maxRecordingDuration:)","abstract":"

Start animating ring fill","parent_name":"CameraButton"},"Classes/CameraButton.html#/s:25SCSDKCameraKitReferenceUI12CameraButtonC22stopRecordingAnimationyyF":{"name":"stopRecordingAnimation()","abstract":"

Stop animating ring fill and reset views to original state","parent_name":"CameraButton"},"Classes/CameraButton.html#/c:@CM@SCSDKCameraKitReferenceUI@objc(cs)CameraButton(im)animationDidStop:finished:":{"name":"animationDidStop(_:finished:)","abstract":"

Undocumented

","parent_name":"CameraButton"},"Classes/CameraController/FlashState.html#/s:25SCSDKCameraKitReferenceUI16CameraControllerC10FlashStateO3offyA2EmF":{"name":"off","abstract":"

Undocumented

","parent_name":"FlashState"},"Classes/CameraController/FlashState.html#/s:25SCSDKCameraKitReferenceUI16CameraControllerC10FlashStateO2onyAeC0G4ModeOcAEmF":{"name":"on(_:)","abstract":"

Undocumented

","parent_name":"FlashState"},"Classes/CameraController/FlashState.html#/s:25SCSDKCameraKitReferenceUI16CameraControllerC10FlashStateO013captureDeviceG4ModeSo09AVCapturegK0Vvp":{"name":"captureDeviceFlashMode","abstract":"

The AVCaptureDevice.FlashMode that should be used when taking photos as per the FlashState.

","parent_name":"FlashState"},"Classes/CameraController/FlashState.html#/s:25SCSDKCameraKitReferenceUI16CameraControllerC10FlashStateO22captureDeviceTorchModeSo09AVCapturekL0Vvp":{"name":"captureDeviceTorchMode","abstract":"

The AVCaptureDevice.torchMode that should be used when recording videos as per the FlashState.

","parent_name":"FlashState"},"Classes/CameraController/FlashMode.html#/s:25SCSDKCameraKitReferenceUI16CameraControllerC9FlashModeO8standardyA2EmF":{"name":"standard","abstract":"

Undocumented

","parent_name":"FlashMode"},"Classes/CameraController/FlashMode.html#/s:25SCSDKCameraKitReferenceUI16CameraControllerC9FlashModeO4ringyA2EmF":{"name":"ring","abstract":"

Undocumented

","parent_name":"FlashMode"},"Classes/CameraController/PointOfInterestOptions.html#/s:SY8rawValue03RawB0Qzvp":{"name":"rawValue","parent_name":"PointOfInterestOptions"},"Classes/CameraController/PointOfInterestOptions.html#/s:s9OptionSetP8rawValuex03RawD0Qz_tcfc":{"name":"init(rawValue:)","parent_name":"PointOfInterestOptions"},"Classes/CameraController/PointOfInterestOptions.html#/s:25SCSDKCameraKitReferenceUI16CameraControllerC22PointOfInterestOptionsV8exposureAEvpZ":{"name":"exposure","abstract":"

Undocumented

","parent_name":"PointOfInterestOptions"},"Classes/CameraController/PointOfInterestOptions.html#/s:25SCSDKCameraKitReferenceUI16CameraControllerC22PointOfInterestOptionsV5focusAEvpZ":{"name":"focus","abstract":"

Undocumented

","parent_name":"PointOfInterestOptions"},"Classes/CameraController.html#/s:25SCSDKCameraKitReferenceUI16CameraControllerC14captureSessionSo09AVCaptureH0Cvp":{"name":"captureSession","abstract":"

A capture session we’ll use for camera input.

","parent_name":"CameraController"},"Classes/CameraController.html#/s:25SCSDKCameraKitReferenceUI16CameraControllerC06cameraB0So08SCCameraB8Protocol_pvp":{"name":"cameraKit","abstract":"

The CameraKit session

","parent_name":"CameraController"},"Classes/CameraController.html#/s:25SCSDKCameraKitReferenceUI16CameraControllerC14cameraPositionSo015AVCaptureDeviceH0Vvp":{"name":"cameraPosition","abstract":"

The position of the camera.

","parent_name":"CameraController"},"Classes/CameraController.html#/s:25SCSDKCameraKitReferenceUI16CameraControllerC18photoCaptureOutputSo08SCCamerab5PhotohI0CSgvp":{"name":"photoCaptureOutput","abstract":"

An output used for taking still photos.

","parent_name":"CameraController"},"Classes/CameraController.html#/s:25SCSDKCameraKitReferenceUI16CameraControllerC8recorderAA8RecorderCSgvp":{"name":"recorder","abstract":"

An output used for recording videos.

","parent_name":"CameraController"},"Classes/CameraController.html#/s:25SCSDKCameraKitReferenceUI16CameraControllerC17lensMediaProviderSo08SCCamerab4Lensh6PickerI12PhotoLibraryCvp":{"name":"lensMediaProvider","abstract":"

Media provider for CameraKit.

","parent_name":"CameraController"},"Classes/CameraController.html#/s:25SCSDKCameraKitReferenceUI16CameraControllerC16snapchatDelegateAA08SnapchatH0_pSgvp":{"name":"snapchatDelegate","abstract":"

Snapchat delegate for requests to open the main Snapchat app.

","parent_name":"CameraController"},"Classes/CameraController.html#/s:25SCSDKCameraKitReferenceUI16CameraControllerC10uiDelegateAA0eF10UIDelegate_pSgvp":{"name":"uiDelegate","abstract":"

Delegate for responding to UI requests from camera controller.

","parent_name":"CameraController"},"Classes/CameraController.html#/s:25SCSDKCameraKitReferenceUI16CameraControllerC11currentLensSo08SCCamerabH0_pSgvp":{"name":"currentLens","abstract":"

The currently selected and active lens.

","parent_name":"CameraController"},"Classes/CameraController.html#/s:25SCSDKCameraKitReferenceUI16CameraControllerC8groupIDsSaySSGvp":{"name":"groupIDs","abstract":"

List of lens repository groups to observe/show in carousel

","parent_name":"CameraController"},"Classes/CameraController.html#/s:25SCSDKCameraKitReferenceUI16CameraControllerC28isToneMapAdjustmentAvailableSbvp":{"name":"isToneMapAdjustmentAvailable","abstract":"

Whether or not the tone map adjustment is available for the current device.","parent_name":"CameraController"},"Classes/CameraController.html#/s:25SCSDKCameraKitReferenceUI16CameraControllerC29isPortraitAdjustmentAvailableSbvp":{"name":"isPortraitAdjustmentAvailable","abstract":"

Whether or not the portrait adjustment is available for the current device.","parent_name":"CameraController"},"Classes/CameraController.html#/s:25SCSDKCameraKitReferenceUI16CameraControllerC10flashStateAC05FlashH0Ovp":{"name":"flashState","abstract":"

The current state of the camera flash.

","parent_name":"CameraController"},"Classes/CameraController.html#/s:25SCSDKCameraKitReferenceUI16CameraControllerC13sessionConfigACSo08SCCamerab7SessionH0CSg_tcfc":{"name":"init(sessionConfig:)","abstract":"

Returns a camera controller that is initialized with a newly created AVCaptureSession stack","parent_name":"CameraController"},"Classes/CameraController.html#/s:25SCSDKCameraKitReferenceUI16CameraControllerC06cameraB014captureSessionACSo08SCCameraB8Protocol_p_So09AVCaptureI0Ctcfc":{"name":"init(cameraKit:captureSession:)","abstract":"

Init with camera kit session, capture session, and lens holder

","parent_name":"CameraController"},"Classes/CameraController.html#/s:25SCSDKCameraKitReferenceUI16CameraControllerC9configure11orientation24textInputContextProvider022agreementsPresentationkL010completionySo25AVCaptureVideoOrientationV_So08SCCamerab4TextjkL0_pSgSo0sb10AgreementsnkL0_pSgyycSgtF":{"name":"configure(orientation:textInputContextProvider:agreementsPresentationContextProvider:completion:)","abstract":"

Configures the overall camera and lenses stack.

","parent_name":"CameraController"},"Classes/CameraController.html#/s:25SCSDKCameraKitReferenceUI16CameraControllerC15configureLenses11orientation24textInputContextProvider022agreementsPresentationlM0ySo25AVCaptureVideoOrientationV_So08SCCamerab4TextklM0_pSgSo0sb10AgreementsolM0_pSgtF":{"name":"configureLenses(orientation:textInputContextProvider:agreementsPresentationContextProvider:)","abstract":"

Configures the lenses pipeline.

","parent_name":"CameraController"},"Classes/CameraController.html#/s:25SCSDKCameraKitReferenceUI16CameraControllerC21configureDataProviderSo08SCCamerabhI9ComponentCyF":{"name":"configureDataProvider()","abstract":"

Configures the data provider for lenses. Subclasses may override this to customize their data provider.

","parent_name":"CameraController"},"Classes/CameraController.html#/s:25SCSDKCameraKitReferenceUI16CameraControllerC17zoomExistingLevel2byy14CoreFoundation7CGFloatV_tF":{"name":"zoomExistingLevel(by:)","abstract":"

Zoom in by a given factor from whatever the current zoom level is

","parent_name":"CameraController"},"Classes/CameraController.html#/s:25SCSDKCameraKitReferenceUI16CameraControllerC12finalizeZoomyyF":{"name":"finalizeZoom()","abstract":"

Save whatever the current zoom level is.

","parent_name":"CameraController"},"Classes/CameraController.html#/s:25SCSDKCameraKitReferenceUI16CameraControllerC04flipE0yyF":{"name":"flipCamera()","abstract":"

Flips the camera to the other side

","parent_name":"CameraController"},"Classes/CameraController/PointOfInterestOptions.html":{"name":"PointOfInterestOptions","abstract":"

Options to support when setting a point of interest

","parent_name":"CameraController"},"Classes/CameraController.html#/s:25SCSDKCameraKitReferenceUI16CameraControllerC18setPointOfInterest2at3forySo7CGPointV_AC0hiJ7OptionsVtF":{"name":"setPointOfInterest(at:for:)","abstract":"

Sets camera point of interest for operations in the option set. Also adds observers for the current device such","parent_name":"CameraController"},"Classes/CameraController.html#/s:25SCSDKCameraKitReferenceUI16CameraControllerC9takePhoto10completionyySo7UIImageCSg_s5Error_pSgtcSg_tF":{"name":"takePhoto(completion:)","abstract":"

Takes a photo.

","parent_name":"CameraController"},"Classes/CameraController.html#/c:@M@SCSDKCameraKitReferenceUI@objc(cs)CameraController(im)repository:didUpdateLenses:forGroupID:":{"name":"repository(_:didUpdateLenses:forGroupID:)","abstract":"

Undocumented

","parent_name":"CameraController"},"Classes/CameraController.html#/c:@M@SCSDKCameraKitReferenceUI@objc(cs)CameraController(im)repository:didFailToUpdateLensesForGroupID:error:":{"name":"repository(_:didFailToUpdateLensesForGroupID:error:)","abstract":"

Undocumented

","parent_name":"CameraController"},"Classes/CameraController.html#/c:@M@SCSDKCameraKitReferenceUI@objc(cs)CameraController(im)prefetcher:didUpdateLens:status:":{"name":"prefetcher(_:didUpdate:status:)","abstract":"

Undocumented

","parent_name":"CameraController"},"Classes/CameraController.html#/s:25SCSDKCameraKitReferenceUI16CameraControllerC14startRecordingyyF":{"name":"startRecording()","abstract":"

Begin recording video.

","parent_name":"CameraController"},"Classes/CameraController.html#/s:25SCSDKCameraKitReferenceUI16CameraControllerC15cancelRecordingyyF":{"name":"cancelRecording()","abstract":"

Cancel recording video.

","parent_name":"CameraController"},"Classes/CameraController.html#/s:25SCSDKCameraKitReferenceUI16CameraControllerC15finishRecording10completionyy10Foundation3URLVSg_s5Error_pSgtcSg_tF":{"name":"finishRecording(completion:)","abstract":"

Finish recording the video.

","parent_name":"CameraController"},"Classes/CameraController.html#/s:25SCSDKCameraKitReferenceUI16CameraControllerC9applyLens_10completionySo08SCCamerabH0_p_ySbcSgtF":{"name":"applyLens(_:completion:)","abstract":"

Apply a specified lens.

","parent_name":"CameraController"},"Classes/CameraController.html#/s:25SCSDKCameraKitReferenceUI16CameraControllerC9clearLens11willReapply10completionySb_ySbcSgtF":{"name":"clearLens(willReapply:completion:)","abstract":"

Clear the currently selected lens, and return to unmodified camera feed.

","parent_name":"CameraController"},"Classes/CameraController.html#/s:25SCSDKCameraKitReferenceUI16CameraControllerC18reapplyCurrentLensyyF":{"name":"reapplyCurrentLens()","abstract":"

If a lens has already been applied, reapply it.

","parent_name":"CameraController"},"Classes/CameraController.html#/s:25SCSDKCameraKitReferenceUI16CameraControllerC23enableToneMapAdjustmentSfSgyF":{"name":"enableToneMapAdjustment()","abstract":"

Enables the tone map adjustment.

","parent_name":"CameraController"},"Classes/CameraController.html#/s:25SCSDKCameraKitReferenceUI16CameraControllerC24disableToneMapAdjustmentyyF":{"name":"disableToneMapAdjustment()","abstract":"

Disables the tone map adjustment.

","parent_name":"CameraController"},"Classes/CameraController.html#/s:25SCSDKCameraKitReferenceUI16CameraControllerC24enablePortraitAdjustmentSfSgyF":{"name":"enablePortraitAdjustment()","abstract":"

Enables the portrait adjustment.

","parent_name":"CameraController"},"Classes/CameraController.html#/s:25SCSDKCameraKitReferenceUI16CameraControllerC25disablePortraitAdjustmentyyF":{"name":"disablePortraitAdjustment()","abstract":"

Disables the portrait adjustment.

","parent_name":"CameraController"},"Classes/CameraController.html#/c:@M@SCSDKCameraKitReferenceUI@objc(cs)CameraController(im)lensProcessor:shouldDisplayHint:forLens:autohide:":{"name":"lensProcessor(_:shouldDisplayHint:for:autohide:)","abstract":"

Undocumented

","parent_name":"CameraController"},"Classes/CameraController.html#/c:@M@SCSDKCameraKitReferenceUI@objc(cs)CameraController(im)lensProcessor:shouldHideAllHintsForLens:":{"name":"lensProcessor(_:shouldHideAllHintsFor:)","abstract":"

Undocumented

","parent_name":"CameraController"},"Classes/CameraController.html#/s:25SCSDKCameraKitReferenceUI23MediaPickerViewDelegateP05mediafG0_13selectedAssetyAA0efG0C_So08SCCamerab4LensefK0_ptF":{"name":"mediaPickerView(_:selectedAsset:)","parent_name":"CameraController"},"Classes/CameraController.html#/s:25SCSDKCameraKitReferenceUI29AdjustmentControlViewDelegateP010adjustmentfG0_18sliderValueChangedyAA0efG0C_SdtF":{"name":"adjustmentControlView(_:sliderValueChanged:)","parent_name":"CameraController"},"Classes/CameraController.html#/s:25SCSDKCameraKitReferenceUI16CameraControllerC19brightnessToRestore14CoreFoundation7CGFloatVSgvp":{"name":"brightnessToRestore","abstract":"

Temporary state that holds the brightness that should be restored after the ring light is disabled.

","parent_name":"CameraController"},"Classes/CameraController/FlashMode.html":{"name":"FlashMode","abstract":"

Enumerates the different flash enabled modes.

","parent_name":"CameraController"},"Classes/CameraController/FlashState.html":{"name":"FlashState","abstract":"

Enumerates the different possible flash states.

","parent_name":"CameraController"},"Classes/CameraController.html#/s:25SCSDKCameraKitReferenceUI16CameraControllerC11enableFlashyyF":{"name":"enableFlash()","abstract":"

Enables the camera flash with the appopriate flash mode as per camera position and prior user selections.

","parent_name":"CameraController"},"Classes/CameraController.html#/s:25SCSDKCameraKitReferenceUI16CameraControllerC12disableFlashyyF":{"name":"disableFlash()","abstract":"

Disables the camera flash.

","parent_name":"CameraController"},"Classes/CameraController.html#/s:25SCSDKCameraKitReferenceUI16CameraControllerC28restoreBrightnessIfNecessaryyyF":{"name":"restoreBrightnessIfNecessary()","abstract":"

Restores brightness to what it was before the ring light was enabled.

","parent_name":"CameraController"},"Classes/CameraController.html#/s:25SCSDKCameraKitReferenceUI16CameraControllerC29increaseBrightnessIfNecessaryyyF":{"name":"increaseBrightnessIfNecessary()","abstract":"

Increases brightness to max if the ring light is enabled.

","parent_name":"CameraController"},"Classes/CameraController.html":{"name":"CameraController","abstract":"

A controller which manages the camera and lenses stack on behalf of its owner

"},"Classes/CameraButton.html":{"name":"CameraButton","abstract":"

Camera ring view for capturing and recording state

"},"Classes/AdjustmentControlView.html":{"name":"AdjustmentControlView","abstract":"

Undocumented

"},"Classes/ControlSlider.html":{"name":"ControlSlider","abstract":"

Undocumented

"},"Classes/CameraActionsView.html":{"name":"CameraActionsView","abstract":"

Undocumented

"},"Classes/CameraConfigurableActionView.html":{"name":"CameraConfigurableActionView","abstract":"

View to use for camera actions that can be enabled/disabled and configured via separate buttons.

"},"Classes/CameraView.html":{"name":"CameraView","abstract":"

This is the default view that backs the CameraViewController.

"},"Classes/CameraViewController.html":{"name":"CameraViewController","abstract":"

This is the default view controller which handles setting up the camera, lenses, carousel, etc.

"},"Classes/FlashControlView.html":{"name":"FlashControlView","abstract":"

Undocumented

"},"Classes/FlashModeSelectionView.html":{"name":"FlashModeSelectionView","abstract":"

Undocumented

"},"Classes/RingLightColorSelectionView.html":{"name":"RingLightColorSelectionView","abstract":"

Undocumented

"},"Classes/RingLightColorSelectionViewCell.html":{"name":"RingLightColorSelectionViewCell","abstract":"

Undocumented

"},"Classes/RingLightGradientView.html":{"name":"RingLightGradientView","abstract":"

Undocumented

"},"Classes/RingLightView.html":{"name":"RingLightView","abstract":"

Undocumented

"},"Classes/CarouselCollectionViewCell.html":{"name":"CarouselCollectionViewCell","abstract":"

Carousel collection view cell which represents a single lens item/icon

"},"Classes/CarouselCollectionViewLayout.html":{"name":"CarouselCollectionViewLayout","abstract":"

Custom collection view layout for carousel collection view

"},"Classes/DefaultCarouselImageLoader.html":{"name":"DefaultCarouselImageLoader","abstract":"

Default image loader class which uses a URLSession to load images

"},"Classes/CarouselItem.html":{"name":"CarouselItem","abstract":"

This is the carousel item view model which represents a specific lens icon

"},"Classes/EmptyItem.html":{"name":"EmptyItem","abstract":"

Concrete class for an empty item (clear camera button)

"},"Classes/CarouselView.html":{"name":"CarouselView","abstract":"

A view that manages an ordered collection of data items (eg. lenses) and displays them in a swipeable row with one item always selected.

"},"Classes/BundleHelper.html":{"name":"BundleHelper","abstract":"

Internal helper to deal with resources bundle

"},"Classes/KeyboardAccessoryViewProvider.html":{"name":"KeyboardAccessoryViewProvider","abstract":"

Reference implementation of a text input view for lenses that take text input.

"},"Classes/MediaPickerView.html":{"name":"MediaPickerView","abstract":"

Selection view for Media Picker

"},"Classes/ImagePreviewViewController.html":{"name":"ImagePreviewViewController","abstract":"

Preview view controller for showing captured photos and images

"},"Classes/PreviewViewController.html":{"name":"PreviewViewController","abstract":"

Base preview view controller that describes properties and views of all preview controllers

"},"Classes/VideoPreviewViewController.html":{"name":"VideoPreviewViewController","abstract":"

Preview view controller for showing recorded video previews

"},"Classes/Recorder.html":{"name":"Recorder","abstract":"

Sample video recorder implementation.

"},"Classes/UserDataProvider.html":{"name":"UserDataProvider","abstract":"

Default user data provider to show how to provide user data to CameraKit

"},"Classes/CameraBottomBar.html":{"name":"CameraBottomBar","abstract":"

Bottom bar on Camera that contains Snap ghost button for actions"},"Classes/MessageNotificationView.html":{"name":"MessageNotificationView","abstract":"

Popup message notification view for different lens events

"},"Classes/SnapAttributionView.html":{"name":"SnapAttributionView","abstract":"

Snap attribution on Camera that contains “Powered by” and Snap ghost icon

"},"Classes/TapAnimationView.html":{"name":"TapAnimationView","abstract":"

View that appears when the user taps on the camera view

"},"Classes.html":{"name":"Classes","abstract":"

The following classes are available globally.

"},"Enums.html":{"name":"Enumerations","abstract":"

The following enumerations are available globally.

"},"Extensions.html":{"name":"Extensions","abstract":"

The following extensions are available globally.

"},"Functions.html":{"name":"Functions","abstract":"

The following functions are available globally.

"},"Protocols.html":{"name":"Protocols","abstract":"

The following protocols are available globally.

"}} \ No newline at end of file diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/docSet.dsidx b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/docSet.dsidx new file mode 100644 index 0000000000000000000000000000000000000000..36253ac81dc65bf61ffc7c6254f90bb57e5c78b9 GIT binary patch literal 163840 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 UaI>|P=y&7BRF;dT%9*|Y1KJQY6#xJL literal 0 HcmV?d00001 diff --git a/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.tgz b/docs/api/ios/1.36.1/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.tgz new file mode 100644 index 0000000000000000000000000000000000000000..e29addfe55f5026c80ad2ba41616707460c644b8 GIT binary patch literal 199359 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

8eiTGxf*Rc57#2XMYKxRG{jM0m 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

@rO=V@ed9Xw$>N3qFLjje1#18h5^sqn@ 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 t)dt$8N%6WfyxjLmppdN=d=<-OfA>-# z;NCa)pt&s{YtLvYWlZ38(1vVGG=yNGXz#S`M+DO$k!K322hGw&?b*a~&$S@Blm2g^ zGagr@PjEiu|MwQ9)(Se{b1ro{|3=R`W^DTE5hY9NlFD6(psQ0sj@=z-R)sob6dvB9 z3|HHfq_mC~3aqAxp$ew*A~S`<0!lPD|`hp0ZiT^G`o6dt?Wrzh;Y z15Z%9SF3gPf>H?GA(Qlv6^~noNIuoPzch#I{FLY5Ag-rwK7KW3EpnaC(R!iWV7Y)5%s%^N};;=Ak z>toQoTWyipD-kp&^0o+UTKL3)!536Bg6(o%x5dJvY#4^#;KVEyD2i?=v5tf1bn{9-#Q7g@1qnLoR7s`9AwuEUPQL4@I>u$Ee5d7eVyd%F!^U z;|rh91K$eanQW6^pzF(l!ftSI@0J-4-j6B|HjZ4sBZeSKn@IkL_Fz)76!4SbN~M`< zaaGA;f4ik}z|alvCnZOuQN6=NE95Sx5ATDYpW|v#yMIP+BK$o-C7$N}dw_cISAc5n z_>Tc9uBgPnANw@yotG<&#$VFCGHVYekmtOFMENj89H8?jJ{`yqvL-3mY*u^CZpHmJ zGFiOklNN!Th5e9C8QNd;PJ`}6?dO;{)9=-4McaE%q){|9f@2f zeSerkm?6LIIin?vNTJZlFecA(qa}n)q1p-kEN|GaC5fiO!iM5cA-N_{P8o(SY)PY* zKrjZG7aj*`v-J~)3-?SSuMgN5#UTliXEUdOj{8_E7K*i)A|P2(bxxpYxTp1%i~?p_ zk+MWEd?=r`g}2EB z1^Zk6`lVhh5~C?0LIFL4%t)L1SYD8433f=rtT?>ckdXkyR!w&=5!oanW}DCPY7HDX zRc@jG*dS3oO6n)6`N zo*|{G;IrK4v@}iZQ)=_HZ&kQu$6J~yJ@Y3Q0X^EQY@ zi64F>)v3~&X!TmFz~*A@s>*zSVE?66f|u`%sfN^D7rJLDDvlC+XxUF|PPdqdU`lsb zkp^y#wxjYzV4FHkHD8TQz-hl-v9yBkMuqHVwb#4Af0i4fEJ$C|iQw1PlzurxA)B;% zsjnsB$0R&$#QUl=@SIkZ)vuxRA2h=?s+GaC1R@F)J1N%G72$012Z4~YctP|ZQEen@ zj1d5ES@bkb0-iwn=3~5Cli>tgHUm|L;^3atdDf8%Dx0Lb)RoB$ihu>$%d$dZA~>Ig zoPJDAAy6l2MWLW)NF9tGS@J@Tij!tQltL+6gr?P1fORU4$bhiD)Eez83dkM6y!8%^=Bms)(~h;m_U( zXNixk28L}0LS5-jKyq@#2gyS|J&f#pGCLkTc<@2s1dqeyqJ*Rc0tSIETAgmODY;(s z2y|Mcp&2}7rpBprBBB~1qM1`N+}4SoxYVPqsXi&l`rxZp{(w0iSy$Nv5*Vy!RapG^ S^0y4=eg;ohKbLh*2~7a!Pg}VF literal 0 HcmV?d00001 diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/img/dash.png b/docs/api/ios/1.36.1/SCSDKCameraKit/img/dash.png new file mode 100755 index 0000000000000000000000000000000000000000..6f694c7a012b417908da3687a0a39aa182e91c74 GIT binary patch literal 1338 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 literal 0 HcmV?d00001 diff --git a/docs/api/ios/1.36.1/SCSDKCameraKit/index.html b/docs/api/ios/1.36.1/SCSDKCameraKit/index.html new file mode 100644 index 000000000..4ea8cf1c6 --- /dev/null +++ b/docs/api/ios/1.36.1/SCSDKCameraKit/index.html @@ -0,0 +1,498 @@ + + + + Reference + + + + + + + + + + + + + + + +