All available tools are implemented as
PhotoEditToolController subclasses and
get presented in a stacked layout, starting from the
PhotoEditViewController as root, which is embedded in a
ToolbarController for hierarchy and toolbar management. Each tool controller can be configured using its corresponding
ToolControllerOptions subclass as described in the configuration and customization sections.
A single tool controller consists of four main views:
workspaceView- The view showing the image thats currently being edited and any changes, e.g. brush strokes or stickers, that are applied to it
overlays- A set of buttons that are overlaid on the
workspaceViewand offer functionality like ‘Redo’, ‘Undo’ or ‘Bring to front’
accessoryView- The default place for controls, that belong to the current tool
toolbar- The bottom toolbar, managed by the
ToolbarControllerdisplays the current tool and allows apply/cancel actions.