2024-03-18 15:41:46 -03:00
|
|
|
#ifndef XNA_GRAPHICS_ADAPTER_HPP
|
|
|
|
#define XNA_GRAPHICS_ADAPTER_HPP
|
|
|
|
|
2024-04-24 11:44:41 -03:00
|
|
|
#include "../default.hpp"
|
2024-03-18 15:41:46 -03:00
|
|
|
|
|
|
|
namespace xna {
|
2024-03-21 16:01:47 -03:00
|
|
|
class IGraphicsAdapter {
|
2024-03-18 15:41:46 -03:00
|
|
|
public:
|
2024-04-24 11:44:41 -03:00
|
|
|
virtual ~IGraphicsAdapter() {}
|
2024-03-18 15:41:46 -03:00
|
|
|
|
2024-03-21 16:01:47 -03:00
|
|
|
virtual String Description() const = 0;
|
|
|
|
virtual Uint DeviceId() const = 0;
|
|
|
|
virtual String DeviceName() const = 0;
|
2024-04-01 16:18:18 -03:00
|
|
|
virtual bool IsDefaultAdapter() const = 0;
|
2024-03-21 16:01:47 -03:00
|
|
|
virtual intptr_t MonitorHandle() const = 0;
|
|
|
|
virtual Uint Revision() const = 0;
|
|
|
|
virtual Uint SubSystemId() const = 0;
|
|
|
|
virtual Uint VendorId() const = 0;
|
2024-04-26 11:35:59 -03:00
|
|
|
virtual uptr<DisplayModeCollection> SupportedDisplayModes() const = 0;
|
|
|
|
virtual uptr<DisplayModeCollection> SupportedDisplayModes(SurfaceFormat surfaceFormat) const = 0;
|
|
|
|
virtual sptr<DisplayMode> CurrentDisplayMode() = 0;
|
2024-04-23 16:11:17 -03:00
|
|
|
virtual void CurrentDisplayMode(SurfaceFormat surfaceFormat, Uint width, Uint height) = 0;
|
2024-04-21 16:06:22 -03:00
|
|
|
|
2024-04-26 11:35:59 -03:00
|
|
|
static uptr<GraphicsAdapter> DefaultAdapter();
|
|
|
|
static void Adapters(std::vector<sptr<GraphicsAdapter>>& adapters);
|
|
|
|
static void Adapters(std::vector<uptr<GraphicsAdapter>>& adapters);
|
2024-03-18 15:41:46 -03:00
|
|
|
};
|
|
|
|
}
|
|
|
|
|
|
|
|
#endif
|