BsD3D11VideoModeInfo.h 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. //********************************** Banshee Engine (www.banshee3d.com) **************************************************//
  2. //**************** Copyright (c) 2016 Marko Pintera ([email protected]). All rights reserved. **********************//
  3. #pragma once
  4. #include "BsD3D11Prerequisites.h"
  5. #include "RenderAPI/BsVideoModeInfo.h"
  6. namespace bs { namespace ct
  7. {
  8. /** @addtogroup D3D11
  9. * @{
  10. */
  11. /** @copydoc VideoMode */
  12. class D3D11VideoMode : public VideoMode
  13. {
  14. public:
  15. D3D11VideoMode(UINT32 width, UINT32 height, float refreshRate, UINT32 outputIdx, UINT32 refreshRateNumerator,
  16. UINT32 refreshRateDenominator, DXGI_MODE_DESC mode);
  17. /** Returns an internal DXGI representation of this video mode. */
  18. const DXGI_MODE_DESC& getDXGIModeDesc() const { return mD3D11Mode; }
  19. /** Gets internal DX11 refresh rate numerator. */
  20. UINT32 getRefreshRateNumerator() const { return mRefreshRateNumerator; }
  21. /** Gets internal DX11 refresh rate denominator. */
  22. UINT32 getRefreshRateDenominator() const { return mRefreshRateDenominator; }
  23. private:
  24. friend class D3D11VideoOutputInfo;
  25. UINT32 mRefreshRateNumerator;
  26. UINT32 mRefreshRateDenominator;
  27. DXGI_MODE_DESC mD3D11Mode;
  28. };
  29. /** @copydoc VideoOutputInfo */
  30. class D3D11VideoOutputInfo : public VideoOutputInfo
  31. {
  32. public:
  33. D3D11VideoOutputInfo(IDXGIOutput* output, UINT32 outputIdx);
  34. ~D3D11VideoOutputInfo();
  35. /** Returns the internal DXGI object representing an output device. */
  36. IDXGIOutput* getDXGIOutput() const { return mDXGIOutput; }
  37. private:
  38. IDXGIOutput* mDXGIOutput;
  39. };
  40. /** @copydoc VideoModeInfo */
  41. class D3D11VideoModeInfo : public VideoModeInfo
  42. {
  43. public:
  44. D3D11VideoModeInfo(IDXGIAdapter* dxgiAdapter);
  45. };
  46. /** @} */
  47. }}