add gui examples.

This commit is contained in:
2020-10-26 21:51:51 +08:00
parent 40d91b5992
commit 0ecd947f8a
16 changed files with 147 additions and 32 deletions

View File

@@ -13,6 +13,8 @@ namespace hgl
class GPUDevice;
}//namespace vulkan
constexpr VkFormat DefaultRenderTargetFormat=UFMT_ABGR8; ///<缺省窗体绘图表面格式
class ThemeEngine
{
protected:
@@ -21,6 +23,12 @@ namespace hgl
MapObject<Form *,ThemeForm> form_list;
RenderTarget *CreateRenderTarget(const uint32_t,const uint32_t,const VkFormat);
protected:
virtual bool ThemeRender(Form *)=0;
public:
ThemeEngine(GPUDevice *dev){device=dev;}
@@ -28,11 +36,11 @@ namespace hgl
virtual bool Init()=0;
virtual void Clear()=0;
virtual bool Registry(Form *)=0;
virtual void Unregistry(Form *)=0;
virtual void Render(Form *)=0;
virtual bool Resize(Form *,const uint32_t,const uint32_t);
virtual bool Registry(Form *,const VkFormat format=DefaultRenderTargetFormat);
virtual void Unregistry(Form *);
virtual bool Resize(Form *,const uint32_t,const uint32_t,const VkFormat format=DefaultRenderTargetFormat);
virtual void Render(Form *);
};//class ThemeEngine
// ThemeEngine *CreateThemeEngine();