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:
Vadim Zeitlin 2005-09-24 23:08:53 +00:00
parent 976abb72fc
commit d1e4a8182e

View File

@ -192,6 +192,22 @@ protected:
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
#include <wx/gdicmn.h>
@ -342,22 +358,6 @@ inline RECT wxGetClientRect(HWND hwnd)
// 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
// automatically release the DC going out of scope
class ScreenHDC