home *** CD-ROM | disk | FTP | other *** search
/ HPAVC / HPAVC CD-ROM.iso / pc / ABUSESRC.ZIP / AbuseSrc / imlib / port / mac / mouse.c < prev    next >
Encoding:
C/C++ Source or Header  |  1996-04-11  |  1.6 KB  |  97 lines

  1. #include "video.hpp"
  2. #include "sprite.hpp"
  3. #include "image.hpp"
  4. #include "filter.hpp"
  5. #include "mdlread.hpp"
  6. #include "monoprnt.hpp"
  7. #include "mouse.hpp"
  8.  
  9. extern CWindowPtr mainwin;
  10. extern int PixMult;
  11.  
  12. unsigned char def_mouse[]=
  13.     { 0,2,0,0,0,0,0,0,
  14.       2,1,2,0,0,0,0,0,
  15.       2,1,1,2,0,0,0,0,
  16.       2,1,1,1,2,0,0,0,
  17.       2,1,1,1,1,2,0,0,
  18.       2,1,1,1,1,1,2,0,
  19.       0,2,1,1,2,2,0,0,
  20.       0,0,2,1,1,2,0,0,
  21.       0,0,2,1,1,2,0,0,
  22.       0,0,0,2,2,0,0,0 };
  23.  
  24.  
  25. void JCMouse::set_shape(image *im, int centerx, int centery)
  26. {
  27.   sp->change_visual(im,1);
  28.   cx=-centerx;
  29.   cy=-centery;
  30. }
  31.  
  32. JCMouse::JCMouse(image *Screen, palette *pal)
  33. {
  34.   image *im;
  35.   int br,dr,h;
  36.   filter f;
  37.   but=0;
  38.   cx=cy=0;
  39.   here=1;
  40.   sp=NULL;
  41.   if (here)                     // is it here?
  42.   {
  43.     screen=Screen;
  44.     br=pal->brightest(1);
  45.     dr=pal->darkest(1);
  46.     f.set(1,br);
  47.     f.set(2,dr);
  48.     im=new image(8,10,def_mouse);
  49.     f.apply(im);
  50.     sp=new sprite(Screen,im,100,100);
  51.   }
  52.   mx=Screen->width()/2;
  53.   my=Screen->height()/2;
  54.  
  55. }
  56.  
  57. void JCMouse::update(int newx, int newy, int new_but)
  58. {
  59.   int butn,xx,yy;
  60.   Point p;
  61.  
  62.   if (newx<0)
  63.   {
  64.     lx=mx; ly=my; lbut=but;
  65.  
  66.       ::GetMouse(&p);
  67.       mx = p.h/PixMult;
  68.       my = p.v/PixMult;
  69.  
  70.     but=Button();
  71.   } 
  72.   else 
  73.   { 
  74.       mx=newx; my=newy; but=new_but; 
  75.   }
  76. }
  77.  
  78. void JCMouse::set_position(int new_mx, int new_my)
  79. {
  80.   mx=new_mx;
  81.   my=new_my;
  82. //  XWarpPointer(display,mainwin,mainwin,0,0,0,0,new_mx,new_my);
  83. }
  84.  
  85. JCMouse::~JCMouse()
  86. {
  87.   if (sp) 
  88.   {
  89.     delete sp->visual;
  90.     delete sp;
  91.   }
  92. }
  93.  
  94.  
  95.  
  96.  
  97.