---
title: FxTileableEffect
framework: Professional Video Applications
role: symbol
role_heading: Protocol
platforms: [fxplug 4.0+]
path: professional_video_applications/fxtileableeffect
---

# FxTileableEffect

The designated initializer for your plug-in for rendering only certain portions of the plug-in’s output, referred to as tiles.

## Declaration

```swift
protocol FxTileableEffect : NSObjectProtocol
```

## Parameters

- `apiManager`: An object that obtains the various API objects your plug-in needs for communicating with the host application.

## Mentioned in

Building an FxPlug plug-in manually Migrating FxPlug 3 plug-ins to FxPlug 4 Adding parameters to plug-ins Thread safety in plug-ins

## Overview

Overview Using this protocol, your plug-in can render select portions of its output, or tiles, to increase efficiency and to operate outside the host’s process. Your plug-in should saves a weak reference to the apiManager object to use in subsequent calls. The plug-in initializes its properties and instance variables and returns a pointer to self. If any part of initialization fails in an unrecoverable way, this method returns nil.

## Topics

### Setting up your plug-in

- [init(apiManager:)](professional_video_applications/fxtileableeffect/init(apimanager:)-6vvaz.md)
- [PROAPIAccessing](professional_video_applications/proapiaccessing.md)
- [finishInitialSetup()](professional_video_applications/fxtileableeffect/finishinitialsetup().md)
- [pluginInstanceAddedToDocument()](professional_video_applications/fxtileableeffect/plugininstanceaddedtodocument().md)
- [properties(_:)](professional_video_applications/fxtileableeffect/properties(_:).md)

### Adding and setting parameters

- [addParameters()](professional_video_applications/fxtileableeffect/addparameters().md)
- [class(forCustomParameterID:)](professional_video_applications/fxtileableeffect/class(forcustomparameterid:).md)
- [classes(forCustomParameterID:)](professional_video_applications/fxtileableeffect/classes(forcustomparameterid:).md)
- [parameterChanged(_:at:)](professional_video_applications/fxtileableeffect/parameterchanged(_:at:).md)

### Determining input and output bounds

- [sourceTileRect(_:sourceImageIndex:sourceImages:destinationTileRect:destinationImage:pluginState:at:)](professional_video_applications/fxtileableeffect/sourcetilerect(_:sourceimageindex:sourceimages:destinationtilerect:destinationimage:pluginstate:at:).md)
- [destinationImageRect(_:sourceImages:destinationImage:pluginState:at:)](professional_video_applications/fxtileableeffect/destinationimagerect(_:sourceimages:destinationimage:pluginstate:at:).md)
- [FxRectsAreEqual(_:_:)](professional_video_applications/fxrectsareequal(_:_:).md)

### Rendering an output

- [pluginState(_:at:quality:)](professional_video_applications/fxtileableeffect/pluginstate(_:at:quality:).md)
- [scheduleInputs(_:withPluginState:at:)](professional_video_applications/fxtileableeffect/scheduleinputs(_:withpluginstate:at:).md)
- [renderDestinationImage(_:sourceImages:pluginState:at:)](professional_video_applications/fxtileableeffect/renderdestinationimage(_:sourceimages:pluginstate:at:).md)

### Data types

- [FxDepth](professional_video_applications/fxdepth.md)
- [FxField](professional_video_applications/fxfield.md)
- [FxFieldOrder](professional_video_applications/fxfieldorder.md)
- [FxPoint2D](professional_video_applications/fxpoint2d.md)
- [FxPoint3D](professional_video_applications/fxpoint3d.md)
- [FxQuality](professional_video_applications/fxquality.md)
- [FxRect](professional_video_applications/fxrect.md)
- [FxSize](professional_video_applications/fxsize.md)
- [FxDrawingCoordinates](professional_video_applications/fxdrawingcoordinates.md)
- [FxError](professional_video_applications/fxerror.md)
- [FxImageColorInfo](professional_video_applications/fximagecolorinfo.md)

### Constants

- [kFxRect_Empty](professional_video_applications/kfxrect_empty.md)
- [kFxRect_Infinite](professional_video_applications/kfxrect_infinite.md)
- [FxQuality](professional_video_applications/fxquality.md)
- [FxDepth](professional_video_applications/fxdepth.md)
- [FxPlugErrorDomain](professional_video_applications/fxplugerrordomain.md)

### Initializers

- [init(APIManager:)](professional_video_applications/fxtileableeffect/init(apimanager:)-31e6q.md)

## Relationships

### Inherits From

- [NSObjectProtocol](objectivec/nsobjectprotocol.md)

## See Also

### Rendering

- [Rendering in FxPlug](professional-video-applications/rendering-in-fxplug.md)
- [Communicating with the plug-in state](professional-video-applications/communicating-with-the-plug-in-state.md)
- [Working with tiled images](professional-video-applications/working-with-tiled-images.md)
- [Optimizing FxPlug plug-ins](professional-video-applications/optimizing-fxplug-plug-ins.md)
