6#include "webcface/common/webcface-config.h"
13template <
typename Component>
25 std::shared_ptr<internal::Canvas2DDataBuf> sb;
40 using Field::lastName;
76 return child(std::to_string(index));
98 template <
typename F,
typename std::enable_if_t<std::is_invocable_v<F>,
99 std::
nullptr_t> =
nullptr>
102 [callback = std::move(callback)](
const auto &) { callback(); });
111 template <
typename T>
113 onChange(std::forward<T>(callback));
126 std::optional<std::vector<Canvas2DComponent>> tryGet()
const;
131 std::vector<Canvas2DComponent>
get()
const {
132 return tryGet().value_or(std::vector<Canvas2DComponent>{});
148 [[deprecated]] std::chrono::system_clock::time_point time()
const;
164 const Canvas2D &init(
double width,
double height)
const;
183 template <
typename T>
185 *this << std::forward<T>(cc);
193 template <
bool V,
bool C3>
211 template <
typename T,
typename std::enable_if_t<std::is_same_v<T, Canvas2D>,
212 std::
nullptr_t> =
nullptr>
214 return static_cast<Field>(*this) ==
static_cast<Field>(other);
216 template <
typename T,
typename std::enable_if_t<std::is_same_v<T, Canvas2D>,
217 std::
nullptr_t> =
nullptr>
219 return static_cast<Field>(*this) !=
static_cast<Field>(other);
Canvas2Dの送受信データを表すクラス
Definition canvas2d.h:24
const Canvas2D & operator<<(TemporalComponent< V, true, C3 > cc) const
Geometryを追加
Definition canvas2d.h:194
bool operator==(const T &other) const
Canvas2Dの参照先を比較
Definition canvas2d.h:213
const Canvas2D & onChange(F callback) const
値が変化したときに呼び出されるコールバックを設定
Definition canvas2d.h:100
const Canvas2D & add(T &&cc) const
コンポーネントなどを追加
Definition canvas2d.h:184
Canvas2D operator[](StringInitializer field) const
Definition canvas2d.h:68
Canvas2D child(StringInitializer field) const
「(thisの名前).(追加の名前)」を新しい名前とするField
Definition canvas2d.h:50
bool operator!=(const T &other) const
Definition canvas2d.h:218
Canvas2D operator[](int index) const
Definition canvas2d.h:75
void appendListener(T &&callback) const
Definition canvas2d.h:112
Canvas2D(const Field &base, const SharedString &field, double width, double height)
Definition canvas2d.h:32
std::vector< Canvas2DComponent > get() const
Canvasの内容を取得する
Definition canvas2d.h:131
Canvas2D(const Field &base, const SharedString &field)
Definition canvas2d.h:30
Canvas2D child(int index) const
Definition canvas2d.h:58
Canvas2D parent() const
nameの最後のピリオドの前までを新しい名前とするField
Definition canvas2d.h:82
u8stringとstringとwstringをshared_ptrで持ち共有する
Definition encoding.h:159
SharedString のpublicなコンストラクタインタフェース (入力専用)
Definition encoding.h:215
Definition component_canvas2d.h:148
View,Canvasなどで送信用にaddされたデータを管理する
Definition data_buffer.h:17
std::ostream & operator<<(std::ostream &os, const Arg &arg)
Definition func_info.cc:98
ClientDataの参照とメンバ名とデータ名を持つクラス
Definition field.h:71
Field parent() const
nameの最後のピリオドの前までを新しい名前とするField
Definition field.cc:33
Field child(const SharedString &field) const
Definition field.cc:42
Canvas2D, Canvas3D (, View) に要素をaddするときに使うインタフェース
Definition components.h:23
TemporalCanvas2DComponent component_2d
Definition components.h:25
#define WEBCFACE_DLL
Definition webcface-config.h:69
#define WEBCFACE_NS_END
Definition webcface-config.h:113
#define WEBCFACE_NS_BEGIN
Definition webcface-config.h:112
#define WEBCFACE_CALL_FP
Definition webcface-config.h:107