Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00034
00035 #pragma once
00036
00037 #include "../api_gui.h"
00038
00039 class CL_GUIThemePart;
00040 class CL_GraphicContext;
00041 class CL_ResourceManager;
00042 class CL_GUIComponent;
00043 class CL_Colorf;
00044 class CL_Size;
00045 class CL_Rect;
00046 class CL_Font;
00047
00051 class CL_API_GUI CL_GUIThemeProvider
00052 {
00055
00056 public:
00057 virtual ~CL_GUIThemeProvider() { return; }
00058
00062
00063 public:
00071 virtual CL_StringRef get_property(
00072 const CL_GUIThemePart &part,
00073 const CL_StringRef &name,
00074 const CL_StringRef &css_value) = 0;
00075
00077 virtual CL_ResourceManager get_resources() const = 0;
00078
00082
00083 public:
00084
00086 virtual void destroy() = 0;
00087
00089 virtual void add_resources(CL_ResourceManager resources) = 0;
00090
00092 virtual void set_resources(CL_ResourceManager resources) = 0;
00093
00095 virtual void render_box(
00096 CL_GraphicContext &gc,
00097 CL_GUIThemePart &part,
00098 const CL_Rect &rect,
00099 const CL_Rect &clip_rect) = 0;
00100
00101 virtual CL_Rect render_text(
00102 CL_GraphicContext &gc,
00103 CL_GUIThemePart &part,
00104 CL_Font &font,
00105 const CL_StringRef &text,
00106 const CL_Rect &content_rect,
00107 const CL_Rect &clip_rect) = 0;
00108
00111
00112
00113 virtual void component_destroyed(CL_GUIComponent *component) = 0;
00115 };
00116
00118