Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // vi:set ft=javascript ff=dos ts=4 sts=4 sw=4 et:
- // This is just a demo so is buggy.
- var g_theme = window.CreateThemeManager("PROGRESS");
- var g_bar_height = 15;
- var g_cycles = 0;
- var ww = 0,
- wh = 0;
- var top = 0;
- var g_pos = 0;
- var g_drag = false;
- var g_length = 1;
- function clamp(x, l, h) {
- return (x < l) ? l : ((x > h) ? h : x);
- }
- function on_size() {
- ww = window.Width;
- wh = window.Height;
- top = (wh - g_bar_height) >> 1;
- }
- function on_paint(gr) {
- g_theme.SetPartAndStateID(1, 0);
- g_theme.DrawThemeBackground(gr, 0, top, ww, g_bar_height);
- if (fb.IsPlaying && g_length > 0) {
- g_theme.SetPartAndStateID(5, fb.IsPaused ? 3 : 1);
- g_theme.DrawThemeBackground(gr, 0, top, g_pos, g_bar_height);
- }
- }
- function on_mouse_lbtn_down(x, y) {
- if (g_length > 0) {
- g_drag = true;
- on_mouse_move(x, y);
- }
- }
- function on_mouse_lbtn_up(x, y) {
- if (g_length > 0 && g_drag) {
- g_drag = false;
- fb.PlaybackTime = g_length * g_pos / ww;
- on_mouse_move(x, y);
- }
- }
- function on_mouse_move(x, y) {
- if (g_drag) {
- g_pos = clamp(x, 0, ww);
- window.Repaint();
- }
- }
- function on_mouse_wheel(delta) {
- fb.PlaybackTime = fb.PlaybackTime + delta * 2;
- }
- function on_playback_time(time) {
- if (!g_drag) {
- if (g_length > 0) g_pos = ww * time / g_length;
- window.Repaint();
- }
- }
- function on_playback_seek() {
- if (!g_drag && g_length > 0) window.Repaint();
- }
- function on_playback_pause() {
- window.Repaint();
- }
- function on_playback_stop() {
- g_length = 0;
- g_pos = 0;
- g_drag = false;
- window.Repaint();
- }
- function on_playback_new_track() {
- g_length = fb.PlaybackLength;
- g_pos = 0;
- g_drag = false;
- window.Repaint();
- }
- if (fb.IsPlaying) on_playback_new_track();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement