13.0
9.0
flutter pub add pencil_kit
Methods available for PencilKitController
.
Method | Description | Throws | Etc |
---|---|---|---|
clear() | Clear canvas | X | |
show() | Show Palette | X | |
hide() | Hide Palette | X | |
redo() | Redo last drawing action | X | |
undo() | Undo last drawing action | X | |
save(): Future<String?> | Save drawing data into file system, can return base 64 data if withBase64Data is true |
O | |
load(): Future<String?> | Load drawing data from file system, can return base 64 data if withBase64Data is true |
O | |
getBase64Data(): Future |
Get current drawing data as base64 string form | O | |
loadBase64Data(String base64Data): Future |
Load base64 drawing data into canvas | O | |
getBase64PngData(): Future |
Get current drawing data as png base64 string form | O | scale = 0 means use default UIScreen.main.scale |
getBase64JpegData(): Future |
Get current drawing data as jpeg base64 string form | O | scale = 0 means use default UIScreen.main.scale. default compression is 0.93 |
setPKTool({required ToolType toolType, double? width, Color? color}): Future |
Set PKTool type with width and color |
X |
setPKTool
setPKTool
can fail if tool type is not supported by device iOS version
In eraser tools, the width parameter will work only from iOS 16.4 or above iOS version
You should check whether feature is available in user's iOS version with [ToolType.isAvailableFromIos16_4] and [ToolType.isAvailableFromIos17]
Read more about ToolType
type definition.
PencilKit
Widget ParametersAll the available parameters.
Parameter | Description | |
---|---|---|
onPencilKitViewCreated | A callback for platform view created. You can store PencilKitController from argument of this callback. |
|
hitTestBehavior | iOS UIKitView hitTestBehavior |
|
unAvailableFallback | A widget for render UnAvailable state. The default is A red box | |
alwaysBounceVertical | A Boolean value that determines whether bouncing always occurs when vertical scrolling reaches the end of the content. | |
alwaysBounceHorizontal | A Boolean value that determines whether bouncing always occurs when horizontal scrolling reaches the end of the content view. | |
isRulerActive | A Boolean value that indicates whether a ruler view is visible on the canvas. | |
drawingPolicy | The policy that controls the types of touches allowed when drawing on the canvas. This properties can be applied from iOS 14.0 | |
toolPickerVisibilityDidChange | Tells the delegate that the tool picker UI changed visibility. | |
toolPickerIsRulerActiveDidChange | Tells the delegate that the ruler active state was changed by the user. | |
toolPickerFramesObscuredDidChange | Tells the delegate that the frames the tool picker obscures changed. | |
toolPickerSelectedToolDidChange | Tells the delegate that the selected tool was changed by the user. | |
canvasViewDidBeginUsingTool | Called when the user starts using a tool, eg. selecting, drawing, or erasing. | |
canvasViewDidEndUsingTool | Called when the user stops using a tool, eg. selecting, drawing, or erasing. | |
canvasViewDrawingDidChange | Called after the drawing on the canvas did change. | |
canvasViewDidFinishRendering | Called after setting drawing when the entire drawing is rendered and visible. |
Please read CONTRIBUTING.md and contribute your works! Thank you :)
Check example on pub.dev page or example project repo
Pencil Kit XXX+ ms
and it freezes.
Graphics HUD
menu in iOS Developer Settings. #22