From 1894a83fee8d02721d6a592586dd7a28610c2ee3 Mon Sep 17 00:00:00 2001 From: jciereszko1 Date: Tue, 17 Sep 2024 21:29:40 -0700 Subject: [PATCH] [All] Sync changes for the 1.34.0 release (#70) Co-authored-by: bot-snapenginesc --- CHANGELOG.md | 8 + README.md | 2 +- 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.34.0/-camera-kit/package-list | 767 + .../1.34.0/images/anchor-copy-button.svg | 4 + docs/api/android/1.34.0/images/arrow_down.svg | 3 + docs/api/android/1.34.0/images/copy-icon.svg | 3 + .../1.34.0/images/copy-successful-icon.svg | 3 + .../1.34.0/images/footer-go-to-link.svg | 3 + .../android/1.34.0/images/go-to-top-icon.svg | 4 + docs/api/android/1.34.0/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.34.0/images/nav-icons/annotation.svg | 7 + .../1.34.0/images/nav-icons/class-kotlin.svg | 9 + .../android/1.34.0/images/nav-icons/class.svg | 7 + .../1.34.0/images/nav-icons/enum-kotlin.svg | 9 + .../android/1.34.0/images/nav-icons/enum.svg | 7 + .../images/nav-icons/exception-class.svg | 7 + .../1.34.0/images/nav-icons/field-value.svg | 6 + .../images/nav-icons/field-variable.svg | 6 + .../1.34.0/images/nav-icons/function.svg | 7 + .../images/nav-icons/interface-kotlin.svg | 9 + .../1.34.0/images/nav-icons/interface.svg | 7 + .../1.34.0/images/nav-icons/object.svg | 9 + .../android/1.34.0/images/theme-toggle.svg | 4 + docs/api/android/1.34.0/index.html | 126 + docs/api/android/1.34.0/navigation.html | 788 + docs/api/android/1.34.0/scripts/clipboard.js | 52 + docs/api/android/1.34.0/scripts/main.js | 44 + .../1.34.0/scripts/navigation-loader.js | 91 + docs/api/android/1.34.0/scripts/pages.json | 1 + .../scripts/platform-content-handler.js | 359 + docs/api/android/1.34.0/scripts/prism.js | 22 + .../1.34.0/scripts/sourceset_dependencies.js | 1 + .../symbol-parameters-wrapper_deferred.js | 83 + .../android/1.34.0/styles/jetbrains-mono.css | 17 + .../api/android/1.34.0/styles/logo-styles.css | 15 + docs/api/android/1.34.0/styles/main.css | 118 + docs/api/android/1.34.0/styles/prism.css | 213 + docs/api/android/1.34.0/styles/style.css | 1293 ++ docs/api/android/latest | 2 +- docs/api/index.html | 16719 ++++++++-------- docs/api/ios/1.34.0/README.md | 17 + .../ios/1.34.0/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.34.0/SCSDKCameraKit/Constants.html | 959 + docs/api/ios/1.34.0/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.34.0/SCSDKCameraKit/Extensions.html | 437 + .../Extensions/AdjustmentsProcessor.html | 466 + .../ios/1.34.0/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.34.0/SCSDKCameraKit/Structs.html | 443 + ...CameraKitLensMediaPickerAssetMetadata.html | 454 + .../SCSDKCameraKit/Type Definitions.html | 439 + ...CameraKitLensMediaPickerAssetMetadata.html | 451 + ...CameraKitLensMediaPickerAssetMetadata.html | 454 + docs/api/ios/1.34.0/SCSDKCameraKit/badge.svg | 28 + .../1.34.0/SCSDKCameraKit/css/highlight.css | 202 + .../ios/1.34.0/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.34.0/SCSDKCameraKit/docsets/.tgz | Bin 0 -> 275996 bytes .../ios/1.34.0/SCSDKCameraKit/img/carat.png | Bin 0 -> 274 bytes .../ios/1.34.0/SCSDKCameraKit/img/dash.png | Bin 0 -> 1338 bytes .../ios/1.34.0/SCSDKCameraKit/img/spinner.gif | Bin 0 -> 1849 bytes docs/api/ios/1.34.0/SCSDKCameraKit/index.html | 498 + .../api/ios/1.34.0/SCSDKCameraKit/js/jazzy.js | 74 + .../1.34.0/SCSDKCameraKit/js/jazzy.search.js | 74 + .../1.34.0/SCSDKCameraKit/js/jquery.min.js | 2 + .../ios/1.34.0/SCSDKCameraKit/js/lunr.min.js | 6 + .../SCSDKCameraKit/js/typeahead.jquery.js | 1694 ++ .../api/ios/1.34.0/SCSDKCameraKit/search.json | 1 + .../1.34.0/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 -> 75928 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 | 528 + .../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 | 372 + .../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 | 528 + .../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 | 372 + .../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 -> 159744 bytes .../docsets/SCSDKCameraKitReferenceUI.tgz | Bin 0 -> 199120 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 | 1321 ++ docs/api/ios/1.34.0/index.html | 10681 ++++++++++ docs/api/ios/latest | 2 +- docs/index.html | 16711 +++++++-------- samples/android/gradle.properties | 4 +- .../CameraKitAlternateCarouselSample/Podfile | 2 +- .../Podfile.lock | 8 +- samples/ios/CameraKitBasicSample/.gitignore | 101 + .../project.pbxproj | 422 + .../CameraKitBasicSample/AppDelegate.swift | 16 + .../Base.lproj/LaunchScreen.storyboard | 25 + .../CameraViewController.swift | 86 + .../Documentation.docc/Documentation.md | 100 + .../CameraKitBasicSample/Info.plist | 10 + .../Application/Debug/DebugStore.swift | 1 + samples/ios/CameraKitSample/Podfile | 14 +- samples/ios/CameraKitSample/Podfile.lock | 46 +- 1228 files changed, 305048 insertions(+), 16655 deletions(-) create mode 100644 docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.adjustments/-adaptive-tone-mapping-adjustment/amount.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.adjustments/-adaptive-tone-mapping-adjustment/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.adjustments/-adaptive-tone-mapping-adjustment/properties.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-adjustment/-controller/-noop/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-adjustment/-controller/-noop/set.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-adjustment/-controller/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-adjustment/-controller/set.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-adjustment/-property/id.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-adjustment/-property/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-adjustment/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-adjustment/properties.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-noop/close.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-noop/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-noop/processor.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-noop/apply.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-noop/available.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-noop/connect-input.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-noop/connect-output.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-noop/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-noop/observe-required-capabilities.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-noop/remove.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-result/-applied/-applied.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-result/-applied/adjustment.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-result/-applied/controller.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-result/-applied/equals.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-result/-applied/hash-code.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-result/-applied/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-result/-applied/to-string.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-result/-unavailable/-unavailable.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-result/-unavailable/adjustment.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-result/-unavailable/equals.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-result/-unavailable/hash-code.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-result/-unavailable/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-result/-unavailable/to-string.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-result/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/apply.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/available.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/remove.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/close.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/processor.html create mode 100644 docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.adjustments/-portrait-adjustment/blur.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.adjustments/-portrait-adjustment/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.adjustments/-portrait-adjustment/properties.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.adjustments/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.adjustments/when-applied.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.common/-consumer/accept.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.common/-consumer/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.common/index.html create mode 100644 docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-audio/-adjustment/-volume/-mute/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-audio/-adjustment/-volume/-mute/to-string.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-audio/-adjustment/-volume/-un-mute/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-audio/-adjustment/-volume/-un-mute/to-string.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-audio/-adjustment/-volume/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-audio/-adjustment/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-audio/-noop/adjust.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-audio/-noop/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-audio/adjust.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-audio/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-builder/attach-widgets-to.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-builder/build.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-builder/configure-cache.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-builder/configure-carousel.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-builder/configure-hints.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-builder/configure-loading-overlay.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-builder/configure-media-picker.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-builder/configure-processor.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-builder/dispatch-touch-events-to.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-builder/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-builder/remote-api-service-factory.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-cache/-configuration/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-cache/-configuration/lens-content-max-size.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-cache/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-configuration/activate-idle.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-configuration/activate-on-start.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-configuration/activate-on-tap.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-configuration/attach-view-to.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-configuration/close-button-enabled.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-configuration/close-button-margin-bottom-dimen-res.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-configuration/configure-each-item.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-configuration/deactivate-on-close.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-configuration/disable-idle.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-configuration/enabled.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-configuration/height-dimen-res.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-configuration/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-configuration/margin-bottom-dimen-res.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-configuration/observe-group-ids.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-configuration/observed-group-ids-provider.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-configuration/observed-group-ids.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-configuration/padding-bottom-dimen-res.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-configuration/padding-top-dimen-res.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-configuration/view.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-event/-activated/-idle/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-event/-activated/-idle/to-string.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-event/-activated/-with-lens/-with-lens.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-event/-activated/-with-lens/equals.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-event/-activated/-with-lens/hash-code.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-event/-activated/-with-lens/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-event/-activated/-with-lens/lens.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-event/-activated/-with-lens/to-string.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-event/-activated/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-event/-deactivated/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-event/-deactivated/to-string.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-event/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-item-options/--index--.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-item-options/content-description.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-item-options/enabled.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-item-options/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-item-options/lens.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-item-options/lenses.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-item-options/move-to-left.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-item-options/move-to-right.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-item-options/side.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-layout-placement/-above/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-layout-placement/-above/to-string.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-layout-placement/-behind/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-layout-placement/-behind/to-string.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-layout-placement/-in-front/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-layout-placement/-in-front/to-string.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-layout-placement/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-noop/activate.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-noop/deactivate.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-noop/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-noop/observe.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-side/-l-e-f-t/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-side/-r-i-g-h-t/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-side/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-side/value-of.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-side/values.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-event/-close-button-clicked/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-event/-close-button-clicked/to-string.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-event/-item-selected/-item-selected.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-event/-item-selected/equals.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-event/-item-selected/hash-code.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-event/-item-selected/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-event/-item-selected/item.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-event/-item-selected/to-string.html create mode 100644 docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-event/-visible-items-changed/equals.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-event/-visible-items-changed/hash-code.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-event/-visible-items-changed/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-event/-visible-items-changed/to-string.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-event/-visible-items-changed/visible-items.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-event/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-item/-idle/id.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-item/-idle/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-item/-idle/to-string.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-item/-lens/content-description.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-item/-lens/icon-uri.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-item/-lens/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-item/-lens/observe-loading-state.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-item/-loading-state/-done/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-item/-loading-state/-done/to-string.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-item/-loading-state/-idle/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-item/-loading-state/-idle/to-string.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-item/-loading-state/-in-progress/index.html create mode 100644 docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-item/-loading-state/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-item/id.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-item/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-model/-hidden/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-model/-hidden/to-string.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-model/-visible/-visible.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-model/-visible/closeable.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-model/-visible/equals.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-model/-visible/hash-code.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-model/-visible/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-model/-visible/items.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-model/-visible/selected-item-position.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-model/-visible/to-string.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-model/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/observe.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/activate.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/deactivate.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/observe.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-hints/-configuration/enabled.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-hints/-configuration/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-hints/-configuration/view.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-hints/-view/-model/-displayed/-displayed.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-hints/-view/-model/-displayed/auto-hide.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-hints/-view/-model/-displayed/equals.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-hints/-view/-model/-displayed/hash-code.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-hints/-view/-model/-displayed/id.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-hints/-view/-model/-displayed/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-hints/-view/-model/-displayed/text.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-hints/-view/-model/-displayed/to-string.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-hints/-view/-model/-hidden/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-hints/-view/-model/-hidden/to-string.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-hints/-view/-model/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-hints/-view/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-hints/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-companion/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-facing/-b-a-c-k/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-facing/-f-r-o-n-t/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-facing/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-facing/value-of.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-facing/values.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-launch-data/-builder/build.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-launch-data/-builder/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-launch-data/-builder/put-number.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-launch-data/-builder/put-numbers.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-launch-data/-builder/put-string.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-launch-data/-builder/put-strings.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-launch-data/-companion/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-launch-data/-empty/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-launch-data/-empty/to-string.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-launch-data/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-deep-link/-deep-link.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-deep-link/equals.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-deep-link/hash-code.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-deep-link/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-deep-link/to-string.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-deep-link/uri.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-image/-png/-png.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-image/-png/equals.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-image/-png/hash-code.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-image/-png/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-image/-png/to-string.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-image/-png/uri.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-image/-webp/-webp.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-image/-webp/equals.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-image/-webp/hash-code.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-image/-webp/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-image/-webp/to-string.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-image/-webp/uri.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-image/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-sequence/-webp/-webp.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-sequence/-webp/equals.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-sequence/-webp/hash-code.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-sequence/-webp/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-sequence/-webp/to-string.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-sequence/-webp/values.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-sequence/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-sequence/values.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/uri.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-preview/-image/-image.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-preview/-image/equals.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-preview/-image/hash-code.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-preview/-image/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-preview/-image/to-string.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-preview/-image/uri.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-preview/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/facing-preference.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/group-id.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/icon-uri.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/icons.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/id.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/name.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/preview.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/previews.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/snapcodes.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/vendor-data.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-loading-overlay/-configuration/enabled.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-loading-overlay/-configuration/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-loading-overlay/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-configuration/enabled.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-configuration/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-configuration/view.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-event/-item-selected/-item-selected.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-event/-item-selected/equals.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-event/-item-selected/hash-code.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-event/-item-selected/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-event/-item-selected/item.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-event/-item-selected/to-string.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-event/-last-item-visible/index.html create mode 100644 docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-event/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-item/-loading/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-item/-loading/to-string.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-item/-media/-media.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-item/-media/crop-rect.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-item/-media/equals.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-item/-media/hash-code.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-item/-media/icon-uri.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-item/-media/id.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-item/-media/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-item/-media/label.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-item/-media/selected.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-item/-media/to-string.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-item/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-model/-hidden/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-model/-hidden/to-string.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-model/-visible/-visible.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-model/-visible/equals.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-model/-visible/hash-code.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-model/-visible/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-model/-visible/items.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-model/-visible/to-string.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-model/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/observe.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-noop/close.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-noop/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-preferences/-noop/clear.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-preferences/-noop/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-preferences/clear.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-preferences/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-prefetcher/-noop/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-prefetcher/-noop/observe.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-prefetcher/-noop/run.html create mode 100644 docs/api/android/1.34.0/-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.34.0/-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.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-prefetcher/-status/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-prefetcher/-status/value-of.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-prefetcher/-status/values.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-prefetcher/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-prefetcher/observe.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-prefetcher/run.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-configuration/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-configuration/input-frame-rotation-behavior.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-configuration/use-device-orientation-for-face-detection.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-event/-applied/-applied.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-event/-applied/equals.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-event/-applied/hash-code.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-event/-applied/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-event/-applied/lens.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-event/-applied/to-string.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-event/-first-frame-processed/-first-frame-processed.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-event/-first-frame-processed/equals.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-event/-first-frame-processed/hash-code.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-event/-first-frame-processed/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-event/-first-frame-processed/lens.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-event/-first-frame-processed/to-string.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-event/-idle/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-event/-idle/to-string.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-event/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-failure/-internal/-internal.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-failure/-internal/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-failure/-lens/-lens.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-failure/-lens/id.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-failure/-lens/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-failure/-library-loading/-library-loading.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-failure/-library-loading/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-failure/index.html create mode 100644 docs/api/android/1.34.0/-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.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-input-frame-rotation-behavior/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-input-frame-rotation-behavior/value-of.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-input-frame-rotation-behavior/values.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-noop/apply.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-noop/clear.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-noop/connect-input.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-noop/connect-output.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-noop/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-noop/observe-required-capabilities.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-noop/observe.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/apply.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/clear.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/observe.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-call/-answered/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-call/-answered/to-string.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-call/-ignored/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-call/-ignored/to-string.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-call/-ongoing/-ongoing.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-call/-ongoing/closeable.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-call/-ongoing/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-call/-ongoing/to-string.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-call/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-companion/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-factory/-noop/create-for.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-factory/-noop/index.html create mode 100644 docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-factory/create-for.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-factory/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-factory/supported-api-spec-ids.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-noop/close.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-noop/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-noop/process.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-request/-request.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-request/api-spec-id.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-request/body.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-request/endpoint-id.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-request/equals.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-request/hash-code.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-request/id.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-request/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-request/parameters.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-request/to-string.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-response/-response.html create mode 100644 docs/api/android/1.34.0/-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.34.0/-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.34.0/-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.34.0/-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.34.0/-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.34.0/-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.34.0/-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.34.0/-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.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-response/-status/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-response/-status/value-of.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-response/-status/values.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-response/body.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-response/equals.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-response/hash-code.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-response/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-response/metadata.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-response/request.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-response/status.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-response/to-string.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/close.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/process.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-noop/get.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-noop/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-noop/observe.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-query-criteria/-available/-available.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-query-criteria/-available/equals.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-query-criteria/-available/group-ids.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-query-criteria/-available/hash-code.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-query-criteria/-available/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-query-criteria/-available/to-string.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-query-criteria/-by-id/-by-id.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-query-criteria/-by-id/equals.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-query-criteria/-by-id/group-id.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-query-criteria/-by-id/hash-code.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-query-criteria/-by-id/id.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-query-criteria/-by-id/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-query-criteria/-by-id/to-string.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-query-criteria/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-result/-none/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-result/-none/to-string.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-result/-some/-some.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-result/-some/equals.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-result/-some/hash-code.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-result/-some/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-result/-some/lenses.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-result/-some/to-string.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-result/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/get.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/observe.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/audio.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/carousel.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/close.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/preferences.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/prefetcher.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/processor.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/repository.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-launch-data/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-launch-data/new-builder.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/when-activated-idle.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/when-activated-with-lens.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/when-activated.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/when-applied.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/when-deactivated.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/when-first-frame-processed.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/when-has-first.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/when-has-some.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/when-idle.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-audio-processor/-input/-frame/buffer.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-audio-processor/-input/-frame/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-audio-processor/-input/-frame/recycle.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-audio-processor/-input/-frame/samples-count.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-audio-processor/-input/buffer-size.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-audio-processor/-input/channels.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-audio-processor/-input/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-audio-processor/-input/sample-rate.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-audio-processor/-input/subscribe-to.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-audio-processor/connect-input.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-audio-processor/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-experimental/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-image-processor/-failure/-graphics/-graphics.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-image-processor/-failure/-graphics/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-image-processor/-failure/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-image-processor/-input/-backed-by-surface-texture/-backed-by-surface-texture.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-image-processor/-input/-backed-by-surface-texture/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-image-processor/-input/-backed-by-surface-texture/surface-texture.html create mode 100644 docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-image-processor/-input/-capability/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-image-processor/-input/-capability/value-of.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-image-processor/-input/-capability/values.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-image-processor/-input/-companion/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-image-processor/-input/-frame/horizontal-field-of-view.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-image-processor/-input/-frame/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-image-processor/-input/-frame/recycle.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-image-processor/-input/-frame/timestamp.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-image-processor/-input/-frame/transformation-matrix.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-image-processor/-input/-frame/vertical-field-of-view.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-image-processor/-input/-option/-crop/-center/-center.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-image-processor/-input/-option/-crop/-center/aspect-ratio-denominator.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-image-processor/-input/-option/-crop/-center/aspect-ratio-numerator.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-image-processor/-input/-option/-crop/-center/equals.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-image-processor/-input/-option/-crop/-center/hash-code.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-image-processor/-input/-option/-crop/-center/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-image-processor/-input/-option/-crop/-center/to-string.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-image-processor/-input/-option/-crop/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-image-processor/-input/-option/-mirror-frames-horizontally/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-image-processor/-input/-option/-mirror-frames-vertically/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-image-processor/-input/-option/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-image-processor/-input/-pausable/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-image-processor/-input/-pausable/pause.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-image-processor/-input/-pausable/resume.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-image-processor/-input/attach-to-gl-context.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-image-processor/-input/detach-from-gl-context.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-image-processor/-input/facing-front.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-image-processor/-input/height.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-image-processor/-input/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-image-processor/-input/read-frame.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-image-processor/-input/rotation-degrees.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-image-processor/-input/subscribe-to.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-image-processor/-input/width.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-image-processor/-output/-backed-by-surface-texture/-backed-by-surface-texture.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-image-processor/-output/-backed-by-surface-texture/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-image-processor/-output/-backed-by-surface-texture/purpose.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-image-processor/-output/-backed-by-surface-texture/surface-texture.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-image-processor/-output/-backed-by-surface/-backed-by-surface.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-image-processor/-output/-backed-by-surface/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-image-processor/-output/-backed-by-surface/purpose.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-image-processor/-output/-backed-by-surface/surface.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-image-processor/-output/-companion/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-image-processor/-output/-frame/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-image-processor/-output/-frame/recycle.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-image-processor/-output/-frame/timestamp.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-image-processor/-output/-option/-clear-on-disconnect/-clear-on-disconnect.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-image-processor/-output/-option/-clear-on-disconnect/color.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-image-processor/-output/-option/-clear-on-disconnect/equals.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-image-processor/-output/-option/-clear-on-disconnect/hash-code.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-image-processor/-output/-option/-clear-on-disconnect/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-image-processor/-output/-option/-clear-on-disconnect/to-string.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-image-processor/-output/-option/-ignore-device-rotation/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-image-processor/-output/-option/index.html create mode 100644 docs/api/android/1.34.0/-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.34.0/-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.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-image-processor/-output/-purpose/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-image-processor/-output/-purpose/value-of.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-image-processor/-output/-purpose/values.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-image-processor/-output/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-image-processor/-output/purpose.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-image-processor/-output/rotation-degrees.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-image-processor/-output/write-frame.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-image-processor/connect-input.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-image-processor/connect-output.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-image-processor/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-image-processor/observe-required-capabilities.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-legal-processor/-input/-prompt/-prompt.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-legal-processor/-input/-prompt/equals.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-legal-processor/-input/-prompt/hash-code.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-legal-processor/-input/-prompt/id.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-legal-processor/-input/-prompt/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-legal-processor/-input/-prompt/message.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-legal-processor/-input/-prompt/to-string.html create mode 100644 docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-legal-processor/-input/-request-update/-n-e-v-e-r/index.html create mode 100644 docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-legal-processor/-input/-request-update/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-legal-processor/-input/-request-update/value-of.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-legal-processor/-input/-request-update/values.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-legal-processor/-input/-result/-accepted/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-legal-processor/-input/-result/-accepted/to-string.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-legal-processor/-input/-result/-dismissed/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-legal-processor/-input/-result/-dismissed/to-string.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-legal-processor/-input/-result/-missing/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-legal-processor/-input/-result/-missing/to-string.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-legal-processor/-input/-result/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-legal-processor/-input/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-legal-processor/-input/subscribe-to.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-legal-processor/connect-input.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-legal-processor/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-legal-processor/observe.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-legal-processor/wait-for.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-location-processor/-input/-tracking-requirements/-tracking-requirements.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-location-processor/-input/-tracking-requirements/equals.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-location-processor/-input/-tracking-requirements/hash-code.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-location-processor/-input/-tracking-requirements/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-location-processor/-input/-tracking-requirements/to-string.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-location-processor/-input/-tracking-requirements/update-interval-time-unit.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-location-processor/-input/-tracking-requirements/update-interval.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-location-processor/-input/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-location-processor/-input/subscribe-to.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-location-processor/connect-input.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-location-processor/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/-media-type/-all-original/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/-media-type/-images/-original/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/-media-type/-images/-with-face/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/-media-type/-images/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/-media-type/-videos/-original/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/-media-type/-videos/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/-media-type/index.html create mode 100644 docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/-multiple-media-items-to-pick-from/equals.html create mode 100644 docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/-multiple-media-items-to-pick-from/index.html create mode 100644 docs/api/android/1.34.0/-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.34.0/-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.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/-single-media-item/-single-media-item.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/-single-media-item/equals.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/-single-media-item/hash-code.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/-single-media-item/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/-single-media-item/media-type.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/-single-media-item/media-types.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/-single-media-item/to-string.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/index.html create mode 100644 docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-media-processor/-input/-result/-with-media-items-to-pick-from/equals.html create mode 100644 docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-media-processor/-input/-result/-with-media-items-to-pick-from/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-media-processor/-input/-result/-with-media-items-to-pick-from/items.html create mode 100644 docs/api/android/1.34.0/-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.34.0/-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.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-media-processor/-input/-result/-with-single-media-item/equals.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-media-processor/-input/-result/-with-single-media-item/hash-code.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-media-processor/-input/-result/-with-single-media-item/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-media-processor/-input/-result/-with-single-media-item/item.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-media-processor/-input/-result/-with-single-media-item/to-string.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-media-processor/-input/-result/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-media-processor/-input/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-media-processor/-input/subscribe-to.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-face/-face.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-face/equals.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-face/hash-code.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-face/height.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-face/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-face/to-string.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-face/width.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-face/x.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-face/y.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-original/-by-uri/-by-uri.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-original/-by-uri/equals.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-original/-by-uri/hash-code.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-original/-by-uri/height.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-original/-by-uri/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-original/-by-uri/rotation-degrees.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-original/-by-uri/to-string.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-original/-by-uri/uri.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-original/-by-uri/width.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-original/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-with-face/-with-face.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-with-face/equals.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-with-face/face.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-with-face/hash-code.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-with-face/image.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-with-face/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-with-face/to-string.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-media-processor/-media/-video/-original/-by-uri/-by-uri.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-media-processor/-media/-video/-original/-by-uri/duration-in-millis.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-media-processor/-media/-video/-original/-by-uri/equals.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-media-processor/-media/-video/-original/-by-uri/hash-code.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-media-processor/-media/-video/-original/-by-uri/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-media-processor/-media/-video/-original/-by-uri/to-string.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-media-processor/-media/-video/-original/-by-uri/uri.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-media-processor/-media/-video/-original/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-media-processor/-media/-video/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-media-processor/-media/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-media-processor/connect-input.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-media-processor/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-processor/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-safe-render-area-processor/-input/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-safe-render-area-processor/-input/subscribe-to.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-safe-render-area-processor/connect-input.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-safe-render-area-processor/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-session/-builder/api-token.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-session/-builder/application-id.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-session/-builder/attach-to.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-session/-builder/audio-processor-source.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-session/-builder/build.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-session/-builder/configure-lenses.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-session/-builder/configure-with.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-session/-builder/handle-errors-with.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-session/-builder/image-processor-source.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-session/-builder/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-session/-builder/legal-processor-source.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-session/-builder/location-processor-source.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-session/-builder/media-processor-source.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-session/-builder/safe-render-area-processor-source.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-session/-builder/user-processor-source.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-session/-companion/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-session/-processor/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-session/adjustments.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-session/close.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-session/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-session/lenses.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-session/processor.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-source/-noop/attach.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-source/-noop/get.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-source/-noop/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-source/attach.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-source/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-unauthorized-application-exception/-unauthorized-application-exception.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-unauthorized-application-exception/api-token.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-unauthorized-application-exception/application-id.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-unauthorized-application-exception/equals.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-unauthorized-application-exception/hash-code.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-unauthorized-application-exception/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-unauthorized-application-exception/package-name.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-user-processor/-input/-user/-user.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-user-processor/-input/-user/birth-date.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-user-processor/-input/-user/display-name.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-user-processor/-input/-user/equals.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-user-processor/-input/-user/hash-code.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-user-processor/-input/-user/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-user-processor/-input/-user/to-string.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-user-processor/-input/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-user-processor/-input/subscribe-to.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-user-processor/connect-input.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-user-processor/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-version/-companion/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-version/-version.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-version/compare-to.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-version/equals.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-version/hash-code.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-version/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-version/major.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-version/minor.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-version/patch.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-version/qualifier.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-version/to-string.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/ar-core-input.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/connect-input.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/connect-output.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/index.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/input-frame-from.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/input-from.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/lens-core-version.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/microphone-source-for.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/new-builder.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/output-from.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/process-bitmap.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/process-image.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/source-from.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/supported.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/to-bitmap.html create mode 100644 docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/version-from.html create mode 100644 docs/api/android/1.34.0/-camera-kit/package-list create mode 100644 docs/api/android/1.34.0/images/anchor-copy-button.svg create mode 100644 docs/api/android/1.34.0/images/arrow_down.svg create mode 100644 docs/api/android/1.34.0/images/copy-icon.svg create mode 100644 docs/api/android/1.34.0/images/copy-successful-icon.svg create mode 100644 docs/api/android/1.34.0/images/footer-go-to-link.svg create mode 100644 docs/api/android/1.34.0/images/go-to-top-icon.svg create mode 100644 docs/api/android/1.34.0/images/logo-icon.svg create mode 100644 docs/api/android/1.34.0/images/nav-icons/abstract-class-kotlin.svg create mode 100644 docs/api/android/1.34.0/images/nav-icons/abstract-class.svg create mode 100644 docs/api/android/1.34.0/images/nav-icons/annotation-kotlin.svg create mode 100644 docs/api/android/1.34.0/images/nav-icons/annotation.svg create mode 100644 docs/api/android/1.34.0/images/nav-icons/class-kotlin.svg create mode 100644 docs/api/android/1.34.0/images/nav-icons/class.svg create mode 100644 docs/api/android/1.34.0/images/nav-icons/enum-kotlin.svg create mode 100644 docs/api/android/1.34.0/images/nav-icons/enum.svg create mode 100644 docs/api/android/1.34.0/images/nav-icons/exception-class.svg create mode 100644 docs/api/android/1.34.0/images/nav-icons/field-value.svg create mode 100644 docs/api/android/1.34.0/images/nav-icons/field-variable.svg create mode 100644 docs/api/android/1.34.0/images/nav-icons/function.svg create mode 100644 docs/api/android/1.34.0/images/nav-icons/interface-kotlin.svg create mode 100644 docs/api/android/1.34.0/images/nav-icons/interface.svg create mode 100644 docs/api/android/1.34.0/images/nav-icons/object.svg create mode 100644 docs/api/android/1.34.0/images/theme-toggle.svg create mode 100644 docs/api/android/1.34.0/index.html create mode 100644 docs/api/android/1.34.0/navigation.html create mode 100644 docs/api/android/1.34.0/scripts/clipboard.js create mode 100644 docs/api/android/1.34.0/scripts/main.js create mode 100644 docs/api/android/1.34.0/scripts/navigation-loader.js create mode 100644 docs/api/android/1.34.0/scripts/pages.json create mode 100644 docs/api/android/1.34.0/scripts/platform-content-handler.js create mode 100644 docs/api/android/1.34.0/scripts/prism.js create mode 100644 docs/api/android/1.34.0/scripts/sourceset_dependencies.js create mode 100644 docs/api/android/1.34.0/scripts/symbol-parameters-wrapper_deferred.js create mode 100644 docs/api/android/1.34.0/styles/jetbrains-mono.css create mode 100644 docs/api/android/1.34.0/styles/logo-styles.css create mode 100644 docs/api/android/1.34.0/styles/main.css create mode 100644 docs/api/android/1.34.0/styles/prism.css create mode 100644 docs/api/android/1.34.0/styles/style.css create mode 100644 docs/api/ios/1.34.0/README.md create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/Classes.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/Classes/SCCameraKitARSessionInput.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/Classes/SCCameraKitAVSessionInput.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/Classes/SCCameraKitAVWriterOutput.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/Classes/SCCameraKitCacheConfig.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/Classes/SCCameraKitDataProviderComponent.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/Classes/SCCameraKitExplicitViewportProvider.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/Classes/SCCameraKitLensLaunchDataBuilder.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/Classes/SCCameraKitLensMediaPickerProviderPhotoLibrary.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/Classes/SCCameraKitLensRemoteApiResponse.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/Classes/SCCameraKitLensesConfig.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/Classes/SCCameraKitPhotoCaptureOutput.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/Classes/SCCameraKitPortraitAdjustment.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/Classes/SCCameraKitPreviewView.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/Classes/SCCameraKitSession.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/Classes/SCCameraKitSessionConfig.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/Classes/SCCameraKitToneMapAdjustment.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/Classes/SCCameraKitUserData.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/Constants.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/Enums.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/Enums/SCCameraKitAdjustmentsComponentError.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/Enums/SCCameraKitLensFacingPreference.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/Enums/SCCameraKitLensFetchStatus.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/Enums/SCCameraKitLensMediaPickerAssetType.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/Enums/SCCameraKitLensMediaPickerProviderAllowedMediaType.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/Enums/SCCameraKitLensRemoteApiResponseStatus.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/Enums/SCCameraKitLensRemoteApiServiceCallStatus.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/Enums/SCCameraKitPreviewViewContentMode.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/Extensions.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/Extensions/AdjustmentsProcessor.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/Protocols.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/Protocols/Adjustment.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/Protocols/SCCameraKitARInput.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/Protocols/SCCameraKitARInputDelegate.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/Protocols/SCCameraKitAccessTokenProvider.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/Protocols/SCCameraKitAccessTokenProviderTask.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/Protocols/SCCameraKitAdjustmentsComponent.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/Protocols/SCCameraKitAdjustmentsProcessor.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/Protocols/SCCameraKitAdjustmentsProcessorObserver.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/Protocols/SCCameraKitAgreementSet.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/Protocols/SCCameraKitAgreementsPresentationContextProvider.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/Protocols/SCCameraKitAgreementsStore.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/Protocols/SCCameraKitDeviceMotionDataProvider.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/Protocols/SCCameraKitDeviceMotionParameters.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/Protocols/SCCameraKitErrorHandler.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/Protocols/SCCameraKitInput.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/Protocols/SCCameraKitInputDestination.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/Protocols/SCCameraKitLens.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/Protocols/SCCameraKitLensHintDelegate.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/Protocols/SCCameraKitLensHintProvider.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/Protocols/SCCameraKitLensMediaPickerAsset.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/Protocols/SCCameraKitLensMediaPickerProvider.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/Protocols/SCCameraKitLensMediaPickerProviderMediaApplicationDelegate.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/Protocols/SCCameraKitLensMediaPickerProviderUIDelegate.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/Protocols/SCCameraKitLensPrefetcher.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/Protocols/SCCameraKitLensPrefetcherObserver.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/Protocols/SCCameraKitLensPrefetcherTask.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/Protocols/SCCameraKitLensPreview.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/Protocols/SCCameraKitLensProcessor.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/Protocols/SCCameraKitLensProcessorObserver.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/Protocols/SCCameraKitLensRemoteApiRequest.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/Protocols/SCCameraKitLensRemoteApiResponse.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/Protocols/SCCameraKitLensRemoteApiService.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/Protocols/SCCameraKitLensRemoteApiServiceCall.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/Protocols/SCCameraKitLensRemoteApiServiceProvider.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/Protocols/SCCameraKitLensRepository.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/Protocols/SCCameraKitLensRepositoryGroupObserver.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/Protocols/SCCameraKitLensRepositorySpecificObserver.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/Protocols/SCCameraKitLensSnapcodes.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/Protocols/SCCameraKitLensesComponent.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/Protocols/SCCameraKitLocationDataProvider.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/Protocols/SCCameraKitLocationParameters.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/Protocols/SCCameraKitOutput.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/Protocols/SCCameraKitPortraitAdjustmentController.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/Protocols/SCCameraKitPreferences.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/Protocols/SCCameraKitProtocol.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/Protocols/SCCameraKitTextInputContextProvider.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/Protocols/SCCameraKitTextInputKeyboardAccessoryProvider.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/Protocols/SCCameraKitToneMapAdjustmentController.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/Protocols/SCCameraKitUserDataProvider.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/Protocols/SCCameraKitUserDataProviderDelegate.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/Structs.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/Structs/SCCameraKitLensMediaPickerAssetMetadata.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/Type Definitions.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/Type Definitions/SCCameraKitLensMediaPickerAssetMetadata.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/Type Definitions/SCCameraKitLensMediaPickerAssetMetadata/SCCameraKitLensMediaPickerAssetMetadata.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/badge.svg create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/css/highlight.css create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/css/jazzy.css create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Info.plist create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Classes.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Classes/SCCameraKitARSessionInput.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Classes/SCCameraKitAVSessionInput.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Classes/SCCameraKitAVWriterOutput.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Classes/SCCameraKitCacheConfig.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Classes/SCCameraKitDataProviderComponent.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Classes/SCCameraKitExplicitViewportProvider.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Classes/SCCameraKitLensLaunchDataBuilder.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Classes/SCCameraKitLensMediaPickerProviderPhotoLibrary.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Classes/SCCameraKitLensRemoteApiResponse.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Classes/SCCameraKitLensesConfig.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Classes/SCCameraKitPhotoCaptureOutput.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Classes/SCCameraKitPortraitAdjustment.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Classes/SCCameraKitPreviewView.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Classes/SCCameraKitSession.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Classes/SCCameraKitSessionConfig.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Classes/SCCameraKitToneMapAdjustment.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Classes/SCCameraKitUserData.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Constants.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Enums.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Enums/SCCameraKitAdjustmentsComponentError.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Enums/SCCameraKitLensFacingPreference.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Enums/SCCameraKitLensFetchStatus.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Enums/SCCameraKitLensMediaPickerAssetType.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Enums/SCCameraKitLensMediaPickerProviderAllowedMediaType.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Enums/SCCameraKitLensRemoteApiResponseStatus.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Enums/SCCameraKitLensRemoteApiServiceCallStatus.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Enums/SCCameraKitPreviewViewContentMode.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Extensions.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Extensions/AdjustmentsProcessor.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/Adjustment.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitARInput.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitARInputDelegate.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitAccessTokenProvider.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitAccessTokenProviderTask.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitAdjustmentsComponent.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitAdjustmentsProcessor.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitAdjustmentsProcessorObserver.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitAgreementSet.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitAgreementsPresentationContextProvider.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitAgreementsStore.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitDeviceMotionDataProvider.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitDeviceMotionParameters.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitErrorHandler.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitInput.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitInputDestination.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLens.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensHintDelegate.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensHintProvider.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensMediaPickerAsset.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensMediaPickerProvider.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensMediaPickerProviderMediaApplicationDelegate.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensMediaPickerProviderUIDelegate.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensPrefetcher.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensPrefetcherObserver.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensPrefetcherTask.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensPreview.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensProcessor.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensProcessorObserver.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensRemoteApiRequest.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensRemoteApiResponse.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensRemoteApiService.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensRemoteApiServiceCall.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensRemoteApiServiceProvider.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensRepository.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensRepositoryGroupObserver.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensRepositorySpecificObserver.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensSnapcodes.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensesComponent.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLocationDataProvider.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLocationParameters.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitOutput.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitPortraitAdjustmentController.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitPreferences.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitProtocol.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitTextInputContextProvider.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitTextInputKeyboardAccessoryProvider.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitToneMapAdjustmentController.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitUserDataProvider.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitUserDataProviderDelegate.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Structs.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Structs/SCCameraKitLensMediaPickerAssetMetadata.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Type Definitions.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Type Definitions/SCCameraKitLensMediaPickerAssetMetadata.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Type Definitions/SCCameraKitLensMediaPickerAssetMetadata/SCCameraKitLensMediaPickerAssetMetadata.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/css/highlight.css create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/css/jazzy.css create mode 100755 docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/img/carat.png create mode 100755 docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/img/dash.png create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/img/spinner.gif create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/index.html create mode 100755 docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/js/jazzy.js create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/js/jazzy.search.js create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/js/jquery.min.js create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/js/lunr.min.js create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/js/typeahead.jquery.js create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/search.json create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/docSet.dsidx create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.tgz create mode 100755 docs/api/ios/1.34.0/SCSDKCameraKit/img/carat.png create mode 100755 docs/api/ios/1.34.0/SCSDKCameraKit/img/dash.png create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/img/spinner.gif create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/index.html create mode 100755 docs/api/ios/1.34.0/SCSDKCameraKit/js/jazzy.js create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/js/jazzy.search.js create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/js/jquery.min.js create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/js/lunr.min.js create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/js/typeahead.jquery.js create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/search.json create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKit/undocumented.json create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceSwiftUI/Classes.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceSwiftUI/Classes/CameraViewState.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceSwiftUI/Structs.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceSwiftUI/Structs/CameraButton.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceSwiftUI/Structs/CameraButton/Coordinator.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceSwiftUI/Structs/CameraView.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceSwiftUI/Structs/CarouselView.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceSwiftUI/Structs/CarouselView/Coordinator.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceSwiftUI/Structs/ImagePreviewView.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceSwiftUI/Structs/MediaPickerView.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceSwiftUI/Structs/PreviewView.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceSwiftUI/Structs/VideoPreviewView.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceSwiftUI/badge.svg create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceSwiftUI/css/highlight.css create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceSwiftUI/css/jazzy.css create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Info.plist create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/Documents/Classes.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/Documents/Classes/CameraViewState.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/Documents/Structs.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/Documents/Structs/CameraButton.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/Documents/Structs/CameraButton/Coordinator.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/Documents/Structs/CameraView.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/Documents/Structs/CarouselView.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/Documents/Structs/CarouselView/Coordinator.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/Documents/Structs/ImagePreviewView.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/Documents/Structs/MediaPickerView.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/Documents/Structs/PreviewView.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/Documents/Structs/VideoPreviewView.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/Documents/css/highlight.css create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/Documents/css/jazzy.css create mode 100755 docs/api/ios/1.34.0/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/Documents/img/carat.png create mode 100755 docs/api/ios/1.34.0/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/Documents/img/dash.png create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/Documents/img/spinner.gif create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/Documents/index.html create mode 100755 docs/api/ios/1.34.0/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/Documents/js/jazzy.js create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/Documents/js/jazzy.search.js create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/Documents/js/jquery.min.js create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/Documents/js/lunr.min.js create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/Documents/js/typeahead.jquery.js create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/Documents/search.json create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/docSet.dsidx create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.tgz create mode 100755 docs/api/ios/1.34.0/SCSDKCameraKitReferenceSwiftUI/img/carat.png create mode 100755 docs/api/ios/1.34.0/SCSDKCameraKitReferenceSwiftUI/img/dash.png create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceSwiftUI/img/spinner.gif create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceSwiftUI/index.html create mode 100755 docs/api/ios/1.34.0/SCSDKCameraKitReferenceSwiftUI/js/jazzy.js create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceSwiftUI/js/jazzy.search.js create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceSwiftUI/js/jquery.min.js create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceSwiftUI/js/lunr.min.js create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceSwiftUI/js/typeahead.jquery.js create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceSwiftUI/search.json create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceSwiftUI/undocumented.json create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Classes.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Classes/AdjustmentControlView.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Classes/AdjustmentControlView/Variant.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Classes/BundleHelper.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Classes/CameraActionsView.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Classes/CameraBottomBar.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Classes/CameraButton.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Classes/CameraConfigurableActionView.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Classes/CameraController.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Classes/CameraController/FlashMode.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Classes/CameraController/FlashState.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Classes/CameraController/PointOfInterestOptions.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Classes/CameraView.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Classes/CameraViewController.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Classes/CarouselCollectionViewCell.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Classes/CarouselCollectionViewLayout.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Classes/CarouselItem.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Classes/CarouselView.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Classes/ControlSlider.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Classes/DefaultCarouselImageLoader.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Classes/EmptyItem.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Classes/FlashControlView.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Classes/FlashModeSelectionView.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Classes/ImagePreviewViewController.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Classes/KeyboardAccessoryViewProvider.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Classes/MediaPickerView.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Classes/MessageNotificationView.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Classes/PreviewViewController.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Classes/Recorder.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Classes/RingLightColorSelectionView.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Classes/RingLightColorSelectionViewCell.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Classes/RingLightGradientView.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Classes/RingLightView.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Classes/SnapAttributionView.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Classes/TapAnimationView.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Classes/UserDataProvider.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Classes/VideoPreviewViewController.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Enums.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Enums/CameraBottomBarElements.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Enums/CameraElements.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Enums/CameraElements/CameraFlip.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Enums/CarouselElements.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Enums/FlashControlElements.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Enums/MessageNotificationElements.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Enums/OtherElements.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Enums/PreviewElements.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Enums/SnapchatScreen.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Extensions.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Extensions/NSString.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Extensions/UIButton.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Extensions/UIColor.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Extensions/UIFont.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Extensions/UIImage.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Extensions/UILabel.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Functions.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Protocols.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Protocols/AdjustmentControlViewDelegate.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Protocols/AppOrientationDelegate.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Protocols/CameraButtonDelegate.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Protocols/CameraControllerUIDelegate.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Protocols/CarouselCollectionViewLayoutDataSource.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Protocols/CarouselCollectionViewLayoutDelegate.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Protocols/CarouselImageLoader.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Protocols/CarouselViewDataSource.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Protocols/CarouselViewDelegate.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Protocols/ControlSliderDelegate.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Protocols/FlashControlViewDelegate.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Protocols/FlashModeSelectionViewDelegate.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Protocols/MediaPickerViewDelegate.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Protocols/RingLightColorSelectionViewDelegate.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Protocols/SnapchatDelegate.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Protocols/TestableElement.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/badge.svg create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/css/highlight.css create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/css/jazzy.css create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Info.plist create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/AdjustmentControlView.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/AdjustmentControlView/Variant.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/BundleHelper.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/CameraActionsView.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/CameraBottomBar.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/CameraButton.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/CameraConfigurableActionView.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/CameraController.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/CameraController/FlashMode.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/CameraController/FlashState.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/CameraController/PointOfInterestOptions.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/CameraView.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/CameraViewController.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/CarouselCollectionViewCell.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/CarouselCollectionViewLayout.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/CarouselItem.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/CarouselView.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/ControlSlider.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/DefaultCarouselImageLoader.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/EmptyItem.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/FlashControlView.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/FlashModeSelectionView.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/ImagePreviewViewController.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/KeyboardAccessoryViewProvider.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/MediaPickerView.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/MessageNotificationView.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/PreviewViewController.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/Recorder.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/RingLightColorSelectionView.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/RingLightColorSelectionViewCell.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/RingLightGradientView.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/RingLightView.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/SnapAttributionView.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/TapAnimationView.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/UserDataProvider.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/VideoPreviewViewController.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Enums.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Enums/CameraBottomBarElements.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Enums/CameraElements.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Enums/CameraElements/CameraFlip.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Enums/CarouselElements.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Enums/FlashControlElements.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Enums/MessageNotificationElements.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Enums/OtherElements.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Enums/PreviewElements.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Enums/SnapchatScreen.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Extensions.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Extensions/NSString.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Extensions/UIButton.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Extensions/UIColor.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Extensions/UIFont.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Extensions/UIImage.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Extensions/UILabel.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Functions.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Protocols.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Protocols/AdjustmentControlViewDelegate.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Protocols/AppOrientationDelegate.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Protocols/CameraButtonDelegate.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Protocols/CameraControllerUIDelegate.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Protocols/CarouselCollectionViewLayoutDataSource.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Protocols/CarouselCollectionViewLayoutDelegate.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Protocols/CarouselImageLoader.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Protocols/CarouselViewDataSource.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Protocols/CarouselViewDelegate.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Protocols/ControlSliderDelegate.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Protocols/FlashControlViewDelegate.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Protocols/FlashModeSelectionViewDelegate.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Protocols/MediaPickerViewDelegate.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Protocols/RingLightColorSelectionViewDelegate.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Protocols/SnapchatDelegate.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Protocols/TestableElement.html create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/css/highlight.css create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/css/jazzy.css create mode 100755 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/img/carat.png create mode 100755 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/img/dash.png create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/img/spinner.gif create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/index.html create mode 100755 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/js/jazzy.js create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/js/jazzy.search.js create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/js/jquery.min.js create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/js/lunr.min.js create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/js/typeahead.jquery.js create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/search.json create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/docSet.dsidx create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.tgz create mode 100755 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/img/carat.png create mode 100755 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/img/dash.png create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/img/spinner.gif create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/index.html create mode 100755 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/js/jazzy.js create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/js/jazzy.search.js create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/js/jquery.min.js create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/js/lunr.min.js create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/js/typeahead.jquery.js create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/search.json create mode 100644 docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/undocumented.json create mode 100644 docs/api/ios/1.34.0/index.html create mode 100644 samples/ios/CameraKitBasicSample/.gitignore create mode 100644 samples/ios/CameraKitBasicSample/CameraKitBasicSample.xcodeproj/project.pbxproj create mode 100644 samples/ios/CameraKitBasicSample/CameraKitBasicSample/AppDelegate.swift create mode 100644 samples/ios/CameraKitBasicSample/CameraKitBasicSample/Base.lproj/LaunchScreen.storyboard create mode 100644 samples/ios/CameraKitBasicSample/CameraKitBasicSample/CameraViewController.swift create mode 100644 samples/ios/CameraKitBasicSample/CameraKitBasicSample/Documentation.docc/Documentation.md create mode 100644 samples/ios/CameraKitBasicSample/CameraKitBasicSample/Info.plist diff --git a/CHANGELOG.md b/CHANGELOG.md index e7b175aa..8711ccb8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,14 @@ and the Camera Kit SDK adheres to [Semantic Versioning](https://semver.org/spec/ ## [Unreleased] + +## [1.34.0] - 2024-09-17 +- Lens Studio 5.1 support + +### Updates +- **iOS:** Fix an issue with Custom Location Markers +- **iOS:** Fix an issue caused by the NS_OPTIONS not being supported in Objc++ + ## [1.33.0] - 2024-08-21 - Lens Studio 5.0.19 support diff --git a/README.md b/README.md index c413bb0d..ad730079 100644 --- a/README.md +++ b/README.md @@ -4,4 +4,4 @@
-This repository contains [documentation](./docs) as well as [sample applications](./samples) demonstrating how to integrate the 1.33.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.34.0 version of the [Camera Kit](https://kit.snapchat.com/camera-kit) SDK. diff --git a/VERSION b/VERSION index 7aa332e4..2b17ffd5 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -1.33.0 +1.34.0 diff --git a/docs/api/README.md b/docs/api/README.md index e42d750b..b83a3474 100644 --- a/docs/api/README.md +++ b/docs/api/README.md @@ -5,7 +5,7 @@ - [**Android**](./android/latest) - [**iOS**](./ios/latest) - -## 1.33.0 -- [**Android**](./android/1.33.0) -- [**iOS**](./ios/1.33.0) \ No newline at end of file + +## 1.34.0 +- [**Android**](./android/1.34.0) +- [**iOS**](./ios/1.34.0) \ No newline at end of file diff --git a/docs/api/android/1.34.0/-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.34.0/-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 00000000..99ad5ae2 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.adjustments/-adaptive-tone-mapping-adjustment/amount.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.adjustments/-adaptive-tone-mapping-adjustment/amount.html new file mode 100644 index 00000000..3ceb4e8d --- /dev/null +++ b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.adjustments/-adaptive-tone-mapping-adjustment/amount.html @@ -0,0 +1,69 @@ + + + + + amount + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+ + diff --git a/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.adjustments/-adaptive-tone-mapping-adjustment/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.adjustments/-adaptive-tone-mapping-adjustment/index.html new file mode 100644 index 00000000..702fb5c4 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.adjustments/-adaptive-tone-mapping-adjustment/properties.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.adjustments/-adaptive-tone-mapping-adjustment/properties.html new file mode 100644 index 00000000..ee9a1be6 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-adjustment/-controller/-noop/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-adjustment/-controller/-noop/index.html new file mode 100644 index 00000000..20cb7073 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-adjustment/-controller/-noop/set.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-adjustment/-controller/-noop/set.html new file mode 100644 index 00000000..1e335e03 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-adjustment/-controller/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-adjustment/-controller/index.html new file mode 100644 index 00000000..872b6719 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-adjustment/-controller/set.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-adjustment/-controller/set.html new file mode 100644 index 00000000..643809a3 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-adjustment/-property/id.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-adjustment/-property/id.html new file mode 100644 index 00000000..c16fa461 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-adjustment/-property/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-adjustment/-property/index.html new file mode 100644 index 00000000..6a267abb --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-adjustment/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-adjustment/index.html new file mode 100644 index 00000000..37792edd --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-adjustment/properties.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-adjustment/properties.html new file mode 100644 index 00000000..6455c93b --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-noop/close.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-noop/close.html new file mode 100644 index 00000000..eb5cd9ee --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-noop/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-noop/index.html new file mode 100644 index 00000000..a89e4bd2 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-noop/processor.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-noop/processor.html new file mode 100644 index 00000000..9d270fe1 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-noop/apply.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-noop/apply.html new file mode 100644 index 00000000..3e2e92b7 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-noop/available.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-noop/available.html new file mode 100644 index 00000000..d05d54c3 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-noop/connect-input.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-noop/connect-input.html new file mode 100644 index 00000000..b38b34dc --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-noop/connect-output.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-noop/connect-output.html new file mode 100644 index 00000000..2cd521cd --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-noop/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-noop/index.html new file mode 100644 index 00000000..5c36bd8c --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-noop/observe-required-capabilities.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-noop/observe-required-capabilities.html new file mode 100644 index 00000000..5c146c92 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-noop/remove.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-noop/remove.html new file mode 100644 index 00000000..a3f7e921 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-result/-applied/-applied.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-result/-applied/-applied.html new file mode 100644 index 00000000..272f7773 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-result/-applied/adjustment.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-result/-applied/adjustment.html new file mode 100644 index 00000000..1e9f3448 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-result/-applied/controller.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-result/-applied/controller.html new file mode 100644 index 00000000..0c9f3009 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-result/-applied/equals.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-result/-applied/equals.html new file mode 100644 index 00000000..e7e8b56d --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-result/-applied/hash-code.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-result/-applied/hash-code.html new file mode 100644 index 00000000..19d5671f --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-result/-applied/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-result/-applied/index.html new file mode 100644 index 00000000..a23ceadc --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-result/-applied/to-string.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-result/-applied/to-string.html new file mode 100644 index 00000000..877e3767 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-result/-unavailable/-unavailable.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-result/-unavailable/-unavailable.html new file mode 100644 index 00000000..22cb8527 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-result/-unavailable/adjustment.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-result/-unavailable/adjustment.html new file mode 100644 index 00000000..506fc9db --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-result/-unavailable/equals.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-result/-unavailable/equals.html new file mode 100644 index 00000000..1528db91 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-result/-unavailable/hash-code.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-result/-unavailable/hash-code.html new file mode 100644 index 00000000..c25fa9e4 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-result/-unavailable/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-result/-unavailable/index.html new file mode 100644 index 00000000..07f8a678 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-result/-unavailable/to-string.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-result/-unavailable/to-string.html new file mode 100644 index 00000000..44ad9f33 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-result/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/-result/index.html new file mode 100644 index 00000000..b542a1ea --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/apply.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/apply.html new file mode 100644 index 00000000..92edd1ff --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/available.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/available.html new file mode 100644 index 00000000..38481d8b --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/index.html new file mode 100644 index 00000000..d763709d --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/remove.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/-processor/remove.html new file mode 100644 index 00000000..e3e5e933 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/close.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/close.html new file mode 100644 index 00000000..3f76c9f9 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/index.html new file mode 100644 index 00000000..e30b3162 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/processor.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.adjustments/-adjustments-component/processor.html new file mode 100644 index 00000000..e42b0711 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-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.34.0/-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 00000000..9053bdf6 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.adjustments/-portrait-adjustment/blur.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.adjustments/-portrait-adjustment/blur.html new file mode 100644 index 00000000..7d7bdf8d --- /dev/null +++ b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.adjustments/-portrait-adjustment/blur.html @@ -0,0 +1,69 @@ + + + + + blur + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+ + diff --git a/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.adjustments/-portrait-adjustment/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.adjustments/-portrait-adjustment/index.html new file mode 100644 index 00000000..a7972fae --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.adjustments/-portrait-adjustment/properties.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.adjustments/-portrait-adjustment/properties.html new file mode 100644 index 00000000..66b41e46 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.adjustments/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.adjustments/index.html new file mode 100644 index 00000000..83823d47 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.adjustments/when-applied.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.adjustments/when-applied.html new file mode 100644 index 00000000..0700a2f1 --- /dev/null +++ b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.adjustments/when-applied.html @@ -0,0 +1,69 @@ + + + + + whenApplied + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.common/-consumer/accept.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.common/-consumer/accept.html new file mode 100644 index 00000000..d633e2d5 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.common/-consumer/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.common/-consumer/index.html new file mode 100644 index 00000000..63a72cdb --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.common/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.common/index.html new file mode 100644 index 00000000..ecc2dbeb --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-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.34.0/-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 00000000..eb828ecc --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-audio/-adjustment/-volume/-mute/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-audio/-adjustment/-volume/-mute/index.html new file mode 100644 index 00000000..48221c9a --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-audio/-adjustment/-volume/-mute/to-string.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-audio/-adjustment/-volume/-mute/to-string.html new file mode 100644 index 00000000..72c7a104 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-audio/-adjustment/-volume/-un-mute/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-audio/-adjustment/-volume/-un-mute/index.html new file mode 100644 index 00000000..696ef18c --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-audio/-adjustment/-volume/-un-mute/to-string.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-audio/-adjustment/-volume/-un-mute/to-string.html new file mode 100644 index 00000000..3c94de56 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-audio/-adjustment/-volume/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-audio/-adjustment/-volume/index.html new file mode 100644 index 00000000..f9a66149 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-audio/-adjustment/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-audio/-adjustment/index.html new file mode 100644 index 00000000..ed0c2019 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-audio/-noop/adjust.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-audio/-noop/adjust.html new file mode 100644 index 00000000..17eeb8c4 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-audio/-noop/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-audio/-noop/index.html new file mode 100644 index 00000000..386a0bb1 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-audio/adjust.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-audio/adjust.html new file mode 100644 index 00000000..2dba7e4a --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-audio/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-audio/index.html new file mode 100644 index 00000000..e9adbcef --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-builder/attach-widgets-to.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-builder/attach-widgets-to.html new file mode 100644 index 00000000..b01f7a99 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-builder/build.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-builder/build.html new file mode 100644 index 00000000..9d8b37db --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-builder/configure-cache.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-builder/configure-cache.html new file mode 100644 index 00000000..f2fc6bf3 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-builder/configure-carousel.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-builder/configure-carousel.html new file mode 100644 index 00000000..99e13e0f --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-builder/configure-hints.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-builder/configure-hints.html new file mode 100644 index 00000000..634e03fe --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-builder/configure-loading-overlay.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-builder/configure-loading-overlay.html new file mode 100644 index 00000000..73fa6e84 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-builder/configure-media-picker.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-builder/configure-media-picker.html new file mode 100644 index 00000000..2cf99ab5 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-builder/configure-processor.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-builder/configure-processor.html new file mode 100644 index 00000000..89aae6ca --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-builder/dispatch-touch-events-to.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-builder/dispatch-touch-events-to.html new file mode 100644 index 00000000..66fd35ee --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-builder/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-builder/index.html new file mode 100644 index 00000000..3a496321 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-builder/remote-api-service-factory.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-builder/remote-api-service-factory.html new file mode 100644 index 00000000..fc34b7e0 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-cache/-configuration/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-cache/-configuration/index.html new file mode 100644 index 00000000..045652e8 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-cache/-configuration/lens-content-max-size.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-cache/-configuration/lens-content-max-size.html new file mode 100644 index 00000000..fcecee13 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-cache/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-cache/index.html new file mode 100644 index 00000000..90428fee --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-configuration/activate-idle.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-configuration/activate-idle.html new file mode 100644 index 00000000..a314abc9 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-configuration/activate-on-start.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-configuration/activate-on-start.html new file mode 100644 index 00000000..9abc3b91 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-configuration/activate-on-tap.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-configuration/activate-on-tap.html new file mode 100644 index 00000000..80257f9f --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-configuration/attach-view-to.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-configuration/attach-view-to.html new file mode 100644 index 00000000..9950852f --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-configuration/close-button-enabled.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-configuration/close-button-enabled.html new file mode 100644 index 00000000..54579bd1 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-configuration/close-button-margin-bottom-dimen-res.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-configuration/close-button-margin-bottom-dimen-res.html new file mode 100644 index 00000000..606cfea3 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-configuration/configure-each-item.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-configuration/configure-each-item.html new file mode 100644 index 00000000..2ba0838e --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-configuration/deactivate-on-close.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-configuration/deactivate-on-close.html new file mode 100644 index 00000000..d4d26b15 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-configuration/disable-idle.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-configuration/disable-idle.html new file mode 100644 index 00000000..dfa851eb --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-configuration/enabled.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-configuration/enabled.html new file mode 100644 index 00000000..bc9b1ea6 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-configuration/height-dimen-res.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-configuration/height-dimen-res.html new file mode 100644 index 00000000..b8663c29 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-configuration/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-configuration/index.html new file mode 100644 index 00000000..67b4b87a --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-configuration/margin-bottom-dimen-res.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-configuration/margin-bottom-dimen-res.html new file mode 100644 index 00000000..2813faa2 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-configuration/observe-group-ids.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-configuration/observe-group-ids.html new file mode 100644 index 00000000..d7c7852b --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-configuration/observed-group-ids-provider.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-configuration/observed-group-ids-provider.html new file mode 100644 index 00000000..7a6904b7 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-configuration/observed-group-ids.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-configuration/observed-group-ids.html new file mode 100644 index 00000000..59b30bd9 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-configuration/padding-bottom-dimen-res.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-configuration/padding-bottom-dimen-res.html new file mode 100644 index 00000000..51b196e9 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-configuration/padding-top-dimen-res.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-configuration/padding-top-dimen-res.html new file mode 100644 index 00000000..2df37c1a --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-configuration/view.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-configuration/view.html new file mode 100644 index 00000000..930d67bc --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-event/-activated/-idle/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-event/-activated/-idle/index.html new file mode 100644 index 00000000..dedb29e9 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-event/-activated/-idle/to-string.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-event/-activated/-idle/to-string.html new file mode 100644 index 00000000..ea42041d --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-event/-activated/-with-lens/-with-lens.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-event/-activated/-with-lens/-with-lens.html new file mode 100644 index 00000000..61ce18fd --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-event/-activated/-with-lens/equals.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-event/-activated/-with-lens/equals.html new file mode 100644 index 00000000..d421434e --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-event/-activated/-with-lens/hash-code.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-event/-activated/-with-lens/hash-code.html new file mode 100644 index 00000000..241a3ec0 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-event/-activated/-with-lens/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-event/-activated/-with-lens/index.html new file mode 100644 index 00000000..c77fdb7d --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-event/-activated/-with-lens/lens.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-event/-activated/-with-lens/lens.html new file mode 100644 index 00000000..1cbddb7c --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-event/-activated/-with-lens/to-string.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-event/-activated/-with-lens/to-string.html new file mode 100644 index 00000000..1f2b342a --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-event/-activated/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-event/-activated/index.html new file mode 100644 index 00000000..2efed94e --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-event/-deactivated/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-event/-deactivated/index.html new file mode 100644 index 00000000..5af13a91 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-event/-deactivated/to-string.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-event/-deactivated/to-string.html new file mode 100644 index 00000000..53105dec --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-event/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-event/index.html new file mode 100644 index 00000000..562ae957 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-item-options/--index--.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-item-options/--index--.html new file mode 100644 index 00000000..29c5e48a --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-item-options/content-description.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-item-options/content-description.html new file mode 100644 index 00000000..943a4e4a --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-item-options/enabled.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-item-options/enabled.html new file mode 100644 index 00000000..0bab6076 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-item-options/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-item-options/index.html new file mode 100644 index 00000000..04c2e98f --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-item-options/lens.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-item-options/lens.html new file mode 100644 index 00000000..23322ea6 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-item-options/lenses.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-item-options/lenses.html new file mode 100644 index 00000000..a30c32cb --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-item-options/move-to-left.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-item-options/move-to-left.html new file mode 100644 index 00000000..9c1a3c96 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-item-options/move-to-right.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-item-options/move-to-right.html new file mode 100644 index 00000000..8ebeeb55 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-item-options/side.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-item-options/side.html new file mode 100644 index 00000000..5614fd70 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-layout-placement/-above/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-layout-placement/-above/index.html new file mode 100644 index 00000000..2258d34c --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-layout-placement/-above/to-string.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-layout-placement/-above/to-string.html new file mode 100644 index 00000000..90b691bc --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-layout-placement/-behind/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-layout-placement/-behind/index.html new file mode 100644 index 00000000..d3863184 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-layout-placement/-behind/to-string.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-layout-placement/-behind/to-string.html new file mode 100644 index 00000000..9397f2b9 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-layout-placement/-in-front/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-layout-placement/-in-front/index.html new file mode 100644 index 00000000..49a248f2 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-layout-placement/-in-front/to-string.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-layout-placement/-in-front/to-string.html new file mode 100644 index 00000000..31940724 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-layout-placement/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-layout-placement/index.html new file mode 100644 index 00000000..36db408b --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-noop/activate.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-noop/activate.html new file mode 100644 index 00000000..ab7cfee7 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-noop/deactivate.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-noop/deactivate.html new file mode 100644 index 00000000..94c5bcbb --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-noop/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-noop/index.html new file mode 100644 index 00000000..8412ab00 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-noop/observe.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-noop/observe.html new file mode 100644 index 00000000..2734107f --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-side/-l-e-f-t/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-side/-l-e-f-t/index.html new file mode 100644 index 00000000..a02caa1d --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-side/-r-i-g-h-t/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-side/-r-i-g-h-t/index.html new file mode 100644 index 00000000..429e5507 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-side/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-side/index.html new file mode 100644 index 00000000..b8b46903 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-side/value-of.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-side/value-of.html new file mode 100644 index 00000000..ebc86965 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-side/values.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-side/values.html new file mode 100644 index 00000000..5dfa94c8 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-event/-close-button-clicked/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-event/-close-button-clicked/index.html new file mode 100644 index 00000000..e284ce8f --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-event/-close-button-clicked/to-string.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-event/-close-button-clicked/to-string.html new file mode 100644 index 00000000..194f7076 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-event/-item-selected/-item-selected.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-event/-item-selected/-item-selected.html new file mode 100644 index 00000000..69abf6f5 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-event/-item-selected/equals.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-event/-item-selected/equals.html new file mode 100644 index 00000000..211980c6 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-event/-item-selected/hash-code.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-event/-item-selected/hash-code.html new file mode 100644 index 00000000..22b32a33 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-event/-item-selected/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-event/-item-selected/index.html new file mode 100644 index 00000000..6e03b86e --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-event/-item-selected/item.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-event/-item-selected/item.html new file mode 100644 index 00000000..07ab6b66 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-event/-item-selected/to-string.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-event/-item-selected/to-string.html new file mode 100644 index 00000000..e4b61137 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-event/-visible-items-changed/-visible-items-changed.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-event/-visible-items-changed/-visible-items-changed.html new file mode 100644 index 00000000..e5a186d7 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-event/-visible-items-changed/equals.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-event/-visible-items-changed/equals.html new file mode 100644 index 00000000..8d93db78 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-event/-visible-items-changed/hash-code.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-event/-visible-items-changed/hash-code.html new file mode 100644 index 00000000..83d5e48a --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-event/-visible-items-changed/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-event/-visible-items-changed/index.html new file mode 100644 index 00000000..b1a65803 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-event/-visible-items-changed/to-string.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-event/-visible-items-changed/to-string.html new file mode 100644 index 00000000..0f58a354 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-event/-visible-items-changed/visible-items.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-event/-visible-items-changed/visible-items.html new file mode 100644 index 00000000..d46a56be --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-event/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-event/index.html new file mode 100644 index 00000000..79aefc89 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-item/-idle/id.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-item/-idle/id.html new file mode 100644 index 00000000..0e70590f --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-item/-idle/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-item/-idle/index.html new file mode 100644 index 00000000..e0100147 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-item/-idle/to-string.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-item/-idle/to-string.html new file mode 100644 index 00000000..fe1bfcb4 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-item/-lens/content-description.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-item/-lens/content-description.html new file mode 100644 index 00000000..0c2e18c3 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-item/-lens/icon-uri.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-item/-lens/icon-uri.html new file mode 100644 index 00000000..e85eef32 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-item/-lens/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-item/-lens/index.html new file mode 100644 index 00000000..b1f9f814 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-item/-lens/observe-loading-state.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-item/-lens/observe-loading-state.html new file mode 100644 index 00000000..9ea6f456 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-item/-loading-state/-done/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-item/-loading-state/-done/index.html new file mode 100644 index 00000000..362f3e42 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-item/-loading-state/-done/to-string.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-item/-loading-state/-done/to-string.html new file mode 100644 index 00000000..2159e2da --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-item/-loading-state/-idle/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-item/-loading-state/-idle/index.html new file mode 100644 index 00000000..87a44fbd --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-item/-loading-state/-idle/to-string.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-item/-loading-state/-idle/to-string.html new file mode 100644 index 00000000..5acface3 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-item/-loading-state/-in-progress/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-item/-loading-state/-in-progress/index.html new file mode 100644 index 00000000..58ab39ab --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-item/-loading-state/-in-progress/to-string.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-item/-loading-state/-in-progress/to-string.html new file mode 100644 index 00000000..7ab9ce05 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-item/-loading-state/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-item/-loading-state/index.html new file mode 100644 index 00000000..a022fe9a --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-item/id.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-item/id.html new file mode 100644 index 00000000..56f4abfc --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-item/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-item/index.html new file mode 100644 index 00000000..677ca8b1 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-model/-hidden/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-model/-hidden/index.html new file mode 100644 index 00000000..9fc6dcee --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-model/-hidden/to-string.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-model/-hidden/to-string.html new file mode 100644 index 00000000..6240ef26 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-model/-visible/-visible.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-model/-visible/-visible.html new file mode 100644 index 00000000..4598a46a --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-model/-visible/closeable.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-model/-visible/closeable.html new file mode 100644 index 00000000..670363da --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-model/-visible/equals.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-model/-visible/equals.html new file mode 100644 index 00000000..e9da6191 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-model/-visible/hash-code.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-model/-visible/hash-code.html new file mode 100644 index 00000000..8b45345b --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-model/-visible/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-model/-visible/index.html new file mode 100644 index 00000000..7ea44533 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-model/-visible/items.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-model/-visible/items.html new file mode 100644 index 00000000..4801c2f7 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-model/-visible/selected-item-position.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-model/-visible/selected-item-position.html new file mode 100644 index 00000000..85142691 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-model/-visible/to-string.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-model/-visible/to-string.html new file mode 100644 index 00000000..e87b6c13 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-model/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/-model/index.html new file mode 100644 index 00000000..a9f464e3 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/index.html new file mode 100644 index 00000000..0925f378 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/observe.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/-view/observe.html new file mode 100644 index 00000000..d1303546 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/activate.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/activate.html new file mode 100644 index 00000000..2cd55d0b --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/deactivate.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/deactivate.html new file mode 100644 index 00000000..08fba518 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/index.html new file mode 100644 index 00000000..c3c4c956 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/observe.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-carousel/observe.html new file mode 100644 index 00000000..c786ce96 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-hints/-configuration/enabled.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-hints/-configuration/enabled.html new file mode 100644 index 00000000..f971b1a3 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-hints/-configuration/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-hints/-configuration/index.html new file mode 100644 index 00000000..45611b85 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-hints/-configuration/view.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-hints/-configuration/view.html new file mode 100644 index 00000000..c523e4f2 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-hints/-view/-model/-displayed/-displayed.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-hints/-view/-model/-displayed/-displayed.html new file mode 100644 index 00000000..2bddc529 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-hints/-view/-model/-displayed/auto-hide.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-hints/-view/-model/-displayed/auto-hide.html new file mode 100644 index 00000000..8c0cff08 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-hints/-view/-model/-displayed/equals.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-hints/-view/-model/-displayed/equals.html new file mode 100644 index 00000000..5199249f --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-hints/-view/-model/-displayed/hash-code.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-hints/-view/-model/-displayed/hash-code.html new file mode 100644 index 00000000..723ec0dc --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-hints/-view/-model/-displayed/id.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-hints/-view/-model/-displayed/id.html new file mode 100644 index 00000000..b4d44b8f --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-hints/-view/-model/-displayed/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-hints/-view/-model/-displayed/index.html new file mode 100644 index 00000000..178279eb --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-hints/-view/-model/-displayed/text.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-hints/-view/-model/-displayed/text.html new file mode 100644 index 00000000..7aab4d36 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-hints/-view/-model/-displayed/to-string.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-hints/-view/-model/-displayed/to-string.html new file mode 100644 index 00000000..5aec89c2 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-hints/-view/-model/-hidden/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-hints/-view/-model/-hidden/index.html new file mode 100644 index 00000000..18bf2139 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-hints/-view/-model/-hidden/to-string.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-hints/-view/-model/-hidden/to-string.html new file mode 100644 index 00000000..6f0edb03 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-hints/-view/-model/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-hints/-view/-model/index.html new file mode 100644 index 00000000..295aeff8 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-hints/-view/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-hints/-view/index.html new file mode 100644 index 00000000..955face3 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-hints/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-hints/index.html new file mode 100644 index 00000000..517f78db --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-companion/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-companion/index.html new file mode 100644 index 00000000..2980de92 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-facing/-b-a-c-k/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-facing/-b-a-c-k/index.html new file mode 100644 index 00000000..712dfb9e --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-facing/-f-r-o-n-t/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-facing/-f-r-o-n-t/index.html new file mode 100644 index 00000000..9acdb1f2 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-facing/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-facing/index.html new file mode 100644 index 00000000..734f87cc --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-facing/value-of.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-facing/value-of.html new file mode 100644 index 00000000..d4a0c8e5 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-facing/values.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-facing/values.html new file mode 100644 index 00000000..5374b42a --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-launch-data/-builder/build.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-launch-data/-builder/build.html new file mode 100644 index 00000000..b90abfa1 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-launch-data/-builder/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-launch-data/-builder/index.html new file mode 100644 index 00000000..09581b3e --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-launch-data/-builder/put-number.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-launch-data/-builder/put-number.html new file mode 100644 index 00000000..4f8ceeae --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-launch-data/-builder/put-numbers.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-launch-data/-builder/put-numbers.html new file mode 100644 index 00000000..c971075d --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-launch-data/-builder/put-string.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-launch-data/-builder/put-string.html new file mode 100644 index 00000000..11cbbf2a --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-launch-data/-builder/put-strings.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-launch-data/-builder/put-strings.html new file mode 100644 index 00000000..366bd1ef --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-launch-data/-companion/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-launch-data/-companion/index.html new file mode 100644 index 00000000..a6130a5c --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-launch-data/-empty/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-launch-data/-empty/index.html new file mode 100644 index 00000000..7be029c8 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-launch-data/-empty/to-string.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-launch-data/-empty/to-string.html new file mode 100644 index 00000000..caba2171 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-launch-data/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-launch-data/index.html new file mode 100644 index 00000000..a996849d --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-deep-link/-deep-link.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-deep-link/-deep-link.html new file mode 100644 index 00000000..a5355c8d --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-deep-link/equals.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-deep-link/equals.html new file mode 100644 index 00000000..b8b13f39 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-deep-link/hash-code.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-deep-link/hash-code.html new file mode 100644 index 00000000..4bff67b6 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-deep-link/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-deep-link/index.html new file mode 100644 index 00000000..4483e7b2 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-deep-link/to-string.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-deep-link/to-string.html new file mode 100644 index 00000000..6025f110 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-deep-link/uri.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-deep-link/uri.html new file mode 100644 index 00000000..6e58a3e3 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-image/-png/-png.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-image/-png/-png.html new file mode 100644 index 00000000..35bc8caa --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-image/-png/equals.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-image/-png/equals.html new file mode 100644 index 00000000..36fbd374 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-image/-png/hash-code.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-image/-png/hash-code.html new file mode 100644 index 00000000..1e74f274 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-image/-png/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-image/-png/index.html new file mode 100644 index 00000000..9152f15b --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-image/-png/to-string.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-image/-png/to-string.html new file mode 100644 index 00000000..d57347ab --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-image/-png/uri.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-image/-png/uri.html new file mode 100644 index 00000000..dbbb3300 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-image/-webp/-webp.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-image/-webp/-webp.html new file mode 100644 index 00000000..9e238ff0 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-image/-webp/equals.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-image/-webp/equals.html new file mode 100644 index 00000000..dcdab193 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-image/-webp/hash-code.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-image/-webp/hash-code.html new file mode 100644 index 00000000..ee5163f8 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-image/-webp/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-image/-webp/index.html new file mode 100644 index 00000000..d62f18a3 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-image/-webp/to-string.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-image/-webp/to-string.html new file mode 100644 index 00000000..a5dca9e2 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-image/-webp/uri.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-image/-webp/uri.html new file mode 100644 index 00000000..895d47b1 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-image/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-image/index.html new file mode 100644 index 00000000..81c2bf55 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-sequence/-webp/-webp.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-sequence/-webp/-webp.html new file mode 100644 index 00000000..d6419d2e --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-sequence/-webp/equals.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-sequence/-webp/equals.html new file mode 100644 index 00000000..62ebda88 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-sequence/-webp/hash-code.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-sequence/-webp/hash-code.html new file mode 100644 index 00000000..a6f2e95f --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-sequence/-webp/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-sequence/-webp/index.html new file mode 100644 index 00000000..340646b9 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-sequence/-webp/to-string.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-sequence/-webp/to-string.html new file mode 100644 index 00000000..53d076d0 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-sequence/-webp/values.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-sequence/-webp/values.html new file mode 100644 index 00000000..0b0f26e1 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-sequence/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-sequence/index.html new file mode 100644 index 00000000..99ac3eea --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-sequence/values.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/-sequence/values.html new file mode 100644 index 00000000..cbf3a1ae --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/index.html new file mode 100644 index 00000000..6dd0fa8b --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/uri.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-media/uri.html new file mode 100644 index 00000000..e6bca582 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-preview/-image/-image.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-preview/-image/-image.html new file mode 100644 index 00000000..07399910 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-preview/-image/equals.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-preview/-image/equals.html new file mode 100644 index 00000000..111d0008 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-preview/-image/hash-code.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-preview/-image/hash-code.html new file mode 100644 index 00000000..233d8992 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-preview/-image/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-preview/-image/index.html new file mode 100644 index 00000000..3ca9dbe5 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-preview/-image/to-string.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-preview/-image/to-string.html new file mode 100644 index 00000000..e0e9e519 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-preview/-image/uri.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-preview/-image/uri.html new file mode 100644 index 00000000..27e01636 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-preview/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/-preview/index.html new file mode 100644 index 00000000..2b1f8361 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/facing-preference.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/facing-preference.html new file mode 100644 index 00000000..483d3bdc --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/group-id.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/group-id.html new file mode 100644 index 00000000..0bdfbb04 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/icon-uri.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/icon-uri.html new file mode 100644 index 00000000..ad41c0a3 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/icons.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/icons.html new file mode 100644 index 00000000..03907153 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/id.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/id.html new file mode 100644 index 00000000..b0f56cc9 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/index.html new file mode 100644 index 00000000..7535db1a --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/name.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/name.html new file mode 100644 index 00000000..f955bab6 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/preview.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/preview.html new file mode 100644 index 00000000..578934f8 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/previews.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/previews.html new file mode 100644 index 00000000..9767186b --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/snapcodes.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/snapcodes.html new file mode 100644 index 00000000..ee755948 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/vendor-data.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-lens/vendor-data.html new file mode 100644 index 00000000..666170a2 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-loading-overlay/-configuration/enabled.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-loading-overlay/-configuration/enabled.html new file mode 100644 index 00000000..3ab1ab9a --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-loading-overlay/-configuration/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-loading-overlay/-configuration/index.html new file mode 100644 index 00000000..a593b841 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-loading-overlay/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-loading-overlay/index.html new file mode 100644 index 00000000..9249307c --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-configuration/enabled.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-configuration/enabled.html new file mode 100644 index 00000000..0249aa40 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-configuration/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-configuration/index.html new file mode 100644 index 00000000..648bfda2 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-configuration/view.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-configuration/view.html new file mode 100644 index 00000000..fef4cacf --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-event/-item-selected/-item-selected.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-event/-item-selected/-item-selected.html new file mode 100644 index 00000000..059960ad --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-event/-item-selected/equals.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-event/-item-selected/equals.html new file mode 100644 index 00000000..26f99883 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-event/-item-selected/hash-code.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-event/-item-selected/hash-code.html new file mode 100644 index 00000000..69919901 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-event/-item-selected/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-event/-item-selected/index.html new file mode 100644 index 00000000..84ed08ff --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-event/-item-selected/item.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-event/-item-selected/item.html new file mode 100644 index 00000000..f0c59175 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-event/-item-selected/to-string.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-event/-item-selected/to-string.html new file mode 100644 index 00000000..3e9b183a --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-event/-last-item-visible/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-event/-last-item-visible/index.html new file mode 100644 index 00000000..26a89597 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-event/-last-item-visible/to-string.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-event/-last-item-visible/to-string.html new file mode 100644 index 00000000..a31a38f9 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-event/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-event/index.html new file mode 100644 index 00000000..779967a9 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-item/-loading/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-item/-loading/index.html new file mode 100644 index 00000000..0cf1bd79 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-item/-loading/to-string.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-item/-loading/to-string.html new file mode 100644 index 00000000..4695d85f --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-item/-media/-media.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-item/-media/-media.html new file mode 100644 index 00000000..fdadefa8 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-item/-media/crop-rect.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-item/-media/crop-rect.html new file mode 100644 index 00000000..478b8404 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-item/-media/equals.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-item/-media/equals.html new file mode 100644 index 00000000..7d758fd7 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-item/-media/hash-code.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-item/-media/hash-code.html new file mode 100644 index 00000000..eb9042b7 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-item/-media/icon-uri.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-item/-media/icon-uri.html new file mode 100644 index 00000000..e1d1ae89 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-item/-media/id.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-item/-media/id.html new file mode 100644 index 00000000..270d12c9 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-item/-media/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-item/-media/index.html new file mode 100644 index 00000000..173cd1f0 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-item/-media/label.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-item/-media/label.html new file mode 100644 index 00000000..572ba532 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-item/-media/selected.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-item/-media/selected.html new file mode 100644 index 00000000..782fe40b --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-item/-media/to-string.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-item/-media/to-string.html new file mode 100644 index 00000000..61d06ac4 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-item/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-item/index.html new file mode 100644 index 00000000..312913cc --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-model/-hidden/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-model/-hidden/index.html new file mode 100644 index 00000000..0af69d5b --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-model/-hidden/to-string.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-model/-hidden/to-string.html new file mode 100644 index 00000000..1cc39903 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-model/-visible/-visible.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-model/-visible/-visible.html new file mode 100644 index 00000000..4648f7da --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-model/-visible/equals.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-model/-visible/equals.html new file mode 100644 index 00000000..16daad2d --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-model/-visible/hash-code.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-model/-visible/hash-code.html new file mode 100644 index 00000000..d456d7b2 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-model/-visible/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-model/-visible/index.html new file mode 100644 index 00000000..bfc449ee --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-model/-visible/items.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-model/-visible/items.html new file mode 100644 index 00000000..88745c78 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-model/-visible/to-string.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-model/-visible/to-string.html new file mode 100644 index 00000000..72b98f94 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-model/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/-model/index.html new file mode 100644 index 00000000..6a087de8 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/index.html new file mode 100644 index 00000000..fee31955 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/observe.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/-view/observe.html new file mode 100644 index 00000000..5e1b5fbe --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-media-picker/index.html new file mode 100644 index 00000000..2fcefdc6 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-noop/close.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-noop/close.html new file mode 100644 index 00000000..940da68e --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-noop/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-noop/index.html new file mode 100644 index 00000000..e0532aed --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-preferences/-noop/clear.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-preferences/-noop/clear.html new file mode 100644 index 00000000..65421f15 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-preferences/-noop/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-preferences/-noop/index.html new file mode 100644 index 00000000..51c68e42 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-preferences/clear.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-preferences/clear.html new file mode 100644 index 00000000..f5b95a5a --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-preferences/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-preferences/index.html new file mode 100644 index 00000000..ed16434a --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-prefetcher/-noop/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-prefetcher/-noop/index.html new file mode 100644 index 00000000..b2d3ba5b --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-prefetcher/-noop/observe.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-prefetcher/-noop/observe.html new file mode 100644 index 00000000..752d96fa --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-prefetcher/-noop/run.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-prefetcher/-noop/run.html new file mode 100644 index 00000000..a4b330fa --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-prefetcher/-status/-l-o-a-d-e-d/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-prefetcher/-status/-l-o-a-d-e-d/index.html new file mode 100644 index 00000000..83bf7459 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-prefetcher/-status/-l-o-a-d-i-n-g/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-prefetcher/-status/-l-o-a-d-i-n-g/index.html new file mode 100644 index 00000000..7ba609e4 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-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.34.0/-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 00000000..a9ce3a16 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-prefetcher/-status/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-prefetcher/-status/index.html new file mode 100644 index 00000000..13be49b8 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-prefetcher/-status/value-of.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-prefetcher/-status/value-of.html new file mode 100644 index 00000000..3d6459d0 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-prefetcher/-status/values.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-prefetcher/-status/values.html new file mode 100644 index 00000000..587484df --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-prefetcher/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-prefetcher/index.html new file mode 100644 index 00000000..0ce5c469 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-prefetcher/observe.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-prefetcher/observe.html new file mode 100644 index 00000000..746a8ba3 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-prefetcher/run.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-prefetcher/run.html new file mode 100644 index 00000000..39b8fc46 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-configuration/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-configuration/index.html new file mode 100644 index 00000000..c6e63f8e --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-configuration/input-frame-rotation-behavior.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-configuration/input-frame-rotation-behavior.html new file mode 100644 index 00000000..f60671c6 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-configuration/use-device-orientation-for-face-detection.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-configuration/use-device-orientation-for-face-detection.html new file mode 100644 index 00000000..fe343309 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-event/-applied/-applied.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-event/-applied/-applied.html new file mode 100644 index 00000000..394e7a8f --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-event/-applied/equals.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-event/-applied/equals.html new file mode 100644 index 00000000..ee40f2a9 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-event/-applied/hash-code.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-event/-applied/hash-code.html new file mode 100644 index 00000000..f190b363 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-event/-applied/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-event/-applied/index.html new file mode 100644 index 00000000..5f476ae7 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-event/-applied/lens.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-event/-applied/lens.html new file mode 100644 index 00000000..1c1db631 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-event/-applied/to-string.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-event/-applied/to-string.html new file mode 100644 index 00000000..3cb0ca6c --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-event/-first-frame-processed/-first-frame-processed.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-event/-first-frame-processed/-first-frame-processed.html new file mode 100644 index 00000000..d957e482 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-event/-first-frame-processed/equals.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-event/-first-frame-processed/equals.html new file mode 100644 index 00000000..959505ef --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-event/-first-frame-processed/hash-code.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-event/-first-frame-processed/hash-code.html new file mode 100644 index 00000000..fb8936bb --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-event/-first-frame-processed/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-event/-first-frame-processed/index.html new file mode 100644 index 00000000..eb03955b --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-event/-first-frame-processed/lens.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-event/-first-frame-processed/lens.html new file mode 100644 index 00000000..f068801f --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-event/-first-frame-processed/to-string.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-event/-first-frame-processed/to-string.html new file mode 100644 index 00000000..b79084d0 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-event/-idle/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-event/-idle/index.html new file mode 100644 index 00000000..77947b44 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-event/-idle/to-string.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-event/-idle/to-string.html new file mode 100644 index 00000000..c4d9eaee --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-event/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-event/index.html new file mode 100644 index 00000000..ec890cbf --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-failure/-internal/-internal.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-failure/-internal/-internal.html new file mode 100644 index 00000000..910647aa --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-failure/-internal/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-failure/-internal/index.html new file mode 100644 index 00000000..91df4ec5 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-failure/-lens/-lens.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-failure/-lens/-lens.html new file mode 100644 index 00000000..cc51046c --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-failure/-lens/id.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-failure/-lens/id.html new file mode 100644 index 00000000..c46027bb --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-failure/-lens/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-failure/-lens/index.html new file mode 100644 index 00000000..69d3d054 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-failure/-library-loading/-library-loading.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-failure/-library-loading/-library-loading.html new file mode 100644 index 00000000..2c854ab3 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-failure/-library-loading/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-failure/-library-loading/index.html new file mode 100644 index 00000000..09716f5a --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-failure/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-failure/index.html new file mode 100644 index 00000000..d51fb222 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-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.34.0/-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 00000000..ba2afadf --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-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.34.0/-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 00000000..96d840b1 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-input-frame-rotation-behavior/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-input-frame-rotation-behavior/index.html new file mode 100644 index 00000000..32958211 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-input-frame-rotation-behavior/value-of.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-input-frame-rotation-behavior/value-of.html new file mode 100644 index 00000000..8df70fec --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-input-frame-rotation-behavior/values.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-input-frame-rotation-behavior/values.html new file mode 100644 index 00000000..b8dd1206 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-noop/apply.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-noop/apply.html new file mode 100644 index 00000000..82c49c68 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-noop/clear.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-noop/clear.html new file mode 100644 index 00000000..08af3302 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-noop/connect-input.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-noop/connect-input.html new file mode 100644 index 00000000..fe400d06 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-noop/connect-output.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-noop/connect-output.html new file mode 100644 index 00000000..c5ea1706 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-noop/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-noop/index.html new file mode 100644 index 00000000..46975dd2 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-noop/observe-required-capabilities.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-noop/observe-required-capabilities.html new file mode 100644 index 00000000..42e620d3 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-noop/observe.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/-noop/observe.html new file mode 100644 index 00000000..7e573282 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/apply.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/apply.html new file mode 100644 index 00000000..2c0cda34 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/clear.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/clear.html new file mode 100644 index 00000000..9f6f27cf --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/index.html new file mode 100644 index 00000000..73e503f0 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/observe.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-processor/observe.html new file mode 100644 index 00000000..dcb4f3ec --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-call/-answered/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-call/-answered/index.html new file mode 100644 index 00000000..27e8cc27 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-call/-answered/to-string.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-call/-answered/to-string.html new file mode 100644 index 00000000..68978dbe --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-call/-ignored/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-call/-ignored/index.html new file mode 100644 index 00000000..16ab1655 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-call/-ignored/to-string.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-call/-ignored/to-string.html new file mode 100644 index 00000000..be569302 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-call/-ongoing/-ongoing.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-call/-ongoing/-ongoing.html new file mode 100644 index 00000000..262762bc --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-call/-ongoing/closeable.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-call/-ongoing/closeable.html new file mode 100644 index 00000000..d1696f13 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-call/-ongoing/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-call/-ongoing/index.html new file mode 100644 index 00000000..4fc30ffa --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-call/-ongoing/to-string.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-call/-ongoing/to-string.html new file mode 100644 index 00000000..ff3f66e0 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-call/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-call/index.html new file mode 100644 index 00000000..bbda676a --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-companion/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-companion/index.html new file mode 100644 index 00000000..dd3564ee --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-factory/-noop/create-for.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-factory/-noop/create-for.html new file mode 100644 index 00000000..cf2a396c --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-factory/-noop/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-factory/-noop/index.html new file mode 100644 index 00000000..cf2ab69d --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-factory/-noop/supported-api-spec-ids.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-factory/-noop/supported-api-spec-ids.html new file mode 100644 index 00000000..77719af7 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-factory/create-for.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-factory/create-for.html new file mode 100644 index 00000000..bcbf083f --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-factory/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-factory/index.html new file mode 100644 index 00000000..7fb68e49 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-factory/supported-api-spec-ids.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-factory/supported-api-spec-ids.html new file mode 100644 index 00000000..ec4d887b --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-noop/close.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-noop/close.html new file mode 100644 index 00000000..c93df470 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-noop/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-noop/index.html new file mode 100644 index 00000000..7a496c8f --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-noop/process.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-noop/process.html new file mode 100644 index 00000000..e7f924fa --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-request/-request.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-request/-request.html new file mode 100644 index 00000000..dd660623 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-request/api-spec-id.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-request/api-spec-id.html new file mode 100644 index 00000000..b99f5dc6 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-request/body.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-request/body.html new file mode 100644 index 00000000..ba82f1d1 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-request/endpoint-id.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-request/endpoint-id.html new file mode 100644 index 00000000..7b697cdb --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-request/equals.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-request/equals.html new file mode 100644 index 00000000..705e29b9 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-request/hash-code.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-request/hash-code.html new file mode 100644 index 00000000..9a585859 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-request/id.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-request/id.html new file mode 100644 index 00000000..bcec37e5 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-request/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-request/index.html new file mode 100644 index 00000000..7158d362 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-request/parameters.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-request/parameters.html new file mode 100644 index 00000000..5175a271 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-request/to-string.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-request/to-string.html new file mode 100644 index 00000000..c4a5e57e --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-response/-response.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-response/-response.html new file mode 100644 index 00000000..158189bc --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-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.34.0/-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 00000000..687109ad --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-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.34.0/-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 00000000..ed48d701 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-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.34.0/-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 00000000..c0e359d3 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-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.34.0/-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 00000000..ea0a08d6 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-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.34.0/-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 00000000..57b7d5c6 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-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.34.0/-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 00000000..6b4698ae --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-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.34.0/-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 00000000..c4c2d964 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-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.34.0/-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 00000000..2f49cf34 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-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.34.0/-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 00000000..83636fbf --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-response/-status/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-response/-status/index.html new file mode 100644 index 00000000..05dc0b36 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-response/-status/value-of.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-response/-status/value-of.html new file mode 100644 index 00000000..b57a9a60 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-response/-status/values.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-response/-status/values.html new file mode 100644 index 00000000..b31b0da7 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-response/body.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-response/body.html new file mode 100644 index 00000000..76913417 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-response/equals.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-response/equals.html new file mode 100644 index 00000000..92461c1d --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-response/hash-code.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-response/hash-code.html new file mode 100644 index 00000000..bfb3c4f9 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-response/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-response/index.html new file mode 100644 index 00000000..b58ee70c --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-response/metadata.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-response/metadata.html new file mode 100644 index 00000000..64465dbc --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-response/request.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-response/request.html new file mode 100644 index 00000000..e3ccf9d9 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-response/status.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-response/status.html new file mode 100644 index 00000000..d1a48267 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-response/to-string.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/-response/to-string.html new file mode 100644 index 00000000..bae2ab66 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/close.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/close.html new file mode 100644 index 00000000..33bc25f2 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/index.html new file mode 100644 index 00000000..7d73348e --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/process.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-remote-api-service/process.html new file mode 100644 index 00000000..ebb3376e --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-noop/get.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-noop/get.html new file mode 100644 index 00000000..0f5afa66 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-noop/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-noop/index.html new file mode 100644 index 00000000..6546c627 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-noop/observe.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-noop/observe.html new file mode 100644 index 00000000..cf33f2ff --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-query-criteria/-available/-available.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-query-criteria/-available/-available.html new file mode 100644 index 00000000..c9d24de8 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-query-criteria/-available/equals.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-query-criteria/-available/equals.html new file mode 100644 index 00000000..8c283bec --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-query-criteria/-available/group-ids.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-query-criteria/-available/group-ids.html new file mode 100644 index 00000000..99276a50 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-query-criteria/-available/hash-code.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-query-criteria/-available/hash-code.html new file mode 100644 index 00000000..229fe2d1 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-query-criteria/-available/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-query-criteria/-available/index.html new file mode 100644 index 00000000..9cbe8b84 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-query-criteria/-available/to-string.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-query-criteria/-available/to-string.html new file mode 100644 index 00000000..30d8b8ac --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-query-criteria/-by-id/-by-id.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-query-criteria/-by-id/-by-id.html new file mode 100644 index 00000000..a894bd71 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-query-criteria/-by-id/equals.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-query-criteria/-by-id/equals.html new file mode 100644 index 00000000..4266d68a --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-query-criteria/-by-id/group-id.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-query-criteria/-by-id/group-id.html new file mode 100644 index 00000000..1971b619 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-query-criteria/-by-id/hash-code.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-query-criteria/-by-id/hash-code.html new file mode 100644 index 00000000..6a20c35f --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-query-criteria/-by-id/id.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-query-criteria/-by-id/id.html new file mode 100644 index 00000000..89189fd5 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-query-criteria/-by-id/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-query-criteria/-by-id/index.html new file mode 100644 index 00000000..bdc185df --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-query-criteria/-by-id/to-string.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-query-criteria/-by-id/to-string.html new file mode 100644 index 00000000..a4ccc9e4 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-query-criteria/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-query-criteria/index.html new file mode 100644 index 00000000..25aeee56 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-result/-none/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-result/-none/index.html new file mode 100644 index 00000000..4e4d27b3 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-result/-none/to-string.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-result/-none/to-string.html new file mode 100644 index 00000000..73dcbb80 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-result/-some/-some.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-result/-some/-some.html new file mode 100644 index 00000000..3361c2e8 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-result/-some/equals.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-result/-some/equals.html new file mode 100644 index 00000000..60780a92 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-result/-some/hash-code.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-result/-some/hash-code.html new file mode 100644 index 00000000..6eeeeb07 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-result/-some/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-result/-some/index.html new file mode 100644 index 00000000..85f15e59 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-result/-some/lenses.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-result/-some/lenses.html new file mode 100644 index 00000000..3d0cee8c --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-result/-some/to-string.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-result/-some/to-string.html new file mode 100644 index 00000000..89057514 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-result/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/-result/index.html new file mode 100644 index 00000000..cef805ad --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/get.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/get.html new file mode 100644 index 00000000..9a0b14e0 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/index.html new file mode 100644 index 00000000..c074fa97 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/observe.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/-repository/observe.html new file mode 100644 index 00000000..e31f7408 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/audio.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/audio.html new file mode 100644 index 00000000..dcbfd2e2 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/carousel.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/carousel.html new file mode 100644 index 00000000..1996be39 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/close.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/close.html new file mode 100644 index 00000000..3a3fdb1d --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/index.html new file mode 100644 index 00000000..1bb2cc48 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/preferences.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/preferences.html new file mode 100644 index 00000000..08d551d6 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/prefetcher.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/prefetcher.html new file mode 100644 index 00000000..988eb47a --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/processor.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/processor.html new file mode 100644 index 00000000..1efe6fb5 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/repository.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-component/repository.html new file mode 100644 index 00000000..506ac7d7 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-launch-data/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-launch-data/index.html new file mode 100644 index 00000000..09bc7197 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-launch-data/new-builder.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/-lenses-launch-data/new-builder.html new file mode 100644 index 00000000..7750b7f5 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/index.html new file mode 100644 index 00000000..9080a390 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/when-activated-idle.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/when-activated-idle.html new file mode 100644 index 00000000..f75caaaa --- /dev/null +++ b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/when-activated-idle.html @@ -0,0 +1,69 @@ + + + + + whenActivatedIdle + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

whenActivatedIdle

+
+ +
+ +
+
+ + diff --git a/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/when-activated-with-lens.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/when-activated-with-lens.html new file mode 100644 index 00000000..6924c964 --- /dev/null +++ b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/when-activated-with-lens.html @@ -0,0 +1,69 @@ + + + + + whenActivatedWithLens + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

whenActivatedWithLens

+
+ +
+ +
+
+ + diff --git a/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/when-activated.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/when-activated.html new file mode 100644 index 00000000..73338a9e --- /dev/null +++ b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/when-activated.html @@ -0,0 +1,69 @@ + + + + + whenActivated + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

whenActivated

+
+ +
+ +
+
+ + diff --git a/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/when-applied.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/when-applied.html new file mode 100644 index 00000000..8fd5e377 --- /dev/null +++ b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/when-applied.html @@ -0,0 +1,69 @@ + + + + + whenApplied + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

whenApplied

+
+ +
+ +
+
+ + diff --git a/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/when-deactivated.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/when-deactivated.html new file mode 100644 index 00000000..526527c0 --- /dev/null +++ b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/when-deactivated.html @@ -0,0 +1,69 @@ + + + + + whenDeactivated + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

whenDeactivated

+
+ +
+ +
+
+ + diff --git a/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/when-first-frame-processed.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/when-first-frame-processed.html new file mode 100644 index 00000000..af652124 --- /dev/null +++ b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/when-first-frame-processed.html @@ -0,0 +1,69 @@ + + + + + whenFirstFrameProcessed + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

whenFirstFrameProcessed

+
+ +
+ +
+
+ + diff --git a/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/when-has-first.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/when-has-first.html new file mode 100644 index 00000000..389735b3 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit.lenses/when-has-some.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/when-has-some.html new file mode 100644 index 00000000..30f5cb9a --- /dev/null +++ b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/when-has-some.html @@ -0,0 +1,69 @@ + + + + + whenHasSome + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

whenHasSome

+
+ +
+ +
+
+ + diff --git a/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/when-idle.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/when-idle.html new file mode 100644 index 00000000..11e97d58 --- /dev/null +++ b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit.lenses/when-idle.html @@ -0,0 +1,69 @@ + + + + + whenIdle + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

whenIdle

+
+ +
+ +
+
+ + diff --git a/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-audio-processor/-input/-frame/buffer.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-audio-processor/-input/-frame/buffer.html new file mode 100644 index 00000000..057dd86f --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-audio-processor/-input/-frame/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-audio-processor/-input/-frame/index.html new file mode 100644 index 00000000..3c0cbb01 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-audio-processor/-input/-frame/recycle.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-audio-processor/-input/-frame/recycle.html new file mode 100644 index 00000000..6cfdaa52 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-audio-processor/-input/-frame/samples-count.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-audio-processor/-input/-frame/samples-count.html new file mode 100644 index 00000000..55acbd46 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-audio-processor/-input/buffer-size.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-audio-processor/-input/buffer-size.html new file mode 100644 index 00000000..fe2288dd --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-audio-processor/-input/channels.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-audio-processor/-input/channels.html new file mode 100644 index 00000000..28e49478 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-audio-processor/-input/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-audio-processor/-input/index.html new file mode 100644 index 00000000..ea93825a --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-audio-processor/-input/sample-rate.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-audio-processor/-input/sample-rate.html new file mode 100644 index 00000000..d38e96e7 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-audio-processor/-input/subscribe-to.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-audio-processor/-input/subscribe-to.html new file mode 100644 index 00000000..2adca2bc --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-audio-processor/connect-input.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-audio-processor/connect-input.html new file mode 100644 index 00000000..b0b3b687 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-audio-processor/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-audio-processor/index.html new file mode 100644 index 00000000..e6fa70ba --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-experimental/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-experimental/index.html new file mode 100644 index 00000000..4b928322 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-image-processor/-failure/-graphics/-graphics.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-image-processor/-failure/-graphics/-graphics.html new file mode 100644 index 00000000..3f2674d2 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-image-processor/-failure/-graphics/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-image-processor/-failure/-graphics/index.html new file mode 100644 index 00000000..ed2422b1 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-image-processor/-failure/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-image-processor/-failure/index.html new file mode 100644 index 00000000..ec76664f --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-image-processor/-input/-backed-by-surface-texture/-backed-by-surface-texture.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-image-processor/-input/-backed-by-surface-texture/-backed-by-surface-texture.html new file mode 100644 index 00000000..9242a5ea --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-image-processor/-input/-backed-by-surface-texture/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-image-processor/-input/-backed-by-surface-texture/index.html new file mode 100644 index 00000000..2bbb44ed --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-image-processor/-input/-backed-by-surface-texture/surface-texture.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-image-processor/-input/-backed-by-surface-texture/surface-texture.html new file mode 100644 index 00000000..656a3785 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-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.34.0/-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 00000000..63062cd2 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-image-processor/-input/-capability/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-image-processor/-input/-capability/index.html new file mode 100644 index 00000000..687bc59f --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-image-processor/-input/-capability/value-of.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-image-processor/-input/-capability/value-of.html new file mode 100644 index 00000000..ee5e821b --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-image-processor/-input/-capability/values.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-image-processor/-input/-capability/values.html new file mode 100644 index 00000000..2e2b6be1 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-image-processor/-input/-companion/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-image-processor/-input/-companion/index.html new file mode 100644 index 00000000..4b5cf537 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-image-processor/-input/-frame/horizontal-field-of-view.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-image-processor/-input/-frame/horizontal-field-of-view.html new file mode 100644 index 00000000..4eae1dac --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-image-processor/-input/-frame/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-image-processor/-input/-frame/index.html new file mode 100644 index 00000000..46933ff1 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-image-processor/-input/-frame/recycle.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-image-processor/-input/-frame/recycle.html new file mode 100644 index 00000000..af44089e --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-image-processor/-input/-frame/timestamp.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-image-processor/-input/-frame/timestamp.html new file mode 100644 index 00000000..f6c940b7 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-image-processor/-input/-frame/transformation-matrix.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-image-processor/-input/-frame/transformation-matrix.html new file mode 100644 index 00000000..62ec04b5 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-image-processor/-input/-frame/vertical-field-of-view.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-image-processor/-input/-frame/vertical-field-of-view.html new file mode 100644 index 00000000..530fa534 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-image-processor/-input/-option/-crop/-center/-center.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-image-processor/-input/-option/-crop/-center/-center.html new file mode 100644 index 00000000..5e6ceaf7 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-image-processor/-input/-option/-crop/-center/aspect-ratio-denominator.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-image-processor/-input/-option/-crop/-center/aspect-ratio-denominator.html new file mode 100644 index 00000000..cbdd0cf9 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-image-processor/-input/-option/-crop/-center/aspect-ratio-numerator.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-image-processor/-input/-option/-crop/-center/aspect-ratio-numerator.html new file mode 100644 index 00000000..b3e82f61 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-image-processor/-input/-option/-crop/-center/equals.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-image-processor/-input/-option/-crop/-center/equals.html new file mode 100644 index 00000000..9424760d --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-image-processor/-input/-option/-crop/-center/hash-code.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-image-processor/-input/-option/-crop/-center/hash-code.html new file mode 100644 index 00000000..6520229c --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-image-processor/-input/-option/-crop/-center/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-image-processor/-input/-option/-crop/-center/index.html new file mode 100644 index 00000000..80b08dbf --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-image-processor/-input/-option/-crop/-center/to-string.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-image-processor/-input/-option/-crop/-center/to-string.html new file mode 100644 index 00000000..0b498423 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-image-processor/-input/-option/-crop/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-image-processor/-input/-option/-crop/index.html new file mode 100644 index 00000000..4e5e129b --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-image-processor/-input/-option/-mirror-frames-horizontally/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-image-processor/-input/-option/-mirror-frames-horizontally/index.html new file mode 100644 index 00000000..1d2dd17a --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-image-processor/-input/-option/-mirror-frames-vertically/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-image-processor/-input/-option/-mirror-frames-vertically/index.html new file mode 100644 index 00000000..76359a35 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-image-processor/-input/-option/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-image-processor/-input/-option/index.html new file mode 100644 index 00000000..58a327bf --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-image-processor/-input/-pausable/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-image-processor/-input/-pausable/index.html new file mode 100644 index 00000000..180a8b21 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-image-processor/-input/-pausable/pause.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-image-processor/-input/-pausable/pause.html new file mode 100644 index 00000000..e04848de --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-image-processor/-input/-pausable/resume.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-image-processor/-input/-pausable/resume.html new file mode 100644 index 00000000..52a25a00 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-image-processor/-input/attach-to-gl-context.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-image-processor/-input/attach-to-gl-context.html new file mode 100644 index 00000000..64f0e051 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-image-processor/-input/detach-from-gl-context.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-image-processor/-input/detach-from-gl-context.html new file mode 100644 index 00000000..bf48e3f2 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-image-processor/-input/facing-front.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-image-processor/-input/facing-front.html new file mode 100644 index 00000000..fe1a7546 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-image-processor/-input/height.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-image-processor/-input/height.html new file mode 100644 index 00000000..d8a87d9f --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-image-processor/-input/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-image-processor/-input/index.html new file mode 100644 index 00000000..89dccc08 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-image-processor/-input/read-frame.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-image-processor/-input/read-frame.html new file mode 100644 index 00000000..c52df146 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-image-processor/-input/rotation-degrees.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-image-processor/-input/rotation-degrees.html new file mode 100644 index 00000000..70171e6f --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-image-processor/-input/subscribe-to.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-image-processor/-input/subscribe-to.html new file mode 100644 index 00000000..398ad877 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-image-processor/-input/width.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-image-processor/-input/width.html new file mode 100644 index 00000000..7eeeb295 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-image-processor/-output/-backed-by-surface-texture/-backed-by-surface-texture.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-image-processor/-output/-backed-by-surface-texture/-backed-by-surface-texture.html new file mode 100644 index 00000000..b7ded715 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-image-processor/-output/-backed-by-surface-texture/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-image-processor/-output/-backed-by-surface-texture/index.html new file mode 100644 index 00000000..4de44099 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-image-processor/-output/-backed-by-surface-texture/purpose.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-image-processor/-output/-backed-by-surface-texture/purpose.html new file mode 100644 index 00000000..73f280d5 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-image-processor/-output/-backed-by-surface-texture/surface-texture.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-image-processor/-output/-backed-by-surface-texture/surface-texture.html new file mode 100644 index 00000000..e192fc9f --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-image-processor/-output/-backed-by-surface/-backed-by-surface.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-image-processor/-output/-backed-by-surface/-backed-by-surface.html new file mode 100644 index 00000000..05faf5ac --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-image-processor/-output/-backed-by-surface/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-image-processor/-output/-backed-by-surface/index.html new file mode 100644 index 00000000..db6629ee --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-image-processor/-output/-backed-by-surface/purpose.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-image-processor/-output/-backed-by-surface/purpose.html new file mode 100644 index 00000000..f7cb6750 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-image-processor/-output/-backed-by-surface/surface.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-image-processor/-output/-backed-by-surface/surface.html new file mode 100644 index 00000000..5c9030b7 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-image-processor/-output/-companion/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-image-processor/-output/-companion/index.html new file mode 100644 index 00000000..7fb3b8de --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-image-processor/-output/-frame/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-image-processor/-output/-frame/index.html new file mode 100644 index 00000000..2a662a22 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-image-processor/-output/-frame/recycle.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-image-processor/-output/-frame/recycle.html new file mode 100644 index 00000000..8e19fbbe --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-image-processor/-output/-frame/timestamp.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-image-processor/-output/-frame/timestamp.html new file mode 100644 index 00000000..affd81e1 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-image-processor/-output/-option/-clear-on-disconnect/-clear-on-disconnect.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-image-processor/-output/-option/-clear-on-disconnect/-clear-on-disconnect.html new file mode 100644 index 00000000..a82c7668 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-image-processor/-output/-option/-clear-on-disconnect/color.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-image-processor/-output/-option/-clear-on-disconnect/color.html new file mode 100644 index 00000000..dc910246 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-image-processor/-output/-option/-clear-on-disconnect/equals.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-image-processor/-output/-option/-clear-on-disconnect/equals.html new file mode 100644 index 00000000..a00ea865 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-image-processor/-output/-option/-clear-on-disconnect/hash-code.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-image-processor/-output/-option/-clear-on-disconnect/hash-code.html new file mode 100644 index 00000000..b00df815 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-image-processor/-output/-option/-clear-on-disconnect/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-image-processor/-output/-option/-clear-on-disconnect/index.html new file mode 100644 index 00000000..0c43bfff --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-image-processor/-output/-option/-clear-on-disconnect/to-string.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-image-processor/-output/-option/-clear-on-disconnect/to-string.html new file mode 100644 index 00000000..26250f9b --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-image-processor/-output/-option/-ignore-device-rotation/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-image-processor/-output/-option/-ignore-device-rotation/index.html new file mode 100644 index 00000000..f6830a3e --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-image-processor/-output/-option/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-image-processor/-output/-option/index.html new file mode 100644 index 00000000..7af375d4 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-image-processor/-output/-purpose/-p-r-e-v-i-e-w/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-image-processor/-output/-purpose/-p-r-e-v-i-e-w/index.html new file mode 100644 index 00000000..8dba1329 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-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.34.0/-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 00000000..4998688c --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-image-processor/-output/-purpose/-s-n-a-p-s-h-o-t/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-image-processor/-output/-purpose/-s-n-a-p-s-h-o-t/index.html new file mode 100644 index 00000000..edfb56f7 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-image-processor/-output/-purpose/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-image-processor/-output/-purpose/index.html new file mode 100644 index 00000000..a296a93d --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-image-processor/-output/-purpose/value-of.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-image-processor/-output/-purpose/value-of.html new file mode 100644 index 00000000..ccfee3eb --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-image-processor/-output/-purpose/values.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-image-processor/-output/-purpose/values.html new file mode 100644 index 00000000..3b267d94 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-image-processor/-output/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-image-processor/-output/index.html new file mode 100644 index 00000000..c3fc5e38 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-image-processor/-output/purpose.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-image-processor/-output/purpose.html new file mode 100644 index 00000000..3f14b2bd --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-image-processor/-output/rotation-degrees.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-image-processor/-output/rotation-degrees.html new file mode 100644 index 00000000..da1885c0 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-image-processor/-output/write-frame.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-image-processor/-output/write-frame.html new file mode 100644 index 00000000..bf1278f8 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-image-processor/connect-input.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-image-processor/connect-input.html new file mode 100644 index 00000000..d237f149 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-image-processor/connect-output.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-image-processor/connect-output.html new file mode 100644 index 00000000..6d094624 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-image-processor/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-image-processor/index.html new file mode 100644 index 00000000..5db95c1f --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-image-processor/observe-required-capabilities.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-image-processor/observe-required-capabilities.html new file mode 100644 index 00000000..1384f1b0 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-legal-processor/-input/-prompt/-prompt.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-legal-processor/-input/-prompt/-prompt.html new file mode 100644 index 00000000..7ec0f6d8 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-legal-processor/-input/-prompt/equals.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-legal-processor/-input/-prompt/equals.html new file mode 100644 index 00000000..ce669e48 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-legal-processor/-input/-prompt/hash-code.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-legal-processor/-input/-prompt/hash-code.html new file mode 100644 index 00000000..d301552e --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-legal-processor/-input/-prompt/id.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-legal-processor/-input/-prompt/id.html new file mode 100644 index 00000000..c240578e --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-legal-processor/-input/-prompt/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-legal-processor/-input/-prompt/index.html new file mode 100644 index 00000000..56a96916 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-legal-processor/-input/-prompt/message.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-legal-processor/-input/-prompt/message.html new file mode 100644 index 00000000..840a8760 --- /dev/null +++ b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-legal-processor/-input/-prompt/message.html @@ -0,0 +1,69 @@ + + + + + message + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

message

+
+ +
+ +
+
+ + diff --git a/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-legal-processor/-input/-prompt/to-string.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-legal-processor/-input/-prompt/to-string.html new file mode 100644 index 00000000..6a55faca --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-legal-processor/-input/-request-update/-a-l-w-a-y-s/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-legal-processor/-input/-request-update/-a-l-w-a-y-s/index.html new file mode 100644 index 00000000..18bc680e --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-legal-processor/-input/-request-update/-n-e-v-e-r/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-legal-processor/-input/-request-update/-n-e-v-e-r/index.html new file mode 100644 index 00000000..76ed03fe --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-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.34.0/-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 00000000..1f3b89c7 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-legal-processor/-input/-request-update/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-legal-processor/-input/-request-update/index.html new file mode 100644 index 00000000..081a1cf6 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-legal-processor/-input/-request-update/value-of.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-legal-processor/-input/-request-update/value-of.html new file mode 100644 index 00000000..6479039d --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-legal-processor/-input/-request-update/values.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-legal-processor/-input/-request-update/values.html new file mode 100644 index 00000000..70fc7292 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-legal-processor/-input/-result/-accepted/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-legal-processor/-input/-result/-accepted/index.html new file mode 100644 index 00000000..8eca99b9 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-legal-processor/-input/-result/-accepted/to-string.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-legal-processor/-input/-result/-accepted/to-string.html new file mode 100644 index 00000000..7b178e81 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-legal-processor/-input/-result/-dismissed/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-legal-processor/-input/-result/-dismissed/index.html new file mode 100644 index 00000000..5fdfaf95 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-legal-processor/-input/-result/-dismissed/to-string.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-legal-processor/-input/-result/-dismissed/to-string.html new file mode 100644 index 00000000..bfef6c73 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-legal-processor/-input/-result/-missing/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-legal-processor/-input/-result/-missing/index.html new file mode 100644 index 00000000..06203da9 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-legal-processor/-input/-result/-missing/to-string.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-legal-processor/-input/-result/-missing/to-string.html new file mode 100644 index 00000000..38ee9f04 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-legal-processor/-input/-result/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-legal-processor/-input/-result/index.html new file mode 100644 index 00000000..fd4c53ef --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-legal-processor/-input/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-legal-processor/-input/index.html new file mode 100644 index 00000000..29af0e3b --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-legal-processor/-input/subscribe-to.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-legal-processor/-input/subscribe-to.html new file mode 100644 index 00000000..b8c32091 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-legal-processor/connect-input.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-legal-processor/connect-input.html new file mode 100644 index 00000000..2f0a92f2 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-legal-processor/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-legal-processor/index.html new file mode 100644 index 00000000..744a97f3 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-legal-processor/observe.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-legal-processor/observe.html new file mode 100644 index 00000000..f85c86ef --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-legal-processor/wait-for.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-legal-processor/wait-for.html new file mode 100644 index 00000000..cd1e2ff1 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-location-processor/-input/-tracking-requirements/-tracking-requirements.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-location-processor/-input/-tracking-requirements/-tracking-requirements.html new file mode 100644 index 00000000..e72fe02f --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-location-processor/-input/-tracking-requirements/equals.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-location-processor/-input/-tracking-requirements/equals.html new file mode 100644 index 00000000..e69298d6 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-location-processor/-input/-tracking-requirements/hash-code.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-location-processor/-input/-tracking-requirements/hash-code.html new file mode 100644 index 00000000..f9de81db --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-location-processor/-input/-tracking-requirements/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-location-processor/-input/-tracking-requirements/index.html new file mode 100644 index 00000000..3ef94ab4 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-location-processor/-input/-tracking-requirements/to-string.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-location-processor/-input/-tracking-requirements/to-string.html new file mode 100644 index 00000000..b014fcc7 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-location-processor/-input/-tracking-requirements/update-interval-time-unit.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-location-processor/-input/-tracking-requirements/update-interval-time-unit.html new file mode 100644 index 00000000..b0793d0f --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-location-processor/-input/-tracking-requirements/update-interval.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-location-processor/-input/-tracking-requirements/update-interval.html new file mode 100644 index 00000000..71fd82d5 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-location-processor/-input/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-location-processor/-input/index.html new file mode 100644 index 00000000..4b57b350 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-location-processor/-input/subscribe-to.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-location-processor/-input/subscribe-to.html new file mode 100644 index 00000000..5bccb7c5 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-location-processor/connect-input.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-location-processor/connect-input.html new file mode 100644 index 00000000..941c8c06 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-location-processor/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-location-processor/index.html new file mode 100644 index 00000000..d2b74fb1 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/-media-type/-all-original/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/-media-type/-all-original/index.html new file mode 100644 index 00000000..eda0fd13 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/-media-type/-images/-original/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/-media-type/-images/-original/index.html new file mode 100644 index 00000000..53fb1b96 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/-media-type/-images/-with-face/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/-media-type/-images/-with-face/index.html new file mode 100644 index 00000000..03c2b874 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/-media-type/-images/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/-media-type/-images/index.html new file mode 100644 index 00000000..eea7ce09 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/-media-type/-videos/-original/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/-media-type/-videos/-original/index.html new file mode 100644 index 00000000..b7df9003 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/-media-type/-videos/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/-media-type/-videos/index.html new file mode 100644 index 00000000..7a8a3f90 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/-media-type/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/-media-type/index.html new file mode 100644 index 00000000..eec9afaf --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-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.34.0/-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 00000000..4f359b13 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/-multiple-media-items-to-pick-from/equals.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/-multiple-media-items-to-pick-from/equals.html new file mode 100644 index 00000000..b282d9b6 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/-multiple-media-items-to-pick-from/hash-code.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/-multiple-media-items-to-pick-from/hash-code.html new file mode 100644 index 00000000..6df91c69 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/-multiple-media-items-to-pick-from/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/-multiple-media-items-to-pick-from/index.html new file mode 100644 index 00000000..4b87ea3e --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/-multiple-media-items-to-pick-from/media-type.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/-multiple-media-items-to-pick-from/media-type.html new file mode 100644 index 00000000..ce3a43ac --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/-multiple-media-items-to-pick-from/media-types.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/-multiple-media-items-to-pick-from/media-types.html new file mode 100644 index 00000000..6ff872a9 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/-multiple-media-items-to-pick-from/to-string.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/-multiple-media-items-to-pick-from/to-string.html new file mode 100644 index 00000000..80158092 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/-single-media-item/-single-media-item.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/-single-media-item/-single-media-item.html new file mode 100644 index 00000000..68ea613b --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/-single-media-item/equals.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/-single-media-item/equals.html new file mode 100644 index 00000000..80cee81e --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/-single-media-item/hash-code.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/-single-media-item/hash-code.html new file mode 100644 index 00000000..ef23a67a --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/-single-media-item/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/-single-media-item/index.html new file mode 100644 index 00000000..2bf65edb --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/-single-media-item/media-type.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/-single-media-item/media-type.html new file mode 100644 index 00000000..cf1484f4 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/-single-media-item/media-types.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/-single-media-item/media-types.html new file mode 100644 index 00000000..7c221417 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/-single-media-item/to-string.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/-single-media-item/to-string.html new file mode 100644 index 00000000..034ec54c --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-media-processor/-input/-requirements/index.html new file mode 100644 index 00000000..59d5eb5f --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-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.34.0/-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 00000000..cd143d35 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-media-processor/-input/-result/-with-media-items-to-pick-from/equals.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-media-processor/-input/-result/-with-media-items-to-pick-from/equals.html new file mode 100644 index 00000000..8e87e2d6 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-media-processor/-input/-result/-with-media-items-to-pick-from/hash-code.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-media-processor/-input/-result/-with-media-items-to-pick-from/hash-code.html new file mode 100644 index 00000000..4b533936 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-media-processor/-input/-result/-with-media-items-to-pick-from/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-media-processor/-input/-result/-with-media-items-to-pick-from/index.html new file mode 100644 index 00000000..afb0fcde --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-media-processor/-input/-result/-with-media-items-to-pick-from/items.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-media-processor/-input/-result/-with-media-items-to-pick-from/items.html new file mode 100644 index 00000000..1b3ebd00 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-media-processor/-input/-result/-with-media-items-to-pick-from/request-more.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-media-processor/-input/-result/-with-media-items-to-pick-from/request-more.html new file mode 100644 index 00000000..064fcb04 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-media-processor/-input/-result/-with-media-items-to-pick-from/to-string.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-media-processor/-input/-result/-with-media-items-to-pick-from/to-string.html new file mode 100644 index 00000000..624cc77f --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-media-processor/-input/-result/-with-single-media-item/-with-single-media-item.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-media-processor/-input/-result/-with-single-media-item/-with-single-media-item.html new file mode 100644 index 00000000..9f46491c --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-media-processor/-input/-result/-with-single-media-item/equals.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-media-processor/-input/-result/-with-single-media-item/equals.html new file mode 100644 index 00000000..c4546e19 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-media-processor/-input/-result/-with-single-media-item/hash-code.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-media-processor/-input/-result/-with-single-media-item/hash-code.html new file mode 100644 index 00000000..8a708056 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-media-processor/-input/-result/-with-single-media-item/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-media-processor/-input/-result/-with-single-media-item/index.html new file mode 100644 index 00000000..f0d66f12 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-media-processor/-input/-result/-with-single-media-item/item.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-media-processor/-input/-result/-with-single-media-item/item.html new file mode 100644 index 00000000..78ee0f16 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-media-processor/-input/-result/-with-single-media-item/to-string.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-media-processor/-input/-result/-with-single-media-item/to-string.html new file mode 100644 index 00000000..a07d154d --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-media-processor/-input/-result/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-media-processor/-input/-result/index.html new file mode 100644 index 00000000..38c16b37 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-media-processor/-input/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-media-processor/-input/index.html new file mode 100644 index 00000000..cd1a5379 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-media-processor/-input/subscribe-to.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-media-processor/-input/subscribe-to.html new file mode 100644 index 00000000..e0effca6 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-face/-face.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-face/-face.html new file mode 100644 index 00000000..67106f97 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-face/equals.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-face/equals.html new file mode 100644 index 00000000..62765927 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-face/hash-code.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-face/hash-code.html new file mode 100644 index 00000000..8c8b92ba --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-face/height.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-face/height.html new file mode 100644 index 00000000..692b78ca --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-face/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-face/index.html new file mode 100644 index 00000000..2d08a623 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-face/to-string.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-face/to-string.html new file mode 100644 index 00000000..e410f185 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-face/width.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-face/width.html new file mode 100644 index 00000000..31618304 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-face/x.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-face/x.html new file mode 100644 index 00000000..b544ad2a --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-face/y.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-face/y.html new file mode 100644 index 00000000..aed6de90 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-original/-by-uri/-by-uri.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-original/-by-uri/-by-uri.html new file mode 100644 index 00000000..f2af497a --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-original/-by-uri/equals.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-original/-by-uri/equals.html new file mode 100644 index 00000000..f51b510a --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-original/-by-uri/hash-code.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-original/-by-uri/hash-code.html new file mode 100644 index 00000000..6a1de7ce --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-original/-by-uri/height.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-original/-by-uri/height.html new file mode 100644 index 00000000..f253451e --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-original/-by-uri/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-original/-by-uri/index.html new file mode 100644 index 00000000..50862f5b --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-original/-by-uri/rotation-degrees.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-original/-by-uri/rotation-degrees.html new file mode 100644 index 00000000..83e2fc24 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-original/-by-uri/to-string.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-original/-by-uri/to-string.html new file mode 100644 index 00000000..0a9ab54d --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-original/-by-uri/uri.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-original/-by-uri/uri.html new file mode 100644 index 00000000..9242ff02 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-original/-by-uri/width.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-original/-by-uri/width.html new file mode 100644 index 00000000..6638ec5e --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-original/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-original/index.html new file mode 100644 index 00000000..ae6dab79 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-with-face/-with-face.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-with-face/-with-face.html new file mode 100644 index 00000000..209f767b --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-with-face/equals.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-with-face/equals.html new file mode 100644 index 00000000..1c74d13e --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-with-face/face.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-with-face/face.html new file mode 100644 index 00000000..0ef3cbcb --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-with-face/hash-code.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-with-face/hash-code.html new file mode 100644 index 00000000..833f7a48 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-with-face/image.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-with-face/image.html new file mode 100644 index 00000000..5d80888f --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-with-face/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-with-face/index.html new file mode 100644 index 00000000..6ab4335a --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-with-face/to-string.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/-with-face/to-string.html new file mode 100644 index 00000000..3e7d2234 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-media-processor/-media/-image/index.html new file mode 100644 index 00000000..3e27558f --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-media-processor/-media/-video/-original/-by-uri/-by-uri.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-media-processor/-media/-video/-original/-by-uri/-by-uri.html new file mode 100644 index 00000000..544990fa --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-media-processor/-media/-video/-original/-by-uri/duration-in-millis.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-media-processor/-media/-video/-original/-by-uri/duration-in-millis.html new file mode 100644 index 00000000..a0dbe366 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-media-processor/-media/-video/-original/-by-uri/equals.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-media-processor/-media/-video/-original/-by-uri/equals.html new file mode 100644 index 00000000..b0677831 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-media-processor/-media/-video/-original/-by-uri/hash-code.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-media-processor/-media/-video/-original/-by-uri/hash-code.html new file mode 100644 index 00000000..5012e075 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-media-processor/-media/-video/-original/-by-uri/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-media-processor/-media/-video/-original/-by-uri/index.html new file mode 100644 index 00000000..858b64e5 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-media-processor/-media/-video/-original/-by-uri/to-string.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-media-processor/-media/-video/-original/-by-uri/to-string.html new file mode 100644 index 00000000..e6bbfa70 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-media-processor/-media/-video/-original/-by-uri/uri.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-media-processor/-media/-video/-original/-by-uri/uri.html new file mode 100644 index 00000000..49e1d229 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-media-processor/-media/-video/-original/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-media-processor/-media/-video/-original/index.html new file mode 100644 index 00000000..6f28832a --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-media-processor/-media/-video/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-media-processor/-media/-video/index.html new file mode 100644 index 00000000..2f063945 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-media-processor/-media/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-media-processor/-media/index.html new file mode 100644 index 00000000..6676f459 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-media-processor/connect-input.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-media-processor/connect-input.html new file mode 100644 index 00000000..d11aed7d --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-media-processor/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-media-processor/index.html new file mode 100644 index 00000000..574bdc03 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-processor/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-processor/index.html new file mode 100644 index 00000000..8f31f67a --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-safe-render-area-processor/-input/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-safe-render-area-processor/-input/index.html new file mode 100644 index 00000000..bcb3aac2 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-safe-render-area-processor/-input/subscribe-to.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-safe-render-area-processor/-input/subscribe-to.html new file mode 100644 index 00000000..e02dfb63 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-safe-render-area-processor/connect-input.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-safe-render-area-processor/connect-input.html new file mode 100644 index 00000000..a0f03206 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-safe-render-area-processor/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-safe-render-area-processor/index.html new file mode 100644 index 00000000..2c4ca000 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-session/-builder/api-token.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-session/-builder/api-token.html new file mode 100644 index 00000000..30304dc6 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-session/-builder/application-id.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-session/-builder/application-id.html new file mode 100644 index 00000000..011dcb8e --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-session/-builder/attach-to.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-session/-builder/attach-to.html new file mode 100644 index 00000000..a6ce8cdd --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-session/-builder/audio-processor-source.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-session/-builder/audio-processor-source.html new file mode 100644 index 00000000..3d477517 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-session/-builder/build.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-session/-builder/build.html new file mode 100644 index 00000000..7e9855d0 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-session/-builder/configure-lenses.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-session/-builder/configure-lenses.html new file mode 100644 index 00000000..38b7ca94 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-session/-builder/configure-with.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-session/-builder/configure-with.html new file mode 100644 index 00000000..d16c123e --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-session/-builder/handle-errors-with.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-session/-builder/handle-errors-with.html new file mode 100644 index 00000000..431c0b12 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-session/-builder/image-processor-source.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-session/-builder/image-processor-source.html new file mode 100644 index 00000000..dbe980d4 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-session/-builder/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-session/-builder/index.html new file mode 100644 index 00000000..d5c40ef3 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-session/-builder/legal-processor-source.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-session/-builder/legal-processor-source.html new file mode 100644 index 00000000..545c0010 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-session/-builder/location-processor-source.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-session/-builder/location-processor-source.html new file mode 100644 index 00000000..01bffe1f --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-session/-builder/media-processor-source.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-session/-builder/media-processor-source.html new file mode 100644 index 00000000..c588a8ca --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-session/-builder/safe-render-area-processor-source.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-session/-builder/safe-render-area-processor-source.html new file mode 100644 index 00000000..c4c427f4 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-session/-builder/user-processor-source.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-session/-builder/user-processor-source.html new file mode 100644 index 00000000..1075f3af --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-session/-companion/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-session/-companion/index.html new file mode 100644 index 00000000..dfde36c1 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-session/-processor/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-session/-processor/index.html new file mode 100644 index 00000000..4efb174b --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-session/adjustments.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-session/adjustments.html new file mode 100644 index 00000000..eeede48c --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-session/close.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-session/close.html new file mode 100644 index 00000000..92ef8e91 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-session/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-session/index.html new file mode 100644 index 00000000..97ae1a9e --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-session/lenses.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-session/lenses.html new file mode 100644 index 00000000..c8cd24f0 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-session/processor.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-session/processor.html new file mode 100644 index 00000000..e80f18d3 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-source/-noop/attach.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-source/-noop/attach.html new file mode 100644 index 00000000..922d3ebe --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-source/-noop/get.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-source/-noop/get.html new file mode 100644 index 00000000..aad74a92 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-source/-noop/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-source/-noop/index.html new file mode 100644 index 00000000..03cd80fd --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-source/attach.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-source/attach.html new file mode 100644 index 00000000..ba17dd1f --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-source/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-source/index.html new file mode 100644 index 00000000..5816a957 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-unauthorized-application-exception/-unauthorized-application-exception.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-unauthorized-application-exception/-unauthorized-application-exception.html new file mode 100644 index 00000000..891717c4 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-unauthorized-application-exception/api-token.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-unauthorized-application-exception/api-token.html new file mode 100644 index 00000000..715d384d --- /dev/null +++ b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-unauthorized-application-exception/api-token.html @@ -0,0 +1,69 @@ + + + + + apiToken + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

apiToken

+
+ +
+ +
+
+ + diff --git a/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-unauthorized-application-exception/application-id.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-unauthorized-application-exception/application-id.html new file mode 100644 index 00000000..43efd150 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-unauthorized-application-exception/equals.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-unauthorized-application-exception/equals.html new file mode 100644 index 00000000..319ef808 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-unauthorized-application-exception/hash-code.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-unauthorized-application-exception/hash-code.html new file mode 100644 index 00000000..eb506279 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-unauthorized-application-exception/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-unauthorized-application-exception/index.html new file mode 100644 index 00000000..c5f883fe --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-unauthorized-application-exception/package-name.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-unauthorized-application-exception/package-name.html new file mode 100644 index 00000000..5a187d4d --- /dev/null +++ b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-unauthorized-application-exception/package-name.html @@ -0,0 +1,69 @@ + + + + + packageName + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+ +
+

packageName

+
+ +
+ +
+
+ + diff --git a/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-user-processor/-input/-user/-user.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-user-processor/-input/-user/-user.html new file mode 100644 index 00000000..8cdfaf13 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-user-processor/-input/-user/birth-date.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-user-processor/-input/-user/birth-date.html new file mode 100644 index 00000000..a0dd95b5 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-user-processor/-input/-user/display-name.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-user-processor/-input/-user/display-name.html new file mode 100644 index 00000000..380f46f9 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-user-processor/-input/-user/equals.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-user-processor/-input/-user/equals.html new file mode 100644 index 00000000..7c4eddf6 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-user-processor/-input/-user/hash-code.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-user-processor/-input/-user/hash-code.html new file mode 100644 index 00000000..ac004efd --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-user-processor/-input/-user/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-user-processor/-input/-user/index.html new file mode 100644 index 00000000..56d8c428 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-user-processor/-input/-user/to-string.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-user-processor/-input/-user/to-string.html new file mode 100644 index 00000000..93a04080 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-user-processor/-input/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-user-processor/-input/index.html new file mode 100644 index 00000000..79454bfb --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-user-processor/-input/subscribe-to.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-user-processor/-input/subscribe-to.html new file mode 100644 index 00000000..4a4172ba --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-user-processor/connect-input.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-user-processor/connect-input.html new file mode 100644 index 00000000..cc5616e3 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-user-processor/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-user-processor/index.html new file mode 100644 index 00000000..7ce73a9f --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-version/-companion/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-version/-companion/index.html new file mode 100644 index 00000000..5b192129 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-version/-version.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-version/-version.html new file mode 100644 index 00000000..36c98cb7 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-version/compare-to.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-version/compare-to.html new file mode 100644 index 00000000..b3d1fbd9 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-version/equals.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-version/equals.html new file mode 100644 index 00000000..f33975ec --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-version/hash-code.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-version/hash-code.html new file mode 100644 index 00000000..0aae390b --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-version/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-version/index.html new file mode 100644 index 00000000..67d4b9ba --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-version/major.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-version/major.html new file mode 100644 index 00000000..930e6bf0 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-version/minor.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-version/minor.html new file mode 100644 index 00000000..abae132e --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-version/patch.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-version/patch.html new file mode 100644 index 00000000..4c723e4e --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-version/qualifier.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-version/qualifier.html new file mode 100644 index 00000000..a5cbd8cc --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/-version/to-string.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/-version/to-string.html new file mode 100644 index 00000000..7ebdab2a --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/ar-core-input.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/ar-core-input.html new file mode 100644 index 00000000..b97cb846 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/connect-input.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/connect-input.html new file mode 100644 index 00000000..89f2fa51 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/connect-output.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/connect-output.html new file mode 100644 index 00000000..3febe684 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/index.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/index.html new file mode 100644 index 00000000..3dc10e8d --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/input-frame-from.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/input-frame-from.html new file mode 100644 index 00000000..fe766af6 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/input-from.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/input-from.html new file mode 100644 index 00000000..36bc2d52 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/lens-core-version.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/lens-core-version.html new file mode 100644 index 00000000..fb7a1529 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/microphone-source-for.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/microphone-source-for.html new file mode 100644 index 00000000..e0a74b44 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/new-builder.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/new-builder.html new file mode 100644 index 00000000..7180d9d8 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/output-from.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/output-from.html new file mode 100644 index 00000000..a69f6797 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/process-bitmap.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/process-bitmap.html new file mode 100644 index 00000000..0ff94974 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/process-image.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/process-image.html new file mode 100644 index 00000000..c1ffb15e --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/source-from.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/source-from.html new file mode 100644 index 00000000..1e6cce35 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/supported.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/supported.html new file mode 100644 index 00000000..0fb243d7 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/to-bitmap.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/to-bitmap.html new file mode 100644 index 00000000..1afe06e8 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/com.snap.camerakit/version-from.html b/docs/api/android/1.34.0/-camera-kit/com.snap.camerakit/version-from.html new file mode 100644 index 00000000..27a25b90 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/-camera-kit/package-list b/docs/api/android/1.34.0/-camera-kit/package-list new file mode 100644 index 00000000..5bc0d590 --- /dev/null +++ b/docs/api/android/1.34.0/-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.34.0/images/anchor-copy-button.svg b/docs/api/android/1.34.0/images/anchor-copy-button.svg new file mode 100644 index 00000000..bab9d747 --- /dev/null +++ b/docs/api/android/1.34.0/images/anchor-copy-button.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/docs/api/android/1.34.0/images/arrow_down.svg b/docs/api/android/1.34.0/images/arrow_down.svg new file mode 100644 index 00000000..c0388dee --- /dev/null +++ b/docs/api/android/1.34.0/images/arrow_down.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/docs/api/android/1.34.0/images/copy-icon.svg b/docs/api/android/1.34.0/images/copy-icon.svg new file mode 100644 index 00000000..61440f0a --- /dev/null +++ b/docs/api/android/1.34.0/images/copy-icon.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/docs/api/android/1.34.0/images/copy-successful-icon.svg b/docs/api/android/1.34.0/images/copy-successful-icon.svg new file mode 100644 index 00000000..1865f739 --- /dev/null +++ b/docs/api/android/1.34.0/images/copy-successful-icon.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/docs/api/android/1.34.0/images/footer-go-to-link.svg b/docs/api/android/1.34.0/images/footer-go-to-link.svg new file mode 100644 index 00000000..0137e223 --- /dev/null +++ b/docs/api/android/1.34.0/images/footer-go-to-link.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/docs/api/android/1.34.0/images/go-to-top-icon.svg b/docs/api/android/1.34.0/images/go-to-top-icon.svg new file mode 100644 index 00000000..d987f3ea --- /dev/null +++ b/docs/api/android/1.34.0/images/go-to-top-icon.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/docs/api/android/1.34.0/images/logo-icon.svg b/docs/api/android/1.34.0/images/logo-icon.svg new file mode 100644 index 00000000..1fea0877 --- /dev/null +++ b/docs/api/android/1.34.0/images/logo-icon.svg @@ -0,0 +1,10 @@ + + + + + + + + + + \ No newline at end of file diff --git a/docs/api/android/1.34.0/images/nav-icons/abstract-class-kotlin.svg b/docs/api/android/1.34.0/images/nav-icons/abstract-class-kotlin.svg new file mode 100644 index 00000000..a2069b8f --- /dev/null +++ b/docs/api/android/1.34.0/images/nav-icons/abstract-class-kotlin.svg @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/api/android/1.34.0/images/nav-icons/abstract-class.svg b/docs/api/android/1.34.0/images/nav-icons/abstract-class.svg new file mode 100644 index 00000000..60182030 --- /dev/null +++ b/docs/api/android/1.34.0/images/nav-icons/abstract-class.svg @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/docs/api/android/1.34.0/images/nav-icons/annotation-kotlin.svg b/docs/api/android/1.34.0/images/nav-icons/annotation-kotlin.svg new file mode 100644 index 00000000..932f1d3d --- /dev/null +++ b/docs/api/android/1.34.0/images/nav-icons/annotation-kotlin.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/docs/api/android/1.34.0/images/nav-icons/annotation.svg b/docs/api/android/1.34.0/images/nav-icons/annotation.svg new file mode 100644 index 00000000..b80c54b4 --- /dev/null +++ b/docs/api/android/1.34.0/images/nav-icons/annotation.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/docs/api/android/1.34.0/images/nav-icons/class-kotlin.svg b/docs/api/android/1.34.0/images/nav-icons/class-kotlin.svg new file mode 100644 index 00000000..46a21f65 --- /dev/null +++ b/docs/api/android/1.34.0/images/nav-icons/class-kotlin.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/docs/api/android/1.34.0/images/nav-icons/class.svg b/docs/api/android/1.34.0/images/nav-icons/class.svg new file mode 100644 index 00000000..3f1ad167 --- /dev/null +++ b/docs/api/android/1.34.0/images/nav-icons/class.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/docs/api/android/1.34.0/images/nav-icons/enum-kotlin.svg b/docs/api/android/1.34.0/images/nav-icons/enum-kotlin.svg new file mode 100644 index 00000000..4a854596 --- /dev/null +++ b/docs/api/android/1.34.0/images/nav-icons/enum-kotlin.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/docs/api/android/1.34.0/images/nav-icons/enum.svg b/docs/api/android/1.34.0/images/nav-icons/enum.svg new file mode 100644 index 00000000..fa7f2476 --- /dev/null +++ b/docs/api/android/1.34.0/images/nav-icons/enum.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/docs/api/android/1.34.0/images/nav-icons/exception-class.svg b/docs/api/android/1.34.0/images/nav-icons/exception-class.svg new file mode 100644 index 00000000..c0b2bdeb --- /dev/null +++ b/docs/api/android/1.34.0/images/nav-icons/exception-class.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/docs/api/android/1.34.0/images/nav-icons/field-value.svg b/docs/api/android/1.34.0/images/nav-icons/field-value.svg new file mode 100644 index 00000000..20449c94 --- /dev/null +++ b/docs/api/android/1.34.0/images/nav-icons/field-value.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/docs/api/android/1.34.0/images/nav-icons/field-variable.svg b/docs/api/android/1.34.0/images/nav-icons/field-variable.svg new file mode 100644 index 00000000..3b074500 --- /dev/null +++ b/docs/api/android/1.34.0/images/nav-icons/field-variable.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/docs/api/android/1.34.0/images/nav-icons/function.svg b/docs/api/android/1.34.0/images/nav-icons/function.svg new file mode 100644 index 00000000..f0da64a0 --- /dev/null +++ b/docs/api/android/1.34.0/images/nav-icons/function.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/docs/api/android/1.34.0/images/nav-icons/interface-kotlin.svg b/docs/api/android/1.34.0/images/nav-icons/interface-kotlin.svg new file mode 100644 index 00000000..bf07a148 --- /dev/null +++ b/docs/api/android/1.34.0/images/nav-icons/interface-kotlin.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/docs/api/android/1.34.0/images/nav-icons/interface.svg b/docs/api/android/1.34.0/images/nav-icons/interface.svg new file mode 100644 index 00000000..32063ba2 --- /dev/null +++ b/docs/api/android/1.34.0/images/nav-icons/interface.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/docs/api/android/1.34.0/images/nav-icons/object.svg b/docs/api/android/1.34.0/images/nav-icons/object.svg new file mode 100644 index 00000000..9f427de4 --- /dev/null +++ b/docs/api/android/1.34.0/images/nav-icons/object.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/docs/api/android/1.34.0/images/theme-toggle.svg b/docs/api/android/1.34.0/images/theme-toggle.svg new file mode 100644 index 00000000..2a8d750e --- /dev/null +++ b/docs/api/android/1.34.0/images/theme-toggle.svg @@ -0,0 +1,4 @@ + + + \ No newline at end of file diff --git a/docs/api/android/1.34.0/index.html b/docs/api/android/1.34.0/index.html new file mode 100644 index 00000000..31693e5b --- /dev/null +++ b/docs/api/android/1.34.0/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.34.0/navigation.html b/docs/api/android/1.34.0/navigation.html new file mode 100644 index 00000000..d7011008 --- /dev/null +++ b/docs/api/android/1.34.0/navigation.html @@ -0,0 +1,788 @@ +
+ +
+ + +
+ +
+ +
+ +
+
+
+ + + + + + +
+ +
+ +
+ +
+ +
+ +
+ +
+
+ +
+
+ +
+
+
+
+ + +
+ + +
+ +
+ +
+ +
+
+ +
+ +
+
+
+ +
+
+
+ +
+ +
+ +
+
+
+
+
+ + + + + +
+ +
+ +
+ +
+ +
+
+ +
+
+ +
+
+
+ +
+ +
+
+ + + + +
+ +
+ +
+ +
+
+
+
+ +
+ +
+
+ +
+ + +
+ + +
+ +
+ +
+ +
+ +
+ +
+
+ +
+
+
+
+ +
+
+
+ +
+
+ + +
+
+ + +
+ +
+ +
+ +
+
+ +
+
+ +
+ +
+ +
+ +
+
+ +
+
+ +
+
+
+ +
+
+ +
+ +
+
+ +
+
+
+ + +
+ +
+ +
+
+ +
+
+ +
+ +
+
+ +
+ +
+
+
+ +
+ +
+
+ +
+
+
+
+
+ + +
+ +
+ +
+ +
+
+ +
+
+
+
+
+ +
+ +
+
+ +
+ +
+
+ +
+
+
+ +
+ +
+
+ +
+
+ +
+
+
+ +
+ +
+
+ +
+ +
+
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+ + +
+ + +
+ +
+ +
+
+ +
+
+
+ +
+ +
+
+ +
+
+
+
+
+ +
+
+ +
+ +
+
+
+ +
+ +
+
+ +
+ +
+
+ +
+
+ +
+
+
+ +
+ +
+ +
+ +
+
+ +
+
+ +
+
+
+ +
+
+ +
+ +
+
+
+ +
+
+ +
+ +
+
+ +
+ +
+
+ +
+ +
+
+ +
+
+
+ +
+ +
+
+ +
+
+
+
+ + + + + + + + + + +
+
+ diff --git a/docs/api/android/1.34.0/scripts/clipboard.js b/docs/api/android/1.34.0/scripts/clipboard.js new file mode 100644 index 00000000..b00ce246 --- /dev/null +++ b/docs/api/android/1.34.0/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.34.0/scripts/main.js b/docs/api/android/1.34.0/scripts/main.js new file mode 100644 index 00000000..ca7ae018 --- /dev/null +++ b/docs/api/android/1.34.0/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.34.0 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.34.0/SCSDKCameraKit/Classes/SCCameraKitARSessionInput.html b/docs/api/ios/1.34.0/SCSDKCameraKit/Classes/SCCameraKitARSessionInput.html new file mode 100644 index 00000000..5a2a6e5a --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/Classes/SCCameraKitARSessionInput.html @@ -0,0 +1,592 @@ + + + + SCCameraKitARSessionInput Class Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 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.34.0/SCSDKCameraKit/Classes/SCCameraKitAVSessionInput.html b/docs/api/ios/1.34.0/SCSDKCameraKit/Classes/SCCameraKitAVSessionInput.html new file mode 100644 index 00000000..2238787d --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/Classes/SCCameraKitAVSessionInput.html @@ -0,0 +1,655 @@ + + + + SCCameraKitAVSessionInput Class Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 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.34.0/SCSDKCameraKit/Classes/SCCameraKitAVWriterOutput.html b/docs/api/ios/1.34.0/SCSDKCameraKit/Classes/SCCameraKitAVWriterOutput.html new file mode 100644 index 00000000..e4917403 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/Classes/SCCameraKitAVWriterOutput.html @@ -0,0 +1,679 @@ + + + + SCCameraKitAVWriterOutput Class Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 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.34.0/SCSDKCameraKit/Classes/SCCameraKitCacheConfig.html b/docs/api/ios/1.34.0/SCSDKCameraKit/Classes/SCCameraKitCacheConfig.html new file mode 100644 index 00000000..6b6fd5cc --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/Classes/SCCameraKitCacheConfig.html @@ -0,0 +1,512 @@ + + + + SCCameraKitCacheConfig Class Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 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.34.0/SCSDKCameraKit/Classes/SCCameraKitDataProviderComponent.html b/docs/api/ios/1.34.0/SCSDKCameraKit/Classes/SCCameraKitDataProviderComponent.html new file mode 100644 index 00000000..55deeb75 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/Classes/SCCameraKitDataProviderComponent.html @@ -0,0 +1,1082 @@ + + + + SCCameraKitDataProviderComponent Class Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 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.34.0/SCSDKCameraKit/Classes/SCCameraKitExplicitViewportProvider.html b/docs/api/ios/1.34.0/SCSDKCameraKit/Classes/SCCameraKitExplicitViewportProvider.html new file mode 100644 index 00000000..1111c3ac --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/Classes/SCCameraKitExplicitViewportProvider.html @@ -0,0 +1,696 @@ + + + + SCCameraKitExplicitViewportProvider Class Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 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.34.0/SCSDKCameraKit/Classes/SCCameraKitLensLaunchDataBuilder.html b/docs/api/ios/1.34.0/SCSDKCameraKit/Classes/SCCameraKitLensLaunchDataBuilder.html new file mode 100644 index 00000000..253899dc --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/Classes/SCCameraKitLensLaunchDataBuilder.html @@ -0,0 +1,760 @@ + + + + SCCameraKitLensLaunchDataBuilder Class Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 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.34.0/SCSDKCameraKit/Classes/SCCameraKitLensMediaPickerProviderPhotoLibrary.html b/docs/api/ios/1.34.0/SCSDKCameraKit/Classes/SCCameraKitLensMediaPickerProviderPhotoLibrary.html new file mode 100644 index 00000000..ef340462 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/Classes/SCCameraKitLensMediaPickerProviderPhotoLibrary.html @@ -0,0 +1,539 @@ + + + + SCCameraKitLensMediaPickerProviderPhotoLibrary Class Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 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.34.0/SCSDKCameraKit/Classes/SCCameraKitLensRemoteApiResponse.html b/docs/api/ios/1.34.0/SCSDKCameraKit/Classes/SCCameraKitLensRemoteApiResponse.html new file mode 100644 index 00000000..161197b4 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/Classes/SCCameraKitLensRemoteApiResponse.html @@ -0,0 +1,577 @@ + + + + SCCameraKitLensRemoteApiResponse Class Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 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.34.0/SCSDKCameraKit/Classes/SCCameraKitLensesConfig.html b/docs/api/ios/1.34.0/SCSDKCameraKit/Classes/SCCameraKitLensesConfig.html new file mode 100644 index 00000000..2850e847 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/Classes/SCCameraKitLensesConfig.html @@ -0,0 +1,507 @@ + + + + SCCameraKitLensesConfig Class Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 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.34.0/SCSDKCameraKit/Classes/SCCameraKitPhotoCaptureOutput.html b/docs/api/ios/1.34.0/SCSDKCameraKit/Classes/SCCameraKitPhotoCaptureOutput.html new file mode 100644 index 00000000..96657a2b --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/Classes/SCCameraKitPhotoCaptureOutput.html @@ -0,0 +1,686 @@ + + + + SCCameraKitPhotoCaptureOutput Class Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 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.34.0/SCSDKCameraKit/Classes/SCCameraKitPortraitAdjustment.html b/docs/api/ios/1.34.0/SCSDKCameraKit/Classes/SCCameraKitPortraitAdjustment.html new file mode 100644 index 00000000..331cbaaf --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/Classes/SCCameraKitPortraitAdjustment.html @@ -0,0 +1,450 @@ + + + + SCCameraKitPortraitAdjustment Class Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 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.34.0/SCSDKCameraKit/Classes/SCCameraKitPreviewView.html b/docs/api/ios/1.34.0/SCSDKCameraKit/Classes/SCCameraKitPreviewView.html new file mode 100644 index 00000000..8536334b --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/Classes/SCCameraKitPreviewView.html @@ -0,0 +1,654 @@ + + + + SCCameraKitPreviewView Class Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 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.34.0/SCSDKCameraKit/Classes/SCCameraKitSession.html b/docs/api/ios/1.34.0/SCSDKCameraKit/Classes/SCCameraKitSession.html new file mode 100644 index 00000000..083f0ef8 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/Classes/SCCameraKitSession.html @@ -0,0 +1,566 @@ + + + + SCCameraKitSession Class Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 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.34.0/SCSDKCameraKit/Classes/SCCameraKitSessionConfig.html b/docs/api/ios/1.34.0/SCSDKCameraKit/Classes/SCCameraKitSessionConfig.html new file mode 100644 index 00000000..d3b35fde --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/Classes/SCCameraKitSessionConfig.html @@ -0,0 +1,898 @@ + + + + SCCameraKitSessionConfig Class Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 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.34.0/SCSDKCameraKit/Classes/SCCameraKitToneMapAdjustment.html b/docs/api/ios/1.34.0/SCSDKCameraKit/Classes/SCCameraKitToneMapAdjustment.html new file mode 100644 index 00000000..aa7e0c7f --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/Classes/SCCameraKitToneMapAdjustment.html @@ -0,0 +1,450 @@ + + + + SCCameraKitToneMapAdjustment Class Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 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.34.0/SCSDKCameraKit/Classes/SCCameraKitUserData.html b/docs/api/ios/1.34.0/SCSDKCameraKit/Classes/SCCameraKitUserData.html new file mode 100644 index 00000000..bc5207c7 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/Classes/SCCameraKitUserData.html @@ -0,0 +1,613 @@ + + + + SCCameraKitUserData Class Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 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.34.0/SCSDKCameraKit/Constants.html b/docs/api/ios/1.34.0/SCSDKCameraKit/Constants.html new file mode 100644 index 00000000..efd97abf --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/Constants.html @@ -0,0 +1,959 @@ + + + + Constants Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 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.34.0/SCSDKCameraKit/Enums.html b/docs/api/ios/1.34.0/SCSDKCameraKit/Enums.html new file mode 100644 index 00000000..a140427d --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/Enums.html @@ -0,0 +1,698 @@ + + + + Enumerations Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 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.34.0/SCSDKCameraKit/Enums/SCCameraKitAdjustmentsComponentError.html b/docs/api/ios/1.34.0/SCSDKCameraKit/Enums/SCCameraKitAdjustmentsComponentError.html new file mode 100644 index 00000000..3ba0d14c --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/Enums/SCCameraKitAdjustmentsComponentError.html @@ -0,0 +1,459 @@ + + + + SCCameraKitAdjustmentsComponentError Enumeration Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 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.34.0/SCSDKCameraKit/Enums/SCCameraKitLensFacingPreference.html b/docs/api/ios/1.34.0/SCSDKCameraKit/Enums/SCCameraKitLensFacingPreference.html new file mode 100644 index 00000000..230493a3 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/Enums/SCCameraKitLensFacingPreference.html @@ -0,0 +1,518 @@ + + + + SCCameraKitLensFacingPreference Enumeration Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 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.34.0/SCSDKCameraKit/Enums/SCCameraKitLensFetchStatus.html b/docs/api/ios/1.34.0/SCSDKCameraKit/Enums/SCCameraKitLensFetchStatus.html new file mode 100644 index 00000000..b922b46a --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/Enums/SCCameraKitLensFetchStatus.html @@ -0,0 +1,521 @@ + + + + SCCameraKitLensFetchStatus Enumeration Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 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.34.0/SCSDKCameraKit/Enums/SCCameraKitLensMediaPickerAssetType.html b/docs/api/ios/1.34.0/SCSDKCameraKit/Enums/SCCameraKitLensMediaPickerAssetType.html new file mode 100644 index 00000000..27266b4b --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/Enums/SCCameraKitLensMediaPickerAssetType.html @@ -0,0 +1,489 @@ + + + + SCCameraKitLensMediaPickerAssetType Enumeration Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 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.34.0/SCSDKCameraKit/Enums/SCCameraKitLensMediaPickerProviderAllowedMediaType.html b/docs/api/ios/1.34.0/SCSDKCameraKit/Enums/SCCameraKitLensMediaPickerProviderAllowedMediaType.html new file mode 100644 index 00000000..e0d91713 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/Enums/SCCameraKitLensMediaPickerProviderAllowedMediaType.html @@ -0,0 +1,559 @@ + + + + SCCameraKitLensMediaPickerProviderAllowedMediaType Enumeration Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 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.34.0/SCSDKCameraKit/Enums/SCCameraKitLensRemoteApiResponseStatus.html b/docs/api/ios/1.34.0/SCSDKCameraKit/Enums/SCCameraKitLensRemoteApiResponseStatus.html new file mode 100644 index 00000000..8a74e03a --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/Enums/SCCameraKitLensRemoteApiResponseStatus.html @@ -0,0 +1,710 @@ + + + + SCCameraKitLensRemoteApiResponseStatus Enumeration Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 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.34.0/SCSDKCameraKit/Enums/SCCameraKitLensRemoteApiServiceCallStatus.html b/docs/api/ios/1.34.0/SCSDKCameraKit/Enums/SCCameraKitLensRemoteApiServiceCallStatus.html new file mode 100644 index 00000000..4107fdff --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/Enums/SCCameraKitLensRemoteApiServiceCallStatus.html @@ -0,0 +1,519 @@ + + + + SCCameraKitLensRemoteApiServiceCallStatus Enumeration Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 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.34.0/SCSDKCameraKit/Enums/SCCameraKitPreviewViewContentMode.html b/docs/api/ios/1.34.0/SCSDKCameraKit/Enums/SCCameraKitPreviewViewContentMode.html new file mode 100644 index 00000000..484c9b6c --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/Enums/SCCameraKitPreviewViewContentMode.html @@ -0,0 +1,502 @@ + + + + SCCameraKitPreviewViewContentMode Enumeration Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

SCCameraKitPreviewViewContentMode

+
+
+ +
NS_ENUM(NSInteger, SCCameraKitPreviewViewContentMode) {
+    SCCameraKitPreviewViewContentModeScaleToFill,
+    SCCameraKitPreviewViewContentModeAspectFill,
+    SCCameraKitPreviewViewContentModeAspectFit
+}
+ +
+
+

Undocumented

+ +
+
+ +
+
+
+ +
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.34.0/SCSDKCameraKit/Extensions.html b/docs/api/ios/1.34.0/SCSDKCameraKit/Extensions.html new file mode 100644 index 00000000..ae0e529d --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/Extensions.html @@ -0,0 +1,437 @@ + + + + Extensions Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 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.34.0/SCSDKCameraKit/Extensions/AdjustmentsProcessor.html b/docs/api/ios/1.34.0/SCSDKCameraKit/Extensions/AdjustmentsProcessor.html new file mode 100644 index 00000000..dfc8f06b --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/Extensions/AdjustmentsProcessor.html @@ -0,0 +1,466 @@ + + + + AdjustmentsProcessor Extension Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 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.34.0/SCSDKCameraKit/Protocols.html b/docs/api/ios/1.34.0/SCSDKCameraKit/Protocols.html new file mode 100644 index 00000000..1851907e --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/Protocols.html @@ -0,0 +1,2323 @@ + + + + Protocols Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 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.34.0/SCSDKCameraKit/Protocols/Adjustment.html b/docs/api/ios/1.34.0/SCSDKCameraKit/Protocols/Adjustment.html new file mode 100644 index 00000000..6708444d --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/Protocols/Adjustment.html @@ -0,0 +1,443 @@ + + + + Adjustment Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 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.34.0/SCSDKCameraKit/Protocols/SCCameraKitARInput.html b/docs/api/ios/1.34.0/SCSDKCameraKit/Protocols/SCCameraKitARInput.html new file mode 100644 index 00000000..88e20620 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/Protocols/SCCameraKitARInput.html @@ -0,0 +1,595 @@ + + + + SCCameraKitARInput Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 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.34.0/SCSDKCameraKit/Protocols/SCCameraKitARInputDelegate.html b/docs/api/ios/1.34.0/SCSDKCameraKit/Protocols/SCCameraKitARInputDelegate.html new file mode 100644 index 00000000..6e2bc6af --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/Protocols/SCCameraKitARInputDelegate.html @@ -0,0 +1,616 @@ + + + + SCCameraKitARInputDelegate Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 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.34.0/SCSDKCameraKit/Protocols/SCCameraKitAccessTokenProvider.html b/docs/api/ios/1.34.0/SCSDKCameraKit/Protocols/SCCameraKitAccessTokenProvider.html new file mode 100644 index 00000000..9333c05b --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/Protocols/SCCameraKitAccessTokenProvider.html @@ -0,0 +1,544 @@ + + + + SCCameraKitAccessTokenProvider Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 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.34.0/SCSDKCameraKit/Protocols/SCCameraKitAccessTokenProviderTask.html b/docs/api/ios/1.34.0/SCSDKCameraKit/Protocols/SCCameraKitAccessTokenProviderTask.html new file mode 100644 index 00000000..3df37aa6 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/Protocols/SCCameraKitAccessTokenProviderTask.html @@ -0,0 +1,454 @@ + + + + SCCameraKitAccessTokenProviderTask Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 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.34.0/SCSDKCameraKit/Protocols/SCCameraKitAdjustmentsComponent.html b/docs/api/ios/1.34.0/SCSDKCameraKit/Protocols/SCCameraKitAdjustmentsComponent.html new file mode 100644 index 00000000..9e60bbf7 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/Protocols/SCCameraKitAdjustmentsComponent.html @@ -0,0 +1,454 @@ + + + + SCCameraKitAdjustmentsComponent Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 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.34.0/SCSDKCameraKit/Protocols/SCCameraKitAdjustmentsProcessor.html b/docs/api/ios/1.34.0/SCSDKCameraKit/Protocols/SCCameraKitAdjustmentsProcessor.html new file mode 100644 index 00000000..6034c22b --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/Protocols/SCCameraKitAdjustmentsProcessor.html @@ -0,0 +1,667 @@ + + + + SCCameraKitAdjustmentsProcessor Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 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.34.0/SCSDKCameraKit/Protocols/SCCameraKitAdjustmentsProcessorObserver.html b/docs/api/ios/1.34.0/SCSDKCameraKit/Protocols/SCCameraKitAdjustmentsProcessorObserver.html new file mode 100644 index 00000000..c9b09745 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/Protocols/SCCameraKitAdjustmentsProcessorObserver.html @@ -0,0 +1,474 @@ + + + + SCCameraKitAdjustmentsProcessorObserver Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 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.34.0/SCSDKCameraKit/Protocols/SCCameraKitAgreementSet.html b/docs/api/ios/1.34.0/SCSDKCameraKit/Protocols/SCCameraKitAgreementSet.html new file mode 100644 index 00000000..5de462bc --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/Protocols/SCCameraKitAgreementSet.html @@ -0,0 +1,519 @@ + + + + SCCameraKitAgreementSet Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 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.34.0/SCSDKCameraKit/Protocols/SCCameraKitAgreementsPresentationContextProvider.html b/docs/api/ios/1.34.0/SCSDKCameraKit/Protocols/SCCameraKitAgreementsPresentationContextProvider.html new file mode 100644 index 00000000..0d53026e --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/Protocols/SCCameraKitAgreementsPresentationContextProvider.html @@ -0,0 +1,524 @@ + + + + SCCameraKitAgreementsPresentationContextProvider Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 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.34.0/SCSDKCameraKit/Protocols/SCCameraKitAgreementsStore.html b/docs/api/ios/1.34.0/SCSDKCameraKit/Protocols/SCCameraKitAgreementsStore.html new file mode 100644 index 00000000..66339195 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/Protocols/SCCameraKitAgreementsStore.html @@ -0,0 +1,588 @@ + + + + SCCameraKitAgreementsStore Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 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.34.0/SCSDKCameraKit/Protocols/SCCameraKitDeviceMotionDataProvider.html b/docs/api/ios/1.34.0/SCSDKCameraKit/Protocols/SCCameraKitDeviceMotionDataProvider.html new file mode 100644 index 00000000..b832657b --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/Protocols/SCCameraKitDeviceMotionDataProvider.html @@ -0,0 +1,538 @@ + + + + SCCameraKitDeviceMotionDataProvider Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 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.34.0/SCSDKCameraKit/Protocols/SCCameraKitDeviceMotionParameters.html b/docs/api/ios/1.34.0/SCSDKCameraKit/Protocols/SCCameraKitDeviceMotionParameters.html new file mode 100644 index 00000000..9adea829 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/Protocols/SCCameraKitDeviceMotionParameters.html @@ -0,0 +1,454 @@ + + + + SCCameraKitDeviceMotionParameters Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 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.34.0/SCSDKCameraKit/Protocols/SCCameraKitErrorHandler.html b/docs/api/ios/1.34.0/SCSDKCameraKit/Protocols/SCCameraKitErrorHandler.html new file mode 100644 index 00000000..0b8dd53f --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/Protocols/SCCameraKitErrorHandler.html @@ -0,0 +1,473 @@ + + + + SCCameraKitErrorHandler Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 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.34.0/SCSDKCameraKit/Protocols/SCCameraKitInput.html b/docs/api/ios/1.34.0/SCSDKCameraKit/Protocols/SCCameraKitInput.html new file mode 100644 index 00000000..dbb951e0 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/Protocols/SCCameraKitInput.html @@ -0,0 +1,772 @@ + + + + SCCameraKitInput Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 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.34.0/SCSDKCameraKit/Protocols/SCCameraKitInputDestination.html b/docs/api/ios/1.34.0/SCSDKCameraKit/Protocols/SCCameraKitInputDestination.html new file mode 100644 index 00000000..a4998a57 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/Protocols/SCCameraKitInputDestination.html @@ -0,0 +1,601 @@ + + + + SCCameraKitInputDestination Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 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.34.0/SCSDKCameraKit/Protocols/SCCameraKitLens.html b/docs/api/ios/1.34.0/SCSDKCameraKit/Protocols/SCCameraKitLens.html new file mode 100644 index 00000000..67e5f587 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/Protocols/SCCameraKitLens.html @@ -0,0 +1,678 @@ + + + + SCCameraKitLens Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 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.34.0/SCSDKCameraKit/Protocols/SCCameraKitLensHintDelegate.html b/docs/api/ios/1.34.0/SCSDKCameraKit/Protocols/SCCameraKitLensHintDelegate.html new file mode 100644 index 00000000..dc7ef136 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/Protocols/SCCameraKitLensHintDelegate.html @@ -0,0 +1,576 @@ + + + + SCCameraKitLensHintDelegate Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 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.34.0/SCSDKCameraKit/Protocols/SCCameraKitLensHintProvider.html b/docs/api/ios/1.34.0/SCSDKCameraKit/Protocols/SCCameraKitLensHintProvider.html new file mode 100644 index 00000000..7f8d8b30 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/Protocols/SCCameraKitLensHintProvider.html @@ -0,0 +1,486 @@ + + + + SCCameraKitLensHintProvider Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 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.34.0/SCSDKCameraKit/Protocols/SCCameraKitLensMediaPickerAsset.html b/docs/api/ios/1.34.0/SCSDKCameraKit/Protocols/SCCameraKitLensMediaPickerAsset.html new file mode 100644 index 00000000..69b8d38f --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/Protocols/SCCameraKitLensMediaPickerAsset.html @@ -0,0 +1,550 @@ + + + + SCCameraKitLensMediaPickerAsset Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 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.34.0/SCSDKCameraKit/Protocols/SCCameraKitLensMediaPickerProvider.html b/docs/api/ios/1.34.0/SCSDKCameraKit/Protocols/SCCameraKitLensMediaPickerProvider.html new file mode 100644 index 00000000..5ddcefc0 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/Protocols/SCCameraKitLensMediaPickerProvider.html @@ -0,0 +1,849 @@ + + + + SCCameraKitLensMediaPickerProvider Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 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.34.0/SCSDKCameraKit/Protocols/SCCameraKitLensMediaPickerProviderMediaApplicationDelegate.html b/docs/api/ios/1.34.0/SCSDKCameraKit/Protocols/SCCameraKitLensMediaPickerProviderMediaApplicationDelegate.html new file mode 100644 index 00000000..89fcc95b --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/Protocols/SCCameraKitLensMediaPickerProviderMediaApplicationDelegate.html @@ -0,0 +1,523 @@ + + + + SCCameraKitLensMediaPickerProviderMediaApplicationDelegate Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 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.34.0/SCSDKCameraKit/Protocols/SCCameraKitLensMediaPickerProviderUIDelegate.html b/docs/api/ios/1.34.0/SCSDKCameraKit/Protocols/SCCameraKitLensMediaPickerProviderUIDelegate.html new file mode 100644 index 00000000..9ee70084 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/Protocols/SCCameraKitLensMediaPickerProviderUIDelegate.html @@ -0,0 +1,526 @@ + + + + SCCameraKitLensMediaPickerProviderUIDelegate Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 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.34.0/SCSDKCameraKit/Protocols/SCCameraKitLensPrefetcher.html b/docs/api/ios/1.34.0/SCSDKCameraKit/Protocols/SCCameraKitLensPrefetcher.html new file mode 100644 index 00000000..0394c11d --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/Protocols/SCCameraKitLensPrefetcher.html @@ -0,0 +1,619 @@ + + + + SCCameraKitLensPrefetcher Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 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.34.0/SCSDKCameraKit/Protocols/SCCameraKitLensPrefetcherObserver.html b/docs/api/ios/1.34.0/SCSDKCameraKit/Protocols/SCCameraKitLensPrefetcherObserver.html new file mode 100644 index 00000000..986286ef --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/Protocols/SCCameraKitLensPrefetcherObserver.html @@ -0,0 +1,499 @@ + + + + SCCameraKitLensPrefetcherObserver Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 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.34.0/SCSDKCameraKit/Protocols/SCCameraKitLensPrefetcherTask.html b/docs/api/ios/1.34.0/SCSDKCameraKit/Protocols/SCCameraKitLensPrefetcherTask.html new file mode 100644 index 00000000..e6bb773a --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/Protocols/SCCameraKitLensPrefetcherTask.html @@ -0,0 +1,454 @@ + + + + SCCameraKitLensPrefetcherTask Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 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.34.0/SCSDKCameraKit/Protocols/SCCameraKitLensPreview.html b/docs/api/ios/1.34.0/SCSDKCameraKit/Protocols/SCCameraKitLensPreview.html new file mode 100644 index 00000000..1ca36f41 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/Protocols/SCCameraKitLensPreview.html @@ -0,0 +1,454 @@ + + + + SCCameraKitLensPreview Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 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.34.0/SCSDKCameraKit/Protocols/SCCameraKitLensProcessor.html b/docs/api/ios/1.34.0/SCSDKCameraKit/Protocols/SCCameraKitLensProcessor.html new file mode 100644 index 00000000..8ddef690 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/Protocols/SCCameraKitLensProcessor.html @@ -0,0 +1,974 @@ + + + + SCCameraKitLensProcessor Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 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.34.0/SCSDKCameraKit/Protocols/SCCameraKitLensProcessorObserver.html b/docs/api/ios/1.34.0/SCSDKCameraKit/Protocols/SCCameraKitLensProcessorObserver.html new file mode 100644 index 00000000..72d26af5 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/Protocols/SCCameraKitLensProcessorObserver.html @@ -0,0 +1,601 @@ + + + + SCCameraKitLensProcessorObserver Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 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.34.0/SCSDKCameraKit/Protocols/SCCameraKitLensRemoteApiRequest.html b/docs/api/ios/1.34.0/SCSDKCameraKit/Protocols/SCCameraKitLensRemoteApiRequest.html new file mode 100644 index 00000000..67bfb3f5 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/Protocols/SCCameraKitLensRemoteApiRequest.html @@ -0,0 +1,582 @@ + + + + SCCameraKitLensRemoteApiRequest Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 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.34.0/SCSDKCameraKit/Protocols/SCCameraKitLensRemoteApiResponse.html b/docs/api/ios/1.34.0/SCSDKCameraKit/Protocols/SCCameraKitLensRemoteApiResponse.html new file mode 100644 index 00000000..e97962e1 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/Protocols/SCCameraKitLensRemoteApiResponse.html @@ -0,0 +1,550 @@ + + + + SCCameraKitLensRemoteApiResponse Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 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.34.0/SCSDKCameraKit/Protocols/SCCameraKitLensRemoteApiService.html b/docs/api/ios/1.34.0/SCSDKCameraKit/Protocols/SCCameraKitLensRemoteApiService.html new file mode 100644 index 00000000..a0a44d61 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/Protocols/SCCameraKitLensRemoteApiService.html @@ -0,0 +1,490 @@ + + + + SCCameraKitLensRemoteApiService Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 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.34.0/SCSDKCameraKit/Protocols/SCCameraKitLensRemoteApiServiceCall.html b/docs/api/ios/1.34.0/SCSDKCameraKit/Protocols/SCCameraKitLensRemoteApiServiceCall.html new file mode 100644 index 00000000..3a0bb79d --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/Protocols/SCCameraKitLensRemoteApiServiceCall.html @@ -0,0 +1,487 @@ + + + + SCCameraKitLensRemoteApiServiceCall Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 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.34.0/SCSDKCameraKit/Protocols/SCCameraKitLensRemoteApiServiceProvider.html b/docs/api/ios/1.34.0/SCSDKCameraKit/Protocols/SCCameraKitLensRemoteApiServiceProvider.html new file mode 100644 index 00000000..5dd38f1e --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/Protocols/SCCameraKitLensRemoteApiServiceProvider.html @@ -0,0 +1,507 @@ + + + + SCCameraKitLensRemoteApiServiceProvider Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 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.34.0/SCSDKCameraKit/Protocols/SCCameraKitLensRepository.html b/docs/api/ios/1.34.0/SCSDKCameraKit/Protocols/SCCameraKitLensRepository.html new file mode 100644 index 00000000..7a9042e2 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/Protocols/SCCameraKitLensRepository.html @@ -0,0 +1,860 @@ + + + + SCCameraKitLensRepository Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 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.34.0/SCSDKCameraKit/Protocols/SCCameraKitLensRepositoryGroupObserver.html b/docs/api/ios/1.34.0/SCSDKCameraKit/Protocols/SCCameraKitLensRepositoryGroupObserver.html new file mode 100644 index 00000000..6dba28d2 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/Protocols/SCCameraKitLensRepositoryGroupObserver.html @@ -0,0 +1,581 @@ + + + + SCCameraKitLensRepositoryGroupObserver Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 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.34.0/SCSDKCameraKit/Protocols/SCCameraKitLensRepositorySpecificObserver.html b/docs/api/ios/1.34.0/SCSDKCameraKit/Protocols/SCCameraKitLensRepositorySpecificObserver.html new file mode 100644 index 00000000..a23d8a37 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/Protocols/SCCameraKitLensRepositorySpecificObserver.html @@ -0,0 +1,589 @@ + + + + SCCameraKitLensRepositorySpecificObserver Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 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.34.0/SCSDKCameraKit/Protocols/SCCameraKitLensSnapcodes.html b/docs/api/ios/1.34.0/SCSDKCameraKit/Protocols/SCCameraKitLensSnapcodes.html new file mode 100644 index 00000000..6ca2ba1e --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/Protocols/SCCameraKitLensSnapcodes.html @@ -0,0 +1,486 @@ + + + + SCCameraKitLensSnapcodes Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 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.34.0/SCSDKCameraKit/Protocols/SCCameraKitLensesComponent.html b/docs/api/ios/1.34.0/SCSDKCameraKit/Protocols/SCCameraKitLensesComponent.html new file mode 100644 index 00000000..98f429db --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/Protocols/SCCameraKitLensesComponent.html @@ -0,0 +1,550 @@ + + + + SCCameraKitLensesComponent Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 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.34.0/SCSDKCameraKit/Protocols/SCCameraKitLocationDataProvider.html b/docs/api/ios/1.34.0/SCSDKCameraKit/Protocols/SCCameraKitLocationDataProvider.html new file mode 100644 index 00000000..b6b003cb --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/Protocols/SCCameraKitLocationDataProvider.html @@ -0,0 +1,544 @@ + + + + SCCameraKitLocationDataProvider Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 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.34.0/SCSDKCameraKit/Protocols/SCCameraKitLocationParameters.html b/docs/api/ios/1.34.0/SCSDKCameraKit/Protocols/SCCameraKitLocationParameters.html new file mode 100644 index 00000000..08bc76b5 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/Protocols/SCCameraKitLocationParameters.html @@ -0,0 +1,518 @@ + + + + SCCameraKitLocationParameters Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 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.34.0/SCSDKCameraKit/Protocols/SCCameraKitOutput.html b/docs/api/ios/1.34.0/SCSDKCameraKit/Protocols/SCCameraKitOutput.html new file mode 100644 index 00000000..39826703 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/Protocols/SCCameraKitOutput.html @@ -0,0 +1,645 @@ + + + + SCCameraKitOutput Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 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.34.0/SCSDKCameraKit/Protocols/SCCameraKitPortraitAdjustmentController.html b/docs/api/ios/1.34.0/SCSDKCameraKit/Protocols/SCCameraKitPortraitAdjustmentController.html new file mode 100644 index 00000000..3ad4478c --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/Protocols/SCCameraKitPortraitAdjustmentController.html @@ -0,0 +1,456 @@ + + + + SCCameraKitPortraitAdjustmentController Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 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.34.0/SCSDKCameraKit/Protocols/SCCameraKitPreferences.html b/docs/api/ios/1.34.0/SCSDKCameraKit/Protocols/SCCameraKitPreferences.html new file mode 100644 index 00000000..0a463e28 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/Protocols/SCCameraKitPreferences.html @@ -0,0 +1,455 @@ + + + + SCCameraKitPreferences Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 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.34.0/SCSDKCameraKit/Protocols/SCCameraKitProtocol.html b/docs/api/ios/1.34.0/SCSDKCameraKit/Protocols/SCCameraKitProtocol.html new file mode 100644 index 00000000..e0f5e38d --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/Protocols/SCCameraKitProtocol.html @@ -0,0 +1,1201 @@ + + + + SCCameraKitProtocol Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 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.34.0/SCSDKCameraKit/Protocols/SCCameraKitTextInputContextProvider.html b/docs/api/ios/1.34.0/SCSDKCameraKit/Protocols/SCCameraKitTextInputContextProvider.html new file mode 100644 index 00000000..32db03f0 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/Protocols/SCCameraKitTextInputContextProvider.html @@ -0,0 +1,488 @@ + + + + SCCameraKitTextInputContextProvider Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 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.34.0/SCSDKCameraKit/Protocols/SCCameraKitTextInputKeyboardAccessoryProvider.html b/docs/api/ios/1.34.0/SCSDKCameraKit/Protocols/SCCameraKitTextInputKeyboardAccessoryProvider.html new file mode 100644 index 00000000..a33b646c --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/Protocols/SCCameraKitTextInputKeyboardAccessoryProvider.html @@ -0,0 +1,550 @@ + + + + SCCameraKitTextInputKeyboardAccessoryProvider Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 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.34.0/SCSDKCameraKit/Protocols/SCCameraKitToneMapAdjustmentController.html b/docs/api/ios/1.34.0/SCSDKCameraKit/Protocols/SCCameraKitToneMapAdjustmentController.html new file mode 100644 index 00000000..dda9cfce --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/Protocols/SCCameraKitToneMapAdjustmentController.html @@ -0,0 +1,457 @@ + + + + SCCameraKitToneMapAdjustmentController Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 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.34.0/SCSDKCameraKit/Protocols/SCCameraKitUserDataProvider.html b/docs/api/ios/1.34.0/SCSDKCameraKit/Protocols/SCCameraKitUserDataProvider.html new file mode 100644 index 00000000..418e5dc4 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/Protocols/SCCameraKitUserDataProvider.html @@ -0,0 +1,486 @@ + + + + SCCameraKitUserDataProvider Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 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.34.0/SCSDKCameraKit/Protocols/SCCameraKitUserDataProviderDelegate.html b/docs/api/ios/1.34.0/SCSDKCameraKit/Protocols/SCCameraKitUserDataProviderDelegate.html new file mode 100644 index 00000000..e865b553 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/Protocols/SCCameraKitUserDataProviderDelegate.html @@ -0,0 +1,487 @@ + + + + SCCameraKitUserDataProviderDelegate Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 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.34.0/SCSDKCameraKit/Structs.html b/docs/api/ios/1.34.0/SCSDKCameraKit/Structs.html new file mode 100644 index 00000000..9a517e66 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/Structs.html @@ -0,0 +1,443 @@ + + + + Structures Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

Structures

+

The following structures are available globally.

+ +
+
+ +
+
+
+ +
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.34.0/SCSDKCameraKit/Structs/SCCameraKitLensMediaPickerAssetMetadata.html b/docs/api/ios/1.34.0/SCSDKCameraKit/Structs/SCCameraKitLensMediaPickerAssetMetadata.html new file mode 100644 index 00000000..a9dc94b0 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/Structs/SCCameraKitLensMediaPickerAssetMetadata.html @@ -0,0 +1,454 @@ + + + + SCCameraKitLensMediaPickerAssetMetadata Structure Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 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.34.0/SCSDKCameraKit/Type Definitions.html b/docs/api/ios/1.34.0/SCSDKCameraKit/Type Definitions.html new file mode 100644 index 00000000..9e50d18e --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/Type Definitions.html @@ -0,0 +1,439 @@ + + + + Type Definitions Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ + +
+ + + diff --git a/docs/api/ios/1.34.0/SCSDKCameraKit/Type Definitions/SCCameraKitLensMediaPickerAssetMetadata.html b/docs/api/ios/1.34.0/SCSDKCameraKit/Type Definitions/SCCameraKitLensMediaPickerAssetMetadata.html new file mode 100644 index 00000000..7499f25a --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/Type Definitions/SCCameraKitLensMediaPickerAssetMetadata.html @@ -0,0 +1,451 @@ + + + + SCCameraKitLensMediaPickerAssetMetadata Type Definition Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ + +
+ + + diff --git a/docs/api/ios/1.34.0/SCSDKCameraKit/Type Definitions/SCCameraKitLensMediaPickerAssetMetadata/SCCameraKitLensMediaPickerAssetMetadata.html b/docs/api/ios/1.34.0/SCSDKCameraKit/Type Definitions/SCCameraKitLensMediaPickerAssetMetadata/SCCameraKitLensMediaPickerAssetMetadata.html new file mode 100644 index 00000000..343a9229 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/Type Definitions/SCCameraKitLensMediaPickerAssetMetadata/SCCameraKitLensMediaPickerAssetMetadata.html @@ -0,0 +1,454 @@ + + + + SCCameraKitLensMediaPickerAssetMetadata Structure Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 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.34.0/SCSDKCameraKit/badge.svg b/docs/api/ios/1.34.0/SCSDKCameraKit/badge.svg new file mode 100644 index 00000000..be498fa5 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/badge.svg @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + documentation + + + documentation + + + 86% + + + 86% + + + diff --git a/docs/api/ios/1.34.0/SCSDKCameraKit/css/highlight.css b/docs/api/ios/1.34.0/SCSDKCameraKit/css/highlight.css new file mode 100644 index 00000000..c170357c --- /dev/null +++ b/docs/api/ios/1.34.0/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.34.0/SCSDKCameraKit/css/jazzy.css b/docs/api/ios/1.34.0/SCSDKCameraKit/css/jazzy.css new file mode 100644 index 00000000..c7bb9fe2 --- /dev/null +++ b/docs/api/ios/1.34.0/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.34.0/SCSDKCameraKit/docsets/.docset/Contents/Info.plist b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Info.plist new file mode 100644 index 00000000..61863ec4 --- /dev/null +++ b/docs/api/ios/1.34.0/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.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Classes.html b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Classes.html new file mode 100644 index 00000000..ed078ad1 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Classes.html @@ -0,0 +1,1021 @@ + + + + Classes Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 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.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Classes/SCCameraKitARSessionInput.html b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Classes/SCCameraKitARSessionInput.html new file mode 100644 index 00000000..5a2a6e5a --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Classes/SCCameraKitARSessionInput.html @@ -0,0 +1,592 @@ + + + + SCCameraKitARSessionInput Class Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 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.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Classes/SCCameraKitAVSessionInput.html b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Classes/SCCameraKitAVSessionInput.html new file mode 100644 index 00000000..2238787d --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Classes/SCCameraKitAVSessionInput.html @@ -0,0 +1,655 @@ + + + + SCCameraKitAVSessionInput Class Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 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.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Classes/SCCameraKitAVWriterOutput.html b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Classes/SCCameraKitAVWriterOutput.html new file mode 100644 index 00000000..e4917403 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Classes/SCCameraKitAVWriterOutput.html @@ -0,0 +1,679 @@ + + + + SCCameraKitAVWriterOutput Class Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 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.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Classes/SCCameraKitCacheConfig.html b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Classes/SCCameraKitCacheConfig.html new file mode 100644 index 00000000..6b6fd5cc --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Classes/SCCameraKitCacheConfig.html @@ -0,0 +1,512 @@ + + + + SCCameraKitCacheConfig Class Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 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.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Classes/SCCameraKitDataProviderComponent.html b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Classes/SCCameraKitDataProviderComponent.html new file mode 100644 index 00000000..55deeb75 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Classes/SCCameraKitDataProviderComponent.html @@ -0,0 +1,1082 @@ + + + + SCCameraKitDataProviderComponent Class Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 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.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Classes/SCCameraKitExplicitViewportProvider.html b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Classes/SCCameraKitExplicitViewportProvider.html new file mode 100644 index 00000000..1111c3ac --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Classes/SCCameraKitExplicitViewportProvider.html @@ -0,0 +1,696 @@ + + + + SCCameraKitExplicitViewportProvider Class Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 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.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Classes/SCCameraKitLensLaunchDataBuilder.html b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Classes/SCCameraKitLensLaunchDataBuilder.html new file mode 100644 index 00000000..253899dc --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Classes/SCCameraKitLensLaunchDataBuilder.html @@ -0,0 +1,760 @@ + + + + SCCameraKitLensLaunchDataBuilder Class Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 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.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Classes/SCCameraKitLensMediaPickerProviderPhotoLibrary.html b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Classes/SCCameraKitLensMediaPickerProviderPhotoLibrary.html new file mode 100644 index 00000000..ef340462 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Classes/SCCameraKitLensMediaPickerProviderPhotoLibrary.html @@ -0,0 +1,539 @@ + + + + SCCameraKitLensMediaPickerProviderPhotoLibrary Class Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 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.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Classes/SCCameraKitLensRemoteApiResponse.html b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Classes/SCCameraKitLensRemoteApiResponse.html new file mode 100644 index 00000000..161197b4 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Classes/SCCameraKitLensRemoteApiResponse.html @@ -0,0 +1,577 @@ + + + + SCCameraKitLensRemoteApiResponse Class Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 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.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Classes/SCCameraKitLensesConfig.html b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Classes/SCCameraKitLensesConfig.html new file mode 100644 index 00000000..2850e847 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Classes/SCCameraKitLensesConfig.html @@ -0,0 +1,507 @@ + + + + SCCameraKitLensesConfig Class Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 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.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Classes/SCCameraKitPhotoCaptureOutput.html b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Classes/SCCameraKitPhotoCaptureOutput.html new file mode 100644 index 00000000..96657a2b --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Classes/SCCameraKitPhotoCaptureOutput.html @@ -0,0 +1,686 @@ + + + + SCCameraKitPhotoCaptureOutput Class Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 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.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Classes/SCCameraKitPortraitAdjustment.html b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Classes/SCCameraKitPortraitAdjustment.html new file mode 100644 index 00000000..331cbaaf --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Classes/SCCameraKitPortraitAdjustment.html @@ -0,0 +1,450 @@ + + + + SCCameraKitPortraitAdjustment Class Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 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.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Classes/SCCameraKitPreviewView.html b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Classes/SCCameraKitPreviewView.html new file mode 100644 index 00000000..8536334b --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Classes/SCCameraKitPreviewView.html @@ -0,0 +1,654 @@ + + + + SCCameraKitPreviewView Class Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 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.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Classes/SCCameraKitSession.html b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Classes/SCCameraKitSession.html new file mode 100644 index 00000000..083f0ef8 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Classes/SCCameraKitSession.html @@ -0,0 +1,566 @@ + + + + SCCameraKitSession Class Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 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.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Classes/SCCameraKitSessionConfig.html b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Classes/SCCameraKitSessionConfig.html new file mode 100644 index 00000000..d3b35fde --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Classes/SCCameraKitSessionConfig.html @@ -0,0 +1,898 @@ + + + + SCCameraKitSessionConfig Class Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 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.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Classes/SCCameraKitToneMapAdjustment.html b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Classes/SCCameraKitToneMapAdjustment.html new file mode 100644 index 00000000..aa7e0c7f --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Classes/SCCameraKitToneMapAdjustment.html @@ -0,0 +1,450 @@ + + + + SCCameraKitToneMapAdjustment Class Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 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.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Classes/SCCameraKitUserData.html b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Classes/SCCameraKitUserData.html new file mode 100644 index 00000000..bc5207c7 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Classes/SCCameraKitUserData.html @@ -0,0 +1,613 @@ + + + + SCCameraKitUserData Class Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 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.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Constants.html b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Constants.html new file mode 100644 index 00000000..efd97abf --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Constants.html @@ -0,0 +1,959 @@ + + + + Constants Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 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.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Enums.html b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Enums.html new file mode 100644 index 00000000..a140427d --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Enums.html @@ -0,0 +1,698 @@ + + + + Enumerations Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 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.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Enums/SCCameraKitAdjustmentsComponentError.html b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Enums/SCCameraKitAdjustmentsComponentError.html new file mode 100644 index 00000000..3ba0d14c --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Enums/SCCameraKitAdjustmentsComponentError.html @@ -0,0 +1,459 @@ + + + + SCCameraKitAdjustmentsComponentError Enumeration Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 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.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Enums/SCCameraKitLensFacingPreference.html b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Enums/SCCameraKitLensFacingPreference.html new file mode 100644 index 00000000..230493a3 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Enums/SCCameraKitLensFacingPreference.html @@ -0,0 +1,518 @@ + + + + SCCameraKitLensFacingPreference Enumeration Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 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.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Enums/SCCameraKitLensFetchStatus.html b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Enums/SCCameraKitLensFetchStatus.html new file mode 100644 index 00000000..b922b46a --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Enums/SCCameraKitLensFetchStatus.html @@ -0,0 +1,521 @@ + + + + SCCameraKitLensFetchStatus Enumeration Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 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.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Enums/SCCameraKitLensMediaPickerAssetType.html b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Enums/SCCameraKitLensMediaPickerAssetType.html new file mode 100644 index 00000000..27266b4b --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Enums/SCCameraKitLensMediaPickerAssetType.html @@ -0,0 +1,489 @@ + + + + SCCameraKitLensMediaPickerAssetType Enumeration Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 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.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Enums/SCCameraKitLensMediaPickerProviderAllowedMediaType.html b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Enums/SCCameraKitLensMediaPickerProviderAllowedMediaType.html new file mode 100644 index 00000000..e0d91713 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Enums/SCCameraKitLensMediaPickerProviderAllowedMediaType.html @@ -0,0 +1,559 @@ + + + + SCCameraKitLensMediaPickerProviderAllowedMediaType Enumeration Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 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.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Enums/SCCameraKitLensRemoteApiResponseStatus.html b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Enums/SCCameraKitLensRemoteApiResponseStatus.html new file mode 100644 index 00000000..8a74e03a --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Enums/SCCameraKitLensRemoteApiResponseStatus.html @@ -0,0 +1,710 @@ + + + + SCCameraKitLensRemoteApiResponseStatus Enumeration Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 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.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Enums/SCCameraKitLensRemoteApiServiceCallStatus.html b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Enums/SCCameraKitLensRemoteApiServiceCallStatus.html new file mode 100644 index 00000000..4107fdff --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Enums/SCCameraKitLensRemoteApiServiceCallStatus.html @@ -0,0 +1,519 @@ + + + + SCCameraKitLensRemoteApiServiceCallStatus Enumeration Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 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.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Enums/SCCameraKitPreviewViewContentMode.html b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Enums/SCCameraKitPreviewViewContentMode.html new file mode 100644 index 00000000..484c9b6c --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Enums/SCCameraKitPreviewViewContentMode.html @@ -0,0 +1,502 @@ + + + + SCCameraKitPreviewViewContentMode Enumeration Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

SCCameraKitPreviewViewContentMode

+
+
+ +
NS_ENUM(NSInteger, SCCameraKitPreviewViewContentMode) {
+    SCCameraKitPreviewViewContentModeScaleToFill,
+    SCCameraKitPreviewViewContentModeAspectFill,
+    SCCameraKitPreviewViewContentModeAspectFit
+}
+ +
+
+

Undocumented

+ +
+
+ +
+
+
+ +
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Extensions.html b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Extensions.html new file mode 100644 index 00000000..ae0e529d --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Extensions.html @@ -0,0 +1,437 @@ + + + + Extensions Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 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.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Extensions/AdjustmentsProcessor.html b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Extensions/AdjustmentsProcessor.html new file mode 100644 index 00000000..dfc8f06b --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Extensions/AdjustmentsProcessor.html @@ -0,0 +1,466 @@ + + + + AdjustmentsProcessor Extension Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 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.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols.html b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols.html new file mode 100644 index 00000000..1851907e --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols.html @@ -0,0 +1,2323 @@ + + + + Protocols Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 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.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/Adjustment.html b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/Adjustment.html new file mode 100644 index 00000000..6708444d --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/Adjustment.html @@ -0,0 +1,443 @@ + + + + Adjustment Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 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.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitARInput.html b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitARInput.html new file mode 100644 index 00000000..88e20620 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitARInput.html @@ -0,0 +1,595 @@ + + + + SCCameraKitARInput Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 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.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitARInputDelegate.html b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitARInputDelegate.html new file mode 100644 index 00000000..6e2bc6af --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitARInputDelegate.html @@ -0,0 +1,616 @@ + + + + SCCameraKitARInputDelegate Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 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.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitAccessTokenProvider.html b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitAccessTokenProvider.html new file mode 100644 index 00000000..9333c05b --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitAccessTokenProvider.html @@ -0,0 +1,544 @@ + + + + SCCameraKitAccessTokenProvider Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 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.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitAccessTokenProviderTask.html b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitAccessTokenProviderTask.html new file mode 100644 index 00000000..3df37aa6 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitAccessTokenProviderTask.html @@ -0,0 +1,454 @@ + + + + SCCameraKitAccessTokenProviderTask Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 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.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitAdjustmentsComponent.html b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitAdjustmentsComponent.html new file mode 100644 index 00000000..9e60bbf7 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitAdjustmentsComponent.html @@ -0,0 +1,454 @@ + + + + SCCameraKitAdjustmentsComponent Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 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.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitAdjustmentsProcessor.html b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitAdjustmentsProcessor.html new file mode 100644 index 00000000..6034c22b --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitAdjustmentsProcessor.html @@ -0,0 +1,667 @@ + + + + SCCameraKitAdjustmentsProcessor Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 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.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitAdjustmentsProcessorObserver.html b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitAdjustmentsProcessorObserver.html new file mode 100644 index 00000000..c9b09745 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitAdjustmentsProcessorObserver.html @@ -0,0 +1,474 @@ + + + + SCCameraKitAdjustmentsProcessorObserver Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 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.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitAgreementSet.html b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitAgreementSet.html new file mode 100644 index 00000000..5de462bc --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitAgreementSet.html @@ -0,0 +1,519 @@ + + + + SCCameraKitAgreementSet Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 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.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitAgreementsPresentationContextProvider.html b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitAgreementsPresentationContextProvider.html new file mode 100644 index 00000000..0d53026e --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitAgreementsPresentationContextProvider.html @@ -0,0 +1,524 @@ + + + + SCCameraKitAgreementsPresentationContextProvider Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 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.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitAgreementsStore.html b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitAgreementsStore.html new file mode 100644 index 00000000..66339195 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitAgreementsStore.html @@ -0,0 +1,588 @@ + + + + SCCameraKitAgreementsStore Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 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.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitDeviceMotionDataProvider.html b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitDeviceMotionDataProvider.html new file mode 100644 index 00000000..b832657b --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitDeviceMotionDataProvider.html @@ -0,0 +1,538 @@ + + + + SCCameraKitDeviceMotionDataProvider Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 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.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitDeviceMotionParameters.html b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitDeviceMotionParameters.html new file mode 100644 index 00000000..9adea829 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitDeviceMotionParameters.html @@ -0,0 +1,454 @@ + + + + SCCameraKitDeviceMotionParameters Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 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.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitErrorHandler.html b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitErrorHandler.html new file mode 100644 index 00000000..0b8dd53f --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitErrorHandler.html @@ -0,0 +1,473 @@ + + + + SCCameraKitErrorHandler Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 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.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitInput.html b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitInput.html new file mode 100644 index 00000000..dbb951e0 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitInput.html @@ -0,0 +1,772 @@ + + + + SCCameraKitInput Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 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.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitInputDestination.html b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitInputDestination.html new file mode 100644 index 00000000..a4998a57 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitInputDestination.html @@ -0,0 +1,601 @@ + + + + SCCameraKitInputDestination Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 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.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLens.html b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLens.html new file mode 100644 index 00000000..67e5f587 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLens.html @@ -0,0 +1,678 @@ + + + + SCCameraKitLens Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 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.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensHintDelegate.html b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensHintDelegate.html new file mode 100644 index 00000000..dc7ef136 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensHintDelegate.html @@ -0,0 +1,576 @@ + + + + SCCameraKitLensHintDelegate Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 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.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensHintProvider.html b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensHintProvider.html new file mode 100644 index 00000000..7f8d8b30 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensHintProvider.html @@ -0,0 +1,486 @@ + + + + SCCameraKitLensHintProvider Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 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.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensMediaPickerAsset.html b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensMediaPickerAsset.html new file mode 100644 index 00000000..69b8d38f --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensMediaPickerAsset.html @@ -0,0 +1,550 @@ + + + + SCCameraKitLensMediaPickerAsset Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 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.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensMediaPickerProvider.html b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensMediaPickerProvider.html new file mode 100644 index 00000000..5ddcefc0 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensMediaPickerProvider.html @@ -0,0 +1,849 @@ + + + + SCCameraKitLensMediaPickerProvider Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 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.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensMediaPickerProviderMediaApplicationDelegate.html b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensMediaPickerProviderMediaApplicationDelegate.html new file mode 100644 index 00000000..89fcc95b --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensMediaPickerProviderMediaApplicationDelegate.html @@ -0,0 +1,523 @@ + + + + SCCameraKitLensMediaPickerProviderMediaApplicationDelegate Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 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.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensMediaPickerProviderUIDelegate.html b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensMediaPickerProviderUIDelegate.html new file mode 100644 index 00000000..9ee70084 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensMediaPickerProviderUIDelegate.html @@ -0,0 +1,526 @@ + + + + SCCameraKitLensMediaPickerProviderUIDelegate Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 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.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensPrefetcher.html b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensPrefetcher.html new file mode 100644 index 00000000..0394c11d --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensPrefetcher.html @@ -0,0 +1,619 @@ + + + + SCCameraKitLensPrefetcher Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 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.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensPrefetcherObserver.html b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensPrefetcherObserver.html new file mode 100644 index 00000000..986286ef --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensPrefetcherObserver.html @@ -0,0 +1,499 @@ + + + + SCCameraKitLensPrefetcherObserver Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 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.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensPrefetcherTask.html b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensPrefetcherTask.html new file mode 100644 index 00000000..e6bb773a --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensPrefetcherTask.html @@ -0,0 +1,454 @@ + + + + SCCameraKitLensPrefetcherTask Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 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.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensPreview.html b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensPreview.html new file mode 100644 index 00000000..1ca36f41 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensPreview.html @@ -0,0 +1,454 @@ + + + + SCCameraKitLensPreview Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 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.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensProcessor.html b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensProcessor.html new file mode 100644 index 00000000..8ddef690 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensProcessor.html @@ -0,0 +1,974 @@ + + + + SCCameraKitLensProcessor Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 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.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensProcessorObserver.html b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensProcessorObserver.html new file mode 100644 index 00000000..72d26af5 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensProcessorObserver.html @@ -0,0 +1,601 @@ + + + + SCCameraKitLensProcessorObserver Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 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.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensRemoteApiRequest.html b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensRemoteApiRequest.html new file mode 100644 index 00000000..67bfb3f5 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensRemoteApiRequest.html @@ -0,0 +1,582 @@ + + + + SCCameraKitLensRemoteApiRequest Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 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.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensRemoteApiResponse.html b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensRemoteApiResponse.html new file mode 100644 index 00000000..e97962e1 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensRemoteApiResponse.html @@ -0,0 +1,550 @@ + + + + SCCameraKitLensRemoteApiResponse Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 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.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensRemoteApiService.html b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensRemoteApiService.html new file mode 100644 index 00000000..a0a44d61 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensRemoteApiService.html @@ -0,0 +1,490 @@ + + + + SCCameraKitLensRemoteApiService Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 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.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensRemoteApiServiceCall.html b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensRemoteApiServiceCall.html new file mode 100644 index 00000000..3a0bb79d --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensRemoteApiServiceCall.html @@ -0,0 +1,487 @@ + + + + SCCameraKitLensRemoteApiServiceCall Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 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.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensRemoteApiServiceProvider.html b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensRemoteApiServiceProvider.html new file mode 100644 index 00000000..5dd38f1e --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensRemoteApiServiceProvider.html @@ -0,0 +1,507 @@ + + + + SCCameraKitLensRemoteApiServiceProvider Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 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.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensRepository.html b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensRepository.html new file mode 100644 index 00000000..7a9042e2 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensRepository.html @@ -0,0 +1,860 @@ + + + + SCCameraKitLensRepository Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 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.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensRepositoryGroupObserver.html b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensRepositoryGroupObserver.html new file mode 100644 index 00000000..6dba28d2 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensRepositoryGroupObserver.html @@ -0,0 +1,581 @@ + + + + SCCameraKitLensRepositoryGroupObserver Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 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.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensRepositorySpecificObserver.html b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensRepositorySpecificObserver.html new file mode 100644 index 00000000..a23d8a37 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensRepositorySpecificObserver.html @@ -0,0 +1,589 @@ + + + + SCCameraKitLensRepositorySpecificObserver Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 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.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensSnapcodes.html b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensSnapcodes.html new file mode 100644 index 00000000..6ca2ba1e --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensSnapcodes.html @@ -0,0 +1,486 @@ + + + + SCCameraKitLensSnapcodes Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 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.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensesComponent.html b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensesComponent.html new file mode 100644 index 00000000..98f429db --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLensesComponent.html @@ -0,0 +1,550 @@ + + + + SCCameraKitLensesComponent Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 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.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLocationDataProvider.html b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLocationDataProvider.html new file mode 100644 index 00000000..b6b003cb --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLocationDataProvider.html @@ -0,0 +1,544 @@ + + + + SCCameraKitLocationDataProvider Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 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.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLocationParameters.html b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLocationParameters.html new file mode 100644 index 00000000..08bc76b5 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitLocationParameters.html @@ -0,0 +1,518 @@ + + + + SCCameraKitLocationParameters Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 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.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitOutput.html b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitOutput.html new file mode 100644 index 00000000..39826703 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitOutput.html @@ -0,0 +1,645 @@ + + + + SCCameraKitOutput Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 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.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitPortraitAdjustmentController.html b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitPortraitAdjustmentController.html new file mode 100644 index 00000000..3ad4478c --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitPortraitAdjustmentController.html @@ -0,0 +1,456 @@ + + + + SCCameraKitPortraitAdjustmentController Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 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.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitPreferences.html b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitPreferences.html new file mode 100644 index 00000000..0a463e28 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitPreferences.html @@ -0,0 +1,455 @@ + + + + SCCameraKitPreferences Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 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.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitProtocol.html b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitProtocol.html new file mode 100644 index 00000000..e0f5e38d --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitProtocol.html @@ -0,0 +1,1201 @@ + + + + SCCameraKitProtocol Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 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.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitTextInputContextProvider.html b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitTextInputContextProvider.html new file mode 100644 index 00000000..32db03f0 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitTextInputContextProvider.html @@ -0,0 +1,488 @@ + + + + SCCameraKitTextInputContextProvider Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 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.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitTextInputKeyboardAccessoryProvider.html b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitTextInputKeyboardAccessoryProvider.html new file mode 100644 index 00000000..a33b646c --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitTextInputKeyboardAccessoryProvider.html @@ -0,0 +1,550 @@ + + + + SCCameraKitTextInputKeyboardAccessoryProvider Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 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.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitToneMapAdjustmentController.html b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitToneMapAdjustmentController.html new file mode 100644 index 00000000..dda9cfce --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitToneMapAdjustmentController.html @@ -0,0 +1,457 @@ + + + + SCCameraKitToneMapAdjustmentController Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 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.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitUserDataProvider.html b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitUserDataProvider.html new file mode 100644 index 00000000..418e5dc4 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitUserDataProvider.html @@ -0,0 +1,486 @@ + + + + SCCameraKitUserDataProvider Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 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.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitUserDataProviderDelegate.html b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitUserDataProviderDelegate.html new file mode 100644 index 00000000..e865b553 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Protocols/SCCameraKitUserDataProviderDelegate.html @@ -0,0 +1,487 @@ + + + + SCCameraKitUserDataProviderDelegate Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 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.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Structs.html b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Structs.html new file mode 100644 index 00000000..9a517e66 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Structs.html @@ -0,0 +1,443 @@ + + + + Structures Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

Structures

+

The following structures are available globally.

+ +
+
+ +
+
+
+ +
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Structs/SCCameraKitLensMediaPickerAssetMetadata.html b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Structs/SCCameraKitLensMediaPickerAssetMetadata.html new file mode 100644 index 00000000..a9dc94b0 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Structs/SCCameraKitLensMediaPickerAssetMetadata.html @@ -0,0 +1,454 @@ + + + + SCCameraKitLensMediaPickerAssetMetadata Structure Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 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.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Type Definitions.html b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Type Definitions.html new file mode 100644 index 00000000..9e50d18e --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Type Definitions.html @@ -0,0 +1,439 @@ + + + + Type Definitions Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ + +
+ + + diff --git a/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Type Definitions/SCCameraKitLensMediaPickerAssetMetadata.html b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Type Definitions/SCCameraKitLensMediaPickerAssetMetadata.html new file mode 100644 index 00000000..7499f25a --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Type Definitions/SCCameraKitLensMediaPickerAssetMetadata.html @@ -0,0 +1,451 @@ + + + + SCCameraKitLensMediaPickerAssetMetadata Type Definition Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 Docs + + (86% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ + +
+ + + diff --git a/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Type Definitions/SCCameraKitLensMediaPickerAssetMetadata/SCCameraKitLensMediaPickerAssetMetadata.html b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Type Definitions/SCCameraKitLensMediaPickerAssetMetadata/SCCameraKitLensMediaPickerAssetMetadata.html new file mode 100644 index 00000000..343a9229 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/Type Definitions/SCCameraKitLensMediaPickerAssetMetadata/SCCameraKitLensMediaPickerAssetMetadata.html @@ -0,0 +1,454 @@ + + + + SCCameraKitLensMediaPickerAssetMetadata Structure Reference + + + + + + + + + + + + + + + + +
+

+ + 1.34.0 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.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/css/highlight.css b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/css/highlight.css new file mode 100644 index 00000000..c170357c --- /dev/null +++ b/docs/api/ios/1.34.0/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.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/css/jazzy.css b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/css/jazzy.css new file mode 100644 index 00000000..c7bb9fe2 --- /dev/null +++ b/docs/api/ios/1.34.0/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.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/img/carat.png b/docs/api/ios/1.34.0/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.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/img/dash.png b/docs/api/ios/1.34.0/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.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/index.html b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/index.html new file mode 100644 index 00000000..09908c62 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/index.html @@ -0,0 +1,498 @@ + + + + Reference + + + + + + + + + + + + + + + +
+

+ + 1.34.0 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.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/js/jazzy.js b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/js/jazzy.js new file mode 100755 index 00000000..19844166 --- /dev/null +++ b/docs/api/ios/1.34.0/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.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/js/jazzy.search.js b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/js/jazzy.search.js new file mode 100644 index 00000000..359cdbb8 --- /dev/null +++ b/docs/api/ios/1.34.0/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.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/js/jquery.min.js b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/js/jquery.min.js new file mode 100644 index 00000000..c4c6022f --- /dev/null +++ b/docs/api/ios/1.34.0/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.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/js/typeahead.jquery.js b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/js/typeahead.jquery.js new file mode 100644 index 00000000..3a2d2ab0 --- /dev/null +++ b/docs/api/ios/1.34.0/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.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/search.json b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/Documents/search.json new file mode 100644 index 00000000..2feb027c --- /dev/null +++ b/docs/api/ios/1.34.0/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.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/docSet.dsidx b/docs/api/ios/1.34.0/SCSDKCameraKit/docsets/.docset/Contents/Resources/docSet.dsidx new file mode 100644 index 0000000000000000000000000000000000000000..ba158e52bdca822d35e7dcf5b2a0cb4fabe92cbd GIT binary patch literal 126976 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%0A) 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 Yb#cfk<1}Yw?*$S&pfd@ghzsK100L96;Q#;t literal 0 HcmV?d00001 diff --git a/docs/api/ios/1.34.0/SCSDKCameraKit/img/carat.png b/docs/api/ios/1.34.0/SCSDKCameraKit/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.34.0/SCSDKCameraKit/img/dash.png b/docs/api/ios/1.34.0/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.34.0/SCSDKCameraKit/index.html b/docs/api/ios/1.34.0/SCSDKCameraKit/index.html new file mode 100644 index 00000000..09908c62 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKit/index.html @@ -0,0 +1,498 @@ + + + + Reference + + + + + + + + + + + + + + + +

+

+ + 1.34.0 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.34.0/SCSDKCameraKit/js/jazzy.js b/docs/api/ios/1.34.0/SCSDKCameraKit/js/jazzy.js new file mode 100755 index 00000000..19844166 --- /dev/null +++ b/docs/api/ios/1.34.0/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.34.0/SCSDKCameraKit/js/jazzy.search.js b/docs/api/ios/1.34.0/SCSDKCameraKit/js/jazzy.search.js new file mode 100644 index 00000000..359cdbb8 --- /dev/null +++ b/docs/api/ios/1.34.0/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.34.0/SCSDKCameraKit/js/jquery.min.js b/docs/api/ios/1.34.0/SCSDKCameraKit/js/jquery.min.js new file mode 100644 index 00000000..c4c6022f --- /dev/null +++ b/docs/api/ios/1.34.0/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.34.0/SCSDKCameraKit/js/typeahead.jquery.js b/docs/api/ios/1.34.0/SCSDKCameraKit/js/typeahead.jquery.js new file mode 100644 index 00000000..3a2d2ab0 --- /dev/null +++ b/docs/api/ios/1.34.0/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.34.0/SCSDKCameraKit/search.json b/docs/api/ios/1.34.0/SCSDKCameraKit/search.json new file mode 100644 index 00000000..2feb027c --- /dev/null +++ b/docs/api/ios/1.34.0/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.34.0/SCSDKCameraKit/undocumented.json b/docs/api/ios/1.34.0/SCSDKCameraKit/undocumented.json new file mode 100644 index 00000000..05bcc0e1 --- /dev/null +++ b/docs/api/ios/1.34.0/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.34.0/SCSDKCameraKitReferenceSwiftUI/Classes.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceSwiftUI/Classes.html new file mode 100644 index 00000000..3f1e925a --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceSwiftUI/Classes.html @@ -0,0 +1,144 @@ + + + + Classes Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceSwiftUI 1.34.0 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.34.0/SCSDKCameraKitReferenceSwiftUI/Classes/CameraViewState.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceSwiftUI/Classes/CameraViewState.html new file mode 100644 index 00000000..e0561d80 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceSwiftUI/Classes/CameraViewState.html @@ -0,0 +1,411 @@ + + + + CameraViewState Class Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceSwiftUI 1.34.0 Docs + + (74% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

CameraViewState

+
+
+ +
public class CameraViewState : NSObject, ObservableObject
+
extension CameraViewState: CameraControllerUIDelegate
+ +
+
+

Undocumented

+ +
+
+ +
+
+
+ +
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.34.0/SCSDKCameraKitReferenceSwiftUI/Structs.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceSwiftUI/Structs.html new file mode 100644 index 00000000..d9dfb569 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceSwiftUI/Structs.html @@ -0,0 +1,311 @@ + + + + Structures Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceSwiftUI 1.34.0 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.34.0/SCSDKCameraKitReferenceSwiftUI/Structs/CameraButton.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceSwiftUI/Structs/CameraButton.html new file mode 100644 index 00000000..f7a253c7 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceSwiftUI/Structs/CameraButton.html @@ -0,0 +1,227 @@ + + + + CameraButton Structure Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceSwiftUI 1.34.0 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.34.0/SCSDKCameraKitReferenceSwiftUI/Structs/CameraButton/Coordinator.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceSwiftUI/Structs/CameraButton/Coordinator.html new file mode 100644 index 00000000..7321c2ca --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceSwiftUI/Structs/CameraButton/Coordinator.html @@ -0,0 +1,225 @@ + + + + Coordinator Class Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceSwiftUI 1.34.0 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.34.0/SCSDKCameraKitReferenceSwiftUI/Structs/CameraView.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceSwiftUI/Structs/CameraView.html new file mode 100644 index 00000000..1052ccfe --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceSwiftUI/Structs/CameraView.html @@ -0,0 +1,175 @@ + + + + CameraView Structure Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceSwiftUI 1.34.0 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.34.0/SCSDKCameraKitReferenceSwiftUI/Structs/CarouselView.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceSwiftUI/Structs/CarouselView.html new file mode 100644 index 00000000..a3a12e73 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceSwiftUI/Structs/CarouselView.html @@ -0,0 +1,227 @@ + + + + CarouselView Structure Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceSwiftUI 1.34.0 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.34.0/SCSDKCameraKitReferenceSwiftUI/Structs/CarouselView/Coordinator.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceSwiftUI/Structs/CarouselView/Coordinator.html new file mode 100644 index 00000000..b6c0418a --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceSwiftUI/Structs/CarouselView/Coordinator.html @@ -0,0 +1,224 @@ + + + + Coordinator Class Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceSwiftUI 1.34.0 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.34.0/SCSDKCameraKitReferenceSwiftUI/Structs/ImagePreviewView.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceSwiftUI/Structs/ImagePreviewView.html new file mode 100644 index 00000000..86c6cb89 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceSwiftUI/Structs/ImagePreviewView.html @@ -0,0 +1,232 @@ + + + + ImagePreviewView Structure Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceSwiftUI 1.34.0 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.34.0/SCSDKCameraKitReferenceSwiftUI/Structs/MediaPickerView.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceSwiftUI/Structs/MediaPickerView.html new file mode 100644 index 00000000..b4ff0079 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceSwiftUI/Structs/MediaPickerView.html @@ -0,0 +1,194 @@ + + + + MediaPickerView Structure Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceSwiftUI 1.34.0 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.34.0/SCSDKCameraKitReferenceSwiftUI/Structs/PreviewView.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceSwiftUI/Structs/PreviewView.html new file mode 100644 index 00000000..120864aa --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceSwiftUI/Structs/PreviewView.html @@ -0,0 +1,232 @@ + + + + PreviewView Structure Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceSwiftUI 1.34.0 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.34.0/SCSDKCameraKitReferenceSwiftUI/Structs/VideoPreviewView.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceSwiftUI/Structs/VideoPreviewView.html new file mode 100644 index 00000000..7864b921 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceSwiftUI/Structs/VideoPreviewView.html @@ -0,0 +1,232 @@ + + + + VideoPreviewView Structure Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceSwiftUI 1.34.0 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.34.0/SCSDKCameraKitReferenceSwiftUI/badge.svg b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceSwiftUI/badge.svg new file mode 100644 index 00000000..8f2e1c0c --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceSwiftUI/badge.svg @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + documentation + + + documentation + + + 74% + + + 74% + + + diff --git a/docs/api/ios/1.34.0/SCSDKCameraKitReferenceSwiftUI/css/highlight.css b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceSwiftUI/css/highlight.css new file mode 100644 index 00000000..c170357c --- /dev/null +++ b/docs/api/ios/1.34.0/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.34.0/SCSDKCameraKitReferenceSwiftUI/css/jazzy.css b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceSwiftUI/css/jazzy.css new file mode 100644 index 00000000..c7bb9fe2 --- /dev/null +++ b/docs/api/ios/1.34.0/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.34.0/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Info.plist b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Info.plist new file mode 100644 index 00000000..20c7ba97 --- /dev/null +++ b/docs/api/ios/1.34.0/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.34.0/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/Documents/Classes.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/Documents/Classes.html new file mode 100644 index 00000000..3f1e925a --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/Documents/Classes.html @@ -0,0 +1,144 @@ + + + + Classes Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceSwiftUI 1.34.0 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.34.0/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/Documents/Classes/CameraViewState.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/Documents/Classes/CameraViewState.html new file mode 100644 index 00000000..e0561d80 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/Documents/Classes/CameraViewState.html @@ -0,0 +1,411 @@ + + + + CameraViewState Class Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceSwiftUI 1.34.0 Docs + + (74% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

CameraViewState

+
+
+ +
public class CameraViewState : NSObject, ObservableObject
+
extension CameraViewState: CameraControllerUIDelegate
+ +
+
+

Undocumented

+ +
+
+ +
+
+
+ +
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.34.0/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/Documents/Structs.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/Documents/Structs.html new file mode 100644 index 00000000..d9dfb569 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/Documents/Structs.html @@ -0,0 +1,311 @@ + + + + Structures Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceSwiftUI 1.34.0 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.34.0/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/Documents/Structs/CameraButton.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/Documents/Structs/CameraButton.html new file mode 100644 index 00000000..f7a253c7 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/Documents/Structs/CameraButton.html @@ -0,0 +1,227 @@ + + + + CameraButton Structure Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceSwiftUI 1.34.0 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.34.0/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/Documents/Structs/CameraButton/Coordinator.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/Documents/Structs/CameraButton/Coordinator.html new file mode 100644 index 00000000..7321c2ca --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/Documents/Structs/CameraButton/Coordinator.html @@ -0,0 +1,225 @@ + + + + Coordinator Class Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceSwiftUI 1.34.0 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.34.0/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/Documents/Structs/CameraView.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/Documents/Structs/CameraView.html new file mode 100644 index 00000000..1052ccfe --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/Documents/Structs/CameraView.html @@ -0,0 +1,175 @@ + + + + CameraView Structure Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceSwiftUI 1.34.0 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.34.0/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/Documents/Structs/CarouselView.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/Documents/Structs/CarouselView.html new file mode 100644 index 00000000..a3a12e73 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/Documents/Structs/CarouselView.html @@ -0,0 +1,227 @@ + + + + CarouselView Structure Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceSwiftUI 1.34.0 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.34.0/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/Documents/Structs/CarouselView/Coordinator.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/Documents/Structs/CarouselView/Coordinator.html new file mode 100644 index 00000000..b6c0418a --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/Documents/Structs/CarouselView/Coordinator.html @@ -0,0 +1,224 @@ + + + + Coordinator Class Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceSwiftUI 1.34.0 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.34.0/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/Documents/Structs/ImagePreviewView.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/Documents/Structs/ImagePreviewView.html new file mode 100644 index 00000000..86c6cb89 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/Documents/Structs/ImagePreviewView.html @@ -0,0 +1,232 @@ + + + + ImagePreviewView Structure Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceSwiftUI 1.34.0 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.34.0/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/Documents/Structs/MediaPickerView.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/Documents/Structs/MediaPickerView.html new file mode 100644 index 00000000..b4ff0079 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/Documents/Structs/MediaPickerView.html @@ -0,0 +1,194 @@ + + + + MediaPickerView Structure Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceSwiftUI 1.34.0 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.34.0/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/Documents/Structs/PreviewView.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/Documents/Structs/PreviewView.html new file mode 100644 index 00000000..120864aa --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/Documents/Structs/PreviewView.html @@ -0,0 +1,232 @@ + + + + PreviewView Structure Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceSwiftUI 1.34.0 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.34.0/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/Documents/Structs/VideoPreviewView.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/Documents/Structs/VideoPreviewView.html new file mode 100644 index 00000000..7864b921 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/Documents/Structs/VideoPreviewView.html @@ -0,0 +1,232 @@ + + + + VideoPreviewView Structure Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceSwiftUI 1.34.0 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.34.0/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/Documents/css/highlight.css b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/Documents/css/highlight.css new file mode 100644 index 00000000..c170357c --- /dev/null +++ b/docs/api/ios/1.34.0/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.34.0/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/Documents/css/jazzy.css b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/Documents/css/jazzy.css new file mode 100644 index 00000000..c7bb9fe2 --- /dev/null +++ b/docs/api/ios/1.34.0/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.34.0/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/Documents/img/carat.png b/docs/api/ios/1.34.0/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.34.0/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/Documents/img/dash.png b/docs/api/ios/1.34.0/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.34.0/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/Documents/index.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/Documents/index.html new file mode 100644 index 00000000..e90d13c8 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/Documents/index.html @@ -0,0 +1,145 @@ + + + + SCSDKCameraKitReferenceSwiftUI Reference + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceSwiftUI 1.34.0 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 = ["REPLACE-THIS-WITH-YOUR-OWN-APP-SPECIFIC-VALUE"]
+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.34.0/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/Documents/js/jazzy.js b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/Documents/js/jazzy.js new file mode 100755 index 00000000..19844166 --- /dev/null +++ b/docs/api/ios/1.34.0/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.34.0/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/Documents/js/jazzy.search.js b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/Documents/js/jazzy.search.js new file mode 100644 index 00000000..359cdbb8 --- /dev/null +++ b/docs/api/ios/1.34.0/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.34.0/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/Documents/js/jquery.min.js b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/Documents/js/jquery.min.js new file mode 100644 index 00000000..c4c6022f --- /dev/null +++ b/docs/api/ios/1.34.0/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.34.0/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/Documents/js/typeahead.jquery.js b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/Documents/js/typeahead.jquery.js new file mode 100644 index 00000000..3a2d2ab0 --- /dev/null +++ b/docs/api/ios/1.34.0/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.34.0/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/Documents/search.json b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/Documents/search.json new file mode 100644 index 00000000..43208962 --- /dev/null +++ b/docs/api/ios/1.34.0/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.34.0/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.docset/Contents/Resources/docSet.dsidx b/docs/api/ios/1.34.0/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.34.0/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.tgz b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceSwiftUI/docsets/SCSDKCameraKitReferenceSwiftUI.tgz new file mode 100644 index 0000000000000000000000000000000000000000..26a00dac92e65d49327c81e3780173baef90b354 GIT binary patch literal 75928 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

D2V$Jr<&NQB%(LHop&f=RP0N`i_Qu=~$b} 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⋘M_tMV4_8sXbXkeo~qeip5rukT{X{n8OU5W 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 S*PlPY=l=((9|m&(a0UQ@W~f#G literal 0 HcmV?d00001 diff --git a/docs/api/ios/1.34.0/SCSDKCameraKitReferenceSwiftUI/img/carat.png b/docs/api/ios/1.34.0/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.34.0/SCSDKCameraKitReferenceSwiftUI/img/dash.png b/docs/api/ios/1.34.0/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.34.0/SCSDKCameraKitReferenceSwiftUI/index.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceSwiftUI/index.html new file mode 100644 index 00000000..e90d13c8 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceSwiftUI/index.html @@ -0,0 +1,145 @@ + + + + SCSDKCameraKitReferenceSwiftUI Reference + + + + + + + + + + + + + + + +

+

+ + SCSDKCameraKitReferenceSwiftUI 1.34.0 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 = ["REPLACE-THIS-WITH-YOUR-OWN-APP-SPECIFIC-VALUE"]
+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.34.0/SCSDKCameraKitReferenceSwiftUI/js/jazzy.js b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceSwiftUI/js/jazzy.js new file mode 100755 index 00000000..19844166 --- /dev/null +++ b/docs/api/ios/1.34.0/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.34.0/SCSDKCameraKitReferenceSwiftUI/js/jazzy.search.js b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceSwiftUI/js/jazzy.search.js new file mode 100644 index 00000000..359cdbb8 --- /dev/null +++ b/docs/api/ios/1.34.0/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.34.0/SCSDKCameraKitReferenceSwiftUI/js/jquery.min.js b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceSwiftUI/js/jquery.min.js new file mode 100644 index 00000000..c4c6022f --- /dev/null +++ b/docs/api/ios/1.34.0/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.34.0/SCSDKCameraKitReferenceSwiftUI/js/typeahead.jquery.js b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceSwiftUI/js/typeahead.jquery.js new file mode 100644 index 00000000..3a2d2ab0 --- /dev/null +++ b/docs/api/ios/1.34.0/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.34.0/SCSDKCameraKitReferenceSwiftUI/search.json b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceSwiftUI/search.json new file mode 100644 index 00000000..43208962 --- /dev/null +++ b/docs/api/ios/1.34.0/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.34.0/SCSDKCameraKitReferenceSwiftUI/undocumented.json b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceSwiftUI/undocumented.json new file mode 100644 index 00000000..e128f7c1 --- /dev/null +++ b/docs/api/ios/1.34.0/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.34.0/SCSDKCameraKitReferenceUI/Classes.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Classes.html new file mode 100644 index 00000000..64549d2b --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Classes.html @@ -0,0 +1,1230 @@ + + + + Classes Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.34.0 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.34.0/SCSDKCameraKitReferenceUI/Classes/AdjustmentControlView.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Classes/AdjustmentControlView.html new file mode 100644 index 00000000..7a8a4cac --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Classes/AdjustmentControlView.html @@ -0,0 +1,598 @@ + + + + AdjustmentControlView Class Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.34.0 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.34.0/SCSDKCameraKitReferenceUI/Classes/AdjustmentControlView/Variant.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Classes/AdjustmentControlView/Variant.html new file mode 100644 index 00000000..4858d676 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Classes/AdjustmentControlView/Variant.html @@ -0,0 +1,396 @@ + + + + Variant Enumeration Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.34.0 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.34.0/SCSDKCameraKitReferenceUI/Classes/BundleHelper.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Classes/BundleHelper.html new file mode 100644 index 00000000..3ec06e04 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Classes/BundleHelper.html @@ -0,0 +1,342 @@ + + + + BundleHelper Class Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.34.0 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.34.0/SCSDKCameraKitReferenceUI/Classes/CameraActionsView.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Classes/CameraActionsView.html new file mode 100644 index 00000000..5ade7448 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Classes/CameraActionsView.html @@ -0,0 +1,673 @@ + + + + CameraActionsView Class Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.34.0 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.34.0/SCSDKCameraKitReferenceUI/Classes/CameraBottomBar.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Classes/CameraBottomBar.html new file mode 100644 index 00000000..5fef4713 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Classes/CameraBottomBar.html @@ -0,0 +1,369 @@ + + + + CameraBottomBar Class Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.34.0 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.34.0/SCSDKCameraKitReferenceUI/Classes/CameraButton.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Classes/CameraButton.html new file mode 100644 index 00000000..3285a8b0 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Classes/CameraButton.html @@ -0,0 +1,924 @@ + + + + CameraButton Class Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.34.0 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.34.0/SCSDKCameraKitReferenceUI/Classes/CameraConfigurableActionView.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Classes/CameraConfigurableActionView.html new file mode 100644 index 00000000..f393f488 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Classes/CameraConfigurableActionView.html @@ -0,0 +1,756 @@ + + + + CameraConfigurableActionView Class Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.34.0 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.34.0/SCSDKCameraKitReferenceUI/Classes/CameraController.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Classes/CameraController.html new file mode 100644 index 00000000..7abf5d2d --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Classes/CameraController.html @@ -0,0 +1,2095 @@ + + + + CameraController Class Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.34.0 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.34.0/SCSDKCameraKitReferenceUI/Classes/CameraController/FlashMode.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Classes/CameraController/FlashMode.html new file mode 100644 index 00000000..2e3afa0e --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Classes/CameraController/FlashMode.html @@ -0,0 +1,368 @@ + + + + FlashMode Enumeration Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.34.0 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.34.0/SCSDKCameraKitReferenceUI/Classes/CameraController/FlashState.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Classes/CameraController/FlashState.html new file mode 100644 index 00000000..e6900bb6 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Classes/CameraController/FlashState.html @@ -0,0 +1,422 @@ + + + + FlashState Enumeration Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.34.0 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.34.0/SCSDKCameraKitReferenceUI/Classes/CameraController/PointOfInterestOptions.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Classes/CameraController/PointOfInterestOptions.html new file mode 100644 index 00000000..4d658ef5 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Classes/CameraController/PointOfInterestOptions.html @@ -0,0 +1,420 @@ + + + + PointOfInterestOptions Structure Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.34.0 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.34.0/SCSDKCameraKitReferenceUI/Classes/CameraView.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Classes/CameraView.html new file mode 100644 index 00000000..cb448ea9 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Classes/CameraView.html @@ -0,0 +1,1054 @@ + + + + CameraView Class Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.34.0 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.34.0/SCSDKCameraKitReferenceUI/Classes/CameraViewController.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Classes/CameraViewController.html new file mode 100644 index 00000000..f6f7aee2 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Classes/CameraViewController.html @@ -0,0 +1,1578 @@ + + + + CameraViewController Class Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.34.0 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.34.0/SCSDKCameraKitReferenceUI/Classes/CarouselCollectionViewCell.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Classes/CarouselCollectionViewCell.html new file mode 100644 index 00000000..a1f1409d --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Classes/CarouselCollectionViewCell.html @@ -0,0 +1,449 @@ + + + + CarouselCollectionViewCell Class Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.34.0 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.34.0/SCSDKCameraKitReferenceUI/Classes/CarouselCollectionViewLayout.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Classes/CarouselCollectionViewLayout.html new file mode 100644 index 00000000..72b80102 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Classes/CarouselCollectionViewLayout.html @@ -0,0 +1,455 @@ + + + + CarouselCollectionViewLayout Class Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.34.0 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.34.0/SCSDKCameraKitReferenceUI/Classes/CarouselItem.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Classes/CarouselItem.html new file mode 100644 index 00000000..27b3f708 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Classes/CarouselItem.html @@ -0,0 +1,557 @@ + + + + CarouselItem Class Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.34.0 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.34.0/SCSDKCameraKitReferenceUI/Classes/CarouselView.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Classes/CarouselView.html new file mode 100644 index 00000000..29f04dfa --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Classes/CarouselView.html @@ -0,0 +1,867 @@ + + + + CarouselView Class Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.34.0 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.34.0/SCSDKCameraKitReferenceUI/Classes/ControlSlider.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Classes/ControlSlider.html new file mode 100644 index 00000000..02814754 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Classes/ControlSlider.html @@ -0,0 +1,482 @@ + + + + ControlSlider Class Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.34.0 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.34.0/SCSDKCameraKitReferenceUI/Classes/DefaultCarouselImageLoader.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Classes/DefaultCarouselImageLoader.html new file mode 100644 index 00000000..25429355 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Classes/DefaultCarouselImageLoader.html @@ -0,0 +1,528 @@ + + + + DefaultCarouselImageLoader Class Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.34.0 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)
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Load image from url (callback queue will be on main)

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func loadImage(url: URL, completion: ((UIImage?, Error?) -> Void)?)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + +
    + + url + + +
    +

    image url

    +
    +
    + + completion + + +
    +

    callback with image on success or error on failure

    +
    +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Load image from url

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func loadImage(
    +    url: URL, 
    +    cachePolicy: URLRequest.CachePolicy = .useProtocolCachePolicy,
    +    queue: DispatchQueue,
    +    completion: ((UIImage?, Error?) -> Void)?
    +)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + + + + + +
    + + url + + +
    +

    image url

    +
    +
    + + queue + + +
    +

    queue to call completion on

    +
    +
    + + completion + + +
    +

    callback with image on success or error on failure

    +
    +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func cancelImageLoad(from url: URL)
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Classes/EmptyItem.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Classes/EmptyItem.html new file mode 100644 index 00000000..0a3fe2cc --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Classes/EmptyItem.html @@ -0,0 +1,341 @@ + + + + EmptyItem Class Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.34.0 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.34.0/SCSDKCameraKitReferenceUI/Classes/FlashControlView.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Classes/FlashControlView.html new file mode 100644 index 00000000..846f7267 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Classes/FlashControlView.html @@ -0,0 +1,649 @@ + + + + FlashControlView Class Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.34.0 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.34.0/SCSDKCameraKitReferenceUI/Classes/FlashModeSelectionView.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Classes/FlashModeSelectionView.html new file mode 100644 index 00000000..29b00963 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Classes/FlashModeSelectionView.html @@ -0,0 +1,408 @@ + + + + FlashModeSelectionView Class Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.34.0 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.34.0/SCSDKCameraKitReferenceUI/Classes/ImagePreviewViewController.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Classes/ImagePreviewViewController.html new file mode 100644 index 00000000..35eb0f00 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Classes/ImagePreviewViewController.html @@ -0,0 +1,530 @@ + + + + ImagePreviewViewController Class Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.34.0 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.34.0/SCSDKCameraKitReferenceUI/Classes/KeyboardAccessoryViewProvider.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Classes/KeyboardAccessoryViewProvider.html new file mode 100644 index 00000000..b502f433 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Classes/KeyboardAccessoryViewProvider.html @@ -0,0 +1,423 @@ + + + + KeyboardAccessoryViewProvider Class Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.34.0 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.34.0/SCSDKCameraKitReferenceUI/Classes/MediaPickerView.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Classes/MediaPickerView.html new file mode 100644 index 00000000..80e6101d --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Classes/MediaPickerView.html @@ -0,0 +1,545 @@ + + + + MediaPickerView Class Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.34.0 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.34.0/SCSDKCameraKitReferenceUI/Classes/MessageNotificationView.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Classes/MessageNotificationView.html new file mode 100644 index 00000000..e7870ea1 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Classes/MessageNotificationView.html @@ -0,0 +1,368 @@ + + + + MessageNotificationView Class Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.34.0 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.34.0/SCSDKCameraKitReferenceUI/Classes/PreviewViewController.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Classes/PreviewViewController.html new file mode 100644 index 00000000..123c3c9c --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Classes/PreviewViewController.html @@ -0,0 +1,514 @@ + + + + PreviewViewController Class Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.34.0 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.34.0/SCSDKCameraKitReferenceUI/Classes/Recorder.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Classes/Recorder.html new file mode 100644 index 00000000..0c07ee21 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Classes/Recorder.html @@ -0,0 +1,470 @@ + + + + Recorder Class Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.34.0 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.34.0/SCSDKCameraKitReferenceUI/Classes/RingLightColorSelectionView.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Classes/RingLightColorSelectionView.html new file mode 100644 index 00000000..6c7fb8ed --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Classes/RingLightColorSelectionView.html @@ -0,0 +1,644 @@ + + + + RingLightColorSelectionView Class Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.34.0 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.34.0/SCSDKCameraKitReferenceUI/Classes/RingLightColorSelectionViewCell.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Classes/RingLightColorSelectionViewCell.html new file mode 100644 index 00000000..017913ac --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Classes/RingLightColorSelectionViewCell.html @@ -0,0 +1,508 @@ + + + + RingLightColorSelectionViewCell Class Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.34.0 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.34.0/SCSDKCameraKitReferenceUI/Classes/RingLightGradientView.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Classes/RingLightGradientView.html new file mode 100644 index 00000000..955580de --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Classes/RingLightGradientView.html @@ -0,0 +1,494 @@ + + + + RingLightGradientView Class Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.34.0 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.34.0/SCSDKCameraKitReferenceUI/Classes/RingLightView.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Classes/RingLightView.html new file mode 100644 index 00000000..9bf59d28 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Classes/RingLightView.html @@ -0,0 +1,541 @@ + + + + RingLightView Class Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.34.0 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.34.0/SCSDKCameraKitReferenceUI/Classes/SnapAttributionView.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Classes/SnapAttributionView.html new file mode 100644 index 00000000..334926fa --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Classes/SnapAttributionView.html @@ -0,0 +1,368 @@ + + + + SnapAttributionView Class Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.34.0 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.34.0/SCSDKCameraKitReferenceUI/Classes/TapAnimationView.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Classes/TapAnimationView.html new file mode 100644 index 00000000..9e22c6f6 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Classes/TapAnimationView.html @@ -0,0 +1,368 @@ + + + + TapAnimationView Class Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.34.0 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.34.0/SCSDKCameraKitReferenceUI/Classes/UserDataProvider.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Classes/UserDataProvider.html new file mode 100644 index 00000000..868b7e3a --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Classes/UserDataProvider.html @@ -0,0 +1,368 @@ + + + + UserDataProvider Class Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.34.0 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.34.0/SCSDKCameraKitReferenceUI/Classes/VideoPreviewViewController.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Classes/VideoPreviewViewController.html new file mode 100644 index 00000000..6659df40 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Classes/VideoPreviewViewController.html @@ -0,0 +1,530 @@ + + + + VideoPreviewViewController Class Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.34.0 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.34.0/SCSDKCameraKitReferenceUI/Enums.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Enums.html new file mode 100644 index 00000000..9af734bd --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Enums.html @@ -0,0 +1,622 @@ + + + + Enumerations Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.34.0 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.34.0/SCSDKCameraKitReferenceUI/Enums/CameraBottomBarElements.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Enums/CameraBottomBarElements.html new file mode 100644 index 00000000..75da90d1 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Enums/CameraBottomBarElements.html @@ -0,0 +1,341 @@ + + + + CameraBottomBarElements Enumeration Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.34.0 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.34.0/SCSDKCameraKitReferenceUI/Enums/CameraElements.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Enums/CameraElements.html new file mode 100644 index 00000000..ade726ce --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Enums/CameraElements.html @@ -0,0 +1,814 @@ + + + + CameraElements Enumeration Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.34.0 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.34.0/SCSDKCameraKitReferenceUI/Enums/CameraElements/CameraFlip.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Enums/CameraElements/CameraFlip.html new file mode 100644 index 00000000..29c70f14 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Enums/CameraElements/CameraFlip.html @@ -0,0 +1,368 @@ + + + + CameraFlip Enumeration Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.34.0 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.34.0/SCSDKCameraKitReferenceUI/Enums/CarouselElements.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Enums/CarouselElements.html new file mode 100644 index 00000000..f262b19f --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Enums/CarouselElements.html @@ -0,0 +1,395 @@ + + + + CarouselElements Enumeration Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.34.0 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.34.0/SCSDKCameraKitReferenceUI/Enums/FlashControlElements.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Enums/FlashControlElements.html new file mode 100644 index 00000000..7a54da56 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Enums/FlashControlElements.html @@ -0,0 +1,395 @@ + + + + FlashControlElements Enumeration Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.34.0 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.34.0/SCSDKCameraKitReferenceUI/Enums/MessageNotificationElements.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Enums/MessageNotificationElements.html new file mode 100644 index 00000000..5253804b --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Enums/MessageNotificationElements.html @@ -0,0 +1,341 @@ + + + + MessageNotificationElements Enumeration Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.34.0 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.34.0/SCSDKCameraKitReferenceUI/Enums/OtherElements.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Enums/OtherElements.html new file mode 100644 index 00000000..870cb3da --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Enums/OtherElements.html @@ -0,0 +1,476 @@ + + + + OtherElements Enumeration Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.34.0 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.34.0/SCSDKCameraKitReferenceUI/Enums/PreviewElements.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Enums/PreviewElements.html new file mode 100644 index 00000000..0fc8fd28 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Enums/PreviewElements.html @@ -0,0 +1,449 @@ + + + + PreviewElements Enumeration Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.34.0 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.34.0/SCSDKCameraKitReferenceUI/Enums/SnapchatScreen.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Enums/SnapchatScreen.html new file mode 100644 index 00000000..db526d93 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Enums/SnapchatScreen.html @@ -0,0 +1,422 @@ + + + + SnapchatScreen Enumeration Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.34.0 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.34.0/SCSDKCameraKitReferenceUI/Extensions.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Extensions.html new file mode 100644 index 00000000..219f9a77 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Extensions.html @@ -0,0 +1,474 @@ + + + + Extensions Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.34.0 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.34.0/SCSDKCameraKitReferenceUI/Extensions/NSString.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Extensions/NSString.html new file mode 100644 index 00000000..8565b065 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Extensions/NSString.html @@ -0,0 +1,348 @@ + + + + NSString Extension Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.34.0 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.34.0/SCSDKCameraKitReferenceUI/Extensions/UIButton.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Extensions/UIButton.html new file mode 100644 index 00000000..2ad19a7e --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Extensions/UIButton.html @@ -0,0 +1,341 @@ + + + + UIButton Extension Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.34.0 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.34.0/SCSDKCameraKitReferenceUI/Extensions/UIColor.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Extensions/UIColor.html new file mode 100644 index 00000000..ab0ccc08 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Extensions/UIColor.html @@ -0,0 +1,340 @@ + + + + UIColor Extension Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.34.0 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.34.0/SCSDKCameraKitReferenceUI/Extensions/UIFont.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Extensions/UIFont.html new file mode 100644 index 00000000..d53c4011 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Extensions/UIFont.html @@ -0,0 +1,476 @@ + + + + UIFont Extension Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.34.0 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.34.0/SCSDKCameraKitReferenceUI/Extensions/UIImage.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Extensions/UIImage.html new file mode 100644 index 00000000..260c22c3 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Extensions/UIImage.html @@ -0,0 +1,376 @@ + + + + UIImage Extension Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.34.0 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.34.0/SCSDKCameraKitReferenceUI/Extensions/UILabel.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Extensions/UILabel.html new file mode 100644 index 00000000..55034f40 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Extensions/UILabel.html @@ -0,0 +1,345 @@ + + + + UILabel Extension Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.34.0 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.34.0/SCSDKCameraKitReferenceUI/Functions.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Functions.html new file mode 100644 index 00000000..c3dfcfe9 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Functions.html @@ -0,0 +1,411 @@ + + + + Functions Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.34.0 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.34.0/SCSDKCameraKitReferenceUI/Protocols.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Protocols.html new file mode 100644 index 00000000..692bc33d --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Protocols.html @@ -0,0 +1,755 @@ + + + + Protocols Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.34.0 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
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + 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.34.0/SCSDKCameraKitReferenceUI/Protocols/AdjustmentControlViewDelegate.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Protocols/AdjustmentControlViewDelegate.html new file mode 100644 index 00000000..9d7ca658 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Protocols/AdjustmentControlViewDelegate.html @@ -0,0 +1,372 @@ + + + + AdjustmentControlViewDelegate Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.34.0 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.34.0/SCSDKCameraKitReferenceUI/Protocols/AppOrientationDelegate.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Protocols/AppOrientationDelegate.html new file mode 100644 index 00000000..127fad52 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Protocols/AppOrientationDelegate.html @@ -0,0 +1,387 @@ + + + + AppOrientationDelegate Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.34.0 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.34.0/SCSDKCameraKitReferenceUI/Protocols/CameraButtonDelegate.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Protocols/CameraButtonDelegate.html new file mode 100644 index 00000000..c7e83301 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Protocols/CameraButtonDelegate.html @@ -0,0 +1,499 @@ + + + + CameraButtonDelegate Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.34.0 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.34.0/SCSDKCameraKitReferenceUI/Protocols/CameraControllerUIDelegate.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Protocols/CameraControllerUIDelegate.html new file mode 100644 index 00000000..f30be2b3 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Protocols/CameraControllerUIDelegate.html @@ -0,0 +1,882 @@ + + + + CameraControllerUIDelegate Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.34.0 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.34.0/SCSDKCameraKitReferenceUI/Protocols/CarouselCollectionViewLayoutDataSource.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Protocols/CarouselCollectionViewLayoutDataSource.html new file mode 100644 index 00000000..de8af996 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Protocols/CarouselCollectionViewLayoutDataSource.html @@ -0,0 +1,373 @@ + + + + CarouselCollectionViewLayoutDataSource Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.34.0 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.34.0/SCSDKCameraKitReferenceUI/Protocols/CarouselCollectionViewLayoutDelegate.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Protocols/CarouselCollectionViewLayoutDelegate.html new file mode 100644 index 00000000..924efd0d --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Protocols/CarouselCollectionViewLayoutDelegate.html @@ -0,0 +1,372 @@ + + + + CarouselCollectionViewLayoutDelegate Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.34.0 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.34.0/SCSDKCameraKitReferenceUI/Protocols/CarouselImageLoader.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Protocols/CarouselImageLoader.html new file mode 100644 index 00000000..c023072b --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Protocols/CarouselImageLoader.html @@ -0,0 +1,372 @@ + + + + CarouselImageLoader Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.34.0 Docs + + (60% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

CarouselImageLoader

+
+
+ +
public protocol CarouselImageLoader
+ +
+
+

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

    +
    +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Protocols/CarouselViewDataSource.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Protocols/CarouselViewDataSource.html new file mode 100644 index 00000000..95782a82 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Protocols/CarouselViewDataSource.html @@ -0,0 +1,364 @@ + + + + CarouselViewDataSource Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.34.0 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.34.0/SCSDKCameraKitReferenceUI/Protocols/CarouselViewDelegate.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Protocols/CarouselViewDelegate.html new file mode 100644 index 00000000..d39e18dd --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Protocols/CarouselViewDelegate.html @@ -0,0 +1,384 @@ + + + + CarouselViewDelegate Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.34.0 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.34.0/SCSDKCameraKitReferenceUI/Protocols/ControlSliderDelegate.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Protocols/ControlSliderDelegate.html new file mode 100644 index 00000000..9360a285 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Protocols/ControlSliderDelegate.html @@ -0,0 +1,384 @@ + + + + ControlSliderDelegate Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.34.0 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.34.0/SCSDKCameraKitReferenceUI/Protocols/FlashControlViewDelegate.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Protocols/FlashControlViewDelegate.html new file mode 100644 index 00000000..f3f9825d --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Protocols/FlashControlViewDelegate.html @@ -0,0 +1,488 @@ + + + + FlashControlViewDelegate Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.34.0 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.34.0/SCSDKCameraKitReferenceUI/Protocols/FlashModeSelectionViewDelegate.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Protocols/FlashModeSelectionViewDelegate.html new file mode 100644 index 00000000..d9dbd614 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Protocols/FlashModeSelectionViewDelegate.html @@ -0,0 +1,372 @@ + + + + FlashModeSelectionViewDelegate Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.34.0 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.34.0/SCSDKCameraKitReferenceUI/Protocols/MediaPickerViewDelegate.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Protocols/MediaPickerViewDelegate.html new file mode 100644 index 00000000..036a34da --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Protocols/MediaPickerViewDelegate.html @@ -0,0 +1,372 @@ + + + + MediaPickerViewDelegate Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.34.0 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.34.0/SCSDKCameraKitReferenceUI/Protocols/RingLightColorSelectionViewDelegate.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Protocols/RingLightColorSelectionViewDelegate.html new file mode 100644 index 00000000..de7229f4 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Protocols/RingLightColorSelectionViewDelegate.html @@ -0,0 +1,372 @@ + + + + RingLightColorSelectionViewDelegate Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.34.0 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.34.0/SCSDKCameraKitReferenceUI/Protocols/SnapchatDelegate.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Protocols/SnapchatDelegate.html new file mode 100644 index 00000000..785aafcb --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Protocols/SnapchatDelegate.html @@ -0,0 +1,372 @@ + + + + SnapchatDelegate Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.34.0 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.34.0/SCSDKCameraKitReferenceUI/Protocols/TestableElement.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Protocols/TestableElement.html new file mode 100644 index 00000000..f70f36df --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/Protocols/TestableElement.html @@ -0,0 +1,341 @@ + + + + TestableElement Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.34.0 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.34.0/SCSDKCameraKitReferenceUI/badge.svg b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/badge.svg new file mode 100644 index 00000000..43342ebc --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/badge.svg @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + documentation + + + documentation + + + 60% + + + 60% + + + diff --git a/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/css/highlight.css b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/css/highlight.css new file mode 100644 index 00000000..c170357c --- /dev/null +++ b/docs/api/ios/1.34.0/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.34.0/SCSDKCameraKitReferenceUI/css/jazzy.css b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/css/jazzy.css new file mode 100644 index 00000000..c7bb9fe2 --- /dev/null +++ b/docs/api/ios/1.34.0/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.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Info.plist b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Info.plist new file mode 100644 index 00000000..defb28c3 --- /dev/null +++ b/docs/api/ios/1.34.0/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.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes.html new file mode 100644 index 00000000..64549d2b --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes.html @@ -0,0 +1,1230 @@ + + + + Classes Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.34.0 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.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/AdjustmentControlView.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/AdjustmentControlView.html new file mode 100644 index 00000000..7a8a4cac --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/AdjustmentControlView.html @@ -0,0 +1,598 @@ + + + + AdjustmentControlView Class Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.34.0 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.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/AdjustmentControlView/Variant.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/AdjustmentControlView/Variant.html new file mode 100644 index 00000000..4858d676 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/AdjustmentControlView/Variant.html @@ -0,0 +1,396 @@ + + + + Variant Enumeration Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.34.0 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.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/BundleHelper.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/BundleHelper.html new file mode 100644 index 00000000..3ec06e04 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/BundleHelper.html @@ -0,0 +1,342 @@ + + + + BundleHelper Class Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.34.0 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.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/CameraActionsView.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/CameraActionsView.html new file mode 100644 index 00000000..5ade7448 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/CameraActionsView.html @@ -0,0 +1,673 @@ + + + + CameraActionsView Class Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.34.0 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.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/CameraBottomBar.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/CameraBottomBar.html new file mode 100644 index 00000000..5fef4713 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/CameraBottomBar.html @@ -0,0 +1,369 @@ + + + + CameraBottomBar Class Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.34.0 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.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/CameraButton.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/CameraButton.html new file mode 100644 index 00000000..3285a8b0 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/CameraButton.html @@ -0,0 +1,924 @@ + + + + CameraButton Class Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.34.0 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.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/CameraConfigurableActionView.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/CameraConfigurableActionView.html new file mode 100644 index 00000000..f393f488 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/CameraConfigurableActionView.html @@ -0,0 +1,756 @@ + + + + CameraConfigurableActionView Class Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.34.0 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.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/CameraController.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/CameraController.html new file mode 100644 index 00000000..7abf5d2d --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/CameraController.html @@ -0,0 +1,2095 @@ + + + + CameraController Class Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.34.0 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.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/CameraController/FlashMode.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/CameraController/FlashMode.html new file mode 100644 index 00000000..2e3afa0e --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/CameraController/FlashMode.html @@ -0,0 +1,368 @@ + + + + FlashMode Enumeration Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.34.0 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.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/CameraController/FlashState.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/CameraController/FlashState.html new file mode 100644 index 00000000..e6900bb6 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/CameraController/FlashState.html @@ -0,0 +1,422 @@ + + + + FlashState Enumeration Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.34.0 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.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/CameraController/PointOfInterestOptions.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/CameraController/PointOfInterestOptions.html new file mode 100644 index 00000000..4d658ef5 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/CameraController/PointOfInterestOptions.html @@ -0,0 +1,420 @@ + + + + PointOfInterestOptions Structure Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.34.0 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.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/CameraView.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/CameraView.html new file mode 100644 index 00000000..cb448ea9 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/CameraView.html @@ -0,0 +1,1054 @@ + + + + CameraView Class Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.34.0 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.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/CameraViewController.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/CameraViewController.html new file mode 100644 index 00000000..f6f7aee2 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/CameraViewController.html @@ -0,0 +1,1578 @@ + + + + CameraViewController Class Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.34.0 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.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/CarouselCollectionViewCell.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/CarouselCollectionViewCell.html new file mode 100644 index 00000000..a1f1409d --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/CarouselCollectionViewCell.html @@ -0,0 +1,449 @@ + + + + CarouselCollectionViewCell Class Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.34.0 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.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/CarouselCollectionViewLayout.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/CarouselCollectionViewLayout.html new file mode 100644 index 00000000..72b80102 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/CarouselCollectionViewLayout.html @@ -0,0 +1,455 @@ + + + + CarouselCollectionViewLayout Class Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.34.0 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.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/CarouselItem.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/CarouselItem.html new file mode 100644 index 00000000..27b3f708 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/CarouselItem.html @@ -0,0 +1,557 @@ + + + + CarouselItem Class Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.34.0 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.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/CarouselView.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/CarouselView.html new file mode 100644 index 00000000..29f04dfa --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/CarouselView.html @@ -0,0 +1,867 @@ + + + + CarouselView Class Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.34.0 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.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/ControlSlider.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/ControlSlider.html new file mode 100644 index 00000000..02814754 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/ControlSlider.html @@ -0,0 +1,482 @@ + + + + ControlSlider Class Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.34.0 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.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/DefaultCarouselImageLoader.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/DefaultCarouselImageLoader.html new file mode 100644 index 00000000..25429355 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/DefaultCarouselImageLoader.html @@ -0,0 +1,528 @@ + + + + DefaultCarouselImageLoader Class Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.34.0 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)
    + +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Load image from url (callback queue will be on main)

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func loadImage(url: URL, completion: ((UIImage?, Error?) -> Void)?)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + +
    + + url + + +
    +

    image url

    +
    +
    + + completion + + +
    +

    callback with image on success or error on failure

    +
    +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Load image from url

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func loadImage(
    +    url: URL, 
    +    cachePolicy: URLRequest.CachePolicy = .useProtocolCachePolicy,
    +    queue: DispatchQueue,
    +    completion: ((UIImage?, Error?) -> Void)?
    +)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + + + + + +
    + + url + + +
    +

    image url

    +
    +
    + + queue + + +
    +

    queue to call completion on

    +
    +
    + + completion + + +
    +

    callback with image on success or error on failure

    +
    +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Undocumented

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func cancelImageLoad(from url: URL)
    + +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/EmptyItem.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/EmptyItem.html new file mode 100644 index 00000000..0a3fe2cc --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/EmptyItem.html @@ -0,0 +1,341 @@ + + + + EmptyItem Class Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.34.0 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.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/FlashControlView.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/FlashControlView.html new file mode 100644 index 00000000..846f7267 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/FlashControlView.html @@ -0,0 +1,649 @@ + + + + FlashControlView Class Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.34.0 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.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/FlashModeSelectionView.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/FlashModeSelectionView.html new file mode 100644 index 00000000..29b00963 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/FlashModeSelectionView.html @@ -0,0 +1,408 @@ + + + + FlashModeSelectionView Class Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.34.0 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.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/ImagePreviewViewController.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/ImagePreviewViewController.html new file mode 100644 index 00000000..35eb0f00 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/ImagePreviewViewController.html @@ -0,0 +1,530 @@ + + + + ImagePreviewViewController Class Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.34.0 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.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/KeyboardAccessoryViewProvider.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/KeyboardAccessoryViewProvider.html new file mode 100644 index 00000000..b502f433 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/KeyboardAccessoryViewProvider.html @@ -0,0 +1,423 @@ + + + + KeyboardAccessoryViewProvider Class Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.34.0 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.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/MediaPickerView.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/MediaPickerView.html new file mode 100644 index 00000000..80e6101d --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/MediaPickerView.html @@ -0,0 +1,545 @@ + + + + MediaPickerView Class Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.34.0 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.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/MessageNotificationView.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/MessageNotificationView.html new file mode 100644 index 00000000..e7870ea1 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/MessageNotificationView.html @@ -0,0 +1,368 @@ + + + + MessageNotificationView Class Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.34.0 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.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/PreviewViewController.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/PreviewViewController.html new file mode 100644 index 00000000..123c3c9c --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/PreviewViewController.html @@ -0,0 +1,514 @@ + + + + PreviewViewController Class Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.34.0 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.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/Recorder.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/Recorder.html new file mode 100644 index 00000000..0c07ee21 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/Recorder.html @@ -0,0 +1,470 @@ + + + + Recorder Class Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.34.0 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.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/RingLightColorSelectionView.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/RingLightColorSelectionView.html new file mode 100644 index 00000000..6c7fb8ed --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/RingLightColorSelectionView.html @@ -0,0 +1,644 @@ + + + + RingLightColorSelectionView Class Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.34.0 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.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/RingLightColorSelectionViewCell.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/RingLightColorSelectionViewCell.html new file mode 100644 index 00000000..017913ac --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/RingLightColorSelectionViewCell.html @@ -0,0 +1,508 @@ + + + + RingLightColorSelectionViewCell Class Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.34.0 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.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/RingLightGradientView.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/RingLightGradientView.html new file mode 100644 index 00000000..955580de --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/RingLightGradientView.html @@ -0,0 +1,494 @@ + + + + RingLightGradientView Class Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.34.0 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.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/RingLightView.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/RingLightView.html new file mode 100644 index 00000000..9bf59d28 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/RingLightView.html @@ -0,0 +1,541 @@ + + + + RingLightView Class Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.34.0 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.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/SnapAttributionView.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/SnapAttributionView.html new file mode 100644 index 00000000..334926fa --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/SnapAttributionView.html @@ -0,0 +1,368 @@ + + + + SnapAttributionView Class Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.34.0 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.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/TapAnimationView.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/TapAnimationView.html new file mode 100644 index 00000000..9e22c6f6 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/TapAnimationView.html @@ -0,0 +1,368 @@ + + + + TapAnimationView Class Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.34.0 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.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/UserDataProvider.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/UserDataProvider.html new file mode 100644 index 00000000..868b7e3a --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/UserDataProvider.html @@ -0,0 +1,368 @@ + + + + UserDataProvider Class Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.34.0 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.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/VideoPreviewViewController.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/VideoPreviewViewController.html new file mode 100644 index 00000000..6659df40 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Classes/VideoPreviewViewController.html @@ -0,0 +1,530 @@ + + + + VideoPreviewViewController Class Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.34.0 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.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Enums.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Enums.html new file mode 100644 index 00000000..9af734bd --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Enums.html @@ -0,0 +1,622 @@ + + + + Enumerations Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.34.0 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.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Enums/CameraBottomBarElements.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Enums/CameraBottomBarElements.html new file mode 100644 index 00000000..75da90d1 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Enums/CameraBottomBarElements.html @@ -0,0 +1,341 @@ + + + + CameraBottomBarElements Enumeration Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.34.0 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.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Enums/CameraElements.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Enums/CameraElements.html new file mode 100644 index 00000000..ade726ce --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Enums/CameraElements.html @@ -0,0 +1,814 @@ + + + + CameraElements Enumeration Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.34.0 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.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Enums/CameraElements/CameraFlip.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Enums/CameraElements/CameraFlip.html new file mode 100644 index 00000000..29c70f14 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Enums/CameraElements/CameraFlip.html @@ -0,0 +1,368 @@ + + + + CameraFlip Enumeration Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.34.0 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.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Enums/CarouselElements.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Enums/CarouselElements.html new file mode 100644 index 00000000..f262b19f --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Enums/CarouselElements.html @@ -0,0 +1,395 @@ + + + + CarouselElements Enumeration Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.34.0 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.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Enums/FlashControlElements.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Enums/FlashControlElements.html new file mode 100644 index 00000000..7a54da56 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Enums/FlashControlElements.html @@ -0,0 +1,395 @@ + + + + FlashControlElements Enumeration Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.34.0 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.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Enums/MessageNotificationElements.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Enums/MessageNotificationElements.html new file mode 100644 index 00000000..5253804b --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Enums/MessageNotificationElements.html @@ -0,0 +1,341 @@ + + + + MessageNotificationElements Enumeration Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.34.0 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.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Enums/OtherElements.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Enums/OtherElements.html new file mode 100644 index 00000000..870cb3da --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Enums/OtherElements.html @@ -0,0 +1,476 @@ + + + + OtherElements Enumeration Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.34.0 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.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Enums/PreviewElements.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Enums/PreviewElements.html new file mode 100644 index 00000000..0fc8fd28 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Enums/PreviewElements.html @@ -0,0 +1,449 @@ + + + + PreviewElements Enumeration Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.34.0 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.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Enums/SnapchatScreen.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Enums/SnapchatScreen.html new file mode 100644 index 00000000..db526d93 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Enums/SnapchatScreen.html @@ -0,0 +1,422 @@ + + + + SnapchatScreen Enumeration Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.34.0 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.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Extensions.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Extensions.html new file mode 100644 index 00000000..219f9a77 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Extensions.html @@ -0,0 +1,474 @@ + + + + Extensions Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.34.0 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.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Extensions/NSString.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Extensions/NSString.html new file mode 100644 index 00000000..8565b065 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Extensions/NSString.html @@ -0,0 +1,348 @@ + + + + NSString Extension Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.34.0 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.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Extensions/UIButton.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Extensions/UIButton.html new file mode 100644 index 00000000..2ad19a7e --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Extensions/UIButton.html @@ -0,0 +1,341 @@ + + + + UIButton Extension Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.34.0 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.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Extensions/UIColor.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Extensions/UIColor.html new file mode 100644 index 00000000..ab0ccc08 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Extensions/UIColor.html @@ -0,0 +1,340 @@ + + + + UIColor Extension Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.34.0 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.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Extensions/UIFont.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Extensions/UIFont.html new file mode 100644 index 00000000..d53c4011 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Extensions/UIFont.html @@ -0,0 +1,476 @@ + + + + UIFont Extension Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.34.0 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.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Extensions/UIImage.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Extensions/UIImage.html new file mode 100644 index 00000000..260c22c3 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Extensions/UIImage.html @@ -0,0 +1,376 @@ + + + + UIImage Extension Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.34.0 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.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Extensions/UILabel.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Extensions/UILabel.html new file mode 100644 index 00000000..55034f40 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Extensions/UILabel.html @@ -0,0 +1,345 @@ + + + + UILabel Extension Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.34.0 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.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Functions.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Functions.html new file mode 100644 index 00000000..c3dfcfe9 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Functions.html @@ -0,0 +1,411 @@ + + + + Functions Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.34.0 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.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Protocols.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Protocols.html new file mode 100644 index 00000000..692bc33d --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Protocols.html @@ -0,0 +1,755 @@ + + + + Protocols Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.34.0 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
    + +
    +
    +
    +
    +
  • +
  • +
    + + + + 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.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Protocols/AdjustmentControlViewDelegate.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Protocols/AdjustmentControlViewDelegate.html new file mode 100644 index 00000000..9d7ca658 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Protocols/AdjustmentControlViewDelegate.html @@ -0,0 +1,372 @@ + + + + AdjustmentControlViewDelegate Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.34.0 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.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Protocols/AppOrientationDelegate.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Protocols/AppOrientationDelegate.html new file mode 100644 index 00000000..127fad52 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Protocols/AppOrientationDelegate.html @@ -0,0 +1,387 @@ + + + + AppOrientationDelegate Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.34.0 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.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Protocols/CameraButtonDelegate.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Protocols/CameraButtonDelegate.html new file mode 100644 index 00000000..c7e83301 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Protocols/CameraButtonDelegate.html @@ -0,0 +1,499 @@ + + + + CameraButtonDelegate Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.34.0 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.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Protocols/CameraControllerUIDelegate.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Protocols/CameraControllerUIDelegate.html new file mode 100644 index 00000000..f30be2b3 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Protocols/CameraControllerUIDelegate.html @@ -0,0 +1,882 @@ + + + + CameraControllerUIDelegate Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.34.0 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.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Protocols/CarouselCollectionViewLayoutDataSource.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Protocols/CarouselCollectionViewLayoutDataSource.html new file mode 100644 index 00000000..de8af996 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Protocols/CarouselCollectionViewLayoutDataSource.html @@ -0,0 +1,373 @@ + + + + CarouselCollectionViewLayoutDataSource Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.34.0 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.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Protocols/CarouselCollectionViewLayoutDelegate.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Protocols/CarouselCollectionViewLayoutDelegate.html new file mode 100644 index 00000000..924efd0d --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Protocols/CarouselCollectionViewLayoutDelegate.html @@ -0,0 +1,372 @@ + + + + CarouselCollectionViewLayoutDelegate Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.34.0 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.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Protocols/CarouselImageLoader.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Protocols/CarouselImageLoader.html new file mode 100644 index 00000000..c023072b --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Protocols/CarouselImageLoader.html @@ -0,0 +1,372 @@ + + + + CarouselImageLoader Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.34.0 Docs + + (60% documented) +

+ +
+
+ +
+
+ + +
+ + + +
+ +
+ +
+
+

CarouselImageLoader

+
+
+ +
public protocol CarouselImageLoader
+ +
+
+

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

    +
    +
    +
    +
    +
    +
  • +
+
+
+
+ +
+
+ + + diff --git a/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Protocols/CarouselViewDataSource.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Protocols/CarouselViewDataSource.html new file mode 100644 index 00000000..95782a82 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Protocols/CarouselViewDataSource.html @@ -0,0 +1,364 @@ + + + + CarouselViewDataSource Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.34.0 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.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Protocols/CarouselViewDelegate.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Protocols/CarouselViewDelegate.html new file mode 100644 index 00000000..d39e18dd --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Protocols/CarouselViewDelegate.html @@ -0,0 +1,384 @@ + + + + CarouselViewDelegate Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.34.0 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.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Protocols/ControlSliderDelegate.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Protocols/ControlSliderDelegate.html new file mode 100644 index 00000000..9360a285 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Protocols/ControlSliderDelegate.html @@ -0,0 +1,384 @@ + + + + ControlSliderDelegate Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.34.0 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.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Protocols/FlashControlViewDelegate.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Protocols/FlashControlViewDelegate.html new file mode 100644 index 00000000..f3f9825d --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Protocols/FlashControlViewDelegate.html @@ -0,0 +1,488 @@ + + + + FlashControlViewDelegate Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.34.0 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.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Protocols/FlashModeSelectionViewDelegate.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Protocols/FlashModeSelectionViewDelegate.html new file mode 100644 index 00000000..d9dbd614 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Protocols/FlashModeSelectionViewDelegate.html @@ -0,0 +1,372 @@ + + + + FlashModeSelectionViewDelegate Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.34.0 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.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Protocols/MediaPickerViewDelegate.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Protocols/MediaPickerViewDelegate.html new file mode 100644 index 00000000..036a34da --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Protocols/MediaPickerViewDelegate.html @@ -0,0 +1,372 @@ + + + + MediaPickerViewDelegate Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.34.0 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.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Protocols/RingLightColorSelectionViewDelegate.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Protocols/RingLightColorSelectionViewDelegate.html new file mode 100644 index 00000000..de7229f4 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Protocols/RingLightColorSelectionViewDelegate.html @@ -0,0 +1,372 @@ + + + + RingLightColorSelectionViewDelegate Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.34.0 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.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Protocols/SnapchatDelegate.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Protocols/SnapchatDelegate.html new file mode 100644 index 00000000..785aafcb --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Protocols/SnapchatDelegate.html @@ -0,0 +1,372 @@ + + + + SnapchatDelegate Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.34.0 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.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Protocols/TestableElement.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Protocols/TestableElement.html new file mode 100644 index 00000000..f70f36df --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/Protocols/TestableElement.html @@ -0,0 +1,341 @@ + + + + TestableElement Protocol Reference + + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.34.0 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.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/css/highlight.css b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/css/highlight.css new file mode 100644 index 00000000..c170357c --- /dev/null +++ b/docs/api/ios/1.34.0/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.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/css/jazzy.css b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/css/jazzy.css new file mode 100644 index 00000000..c7bb9fe2 --- /dev/null +++ b/docs/api/ios/1.34.0/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.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/img/carat.png b/docs/api/ios/1.34.0/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.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/img/dash.png b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.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.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/index.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/index.html new file mode 100644 index 00000000..bb918cc7 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/index.html @@ -0,0 +1,334 @@ + + + + SCSDKCameraKitReferenceUI Reference + + + + + + + + + + + + + + + +
+

+ + SCSDKCameraKitReferenceUI 1.34.0 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: ["REPLACE-THIS-WITH-YOUR-OWN-APP-SPECIFIC-VALUE"])
+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.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/js/jazzy.js b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/js/jazzy.js new file mode 100755 index 00000000..19844166 --- /dev/null +++ b/docs/api/ios/1.34.0/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.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/js/jazzy.search.js b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/js/jazzy.search.js new file mode 100644 index 00000000..359cdbb8 --- /dev/null +++ b/docs/api/ios/1.34.0/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.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/js/jquery.min.js b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/js/jquery.min.js new file mode 100644 index 00000000..c4c6022f --- /dev/null +++ b/docs/api/ios/1.34.0/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.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/js/typeahead.jquery.js b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/js/typeahead.jquery.js new file mode 100644 index 00000000..3a2d2ab0 --- /dev/null +++ b/docs/api/ios/1.34.0/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.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/search.json b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/Documents/search.json new file mode 100644 index 00000000..3274d476 --- /dev/null +++ b/docs/api/ios/1.34.0/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/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:25SCSDKCameraKitReferenceUI26DefaultCarouselImageLoaderC04loadG03url10completiony10Foundation3URLV_ySo7UIImageCSg_s5Error_pSgtcSgtF":{"name":"loadImage(url:completion:)","abstract":"

Load image from url (callback queue will be on main)

","parent_name":"DefaultCarouselImageLoader"},"Classes/DefaultCarouselImageLoader.html#/s:25SCSDKCameraKitReferenceUI26DefaultCarouselImageLoaderC04loadG03url11cachePolicy5queue10completiony10Foundation3URLV_So017NSURLRequestCacheL0VSo012OS_dispatch_M0CySo7UIImageCSg_s5Error_pSgtcSgtF":{"name":"loadImage(url:cachePolicy:queue:completion:)","abstract":"

Load image from url

","parent_name":"DefaultCarouselImageLoader"},"Classes/DefaultCarouselImageLoader.html#/s:25SCSDKCameraKitReferenceUI26DefaultCarouselImageLoaderC06cancelG4Load4fromy10Foundation3URLV_tF":{"name":"cancelImageLoad(from:)","abstract":"

Undocumented

","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.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/docSet.dsidx b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/docsets/SCSDKCameraKitReferenceUI.docset/Contents/Resources/docSet.dsidx new file mode 100644 index 0000000000000000000000000000000000000000..a1817792016a90b8970185d0de3f1efac4ae41cc GIT binary patch literal 159744 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 S^0y4=eg;ohKbLh*2~7a!Pg}VF literal 0 HcmV?d00001 diff --git a/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/img/dash.png b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/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.34.0/SCSDKCameraKitReferenceUI/index.html b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/index.html new file mode 100644 index 00000000..bb918cc7 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/index.html @@ -0,0 +1,334 @@ + + + + SCSDKCameraKitReferenceUI Reference + + + + + + + + + + + + + + + +

+

+ + SCSDKCameraKitReferenceUI 1.34.0 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: ["REPLACE-THIS-WITH-YOUR-OWN-APP-SPECIFIC-VALUE"])
+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.34.0/SCSDKCameraKitReferenceUI/js/jazzy.js b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/js/jazzy.js new file mode 100755 index 00000000..19844166 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/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.34.0/SCSDKCameraKitReferenceUI/js/jazzy.search.js b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/js/jazzy.search.js new file mode 100644 index 00000000..359cdbb8 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/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.34.0/SCSDKCameraKitReferenceUI/js/jquery.min.js b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/js/jquery.min.js new file mode 100644 index 00000000..c4c6022f --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/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.34.0/SCSDKCameraKitReferenceUI/js/typeahead.jquery.js b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/js/typeahead.jquery.js new file mode 100644 index 00000000..3a2d2ab0 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/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.34.0/SCSDKCameraKitReferenceUI/search.json b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/search.json new file mode 100644 index 00000000..3274d476 --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/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/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:25SCSDKCameraKitReferenceUI26DefaultCarouselImageLoaderC04loadG03url10completiony10Foundation3URLV_ySo7UIImageCSg_s5Error_pSgtcSgtF":{"name":"loadImage(url:completion:)","abstract":"

Load image from url (callback queue will be on main)

","parent_name":"DefaultCarouselImageLoader"},"Classes/DefaultCarouselImageLoader.html#/s:25SCSDKCameraKitReferenceUI26DefaultCarouselImageLoaderC04loadG03url11cachePolicy5queue10completiony10Foundation3URLV_So017NSURLRequestCacheL0VSo012OS_dispatch_M0CySo7UIImageCSg_s5Error_pSgtcSgtF":{"name":"loadImage(url:cachePolicy:queue:completion:)","abstract":"

Load image from url

","parent_name":"DefaultCarouselImageLoader"},"Classes/DefaultCarouselImageLoader.html#/s:25SCSDKCameraKitReferenceUI26DefaultCarouselImageLoaderC06cancelG4Load4fromy10Foundation3URLV_tF":{"name":"cancelImageLoad(from:)","abstract":"

Undocumented

","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.34.0/SCSDKCameraKitReferenceUI/undocumented.json b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/undocumented.json new file mode 100644 index 00000000..7412cebe --- /dev/null +++ b/docs/api/ios/1.34.0/SCSDKCameraKitReferenceUI/undocumented.json @@ -0,0 +1,1321 @@ +{ + "warnings": [ + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/CameraKitSandbox/Sources/Reference/UIKit/Camera/CameraController.swift", + "line": 9, + "symbol": "CameraControllerUIDelegate", + "symbol_kind": "source.lang.swift.decl.protocol", + "warning": "undocumented" + }, + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/CameraKitSandbox/Sources/Reference/UIKit/Camera/CameraController.swift", + "line": 292, + "symbol": "CameraController.PointOfInterestOptions.exposure", + "symbol_kind": "source.lang.swift.decl.var.static", + "warning": "undocumented" + }, + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/CameraKitSandbox/Sources/Reference/UIKit/Camera/CameraController.swift", + "line": 295, + "symbol": "CameraController.PointOfInterestOptions.focus", + "symbol_kind": "source.lang.swift.decl.var.static", + "warning": "undocumented" + }, + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/CameraKitSandbox/Sources/Reference/UIKit/Camera/CameraController.swift", + "line": 384, + "symbol": "CameraController.repository(_:didUpdateLenses:forGroupID:)", + "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/UIKit/Camera/CameraController.swift", + "line": 403, + "symbol": "CameraController.repository(_:didFailToUpdateLensesForGroupID:error:)", + "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/UIKit/Camera/CameraController.swift", + "line": 410, + "symbol": "CameraController.prefetcher(_:didUpdate:status:)", + "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/UIKit/Camera/CameraController.swift", + "line": 579, + "symbol": "CameraController.lensProcessor(_:shouldDisplayHint:for:autohide:)", + "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/UIKit/Camera/CameraController.swift", + "line": 585, + "symbol": "CameraController.lensProcessor(_:shouldHideAllHintsFor:)", + "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/UIKit/Camera/CameraController.swift", + "line": 854, + "symbol": "CameraController.FlashMode.standard", + "symbol_kind": "source.lang.swift.decl.enumelement", + "warning": "undocumented" + }, + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/CameraKitSandbox/Sources/Reference/UIKit/Camera/CameraController.swift", + "line": 855, + "symbol": "CameraController.FlashMode.ring", + "symbol_kind": "source.lang.swift.decl.enumelement", + "warning": "undocumented" + }, + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/CameraKitSandbox/Sources/Reference/UIKit/Camera/CameraController.swift", + "line": 860, + "symbol": "CameraController.FlashState.off", + "symbol_kind": "source.lang.swift.decl.enumelement", + "warning": "undocumented" + }, + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/CameraKitSandbox/Sources/Reference/UIKit/Camera/CameraController.swift", + "line": 861, + "symbol": "CameraController.FlashState.on(_:)", + "symbol_kind": "source.lang.swift.decl.enumelement", + "warning": "undocumented" + }, + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/CameraKitSandbox/Sources/Reference/UIKit/CameraButton/CameraButton.swift", + "line": 28, + "symbol": "CameraButton.Constants", + "symbol_kind": "source.lang.swift.decl.enum", + "warning": "undocumented" + }, + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/CameraKitSandbox/Sources/Reference/UIKit/CameraButton/CameraButton.swift", + "line": 116, + "symbol": "CameraButton.init()", + "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/UIKit/CameraButton/CameraButton.swift", + "line": 121, + "symbol": "CameraButton.init(frame:)", + "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/UIKit/CameraButton/CameraButton.swift", + "line": 126, + "symbol": "CameraButton.init(coder:)", + "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/UIKit/CameraButton/CameraButton.swift", + "line": 144, + "symbol": "CameraButton.layoutSubviews()", + "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/UIKit/CameraButton/CameraButton.swift", + "line": 158, + "symbol": "CameraButton.intrinsicContentSize", + "symbol_kind": "source.lang.swift.decl.var.instance", + "warning": "undocumented" + }, + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/CameraKitSandbox/Sources/Reference/UIKit/CameraButton/CameraButton.swift", + "line": 164, + "symbol": "CameraButton.willMove(toSuperview:)", + "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/UIKit/CameraButton/CameraButton.swift", + "line": 206, + "symbol": "CameraButton.gestureRecognizer(_:shouldRecognizeSimultaneouslyWith:)", + "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/UIKit/CameraButton/CameraButton.swift", + "line": 220, + "symbol": "CameraButton.gestureRecognizer(_:shouldReceive:)", + "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/UIKit/CameraButton/CameraButton.swift", + "line": 337, + "symbol": "CameraButton.animationDidStop(_:finished:)", + "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/UIKit/CameraUI/CameraAdjustments/AdjustmentControlView.swift", + "line": 6, + "symbol": "AdjustmentControlViewDelegate", + "symbol_kind": "source.lang.swift.decl.protocol", + "warning": "undocumented" + }, + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/CameraKitSandbox/Sources/Reference/UIKit/CameraUI/CameraAdjustments/AdjustmentControlView.swift", + "line": 14, + "symbol": "AdjustmentControlView", + "symbol_kind": "source.lang.swift.decl.class", + "warning": "undocumented" + }, + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/CameraKitSandbox/Sources/Reference/UIKit/CameraUI/CameraAdjustments/AdjustmentControlView.swift", + "line": 18, + "symbol": "AdjustmentControlView.Variant.tone", + "symbol_kind": "source.lang.swift.decl.enumelement", + "warning": "undocumented" + }, + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/CameraKitSandbox/Sources/Reference/UIKit/CameraUI/CameraAdjustments/AdjustmentControlView.swift", + "line": 19, + "symbol": "AdjustmentControlView.Variant.portrait", + "symbol_kind": "source.lang.swift.decl.enumelement", + "warning": "undocumented" + }, + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/CameraKitSandbox/Sources/Reference/UIKit/CameraUI/CameraAdjustments/AdjustmentControlView.swift", + "line": 91, + "symbol": "AdjustmentControlView.init(frame:)", + "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/UIKit/CameraUI/CameraAdjustments/AdjustmentControlView.swift", + "line": 108, + "symbol": "AdjustmentControlView.layoutSubviews()", + "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/UIKit/CameraUI/CameraAdjustments/AdjustmentControlView.swift", + "line": 117, + "symbol": "AdjustmentControlView.intrinsicContentSize", + "symbol_kind": "source.lang.swift.decl.var.instance", + "warning": "undocumented" + }, + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/CameraKitSandbox/Sources/Reference/UIKit/CameraUI/CameraAdjustments/AdjustmentControlView.swift", + "line": 180, + "symbol": "AdjustmentControlView", + "symbol_kind": "source.lang.swift.decl.extension", + "warning": "undocumented" + }, + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/CameraKitSandbox/Sources/Reference/UIKit/CameraUI/CameraAdjustments/ControlSlider.swift", + "line": 6, + "symbol": "ControlSliderDelegate", + "symbol_kind": "source.lang.swift.decl.protocol", + "warning": "undocumented" + }, + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/CameraKitSandbox/Sources/Reference/UIKit/CameraUI/CameraAdjustments/ControlSlider.swift", + "line": 15, + "symbol": "ControlSlider", + "symbol_kind": "source.lang.swift.decl.class", + "warning": "undocumented" + }, + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/CameraKitSandbox/Sources/Reference/UIKit/CameraUI/CameraAdjustments/ControlSlider.swift", + "line": 53, + "symbol": "ControlSlider.setValue(_:animated:)", + "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/UIKit/CameraUI/CameraAdjustments/ControlSlider.swift", + "line": 88, + "symbol": "ControlSlider.layoutSubviews()", + "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/UIKit/CameraUI/CameraAdjustments/ControlSlider.swift", + "line": 99, + "symbol": "ControlSlider.intrinsicContentSize", + "symbol_kind": "source.lang.swift.decl.var.instance", + "warning": "undocumented" + }, + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/CameraKitSandbox/Sources/Reference/UIKit/CameraUI/CameraControlStrip/CameraActionsView.swift", + "line": 6, + "symbol": "CameraActionsView", + "symbol_kind": "source.lang.swift.decl.class", + "warning": "undocumented" + }, + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/CameraKitSandbox/Sources/Reference/UIKit/CameraUI/CameraControlStrip/CameraActionsView.swift", + "line": 23, + "symbol": "CameraActionsView.flashToggleButtonBaseSelectedImage", + "symbol_kind": "source.lang.swift.decl.var.instance", + "warning": "undocumented" + }, + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/CameraKitSandbox/Sources/Reference/UIKit/CameraUI/CameraControlStrip/CameraActionsView.swift", + "line": 168, + "symbol": "CameraActionsView.init(frame:)", + "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/UIKit/CameraUI/CameraControlStrip/CameraActionsView.swift", + "line": 173, + "symbol": "CameraActionsView.layoutSubviews()", + "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/UIKit/CameraUI/CameraControlStrip/CameraConfigurableActionView.swift", + "line": 75, + "symbol": "CameraConfigurableActionView.collapse()", + "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/UIKit/CameraUI/CameraControlStrip/CameraConfigurableActionView.swift", + "line": 81, + "symbol": "CameraConfigurableActionView.expand()", + "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/UIKit/CameraUI/CameraControlStrip/CameraConfigurableActionView.swift", + "line": 88, + "symbol": "CameraConfigurableActionView.init(frame:)", + "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/UIKit/CameraUI/CameraControlStrip/CameraConfigurableActionView.swift", + "line": 93, + "symbol": "CameraConfigurableActionView.init(coder:)", + "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/UIKit/CameraUI/CameraControlStrip/CameraConfigurableActionView.swift", + "line": 98, + "symbol": "CameraConfigurableActionView.layoutSubviews()", + "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/UIKit/CameraUI/CameraView.swift", + "line": 24, + "symbol": "CameraView.hintLabel", + "symbol_kind": "source.lang.swift.decl.var.instance", + "warning": "undocumented" + }, + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/CameraKitSandbox/Sources/Reference/UIKit/CameraUI/CameraView.swift", + "line": 163, + "symbol": "CameraView.snapAttributionView", + "symbol_kind": "source.lang.swift.decl.var.instance", + "warning": "undocumented" + }, + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/CameraKitSandbox/Sources/Reference/UIKit/CameraUI/CameraView.swift", + "line": 170, + "symbol": "CameraView.activityIndicator", + "symbol_kind": "source.lang.swift.decl.var.instance", + "warning": "undocumented" + }, + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/CameraKitSandbox/Sources/Reference/UIKit/CameraUI/CameraView.swift", + "line": 183, + "symbol": "CameraView.init(frame:)", + "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/UIKit/CameraUI/CameraView.swift", + "line": 193, + "symbol": "CameraView.layoutSubviews()", + "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/UIKit/CameraUI/CameraView.swift", + "line": 345, + "symbol": "CameraView.showMessage(text:numberOfLines:duration:)", + "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/UIKit/CameraUI/CameraView.swift", + "line": 399, + "symbol": "CameraView.setupActivityIndicator()", + "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/UIKit/CameraUI/CameraView.swift", + "line": 551, + "symbol": "CameraView.isAnyControlVisible", + "symbol_kind": "source.lang.swift.decl.var.instance", + "warning": "undocumented" + }, + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/CameraKitSandbox/Sources/Reference/UIKit/CameraUI/CameraView.swift", + "line": 562, + "symbol": "CameraView.hideAllControls()", + "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/UIKit/CameraUI/CameraView.swift", + "line": 579, + "symbol": "CameraView.drawTapAnimationView(at:)", + "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/UIKit/CameraUI/CameraViewController.swift", + "line": 55, + "symbol": "CameraViewController.cameraView", + "symbol_kind": "source.lang.swift.decl.var.instance", + "warning": "undocumented" + }, + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/CameraKitSandbox/Sources/Reference/UIKit/CameraUI/CameraViewController.swift", + "line": 57, + "symbol": "CameraViewController.loadView()", + "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/UIKit/CameraUI/CameraViewController.swift", + "line": 61, + "symbol": "CameraViewController.viewDidLoad()", + "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/UIKit/CameraUI/CameraViewController.swift", + "line": 66, + "symbol": "CameraViewController.viewDidAppear(_:)", + "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/UIKit/CameraUI/CameraViewController.swift", + "line": 71, + "symbol": "CameraViewController.viewDidDisappear(_:)", + "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/UIKit/CameraUI/CameraViewController.swift", + "line": 139, + "symbol": "CameraViewController.viewWillTransition(to:with:)", + "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/UIKit/CameraUI/CameraViewController.swift", + "line": 420, + "symbol": "CameraViewController.processorUpdatedAdjustmentsAvailability(_:)", + "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/UIKit/CameraUI/CameraViewController.swift", + "line": 667, + "symbol": "CameraViewController.presentationControllerWillDismiss(_:)", + "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/UIKit/CameraUI/Flash/FlashControlView.swift", + "line": 6, + "symbol": "FlashControlViewDelegate", + "symbol_kind": "source.lang.swift.decl.protocol", + "warning": "undocumented" + }, + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/CameraKitSandbox/Sources/Reference/UIKit/CameraUI/Flash/FlashControlView.swift", + "line": 26, + "symbol": "FlashControlView", + "symbol_kind": "source.lang.swift.decl.class", + "warning": "undocumented" + }, + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/CameraKitSandbox/Sources/Reference/UIKit/CameraUI/Flash/FlashControlView.swift", + "line": 153, + "symbol": "FlashControlView.init(frame:)", + "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/UIKit/CameraUI/Flash/FlashControlView.swift", + "line": 178, + "symbol": "FlashControlView.intrinsicContentSize", + "symbol_kind": "source.lang.swift.decl.var.instance", + "warning": "undocumented" + }, + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/CameraKitSandbox/Sources/Reference/UIKit/CameraUI/Flash/FlashControlView.swift", + "line": 271, + "symbol": "FlashControlView", + "symbol_kind": "source.lang.swift.decl.extension", + "warning": "undocumented" + }, + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/CameraKitSandbox/Sources/Reference/UIKit/CameraUI/Flash/FlashControlView.swift", + "line": 285, + "symbol": "FlashControlView", + "symbol_kind": "source.lang.swift.decl.extension", + "warning": "undocumented" + }, + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/CameraKitSandbox/Sources/Reference/UIKit/CameraUI/Flash/FlashControlView.swift", + "line": 303, + "symbol": "FlashControlView", + "symbol_kind": "source.lang.swift.decl.extension", + "warning": "undocumented" + }, + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/CameraKitSandbox/Sources/Reference/UIKit/CameraUI/Flash/FlashModeSelectionView.swift", + "line": 7, + "symbol": "FlashModeSelectionViewDelegate", + "symbol_kind": "source.lang.swift.decl.protocol", + "warning": "undocumented" + }, + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/CameraKitSandbox/Sources/Reference/UIKit/CameraUI/Flash/FlashModeSelectionView.swift", + "line": 15, + "symbol": "FlashModeSelectionView", + "symbol_kind": "source.lang.swift.decl.class", + "warning": "undocumented" + }, + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/CameraKitSandbox/Sources/Reference/UIKit/CameraUI/Flash/FlashModeSelectionView.swift", + "line": 98, + "symbol": "FlashModeSelectionView.init(frame:)", + "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/UIKit/CameraUI/Flash/RingLight/RingLightColorSelectionView.swift", + "line": 6, + "symbol": "RingLightColorSelectionViewDelegate", + "symbol_kind": "source.lang.swift.decl.protocol", + "warning": "undocumented" + }, + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/CameraKitSandbox/Sources/Reference/UIKit/CameraUI/Flash/RingLight/RingLightColorSelectionView.swift", + "line": 14, + "symbol": "RingLightColorSelectionView", + "symbol_kind": "source.lang.swift.decl.class", + "warning": "undocumented" + }, + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/CameraKitSandbox/Sources/Reference/UIKit/CameraUI/Flash/RingLight/RingLightColorSelectionView.swift", + "line": 67, + "symbol": "RingLightColorSelectionView.layoutSubviews()", + "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/UIKit/CameraUI/Flash/RingLight/RingLightColorSelectionView.swift", + "line": 75, + "symbol": "RingLightColorSelectionView.intrinsicContentSize", + "symbol_kind": "source.lang.swift.decl.var.instance", + "warning": "undocumented" + }, + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/CameraKitSandbox/Sources/Reference/UIKit/CameraUI/Flash/RingLight/RingLightColorSelectionView.swift", + "line": 85, + "symbol": "RingLightColorSelectionView", + "symbol_kind": "source.lang.swift.decl.extension", + "warning": "undocumented" + }, + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/CameraKitSandbox/Sources/Reference/UIKit/CameraUI/Flash/RingLight/RingLightColorSelectionView.swift", + "line": 106, + "symbol": "RingLightColorSelectionView", + "symbol_kind": "source.lang.swift.decl.extension", + "warning": "undocumented" + }, + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/CameraKitSandbox/Sources/Reference/UIKit/CameraUI/Flash/RingLight/RingLightColorSelectionView.swift", + "line": 107, + "symbol": "RingLightColorSelectionView.collectionView(_:didSelectItemAt:)", + "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/UIKit/CameraUI/Flash/RingLight/RingLightColorSelectionView.swift", + "line": 115, + "symbol": "RingLightColorSelectionView.collectionView(_:didDeselectItemAt:)", + "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/UIKit/CameraUI/Flash/RingLight/RingLightColorSelectionView.swift", + "line": 124, + "symbol": "RingLightColorSelectionView", + "symbol_kind": "source.lang.swift.decl.extension", + "warning": "undocumented" + }, + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/CameraKitSandbox/Sources/Reference/UIKit/CameraUI/Flash/RingLight/RingLightColorSelectionView.swift", + "line": 125, + "symbol": "RingLightColorSelectionView.collectionView(_:numberOfItemsInSection:)", + "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/UIKit/CameraUI/Flash/RingLight/RingLightColorSelectionView.swift", + "line": 129, + "symbol": "RingLightColorSelectionView.collectionView(_:cellForItemAt:)", + "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/UIKit/CameraUI/Flash/RingLight/RingLightColorSelectionViewCell.swift", + "line": 6, + "symbol": "RingLightColorSelectionViewCell", + "symbol_kind": "source.lang.swift.decl.class", + "warning": "undocumented" + }, + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/CameraKitSandbox/Sources/Reference/UIKit/CameraUI/Flash/RingLight/RingLightColorSelectionViewCell.swift", + "line": 7, + "symbol": "RingLightColorSelectionViewCell.reuseIdentifer", + "symbol_kind": "source.lang.swift.decl.var.static", + "warning": "undocumented" + }, + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/CameraKitSandbox/Sources/Reference/UIKit/CameraUI/Flash/RingLight/RingLightColorSelectionViewCell.swift", + "line": 63, + "symbol": "RingLightColorSelectionViewCell.layoutSubviews()", + "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/UIKit/CameraUI/Flash/RingLight/RingLightColorSelectionViewCell.swift", + "line": 69, + "symbol": "RingLightColorSelectionViewCell.intrinsicContentSize", + "symbol_kind": "source.lang.swift.decl.var.instance", + "warning": "undocumented" + }, + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/CameraKitSandbox/Sources/Reference/UIKit/CameraUI/Flash/RingLight/RingLightGradientView.swift", + "line": 6, + "symbol": "RingLightGradientView", + "symbol_kind": "source.lang.swift.decl.class", + "warning": "undocumented" + }, + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/CameraKitSandbox/Sources/Reference/UIKit/CameraUI/Flash/RingLight/RingLightGradientView.swift", + "line": 83, + "symbol": "RingLightGradientView.init(frame:)", + "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/UIKit/CameraUI/Flash/RingLight/RingLightGradientView.swift", + "line": 88, + "symbol": "RingLightGradientView.init(coder:)", + "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/UIKit/CameraUI/Flash/RingLight/RingLightView.swift", + "line": 6, + "symbol": "RingLightView", + "symbol_kind": "source.lang.swift.decl.class", + "warning": "undocumented" + }, + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/CameraKitSandbox/Sources/Reference/UIKit/CameraUI/Flash/RingLight/RingLightView.swift", + "line": 56, + "symbol": "RingLightView.init(frame:)", + "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/UIKit/CameraUI/Flash/RingLight/RingLightView.swift", + "line": 61, + "symbol": "RingLightView.init(coder:)", + "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/UIKit/Carousel/CarouselCollectionViewCell.swift", + "line": 8, + "symbol": "CarouselCollectionViewCell.imageView", + "symbol_kind": "source.lang.swift.decl.var.instance", + "warning": "undocumented" + }, + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/CameraKitSandbox/Sources/Reference/UIKit/Carousel/CarouselCollectionViewCell.swift", + "line": 27, + "symbol": "CarouselCollectionViewCell.init()", + "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/UIKit/Carousel/CarouselCollectionViewCell.swift", + "line": 32, + "symbol": "CarouselCollectionViewCell.init(frame:)", + "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/UIKit/Carousel/CarouselCollectionViewCell.swift", + "line": 37, + "symbol": "CarouselCollectionViewCell.init(coder:)", + "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/UIKit/Carousel/CarouselCollectionViewLayout.swift", + "line": 58, + "symbol": "CarouselCollectionViewLayout.layoutAttributesForElements(in:)", + "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/UIKit/Carousel/CarouselImageLoader.swift", + "line": 17, + "symbol": "DefaultCarouselImageLoader.urlSession", + "symbol_kind": "source.lang.swift.decl.var.instance", + "warning": "undocumented" + }, + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/CameraKitSandbox/Sources/Reference/UIKit/Carousel/CarouselImageLoader.swift", + "line": 21, + "symbol": "DefaultCarouselImageLoader.init(urlSession:)", + "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/UIKit/Carousel/CarouselImageLoader.swift", + "line": 65, + "symbol": "DefaultCarouselImageLoader.cancelImageLoad(from:)", + "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/UIKit/Carousel/CarouselItem.swift", + "line": 44, + "symbol": "EmptyItem.init()", + "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/UIKit/Carousel/CarouselView.swift", + "line": 144, + "symbol": "CarouselView.intrinsicContentSize", + "symbol_kind": "source.lang.swift.decl.var.instance", + "warning": "undocumented" + }, + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/CameraKitSandbox/Sources/Reference/UIKit/Carousel/CarouselView.swift", + "line": 148, + "symbol": "CarouselView.layoutSubviews()", + "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/UIKit/Carousel/CarouselView.swift", + "line": 210, + "symbol": "CarouselView.collectionView(_:numberOfItemsInSection:)", + "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/UIKit/Carousel/CarouselView.swift", + "line": 214, + "symbol": "CarouselView.collectionView(_:cellForItemAt:)", + "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/UIKit/Carousel/CarouselView.swift", + "line": 251, + "symbol": "CarouselView.collectionView(_:willDisplay:forItemAt:)", + "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/UIKit/Carousel/CarouselView.swift", + "line": 261, + "symbol": "CarouselView.collectionView(_:didEndDisplaying:forItemAt:)", + "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/UIKit/Carousel/CarouselView.swift", + "line": 271, + "symbol": "CarouselView.collectionView(_:didSelectItemAt:)", + "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/UIKit/Carousel/CarouselView.swift", + "line": 278, + "symbol": "CarouselView.scrollViewDidScroll(_:)", + "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/UIKit/Helper/UIColor+Hex.swift", + "line": 7, + "symbol": "UIColor.init(hex:alpha:)", + "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/UIKit/Helper/UIFont+SCTypography.swift", + "line": 8, + "symbol": "UIFont.sc_ultraLightFont(size:)", + "symbol_kind": "source.lang.swift.decl.function.method.static", + "warning": "undocumented" + }, + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/CameraKitSandbox/Sources/Reference/UIKit/Helper/UIFont+SCTypography.swift", + "line": 12, + "symbol": "UIFont.sc_regularFont(size:)", + "symbol_kind": "source.lang.swift.decl.function.method.static", + "warning": "undocumented" + }, + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/CameraKitSandbox/Sources/Reference/UIKit/Helper/UIFont+SCTypography.swift", + "line": 16, + "symbol": "UIFont.sc_mediumFont(size:)", + "symbol_kind": "source.lang.swift.decl.function.method.static", + "warning": "undocumented" + }, + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/CameraKitSandbox/Sources/Reference/UIKit/Helper/UIFont+SCTypography.swift", + "line": 20, + "symbol": "UIFont.sc_demiBoldFont(size:)", + "symbol_kind": "source.lang.swift.decl.function.method.static", + "warning": "undocumented" + }, + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/CameraKitSandbox/Sources/Reference/UIKit/Helper/UIFont+SCTypography.swift", + "line": 24, + "symbol": "UIFont.sc_boldFont(size:)", + "symbol_kind": "source.lang.swift.decl.function.method.static", + "warning": "undocumented" + }, + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/CameraKitSandbox/Sources/Reference/UIKit/Helper/UIFont+SCTypography.swift", + "line": 28, + "symbol": "UIFont.sc_heavyFont(size:)", + "symbol_kind": "source.lang.swift.decl.function.method.static", + "warning": "undocumented" + }, + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/CameraKitSandbox/Sources/Reference/UIKit/Keyboard/KeyboardInputAccessoryViewProvider.swift", + "line": 10, + "symbol": "KeyboardAccessoryViewProvider.textView", + "symbol_kind": "source.lang.swift.decl.var.instance", + "warning": "undocumented" + }, + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/CameraKitSandbox/Sources/Reference/UIKit/Keyboard/KeyboardInputAccessoryViewProvider.swift", + "line": 11, + "symbol": "KeyboardAccessoryViewProvider.accessoryView", + "symbol_kind": "source.lang.swift.decl.var.instance", + "warning": "undocumented" + }, + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/CameraKitSandbox/Sources/Reference/UIKit/Keyboard/KeyboardInputAccessoryViewProvider.swift", + "line": 12, + "symbol": "KeyboardAccessoryViewProvider.placeholderText", + "symbol_kind": "source.lang.swift.decl.var.instance", + "warning": "undocumented" + }, + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/CameraKitSandbox/Sources/Reference/UIKit/Keyboard/KeyboardInputAccessoryViewProvider.swift", + "line": 20, + "symbol": "KeyboardAccessoryViewProvider.maximumHeight", + "symbol_kind": "source.lang.swift.decl.var.instance", + "warning": "undocumented" + }, + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/CameraKitSandbox/Sources/Reference/UIKit/Localization/LocalizedString.swift", + "line": 19, + "symbol": "NSString.cameraKit_localized(key:bundle:preferredLanguages:comment:table:)", + "symbol_kind": "source.lang.swift.decl.function.method.class", + "warning": "undocumented" + }, + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/CameraKitSandbox/Sources/Reference/UIKit/MediaPicker/MediaPickerView.swift", + "line": 23, + "symbol": "MediaPickerView.provider", + "symbol_kind": "source.lang.swift.decl.var.instance", + "warning": "undocumented" + }, + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/CameraKitSandbox/Sources/Reference/UIKit/MediaPicker/MediaPickerView.swift", + "line": 103, + "symbol": "MediaPickerView.intrinsicContentSize", + "symbol_kind": "source.lang.swift.decl.var.instance", + "warning": "undocumented" + }, + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/CameraKitSandbox/Sources/Reference/UIKit/MediaPicker/MediaPickerView.swift", + "line": 107, + "symbol": "MediaPickerView.layoutSubviews()", + "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/UIKit/MediaPicker/MediaPickerView.swift", + "line": 172, + "symbol": "MediaPickerView.mediaPickerProviderRequestedUIPresentation(_:)", + "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/UIKit/MediaPicker/MediaPickerView.swift", + "line": 192, + "symbol": "MediaPickerView.mediaPickerProviderRequestedUIDismissal(_:)", + "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/UIKit/Preview/ImagePreviewViewController.swift", + "line": 37, + "symbol": "ImagePreviewViewController.viewDidLoad()", + "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/UIKit/Preview/ImagePreviewViewController.swift", + "line": 56, + "symbol": "ImagePreviewViewController.openSnapchatPressed(_:)", + "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/UIKit/Preview/ImagePreviewViewController.swift", + "line": 60, + "symbol": "ImagePreviewViewController.sharePreviewPressed(_:)", + "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/UIKit/Preview/ImagePreviewViewController.swift", + "line": 66, + "symbol": "ImagePreviewViewController.savePreviewPressed(_:)", + "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/UIKit/Preview/PreviewViewController.swift", + "line": 76, + "symbol": "PreviewViewController.viewDidLoad()", + "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/UIKit/Preview/PreviewViewController.swift", + "line": 90, + "symbol": "PreviewViewController.openSnapchatPressed(_:)", + "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/UIKit/Preview/PreviewViewController.swift", + "line": 95, + "symbol": "PreviewViewController.savePreviewPressed(_:)", + "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/UIKit/Preview/PreviewViewController.swift", + "line": 100, + "symbol": "PreviewViewController.sharePreviewPressed(_:)", + "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/UIKit/Preview/VideoPreviewViewController.swift", + "line": 50, + "symbol": "VideoPreviewViewController.viewDidLoad()", + "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/UIKit/Preview/VideoPreviewViewController.swift", + "line": 70, + "symbol": "VideoPreviewViewController.openSnapchatPressed(_:)", + "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/UIKit/Preview/VideoPreviewViewController.swift", + "line": 74, + "symbol": "VideoPreviewViewController.sharePreviewPressed(_:)", + "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/UIKit/Preview/VideoPreviewViewController.swift", + "line": 90, + "symbol": "VideoPreviewViewController.savePreviewPressed(_:)", + "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/UIKit/Recorder/Recorder.swift", + "line": 67, + "symbol": "Recorder.startRecording()", + "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/UIKit/Recorder/Recorder.swift", + "line": 72, + "symbol": "Recorder.finishRecording(completion:)", + "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/UIKit/Snapchat/Snapchat.swift", + "line": 9, + "symbol": "SnapchatScreen.profile", + "symbol_kind": "source.lang.swift.decl.enumelement", + "warning": "undocumented" + }, + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/CameraKitSandbox/Sources/Reference/UIKit/Snapchat/Snapchat.swift", + "line": 10, + "symbol": "SnapchatScreen.lens(_:)", + "symbol_kind": "source.lang.swift.decl.enumelement", + "warning": "undocumented" + }, + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/CameraKitSandbox/Sources/Reference/UIKit/Snapchat/Snapchat.swift", + "line": 11, + "symbol": "SnapchatScreen.photo(_:)", + "symbol_kind": "source.lang.swift.decl.enumelement", + "warning": "undocumented" + }, + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/CameraKitSandbox/Sources/Reference/UIKit/Snapchat/Snapchat.swift", + "line": 12, + "symbol": "SnapchatScreen.video(_:)", + "symbol_kind": "source.lang.swift.decl.enumelement", + "warning": "undocumented" + }, + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/CameraKitSandbox/Sources/Reference/UIKit/Support/Testable.swift", + "line": 21, + "symbol": "CameraBottomBarElements.closeButton", + "symbol_kind": "source.lang.swift.decl.enumelement", + "warning": "undocumented" + }, + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/CameraKitSandbox/Sources/Reference/UIKit/Support/Testable.swift", + "line": 28, + "symbol": "CameraElements.lensLabel", + "symbol_kind": "source.lang.swift.decl.enumelement", + "warning": "undocumented" + }, + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/CameraKitSandbox/Sources/Reference/UIKit/Support/Testable.swift", + "line": 29, + "symbol": "CameraElements.flipCameraButton", + "symbol_kind": "source.lang.swift.decl.enumelement", + "warning": "undocumented" + }, + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/CameraKitSandbox/Sources/Reference/UIKit/Support/Testable.swift", + "line": 30, + "symbol": "CameraElements.flashToggleButton", + "symbol_kind": "source.lang.swift.decl.enumelement", + "warning": "undocumented" + }, + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/CameraKitSandbox/Sources/Reference/UIKit/Support/Testable.swift", + "line": 31, + "symbol": "CameraElements.flashConfigurationButton", + "symbol_kind": "source.lang.swift.decl.enumelement", + "warning": "undocumented" + }, + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/CameraKitSandbox/Sources/Reference/UIKit/Support/Testable.swift", + "line": 32, + "symbol": "CameraElements.flashControl", + "symbol_kind": "source.lang.swift.decl.enumelement", + "warning": "undocumented" + }, + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/CameraKitSandbox/Sources/Reference/UIKit/Support/Testable.swift", + "line": 33, + "symbol": "CameraElements.flashControlDismissalHint", + "symbol_kind": "source.lang.swift.decl.enumelement", + "warning": "undocumented" + }, + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/CameraKitSandbox/Sources/Reference/UIKit/Support/Testable.swift", + "line": 34, + "symbol": "CameraElements.toneMapToggleButton", + "symbol_kind": "source.lang.swift.decl.enumelement", + "warning": "undocumented" + }, + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/CameraKitSandbox/Sources/Reference/UIKit/Support/Testable.swift", + "line": 35, + "symbol": "CameraElements.toneMapConfigurationButton", + "symbol_kind": "source.lang.swift.decl.enumelement", + "warning": "undocumented" + }, + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/CameraKitSandbox/Sources/Reference/UIKit/Support/Testable.swift", + "line": 36, + "symbol": "CameraElements.toneMapControl", + "symbol_kind": "source.lang.swift.decl.enumelement", + "warning": "undocumented" + }, + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/CameraKitSandbox/Sources/Reference/UIKit/Support/Testable.swift", + "line": 37, + "symbol": "CameraElements.toneMapControlDismissalHint", + "symbol_kind": "source.lang.swift.decl.enumelement", + "warning": "undocumented" + }, + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/CameraKitSandbox/Sources/Reference/UIKit/Support/Testable.swift", + "line": 38, + "symbol": "CameraElements.portraitToggleButton", + "symbol_kind": "source.lang.swift.decl.enumelement", + "warning": "undocumented" + }, + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/CameraKitSandbox/Sources/Reference/UIKit/Support/Testable.swift", + "line": 39, + "symbol": "CameraElements.portraitConfigurationButton", + "symbol_kind": "source.lang.swift.decl.enumelement", + "warning": "undocumented" + }, + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/CameraKitSandbox/Sources/Reference/UIKit/Support/Testable.swift", + "line": 40, + "symbol": "CameraElements.portraitControl", + "symbol_kind": "source.lang.swift.decl.enumelement", + "warning": "undocumented" + }, + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/CameraKitSandbox/Sources/Reference/UIKit/Support/Testable.swift", + "line": 41, + "symbol": "CameraElements.portraitControlDismissalHint", + "symbol_kind": "source.lang.swift.decl.enumelement", + "warning": "undocumented" + }, + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/CameraKitSandbox/Sources/Reference/UIKit/Support/Testable.swift", + "line": 42, + "symbol": "CameraElements.ringLightView", + "symbol_kind": "source.lang.swift.decl.enumelement", + "warning": "undocumented" + }, + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/CameraKitSandbox/Sources/Reference/UIKit/Support/Testable.swift", + "line": 43, + "symbol": "CameraElements.photoLibraryButton", + "symbol_kind": "source.lang.swift.decl.enumelement", + "warning": "undocumented" + }, + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/CameraKitSandbox/Sources/Reference/UIKit/Support/Testable.swift", + "line": 44, + "symbol": "CameraElements.cameraButton", + "symbol_kind": "source.lang.swift.decl.enumelement", + "warning": "undocumented" + }, + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/CameraKitSandbox/Sources/Reference/UIKit/Support/Testable.swift", + "line": 48, + "symbol": "CameraElements.CameraFlip", + "symbol_kind": "source.lang.swift.decl.enum", + "warning": "undocumented" + }, + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/CameraKitSandbox/Sources/Reference/UIKit/Support/Testable.swift", + "line": 49, + "symbol": "CameraElements.CameraFlip.front", + "symbol_kind": "source.lang.swift.decl.var.static", + "warning": "undocumented" + }, + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/CameraKitSandbox/Sources/Reference/UIKit/Support/Testable.swift", + "line": 50, + "symbol": "CameraElements.CameraFlip.back", + "symbol_kind": "source.lang.swift.decl.var.static", + "warning": "undocumented" + }, + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/CameraKitSandbox/Sources/Reference/UIKit/Support/Testable.swift", + "line": 58, + "symbol": "CarouselElements.collectionView", + "symbol_kind": "source.lang.swift.decl.enumelement", + "warning": "undocumented" + }, + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/CameraKitSandbox/Sources/Reference/UIKit/Support/Testable.swift", + "line": 59, + "symbol": "CarouselElements.lensCell", + "symbol_kind": "source.lang.swift.decl.enumelement", + "warning": "undocumented" + }, + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/CameraKitSandbox/Sources/Reference/UIKit/Support/Testable.swift", + "line": 60, + "symbol": "CarouselElements.facadeSelectionRingView", + "symbol_kind": "source.lang.swift.decl.enumelement", + "warning": "undocumented" + }, + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/CameraKitSandbox/Sources/Reference/UIKit/Support/Testable.swift", + "line": 67, + "symbol": "PreviewElements.closeButton", + "symbol_kind": "source.lang.swift.decl.enumelement", + "warning": "undocumented" + }, + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/CameraKitSandbox/Sources/Reference/UIKit/Support/Testable.swift", + "line": 68, + "symbol": "PreviewElements.snapchatButton", + "symbol_kind": "source.lang.swift.decl.enumelement", + "warning": "undocumented" + }, + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/CameraKitSandbox/Sources/Reference/UIKit/Support/Testable.swift", + "line": 69, + "symbol": "PreviewElements.shareButton", + "symbol_kind": "source.lang.swift.decl.enumelement", + "warning": "undocumented" + }, + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/CameraKitSandbox/Sources/Reference/UIKit/Support/Testable.swift", + "line": 70, + "symbol": "PreviewElements.imageView", + "symbol_kind": "source.lang.swift.decl.enumelement", + "warning": "undocumented" + }, + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/CameraKitSandbox/Sources/Reference/UIKit/Support/Testable.swift", + "line": 71, + "symbol": "PreviewElements.playerControllerView", + "symbol_kind": "source.lang.swift.decl.enumelement", + "warning": "undocumented" + }, + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/CameraKitSandbox/Sources/Reference/UIKit/Support/Testable.swift", + "line": 78, + "symbol": "MessageNotificationElements.label", + "symbol_kind": "source.lang.swift.decl.enumelement", + "warning": "undocumented" + }, + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/CameraKitSandbox/Sources/Reference/UIKit/Support/Testable.swift", + "line": 85, + "symbol": "FlashControlElements.flashModeSelector", + "symbol_kind": "source.lang.swift.decl.enumelement", + "warning": "undocumented" + }, + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/CameraKitSandbox/Sources/Reference/UIKit/Support/Testable.swift", + "line": 86, + "symbol": "FlashControlElements.ringLightColorSelector", + "symbol_kind": "source.lang.swift.decl.enumelement", + "warning": "undocumented" + }, + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/CameraKitSandbox/Sources/Reference/UIKit/Support/Testable.swift", + "line": 87, + "symbol": "FlashControlElements.ringLightIntensitySlider", + "symbol_kind": "source.lang.swift.decl.enumelement", + "warning": "undocumented" + }, + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/CameraKitSandbox/Sources/Reference/UIKit/Support/Testable.swift", + "line": 94, + "symbol": "OtherElements.noOpButton", + "symbol_kind": "source.lang.swift.decl.enumelement", + "warning": "undocumented" + }, + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/CameraKitSandbox/Sources/Reference/UIKit/Support/Testable.swift", + "line": 95, + "symbol": "OtherElements.arkitButton", + "symbol_kind": "source.lang.swift.decl.enumelement", + "warning": "undocumented" + }, + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/CameraKitSandbox/Sources/Reference/UIKit/Support/Testable.swift", + "line": 96, + "symbol": "OtherElements.agreementsButton", + "symbol_kind": "source.lang.swift.decl.enumelement", + "warning": "undocumented" + }, + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/CameraKitSandbox/Sources/Reference/UIKit/Support/Testable.swift", + "line": 97, + "symbol": "OtherElements.tapToFocusView", + "symbol_kind": "source.lang.swift.decl.enumelement", + "warning": "undocumented" + }, + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/CameraKitSandbox/Sources/Reference/UIKit/Support/Testable.swift", + "line": 98, + "symbol": "OtherElements.pairingButton", + "symbol_kind": "source.lang.swift.decl.enumelement", + "warning": "undocumented" + }, + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/CameraKitSandbox/Sources/Reference/UIKit/Support/Testable.swift", + "line": 99, + "symbol": "OtherElements.connectedLensStartButton", + "symbol_kind": "source.lang.swift.decl.enumelement", + "warning": "undocumented" + }, + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/CameraKitSandbox/Sources/Reference/UIKit/Views/MessageNotificationView.swift", + "line": 19, + "symbol": "MessageNotificationView.init()", + "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/UIKit/Views/SnapAttributionView.swift", + "line": 12, + "symbol": "SnapAttributionView.poweredByLabel", + "symbol_kind": "source.lang.swift.decl.var.instance", + "warning": "undocumented" + }, + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/CameraKitSandbox/Sources/Reference/UIKit/Views/SnapAttributionView.swift", + "line": 25, + "symbol": "SnapAttributionView.snapIconImage", + "symbol_kind": "source.lang.swift.decl.var.instance", + "warning": "undocumented" + }, + { + "file": "/private/var/lib/jenkins/workspace/camera-kit-ios-sdk/SDKs/CameraKit/CameraKitSandbox/Sources/Reference/UIKit/Views/TapAnimationView.swift", + "line": 34, + "symbol": "TapAnimationView.init(center:)", + "symbol_kind": "source.lang.swift.decl.function.method.instance", + "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.34.0/index.html b/docs/api/ios/1.34.0/index.html new file mode 100644 index 00000000..bc81043c --- /dev/null +++ b/docs/api/ios/1.34.0/index.html @@ -0,0 +1,10681 @@ + + + + + + + + + + + +
+
+
+
+
+
+
+
+ + + +
+ +
+
+

+ +

+
+
+ +
+
+

CameraKit

+

Overview

+

CameraKit consists of three separate modules: a core SDK that contains camera, lenses, and processing functionality, a reference UI SDK that contains custom elements similar to Snapchat's elements, and a SwiftUI SDK that contains SwiftUI wrappers of the reference UI elements.

+ +

This is the core SDK and is required to use CameraKit. This SDK provides the core functionality of CameraKit such as fetching and applying lenses, processing frames, providing default camera setups around AVCaptureSesion and ARSession, etc.

+ +

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

+ +

This is another 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.

+ +
+
+
+ + + +
+
+
+
+
+
+
+
+ + \ No newline at end of file diff --git a/docs/api/ios/latest b/docs/api/ios/latest index b8f66761..0a886580 120000 --- a/docs/api/ios/latest +++ b/docs/api/ios/latest @@ -1 +1 @@ -./1.33.0 \ No newline at end of file +./1.34.0 \ No newline at end of file diff --git a/docs/index.html b/docs/index.html index 5ab06fd2..ccfbdea8 100644 --- a/docs/index.html +++ b/docs/index.html @@ -6,300 +6,291 @@