#endif
#endif
-#if wxUSE_PENWIN
- WXDLLEXPORT void wxRegisterPenWin();
- WXDLLEXPORT void wxCleanUpPenWin();
- WXDLLEXPORT void wxEnablePenAppHooks (bool hook);
-#endif // wxUSE_PENWIN
-
-#if wxUSE_ITSY_BITSY
- #define IBS_HORZCAPTION 0x4000L
- #define IBS_VERTCAPTION 0x8000L
-
- UINT WINAPI ibGetCaptionSize( HWND hWnd ) ;
- UINT WINAPI ibSetCaptionSize( HWND hWnd, UINT nSize ) ;
- LRESULT WINAPI ibDefWindowProc( HWND hWnd, UINT uiMsg, WPARAM wParam, LPARAM lParam ) ;
- VOID WINAPI ibAdjustWindowRect( HWND hWnd, LPRECT lprc ) ;
-#endif // wxUSE_ITSY_BITSY
-
/*
* Decide what window classes we're going to use
* for this combination of CTl3D/FAFA settings
DECLARE_NO_COPY_CLASS(HDCClipper)
};
+// smart buffeer using GlobalAlloc/GlobalFree()
+class GlobalPtr
+{
+public:
+ // allocates a block of given size
+ GlobalPtr(size_t size, unsigned flags = GMEM_MOVEABLE)
+ {
+ m_hGlobal = ::GlobalAlloc(flags, size);
+ if ( !m_hGlobal )
+ wxLogLastError(_T("GlobalAlloc"));
+ }
+
+ ~GlobalPtr()
+ {
+ if ( m_hGlobal && ::GlobalFree(m_hGlobal) )
+ wxLogLastError(_T("GlobalFree"));
+ }
+
+ // implicit conversion
+ operator HGLOBAL() const { return m_hGlobal; }
+
+private:
+ HGLOBAL m_hGlobal;
+
+ DECLARE_NO_COPY_CLASS(GlobalPtr)
+};
+
// when working with global pointers (which is unfortunately still necessary
// sometimes, e.g. for clipboard) it is important to unlock them exactly as
// many times as we lock them which just asks for using a "smart lock" class
wxSUNKEN_BORDER | wxDOUBLE_BORDER)) != 0;
}
-// Deferred window moving
-bool wxMoveWindowDeferred(HDWP& hdwp, wxWindowBase* win, HWND hWnd, int x, int y, int width, int height);
-
// ----------------------------------------------------------------------------
// functions mapping HWND to wxWindow
// ----------------------------------------------------------------------------