コード例 #1
0
CDlgEventLog::~CDlgEventLog() {
    wxLogTrace(wxT("Function Start/End"), wxT("CDlgEventLog::CDlgEventLog - Destructor Function Begin"));
    
    SaveState();
    SetWindowDimensions();

    if (m_pMessageInfoAttr) {
        delete m_pMessageInfoAttr;
        m_pMessageInfoAttr = NULL;
    }

    if (m_pMessageErrorAttr) {
        delete m_pMessageErrorAttr;
        m_pMessageErrorAttr = NULL;
    }

    if (m_pMessageInfoGrayAttr) {
        delete m_pMessageInfoGrayAttr;
        m_pMessageInfoGrayAttr = NULL;
    }

    if (m_pMessageErrorGrayAttr) {
        delete m_pMessageErrorGrayAttr;
        m_pMessageErrorGrayAttr = NULL;
    }

    m_iFilteredIndexes.Clear();

    wxGetApp().OnEventLogClose();

    wxLogTrace(wxT("Function Start/End"), wxT("CDlgEventLog::CDlgEventLog - Destructor Function End"));
}
コード例 #2
0
ファイル: DlgEventLog.cpp プロジェクト: Ashod/Boinc
void CDlgEventLog::OnClose(wxCloseEvent& WXUNUSED(event)) {
    m_bEventLogIsOpen = false;  // User specifically closed window

    SaveState();
    SetWindowDimensions();

    Destroy();
}
コード例 #3
0
ファイル: node.cpp プロジェクト: koekeishiya/kwm
void ResizeWindowToContainerSize(link_node *Link)
{
    ax_window *Window = GetWindowByID((unsigned int)Link->WindowID);
    if(Window)
    {
        SetWindowDimensions(Window, Link->Container.X, Link->Container.Y,
                            Link->Container.Width, Link->Container.Height);
    }
}
コード例 #4
0
ファイル: node.cpp プロジェクト: koekeishiya/kwm
void ResizeWindowToContainerSize(tree_node *Node)
{
    ax_window *Window = GetWindowByID((unsigned int)Node->WindowID);
    if(Window)
    {
        SetWindowDimensions(Window, Node->Container.X, Node->Container.Y,
                            Node->Container.Width, Node->Container.Height);
    }
}
コード例 #5
0
ファイル: fswindow.cpp プロジェクト: Bl00drav3n/FSWindow
static void
SetFullscreen(window_data Data)
{
	MONITORINFO MonitorInfo = {};
	MonitorInfo.cbSize = sizeof(MonitorInfo);
	if(GetMonitorInfo(MonitorFromWindow(Data.Window, MONITOR_DEFAULTTONEAREST), &MonitorInfo)) {
		RECT Rect = MonitorInfo.rcMonitor;
		int X = Rect.left;
		int Y = Rect.top;
		int Width = Rect.right - Rect.left;
		int Height = Rect.bottom - Rect.top;
		SetWindowDimensions(Data, X, Y, Width, Height);
	}
	else {
		PRINT_ERR("Could not get monitor info.\n");
	}

	SetBorderlessWindowStyle(Data);
}
コード例 #6
0
ファイル: nsViewManager.cpp プロジェクト: mozilla/pjs
NS_IMETHODIMP nsViewManager::DispatchEvent(nsGUIEvent *aEvent,
                                           nsIView* aView, nsEventStatus *aStatus)
{
  NS_ASSERTION(!aView || static_cast<nsView*>(aView)->GetViewManager() == this,
               "wrong view manager");

  SAMPLE_LABEL("event", "nsViewManager::DispatchEvent");

  *aStatus = nsEventStatus_eIgnore;

  switch(aEvent->message)
    {
    case NS_SIZE:
      {
        if (aView)
          {
            // client area dimensions are set on the view
            nscoord width = ((nsSizeEvent*)aEvent)->windowSize->width;
            nscoord height = ((nsSizeEvent*)aEvent)->windowSize->height;

            // The root view may not be set if this is the resize associated with
            // window creation

            if (aView == mRootView)
              {
                PRInt32 p2a = AppUnitsPerDevPixel();
                SetWindowDimensions(NSIntPixelsToAppUnits(width, p2a),
                                    NSIntPixelsToAppUnits(height, p2a));
                *aStatus = nsEventStatus_eConsumeNoDefault;
              }
            else if (IsViewForPopup(aView))
              {
                nsXULPopupManager* pm = nsXULPopupManager::GetInstance();
                if (pm)
                  {
                    pm->PopupResized(aView->GetFrame(), nsIntSize(width, height));
                    *aStatus = nsEventStatus_eConsumeNoDefault;
                  }
              }
          }
        }

        break;

    case NS_MOVE:
      {
        // A popup's parent view is the root view for the parent window, so when
        // a popup moves, the popup's frame and view position must be updated
        // to match.
        if (aView && IsViewForPopup(aView))
          {
            nsXULPopupManager* pm = nsXULPopupManager::GetInstance();
            if (pm)
              {
                pm->PopupMoved(aView->GetFrame(), aEvent->refPoint);
                *aStatus = nsEventStatus_eConsumeNoDefault;
              }
          }
        break;
      }

    case NS_DONESIZEMOVE:
      {
        if (mPresShell) {
          nsPresContext* presContext = mPresShell->GetPresContext();
          if (presContext) {
            nsEventStateManager::ClearGlobalActiveContent(nsnull);
          }

        }

        nsIPresShell::ClearMouseCapture(nsnull);
      }
      break;
  
    case NS_XUL_CLOSE:
      {
        // if this is a popup, make a request to hide it. Note that a popuphidden
        // event listener may cancel the event and the popup will not be hidden.
        nsIWidget* widget = aView->GetWidget();
        if (widget) {
          nsWindowType type;
          widget->GetWindowType(type);
          if (type == eWindowType_popup) {
            nsXULPopupManager* pm = nsXULPopupManager::GetInstance();
            if (pm) {
              pm->HidePopup(aView->GetFrame());
              *aStatus = nsEventStatus_eConsumeNoDefault;
            }
          }
        }
      }
      break;

    case NS_WILL_PAINT:
      {
        if (!aView || !mContext)
          break;

        *aStatus = nsEventStatus_eConsumeNoDefault;

        nsPaintEvent *event = static_cast<nsPaintEvent*>(aEvent);

        NS_ASSERTION(static_cast<nsView*>(aView) ==
                       nsView::GetViewFor(event->widget),
                     "view/widget mismatch");

        // If an ancestor widget was hidden and then shown, we could
        // have a delayed resize to handle.
        for (nsViewManager *vm = this; vm;
             vm = vm->mRootView->GetParent()
                    ? vm->mRootView->GetParent()->GetViewManager()
                    : nsnull) {
          if (vm->mDelayedResize != nsSize(NSCOORD_NONE, NSCOORD_NONE) &&
              vm->mRootView->IsEffectivelyVisible() &&
              mPresShell && mPresShell->IsVisible()) {
            vm->FlushDelayedResize(true);
            vm->InvalidateView(vm->mRootView);
          }
        }

        // Flush things like reflows and plugin widget geometry updates by
        // calling WillPaint on observer presShells.
        nsRefPtr<nsViewManager> rootVM = RootViewManager();
        if (mPresShell) {
          rootVM->CallWillPaintOnObservers(event->willSendDidPaint);
        }
        // Flush view widget geometry updates and invalidations.
        rootVM->ProcessPendingUpdates();
      }
      break;

    case NS_PAINT:
      {
        if (!aView || !mContext)
          break;

        *aStatus = nsEventStatus_eConsumeNoDefault;
        nsPaintEvent *event = static_cast<nsPaintEvent*>(aEvent);
        nsView* view = static_cast<nsView*>(aView);
        NS_ASSERTION(view == nsView::GetViewFor(event->widget),
                     "view/widget mismatch");
        NS_ASSERTION(IsPaintingAllowed(),
                     "shouldn't be receiving paint events while painting is "
                     "disallowed!");

        if (!event->didSendWillPaint) {
          // Send NS_WILL_PAINT event ourselves.
          nsPaintEvent willPaintEvent(true, NS_WILL_PAINT, event->widget);
          willPaintEvent.willSendDidPaint = event->willSendDidPaint;
          DispatchEvent(&willPaintEvent, view, aStatus);

          // Get the view pointer again since NS_WILL_PAINT might have
          // destroyed it during CallWillPaintOnObservers (bug 378273).
          view = nsView::GetViewFor(event->widget);
        }

        if (!view || event->region.IsEmpty())
          break;

        // Paint.
        Refresh(view, event->region, event->willSendDidPaint);

        break;
      }

    case NS_DID_PAINT: {
      nsRefPtr<nsViewManager> rootVM = RootViewManager();
      rootVM->CallDidPaintOnObserver();
      break;
    }

    case NS_CREATE:
    case NS_DESTROY:
    case NS_SETZLEVEL:
      /* Don't pass these events through. Passing them through
         causes performance problems on pages with lots of views/frames 
         @see bug 112861 */
      *aStatus = nsEventStatus_eConsumeNoDefault;
      break;

    case NS_DISPLAYCHANGED:

      //Destroy the cached backbuffer to force a new backbuffer
      //be constructed with the appropriate display depth.
      //@see bugzilla bug 6061
      *aStatus = nsEventStatus_eConsumeDoDefault;
      break;

    case NS_SYSCOLORCHANGED:
      {
        if (mPresShell) {
          // Hold a refcount to the presshell. The continued existence of the observer will
          // delay deletion of this view hierarchy should the event want to cause its
          // destruction in, say, some JavaScript event handler.
          nsCOMPtr<nsIPresShell> presShell = mPresShell;
          presShell->HandleEvent(aView->GetFrame(), aEvent, false, aStatus);
        }
      }
      break; 

    default:
      {
        if ((NS_IS_MOUSE_EVENT(aEvent) &&
             // Ignore mouse events that we synthesize.
             static_cast<nsMouseEvent*>(aEvent)->reason ==
               nsMouseEvent::eReal &&
             // Ignore mouse exit and enter (we'll get moves if the user
             // is really moving the mouse) since we get them when we
             // create and destroy widgets.
             aEvent->message != NS_MOUSE_EXIT &&
             aEvent->message != NS_MOUSE_ENTER) ||
            NS_IS_KEY_EVENT(aEvent) ||
            NS_IS_IME_EVENT(aEvent) ||
            aEvent->message == NS_PLUGIN_INPUT_EVENT) {
          gLastUserEventTime = PR_IntervalToMicroseconds(PR_IntervalNow());
        }

        if (aEvent->message == NS_DEACTIVATE) {
          // if a window is deactivated, clear the mouse capture regardless
          // of what is capturing
          nsIPresShell::ClearMouseCapture(nsnull);
        }

        // Find the view whose coordinates system we're in.
        nsIView* view = aView;
        bool dispatchUsingCoordinates = NS_IsEventUsingCoordinates(aEvent);
        if (dispatchUsingCoordinates) {
          // Will dispatch using coordinates. Pretty bogus but it's consistent
          // with what presshell does.
          view = GetDisplayRootFor(view);
        }
  
        // If the view has no frame, look for a view that does.
        nsIFrame* frame = view->GetFrame();
        if (!frame &&
            (dispatchUsingCoordinates || NS_IS_KEY_EVENT(aEvent) ||
             NS_IS_IME_RELATED_EVENT(aEvent) ||
             NS_IS_NON_RETARGETED_PLUGIN_EVENT(aEvent) ||
             aEvent->message == NS_PLUGIN_ACTIVATE ||
             aEvent->message == NS_PLUGIN_FOCUS)) {
          while (view && !view->GetFrame()) {
            view = view->GetParent();
          }

          if (view) {
            frame = view->GetFrame();
          }
        }

        if (nsnull != frame) {
          // Hold a refcount to the presshell. The continued existence of the
          // presshell will delay deletion of this view hierarchy should the event
          // want to cause its destruction in, say, some JavaScript event handler.
          nsCOMPtr<nsIPresShell> shell = view->GetViewManager()->GetPresShell();
          if (shell) {
            shell->HandleEvent(frame, aEvent, false, aStatus);
          }
        }
    
        break;
      }
    }

  return NS_OK;
}
コード例 #7
0
ファイル: DlgEventLog.cpp プロジェクト: Ashod/Boinc
void CDlgEventLog::OnMove(wxMoveEvent& event) {
    SetWindowDimensions();
    event.Skip();
}
コード例 #8
0
ファイル: DlgEventLog.cpp プロジェクト: Ashod/Boinc
void CDlgEventLog::OnSize(wxSizeEvent& event) {
    SetWindowDimensions();
    event.Skip();
}
コード例 #9
0
ファイル: DlgEventLog.cpp プロジェクト: Ashod/Boinc
void CDlgEventLog::OnOK( wxCommandEvent& WXUNUSED(event) ) {
    SaveState();
    SetWindowDimensions();

    Close();
}
コード例 #10
0
ファイル: OptionsMenu.cpp プロジェクト: lalalaring/Vox
OptionsMenu::OptionsMenu(Renderer* pRenderer, OpenGLGUI* pGUI, FrontendManager* pFrontPageManager, int windowWidth, int windowHeight)
	: FrontendPage(pRenderer, pGUI, pFrontPageManager, FrontendScreen_OptionsMenu, windowWidth, windowHeight)
{
	// Options Window
	m_pOptionsWindow = new GUIWindow(m_pRenderer, m_pFrontendManager->GetFrontendFont_Medium(), "Options");
	m_pOptionsWindow->AllowMoving(true);
	m_pOptionsWindow->AllowClosing(false);
	m_pOptionsWindow->AllowMinimizing(false);
	m_pOptionsWindow->AllowScrolling(false);
	m_pOptionsWindow->SetRenderTitleBar(true);
	m_pOptionsWindow->SetRenderWindowBackground(true);
	m_pOptionsWindow->SetApplicationDimensions(m_windowWidth, m_windowHeight);
	m_pOptionsWindow->Hide();

	m_pTitleBarIcon = new Icon(m_pRenderer, "", 44, 44);
	m_pTitleBarIcon->SetDepth(4.0f);

	m_pOptionsWindowBackgroundIcon = new Icon(m_pRenderer, "", 600, 475);
	m_pOptionsWindowBackgroundIcon->SetDepth(1.0f);

	m_pTitleBarBackgroundIcon = new Icon(m_pRenderer, "", 86, 35);
	m_pTitleBarBackgroundIcon->SetDepth(1.0f);

	m_pCloseExitButton = new Button(m_pRenderer, m_pFrontendManager->GetFrontendFont_30(), m_pFrontendManager->GetFrontendFont_30_Outline(), "", Colour(1.0f, 1.0f, 1.0f, 1.0f), Colour(0.0f, 0.0f, 0.0f, 1.0f));
	m_pCloseExitButton->SetLabelOffset(0, 5);
	m_pCloseExitButton->SetCallBackFunction(_CloseExitPressed);
	m_pCloseExitButton->SetCallBackData(this);

	m_pOptionsWindow->SetBackgroundIcon(m_pOptionsWindowBackgroundIcon);
	m_pOptionsWindow->SetTitlebarBackgroundIcon(m_pTitleBarBackgroundIcon);

	m_pOptionsWindow->AddComponent(m_pTitleBarIcon);
	m_pOptionsWindow->AddComponent(m_pCloseExitButton);

	// Tabs
	m_pOptionsModeController = new OptionController(m_pRenderer, m_pFrontendManager->GetFrontendFont_25(), "Mode");
	m_pOptionsModeController->SetDisplayLabel(false);
	m_pOptionsModeController->SetDisplayBorder(false);

	m_pGameplayMode = new OptionBox(m_pRenderer, m_pFrontendManager->GetFrontendFont_18(), m_pFrontendManager->GetFrontendFont_18_Outline(), "Gameplay", Colour(1.0f, 1.0f, 1.0f, 1.0f), Colour(0.0f, 0.0f, 0.0f, 1.0f));
	m_pGameplayMode->SetCallBackFunction(_GameplayTabPressed);
	m_pGameplayMode->SetCallBackData(this);
	m_pGameplayMode->SetDepth(2.0f);
	m_pGameplayMode->SetPressedOffset(0, -2);
	//m_pGameplayMode->SetHoverLabelColour(m_pFrontendManager->GetHoverFontColour());
	//m_pGameplayMode->SetPressedLabelColour(m_pFrontendManager->GetPressedFontColour());

	m_pGraphicsMode = new OptionBox(m_pRenderer, m_pFrontendManager->GetFrontendFont_18(), m_pFrontendManager->GetFrontendFont_18_Outline(), "Graphics", Colour(1.0f, 1.0f, 1.0f, 1.0f), Colour(0.0f, 0.0f, 0.0f, 1.0f));
	m_pGraphicsMode->SetCallBackFunction(_GraphicsTabPressed);
	m_pGraphicsMode->SetCallBackData(this);
	m_pGraphicsMode->SetDepth(2.1f);
	m_pGraphicsMode->SetPressedOffset(0, -2);
	//m_pGraphicsMode->SetHoverLabelColour(m_pFrontendManager->GetHoverFontColour());
	//m_pGraphicsMode->SetPressedLabelColour(m_pFrontendManager->GetPressedFontColour());

	m_pSoundMode = new OptionBox(m_pRenderer, m_pFrontendManager->GetFrontendFont_18(), m_pFrontendManager->GetFrontendFont_18_Outline(), "Sound", Colour(1.0f, 1.0f, 1.0f, 1.0f), Colour(0.0f, 0.0f, 0.0f, 1.0f));
	m_pSoundMode->SetCallBackFunction(_SoundTabPressed);
	m_pSoundMode->SetCallBackData(this);
	m_pSoundMode->SetDepth(2.2f);
	m_pSoundMode->SetPressedOffset(0, -2);
	//m_pSoundMode->SetHoverLabelColour(m_pFrontendManager->GetHoverFontColour());
	//m_pSoundMode->SetPressedLabelColour(m_pFrontendManager->GetPressedFontColour());

	m_pControlsMode = new OptionBox(m_pRenderer, m_pFrontendManager->GetFrontendFont_18(), m_pFrontendManager->GetFrontendFont_18_Outline(), "Controls", Colour(1.0f, 1.0f, 1.0f, 1.0f), Colour(0.0f, 0.0f, 0.0f, 1.0f));
	m_pControlsMode->SetCallBackFunction(_ControlsTabPressed);
	m_pControlsMode->SetCallBackData(this);
	m_pControlsMode->SetDepth(2.3f);
	m_pControlsMode->SetPressedOffset(0, -2);
	//m_pControlsMode->SetHoverLabelColour(m_pFrontendManager->GetHoverFontColour());
	//m_pControlsMode->SetPressedLabelColour(m_pFrontendManager->GetPressedFontColour());

	m_pInterfaceMode = new OptionBox(m_pRenderer, m_pFrontendManager->GetFrontendFont_18(), m_pFrontendManager->GetFrontendFont_18_Outline(), "Interface", Colour(1.0f, 1.0f, 1.0f, 1.0f), Colour(0.0f, 0.0f, 0.0f, 1.0f));
	m_pInterfaceMode->SetCallBackFunction(_InterfaceTabPressed);
	m_pInterfaceMode->SetCallBackData(this);
	m_pInterfaceMode->SetDepth(2.4f);
	m_pInterfaceMode->SetPressedOffset(0, -2);
	//m_pInterfaceMode->SetHoverLabelColour(m_pFrontendManager->GetHoverFontColour());
	//m_pInterfaceMode->SetPressedLabelColour(m_pFrontendManager->GetPressedFontColour());

	m_pOptionsModeController->Add(m_pGameplayMode);
	m_pOptionsModeController->Add(m_pGraphicsMode);
	m_pOptionsModeController->Add(m_pSoundMode);
	m_pOptionsModeController->Add(m_pControlsMode);
	m_pOptionsModeController->Add(m_pInterfaceMode);	
	m_pGameplayMode->SetToggled(true);

	m_pOptionsWindow->AddComponent(m_pOptionsModeController);

	// Gameplay
	m_pInvertedMouseMode = new CheckBox(m_pRenderer, m_pFrontendManager->GetFrontendFont_20(), m_pFrontendManager->GetFrontendFont_20_Outline(), "Inverted Mouse", Colour(1.0f, 1.0f, 1.0f, 1.0f), Colour(0.0f, 0.0f, 0.0f, 1.0f));
	//m_pInvertedMouseMode->SetCallBackFunction(_InvertedMousePressed);
	//m_pInvertedMouseMode->SetCallBackData(this);
	m_pInvertedMouseMode->SetDisplayLabel(true);
	m_pInvertedMouseMode->SetDepth(2.0f);
	m_pInvertedMouseMode->SetPressedOffset(0, -2);
	//m_pInvertedMouseMode->SetHoverLabelColour(m_pFrontendManager->GetHoverFontColour());
	//m_pInvertedMouseMode->SetPressedLabelColour(m_pFrontendManager->GetPressedFontColour());

	m_pNormalCamOption = new OptionBox(m_pRenderer, m_pFrontendManager->GetFrontendFont_20(), m_pFrontendManager->GetFrontendFont_20_Outline(), "Normal Cam", Colour(1.0f, 1.0f, 1.0f, 1.0f), Colour(0.0f, 0.0f, 0.0f, 1.0f));
	//m_pNormalCamOption->SetDefaultIcon(m_pFrontendManager->GetRadioOptionIcon());
	//m_pNormalCamOption->SetHoverIcon(m_pFrontendManager->GetRadioOptionIcon_Hover());
	//m_pNormalCamOption->SetSelectedIcon(m_pFrontendManager->GetRadioOptionIcon_Pressed());
	//m_pNormalCamOption->SetDisabledIcon(m_pFrontendManager->GetRadioOptionIcon());
	//m_pNormalCamOption->SetToggledIcon(m_pFrontendManager->GetRadioOptionIcon_Toggled());
	//m_pNormalCamOption->SetToggledHoverIcon(m_pFrontendManager->GetRadioOptionIcon_Toggled_Hover());
	//m_pNormalCamOption->SetToggledSelectedIcon(m_pFrontendManager->GetRadioOptionIcon_Toggled_Pressed());
	//m_pNormalCamOption->SetToggledDisabledIcon(m_pFrontendManager->GetRadioOptionIcon());
	//m_pNormalCamOption->SetCallBackFunction(_SwitchToNormalCam);
	//m_pNormalCamOption->SetCallBackData(this);
	m_pNormalCamOption->SetDisplayLabel(true);
	m_pNormalCamOption->SetPressedOffset(0, -2);
	//m_pNormalCamOption->SetHoverLabelColour(m_pFrontendManager->GetHoverFontColour());
	//m_pNormalCamOption->SetPressedLabelColour(m_pFrontendManager->GetPressedFontColour());
	m_pFollowCamOption = new OptionBox(m_pRenderer, m_pFrontendManager->GetFrontendFont_20(), m_pFrontendManager->GetFrontendFont_20_Outline(), "Follow Cam", Colour(1.0f, 1.0f, 1.0f, 1.0f), Colour(0.0f, 0.0f, 0.0f, 1.0f));
	//m_pFollowCamOption->SetDefaultIcon(m_pFrontendManager->GetRadioOptionIcon());
	//m_pFollowCamOption->SetHoverIcon(m_pFrontendManager->GetRadioOptionIcon_Hover());
	//m_pFollowCamOption->SetSelectedIcon(m_pFrontendManager->GetRadioOptionIcon_Pressed());
	//m_pFollowCamOption->SetDisabledIcon(m_pFrontendManager->GetRadioOptionIcon());
	//m_pFollowCamOption->SetToggledIcon(m_pFrontendManager->GetRadioOptionIcon_Toggled());
	//m_pFollowCamOption->SetToggledHoverIcon(m_pFrontendManager->GetRadioOptionIcon_Toggled_Hover());
	//m_pFollowCamOption->SetToggledSelectedIcon(m_pFrontendManager->GetRadioOptionIcon_Toggled_Pressed());
	//m_pFollowCamOption->SetToggledDisabledIcon(m_pFrontendManager->GetRadioOptionIcon());
	//m_pFollowCamOption->SetCallBackFunction(_SwitchToFollowCam);
	//m_pFollowCamOption->SetCallBackData(this);
	m_pFollowCamOption->SetDisplayLabel(true);
	m_pFollowCamOption->SetPressedOffset(0, -2);
	//m_pFollowCamOption->SetHoverLabelColour(m_pFrontendManager->GetHoverFontColour());
	//m_pFollowCamOption->SetPressedLabelColour(m_pFrontendManager->GetPressedFontColour());
	m_pCameraSelector = new OptionController(m_pRenderer, m_pFrontendManager->GetFrontendFont_25(), m_pFrontendManager->GetFrontendFont_25_Outline(), "Camera Mode", Colour(1.0f, 1.0f, 1.0f, 1.0f), Colour(0.0f, 0.0f, 0.0f, 1.0f));
	m_pCameraSelector->SetDisplayLabel(true);
	m_pCameraSelector->SetDisplayBorder(true);
	m_pCameraSelector->SetDepth(2.0f);
	m_pCameraSelector->Add(m_pNormalCamOption);
	m_pCameraSelector->Add(m_pFollowCamOption);
	m_pNormalCamOption->SetToggled(true);

	m_pMouseSensativitySlider = new Slider(m_pRenderer, m_pFrontendManager->GetFrontendFont_20(), m_pFrontendManager->GetFrontendFont_20_Outline(), "Mouse Sensitivity", 5.0f, 100.0f, 45.0f, Colour(1.0f, 1.0f, 1.0f, 1.0f), Colour(0.0f, 0.0f, 0.0f, 1.0f));
	m_pMouseSensativitySlider->SetSliderParams(5, 10, ESliderDirection_Horizontal);
	//m_pMouseSensativitySlider->SetVaueChangedCallBackFunction(_MouseSensativityChanged);
	//m_pMouseSensativitySlider->SetVaueChangedCallBackData(this);
	//m_pMouseSensativitySlider->SetScrollerDefaultIcon(m_pFrontendManager->GetSliderIconDefault());
	//m_pMouseSensativitySlider->SetScrollerHoverIcon(m_pFrontendManager->GetSliderIconHover());
	//m_pMouseSensativitySlider->SetScrollerDraggingIcon(m_pFrontendManager->GetSliderIconDrag());
	m_pMouseSensativitySlider->SetLabelPositionOffset(0, 14);
	m_pMouseSensativitySlider->SetValuePrecision(0);
	m_pMouseSensativitySlider->SetRenderBackgroundBar(false);
	m_pMouseSensativitySlider->SetDepth(2.0f);

	m_pGamepadSensativitySlider = new Slider(m_pRenderer, m_pFrontendManager->GetFrontendFont_20(), m_pFrontendManager->GetFrontendFont_20_Outline(), "Gamepad Sensitivity", 5.0f, 100.0f, 20.0f, Colour(1.0f, 1.0f, 1.0f, 1.0f), Colour(0.0f, 0.0f, 0.0f, 1.0f));
	m_pGamepadSensativitySlider->SetSliderParams(5, 10, ESliderDirection_Horizontal);
	//m_pGamepadSensativitySlider->SetVaueChangedCallBackFunction(_GamepadSensativityChanged);
	//m_pGamepadSensativitySlider->SetVaueChangedCallBackData(this);
	//m_pGamepadSensativitySlider->SetScrollerDefaultIcon(m_pFrontendManager->GetSliderIconDefault());
	//m_pGamepadSensativitySlider->SetScrollerHoverIcon(m_pFrontendManager->GetSliderIconHover());
	//m_pGamepadSensativitySlider->SetScrollerDraggingIcon(m_pFrontendManager->GetSliderIconDrag());
	m_pGamepadSensativitySlider->SetLabelPositionOffset(0, 14);
	m_pGamepadSensativitySlider->SetValuePrecision(0);
	m_pGamepadSensativitySlider->SetRenderBackgroundBar(false);
	m_pGamepadSensativitySlider->SetDepth(2.0f);

	m_pSliderBackgroundIcon_MouseSensativity = new Icon(m_pRenderer, "", 207, 31);
	m_pSliderBackgroundIcon_MouseSensativity->SetDepth(1.5f);
	m_pSliderBackgroundIcon_GamepadSensativity = new Icon(m_pRenderer, "", 207, 31);
	m_pSliderBackgroundIcon_GamepadSensativity->SetDepth(1.5f);

	m_vpGameplayComponents.push_back(m_pInvertedMouseMode);
	m_vpGameplayComponents.push_back(m_pCameraSelector);
	m_vpGameplayComponents.push_back(m_pMouseSensativitySlider);
	m_vpGameplayComponents.push_back(m_pGamepadSensativitySlider);
	m_vpGameplayComponents.push_back(m_pSliderBackgroundIcon_MouseSensativity);
	m_vpGameplayComponents.push_back(m_pSliderBackgroundIcon_GamepadSensativity);

	// Graphics

	// Sound
	m_pSoundEffects = new CheckBox(m_pRenderer, m_pFrontendManager->GetFrontendFont_20(), m_pFrontendManager->GetFrontendFont_20_Outline(), "Sound", Colour(1.0f, 1.0f, 1.0f, 1.0f), Colour(0.0f, 0.0f, 0.0f, 1.0f));
	//m_pSoundEffects->SetDefaultIcon(m_pFrontendManager->GetCheckboxIcon());
	//m_pSoundEffects->SetHoverIcon(m_pFrontendManager->GetCheckboxIcon_Hover());
	//m_pSoundEffects->SetSelectedIcon(m_pFrontendManager->GetCheckboxIcon_Pressed());
	//m_pSoundEffects->SetToggledIcon(m_pFrontendManager->GetCheckboxIcon_Toggled());
	//m_pSoundEffects->SetToggledHoverIcon(m_pFrontendManager->GetCheckboxIcon_Toggled_Hover());
	//m_pSoundEffects->SetToggledSelectedIcon(m_pFrontendManager->GetCheckboxIcon_Toggled_Pressed());
	//m_pSoundEffects->SetCallBackFunction(_SoundEffectsPressed);
	//m_pSoundEffects->SetCallBackData(this);
	m_pSoundEffects->SetDisplayLabel(true);
	m_pSoundEffects->SetDepth(2.0f);
	m_pSoundEffects->SetPressedOffset(0, -2);
	//m_pSoundEffects->SetHoverLabelColour(m_pFrontendManager->GetHoverFontColour());
	//m_pSoundEffects->SetPressedLabelColour(m_pFrontendManager->GetPressedFontColour());

	m_pSoundEffectsVolume = new Slider(m_pRenderer, m_pFrontendManager->GetFrontendFont_20(), m_pFrontendManager->GetFrontendFont_20_Outline(), "", 0.0f, 1.0f, 0.5f, Colour(1.0f, 1.0f, 1.0f, 1.0f), Colour(0.0f, 0.0f, 0.0f, 1.0f));
	m_pSoundEffectsVolume->SetSliderParams(5, 10, ESliderDirection_Horizontal);
	//m_pSoundEffectsVolume->SetVaueChangedCallBackFunction(_SoundEffectsChanged);
	//m_pSoundEffectsVolume->SetVaueChangedCallBackData(this);
	//m_pSoundEffectsVolume->SetScrollerDefaultIcon(m_pFrontendManager->GetSliderIconDefault());
	//m_pSoundEffectsVolume->SetScrollerHoverIcon(m_pFrontendManager->GetSliderIconHover());
	//m_pSoundEffectsVolume->SetScrollerDraggingIcon(m_pFrontendManager->GetSliderIconDrag());
	m_pSoundEffectsVolume->SetRenderBackgroundBar(false);
	m_pSoundEffectsVolume->SetDepth(2.0f);

	m_pMusic = new CheckBox(m_pRenderer, m_pFrontendManager->GetFrontendFont_20(), m_pFrontendManager->GetFrontendFont_20_Outline(), "Music", Colour(1.0f, 1.0f, 1.0f, 1.0f), Colour(0.0f, 0.0f, 0.0f, 1.0f));
	//m_pMusic->SetDefaultIcon(m_pFrontendManager->GetCheckboxIcon());
	//m_pMusic->SetHoverIcon(m_pFrontendManager->GetCheckboxIcon_Hover());
	//m_pMusic->SetSelectedIcon(m_pFrontendManager->GetCheckboxIcon_Pressed());
	//m_pMusic->SetToggledIcon(m_pFrontendManager->GetCheckboxIcon_Toggled());
	//m_pMusic->SetToggledHoverIcon(m_pFrontendManager->GetCheckboxIcon_Toggled_Hover());
	//m_pMusic->SetToggledSelectedIcon(m_pFrontendManager->GetCheckboxIcon_Toggled_Pressed());
	//m_pMusic->SetCallBackFunction(_MusicPressed);
	//m_pMusic->SetCallBackData(this);
	m_pMusic->SetDisplayLabel(true);
	m_pMusic->SetDepth(2.0f);
	m_pMusic->SetPressedOffset(0, -2);
	//m_pMusic->SetHoverLabelColour(m_pFrontendManager->GetHoverFontColour());
	//m_pMusic->SetPressedLabelColour(m_pFrontendManager->GetPressedFontColour());

	m_pMusicVolume = new Slider(m_pRenderer, m_pFrontendManager->GetFrontendFont_20(), m_pFrontendManager->GetFrontendFont_20_Outline(), "", 0.0f, 1.0f, 0.5f, Colour(1.0f, 1.0f, 1.0f, 1.0f), Colour(0.0f, 0.0f, 0.0f, 1.0f));
	m_pMusicVolume->SetSliderParams(5, 10, ESliderDirection_Horizontal);
	//m_pMusicVolume->SetVaueChangedCallBackFunction(_MusicVolumeChanged);
	//m_pMusicVolume->SetVaueChangedCallBackData(this);
	//m_pMusicVolume->SetScrollerDefaultIcon(m_pFrontendManager->GetSliderIconDefault());
	//m_pMusicVolume->SetScrollerHoverIcon(m_pFrontendManager->GetSliderIconHover());
	//m_pMusicVolume->SetScrollerDraggingIcon(m_pFrontendManager->GetSliderIconDrag());
	m_pMusicVolume->SetRenderBackgroundBar(false);
	m_pMusicVolume->SetDepth(2.0f);

	m_pSliderBackgroundIcon_Sound = new Icon(m_pRenderer, "", 207, 31);
	m_pSliderBackgroundIcon_Sound->SetDepth(1.5f);
	m_pSliderBackgroundIcon_Music = new Icon(m_pRenderer, "", 207, 31);
	m_pSliderBackgroundIcon_Music->SetDepth(1.5f);

	m_vpSoundComponents.push_back(m_pSoundEffects);
	m_vpSoundComponents.push_back(m_pSoundEffectsVolume);
	m_vpSoundComponents.push_back(m_pMusic);
	m_vpSoundComponents.push_back(m_pMusicVolume);
	m_vpSoundComponents.push_back(m_pSliderBackgroundIcon_Sound);
	m_vpSoundComponents.push_back(m_pSliderBackgroundIcon_Music);

	// Interface
	m_pRenderGUI = new CheckBox(m_pRenderer, m_pFrontendManager->GetFrontendFont_20(), m_pFrontendManager->GetFrontendFont_20_Outline(), "Render GUI", Colour(1.0f, 1.0f, 1.0f, 1.0f), Colour(0.0f, 0.0f, 0.0f, 1.0f));
	//m_pRenderGUI->SetDefaultIcon(m_pFrontendManager->GetCheckboxIcon());
	//m_pRenderGUI->SetHoverIcon(m_pFrontendManager->GetCheckboxIcon_Hover());
	//m_pRenderGUI->SetSelectedIcon(m_pFrontendManager->GetCheckboxIcon_Pressed());
	//m_pRenderGUI->SetToggledIcon(m_pFrontendManager->GetCheckboxIcon_Toggled());
	//m_pRenderGUI->SetToggledHoverIcon(m_pFrontendManager->GetCheckboxIcon_Toggled_Hover());
	//m_pRenderGUI->SetToggledSelectedIcon(m_pFrontendManager->GetCheckboxIcon_Toggled_Pressed());
	//m_pRenderGUI->SetCallBackFunction(_RenderGUIPressed);
	//m_pRenderGUI->SetCallBackData(this);
	m_pRenderGUI->SetDisplayLabel(true);
	m_pRenderGUI->SetDepth(2.0f);
	m_pRenderGUI->SetPressedOffset(0, -2);
	//m_pRenderGUI->SetHoverLabelColour(m_pFrontendManager->GetHoverFontColour());
	//m_pRenderGUI->SetPressedLabelColour(m_pFrontendManager->GetPressedFontColour());

	m_pRenderCrosshair = new CheckBox(m_pRenderer, m_pFrontendManager->GetFrontendFont_20(), m_pFrontendManager->GetFrontendFont_20_Outline(), "Render Crosshair", Colour(1.0f, 1.0f, 1.0f, 1.0f), Colour(0.0f, 0.0f, 0.0f, 1.0f));
	//m_pRenderCrosshair->SetDefaultIcon(m_pFrontendManager->GetCheckboxIcon());
	//m_pRenderCrosshair->SetHoverIcon(m_pFrontendManager->GetCheckboxIcon_Hover());
	//m_pRenderCrosshair->SetSelectedIcon(m_pFrontendManager->GetCheckboxIcon_Pressed());
	//m_pRenderCrosshair->SetToggledIcon(m_pFrontendManager->GetCheckboxIcon_Toggled());
	//m_pRenderCrosshair->SetToggledHoverIcon(m_pFrontendManager->GetCheckboxIcon_Toggled_Hover());
	//m_pRenderCrosshair->SetToggledSelectedIcon(m_pFrontendManager->GetCheckboxIcon_Toggled_Pressed());
	//m_pRenderCrosshair->SetCallBackFunction(_RenderCrosshairPressed);
	//m_pRenderCrosshair->SetCallBackData(this);
	m_pRenderCrosshair->SetDisplayLabel(true);
	m_pRenderCrosshair->SetDepth(2.0f);
	m_pRenderCrosshair->SetPressedOffset(0, -2);
	//m_pRenderCrosshair->SetHoverLabelColour(m_pFrontendManager->GetHoverFontColour());
	//m_pRenderCrosshair->SetPressedLabelColour(m_pFrontendManager->GetPressedFontColour());

	m_pHUDAnimations = new CheckBox(m_pRenderer, m_pFrontendManager->GetFrontendFont_20(), m_pFrontendManager->GetFrontendFont_20_Outline(), "HUD Animations", Colour(1.0f, 1.0f, 1.0f, 1.0f), Colour(0.0f, 0.0f, 0.0f, 1.0f));
	//m_pHUDAnimations->SetDefaultIcon(m_pFrontendManager->GetCheckboxIcon());
	//m_pHUDAnimations->SetHoverIcon(m_pFrontendManager->GetCheckboxIcon_Hover());
	//m_pHUDAnimations->SetSelectedIcon(m_pFrontendManager->GetCheckboxIcon_Pressed());
	//m_pHUDAnimations->SetToggledIcon(m_pFrontendManager->GetCheckboxIcon_Toggled());
	//m_pHUDAnimations->SetToggledHoverIcon(m_pFrontendManager->GetCheckboxIcon_Toggled_Hover());
	//m_pHUDAnimations->SetToggledSelectedIcon(m_pFrontendManager->GetCheckboxIcon_Toggled_Pressed());
	//m_pHUDAnimations->SetCallBackFunction(_HUDAnimationsPressed);
	//m_pHUDAnimations->SetCallBackData(this);
	m_pHUDAnimations->SetDisplayLabel(true);
	m_pHUDAnimations->SetDepth(2.0f);
	m_pHUDAnimations->SetPressedOffset(0, -2);
	//m_pHUDAnimations->SetHoverLabelColour(m_pFrontendManager->GetHoverFontColour());
	//m_pHUDAnimations->SetPressedLabelColour(m_pFrontendManager->GetPressedFontColour());

	m_pCustomCursors = new CheckBox(m_pRenderer, m_pFrontendManager->GetFrontendFont_20(), m_pFrontendManager->GetFrontendFont_20_Outline(), "Custom Cursors", Colour(1.0f, 1.0f, 1.0f, 1.0f), Colour(0.0f, 0.0f, 0.0f, 1.0f));
	//m_pCustomCursors->SetDefaultIcon(m_pFrontendManager->GetCheckboxIcon());
	//m_pCustomCursors->SetHoverIcon(m_pFrontendManager->GetCheckboxIcon_Hover());
	//m_pCustomCursors->SetSelectedIcon(m_pFrontendManager->GetCheckboxIcon_Pressed());
	//m_pCustomCursors->SetToggledIcon(m_pFrontendManager->GetCheckboxIcon_Toggled());
	//m_pCustomCursors->SetToggledHoverIcon(m_pFrontendManager->GetCheckboxIcon_Toggled_Hover());
	//m_pCustomCursors->SetToggledSelectedIcon(m_pFrontendManager->GetCheckboxIcon_Toggled_Pressed());
	//m_pCustomCursors->SetCallBackFunction(_HUDAnimationsPressed);
	//m_pCustomCursors->SetCallBackData(this);
	m_pCustomCursors->SetDisplayLabel(true);
	m_pCustomCursors->SetDepth(2.0f);
	m_pCustomCursors->SetPressedOffset(0, -2);
	//m_pCustomCursors->SetHoverLabelColour(m_pFrontendManager->GetHoverFontColour());
	//m_pCustomCursors->SetPressedLabelColour(m_pFrontendManager->GetPressedFontColour());

	m_pEquipHoverIcon = new CheckBox(m_pRenderer, m_pFrontendManager->GetFrontendFont_20(), m_pFrontendManager->GetFrontendFont_20_Outline(), "Equip Helper Cursor", Colour(1.0f, 1.0f, 1.0f, 1.0f), Colour(0.0f, 0.0f, 0.0f, 1.0f));
	//m_pEquipHoverIcon->SetDefaultIcon(m_pFrontendManager->GetCheckboxIcon());
	//m_pEquipHoverIcon->SetHoverIcon(m_pFrontendManager->GetCheckboxIcon_Hover());
	//m_pEquipHoverIcon->SetSelectedIcon(m_pFrontendManager->GetCheckboxIcon_Pressed());
	//m_pEquipHoverIcon->SetToggledIcon(m_pFrontendManager->GetCheckboxIcon_Toggled());
	//m_pEquipHoverIcon->SetToggledHoverIcon(m_pFrontendManager->GetCheckboxIcon_Toggled_Hover());
	//m_pEquipHoverIcon->SetToggledSelectedIcon(m_pFrontendManager->GetCheckboxIcon_Toggled_Pressed());
	//m_pEquipHoverIcon->SetCallBackFunction(_HUDAnimationsPressed);
	//m_pEquipHoverIcon->SetCallBackData(this);
	m_pEquipHoverIcon->SetDisplayLabel(true);
	m_pEquipHoverIcon->SetDepth(2.0f);
	m_pEquipHoverIcon->SetPressedOffset(0, -2);
	//m_pEquipHoverIcon->SetHoverLabelColour(m_pFrontendManager->GetHoverFontColour());
	//m_pEquipHoverIcon->SetPressedLabelColour(m_pFrontendManager->GetPressedFontColour());

	m_pToolTipAppearDelay = new CheckBox(m_pRenderer, m_pFrontendManager->GetFrontendFont_20(), m_pFrontendManager->GetFrontendFont_20_Outline(), "Tooltip Delay", Colour(1.0f, 1.0f, 1.0f, 1.0f), Colour(0.0f, 0.0f, 0.0f, 1.0f));
	//m_pToolTipAppearDelay->SetDefaultIcon(m_pFrontendManager->GetCheckboxIcon());
	//m_pToolTipAppearDelay->SetHoverIcon(m_pFrontendManager->GetCheckboxIcon_Hover());
	//m_pToolTipAppearDelay->SetSelectedIcon(m_pFrontendManager->GetCheckboxIcon_Pressed());
	//m_pToolTipAppearDelay->SetToggledIcon(m_pFrontendManager->GetCheckboxIcon_Toggled());
	//m_pToolTipAppearDelay->SetToggledHoverIcon(m_pFrontendManager->GetCheckboxIcon_Toggled_Hover());
	//m_pToolTipAppearDelay->SetToggledSelectedIcon(m_pFrontendManager->GetCheckboxIcon_Toggled_Pressed());
	//m_pToolTipAppearDelay->SetCallBackFunction(_HUDAnimationsPressed);
	//m_pToolTipAppearDelay->SetCallBackData(this);
	m_pToolTipAppearDelay->SetDisplayLabel(true);
	m_pToolTipAppearDelay->SetDepth(2.0f);
	m_pToolTipAppearDelay->SetPressedOffset(0, -2);
	//m_pToolTipAppearDelay->SetHoverLabelColour(m_pFrontendManager->GetHoverFontColour());
	//m_pToolTipAppearDelay->SetPressedLabelColour(m_pFrontendManager->GetPressedFontColour());

	m_pConfirmDeleteItem = new CheckBox(m_pRenderer, m_pFrontendManager->GetFrontendFont_20(), m_pFrontendManager->GetFrontendFont_20_Outline(), "Confirm Item Deletion", Colour(1.0f, 1.0f, 1.0f, 1.0f), Colour(0.0f, 0.0f, 0.0f, 1.0f));
	//m_pConfirmDeleteItem->SetDefaultIcon(m_pFrontendManager->GetCheckboxIcon());
	//m_pConfirmDeleteItem->SetHoverIcon(m_pFrontendManager->GetCheckboxIcon_Hover());
	//m_pConfirmDeleteItem->SetSelectedIcon(m_pFrontendManager->GetCheckboxIcon_Pressed());
	//m_pConfirmDeleteItem->SetToggledIcon(m_pFrontendManager->GetCheckboxIcon_Toggled());
	//m_pConfirmDeleteItem->SetToggledHoverIcon(m_pFrontendManager->GetCheckboxIcon_Toggled_Hover());
	//m_pConfirmDeleteItem->SetToggledSelectedIcon(m_pFrontendManager->GetCheckboxIcon_Toggled_Pressed());
	//m_pConfirmDeleteItem->SetCallBackFunction(_HUDAnimationsPressed);
	//m_pConfirmDeleteItem->SetCallBackData(this);
	m_pConfirmDeleteItem->SetDisplayLabel(true);
	m_pConfirmDeleteItem->SetDepth(2.0f);
	m_pConfirmDeleteItem->SetPressedOffset(0, -2);
	//m_pConfirmDeleteItem->SetHoverLabelColour(m_pFrontendManager->GetHoverFontColour());
	//m_pConfirmDeleteItem->SetPressedLabelColour(m_pFrontendManager->GetPressedFontColour());

	m_pResetGUIToDefault = new Button(m_pRenderer, m_pFrontendManager->GetFrontendFont_25(), m_pFrontendManager->GetFrontendFont_25_Outline(), "Reset GUI", Colour(1.0f, 1.0f, 1.0f, 1.0f), Colour(0.0f, 0.0f, 0.0f, 1.0f));
	//m_pResetGUIToDefault->SetDefaultIcon(m_pFrontendManager->GetButtonIcon_Default_115());
	//m_pResetGUIToDefault->SetHoverIcon(m_pFrontendManager->GetButtonIcon_Hover_115());
	//m_pResetGUIToDefault->SetSelectedIcon(m_pFrontendManager->GetButtonIcon_Pressed_115());
	//m_pResetGUIToDefault->SetDisabledIcon(m_pFrontendManager->GetButtonIcon_Disabled_115());
	m_pResetGUIToDefault->SetLabelOffset(0, 3);
	//m_pResetGUIToDefault->SetCallBackFunction(_ResetGUIPressed);
	//m_pResetGUIToDefault->SetCallBackData(this);;
	m_pResetGUIToDefault->SetPressedOffset(0, -2);
	//m_pResetGUIToDefault->SetHoverLabelColour(m_pFrontendManager->GetHoverFontColour());
	//m_pResetGUIToDefault->SetPressedLabelColour(m_pFrontendManager->GetPressedFontColour());

	m_vpInterfaceComponents.push_back(m_pRenderGUI);
	m_vpInterfaceComponents.push_back(m_pRenderCrosshair);
	m_vpInterfaceComponents.push_back(m_pHUDAnimations);
	m_vpInterfaceComponents.push_back(m_pCustomCursors);
	m_vpInterfaceComponents.push_back(m_pEquipHoverIcon);
	m_vpInterfaceComponents.push_back(m_pToolTipAppearDelay);
	m_vpInterfaceComponents.push_back(m_pConfirmDeleteItem);
	m_vpInterfaceComponents.push_back(m_pResetGUIToDefault);

	// Controls

	SetWindowDimensions(m_windowWidth, m_windowHeight);

	m_returnToMainMenu = false;
}
コード例 #11
0
ファイル: ModMenu.cpp プロジェクト: wake83pl/Vox
ModMenu::ModMenu(Renderer* pRenderer, OpenGLGUI* pGUI, FrontendManager* pFrontPageManager, int windowWidth, int windowHeight)
	: FrontendPage(pRenderer, pGUI, pFrontPageManager, FrontendScreen_ModMenu, windowWidth, windowHeight)
{
	// Mod Window
	m_pModWindow = new GUIWindow(m_pRenderer, m_pFrontendManager->GetFrontendFont_Medium(), "Mods");
	m_pModWindow->AllowMoving(true);
	m_pModWindow->AllowClosing(false);
	m_pModWindow->AllowMinimizing(false);
	m_pModWindow->AllowScrolling(false);
	m_pModWindow->SetRenderTitleBar(true);
	m_pModWindow->SetRenderWindowBackground(true);
	m_pModWindow->SetApplicationDimensions(m_windowWidth, m_windowHeight);
	m_pModWindow->Hide();

	m_pTitleBarIcon = new Icon(m_pRenderer, "media/textures/gui/Stonewash/ModMenu/mod_title_icon.tga", 44, 44);
	m_pTitleBarIcon->SetDepth(4.0f);

	m_pModWindowBackgroundIcon = new Icon(m_pRenderer, "media/textures/gui/Stonewash/ModMenu/mod_window_background.tga", 600, 475);
	m_pModWindowBackgroundIcon->SetDepth(1.0f);

	m_pTitleBarBackgroundIcon = new Icon(m_pRenderer, "media/textures/gui/Stonewash/ModMenu/titlebar_background.tga", 86, 35);
	m_pTitleBarBackgroundIcon->SetDepth(1.0f);

	m_pCloseExitButton = new Button(m_pRenderer, m_pFrontendManager->GetFrontendFont_30(), m_pFrontendManager->GetFrontendFont_30_Outline(), "", Colour(1.0f, 1.0f, 1.0f, 1.0f), Colour(0.0f, 0.0f, 0.0f, 1.0f));
	m_pCloseExitButton->SetDefaultIcon(m_pFrontendManager->GetCloseExitButtonIcon());
	m_pCloseExitButton->SetHoverIcon(m_pFrontendManager->GetCloseExitButtonIcon_Hover());
	m_pCloseExitButton->SetSelectedIcon(m_pFrontendManager->GetCloseExitButtonIcon_Pressed());
	m_pCloseExitButton->SetDisabledIcon(m_pFrontendManager->GetCloseExitButtonIcon());
	m_pCloseExitButton->SetLabelOffset(0, 5);
	m_pCloseExitButton->SetCallBackFunction(_CloseExitPressed);
	m_pCloseExitButton->SetCallBackData(this);

	m_pModWindow->SetBackgroundIcon(m_pModWindowBackgroundIcon);
	m_pModWindow->SetTitlebarBackgroundIcon(m_pTitleBarBackgroundIcon);

	m_pModWindow->AddComponent(m_pTitleBarIcon);
	m_pModWindow->AddComponent(m_pCloseExitButton);

	// Tabs
	m_pModsModeController = new OptionController(m_pRenderer, m_pFrontendManager->GetFrontendFont_25(), "Mode");
	m_pModsModeController->SetDisplayLabel(false);
	m_pModsModeController->SetDisplayBorder(false);

	m_pGameplayMode = new OptionBox(m_pRenderer, m_pFrontendManager->GetFrontendFont_18(), m_pFrontendManager->GetFrontendFont_18_Outline(), "Gameplay", Colour(1.0f, 1.0f, 1.0f, 1.0f), Colour(0.0f, 0.0f, 0.0f, 1.0f));
	m_pGameplayMode->SetCallBackFunction(_GameplayTabPressed);
	m_pGameplayMode->SetCallBackData(this);
	m_pGameplayMode->SetDepth(2.0f);
	m_pGameplayMode->SetPressedOffset(0, -2);
	//m_pGameplayMode->SetHoverLabelColour(m_pFrontendManager->GetHoverFontColour());
	//m_pGameplayMode->SetPressedLabelColour(m_pFrontendManager->GetPressedFontColour());

	m_pGraphicsMode = new OptionBox(m_pRenderer, m_pFrontendManager->GetFrontendFont_18(), m_pFrontendManager->GetFrontendFont_18_Outline(), "Graphics", Colour(1.0f, 1.0f, 1.0f, 1.0f), Colour(0.0f, 0.0f, 0.0f, 1.0f));
	m_pGraphicsMode->SetCallBackFunction(_GraphicsTabPressed);
	m_pGraphicsMode->SetCallBackData(this);
	m_pGraphicsMode->SetDepth(2.1f);
	m_pGraphicsMode->SetPressedOffset(0, -2);
	//m_pGraphicsMode->SetHoverLabelColour(m_pFrontendManager->GetHoverFontColour());
	//m_pGraphicsMode->SetPressedLabelColour(m_pFrontendManager->GetPressedFontColour());

	m_pSoundMode = new OptionBox(m_pRenderer, m_pFrontendManager->GetFrontendFont_18(), m_pFrontendManager->GetFrontendFont_18_Outline(), "Sound", Colour(1.0f, 1.0f, 1.0f, 1.0f), Colour(0.0f, 0.0f, 0.0f, 1.0f));
	m_pSoundMode->SetCallBackFunction(_SoundTabPressed);
	m_pSoundMode->SetCallBackData(this);
	m_pSoundMode->SetDepth(2.2f);
	m_pSoundMode->SetPressedOffset(0, -2);
	//m_pSoundMode->SetHoverLabelColour(m_pFrontendManager->GetHoverFontColour());
	//m_pSoundMode->SetPressedLabelColour(m_pFrontendManager->GetPressedFontColour());

	m_pHUDMode = new OptionBox(m_pRenderer, m_pFrontendManager->GetFrontendFont_18(), m_pFrontendManager->GetFrontendFont_18_Outline(), "HUD", Colour(1.0f, 1.0f, 1.0f, 1.0f), Colour(0.0f, 0.0f, 0.0f, 1.0f));
	m_pHUDMode->SetCallBackFunction(_GUITabPressed);
	m_pHUDMode->SetCallBackData(this);
	m_pHUDMode->SetDepth(2.3f);
	m_pHUDMode->SetPressedOffset(0, -2);
	//m_pHUDMode->SetHoverLabelColour(m_pFrontendManager->GetHoverFontColour());
	//m_pHUDMode->SetPressedLabelColour(m_pFrontendManager->GetPressedFontColour());

	m_pMiscMode = new OptionBox(m_pRenderer, m_pFrontendManager->GetFrontendFont_18(), m_pFrontendManager->GetFrontendFont_18_Outline(), "Misc", Colour(1.0f, 1.0f, 1.0f, 1.0f), Colour(0.0f, 0.0f, 0.0f, 1.0f));
	m_pMiscMode->SetCallBackFunction(_MiscTabPressed);
	m_pMiscMode->SetCallBackData(this);
	m_pMiscMode->SetDepth(2.4f);
	m_pMiscMode->SetPressedOffset(0, -2);
	//m_pMiscMode->SetHoverLabelColour(m_pFrontendManager->GetHoverFontColour());
	//m_pMiscMode->SetPressedLabelColour(m_pFrontendManager->GetPressedFontColour());

	// Scrollbar
	m_pModsScrollbar = new ScrollBar(m_pRenderer);
	m_pModsScrollbar->SetScrollDirection(EScrollBarDirection_Vertical);
	m_pModsScrollbar->SetScrollSize(0.25f);
	m_pModsScrollbar->SetScrollPosition(1.0f);
	m_pModsScrollbar->SetDepth(4.0f);
	m_pModsScrollbar->SetScissorEnabled(true);

	m_pModsModeController->Add(m_pGameplayMode);
	m_pModsModeController->Add(m_pGraphicsMode);
	m_pModsModeController->Add(m_pSoundMode);
	m_pModsModeController->Add(m_pHUDMode);
	m_pModsModeController->Add(m_pMiscMode);	
	m_pGameplayMode->SetToggled(true);

	m_pModWindow->AddComponent(m_pModsModeController);
	m_pModWindow->AddComponent(m_pModsScrollbar);

	SetWindowDimensions(m_windowWidth, m_windowHeight);

	m_returnToMainMenu = false;
}