[go: nahoru, domu]

blob: a61ddab61db1dd550d1642f79d2ab5f4cd50a3cc [file] [log] [blame]
/*
* Copyright 2020 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package androidx.ui.core
import androidx.compose.animation.core.AnimationClockObservable
import androidx.compose.ambientOf
import androidx.compose.staticAmbientOf
import androidx.ui.autofill.Autofill
import androidx.ui.autofill.AutofillTree
import androidx.ui.core.clipboard.ClipboardManager
import androidx.ui.core.hapticfeedback.HapticFeedback
import androidx.ui.core.texttoolbar.TextToolbar
import androidx.compose.ui.text.input.TextInputService
import androidx.ui.platform.UriHandler
import androidx.compose.ui.text.font.Font
import androidx.ui.unit.Density
import kotlin.coroutines.CoroutineContext
/**
* The default animation clock used for animations when an explicit clock isn't provided.
*/
val AnimationClockAmbient = staticAmbientOf<AnimationClockObservable>()
/**
* The ambient that can be used to trigger autofill actions. Eg. [Autofill.requestAutofillForNode].
*/
val AutofillAmbient = staticAmbientOf<Autofill?>()
/**
* The ambient that can be used to add
* [AutofillNode][import androidx.ui.autofill.AutofillNode]s to the autofill tree. The
* [AutofillTree] is a temporary data structure that will be replaced by Autofill Semantics
* (b/138604305).
*/
val AutofillTreeAmbient = staticAmbientOf<AutofillTree>()
/**
* The ambient to provide communication with platform clipboard service.
*/
val ClipboardManagerAmbient = staticAmbientOf<ClipboardManager>()
/**
* Don't use this.
* @suppress
*/
@Deprecated(message = "This will be replaced with something more appropriate when suspend works.")
val CoroutineContextAmbient = ambientOf<CoroutineContext>()
/**
* Provides the [Density] to be used to transform between [density-independent pixel
* units (DP)][androidx.ui.unit.Dp] and [pixel units][androidx.ui.unit.Px] or
* [scale-independent pixel units (SP)][androidx.ui.unit.TextUnit] and
* [pixel units][androidx.ui.unit.Px]. This is typically used when a [DP][androidx.ui.unit.Dp]
* is provided and it must be converted in the body of [Layout] or [DrawModifier].
*/
val DensityAmbient = staticAmbientOf<Density>()
/**
* The ambient to provide platform font loading methods.
*
* Use [androidx.ui.res.fontResource] instead.
* @suppress
*/
val FontLoaderAmbient = staticAmbientOf<Font.ResourceLoader>()
/**
* The ambient to provide haptic feedback to the user.
*/
val HapticFeedBackAmbient = staticAmbientOf<HapticFeedback>()
/**
* The ambient to provide communication with platform text input service.
*/
val TextInputServiceAmbient = staticAmbientOf<TextInputService?>()
/**
* The ambient to provide text-related toolbar.
*/
val TextToolbarAmbient = staticAmbientOf<TextToolbar>()
/**
* The ambient to provide functionality related to URL, e.g. open URI.
*/
val UriHandlerAmbient = staticAmbientOf<UriHandler>()