import { Field } from "./field.js"; import * as Message from "./message.js"; import { ClientData } from "./clientData.js"; import { EventTarget } from "./event.js"; import { Member } from "./member.js"; import { TemporalGeometry, Geometry } from "./canvas3d.js"; import { Transform } from "./transform.js"; import { Func } from "./func.js"; import { IdBase } from "./view.js"; import { FieldBase } from "./fieldBase.js"; import { FuncCallback } from "./funcBase.js"; export interface Canvas2DComponentOption { origin?: Transform; color?: number; fillColor?: number; strokeWidth?: number; onClick?: FieldBase | Func | FuncCallback; } export declare class Canvas2DComponent extends IdBase { private _type; private _origin; private _color; private _fill; private _stroke_width; private _geometry; private _on_click; private _on_click_tmp; private _text; private data; constructor(data: ClientData | null, type: number, geometry: Geometry | null, text: string, options?: Canvas2DComponentOption); /** * AnonymousFuncをFuncオブジェクトにロックする */ lockTmp(data: ClientData, canvasName: string, idxNext: Map): this; get type(): number; get origin(): Transform; get color(): number; get fill(): number; get fillColor(): number; get strokeWidth(): number; get textSize(): number; get geometry(): Geometry; get text(): string; /** * クリック時に実行する関数 */ get onClick(): Func | null; /** * TemporalGeometry.to2() との互換性のため */ to2(): this; static fromMessage(data: ClientData | null, msg: Message.Canvas2DComponent, idxNext: Map): Canvas2DComponent; toMessage(): Message.Canvas2DComponent; } export declare const canvas2DComponentType: { readonly geometry: 0; readonly text: 3; }; /** * Canvas2Dを指すクラス * * 詳細は {@link https://na-trium-144.github.io/webcface/md_14__canvas2d.html Canvas2Dのドキュメント} * を参照 */ export declare class Canvas2D extends EventTarget { base_: Field; /** * このコンストラクタは直接使わず、 * Member.canvas2D(), Member.canvas2DEntries(), Member.onCanvas2DEntry などを使うこと */ constructor(base: Field, field?: string); /** * Memberを返す */ get member(): Member; /** * field名を返す */ get name(): string; /** * 「(thisのフィールド名).(追加の名前)」をフィールド名とするCanvas2D */ child(field: string): Canvas2D; /** * 値をリクエストする。 */ request(): void; /** * canvasのデータを返す */ tryGet(): Canvas2DComponent[] | null; /** * canvasのデータを返す */ get(): Canvas2DComponent[]; get width(): number | null; get height(): number | null; /** * このフィールドにデータが存在すればtrueを返す * @since ver1.8 * * tryGet() とは違って、実際のデータを受信しない。 * (リクエストも送信しない) */ exists(): boolean; /** * Memberのsyncの時刻を返す * * @deprecated ver1.6〜 Member.syncTime() に移行 */ time(): Date; /** * Canvas2DComponentのリストをセットする * */ set(width: number, height: number, data: (Canvas2DComponent | TemporalGeometry)[]): void; }