CmD3D9Driver.cpp 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. #include "CmD3D9Driver.h"
  2. #include "CmD3D9VideoModeList.h"
  3. #include "CmD3D9VideoMode.h"
  4. namespace BansheeEngine
  5. {
  6. D3D9Driver::D3D9Driver()
  7. {
  8. mAdapterNumber = 0;
  9. ZeroMemory(&mD3D9DeviceCaps, sizeof(mD3D9DeviceCaps));
  10. ZeroMemory(&mAdapterIdentifier, sizeof(mAdapterIdentifier));
  11. ZeroMemory(&mDesktopDisplayMode, sizeof(mDesktopDisplayMode));
  12. mpVideoModeList = NULL;
  13. }
  14. D3D9Driver::D3D9Driver( const D3D9Driver &ob )
  15. {
  16. mAdapterNumber = ob.mAdapterNumber;
  17. mD3D9DeviceCaps = ob.mD3D9DeviceCaps;
  18. mAdapterIdentifier = ob.mAdapterIdentifier;
  19. mDesktopDisplayMode = ob.mDesktopDisplayMode;
  20. mpVideoModeList = NULL;
  21. }
  22. D3D9Driver::D3D9Driver( unsigned int adapterNumber,
  23. const D3DCAPS9& deviceCaps,
  24. const D3DADAPTER_IDENTIFIER9& adapterIdentifier,
  25. const D3DDISPLAYMODE& desktopDisplayMode )
  26. {
  27. mAdapterNumber = adapterNumber;
  28. mD3D9DeviceCaps = deviceCaps;
  29. mAdapterIdentifier = adapterIdentifier;
  30. mDesktopDisplayMode = desktopDisplayMode;
  31. mpVideoModeList = NULL;
  32. }
  33. D3D9Driver::~D3D9Driver()
  34. {
  35. if(mpVideoModeList != nullptr)
  36. cm_delete(mpVideoModeList);
  37. }
  38. String D3D9Driver::DriverName() const
  39. {
  40. return String(mAdapterIdentifier.Driver);
  41. }
  42. String D3D9Driver::DriverDescription() const
  43. {
  44. StringStream str;
  45. str << "Monitor-" << (mAdapterNumber+1) << "-" << mAdapterIdentifier.Description;
  46. String driverDescription(str.str());
  47. StringUtil::trim(driverDescription);
  48. return driverDescription;
  49. }
  50. D3D9VideoModeList* D3D9Driver::getVideoModeList()
  51. {
  52. if( !mpVideoModeList )
  53. mpVideoModeList = cm_new<D3D9VideoModeList>(this);
  54. return mpVideoModeList;
  55. }
  56. }