home *** CD-ROM | disk | FTP | other *** search
/ Chip 2002 March / Chip_2002-03_cd1.bin / sharewar / winamp / 300b / skins / assmosis.wal / Scripts / simpledragvolume.m < prev    next >
Encoding:
Text File  |  2001-12-30  |  1.6 KB  |  57 lines

  1. //----------------------------------------------------------------------------------------
  2. //
  3. // simpledragvolume.m
  4. //
  5. //----------------------------------------------------------------------------------------
  6. // Use like this :
  7. // #define SDRAG_VOLUME_VAR MyVar
  8. // #include "simpledragvolume.m"
  9. //
  10. //
  11. //                       _MyVarInit(GuiObject o);           // init
  12. //                       _MyVarSetMaxDistance(Int nPixels); // set 100% pixel distance
  13. //
  14.  
  15.  
  16.  
  17. Global GuiObject _##SDRAG_VOLUME_VAR##Object;
  18. Global Int _##SDRAG_VOLUME_VAR##Clicked;
  19. Global Int _##SDRAG_VOLUME_VAR##Y;
  20. Global Int _##SDRAG_VOLUME_VAR##V;
  21. Global Int _##SDRAG_VOLUME_VAR##Max;
  22.  
  23. Function _##SDRAG_VOLUME_VAR##Init(GuiObject o);
  24. Function _##SDRAG_VOLUME_VAR##Update(int vol);
  25. Function _##SDRAG_VOLUME_VAR##SetMaxDistance(int pixels);
  26. Function _##SDRAG_VOLUME_VAR##UpdateY(int y);
  27.  
  28. _##SDRAG_VOLUME_VAR##Init(GuiObject o) {
  29.   _##SDRAG_VOLUME_VAR##Object = o;
  30. }
  31.  
  32. _##SDRAG_VOLUME_VAR##Object.onLeftButtonDown(int x, int y) {
  33.   _##SDRAG_VOLUME_VAR##Clicked = 1;
  34.   _##SDRAG_VOLUME_VAR##Y = y;
  35.   _##SDRAG_VOLUME_VAR##V = getVolume();
  36. }
  37.  
  38. _##SDRAG_VOLUME_VAR##Object.onMouseMove(int x, int y) {
  39.   if (_##SDRAG_VOLUME_VAR##Clicked) {
  40.     _##SDRAG_VOLUME_VAR##updateY(y);
  41.   }
  42. }
  43.  
  44. _##SDRAG_VOLUME_VAR##Object.onLeftButtonUp(int x, int y) {
  45.   _##SDRAG_VOLUME_VAR##Clicked = 0;
  46. }
  47.  
  48. _##SDRAG_VOLUME_VAR##SetMaxDistance(int npix) {
  49.   _##SDRAG_VOLUME_VAR##Max = npix;
  50. }
  51.  
  52. _##SDRAG_VOLUME_VAR##UpdateY(int y) {
  53.   float p = (_##SDRAG_VOLUME_VAR##Y - y) / _##SDRAG_VOLUME_VAR##Max;
  54.   SetVolume(_##SDRAG_VOLUME_VAR##V + p * 255); // range is checked
  55. }
  56.  
  57.