---
title: "CanvasOp.CustomComponent"
description: "Represents a custom component layout operation."
type: "class"
lastmod: "2026-09-24"
---
## API Reference

> Source set: Android

```kotlin
class CustomComponent(
        val config: String,
        val modifier: RemoteModifier,
        val properties: List<CustomPropertyEntry>,
        val childSpan: CanvasOperationBuffer.Span?,
    ) : CanvasOp()
```

Represents a custom component layout operation.

## Functions

### write

> Source set: Android

```kotlin
override fun write(writer: RemoteComposeWriter, creationState: RemoteComposeCreationState)
```

### hasTransformsOrClips

> Source set: Android

```kotlin
override fun hasTransformsOrClips(): Boolean
```

### containsDrawingPrimitives

> Source set: Android

```kotlin
override fun containsDrawingPrimitives(): Boolean
```

### switchesCanvasOrHasCondition

> Source set: Android

```kotlin
override fun switchesCanvasOrHasCondition(): Boolean
```

### emitsWireCommands

> Source set: Android

```kotlin
override fun emitsWireCommands(): Boolean
```

### optimizeChildScopes

> Source set: Android

```kotlin
override fun optimizeChildScopes(buffer: CanvasOperationBuffer)
```

### shouldPrune

> Source set: Android

```kotlin
override fun shouldPrune(buffer: CanvasOperationBuffer): Boolean
```

### toString

> Source set: Android

```kotlin
override fun toString(): String
```
