~ubuntu-branches/ubuntu/precise/pingus/precise

« back to all changes in this revision

Viewing changes to src/FadeOut.hh

  • Committer: Bazaar Package Importer
  • Author(s): Raphael Goulais
  • Date: 2004-08-09 10:26:00 UTC
  • mfrom: (2.1.1 warty)
  • Revision ID: james.westby@ubuntu.com-20040809102600-lg2q9lfars0q1p42
Tags: 0.6.0-8
Applied patch from Andreas Jochens (Closes: #263992)

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
//  $Id: FadeOut.hh,v 1.4 2001/06/14 11:07:18 grumbel Exp $
2
 
//
3
 
//  Pingus - A free Lemmings clone
4
 
//  Copyright (C) 1999 Ingo Ruhnke <grumbel@gmx.de>
5
 
//
6
 
//  This program is free software; you can redistribute it and/or
7
 
//  modify it under the terms of the GNU General Public License
8
 
//  as published by the Free Software Foundation; either version 2
9
 
//  of the License, or (at your option) any later version.
10
 
//
11
 
//  This program is distributed in the hope that it will be useful,
12
 
//  but WITHOUT ANY WARRANTY; without even the implied warranty of
13
 
//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14
 
//  GNU General Public License for more details.
15
 
//
16
 
//  You should have received a copy of the GNU General Public License
17
 
//  along with this program; if not, write to the Free Software
18
 
//  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
19
 
 
20
 
#ifndef FADEOUT_HH
21
 
#define FADEOUT_HH
22
 
 
23
 
#include "Color.hh"
24
 
 
25
 
///
26
 
class FadeOut
27
 
{
28
 
private:
29
 
  /** The time in seconds until the fadeout is complete */
30
 
  float complete_time;
31
 
 
32
 
  /** The time that passed since the fadeout was started */
33
 
  float passed_time;
34
 
  
35
 
protected:
36
 
  Color color;
37
 
public:
38
 
  /** @return seconds number of seconds until the fadeout is
39
 
      complete */
40
 
  FadeOut (float seconds = 1.0f, Color color = Color ());
41
 
  virtual ~FadeOut ();
42
 
  
43
 
  // Reset the fadeout to the start
44
 
  virtual void reset ();
45
 
 
46
 
  virtual void  draw () =0;
47
 
  virtual void  update (float delta);
48
 
  virtual void  set_progress (float progress);
49
 
  virtual float get_progress ();
50
 
  virtual bool  finished ();
51
 
  
52
 
  ///
53
 
  static void random(void);
54
 
  ///
55
 
  static void black_rect(int steps = 20);
56
 
  ///
57
 
  static void fade_to_black(int steps = 20);
58
 
  ///
59
 
  static void clear(void);
60
 
};
61
 
 
62
 
class EnlargingRectFadeOut : public FadeOut
63
 
{
64
 
private:
65
 
public:
66
 
  EnlargingRectFadeOut (float seconds = 1.0f, Color color = Color ())
67
 
  : FadeOut (seconds, color) {}
68
 
  ~EnlargingRectFadeOut () {}
69
 
  
70
 
  void draw ();
71
 
};
72
 
 
73
 
#endif
74
 
 
75
 
/* EOF */