X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/5571f3d3d715f5914d42892de071a61830a2197d..ce51dc7507f31a6baadb8709ac4b807cd2dad421:/src/msw/window.cpp diff --git a/src/msw/window.cpp b/src/msw/window.cpp index 7dec91edbc..7f48e64a46 100644 --- a/src/msw/window.cpp +++ b/src/msw/window.cpp @@ -170,15 +170,25 @@ static bool gs_hasStdCmap = FALSE; // --------------------------------------------------------------------------- // the window proc for all our windows +#ifdef __DIGITALMARS__ +extern "C" LRESULT WXDLLEXPORT APIENTRY _EXPORT wxWndProc(HWND hWnd, UINT message, + WPARAM wParam, LPARAM lParam); +#else LRESULT WXDLLEXPORT APIENTRY _EXPORT wxWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam); +#endif + #ifdef __WXDEBUG__ const char *wxGetMessageName(int message); #endif //__WXDEBUG__ void wxRemoveHandleAssociation(wxWindowMSW *win); -void wxAssociateWinWithHandle(HWND hWnd, wxWindowMSW *win); +#ifdef __DIGITALMARS__ +extern "C" void wxAssociateWinWithHandle(HWND hWnd, wxWindowMSW *win); +#else +extern void wxAssociateWinWithHandle(HWND hWnd, wxWindowMSW *win); +#endif wxWindow *wxFindWinFromHandle(WXHWND hWnd); // this magical function is used to translate VK_APPS key presses to right @@ -1479,10 +1489,12 @@ void wxWindowMSW::Update() // drag and drop // --------------------------------------------------------------------------- -#if wxUSE_DRAG_AND_DROP +//FIXME __DIGITALMARS__ does not honor drag drop in setup.h +#if wxUSE_DRAG_AND_DROP void wxWindowMSW::SetDropTarget(wxDropTarget *pDropTarget) { +#ifndef __DIGITALMARS__ if ( m_dropTarget != 0 ) { m_dropTarget->Revoke(m_hWnd); delete m_dropTarget; @@ -1491,17 +1503,19 @@ void wxWindowMSW::SetDropTarget(wxDropTarget *pDropTarget) m_dropTarget = pDropTarget; if ( m_dropTarget != 0 ) m_dropTarget->Register(m_hWnd); +#endif // __DIGITALMARS__ } - #endif // wxUSE_DRAG_AND_DROP // old style file-manager drag&drop support: we retain the old-style // DragAcceptFiles in parallel with SetDropTarget. void wxWindowMSW::DragAcceptFiles(bool accept) { +#ifndef __DIGITALMARS__ HWND hWnd = GetHwnd(); if ( hWnd ) ::DragAcceptFiles(hWnd, (BOOL)accept); +#endif } // ---------------------------------------------------------------------------- @@ -1932,7 +1946,11 @@ bool wxWindowMSW::DoPopupMenu(wxMenu *menu, int x, int y) long wxWindowMSW::MSWDefWindowProc(WXUINT nMsg, WXWPARAM wParam, WXLPARAM lParam) { if ( m_oldWndProc ) +#ifdef __DIGITALMARS__ + return ::CallWindowProc( (FARPROC) m_oldWndProc, GetHwnd(), (UINT) nMsg, (WPARAM) wParam, (LPARAM) lParam); +#else return ::CallWindowProc(CASTWNDPROC m_oldWndProc, GetHwnd(), (UINT) nMsg, (WPARAM) wParam, (LPARAM) lParam); +#endif else return ::DefWindowProc(GetHwnd(), nMsg, wParam, lParam); } @@ -3302,6 +3320,7 @@ bool wxWindowMSW::HandleDestroy() // delete our drop target if we've got one #if wxUSE_DRAG_AND_DROP +#ifndef __DIGITALMARS__ if ( m_dropTarget != NULL ) { m_dropTarget->Revoke(m_hWnd); @@ -3309,6 +3328,7 @@ bool wxWindowMSW::HandleDestroy() delete m_dropTarget; m_dropTarget = NULL; } +#endif //#ifndef __DIGITALMARS__ #endif // wxUSE_DRAG_AND_DROP // WM_DESTROY handled @@ -3422,7 +3442,10 @@ bool wxWindowMSW::HandleInitDialog(WXHWND WXUNUSED(hWndFocus)) bool wxWindowMSW::HandleDropFiles(WXWPARAM wParam) { -#ifndef __WXMICROWIN__ +//FIX ME __DIGITALMARS__ +#if defined (__WXMICROWIN__) || defined (__DIGITALMARS__) + return FALSE; +#else // __WXMICROWIN__ HDROP hFilesInfo = (HDROP) wParam; // Get the total number of files dropped @@ -3457,11 +3480,13 @@ bool wxWindowMSW::HandleDropFiles(WXWPARAM wParam) event.m_pos.y = dropPoint.y; return GetEventHandler()->ProcessEvent(event); -#else // __WXMICROWIN__ - return FALSE; #endif } +#ifdef __DIGITALMARS__ +extern "C" HCURSOR wxGetCurrentBusyCursor(); +#endif + bool wxWindowMSW::HandleSetCursor(WXHWND WXUNUSED(hWnd), short nHitTest, int WXUNUSED(mouseMsg))