WXDLLEXPORT_DATA(extern HFONT) wxSTATUS_LINE_FONT;
// ---------------------------------------------------------------------------
-// this defines a CASTWNDPROC macro which casts a pointer to the type of a
-// window proc
+// define things missing from some compilers' headers
// ---------------------------------------------------------------------------
+#if defined(__GNUWIN32__) && !defined(wxUSE_NORLANDER_HEADERS)
+#ifndef ZeroMemory
+ inline void ZeroMemory(void *buf, size_t len) { memset(buf, 0, len); }
+#endif
+#endif // old mingw32
+
+// this defines a CASTWNDPROC macro which casts a pointer to the type of a
+// window proc
#if defined(__GNUWIN32__) && !defined(wxUSE_NORLANDER_HEADERS)
# define CASTWNDPROC (long unsigned)
#else
#endif
// ---------------------------------------------------------------------------
-// debug messages
+// useful macros and functions
// ---------------------------------------------------------------------------
-#if defined(__WIN95__) && defined(__WXDEBUG__) && wxUSE_DBWIN32
- #ifndef __TWIN32__
- #ifdef OutputDebugString
- #undef OutputDebugString
- #endif
+// a wrapper macro for ZeroMemory()
+#ifdef __WIN32__
+#define wxZeroMemory(obj) ::ZeroMemory(&obj, sizeof(obj))
+#else
+#define wxZeroMemory(obj) memset((void*) & obj, 0, sizeof(obj))
+#endif
+
+#include <wx/gdicmn.h>
- #define OutputDebugString OutputDebugStringW95
- #endif // __TWIN32__
+// make conversion from wxColour and COLORREF a bit less painful
+inline COLORREF wxColourToRGB(const wxColour& c)
+{
+ return RGB(c.Red(), c.Green(), c.Blue());
+}
- extern void OutputDebugStringW95(const wxChar*, ...);
-#endif // USE_DBWIN32
+inline void wxRGBToColour(wxColour& c, COLORREF rgb)
+{
+ c.Set(GetRValue(rgb), GetGValue(rgb), GetBValue(rgb));
+}
// ---------------------------------------------------------------------------
// macros to make casting between WXFOO and FOO a bit easier: the GetFoo()
#define GetHdc() ((HDC)GetHDC())
#define GetHdcOf(dc) ((HDC)(dc).GetHDC())
+#define GetHbitmap() ((HBITMAP)GetHBITMAP())
+#define GetHbitmapOf(bmp) ((HBITMAP)(bmp).GetHBITMAP())
+
#define GetHicon() ((HICON)GetHICON())
#define GetHiconOf(icon) ((HICON)(icon).GetHICON())
WXDLLEXPORT wxWindow* wxFindWinFromHandle(WXHWND hWnd);
WXDLLEXPORT void wxGetCharSize(WXHWND wnd, int *x, int *y,wxFont *the_font);
-WXDLLEXPORT void wxFillLogFont(LOGFONT *logFont, wxFont *font);
-WXDLLEXPORT wxFont wxCreateFontFromLogFont(LOGFONT *logFont);
+WXDLLEXPORT void wxFillLogFont(LOGFONT *logFont, const wxFont *font);
+WXDLLEXPORT wxFont wxCreateFontFromLogFont(const LOGFONT *logFont);
WXDLLEXPORT void wxSliderEvent(WXHWND control, WXWORD wParam, WXWORD pos);
WXDLLEXPORT void wxScrollBarEvent(WXHWND hbar, WXWORD wParam, WXWORD pos);