1
0
mirror of https://github.com/borgesdan/xn65 synced 2024-12-29 21:54:47 +01:00
xn65/inc/graphics/adapter.hpp

30 lines
1.0 KiB
C++
Raw Normal View History

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