home *** CD-ROM | disk | FTP | other *** search
- class com.argosy.ui.VolumeControl extends com.argosy.ui.baseUI
- {
- var slider_bg;
- var bg;
- var volume_level;
- var volume_button;
- var drop_shadow;
- var inner_shadow;
- var slider_bar;
- var slider_drag_button;
- var onMouseMove;
- var panel_width = 20;
- var panel_height = 200;
- var isOpen = false;
- function VolumeControl()
- {
- super();
- }
- function closeMenu()
- {
- if(this.isOpen)
- {
- this.toggleMenu();
- }
- }
- function toggleMenu()
- {
- this.isOpen = !this.isOpen;
- this.slider_bg._visible = this.isOpen;
- this.bg._visible = this.isOpen;
- }
- function set volume(n)
- {
- this.volume_level = int(Math.max(0,Math.min(100,n)));
- if(this.volume_level == 0)
- {
- this.volume_button.gotoAndStop(101);
- }
- else
- {
- this.volume_button.gotoAndStop(this.volume_level);
- }
- _global.user_volume = this.volume_level;
- }
- function get volume()
- {
- return this.volume_level;
- }
- function init()
- {
- this.drop_shadow = new flash.filters.DropShadowFilter(5,45,0,0.8,5,5,1,3,false,false,false);
- this.inner_shadow = new flash.filters.DropShadowFilter(1,45,0,0.8,2,2,1,3,true,false,false);
- super.init();
- this.volume = 100;
- }
- function createChildren()
- {
- this.bg = this.createEmptyMovieClip("slider_bg",1);
- this.bg.beginFill(13421772,0);
- com.drawing.drawUtil.drawRect(this.slider_bg,- this.panel_width,0,this.panel_width * 3,this.panel_height,0);
- this.bg.endFill();
- this.bg.onPress = function()
- {
- };
- this.bg.useHandCursor = false;
- this.slider_bg = this.createEmptyMovieClip("slider_bg",2);
- this.slider_bg.filters = [this.drop_shadow];
- this.slider_bg.beginFill(13421772,100);
- com.drawing.drawUtil.drawRect(this.slider_bg,0,0,this.panel_width,this.panel_height,0);
- this.slider_bg.endFill();
- this.slider_bar = this.slider_bg.createEmptyMovieClip("slider_bar",2);
- this.slider_bar.filters = [this.inner_shadow];
- this.slider_bar.beginFill(6710886,100);
- com.drawing.drawUtil.drawRect(this.slider_bar,0,0,5,this.panel_height - 20,0);
- this.slider_bar.endFill();
- this.slider_bar.onPress = function()
- {
- };
- this.slider_bar.useHandCursor = false;
- this.slider_drag_button = this.slider_bg.createEmptyMovieClip("slider_drag_button",3);
- this.slider_drag_button.filters = [this.inner_shadow,this.drop_shadow];
- var _loc2_ = new flash.geom.Matrix();
- _loc2_.createGradientBox(20,20,1.0471975511965976,-10,-10);
- this.slider_drag_button.beginGradientFill("radial",[6710886,13421772],[100,100],[0,255],_loc2_,"repeat","RGB",1);
- com.drawing.drawUtil.drawOval(this.slider_drag_button,0,0,5,5);
- this.slider_drag_button.endFill();
- this.slider_drag_button.onPress = ascb.util.Proxy.create(this,this.pressButton);
- this.slider_drag_button.onRelease = this.slider_drag_button.onReleaseOutside = ascb.util.Proxy.create(this,this.releaseButton);
- this.volume_button.onPress = ascb.util.Proxy.create(this,this.toggleMenu);
- this.layout();
- }
- function pressButton()
- {
- this.onMouseMove = function()
- {
- this.slider_drag_button._y = Math.max(this.slider_bar._y,Math.min(this.slider_bar._y + this.slider_bar._height,this.slider_bg._ymouse));
- this.volume = 100 - (this.slider_drag_button._y - this.slider_bar._y) / this.slider_bar._height * 100;
- };
- }
- function releaseButton()
- {
- this.onMouseMove = null;
- this.toggleMenu();
- }
- function layout()
- {
- this.slider_bg._visible = this.isOpen;
- this.bg._visible = this.isOpen;
- this.bg._x = this.slider_bg._x = this.volume_button._x + this.volume_button._width / 2 - this.slider_bg._width / 2;
- this.bg._y = this.slider_bg._y = this.volume_button._x + this.volume_button._height;
- this.slider_bar._x = this.panel_width / 2 - this.slider_bar._width / 2;
- this.slider_bar._y = 10;
- this.slider_drag_button._x = this.slider_bar._x + this.slider_bar._width / 2;
- this.slider_drag_button._y = this.slider_bar._y;
- }
- }
-