3#include "Resources/Resources.h"
5#include "Platform/Instrumentation.h"
7#include "Foundation/ComponentModel/Component.h"
15 namespace ComponentModel
22 std::shared_ptr<litehtml::element> findElement(
const std::shared_ptr<litehtml::element> & e,
const StringView &
id);
24 class InspectorGuiRenderer;
25 struct RenderTaskContext;
29 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;
30 void delete_font(litehtml::uint_ptr hFont)
override;
32 int pt_to_px(
int pt)
override;
33 int text_width(
const litehtml::tchar_t * text, litehtml::uint_ptr hFont)
override;
35 int get_default_font_size()
const override;
36 const litehtml::tchar_t * get_default_font_name()
const override;
38 void load_image(
const litehtml::tchar_t * src,
const litehtml::tchar_t * baseurl,
bool redraw_on_ready)
override;
39 void get_image_size(
const litehtml::tchar_t * src,
const litehtml::tchar_t * baseurl,
litehtml::size & sz)
override;
46 void set_caption(
const litehtml::tchar_t * )
override {}
47 void set_base_url(
const litehtml::tchar_t * )
override {}
48 void link(
const std::shared_ptr<litehtml::document> & ,
const litehtml::element::ptr & )
override {}
50 void on_load(
const std::shared_ptr<litehtml::document> & document)
override;
51 void on_anchor_click(
const litehtml::tchar_t * url,
const litehtml::element::ptr & el)
override;
52 void on_mouse_enter(
const litehtml::element::ptr & el)
override;
53 void on_mouse_move(
const litehtml::element::ptr & el,
int x,
int y)
override;
54 void on_mouse_leave(
const litehtml::element::ptr & el)
override;
55 void on_click(
const litehtml::element::ptr & el)
override;
57 void set_cursor(
const litehtml::tchar_t * )
override {}
58 void transform_text(litehtml::tstring & , litehtml::text_transform )
override {}
59 void import_css(litehtml::tstring & text,
const litehtml::tstring & url, litehtml::tstring & baseurl)
override;
62 void del_clip()
override {}
66 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;
69 void get_language(litehtml::tstring & , litehtml::tstring & )
const override {}
70 void execute_script(
litehtml::document * document,
const litehtml::element::ptr el)
override;
74 bool isInitialized()
const {
return renderContext && inspectorGuiRenderer; }
79 bool isInvalidated()
const {
return invalidated; }
91 bool invalidated =
false;
93 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.
Contains all Cogs related functionality.
Handle to a Component instance.