Harlinn.Windows 0.1
Loading...
Searching...
No Matches
Harlinn::Windows::Graphics::Device1 Class Reference

Represents a resource domain whose objects and device contexts can be used together. This interface performs all the same functions as the existing Device class. It also enables control of the device's rendering priority. More...

#include <HWGraphics.h>

Inheritance diagram for Harlinn::Windows::Graphics::Device1:
[legend]
Collaboration diagram for Harlinn::Windows::Graphics::Device1:
[legend]

Public Types

using Base = Device
 
- Public Types inherited from Harlinn::Windows::Graphics::Device
using Base = Resource
 
- Public Types inherited from Harlinn::Common::Core::Unknown
typedef IUnknown InterfaceType
 

Public Member Functions

D2D1_RENDERING_PRIORITY GetRenderingPriority () const
 Retrieves the rendering priority currently set on the device.
 
void SetRenderingPriority (D2D1_RENDERING_PRIORITY renderingPriority) const
 Sets the rendering priority of the device.
 
void CreateDeviceContext (D2D1_DEVICE_CONTEXT_OPTIONS options, ID2D1DeviceContext1 **deviceContext1) const
 Creates a new device context with no initially assigned target.
 
DeviceContext1 CreateDeviceContext (D2D1_DEVICE_CONTEXT_OPTIONS options=D2D1_DEVICE_CONTEXT_OPTIONS_NONE) const
 
DeviceContext1 CreateDeviceContext1 (D2D1_DEVICE_CONTEXT_OPTIONS options=D2D1_DEVICE_CONTEXT_OPTIONS_NONE) const
 
- Public Member Functions inherited from Harlinn::Windows::Graphics::Device
void CreateDeviceContext (D2D1_DEVICE_CONTEXT_OPTIONS options, ID2D1DeviceContext **deviceContext) const
 Creates a new device context with no initially assigned target.
 
DeviceContext CreateDeviceContext (D2D1_DEVICE_CONTEXT_OPTIONS options=D2D1_DEVICE_CONTEXT_OPTIONS_NONE) const
 
DeviceContext CreateDeviceContext0 (D2D1_DEVICE_CONTEXT_OPTIONS options) const
 
void CreatePrintControl (IWICImagingFactory *wicFactory, IPrintDocumentPackageTarget *documentTarget, const D2D1_PRINT_CONTROL_PROPERTIES *printControlProperties, ID2D1PrintControl **printControl) const
 Creates an ID2D1PrintControl object that converts Direct2D primitives stored in ID2D1CommandList into a fixed page representation. The print sub-system then consumes the primitives.
 
void CreatePrintControl (IWICImagingFactory *wicFactory, IPrintDocumentPackageTarget *documentTarget, const D2D1_PRINT_CONTROL_PROPERTIES &printControlProperties, ID2D1PrintControl **printControl) const
 
HW_EXPORT void CreatePrintControl (const Imaging::ImagingFactory &wicFactory, const DocumentTarget::PrintDocumentPackageTarget &documentTarget, const D2D1_PRINT_CONTROL_PROPERTIES *printControlProperties, ID2D1PrintControl **printControl) const
 
PrintControl CreatePrintControl (IWICImagingFactory *wicFactory, IPrintDocumentPackageTarget *documentTarget, const D2D1_PRINT_CONTROL_PROPERTIES *printControlProperties=nullptr) const
 
HW_EXPORT PrintControl CreatePrintControl (const Imaging::ImagingFactory &wicFactory, const DocumentTarget::PrintDocumentPackageTarget &documentTarget, const D2D1_PRINT_CONTROL_PROPERTIES *printControlProperties=nullptr) const
 
void SetMaximumTextureMemory (UINT64 maximumTextureMemoryInBytes) const
 Sets the maximum amount of texture memory Direct2D accumulates before it purges the image caches and cached texture allocations.
 
UINT64 GetMaximumTextureMemory () const
 Gets the maximum amount of texture memory to maintain before evicting caches.
 
void ClearResources (UINT32 millisecondsSinceUse=0) const
 Clears all resources that are cached but not held in use by the application through an interface reference.
 
- Public Member Functions inherited from Harlinn::Windows::Graphics::Resource
template<typename T = Factory>
requires std::is_base_of_v< Factory, T>
T GetFactory ()
 
- Public Member Functions inherited from Harlinn::Common::Core::Unknown
constexpr Unknown () noexcept
 
 Unknown (IUnknown *unknown, bool addref=false) noexcept
 
 Unknown (REFIID iid, const Unknown &unknown, bool throwIfNoInterface=true)
 
 Unknown (const Unknown &other) noexcept
 
 Unknown (Unknown &&other) noexcept
 
 ~Unknown () noexcept
 
constexpr operator bool () const noexcept
 
Unknownoperator= (const Unknown &other) noexcept
 
Unknownoperator= (Unknown &&other) noexcept
 
void swap (Unknown &other) noexcept
 
