3#include "Resources/Resources.h"
5#include "Platform/Instrumentation.h"
7#include "Foundation/ComponentModel/Component.h"
8#include "Foundation/Network/MessageHub.h"
16 namespace ComponentModel
23 std::shared_ptr<litehtml::element> findElement(
const std::shared_ptr<litehtml::element> & e,
const StringView &
id);
25 class InspectorGuiRenderer;
26 struct RenderTaskContext;
30 litehtml::uint_ptr create_font(
const litehtml::tchar_t * faceName,
int size,
int weight, litehtml::font_style italic,
unsigned int decoration,
litehtml::font_metrics * fm)
override;
31 void delete_font(litehtml::uint_ptr hFont)
override;
33 int pt_to_px(
int pt)
override;
34 int text_width(
const litehtml::tchar_t * text, litehtml::uint_ptr hFont)
override;
36 int get_default_font_size()
const override;
37 const litehtml::tchar_t * get_default_font_name()
const override;
39 void load_image(
const litehtml::tchar_t * src,
const litehtml::tchar_t * baseurl,
bool redraw_on_ready)
override;
40 void get_image_size(
const litehtml::tchar_t * src,
const litehtml::tchar_t * baseurl,
litehtml::size & sz)
override;
47 void set_caption(
const litehtml::tchar_t * )
override {}
48 void set_base_url(
const litehtml::tchar_t * )
override {}
49 void link(
const std::shared_ptr<litehtml::document> & ,
const litehtml::element::ptr & )
override {}
51 void on_load(
const std::shared_ptr<litehtml::document> & document)
override;
52 void on_anchor_click(
const litehtml::tchar_t * url,
const litehtml::element::ptr & el)
override;
53 void on_mouse_enter(
const litehtml::element::ptr & el)
override;
54 void on_mouse_move(
const litehtml::element::ptr & el,
int x,
int y)
override;
55 void on_mouse_leave(
const litehtml::element::ptr & el)
override;
56 void on_click(
const litehtml::element::ptr & el)
override;
58 void set_cursor(
const litehtml::tchar_t * )
override {}
59 void transform_text(litehtml::tstring & , litehtml::text_transform )
override {}
60 void import_css(litehtml::tstring & text,
const litehtml::tstring & url, litehtml::tstring & baseurl)
override;
63 void del_clip()
override {}
67 std::shared_ptr<litehtml::element> create_element(
const litehtml::tchar_t * tag_name,
const litehtml::string_map & attributes,
const std::shared_ptr<litehtml::document>& doc)
override;
70 void get_language(litehtml::tstring & , litehtml::tstring & )
const override {}
71 void execute_script(
litehtml::document * document,
const litehtml::element::ptr el)
override;
75 bool isInitialized()
const {
return renderContext && inspectorGuiRenderer; }
80 bool isInvalidated()
const {
return invalidated; }
92 bool invalidated =
false;
94 std::unordered_map<size_t, Cogs::Core::TextureHandle> guiTextures;
Container for components, providing composition of dynamic entities.
A Context instance contains all the services, systems and runtime components needed to use Cogs.
A MessageHub connects to other hubs to form a simple peer-to-peer application-internal networking sys...
Contains all Cogs related functionality.
Handle to a Component instance.