windows::gdi::CRenderer


This object has been removed in version 8.0.0. Use Windows OpenGL Renderer instead.

This class is available on Windows platform only

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