Gamedev Framework (gf)  0.16.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 FadeSegueEffect : public SegueEffect {
37  public:
42  };
43 
44 
51  class GF_API SlideSegueEffect : public SegueEffect {
52  public:
56  enum Orientation {
57  Horizontal = 0,
58  Vertical = 1,
59  };
60 
65 
71  void setStripes(int stripes);
72 
78  void setStripeOrientation(Orientation orientation);
79  };
80 
81 
86  class GF_API GlitchSegueEffect : public SegueEffect {
87  public:
92  };
93 
94 
101  class GF_API CheckerboardSegueEffect : public SegueEffect {
102  public:
107 
113  void setBoardSize(Vector2i size);
114 
120  void setSmoothness(float smoothness);
121  };
122 
123 
130  class GF_API CircleSegueEffect : public SegueEffect {
131  public:
135  enum Type {
136  Open = 1,
137  Close = -1,
138  };
139 
144 
150  void setType(Type type);
151 
157  void setFramebufferSize(Vector2i size);
158 
159  };
160 
161 
166  class GF_API PixelateSegueEffect : public SegueEffect {
167  public:
172 
178  void setFramebufferSize(Vector2i size);
179  };
180 
181 
186  class GF_API RadialSegueEffect : public SegueEffect {
187  public:
192  };
193 
200  class GF_API ZoomBlurSegueEffect : public SegueEffect {
201  public:
206 
212  void setStrength(float strength);
213  };
214 
215 #ifndef DOXYGEN_SHOULD_SKIP_THIS
216 }
217 #endif
218 }
219 
220 #endif // GF_SEGUE_EFFECTS_H
A glitch segue effect.
Definition: SegueEffects.h:86
A slide segue effect.
Definition: SegueEffects.h:51
A zoom blur segue effect.
Definition: SegueEffects.h:200
A fade segue effect.
Definition: SegueEffects.h:36
A circle segue effect.
Definition: SegueEffects.h:130
Type
The type of circle.
Definition: SegueEffects.h:135
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:166
The namespace for gf classes.
Definition: Action.h:35
A radial segue effect.
Definition: SegueEffects.h:186
Orientation
The orientation of the stripes.
Definition: SegueEffects.h:56
A checkerboard segue effect.
Definition: SegueEffects.h:101