/// <summary> /// Constructor. /// </summary> /// <param name="game">The currently running Game object.</param> /// <param name="guiManager">GUIManager that this control is part of.</param> public Window(Game game, GUIManager guiManager) : base(game, guiManager) { this.isResizable = true; this.transparency = -1; #region Create Child Controls this.box = new Box(game, guiManager); this.viewPort = new UIComponent(game, guiManager); this.titleBar = new Bar(game, guiManager); this.movableArea = new MovableArea(game, guiManager); this.backgroundMovableArea = new MovableArea(game, guiManager); this.label = new Label(game, guiManager); this.closeButton = new ImageButton(game, guiManager); #endregion #region Add Child Controls base.Add(this.box); base.Add(this.viewPort); base.Add(this.titleBar); base.Add(this.label); base.Add(this.movableArea); #endregion #region Add Resizable Areas this.resizableAreas = new ResizableArea[8]; for (int i = 0; i < 8; i++) { this.resizableAreas[i] = new ResizableArea(game, guiManager); this.resizableAreas[i].ZOrder = 0.3f; this.resizableAreas[i].StartResizing += new StartResizingHandler(OnStartAnimating); this.resizableAreas[i].EndResizing += new EndResizingHandler(OnEndAnimating); base.Add(this.resizableAreas[i]); } this.resizableAreas[0].ResizeArea = ResizeAreas.TopLeft; this.resizableAreas[1].ResizeArea = ResizeAreas.Top; this.resizableAreas[2].ResizeArea = ResizeAreas.TopRight; this.resizableAreas[3].ResizeArea = ResizeAreas.Left; this.resizableAreas[4].ResizeArea = ResizeAreas.Right; this.resizableAreas[5].ResizeArea = ResizeAreas.BottomLeft; this.resizableAreas[6].ResizeArea = ResizeAreas.Bottom; this.resizableAreas[7].ResizeArea = ResizeAreas.BottomRight; #endregion #region Set Non-Default Properties this.movableArea.ZOrder = 0.1f; this.closeButton.ZOrder = 0.4f; this.viewPort.ZOrder = 0.2f; this.viewPort.CanHaveFocus = true; MinWidth = 150; #endregion #region Set Default Properties Margin = defaultMargin; HasCloseButton = defaultHasCloseButton; HasFullWindowMovableArea = defaultFullWindowMovableArea; TitleBarHeight = defaultTitleBarHeight; Width = MinWidth; Height = MinHeight; ButtonSize = defaultButtonSize; Skin = defaultSkin; TitleBarSkin = defaultTitleBarSkin; CloseButtonSkin = defaultCloseButtonSkin; CloseButtonHoverSkin = defaultCloseButtonHoverSkin; CloseButtonPressedSkin = defaultCloseButtonPressedSkin; #endregion #region Event Handlers this.closeButton.Click += new ClickHandler(OnClose); this.movableArea.StartMoving += new StartMovingHandler(OnStartAnimating); this.movableArea.EndMoving += new EndMovingHandler(OnEndAnimating); this.backgroundMovableArea.StartMoving += new StartMovingHandler(OnStartAnimating); this.backgroundMovableArea.EndMoving += new EndMovingHandler(OnEndAnimating); #endregion Refresh(); }
/// <summary> /// Constructor. /// </summary> /// <param name="game">The currently running Game object.</param> /// <param name="guiManager">GUIManager that this control is part of.</param> public Window(Game game, GUIManager guiManager) : base(game, guiManager) { this.isResizable = true; this.transparency = -1; #region Create Child Controls this.box = new Box(game, guiManager); this.viewPort = new UIComponent(game, guiManager); this.titleBar = new Bar(game, guiManager); this.movableArea = new MovableArea(game, guiManager); this.backgroundMovableArea = new MovableArea(game, guiManager); this.label = new Label(game, guiManager); this.closeButton = new ImageButton(game, guiManager); #endregion #region Add Child Controls base.Add(this.box); base.Add(this.viewPort); base.Add(this.titleBar); base.Add(this.label); base.Add(this.movableArea); #endregion #region Add Resizable Areas this.resizableAreas = new ResizableArea[8]; for (int i = 0; i < 8; i++) { this.resizableAreas[i] = new ResizableArea(game, guiManager); this.resizableAreas[i].ZOrder = 0.3f; this.resizableAreas[i].StartResizing += new StartResizingHandler(OnStartAnimating); this.resizableAreas[i].EndResizing += new EndResizingHandler(OnEndAnimating); base.Add(this.resizableAreas[i]); } this.resizableAreas[0].ResizeArea = ResizeAreas.TopLeft; this.resizableAreas[1].ResizeArea = ResizeAreas.Top; this.resizableAreas[2].ResizeArea = ResizeAreas.TopRight; this.resizableAreas[3].ResizeArea = ResizeAreas.Left; this.resizableAreas[4].ResizeArea = ResizeAreas.Right; this.resizableAreas[5].ResizeArea = ResizeAreas.BottomLeft; this.resizableAreas[6].ResizeArea = ResizeAreas.Bottom; this.resizableAreas[7].ResizeArea = ResizeAreas.BottomRight; #endregion #region Set Non-Default Properties this.movableArea.ZOrder = 0.1f; this.closeButton.ZOrder = 0.4f; this.viewPort.ZOrder = 0.2f; this.viewPort.CanHaveFocus = true; MinWidth = 150; #endregion #region Set Default Properties Margin = defaultMargin; HasCloseButton = defaultHasCloseButton; HasFullWindowMovableArea = defaultFullWindowMovableArea; TitleBarHeight = defaultTitleBarHeight; Width = MinWidth; Height = MinHeight; ButtonSize = defaultButtonSize; Skin = defaultSkin; TitleBarSkin = defaultTitleBarSkin; CloseButtonSkin = defaultCloseButtonSkin; CloseButtonHoverSkin = defaultCloseButtonHoverSkin; CloseButtonPressedSkin = defaultCloseButtonPressedSkin; #endregion #region Event Handlers this.closeButton.Click += new ClickHandler(OnClose); this.movableArea.StartMoving += new StartMovingHandler(OnStartAnimating); this.movableArea.EndMoving += new EndMovingHandler(OnEndAnimating); this.backgroundMovableArea.StartMoving += new StartMovingHandler(OnStartAnimating); this.backgroundMovableArea.EndMoving += new EndMovingHandler(OnEndAnimating); #endregion Refresh(); }