webcface.canvas2d module

class webcface.canvas2d.Canvas2D(base: Field, field: str = '', width: SupportsFloat | None = None, height: SupportsFloat | None = None)[source]

Bases: Field

add(*args: TemporalComponent | Line | Plane | Circle | Polygon, **kwargs) Canvas2D[source]

要素を追加

初期化時またはinit()で事前にサイズを指定していなければエラー

Parameters:

args – 追加する要素

(ver3.0〜:複数指定した場合すべて追加される。) :arg kwargs: (ver3.0〜) argsが初期化済みの要素でない場合、要素の初期化時に渡すオプション。 詳細は TemporalComponent のコンストラクタを参照

child(field: str) Canvas2D[source]

子フィールドを返す

Returns:

「(thisのフィールド名).(子フィールド名)」をフィールド名とするView

exists() bool[source]

このフィールドにデータが存在すればtrue (ver2.0〜)

try_get() などとは違って、実際のデータを受信しない。 リクエストもしない。

get() List[Canvas2DComponent][source]

Canvasをlistで返す、まだリクエストされてなければ自動でリクエストされる

property height: float

Canvasのサイズを返す、まだリクエストされてなければ自動でリクエストされる

init()されている場合はその値を返す

init(width: SupportsFloat, height: SupportsFloat) Canvas2D[source]

このCanvas2Dオブジェクトにaddした内容を初期化する and Canvas2Dのサイズを指定する

property member: Member

Memberを返す

property name: str

field名を返す

on_change(func: Callable) Callable[source]

値が変化したときのイベント (ver2.0〜)

コールバックの引数にはCanvas2Dオブジェクトが渡される。

まだ値をリクエストされてなければ自動でリクエストされる

request() None[source]

値の受信をリクエストする

sync() Canvas2D[source]

Viewの内容をclientに反映し送信可能にする

try_get() List[Canvas2DComponent] | None[source]

CanvasをlistまたはNoneで返す、まだリクエストされてなければ自動でリクエストされる

property width: float

Canvasのサイズを返す、まだリクエストされてなければ自動でリクエストされる

init()されている場合はその値を返す

class webcface.canvas2d.Canvas2DComponent(base: Canvas2DComponentBase, data: ClientData | None, id: str)[source]

Bases: Canvas2DComponentBase

property color: int

色 (ViewColor)

property fill: int

塗りつぶしの色 (ViewColor)

property geometry: Geometry

表示する図形

property id: str

要素のid (ver3.0〜)

property origin: Transform

表示する要素の移動

property stroke_width: float

線の太さ

property type: int

コンポーネントの種類

Canvas2DComponentType Enumを使う

class webcface.canvas2d.Canvas2DData(width: float, height: float)[source]

Bases: object

components: Dict[str, Canvas2DComponentBase]
height: float
ids: List[str]
tmp_components: List[TemporalComponent]
width: float