make WinStruct<> available in non-GUI code too
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@35667 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -192,6 +192,22 @@ protected:
|
|||||||
HANDLE m_handle;
|
HANDLE m_handle;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// a template to make initializing Windows styructs less painful: it zeroes all
|
||||||
|
// the struct fields and also sets cbSize member to the correct value (and so
|
||||||
|
// can be only used with structures which have this member...)
|
||||||
|
template <class T>
|
||||||
|
struct WinStruct : public T
|
||||||
|
{
|
||||||
|
WinStruct()
|
||||||
|
{
|
||||||
|
::ZeroMemory(this, sizeof(T));
|
||||||
|
|
||||||
|
// explicit qualification is required here for this to be valid C++
|
||||||
|
this->cbSize = sizeof(T);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
#if wxUSE_GUI
|
#if wxUSE_GUI
|
||||||
|
|
||||||
#include <wx/gdicmn.h>
|
#include <wx/gdicmn.h>
|
||||||
@@ -342,22 +358,6 @@ inline RECT wxGetClientRect(HWND hwnd)
|
|||||||
// small helper classes
|
// small helper classes
|
||||||
// ---------------------------------------------------------------------------
|
// ---------------------------------------------------------------------------
|
||||||
|
|
||||||
// a template to make initializing Windows styructs less painful: it zeroes all
|
|
||||||
// the struct fields and also sets cbSize member to the correct value (and so
|
|
||||||
// can be only used with structures which have this member...)
|
|
||||||
template <class T>
|
|
||||||
struct WinStruct : public T
|
|
||||||
{
|
|
||||||
WinStruct()
|
|
||||||
{
|
|
||||||
::ZeroMemory(this, sizeof(T));
|
|
||||||
|
|
||||||
// explicit qualification is required here for this to be valid C++
|
|
||||||
this->cbSize = sizeof(T);
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
// create an instance of this class and use it as the HDC for screen, will
|
// create an instance of this class and use it as the HDC for screen, will
|
||||||
// automatically release the DC going out of scope
|
// automatically release the DC going out of scope
|
||||||
class ScreenHDC
|
class ScreenHDC
|
||||||
|
Reference in New Issue
Block a user