GameKit
0.0.1a
C++ gamedev tools
include
gk
scene
view
AbstractView.hpp
Go to the documentation of this file.
1
/*
2
* =====================================================================================
3
*
4
* Filename: AbstractView.hpp
5
*
6
* Description:
7
*
8
* Created: 26/01/2018 00:41:03
9
*
10
* Author: Quentin Bazin, <quent42340@gmail.com>
11
*
12
* =====================================================================================
13
*/
14
#ifndef GK_ABSTRACTVIEW_HPP_
15
#define GK_ABSTRACTVIEW_HPP_
16
17
#include "
gk/gl/RenderTarget.hpp
"
18
#include "
gk/scene/SceneObjectList.hpp
"
19
20
namespace
gk
{
21
22
class
AbstractView
{
23
public
:
24
virtual
~AbstractView
() =
default
;
25
26
virtual
void
draw
(
const
SceneObject
&
object
,
RenderTarget
&target,
RenderStates
states) = 0;
27
28
virtual
void
draw
(
const
SceneObjectList
&objectList,
RenderTarget
&target,
RenderStates
states) {
29
for
(
auto
&
object
: objectList) {
30
draw
(
object
, target, states);
31
32
if
(
object
.has<SceneObjectList>())
33
draw
(
object
.get<SceneObjectList>(), target, states);
34
}
35
}
36
};
37
38
}
// namespace gk
39
40
#endif // GK_ABSTRACTVIEW_HPP_
gk::AbstractView
Definition:
AbstractView.hpp:22
gk::SceneObjectList
Definition:
SceneObjectList.hpp:24
gk
Definition:
AudioPlayer.hpp:21
SceneObjectList.hpp
gk::AbstractView::draw
virtual void draw(const SceneObject &object, RenderTarget &target, RenderStates states)=0
gk::RenderStates
Definition:
RenderStates.hpp:42
gk::RenderTarget
Definition:
RenderTarget.hpp:27
gk::AbstractView::draw
virtual void draw(const SceneObjectList &objectList, RenderTarget &target, RenderStates states)
Definition:
AbstractView.hpp:28
RenderTarget.hpp
gk::SceneObject
Definition:
SceneObject.hpp:25
gk::AbstractView::~AbstractView
virtual ~AbstractView()=default
Generated by
1.8.12