Skip to content

Commit

Permalink
Merge pull request xbmc#7726 from xhaggi/window-global-render-order-enum
Browse files Browse the repository at this point in the history
[gui] use a global enum to specify the default render orders
  • Loading branch information
xhaggi committed Aug 10, 2015
2 parents 7da2e16 + 38bf589 commit 3ff9d5e
Show file tree
Hide file tree
Showing 13 changed files with 27 additions and 26 deletions.
2 changes: 1 addition & 1 deletion xbmc/addons/AddonCallbacksGUI.cpp
Expand Up @@ -2204,7 +2204,7 @@ void CGUIAddonWindowDialog::Show_Internal(bool show /* = true */)

// this dialog is derived from GUiMediaWindow
// make sure it is rendered last
m_renderOrder = 1;
m_renderOrder = RENDER_ORDER_DIALOG;
while (m_bRunning && !g_application.m_bStop)
{
g_windowManager.ProcessRenderLoop();
Expand Down
4 changes: 2 additions & 2 deletions xbmc/guilib/GUIDialog.cpp
Expand Up @@ -34,7 +34,7 @@ CGUIDialog::CGUIDialog(int id, const std::string &xmlFile, DialogModalityType mo
{
m_modalityType = modalityType;
m_wasRunning = false;
m_renderOrder = 1;
m_renderOrder = RENDER_ORDER_DIALOG;
m_autoClosing = false;
m_showStartTime = 0;
m_showDuration = 0;
Expand Down Expand Up @@ -225,7 +225,7 @@ void CGUIDialog::Render()
void CGUIDialog::SetDefaults()
{
CGUIWindow::SetDefaults();
m_renderOrder = 1;
m_renderOrder = RENDER_ORDER_DIALOG;
}

void CGUIDialog::SetAutoClose(unsigned int timeoutMs)
Expand Down
4 changes: 2 additions & 2 deletions xbmc/guilib/GUIWindow.cpp
Expand Up @@ -63,7 +63,7 @@ CGUIWindow::CGUIWindow(int id, const std::string &xmlFile)
m_loadType = LOAD_EVERY_TIME;
m_closing = false;
m_active = false;
m_renderOrder = 0;
m_renderOrder = RENDER_ORDER_WINDOW;
m_dynamicResourceAlloc = true;
m_previousWindow = WINDOW_INVALID;
m_animationsEnabled = true;
Expand Down Expand Up @@ -958,7 +958,7 @@ bool CGUIWindow::OnMove(int fromControl, int moveAction)

void CGUIWindow::SetDefaults()
{
m_renderOrder = 0;
m_renderOrder = RENDER_ORDER_WINDOW;
m_defaultAlways = false;
m_defaultControl = 0;
m_posX = m_posY = m_width = m_height = 0;
Expand Down
10 changes: 10 additions & 0 deletions xbmc/guilib/GUIWindow.h
Expand Up @@ -36,6 +36,7 @@ class CFileItem; typedef std::shared_ptr<CFileItem> CFileItemPtr;

#include "GUICallback.h" // for GUIEvent

#include <limits.h>
#include <map>
#include <vector>

Expand All @@ -51,6 +52,15 @@ class CFileItem; typedef std::shared_ptr<CFileItem> CFileItemPtr;
m_mapSelectedEvents[i] = selectedHandler; \
} \

enum RenderOrder {
RENDER_ORDER_WINDOW = 0,
RENDER_ORDER_DIALOG = 1,
RENDER_ORDER_WINDOW_SCREENSAVER = INT_MAX,
RENDER_ORDER_WINDOW_POINTER = INT_MAX - 1,
RENDER_ORDER_WINDOW_DEBUG = INT_MAX - 2,
RENDER_ORDER_DIALOG_TELETEXT = INT_MAX - 3
};

// forward
class TiXmlNode;
class TiXmlElement;
Expand Down
5 changes: 0 additions & 5 deletions xbmc/interfaces/legacy/Window.h
Expand Up @@ -31,11 +31,6 @@ namespace XBMCAddon
{
namespace xbmcgui
{
enum RenderOrder {
WINDOW = 0,
DIALOG = 1
};

// Forward declare the interceptor as the AddonWindowInterceptor.h
// file needs to include the Window class because of the template
class InterceptorBase;
Expand Down
2 changes: 1 addition & 1 deletion xbmc/interfaces/legacy/WindowDialog.cpp
Expand Up @@ -34,7 +34,7 @@ namespace XBMCAddon
CSingleLock lock(g_graphicsContext);
InterceptorBase* interceptor = new Interceptor<CGUIWindow>("CGUIWindow", this, getNextAvailableWindowId());
// set the render order to the dialog's default because this dialog is mapped to CGUIWindow instead of CGUIDialog
interceptor->SetRenderOrder(RenderOrder::DIALOG);
interceptor->SetRenderOrder(RENDER_ORDER_DIALOG);
setWindow(interceptor);
}

Expand Down
4 changes: 2 additions & 2 deletions xbmc/interfaces/legacy/WindowXML.cpp
Expand Up @@ -503,8 +503,8 @@ namespace XBMCAddon
// Set the render order to the dialog's default in case it's not specified in the skin xml
// because this dialog is mapped to CGUIMediaWindow instead of CGUIDialog.
// This must be done here, because the render order will be reset before loading the skin xml.
if (ref(window)->GetRenderOrder() == RenderOrder::WINDOW)
window->SetRenderOrder(RenderOrder::DIALOG);
if (ref(window)->GetRenderOrder() == RENDER_ORDER_WINDOW)
window->SetRenderOrder(RENDER_ORDER_DIALOG);
return true;
}
return false;
Expand Down
4 changes: 2 additions & 2 deletions xbmc/music/dialogs/GUIDialogMusicOverlay.cpp
Expand Up @@ -29,7 +29,7 @@
CGUIDialogMusicOverlay::CGUIDialogMusicOverlay()
: CGUIDialog(WINDOW_DIALOG_MUSIC_OVERLAY, "MusicOverlay.xml", DialogModalityType::MODELESS)
{
m_renderOrder = 0;
m_renderOrder = RENDER_ORDER_WINDOW;
m_loadType = KEEP_IN_MEMORY;
}

Expand Down Expand Up @@ -80,7 +80,7 @@ EVENT_RESULT CGUIDialogMusicOverlay::OnMouseEvent(const CPoint &point, const CMo
void CGUIDialogMusicOverlay::SetDefaults()
{
CGUIDialog::SetDefaults();
m_renderOrder = 0;
m_renderOrder = RENDER_ORDER_WINDOW;
SetVisibleCondition("skin.hasmusicoverlay");
}

2 changes: 1 addition & 1 deletion xbmc/video/dialogs/GUIDialogTeletext.cpp
Expand Up @@ -33,7 +33,7 @@ CGUIDialogTeletext::CGUIDialogTeletext()
: CGUIDialog(WINDOW_DIALOG_OSD_TELETEXT, "")
{
m_pTxtTexture = NULL;
m_renderOrder = INT_MAX - 3;
m_renderOrder = RENDER_ORDER_DIALOG_TELETEXT;
}

CGUIDialogTeletext::~CGUIDialogTeletext()
Expand Down
4 changes: 2 additions & 2 deletions xbmc/video/dialogs/GUIDialogVideoOverlay.cpp
Expand Up @@ -33,7 +33,7 @@
CGUIDialogVideoOverlay::CGUIDialogVideoOverlay()
: CGUIDialog(WINDOW_DIALOG_VIDEO_OVERLAY, "VideoOverlay.xml", DialogModalityType::MODELESS)
{
m_renderOrder = 0;
m_renderOrder = RENDER_ORDER_WINDOW;
m_loadType = KEEP_IN_MEMORY;
}

Expand All @@ -58,7 +58,7 @@ EVENT_RESULT CGUIDialogVideoOverlay::OnMouseEvent(const CPoint &point, const CMo
void CGUIDialogVideoOverlay::SetDefaults()
{
CGUIDialog::SetDefaults();
m_renderOrder = 0;
m_renderOrder = RENDER_ORDER_WINDOW;
SetVisibleCondition("skin.hasvideooverlay");
}

4 changes: 1 addition & 3 deletions xbmc/windows/GUIWindowDebugInfo.cpp
Expand Up @@ -34,14 +34,12 @@
#include "utils/Variant.h"
#include "utils/StringUtils.h"

#include <climits>

CGUIWindowDebugInfo::CGUIWindowDebugInfo(void)
: CGUIDialog(WINDOW_DEBUG_INFO, "", DialogModalityType::MODELESS)
{
m_needsScaling = false;
m_layout = NULL;
m_renderOrder = INT_MAX - 2;
m_renderOrder = RENDER_ORDER_WINDOW_DEBUG;
}

CGUIWindowDebugInfo::~CGUIWindowDebugInfo(void)
Expand Down
5 changes: 2 additions & 3 deletions xbmc/windows/GUIWindowPointer.cpp
Expand Up @@ -22,7 +22,6 @@
#include "input/MouseStat.h"
#include "input/InputManager.h"
#include "windowing/WindowingFactory.h"
#include <climits>
#define ID_POINTER 10

CGUIWindowPointer::CGUIWindowPointer(void)
Expand All @@ -32,7 +31,7 @@ CGUIWindowPointer::CGUIWindowPointer(void)
m_loadType = LOAD_ON_GUI_INIT;
m_needsScaling = false;
m_active = false;
m_renderOrder = INT_MAX - 1;
m_renderOrder = RENDER_ORDER_WINDOW_POINTER;
}

CGUIWindowPointer::~CGUIWindowPointer(void)
Expand Down Expand Up @@ -76,7 +75,7 @@ void CGUIWindowPointer::OnWindowLoaded()
CGUIWindow::OnWindowLoaded();
DynamicResourceAlloc(false);
m_pointer = 0;
m_renderOrder = INT_MAX - 1;
m_renderOrder = RENDER_ORDER_WINDOW_POINTER;
}

void CGUIWindowPointer::Process(unsigned int currentTime, CDirtyRegionList &dirtyregions)
Expand Down
3 changes: 1 addition & 2 deletions xbmc/windows/GUIWindowScreensaverDim.cpp
Expand Up @@ -22,7 +22,6 @@
#include "guilib/GraphicContext.h"
#include "guilib/GUITexture.h"
#include "Application.h"
#include <climits>

CGUIWindowScreensaverDim::CGUIWindowScreensaverDim(void)
: CGUIDialog(WINDOW_SCREENSAVER_DIM, "", DialogModalityType::MODELESS)
Expand All @@ -31,7 +30,7 @@ CGUIWindowScreensaverDim::CGUIWindowScreensaverDim(void)
m_dimLevel = 100.0f;
m_animations.push_back(CAnimation::CreateFader(0, 100, 0, 1000, ANIM_TYPE_WINDOW_OPEN));
m_animations.push_back(CAnimation::CreateFader(100, 0, 0, 1000, ANIM_TYPE_WINDOW_CLOSE));
m_renderOrder = INT_MAX;
m_renderOrder = RENDER_ORDER_WINDOW_SCREENSAVER;
}

CGUIWindowScreensaverDim::~CGUIWindowScreensaverDim(void)
Expand Down

0 comments on commit 3ff9d5e

Please sign in to comment.