Class DrawCanvasUI
- Namespace
- WitShells.CanvasDrawTool
Main drawing canvas UI component. Manages the layer container and provides zoom/pan functionality. Each layer is now a separate RawImage GameObject for mobile performance.
public class DrawCanvasUI : MonoBehaviour, IPointerEnterHandler, IPointerExitHandler
- Inheritance
-
DrawCanvasUI
- Implements
-
IPointerEnterHandlerIPointerExitHandler
Fields
OnCanvasCleared
public UnityEvent OnCanvasCleared
Field Value
- UnityEvent
OnCanvasCreated
public UnityEvent OnCanvasCreated
Field Value
- UnityEvent
OnPanChanged
public UnityEvent<Vector2> OnPanChanged
Field Value
- UnityEvent<Vector2>
OnPointerEnterCanvas
public UnityEvent OnPointerEnterCanvas
Field Value
- UnityEvent
OnPointerExitCanvas
public UnityEvent OnPointerExitCanvas
Field Value
- UnityEvent
OnZoomChanged
public UnityEvent<float> OnZoomChanged
Field Value
- UnityEvent<float>
Properties
CanvasHeight
public int CanvasHeight { get; }
Property Value
CanvasRect
public RectTransform CanvasRect { get; }
Property Value
- RectTransform
CanvasWidth
public int CanvasWidth { get; }
Property Value
CurrentZoom
public float CurrentZoom { get; }
Property Value
DrawingEngine
public DrawingEngine DrawingEngine { get; }
Property Value
IsPointerOver
public bool IsPointerOver { get; }
Property Value
LayerManager
public LayerManager LayerManager { get; }
Property Value
PanOffset
public Vector2 PanOffset { get; }
Property Value
- Vector2
Methods
ClearCanvas()
Clear all layers and start fresh.
public void ClearCanvas()
CreateNewCanvas(int, int, Color?)
Create a new canvas with specified dimensions.
public void CreateNewCanvas(int width, int height, Color? backgroundColor = null)
Parameters
GetColorAtScreenPosition(Vector2, out Color)
Get color at screen position.
public bool GetColorAtScreenPosition(Vector2 screenPosition, out Color color)
Parameters
screenPositionVector2colorColor
Returns
OnPointerEnter(PointerEventData)
public void OnPointerEnter(PointerEventData eventData)
Parameters
eventDataPointerEventData
OnPointerExit(PointerEventData)
public void OnPointerExit(PointerEventData eventData)
Parameters
eventDataPointerEventData
Pan(Vector2)
Add to pan offset.
public void Pan(Vector2 delta)
Parameters
deltaVector2
PickColorFromActiveLayer(Vector2, out Color)
Pick color from current active layer.
public bool PickColorFromActiveLayer(Vector2 screenPosition, out Color color)
Parameters
screenPositionVector2colorColor
Returns
ResetPan()
Reset pan to center.
public void ResetPan()
ScreenToCanvasPixel(Vector2, out Vector2Int)
Convert screen position to canvas pixel coordinates.
public bool ScreenToCanvasPixel(Vector2 screenPosition, out Vector2Int pixelPosition)
Parameters
screenPositionVector2pixelPositionVector2Int
Returns
SetPan(Vector2)
Set pan offset.
public void SetPan(Vector2 offset)
Parameters
offsetVector2
SetZoom(float)
Set zoom level.
public void SetZoom(float zoom)
Parameters
zoomfloat
UpdateCanvasDisplay()
Update the canvas display (refresh layer visuals).
public void UpdateCanvasDisplay()
ZoomIn()
Zoom in by step.
public void ZoomIn()
ZoomOut()
Zoom out by step.
public void ZoomOut()
ZoomToActualSize()
Zoom to actual size (100%).
public void ZoomToActualSize()
ZoomToFit()
Zoom to fit canvas in view.
public void ZoomToFit()