Architecture
The PhotoEditor SDK for iOS consists of two main components:
Backend
The SDK’s backend is in charge of all image processing and rendering. That includes live filters, any adjustments made by the user and the final image export. All image modifications, that have been applied to the image, are stored in a PhotoEditModel
. This model is used to determine if a new rendering pass is necessary and holds all values.
Frontend
The frontend contains all UI elements including the PhotoEditToolController
, which is the base class for all tools, the StackLayoutToolController
, which is a subclass of PhotoEditToolController
and lays out its views into the top workspaceView
and the bottom accessoryView
, which is used for the menu.
It also contains the CameraViewController
and PhotoEditViewController
classes, which represent the root view controllers as well as the ToolbarController
, which is used to handle the transitions between the editor and its tools.
All tools described in the Features
section are implemented as PhotoEditToolController
subclasses and managed by the ToolbarController
. The UI configuration is implemented using the Configuration
class and their subclasses, as described in the configuration section.