// Copyright (C) 2015 Jérôme Leclercq // This file is part of the "Nazara Engine - Graphics module" // For conditions of distribution and use, see copyright notice in Config.hpp #pragma once #ifndef NAZARA_COLORBACKGROUND_HPP #define NAZARA_COLORBACKGROUND_HPP #include #include #include #include namespace Nz { class ColorBackground; using ColorBackgroundConstRef = ObjectRef; using ColorBackgroundRef = ObjectRef; class NAZARA_GRAPHICS_API ColorBackground : public AbstractBackground { public: ColorBackground(const Color& color = Color::Black); ColorBackground(const ColorBackground&) = default; ColorBackground(ColorBackground&&) = delete; void Draw(const AbstractViewer* viewer) const; BackgroundType GetBackgroundType() const; Color GetColor() const; void SetColor(const Color& color); ColorBackground& operator=(ColorBackground&&) = delete; template static ColorBackgroundRef New(Args&&... args); private: Color m_color; UberShaderConstRef m_uberShader; const UberShaderInstance* m_uberShaderInstance; int m_materialDiffuseUniform; int m_vertexDepthUniform; }; } #include #endif // NAZARA_COLORBACKGROUND_HPP