1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
/*
* Abuse - dark 2D side-scrolling platform game
* Copyright (c) 1995 Crack dot Com
* Copyright (c) 2005-2011 Sam Hocevar <sam@hocevar.net>
*
* This software was released into the Public Domain. As with most public
* domain software, no warranty is made or implied by Crack dot Com, by
* Jonathan Clark, or by Sam Hocevar.
*/
#ifndef __MOUSE_HPP_
#define __MOUSE_HPP_
#include "image.h"
#include "sprite.h"
class JCMouse
{
int here,but;
sprite *sp;
image *screen;
int lx,ly,lbut,mx,my;
int cx,cy; // center of mouse cursor
public :
JCMouse(image *Screen, palette *pal);
void set_shape(image *im, int centerx=0, int centery=0);
void update(int newx=-1, int newy=-1, int new_but=-1);
void set_shape(image *im) { if (here) sp->change_visual(im); }
int x() { if (here) return mx; else return 0; }
int y() { if (here) return my; else return 0; }
int drawx() { return mx-cx; }
int drawy() { return my-cy; }
int lastx() { if (here) return lx; else return 0; }
int lasty() { if (here) return ly; else return 0; }
int last_button() { if (here) return lbut; else return 0; }
int button() { return but; }
int exsist() { return here; }
sprite *mouse_sprite() { return sp; }
void set_position(int new_mx, int new_my);
~JCMouse();
#ifdef __POWERPC__
int set_button(int b) { return (but = b); }
#endif
} ;
#endif