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

33 lines
1.1 KiB
C++
Raw Normal View History

2024-03-18 15:41:46 -03:00
#ifndef XNA_GRAPHICS_ADAPTER_HPP
#define XNA_GRAPHICS_ADAPTER_HPP
#include "../enums.hpp"
#include "../types.hpp"
#include "../forward.hpp"
#include "displaymode.hpp"
namespace xna {
2024-03-21 16:01:47 -03:00
class IGraphicsAdapter {
2024-03-18 15:41:46 -03:00
public:
2024-04-01 16:18:18 -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-21 16:06:22 -03:00
virtual UDisplayModeCollection SupportedDisplayModes() const = 0;
2024-04-23 16:11:17 -03:00
virtual UDisplayModeCollection SupportedDisplayModes(SurfaceFormat surfaceFormat) const = 0;
virtual PDisplayMode CurrentDisplayMode() = 0;
virtual void CurrentDisplayMode(SurfaceFormat surfaceFormat, Uint width, Uint height) = 0;
2024-04-21 16:06:22 -03:00
static UGraphicsAdapter DefaultAdapter();
2024-04-21 19:55:50 -03:00
static void Adapters(std::vector<PGraphicsAdapter>& adapters);
static void Adapters(std::vector<UGraphicsAdapter>& adapters);
2024-03-18 15:41:46 -03:00
};
}
#endif