Implements Windows GDI renderer. Uses GDI to present graphics on screen and software rendering. Could be slow when there are lots of controls on form or with controls which are optimized for GPU rendering(like Frame).
Overrided methods can be found in corresponding base interface.
class CRenderer :public CSoftwareRenderer
{
public:
IWindow * getWindow() override;
TECHNOLOGY_TYPE getTechnology() const override; // Return ttGDI
Point getMinVersion() const override; // Return { 1, 0 }
Point getVersion() override;
// Since 1.3.0
IShaderProgram *getShaderProgram() override; // Not supported, always returns nullptr
// Since 6.0.0
INativeGraphics *getNativeGraphics() override; // Return nullptr
bool setWindow(IWindow *value) override;
// Since 1.3.0
bool setShaderProgram(IShaderProgram *value) override; // Not supported, always returns false
IPlatformFont *FontCreate(const String &fontname, const int height, const FONT_WEIGHT weight, const bool italic, const bool underline, const bool strikeout, const bool monospace) override;
// Since 1.3.0
IShaderProgram *ShaderProgramCreate(const AnsiString &vertex, const AnsiString &fragment, const bool utils) override; // Not supported, always returns nullptr
IShaderProgram *ShaderProgramCreate(const AnsiString &fragment) override; // Not supported, always returns nullptr
bool DrawBegin(Rect &viewport) override;
bool Present() override;
IRenderer *CreateInstance() override;
void CleanUp() override;
// Since 6.0.0
void RestoreState() override;
CRenderer();
~CRenderer() override;
};
Namespace: | nitisa::standard::windows::gdi |
Include: | Standard/Platform/Windows/GDI/Renderer.h |