Exemplo n.º 1
0
GUIWindow::GUIWindow(Renderer* pRenderer, unsigned int GUIFont, const std::string &title)
  : Container(pRenderer),
    m_GUIFont(GUIFont)
{
	m_titleBar = new TitleBar(pRenderer, GUIFont, title);

	// We created the title bar, so we own it (Must delete it)
	mb_ownsTitleBar = true;

	m_titleBar->SetParent(this); // The base class component parent functionality
	m_titleBar->SetGUIWindowParent(this);
	m_titleBar->SetDepth(2.0f);

	m_pBackgroundIcon = new DirectDrawRectangle(pRenderer);

	DirectDrawRectangle *lpDirectDrawRect = (DirectDrawRectangle *)m_pBackgroundIcon;
	lpDirectDrawRect->SetBackgroundColourTopLeft(Colour(0.52f, 0.53f, 0.91f, 1.0f));
	lpDirectDrawRect->SetBackgroundColourTopRight(Colour(0.52f, 0.53f, 0.91f, 1.0f));
	lpDirectDrawRect->SetBackgroundColourBottomLeft(Colour(0.52f, 0.53f, 0.91f, 1.0f));
	lpDirectDrawRect->SetBackgroundColourBottomRight(Colour(0.52f, 0.53f, 0.91f, 1.0f));
	lpDirectDrawRect->SetOutlineColourTop(Colour(1.0f, 1.0f, 1.0f, 1.0f));
	lpDirectDrawRect->SetOutlineColourBottom(Colour(0.0f, 0.0f, 0.0f, 1.0f));
	lpDirectDrawRect->SetOutlineColourLeft(Colour(1.0f, 1.0f, 1.0f, 1.0f));
	lpDirectDrawRect->SetOutlineColourRight(Colour(0.0f, 0.0f, 0.0f, 1.0f));

	Add(m_pBackgroundIcon);

	Add(m_titleBar);

	m_bMinimized = false;

	m_bAllowMoving = true;
	m_bAllowClosing = true;
	m_bAllowMinimizing = true;
	m_bAllowScrolling = true;
    m_bSnapToWindow = true;

	m_bRenderTitleBar = true;
	m_bRenderWindowBackground = true;

	m_applicationBorderLeft = 0;
	m_applicationBorderRight = 0;
	m_applicationBorderTop = 0;
	m_applicationBorderBottom = 0;

	m_outlineRender = false;

	m_pParentGUI = NULL;
}
Exemplo n.º 2
0
TitleBar::TitleBar(Renderer* pRenderer, unsigned int GUIFont, const std::string &title, GUIWindowCloseButton* pCloseButton, GUIWindowMinimizeButton* pMinimizeButton)
  : Container(pRenderer),
    m_title(pRenderer, GUIFont, title, Colour(1.0f, 1.0f, 1.0f))
{
	m_closeButton = pCloseButton;
	m_minimizeButton = pMinimizeButton;

	mb_ownsButtons = false;

	m_pBackgroundIcon = new DirectDrawRectangle(pRenderer);

	DirectDrawRectangle *lpDirectDrawRect = (DirectDrawRectangle *)m_pBackgroundIcon;
	lpDirectDrawRect->SetBackgroundColourTopLeft(Colour(0.52f, 0.53f, 0.91f, 1.0f));
	lpDirectDrawRect->SetBackgroundColourTopRight(Colour(0.52f, 0.53f, 0.91f, 1.0f));
	lpDirectDrawRect->SetBackgroundColourBottomLeft(Colour(0.52f, 0.53f, 0.91f, 1.0f));
	lpDirectDrawRect->SetBackgroundColourBottomRight(Colour(0.52f, 0.53f, 0.91f, 1.0f));
	lpDirectDrawRect->SetOutlineColourTop(Colour(1.0f, 1.0f, 1.0f, 1.0f));
	lpDirectDrawRect->SetOutlineColourBottom(Colour(0.0f, 0.0f, 0.0f, 1.0f));
	lpDirectDrawRect->SetOutlineColourLeft(Colour(1.0f, 1.0f, 1.0f, 1.0f));
	lpDirectDrawRect->SetOutlineColourRight(Colour(0.0f, 0.0f, 0.0f, 1.0f));

	Add(m_pBackgroundIcon);

	int lTitleBarSpace = 1;
	m_title.SetLocation(lTitleBarSpace, lTitleBarSpace);
	m_title.SetDepth(2.0f);

	Add(&m_title);
	Add(m_closeButton);
	Add(m_minimizeButton);

	m_nextX = 0;
	m_nextY = 0;

	m_lastX = 0;
	m_lastY = 0;

	m_bDragging = false;
	m_bFirstOutsideDrag = false;

	m_outlineRender = false;
}
Exemplo n.º 3
0
Slider::Slider(Renderer* pRenderer, unsigned int GUIFont, const std::string &label, float min, float max, float defaultValue, bool addIncrementButtons, float incrementAmount)
  : Container(pRenderer),
    m_value(pRenderer, GUIFont, "", Colour(0.0f, 0.0f, 0.0f)),
	m_name(pRenderer, GUIFont, label, Colour(0.0f, 0.0f, 0.0f)),
    m_fontID(GUIFont),
	m_minValue(min),
	m_maxValue(max),
	m_defaultValue(defaultValue),
	m_eSliderDirection(ESliderDirection_Horizontal)
{
	m_pScrollerDefault = new DirectDrawRectangle(pRenderer);
	m_pScrollerHover = new DirectDrawRectangle(pRenderer);
	m_pScrollerDragging = new DirectDrawRectangle(pRenderer);
	m_pScrollerDisabled = new DirectDrawRectangle(pRenderer);
	m_pScrollBackbarDefault = new DirectDrawRectangle(pRenderer);
	m_pScrollBackbarPressed = new DirectDrawRectangle(pRenderer);

	DirectDrawRectangle *lpDirectDrawRect = (DirectDrawRectangle *)m_pScrollerDefault;
	lpDirectDrawRect->SetBackgroundColourTopLeft(Colour(0.52f, 0.53f, 0.91f, 1.0f));
	lpDirectDrawRect->SetBackgroundColourTopRight(Colour(0.52f, 0.53f, 0.91f, 1.0f));
	lpDirectDrawRect->SetBackgroundColourBottomLeft(Colour(0.52f, 0.53f, 0.91f, 1.0f));
	lpDirectDrawRect->SetBackgroundColourBottomRight(Colour(0.52f, 0.53f, 0.91f, 1.0f));
	lpDirectDrawRect->SetOutlineColourTop(Colour(1.0f, 1.0f, 1.0f, 1.0f));
	lpDirectDrawRect->SetOutlineColourBottom(Colour(0.0f, 0.0f, 0.0f, 1.0f));
	lpDirectDrawRect->SetOutlineColourLeft(Colour(1.0f, 1.0f, 1.0f, 1.0f));
	lpDirectDrawRect->SetOutlineColourRight(Colour(0.0f, 0.0f, 0.0f, 1.0f));

	lpDirectDrawRect = (DirectDrawRectangle *)m_pScrollerHover;
	lpDirectDrawRect->SetBackgroundColourTopLeft(Colour(0.25f, 0.25f, 1.0f, 1.0f));
	lpDirectDrawRect->SetBackgroundColourTopRight(Colour(0.25f, 0.25f, 1.0f, 1.0f));
	lpDirectDrawRect->SetBackgroundColourBottomLeft(Colour(0.25f, 0.25f, 1.0f, 1.0f));
	lpDirectDrawRect->SetBackgroundColourBottomRight(Colour(0.25f, 0.25f, 1.0f, 1.0f));
	lpDirectDrawRect->SetOutlineColourTop(Colour(1.0f, 1.0f, 1.0f, 1.0f));
	lpDirectDrawRect->SetOutlineColourBottom(Colour(0.0f, 0.0f, 0.0f, 1.0f));
	lpDirectDrawRect->SetOutlineColourLeft(Colour(1.0f, 1.0f, 1.0f, 1.0f));
	lpDirectDrawRect->SetOutlineColourRight(Colour(0.0f, 0.0f, 0.0f, 1.0f));

	lpDirectDrawRect = (DirectDrawRectangle *)m_pScrollerDragging;
	lpDirectDrawRect->SetBackgroundColourTopLeft(Colour(0.25f, 0.25f, 1.0f, 1.0f));
	lpDirectDrawRect->SetBackgroundColourTopRight(Colour(0.25f, 0.25f, 1.0f, 1.0f));
	lpDirectDrawRect->SetBackgroundColourBottomLeft(Colour(0.25f, 0.25f, 1.0f, 1.0f));
	lpDirectDrawRect->SetBackgroundColourBottomRight(Colour(0.25f, 0.25f, 1.0f, 1.0f));
	lpDirectDrawRect->SetOutlineColourTop(Colour(0.0f, 0.0f, 0.0f, 1.0f));
	lpDirectDrawRect->SetOutlineColourBottom(Colour(1.0f, 1.0f, 1.0f, 1.0f));
	lpDirectDrawRect->SetOutlineColourLeft(Colour(0.0f, 0.0f, 0.0f, 1.0f));
	lpDirectDrawRect->SetOutlineColourRight(Colour(1.0f, 1.0f, 1.0f, 1.0f));

	lpDirectDrawRect = (DirectDrawRectangle *)m_pScrollerDisabled;
	lpDirectDrawRect->SetBackgroundColourTopLeft(Colour(0.75f, 0.75f, 0.75f, 1.0f));
	lpDirectDrawRect->SetBackgroundColourTopRight(Colour(0.75f, 0.75f, 0.75f, 1.0f));
	lpDirectDrawRect->SetBackgroundColourBottomLeft(Colour(0.75f, 0.75f, 0.75f, 1.0f));
	lpDirectDrawRect->SetBackgroundColourBottomRight(Colour(0.75f, 0.75f, 0.75f, 1.0f));
	lpDirectDrawRect->SetOutlineColourTop(Colour(0.25f, 0.25f, 0.25f, 1.0f));
	lpDirectDrawRect->SetOutlineColourBottom(Colour(0.25f, 0.25f, 0.25f, 1.0f));
	lpDirectDrawRect->SetOutlineColourLeft(Colour(0.25f, 0.25f, 0.25f, 1.0f));
	lpDirectDrawRect->SetOutlineColourRight(Colour(0.25f, 0.25f, 0.25f, 1.0f));

	lpDirectDrawRect = (DirectDrawRectangle *)m_pScrollBackbarDefault;
	lpDirectDrawRect->SetBackgroundColourTopLeft(Colour(0.75f, 0.75f, 0.75f, 1.0f));
	lpDirectDrawRect->SetBackgroundColourTopRight(Colour(0.75f, 0.75f, 0.75f, 1.0f));
	lpDirectDrawRect->SetBackgroundColourBottomLeft(Colour(0.75f, 0.75f, 0.75f, 1.0f));
	lpDirectDrawRect->SetBackgroundColourBottomRight(Colour(0.75f, 0.75f, 0.75f, 1.0f));
	lpDirectDrawRect->SetOutlineColourTop(Colour(0.25f, 0.25f, 0.25f, 1.0f));
	lpDirectDrawRect->SetOutlineColourBottom(Colour(0.25f, 0.25f, 0.25f, 1.0f));
	lpDirectDrawRect->SetOutlineColourLeft(Colour(0.25f, 0.25f, 0.25f, 1.0f));
	lpDirectDrawRect->SetOutlineColourRight(Colour(0.25f, 0.25f, 0.25f, 1.0f));

	lpDirectDrawRect = (DirectDrawRectangle *)m_pScrollBackbarPressed;
	lpDirectDrawRect->SetBackgroundColourTopLeft(Colour(0.5f, 0.5f, 0.5f, 1.0f));
	lpDirectDrawRect->SetBackgroundColourTopRight(Colour(0.5f, 0.5f, 0.5f, 1.0f));
	lpDirectDrawRect->SetBackgroundColourBottomLeft(Colour(0.5f, 0.5f, 0.5f, 1.0f));
	lpDirectDrawRect->SetBackgroundColourBottomRight(Colour(0.5f, 0.5f, 0.5f, 1.0f));
	lpDirectDrawRect->SetOutlineColourTop(Colour(0.05f, 0.05f, 0.05f, 1.0f));
	lpDirectDrawRect->SetOutlineColourBottom(Colour(0.05f, 0.05f, 0.05f, 1.0f));
	lpDirectDrawRect->SetOutlineColourLeft(Colour(0.05f, 0.05f, 0.05f, 1.0f));
	lpDirectDrawRect->SetOutlineColourRight(Colour(0.05f, 0.05f, 0.05f, 1.0f));

	m_pPlusButton = new Button(pRenderer, GUIFont, "+");
	m_pPlusButton->SetCallBackFunction(_PlusPressed);
	m_pPlusButton->SetCallBackData(this);
	m_pPlusButton->SetLabelOffset(0, 0);
	m_pMinusButton = new Button(pRenderer, GUIFont, "-");
	m_pMinusButton->SetCallBackFunction(_MinusPressed);
	m_pMinusButton->SetCallBackData(this);
	m_pMinusButton->SetLabelOffset(1, 2);

	m_pPlusButton->SetDepth(2.0f);
	m_pMinusButton->SetDepth(2.0f);

	m_currentValue = defaultValue;

	m_bShowValue = true;
	m_ValuePrecision = 2;

	m_bDragging = false;
	m_bAllowDragging = true;
	m_bHover = false;
	m_bDragginOutside = false;
	m_bFirstOutsideDrag = false;
	m_bAllowDragginOutside = false;
	m_bPressedBar = false;
	m_bAllowReleasingOnBar = true;
	m_bOverBar = false;

    m_bRenderBackgroundBar = true;

	m_bDynamicColourBackground = false;

	m_lastX = 0;
	m_lastY = 0;

	m_disabled = false;

	Add(m_pScrollerDefault);
	Add(m_pScrollerHover);
	Add(m_pScrollerDragging);
	Add(m_pScrollerDisabled);
	Add(m_pScrollBackbarDefault);
	Add(m_pScrollBackbarPressed);

	m_labelOffset_X = 0;
	m_labelOffset_Y = 0;
	m_valueOffset_X = 0;
	m_valueOffset_Y = 0;
	m_incrementButtonsOffset_X = 0;
	m_incrementButtonsOffset_Y = 0;

	m_incrementButtons = addIncrementButtons;
	m_incrementAmount = incrementAmount;

	if(addIncrementButtons)
	{
		Add(m_pPlusButton);
		Add(m_pMinusButton);
	}

	Add(&m_value);
	Add(&m_name);

    m_ValueChangedCallback = NULL;
    m_pValueChangedCallbackData = NULL;

	ValueChanged();
}
Exemplo n.º 4
0
MenuItem::MenuItem(Renderer* pRenderer, unsigned int GUIFont, unsigned int OutlineGUIFont, const std::string &label, Colour lLabelColour, Colour outlineColour)
  : AbstractButton(pRenderer, GUIFont, label)
{
	m_pDefaultIcon = new DirectDrawRectangle(pRenderer);
	m_pHoverIcon = new DirectDrawRectangle(pRenderer);
	m_pSelectedIcon = new DirectDrawRectangle(pRenderer);
	m_pDisabledIcon = new DirectDrawRectangle(pRenderer);

	DirectDrawRectangle *lpDirectDrawRect = (DirectDrawRectangle *)m_pDefaultIcon;
	lpDirectDrawRect->SetBackgroundColourTopLeft(Colour(0.52f, 0.53f, 0.91f, 1.0f));
	lpDirectDrawRect->SetBackgroundColourTopRight(Colour(0.52f, 0.53f, 0.91f, 1.0f));
	lpDirectDrawRect->SetBackgroundColourBottomLeft(Colour(0.52f, 0.53f, 0.91f, 1.0f));
	lpDirectDrawRect->SetBackgroundColourBottomRight(Colour(0.52f, 0.53f, 0.91f, 1.0f));
	lpDirectDrawRect->SetOutlineColourTop(Colour(1.0f, 1.0f, 1.0f, 1.0f));
	lpDirectDrawRect->SetOutlineColourBottom(Colour(0.0f, 0.0f, 0.0f, 1.0f));
	lpDirectDrawRect->SetOutlineColourLeft(Colour(1.0f, 1.0f, 1.0f, 1.0f));
	lpDirectDrawRect->SetOutlineColourRight(Colour(0.0f, 0.0f, 0.0f, 1.0f));

	lpDirectDrawRect = (DirectDrawRectangle *)m_pHoverIcon;
	lpDirectDrawRect->SetBackgroundColourTopLeft(Colour(0.25f, 0.25f, 1.0f, 1.0f));
	lpDirectDrawRect->SetBackgroundColourTopRight(Colour(0.25f, 0.25f, 1.0f, 1.0f));
	lpDirectDrawRect->SetBackgroundColourBottomLeft(Colour(0.25f, 0.25f, 1.0f, 1.0f));
	lpDirectDrawRect->SetBackgroundColourBottomRight(Colour(0.25f, 0.25f, 1.0f, 1.0f));
	lpDirectDrawRect->SetOutlineColourTop(Colour(1.0f, 1.0f, 1.0f, 1.0f));
	lpDirectDrawRect->SetOutlineColourBottom(Colour(0.0f, 0.0f, 0.0f, 1.0f));
	lpDirectDrawRect->SetOutlineColourLeft(Colour(1.0f, 1.0f, 1.0f, 1.0f));
	lpDirectDrawRect->SetOutlineColourRight(Colour(0.0f, 0.0f, 0.0f, 1.0f));

	lpDirectDrawRect = (DirectDrawRectangle *)m_pSelectedIcon;
	lpDirectDrawRect->SetBackgroundColourTopLeft(Colour(0.25f, 0.25f, 1.0f, 1.0f));
	lpDirectDrawRect->SetBackgroundColourTopRight(Colour(0.25f, 0.25f, 1.0f, 1.0f));
	lpDirectDrawRect->SetBackgroundColourBottomLeft(Colour(0.25f, 0.25f, 1.0f, 1.0f));
	lpDirectDrawRect->SetBackgroundColourBottomRight(Colour(0.25f, 0.25f, 1.0f, 1.0f));
	lpDirectDrawRect->SetOutlineColourTop(Colour(0.0f, 0.0f, 0.0f, 1.0f));
	lpDirectDrawRect->SetOutlineColourBottom(Colour(1.0f, 1.0f, 1.0f, 1.0f));
	lpDirectDrawRect->SetOutlineColourLeft(Colour(0.0f, 0.0f, 0.0f, 1.0f));
	lpDirectDrawRect->SetOutlineColourRight(Colour(1.0f, 1.0f, 1.0f, 1.0f));

	lpDirectDrawRect = (DirectDrawRectangle *)m_pDisabledIcon;
	lpDirectDrawRect->SetBackgroundColourTopLeft(Colour(0.75f, 0.75f, 0.75f, 1.0f));
	lpDirectDrawRect->SetBackgroundColourTopRight(Colour(0.75f, 0.75f, 0.75f, 1.0f));
	lpDirectDrawRect->SetBackgroundColourBottomLeft(Colour(0.75f, 0.75f, 0.75f, 1.0f));
	lpDirectDrawRect->SetBackgroundColourBottomRight(Colour(0.75f, 0.75f, 0.75f, 1.0f));
	lpDirectDrawRect->SetOutlineColourTop(Colour(0.25f, 0.25f, 0.25f, 1.0f));
	lpDirectDrawRect->SetOutlineColourBottom(Colour(0.25f, 0.25f, 0.25f, 1.0f));
	lpDirectDrawRect->SetOutlineColourLeft(Colour(0.25f, 0.25f, 0.25f, 1.0f));
	lpDirectDrawRect->SetOutlineColourRight(Colour(0.25f, 0.25f, 0.25f, 1.0f));

	Add(m_pDefaultIcon);
	Add(m_pSelectedIcon);
	Add(m_pHoverIcon);
	Add(m_pDisabledIcon);

	m_label.SetLocation(0, 0);
	m_label.SetColour(lLabelColour);
	m_label.SetOutline(true);
	m_label.SetOutlineColour(outlineColour);
	m_label.SetOutlineFont(OutlineGUIFont);
	Add(&m_label);

	m_pDefaultIcon->SetDepth(3.0f);
	m_pSelectedIcon->SetDepth(3.0f);
	m_pHoverIcon->SetDepth(3.0f);
	m_pDisabledIcon->SetDepth(3.0f);

	// Start out disabled, since most menus are not open to start with...
	SetEnabled(false);

	m_bOnlyShowSelectedItems = false;
}
Exemplo n.º 5
0
ProgressBar::ProgressBar(Renderer* pRenderer, unsigned int GUIFont, float min, float max)
  : Container(pRenderer),
    m_minValue(min),
    m_maxValue(max),
    m_eProgressDirection(EProgressDirection_Horizontal)
{
	m_currentValue = m_minValue;

	m_pProgressBackground = new DirectDrawRectangle(pRenderer);
	m_pProgressFiller = new DirectDrawRectangle(pRenderer);

	DirectDrawRectangle *lpDirectDrawRect = (DirectDrawRectangle *)m_pProgressBackground;
	lpDirectDrawRect->SetBackgroundColourTopLeft(Colour(0.75f, 0.75f, 0.75f, 1.0f));
	lpDirectDrawRect->SetBackgroundColourTopRight(Colour(0.75f, 0.75f, 0.75f, 1.0f));
	lpDirectDrawRect->SetBackgroundColourBottomLeft(Colour(0.75f, 0.75f, 0.75f, 1.0f));
	lpDirectDrawRect->SetBackgroundColourBottomRight(Colour(0.75f, 0.75f, 0.75f, 1.0f));
	lpDirectDrawRect->SetOutlineColourTop(Colour(0.25f, 0.25f, 0.25f, 1.0f));
	lpDirectDrawRect->SetOutlineColourBottom(Colour(0.25f, 0.25f, 0.25f, 1.0f));
	lpDirectDrawRect->SetOutlineColourLeft(Colour(0.25f, 0.25f, 0.25f, 1.0f));
	lpDirectDrawRect->SetOutlineColourRight(Colour(0.25f, 0.25f, 0.25f, 1.0f));

	lpDirectDrawRect = (DirectDrawRectangle *)m_pProgressFiller;
	lpDirectDrawRect->SetBackgroundColourTopLeft(Colour(0.52f, 0.53f, 0.91f, 1.0f));
	lpDirectDrawRect->SetBackgroundColourTopRight(Colour(0.52f, 0.53f, 0.91f, 1.0f));
	lpDirectDrawRect->SetBackgroundColourBottomLeft(Colour(0.52f, 0.53f, 0.91f, 1.0f));
	lpDirectDrawRect->SetBackgroundColourBottomRight(Colour(0.52f, 0.53f, 0.91f, 1.0f));
	lpDirectDrawRect->SetOutlineColourTop(Colour(1.0f, 1.0f, 1.0f, 1.0f));
	lpDirectDrawRect->SetOutlineColourBottom(Colour(0.0f, 0.0f, 0.0f, 1.0f));
	lpDirectDrawRect->SetOutlineColourLeft(Colour(1.0f, 1.0f, 1.0f, 1.0f));
	lpDirectDrawRect->SetOutlineColourRight(Colour(0.0f, 0.0f, 0.0f, 1.0f));

	Add(m_pProgressFiller);
	Add(m_pProgressBackground);

	m_pProgressBackground->SetDepth(2.0f);
	m_pProgressFiller->SetDepth(3.0f);
}