Added backgrounds

Former-commit-id: e3959b04a124978c473bd6330047b5fd6ac27b19
This commit is contained in:
Lynix
2013-03-21 23:02:11 +01:00
parent ea75b8ece5
commit ccea00b12e
8 changed files with 139 additions and 4 deletions

View File

@@ -0,0 +1,24 @@
// Copyright (C) 2013 Jérôme Leclercq
// This file is part of the "Nazara Engine - 2D Module"
// For conditions of distribution and use, see copyright notice in Config.hpp
#pragma once
#ifndef NAZARA_BACKGROUND_HPP
#define NAZARA_BACKGROUND_HPP
#include <Nazara/Prerequesites.hpp>
#include <Nazara/2D/Enums.hpp>
class NAZARA_API NzBackground
{
public:
NzBackground() = default;
~NzBackground();
virtual void Draw() const = 0;
virtual nzBackgroundType GetBackgroundType() const = 0;
};
#endif // NAZARA_BACKGROUND_HPP

View File

@@ -0,0 +1,30 @@
// Copyright (C) 2013 Jérôme Leclercq
// This file is part of the "Nazara Engine - 2D Module"
// For conditions of distribution and use, see copyright notice in Config.hpp
#pragma once
#ifndef NAZARA_COLORBACKGROUND_HPP
#define NAZARA_COLORBACKGROUND_HPP
#include <Nazara/Prerequesites.hpp>
#include <Nazara/2D/Background.hpp>
#include <Nazara/Core/Color.hpp>
class NAZARA_API NzColorBackground : public NzBackground
{
public:
NzColorBackground(const NzColor& color = NzColor::Black);
void Draw() const;
nzBackgroundType GetBackgroundType() const;
NzColor GetColor() const;
void SetColor(const NzColor& color);
private:
NzColor m_color;
};
#endif // NAZARA_COLORBACKGROUND_HPP

View File

@@ -0,0 +1,20 @@
// Copyright (C) 2013 Jérôme Leclercq
// This file is part of the "Nazara Engine - 2D module"
// For conditions of distribution and use, see copyright notice in Config.hpp
#pragma once
#ifndef NAZARA_ENUMS_2D_HPP
#define NAZARA_ENUMS_2D_HPP
enum nzBackgroundType
{
nzBackgroundType_Color, // NzColorBackground
nzBackgroundType_Skybox, // NzSkyboxBackground
nzBackgroundType_Texture, // NzTextureBackground
nzBackgroundType_User,
nzBackgroundType_Max = nzBackgroundType_User
};
#endif // NAZARA_ENUMS_2D_HPP

View File

@@ -8,6 +8,7 @@
#define NAZARA_SCENE_HPP
#include <Nazara/Prerequesites.hpp>
#include <Nazara/2D/Background.hpp>
#include <Nazara/Core/Color.hpp>
#include <Nazara/Core/Updatable.hpp>
#include <Nazara/Math/Frustum.hpp>
@@ -33,6 +34,7 @@ class NAZARA_API NzScene
void Cull();
void Draw();
NzBackground* GetBackground() const;
NzSceneNode& GetRoot() const;
float GetUpdateTime() const;
unsigned int GetUpdatePerSecond() const;
@@ -40,6 +42,7 @@ class NAZARA_API NzScene
void RegisterForUpdate(NzUpdatable* object);
void SetAmbientColor(const NzColor& color);
void SetBackground(NzBackground* background);
void SetUpdatePerSecond(unsigned int updatePerSecond);
void UnregisterForUpdate(NzUpdatable* object);