#ifndef XNA_GRAPHICS_ADAPTER_HPP #define XNA_GRAPHICS_ADAPTER_HPP #include "../default.hpp" namespace xna { //Provides methods to retrieve and manipulate graphics adapters. class GraphicsAdapter { public: GraphicsAdapter(); //Retrieves a string used for presentation to the user. String Description() const; //Retrieves a value that is used to help identify a particular chip set. Uint DeviceId() const; //Retrieves a string that contains the device name. String DeviceName() const; //Determines if this instance of GraphicsAdapter is the default adapter. bool IsDefaultAdapter() const; //Retrieves the handle of the monitor intptr_t MonitorHandle() const; //Retrieves a value used to help identify the revision level of a particular chip set. Uint Revision() const; //Retrieves a value used to identify the subsystem. Uint SubSystemId() const; //Retrieves a value used to identify the manufacturer. Uint VendorId() const; //Returns a collection of supported display modes for the current adapter. uptr SupportedDisplayModes() const; //Returns a collection of supported display modes for the current adapter. uptr SupportedDisplayModes(SurfaceFormat surfaceFormat) const; //Gets the current display mode. sptr CurrentDisplayMode(); //Gets the current display mode. void CurrentDisplayMode(SurfaceFormat surfaceFormat, Uint width, Uint height); //Gets the default adapter. static uptr DefaultAdapter(); //Collection of available adapters on the system. static void Adapters(std::vector>& adapters); public: struct PlatformImplementation; uptr impl = nullptr; }; } #endif