]> git.tdb.fi Git - libs/gui.git/commitdiff
Let platform header determine (part of) the contents of Display::Private
authorMikko Rasa <tdb@tdb.fi>
Sun, 12 Oct 2014 13:54:29 +0000 (16:54 +0300)
committerMikko Rasa <tdb@tdb.fi>
Sun, 12 Oct 2014 13:54:29 +0000 (16:54 +0300)
This simplifies things a bit as there's no need to declare dummy typedefs
for MonitorHandle and ModeHandle if they are not used.  It also makes the
upcoming Android support a lot easier to accomplish.

source/graphics/cocoa/display_platform.h
source/graphics/display_private.h
source/graphics/windows/display_platform.h
source/graphics/x11/display_platform.h

index 2c59e066b222a33bd348c9ab49974c6f243c624c..09258673c8959dabaff7a5a3f1442ba8cb5d06c7 100644 (file)
@@ -7,8 +7,10 @@ namespace Msp {
 namespace Graphics {
 
 typedef CocoaDisplay *DisplayHandle;
-typedef int MonitorHandle;
-typedef int ModeHandle;
+
+struct PlatformDisplayPrivate
+{
+};
 
 } // namespace Graphics
 } // namespace Msp
index 4a88cedb1aeb0164669fa1a6592966ef54e360a4..d5f0bf014bdfe9431957c3c5286e147cb5c52cdf 100644 (file)
 namespace Msp {
 namespace Graphics {
 
-struct Display::Private
+struct Display::Private: PlatformDisplayPrivate
 {
        DisplayHandle display;
        std::map<WindowHandle, Window *> windows;
-       std::vector<MonitorHandle> monitors;
-       std::vector<ModeHandle> modes;
 };
 
 } // namespace Graphics
index 4abaee7b5cdff3ec5322da63645daa04e7f49f1a..99329ae72defea8f5c04b4d472a6309371d9bad2 100644 (file)
@@ -5,8 +5,11 @@ namespace Msp {
 namespace Graphics {
 
 typedef void *DisplayHandle;
-typedef std::string MonitorHandle;
-typedef int ModeHandle;
+
+struct PlatformDisplayPrivate
+{
+       std::vector<std::string> monitors;
+};
 
 } // namespace Graphics
 } // namespace Msp
index 3a213c009eaa7004cf98e24286b4fe5d63621e15..4335f1cac3a5de89c52386f5e3e26baaa7b90e3f 100644 (file)
@@ -10,13 +10,14 @@ namespace Msp {
 namespace Graphics {
 
 typedef ::Display *DisplayHandle;
+
+struct PlatformDisplayPrivate
+{
 #ifdef WITH_XRANDR
-typedef RROutput MonitorHandle;
-typedef RRMode ModeHandle;
-#else
-typedef int MonitorHandle;
-typedef int ModeHandle;
+       std::vector<RROutput> monitors;
+       std::vector<RRMode> modes;
 #endif
+};
 
 } // namespace Graphics
 } // namespace Msp