void ResetPtr (IUnknown *other=nullptr, bool addRef=false) noexcept
 
Unknownoperator= (nullptr_t)
 
IUnknown * Detach ()
 
template<typename T >
requires std::is_base_of_v<Unknown, T >
T As () const
 
template<typename T >
requires std::is_base_of_v<Unknown, T>
bool Is () const noexcept
 
template<typename T >
requires std::is_base_of_v<IUnknown, T>
ComPtr< TAs () const
 
template<typename T >
requires std::is_base_of_v<IUnknown, T>
bool Is () const noexcept
 This function can be used to detect if an object supports a particular COM interface derived from IUnknown.
 
template<typename T = IUnknown>
TGetInterfacePointer () const noexcept
 
bool QueryInterface (REFIID riid, void **itf) const
 Queries a COM object for a pointer to one of its interface; identifying the interface by a reference to its interface identifier (IID). If the COM object implements the interface, then it returns a pointer to that interface after calling IUnknown::AddRef on it.
 
template<typename T >
requires std::is_base_of_v<IUnknown, T>
bool QueryInterface (T **itf) const
 
constexpr bool operator== (const Unknown &other) const noexcept
 
constexpr bool operator!= (const Unknown &other) const noexcept
 
constexpr bool operator== (const IUnknown *other) const noexcept
 
constexpr bool operator!= (const IUnknown *other) const noexcept
 

Additional Inherited Members

- Static Public Member Functions inherited from Harlinn::Common::Core::Unknown
template<typename T >
requires std::is_base_of_v<Unknown, T>
static T CoCreateInstanceFromClassId (const CLSID &clsid, DWORD classContext=CLSCTX_INPROC_SERVER)
 
template<typename T >
requires std::is_base_of_v<Unknown, T>
static T CoCreateInstanceFromClassId (const wchar_t *clsid, DWORD classContext=CLSCTX_INPROC_SERVER)
 
template<typename T >
requires std::is_base_of_v<Unknown, T>
static T CoCreateInstanceFromClassId (const WideString &clsid, DWORD classContext=CLSCTX_INPROC_SERVER)
 
template<typename T >
requires std::is_base_of_v<Unknown, T>
static T CoCreateInstanceFromProgId (const wchar_t *progId, DWORD classContext=CLSCTX_INPROC_SERVER)
 
template<typename T >
requires std::is_base_of_v<Unknown, T>
static T CoCreateInstanceFromProgId (const WideString &progId, DWORD classContext=CLSCTX_INPROC_SERVER)
 
template<typename T >
requires std::is_base_of_v<Unknown, T>
static T CoCreateInstanceFromDll (const ModuleHandle &dll, const CLSID &clsid)
 
- Protected Attributes inherited from Harlinn::Common::Core::Unknown
IUnknown * unknown_
 

Detailed Description

Represents a resource domain whose objects and device contexts can be used together. This interface performs all the same functions as the existing Device class. It also enables control of the device's rendering priority.

Member Typedef Documentation

◆ Base

Member Function Documentation

◆ CreateDeviceContext() [1/2]

void Harlinn::Windows::Graphics::Device1::CreateDeviceContext ( D2D1_DEVICE_CONTEXT_OPTIONS options,
ID2D1DeviceContext1 ** deviceContext1 ) const
inline

Creates a new device context with no initially assigned target.

Parameters
optionsThe options to be applied to the created device context. The default is D2D1_DEVICE_CONTEXT_OPTIONS_NONE.
deviceContext1When this method returns, contains the address of a pointer to the new device context.

◆ CreateDeviceContext() [2/2]

DeviceContext1 Harlinn::Windows::Graphics::Device1::CreateDeviceContext ( D2D1_DEVICE_CONTEXT_OPTIONS options = D2D1_DEVICE_CONTEXT_OPTIONS_NONE) const
inline

◆ CreateDeviceContext1()

DeviceContext1 Harlinn::Windows::Graphics::Device1::CreateDeviceContext1 ( D2D1_DEVICE_CONTEXT_OPTIONS options = D2D1_DEVICE_CONTEXT_OPTIONS_NONE) const
inline

◆ GetRenderingPriority()

D2D1_RENDERING_PRIORITY Harlinn::Windows::Graphics::Device1::GetRenderingPriority ( ) const
inline

Retrieves the rendering priority currently set on the device.

◆ SetRenderingPriority()

void Harlinn::Windows::Graphics::Device1::SetRenderingPriority ( D2D1_RENDERING_PRIORITY renderingPriority) const
inline

Sets the rendering priority of the device.

Parameters
renderingPrioritySets the priority of Direct2D rendering operations performed on any device context associated with the device.

Calling this method affects the rendering priority of all device contexts associated with the device. This method can be called at any time, but is not guaranteed to take effect until the beginning of the next frame. The recommended usage is to call this method outside of BeginDraw and EndDraw blocks. Cycling this property frequently within drawing blocks will effectively reduce the benefits of any throttling that is applied.


The documentation for this class was generated from the following file: