Package-level declarations

Types

Link copied to clipboard
interface ChangeListener

A callback for Widgets to know when the current set of changes has fully be applied.

Link copied to clipboard
Link copied to clipboard
@ObjCName(name = "MutableListChildren", exact = true)
class MutableListChildren<W : Any>(container: MutableList<Widget<W>> = mutableListOf(), modifierUpdated: () -> Unit = {}) : Widget.Children<W> , MutableList<Widget<W>>

A MutableList that is also a Widget.Children.

Link copied to clipboard
open class RedwoodLayout(context: Context, androidOnBackPressedDispatcher: OnBackPressedDispatcher) : ViewGroup, RedwoodView<View>
Link copied to clipboard
open class RedwoodUIView : RedwoodView<UIView>
Link copied to clipboard
@ObjCName(name = "RedwoodView", exact = true)
interface RedwoodView<W : Any>
Link copied to clipboard
interface ResizableWidget<W : Any> : Widget<W>

Implement this optional interface in all UIView Widget bindings that dynamically resize. Implementations should call SizeListener on each property changes that cause the widget's measured dimensions to change.

Link copied to clipboard
Link copied to clipboard
class UIViewChildren(container: UIView, insert: (index: Int, widget: Widget<UIView>) -> Unit = when (container) { is UIStackView -> { index, widget -> container.insertArrangedSubview(widget.value, index.convert()) } else -> { index, widget -> container.insertSubview(widget.value, index.convert<NSInteger>()) } }, remove: (index: Int, count: Int) -> Unit = when (container) { is UIStackView -> { index, count -> container.typedArrangedSubviews.removeFromSuperview(index, count) } else -> { index, count -> container.typedSubviews.removeFromSuperview(index, count) } }, invalidateSize: () -> Unit = { (container.superview ?: container).setNeedsLayout() }, onModifierUpdated: (index: Int, widget: Widget<UIView>) -> Unit = { _, _ -> invalidateSize() }) : Widget.Children<UIView>
Link copied to clipboard
class ViewGroupChildren(container: ViewGroup, insert: (index: Int, widget: Widget<View>) -> Unit = { index, widget -> container.addView(widget.value, index) }, remove: (index: Int, count: Int) -> Unit = { index, count -> container.removeViews(index, count) }, onModifierUpdated: (index: Int, widget: Widget<View>) -> Unit = { _, _ -> container.requestLayout() }) : Widget.Children<View>
Link copied to clipboard
@ObjCName(name = "Widget", exact = true)
interface Widget<W : Any>

The target of a composable function's values. Usually binds to an associated native UI toolkit element, but could also forward changes through a serialized protocol or record the latest values for testing.

Link copied to clipboard
interface WidgetSystem<W : Any>

Interface for types whose properties expose factories for a schema and all its transitive dependencies.

Functions

Link copied to clipboard