/// <summary> /// /// </summary> /// <param name="items"></param> /// <param name="xPos"></param> /// <param name="yPos"></param> /// <param name="width"></param> /// <param name="height"></param> /// <param name="maxVisible"></param> /// <param name="r"></param> /// <param name="reason"></param> public bool Initialize(List<string> items, int xPos, int yPos, int width, int height, int maxVisible, Random r, out string reason) { _items = items; _xPos = xPos; _yPos = yPos; _width = width; _height = height; _selectedIndex = 0; Dropped = false; _downArrowSprite = SpriteManager.GetSprite("ScrollDownBGButton", r); if (items.Count < maxVisible) { _haveScroll = false; maxVisible = items.Count; } else if (items.Count > maxVisible) { _haveScroll = true; } Enabled = true; _buttons = new List<BBInvisibleStretchButton>(); _dropBackground = new BBStretchableImage(); _scrollBar = new BBScrollBar(); for (int i = 0; i <= maxVisible; i++) { BBInvisibleStretchButton button = new BBInvisibleStretchButton(); if (!button.Initialize(string.Empty, ButtonTextAlignment.LEFT, StretchableImageType.ThinBorderBG, StretchableImageType.ThinBorderFG, _xPos, _yPos + (i * height), _width, _height, r, out reason)) { return false; } _buttons.Add(button); } if (!_dropBackground.Initialize(_xPos, _yPos, width, height, StretchableImageType.ThinBorderBG, r, out reason)) { return false; } if (!_scrollBar.Initialize(_xPos + _width, _yPos + _height, maxVisible * _height, maxVisible, items.Count, false, false, r, out reason)) { return false; } RefreshSelection(); RefreshLabels(); return true; }
public bool Initialize(string buttonText, ButtonTextAlignment alignment, StretchableImageType background, StretchableImageType foreground, int xPos, int yPos, int width, int height, Random r, out string reason) { _xPos = xPos; _yPos = yPos; _width = width; _height = height; _alignment = alignment; _backgroundImage = new BBStretchableImage(); _foregroundImage = new BBStretchableImage(); if (!_backgroundImage.Initialize(xPos, yPos, width, height, background, r, out reason)) { return false; } if (!_foregroundImage.Initialize(xPos, yPos, width, height, foreground, r, out reason)) { return false; } _label = new BBLabel(); if (!_label.Initialize(0, 0, string.Empty, Color.White, out reason)) { return false; } SetText(buttonText); Reset(); _timeSinceClick = 10; //10 seconds will exceed any double-click max interval _doubleClicked = false; reason = null; return true; }
public bool Initialize(string name, string text, int screenWidth, int screenHeight, Random r, out string reason) { _text = new BBTextBox(); if (!_text.Initialize(0, 0, WIDTH - 30, 0, true, false, name, r, out reason)) { return false; } _text.SetText(text); if (_text.Width < WIDTH - 30) { _actualWidth = _text.Width + 30; } else { _actualWidth = WIDTH; } _totalHeight = _text.Height + 15; _background = new BBStretchableImage(); if (!_background.Initialize(0, 0, _actualWidth, _totalHeight, StretchableImageType.ThinBorderBG, r, out reason)) { return false; } _showing = false; _delayBeforeShowing = 0; //1 second will turn on showing _screenWidth = screenWidth; _screenHeight = screenHeight; reason = null; return true; }
public bool Initialize(string text, int x, int y, int width, int height, bool isReadOnly, Random r, out string reason) { xPos = x; yPos = y; this.width = width; this.height = height; HighlightColor = Color.FromArgb(125, 0, 125, 125); //Allows us to have transparency on our highlight rectangle Gorgon.Screen.BlendingMode = BlendingModes.Modulated; background = new BBStretchableImage(); if (!background.Initialize(x, y, width, height, StretchableImageType.TextBox, r, out reason)) { return false; } Text = string.Empty; this.text = new BBLabel(); if (!this.text.Initialize(x + 6, y + 7, text, Color.White, out reason)) { return false; } pressed = false; isSelected = false; blink = true; this.isReadOnly = isReadOnly; reason = null; return true; }