Advertisement
Guest User

4 Voodoomonkey

a guest
Oct 27th, 2010
159
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // vi:set ft=javascript ff=dos ts=4 sts=4 sw=4 et:
  2.  
  3. // This is just a demo so is buggy.
  4. var g_theme = window.CreateThemeManager("PROGRESS");
  5. var g_bar_height = 15;
  6. var g_cycles = 0;
  7. var ww = 0,
  8.     wh = 0;
  9. var __w;
  10. var top = 0;
  11. var g_pos = 0;
  12. var g_drag = false;
  13. var g_length = 1;
  14.  
  15. function clamp(x, l, h) {
  16.     return (x < l) ? l : ((x > h) ? h : x);
  17. }
  18.  
  19. H_padding = 15;
  20.  
  21. function on_size() {
  22.     wh = window.Height;
  23.     __w = window.Width;
  24. ww = __w-2*H_padding;
  25. top = (wh - g_bar_height) >> 1;
  26.  
  27. }
  28.  
  29. function on_paint(gr) {
  30.     g_theme.SetPartAndStateID(1, 0);
  31.     g_theme.DrawThemeBackground(gr, H_padding, top, ww, g_bar_height);
  32.  
  33.     if (fb.IsPlaying && g_length > 0) {
  34.         g_theme.SetPartAndStateID(5, fb.IsPaused ? 3 : 1);
  35.         g_theme.DrawThemeBackground(gr, H_padding, top, g_pos, g_bar_height);
  36.     }
  37. }
  38.  
  39. function on_mouse_lbtn_down(x, y) {
  40.     if(x<H_padding||x>__w-H_padding) return;
  41.     if (g_length > 0) {
  42.         g_drag = true;
  43.         on_mouse_move(x, y);
  44.     }
  45. }
  46.  
  47. function on_mouse_lbtn_up(x, y) {
  48.     if (g_length > 0 && g_drag) {
  49.         g_drag = false;
  50.         fb.PlaybackTime = g_length * g_pos / ww;
  51.         on_mouse_move(x, y);
  52.     }
  53. }
  54.  
  55. function on_mouse_move(x, y) {
  56.     if (g_drag) {
  57.         g_pos = clamp(x-H_padding, 0, ww);
  58.         window.Repaint();
  59.     }
  60. }
  61.  
  62. function on_mouse_wheel(delta) {
  63.     fb.PlaybackTime = fb.PlaybackTime + delta * 2;
  64. }
  65.  
  66. function on_playback_time(time) {
  67.     if (!g_drag) {
  68.         if (g_length > 0) g_pos = ww * time / g_length;
  69.         window.Repaint();
  70.     }
  71. }
  72.  
  73. function on_playback_seek() {
  74.     if (!g_drag && g_length > 0) window.Repaint();
  75. }
  76.  
  77. function on_playback_pause() {
  78.     window.Repaint();
  79. }
  80.  
  81. function on_playback_stop() {
  82.     g_length = 0;
  83.     g_pos = 0;
  84.     g_drag = false;
  85.     window.Repaint();
  86. }
  87.  
  88. function on_playback_new_track() {
  89.     g_length = fb.PlaybackLength;
  90.     g_pos = 0;
  91.     g_drag = false;
  92.     window.Repaint();
  93. }
  94.  
  95. if (fb.IsPlaying) on_playback_new_track();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement