Package-level declarations

Types

Link copied to clipboard
data class ConfigureWhiteboardModalOptions(val isVisible: Boolean, val onClose: () -> Unit, val parameters: ConfigureWhiteboardModalParameters, val backgroundColor: Color = Color(0xFFF5F5F5))

Options for ConfigureWhiteboardModal.

Link copied to clipboard

Parameters for the ConfigureWhiteboardModal.

Link copied to clipboard

Callbacks for whiteboard image operations

Link copied to clipboard
data class WhiteboardImageResult(val imageData: ByteArray?, val imageSrc: String?, val width: Int, val height: Int)

Result from image picker operation

Link copied to clipboard
Link copied to clipboard
data class WhiteboardModalOptions(val isVisible: Boolean = false, val onClose: () -> Unit, val onStart: () -> Unit, val onStop: () -> Unit, val onClear: () -> Unit, val isWhiteboardActive: Boolean, val hasDrawingAccess: Boolean, val socketManager: SocketManager?)

Options for rendering the collaborative whiteboard modal.

Link copied to clipboard
data class WhiteboardOptions(val customWidth: Float, val customHeight: Float, val parameters: WhiteboardParameters, val showAspect: Boolean = true)

Options for configuring the Whiteboard widget.

Link copied to clipboard
class WhiteboardPainter(textMeasurer: TextMeasurer)

WhiteboardPainter - Handles rendering of all shapes on the whiteboard canvas.

Link copied to clipboard

Parameters for the Whiteboard widget.

Link copied to clipboard
data class WhiteboardToolbarOptions(val currentMode: WhiteboardMode = WhiteboardMode.PAN, val currentShapeType: WhiteboardShapeType = WhiteboardShapeType.RECTANGLE, val currentColor: Color = Color.Black, val brushThickness: Float = 6.0f, val lineThickness: Float = 6.0f, val eraserThickness: Float = 10.0f, val lineType: LineType = LineType.SOLID, val fontSize: Float = 20.0f, val useImageBackground: Boolean = false, val canUndo: Boolean = false, val canRedo: Boolean = false, val hasSelectedShape: Boolean = false, val onModeChanged: (WhiteboardMode) -> Unit = {}, val onShapeTypeChanged: (WhiteboardShapeType) -> Unit = {}, val onColorChanged: (Color) -> Unit = {}, val onBrushThicknessChanged: (Float) -> Unit = {}, val onLineThicknessChanged: (Float) -> Unit = {}, val onEraserThicknessChanged: (Float) -> Unit = {}, val onLineTypeChanged: (LineType) -> Unit = {}, val onFontSizeChanged: (Float) -> Unit = {}, val onUndo: () -> Unit = {}, val onRedo: () -> Unit = {}, val onDeleteShape: () -> Unit? = null, val onClear: () -> Unit = {}, val onZoomIn: () -> Unit = {}, val onZoomOut: () -> Unit = {}, val onResetZoom: () -> Unit = {}, val onToggleBackground: () -> Unit = {}, val onSave: () -> Unit? = null, val onUploadImage: () -> Unit? = null, val onToggleToolbar: () -> Unit = {})

Options for WhiteboardToolbar component.

Functions

Link copied to clipboard

ConfigureWhiteboardModal - Modal for configuring and managing whiteboard sessions.

Link copied to clipboard
fun createImageShape(imageData: ByteArray?, imageSrc: String?, width: Int, height: Int, canvasCenter: Offset, userId: String): WhiteboardShape

Creates a WhiteboardShape for an uploaded image.

Link copied to clipboard
actual fun decodeImageBitmap(imageData: ByteArray): ImageBitmap?

Android implementation for decoding image ByteArray to ImageBitmap. Uses BitmapFactory to decode the bytes and converts to Compose ImageBitmap.

expect fun decodeImageBitmap(imageData: ByteArray): ImageBitmap?

Platform-specific implementation for decoding image ByteArray to ImageBitmap. On Android, uses BitmapFactory to decode and converts to ImageBitmap. On iOS, uses UIImage and converts to ImageBitmap.

Link copied to clipboard
actual fun rememberImagePickerLauncher(onImagePicked: (WhiteboardImageResult?) -> Unit): () -> Unit

Android implementation of image picker for whiteboard. Uses PhotoPicker (ActivityResultContracts.PickVisualMedia) for modern Android versions.

expect fun rememberImagePickerLauncher(onImagePicked: (WhiteboardImageResult?) -> Unit): () -> Unit

Platform-specific implementation for picking images from gallery. On Android, uses ActivityResultContracts.PickVisualMedia. On iOS, uses PHPickerViewController.

Link copied to clipboard
Link copied to clipboard
actual fun shareWhiteboardCanvas(shapes: List<WhiteboardShape>, canvasWidth: Int, canvasHeight: Int, useImageBackground: Boolean, onComplete: (success: Boolean, message: String) -> Unit)

Android implementation of canvas sharing. Renders all shapes to a bitmap and shares via Intent.ACTION_SEND.

expect fun shareWhiteboardCanvas(shapes: List<WhiteboardShape>, canvasWidth: Int, canvasHeight: Int, useImageBackground: Boolean, onComplete: (success: Boolean, message: String) -> Unit)

Platform-specific implementation for capturing and sharing the canvas. On Android, captures the composable as bitmap and shares via Intent.ACTION_SEND. On iOS, uses UIActivityViewController.

Link copied to clipboard
fun Whiteboard(options: WhiteboardOptions, modifier: Modifier = Modifier)

Whiteboard - Real-time collaborative drawing and annotation canvas

Link copied to clipboard

Toolbar widget for the whiteboard providing drawing tools and controls.