2#include <unordered_map>
7#include "webcface/common/webcface-config.h"
16struct Canvas2DComponentData;
19struct TemporalCanvas2DComponentData;
34 std::shared_ptr<message::Canvas2DComponentData> msg_data;
35 std::weak_ptr<internal::ClientData> data_w;
38 void checkData()
const;
48 const std::shared_ptr<message::Canvas2DComponentData> &msg_data,
49 const std::weak_ptr<internal::ClientData> &data_w,
83 return !(*
this == other);
111 double strokeWidth()
const;
137 std::optional<Geometry>
geometry()
const;
142 template <WEBCFACE_COMPLETE(Func)>
145extern template std::optional<Func>
146Canvas2DComponent::onClick<Func, true>()
const;
149 std::unique_ptr<internal::TemporalCanvas2DComponentData> msg_data;
178 std::unique_ptr<internal::TemporalCanvas2DComponentData>
179 lockTmp(const std::shared_ptr<internal::ClientData> &data,
200 this->origin(origin);
201 return std::move(*
this);
216 return std::move(*
this);
230 this->fillColor(color);
231 return std::move(*
this);
247 this->strokeWidth(s);
248 return std::move(*
this);
266 return std::move(*
this);
284 this->text(std::move(text));
285 return std::move(*
this);
297 return std::move(*
this);
312 return std::move(*
this);
326 return std::move(*
this);
337 template <typename T, decltype(std::declval<T>()(),
nullptr) =
nullptr>
346 template <typename T, decltype(std::declval<T>()(),
nullptr) =
nullptr>
348 this->onClick(std::move(func));
349 return std::move(*
this);
Canvas2Dの各要素を表すクラス。
Definition component_canvas2d.h:33
std::optional< Func_ > onClick() const
クリック時に実行される関数を取得
double textSize() const
文字の大きさ(高さ)
Definition component_canvas2d.h:116
bool operator!=(const Canvas2DComponent &other) const
Definition component_canvas2d.h:82
関数1つを表すクラス
Definition func.h:108
u8stringとstringとwstringをshared_ptrで持ち共有する
Definition encoding.h:159
SharedString のpublicなコンストラクタインタフェース (入力専用)
Definition encoding.h:215
webcfaceで管理されている文字列を参照するstring_view
Definition encoding.h:60
Definition component_canvas2d.h:148
TemporalCanvas2DComponent & onClick(T func) &
クリック時に実行される関数を設定
Definition component_canvas2d.h:338
TemporalCanvas2DComponent && fillColor(const ViewColor &color) &&
Definition component_canvas2d.h:229
TemporalCanvas2DComponent(TemporalCanvas2DComponent &&other) noexcept
TemporalCanvas2DComponent && strokeWidth(double s) &&
Definition component_canvas2d.h:246
TemporalCanvas2DComponent && onClick(T func) &&
クリック時に実行される関数を設定
Definition component_canvas2d.h:347
TemporalCanvas2DComponent && onClick(const FuncListener &func) &&
クリック時に実行される関数を設定 (FuncListener)
Definition component_canvas2d.h:324
TemporalCanvas2DComponent && text(StringInitializer text) &&
Definition component_canvas2d.h:283
TemporalCanvas2DComponent && textSize(double s) &&
Definition component_canvas2d.h:264
TemporalCanvas2DComponent & textSize(double s) &
文字の大きさ(高さ)
Definition component_canvas2d.h:260
TemporalCanvas2DComponent & operator=(TemporalCanvas2DComponent &&other) noexcept
~TemporalCanvas2DComponent() noexcept
TemporalCanvas2DComponent && onClick(const Func &func) &&
クリック時に実行される関数を設定 (Funcオブジェクト)
Definition component_canvas2d.h:310
TemporalCanvas2DComponent && color(const ViewColor &color) &&
Definition component_canvas2d.h:214
TemporalCanvas2DComponent && geometry(const Geometry &g) &&
Definition component_canvas2d.h:295
Canvas2DComponentType
Definition component_canvas2d.h:22
bool operator==(const T &other, const InputRef &ref)
Definition text.h:638
ViewColor
Definition component_view.h:41
#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