Gamedev Framework (gf)
0.16.0
A C++14 framework for 2D games
include
gf
PostProcessing.h
1
/*
2
* Gamedev Framework (gf)
3
* Copyright (C) 2016-2019 Julien Bernard
4
*
5
* This software is provided 'as-is', without any express or implied
6
* warranty. In no event will the authors be held liable for any damages
7
* arising from the use of this software.
8
*
9
* Permission is granted to anyone to use this software for any purpose,
10
* including commercial applications, and to alter it and redistribute it
11
* freely, subject to the following restrictions:
12
*
13
* 1. The origin of this software must not be misrepresented; you must not
14
* claim that you wrote the original software. If you use this software
15
* in a product, an acknowledgment in the product documentation would be
16
* appreciated but is not required.
17
* 2. Altered source versions must be plainly marked as such, and must not be
18
* misrepresented as being the original software.
19
* 3. This notice may not be removed or altered from any source distribution.
20
*/
21
#ifndef GF_POST_PROCESSING_H
22
#define GF_POST_PROCESSING_H
23
24
#include "Drawable.h"
25
#include "Portability.h"
26
#include "Rect.h"
27
#include "Vertex.h"
28
29
namespace
gf
{
30
#ifndef DOXYGEN_SHOULD_SKIP_THIS
31
inline
namespace
v1 {
32
#endif
33
34
class
Effect;
35
class
Texture
;
36
46
class
GF_API
PostProcessing
:
public
Drawable
{
47
public
:
51
PostProcessing
();
52
58
void
setTexture(
const
Texture
& texture);
59
65
void
setTextureRect(
const
RectF
& textureRect);
66
72
void
setEffect
(
Effect
& effect) {
73
m_effect = &effect;
74
}
75
76
virtual
void
draw(
RenderTarget
& target,
const
RenderStates
& states)
override
;
77
78
private
:
79
void
updatePositions();
80
void
updateTexCoords();
81
82
private
:
83
const
Texture
*m_texture;
84
RectF
m_textureRect;
85
Effect
*m_effect;
86
Vertex
m_vertices[4];
87
};
88
89
#ifndef DOXYGEN_SHOULD_SKIP_THIS
90
}
91
#endif
92
}
93
94
#endif // GF_POST_PROCESSING_H
gf::RenderTarget
Base class for all render targets (window, texture, ...)
Definition:
RenderTarget.h:90
gf::RenderStates
Define the states used for drawing to a RenderTarget.
Definition:
RenderStates.h:82
gf::Vertex
A point associated with a color and a texture coordinate.
Definition:
Vertex.h:75
gf::Drawable
Abstract base class for objects that can be drawn to a render window.
Definition:
Drawable.h:57
gf::Texture
A texture for colored images.
Definition:
Texture.h:309
gf::PostProcessing
A post-processing drawable.
Definition:
PostProcessing.h:46
gf::GraphicsTag::Texture
gf::Rect< float >
gf
The namespace for gf classes.
Definition:
Action.h:35
gf::Effect
A post-processing effect.
Definition:
Effect.h:38
gf::PostProcessing::setEffect
void setEffect(Effect &effect)
Set the effect to apply.
Definition:
PostProcessing.h:72
Generated by
1.8.13