aboutsummaryrefslogtreecommitdiffstats
path: root/LibOVR/Src/Displays/OVR_Win32_Display.h
diff options
context:
space:
mode:
Diffstat (limited to 'LibOVR/Src/Displays/OVR_Win32_Display.h')
-rw-r--r--LibOVR/Src/Displays/OVR_Win32_Display.h335
1 files changed, 153 insertions, 182 deletions
diff --git a/LibOVR/Src/Displays/OVR_Win32_Display.h b/LibOVR/Src/Displays/OVR_Win32_Display.h
index 4517d44..5b30482 100644
--- a/LibOVR/Src/Displays/OVR_Win32_Display.h
+++ b/LibOVR/Src/Displays/OVR_Win32_Display.h
@@ -1,182 +1,153 @@
-/************************************************************************************
-
-Filename : OVR_Win32_Display.h
-Content : Win32-specific Display declarations
-Created : May 6, 2014
-Authors : Dean Beeler
-
-Copyright : Copyright 2014 Oculus VR, LLC All Rights reserved.
-
-Licensed under the Oculus VR Rift SDK License Version 3.2 (the "License");
-you may not use the Oculus VR Rift SDK except in compliance with the License,
-which is provided at the time of installation or download, or which
-otherwise accompanies this software in either electronic or hard copy form.
-
-You may obtain a copy of the License at
-
-http://www.oculusvr.com/licenses/LICENSE-3.2
-
-Unless required by applicable law or agreed to in writing, the Oculus VR SDK
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-
-*************************************************************************************/
-
-#ifndef OVR_Win32_Display_h
-#define OVR_Win32_Display_h
-
-#include "OVR_Display.h"
-
-OVR_DISABLE_MSVC_WARNING(4351) // new behavior: elements of array will be default initialized
-
-namespace OVR { namespace Win32 {
-
-
-//-------------------------------------------------------------------------------------
-// DisplayDesc
-
-// Display information enumerable through Win32.
-// TBD: Should we just move this to public header, so it's a const member of Display?
-struct DisplayDesc
-{
- HmdTypeEnum DeviceTypeGuess; // This is a guess about what type of HMD it is connected to
- String DisplayID; // This is the device identifier string from MONITORINFO (for app usage)
- String ModelName; // This is a "DK2" type string
- String EdidSerialNumber;
- Sizei LogicalResolutionInPixels;
- Sizei NativeResolutionInPixels;
- Vector2i DesktopDisplayOffset;
-};
-
-
-//-------------------------------------------------------------------------------------
-// DisplayEDID
-
-// Describes EDID information as reported from our display driver.
-struct DisplayEDID
-{
- String MonitorName;
- UINT16 ModelNumber;
- String VendorName;
- String SerialNumber;
-};
-
-class Win32DisplaySearchHandle : public DisplaySearchHandle
-{
-public:
- static const int ArraySize = 16;
-
- Win32::DisplayDesc cachedDescriptorArray[ArraySize];
- bool extended;
- bool application;
- int extendedDisplayCount;
- int applicationDisplayCount;
- int displayCount;
-
- Win32DisplaySearchHandle()
- : cachedDescriptorArray(),
- extended(),
- application(false),
- extendedDisplayCount(0),
- applicationDisplayCount(0),
- displayCount(0)
- {
- }
-
- virtual ~Win32DisplaySearchHandle()
- {
- }
-};
-
-//-------------------------------------------------------------------------------------
-// Win32DisplayGeneric
-
-// Describes Win32 display in Compatibility mode, containing basic data
-class Win32DisplayGeneric : public Display
-{
-public:
- Win32DisplayGeneric( const DisplayDesc& dd ) :
- Display(dd.DeviceTypeGuess,
- dd.DisplayID,
- dd.ModelName,
- dd.EdidSerialNumber,
- dd.LogicalResolutionInPixels,
- dd.NativeResolutionInPixels,
- dd.DesktopDisplayOffset,
- 0,
- 0,
- false)
- {
- }
-
- virtual ~Win32DisplayGeneric()
- {
- }
-
- // Generic displays are not capable of mirroring
- virtual MirrorMode SetMirrorMode( MirrorMode newMode )
- {
- OVR_UNUSED( newMode );
- return MirrorDisabled;
- }
-};
-
-
-//-------------------------------------------------------------------------------------
-// Win32DisplayDriver
-
-// Oculus driver based display object.
-class Win32DisplayDriver : public Display
-{
- HANDLE hDevice;
- ULONG ChildId;
- DisplayEDID Edid;
-
-public:
- Win32DisplayDriver(const HmdTypeEnum deviceTypeGuess,
- const String& displayID,
- const String& modelName,
- const String& edidSerial,
- const Sizei& logicalRes,
- const Sizei& nativeRes,
- const Vector2i& displayOffset,
- const DisplayEDID& edid,
- HANDLE hdevice,
- ULONG child,
- uint32_t rotation) :
- Display(deviceTypeGuess,
- displayID,
- modelName,
- edidSerial,
- logicalRes,
- nativeRes,
- displayOffset,
- child,
- rotation,
- true),
- hDevice(hdevice),
- ChildId(child),
- Edid(edid)
- {
- }
-
- virtual ~Win32DisplayDriver()
- {
- }
-
- virtual MirrorMode SetMirrorMode( MirrorMode newMode );
-
- // Support sleep/wake
- virtual bool SetDisplaySleep(bool off);
-};
-
-
-}} // namespace OVR::Win32
-
-
-OVR_RESTORE_MSVC_WARNING()
-
-
-#endif // OVR_Win32_Display_h
+/************************************************************************************
+
+Filename : OVR_Win32_Display.h
+Content : Win32-specific Display declarations
+Created : May 6, 2014
+Authors : Dean Beeler
+
+Copyright : Copyright 2014 Oculus VR, LLC All Rights reserved.
+
+Licensed under the Oculus VR Rift SDK License Version 3.2 (the "License");
+you may not use the Oculus VR Rift SDK except in compliance with the License,
+which is provided at the time of installation or download, or which
+otherwise accompanies this software in either electronic or hard copy form.
+
+You may obtain a copy of the License at
+
+http://www.oculusvr.com/licenses/LICENSE-3.2
+
+Unless required by applicable law or agreed to in writing, the Oculus VR SDK
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+*************************************************************************************/
+
+#ifndef OVR_Win32_Display_h
+#define OVR_Win32_Display_h
+
+#include "OVR_Display.h"
+
+OVR_DISABLE_MSVC_WARNING(4351) // new behavior: elements of array will be default initialized
+
+namespace OVR { namespace Win32 {
+
+
+class Win32DisplaySearchHandle : public DisplaySearchHandle
+{
+public:
+ static const int ArraySize = 16;
+
+ DisplayDesc cachedDescriptorArray[ArraySize];
+ bool extended;
+ bool application;
+ int extendedDisplayCount;
+ int applicationDisplayCount;
+ int displayCount;
+
+ Win32DisplaySearchHandle() :
+ cachedDescriptorArray(),
+ extended(),
+ application(false),
+ extendedDisplayCount(0),
+ applicationDisplayCount(0),
+ displayCount(0)
+ {
+ }
+
+ virtual ~Win32DisplaySearchHandle()
+ {
+ }
+};
+
+//-------------------------------------------------------------------------------------
+// Win32DisplayGeneric
+
+// Describes Win32 display in Compatibility mode, containing basic data
+class Win32DisplayGeneric : public Display
+{
+public:
+ Win32DisplayGeneric( const DisplayDesc& dd ) :
+ Display(dd.DeviceTypeGuess,
+ dd.DisplayID,
+ dd.ModelName,
+ dd.EdidSerialNumber,
+ dd.ResolutionInPixels,
+ dd.ResolutionInPixels,
+ dd.DesktopDisplayOffset,
+ 0,
+ dd.Rotation,
+ false)
+ {
+ }
+
+ virtual ~Win32DisplayGeneric()
+ {
+ }
+
+ // Generic displays are not capable of mirroring
+ virtual MirrorMode SetMirrorMode( MirrorMode newMode )
+ {
+ OVR_UNUSED( newMode );
+ return MirrorDisabled;
+ }
+};
+
+
+//-------------------------------------------------------------------------------------
+// Win32DisplayDriver
+
+// Oculus driver based display object.
+class Win32DisplayDriver : public Display
+{
+ HANDLE hDevice;
+ ULONG ChildId;
+ DisplayEDID Edid;
+
+public:
+ Win32DisplayDriver(const HmdTypeEnum deviceTypeGuess,
+ const String& displayID,
+ const String& modelName,
+ const String& edidSerial,
+ const Sizei& logicalRes,
+ const Sizei& nativeRes,
+ const Vector2i& displayOffset,
+ const DisplayEDID& edid,
+ HANDLE hdevice,
+ ULONG child,
+ uint32_t rotation) :
+ Display(deviceTypeGuess,
+ displayID,
+ modelName,
+ edidSerial,
+ logicalRes,
+ nativeRes,
+ displayOffset,
+ child,
+ rotation,
+ true),
+ hDevice(hdevice),
+ ChildId(child),
+ Edid(edid)
+ {
+ }
+
+ virtual ~Win32DisplayDriver()
+ {
+ }
+
+ virtual MirrorMode SetMirrorMode( MirrorMode newMode );
+
+ // Support sleep/wake
+ virtual bool SetDisplaySleep(bool off);
+};
+
+
+}} // namespace OVR::Win32
+
+
+OVR_RESTORE_MSVC_WARNING()
+
+
+#endif // OVR_Win32_Display_h