~gunchleoc/widelands/bug-1818494-ingame-zoom-freezes

« back to all changes in this revision

Viewing changes to src/cursor.cc

  • Committer: sirver
  • Date: 2002-02-05 20:54:08 UTC
  • Revision ID: git-v1:df384fd3a5e53be1f37803d1c0381fa993844bf5
Initial revision


git-svn-id: https://widelands.svn.sourceforge.net/svnroot/widelands/trunk@2 37b2a8de-5219-0410-9f54-a31bc463ab9c

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*
 
2
 * Copyright (C) 2001 by Holger Rapp 
 
3
 * 
 
4
 * This program is free software; you can redistribute it and/or
 
5
 * modify it under the terms of the GNU General Public License
 
6
 * as published by the Free Software Foundation; either version 2
 
7
 * of the License, or (at your option) any later version.
 
8
 * 
 
9
 * This program is distributed in the hope that it will be useful,
 
10
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 
11
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 
12
 * GNU General Public License for more details.
 
13
 * 
 
14
 * You should have received a copy of the GNU General Public License
 
15
 * along with this program; if not, write to the Free Software
 
16
 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
 
17
 *
 
18
 */
 
19
 
 
20
#include "cursor.h"
 
21
 
 
22
 
 
23
/** class Cursor
 
24
 *
 
25
 * This class represents the cursor AS AN IMAGE
 
26
 * so, this knows how to display a cursor on the graphics
 
27
 * device. But it can't get the current cordinates
 
28
 *
 
29
 * it's a singleton
 
30
 * 
 
31
 * DEPENDS: Graph::draw_bob function
 
32
 * DEPENDS: Graph::Pic class
 
33
 */
 
34
 
 
35
                                         
 
36
/** Cursor::Cursor(void) 
 
37
 *
 
38
 * default constructor. Simple inits
 
39
 *
 
40
 * Args: none
 
41
 * Returns: nothing
 
42
 */
 
43
Cursor::Cursor(void) {
 
44
                  show_c=1;
 
45
                  pic=NULL;
 
46
};
 
47
 
 
48
/** Cursor::~Cursor(void)
 
49
 *
 
50
 * Cleanup
 
51
 *
 
52
 * Args: None
 
53
 * Returns: Nothing
 
54
 */
 
55
Cursor::~Cursor(void) {
 
56
                  if(pic) {
 
57
                                         delete pic;
 
58
                  }
 
59
}
 
60
 
 
61
/** void Cursor::show_cursor(const bool b) 
 
62
 *
 
63
 * This toggles, if the cursor should be visible or not
 
64
 *
 
65
 * Args;        b       true if it should be visible, false otherwise
 
66
 * Returns: Nothing
 
67
 */
 
68
void Cursor::show_cursor(const bool b) {
 
69
                  show_c=b;
 
70
}
 
71
                                         
 
72
/** void Cursor::set_pic(Pic* p) 
 
73
 *
 
74
 * set a new cursor picture.  
 
75
 *
 
76
 * Args; p      new picture     
 
77
 * Returns: Nothing
 
78
 */
 
79
void Cursor::set_pic(Pic* p) {
 
80
                  assert(p);
 
81
                  
 
82
                  if(pic==p) return;
 
83
                  
 
84
 
 
85
                  if(pic) delete pic;
 
86
                  pic=p;
 
87
}
 
88
 
 
89
/** void Cursor::draw(const unsigned int x, const unsigned int y)
 
90
 *
 
91
 * Draws the current picture at the given location on the screen
 
92
 * 
 
93
 * Args:        x       x pos of cursor
 
94
 *              y       y pos of cursor
 
95
 * Returns: Nothing
 
96
 */
 
97
void Cursor::draw(const unsigned int x, const unsigned int y) {
 
98
                  if(!show_c) return;                    
 
99
                  Graph::draw_pic(pic, x, y, 0,0, pic->get_w(), pic->get_h());
 
100
}
 
101