S or /

Class talon.canvas.Canvas

from talon.canvas import Canvas
class Canvas

Example

import skia
from talon import canvas, cron, screen

surface = canvas.Canvas.from_screen(screen.main())

def draw(c: skia.Canvas):
    paint = skia.Paint()
    paint.color = "ff0000"
    paint.antialias = True
    c.draw_circle(100, 100, 30, paint)

surface.register("draw", draw)
surface.freeze()
cron.after("3s", surface.close)

Methods

from_screen§

@classmethod
def from_screen(cls, screen: talon.screen.Screen, **kwargs: Any) -> Self

from_rect§

@classmethod
def from_rect(cls, rect: skia.Rect, **kwargs: Any) -> Self

pause§

def pause(self) -> None

resume§

def resume(self) -> None

hide§

def hide(self) -> None

show§

def show(self) -> None

freeze§

def freeze(self) -> None

move§

def move(self, x: float, y: float) -> None

resize§

def resize(self, width: float, height: float) -> None

resize_from_screen§

def resize_from_screen(self, screen: talon.screen.Screen) -> None

disable_capture§

@contextlib.contextmanager
def disable_capture(self) -> Generator[None]

close§

def close(self) -> None

register§

def register(self, topic: Any, cb: Callable) -> None

unregister§

def unregister(self, topic: Any, cb: Callable) -> None

Properties

rect§

@property
def rect(self) -> skia.Rect
@rect.setter
def rect(self, rect: skia.Rect) -> None

panel§

@property
def panel(self) -> bool
@panel.setter
def panel(self, value: bool) -> None

fullscreen§

@property
def fullscreen(self) -> bool
@fullscreen.setter
def fullscreen(self, value: bool) -> None

draggable§

@property
def draggable(self) -> bool
@draggable.setter
def draggable(self, value: bool) -> None

allows_capture§

@property
def allows_capture(self) -> bool
@allows_capture.setter
def allows_capture(self, value: bool) -> None

cursor_visible§

@property
def cursor_visible(self) -> bool
@cursor_visible.setter
def cursor_visible(self, value: bool) -> None

blocks_mouse§

@property
def blocks_mouse(self) -> bool
@blocks_mouse.setter
def blocks_mouse(self, value: bool) -> None

focused§

@property
def focused(self) -> bool
@focused.setter
def focused(self, value: bool) -> None

title§

@property
def title(self) -> str
@title.setter
def title(self, value: str) -> None

ui_scale§

@property
def ui_scale(self) -> float

backing_scale§

@property
def backing_scale(self) -> float

Further reading