Gamedev Framework (gf)  0.17.0
A C++14 framework for 2D games
SegueEffects.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_SEGUE_EFFECTS_H
22 #define GF_SEGUE_EFFECTS_H
23 
24 #include "Portability.h"
25 #include "SegueEffect.h"
26 
27 namespace gf {
28 #ifndef DOXYGEN_SHOULD_SKIP_THIS
29 inline namespace v1 {
30 #endif
31 
36  class GF_API BlackoutSegueEffect : public SegueEffect {
37  public:
42  };
43 
48  class GF_API FadeSegueEffect : public SegueEffect {
49  public:
54  };
55 
56 
63  class GF_API SlideSegueEffect : public SegueEffect {
64  public:
68  enum Orientation {
69  Horizontal = 0,
70  Vertical = 1,
71  };
72 
77 
83  void setStripes(int stripes);
84 
90  void setStripeOrientation(Orientation orientation);
91  };
92 
93 
98  class GF_API GlitchSegueEffect : public SegueEffect {
99  public:
104  };
105 
106 
113  class GF_API CheckerboardSegueEffect : public SegueEffect {
114  public:
119 
125  void setBoardSize(Vector2i size);
126 
132  void setSmoothness(float smoothness);
133  };
134 
135 
142  class GF_API CircleSegueEffect : public SegueEffect {
143  public:
147  enum Type {
148  Open = 1,
149  Close = -1,
150  };
151 
156 
162  void setType(Type type);
163 
169  void setFramebufferSize(Vector2i size);
170 
171  };
172 
173 
178  class GF_API PixelateSegueEffect : public SegueEffect {
179  public:
184 
190  void setFramebufferSize(Vector2i size);
191  };
192 
193 
198  class GF_API RadialSegueEffect : public SegueEffect {
199  public:
204  };
205 
212  class GF_API ZoomBlurSegueEffect : public SegueEffect {
213  public:
218 
224  void setStrength(float strength);
225  };
226 
227 #ifndef DOXYGEN_SHOULD_SKIP_THIS
228 }
229 #endif
230 }
231 
232 #endif // GF_SEGUE_EFFECTS_H
A glitch segue effect.
Definition: SegueEffects.h:98
A slide segue effect.
Definition: SegueEffects.h:63
A zoom blur segue effect.
Definition: SegueEffects.h:212
A fade segue effect.
Definition: SegueEffects.h:48
A circle segue effect.
Definition: SegueEffects.h:142
Type
The type of circle.
Definition: SegueEffects.h:147
The connection is closed.
Orientation orientation(float angle)
Get an orientation from an angle.
A segue effect.
Definition: SegueEffect.h:38
A pixelate segue effect.
Definition: SegueEffects.h:178
The namespace for gf classes.
Definition: Action.h:35
A radial segue effect.
Definition: SegueEffects.h:198
Orientation
The orientation of the stripes.
Definition: SegueEffects.h:68
A checkerboard segue effect.
Definition: SegueEffects.h:113
A fade to black segue effect.
Definition: SegueEffects.h:36