From 7e99520bd3fc092bbbcbc38bb699a0236618ea40 Mon Sep 17 00:00:00 2001 From: David Webster Date: Tue, 24 Oct 2000 21:48:58 +0000 Subject: [PATCH] OS/2 updates for statusbar processing and easier VA debugging git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@8633 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- src/os2/app.cpp | 49 +++++- src/os2/dataobj.cpp | 5 + src/os2/dc.cpp | 360 ++++++++++++++++++++++++++++++++++++++----- src/os2/dcclient.cpp | 75 ++++++--- src/os2/dcprint.cpp | 3 + src/os2/dnd.cpp | 3 + src/os2/font.cpp | 62 +++++++- src/os2/fontutil.cpp | 8 +- src/os2/frame.cpp | 51 +++++- src/os2/iniconf.cpp | 4 + src/os2/listbox.cpp | 4 + src/os2/mdi.cpp | 5 + src/os2/mimetype.cpp | 3 + src/os2/notebook.cpp | 5 + src/os2/ownerdrw.cpp | 3 + src/os2/print.cpp | 2 + src/os2/settings.cpp | 16 +- src/os2/spinbutt.cpp | 2 + src/os2/spinctrl.cpp | 4 + src/os2/wave.cpp | 6 +- src/os2/window.cpp | 62 +++++--- 21 files changed, 624 insertions(+), 108 deletions(-) diff --git a/src/os2/app.cpp b/src/os2/app.cpp index 70342ca40f..d918cd0d42 100644 --- a/src/os2/app.cpp +++ b/src/os2/app.cpp @@ -115,6 +115,28 @@ bool wxApp::Initialize( HAB vHab ) { +#if defined(wxUSE_CONSOLEDEBUG) + #if wxUSE_CONSOLEDEBUG +/***********************************************/ +/* Code for using stdout debug */ +/* To use it you mast link app as "Window" - EK*/ +/***********************************************/ + { + PPIB pib; + PTIB tib; + + printf("In console\n"); + + DosGetInfoBlocks(&tib, &pib); +/* Try morphing into a PM application. */ +// if(pib->pib_ultype == 2) /* VIO */ + pib->pib_ultype = 3; + } +/**********************************************/ +/**********************************************/ + #endif //wxUSE_CONSOLEDEBUG +#endif + // // OS2 has to have an anchorblock // @@ -169,6 +191,7 @@ bool wxApp::Initialize( return TRUE; } // end of wxApp::Initialize +const char* CANTREGISTERCLASS = " Can't register Class "; // --------------------------------------------------------------------------- // RegisterWindowClasses // --------------------------------------------------------------------------- @@ -402,6 +425,9 @@ void wxApp::CleanUp() #endif // wxUSE_LOG } // end of wxApp::CleanUp +//---------------------------------------------------------------------- +// Main wxWindows entry point +//---------------------------------------------------------------------- int wxEntry( int argc , char* argv[] @@ -460,7 +486,7 @@ int wxEntry( // nRetValue = -1; } } - +// Normal exit wxWindow* pTopWindow = wxTheApp->GetTopWindow(); if (pTopWindow) @@ -478,8 +504,24 @@ int wxEntry( wxTheApp->SetTopWindow(NULL); } } + else // app initialization failed + { + wxLogLastError(" Gui initialization failed, exitting"); + } +#if wxUSE_CONSOLEDEBUG + printf("wxTheApp->OnExit "); + fflush(stdout); +#endif wxTheApp->OnExit(); +#if wxUSE_CONSOLEDEBUG + printf("wxApp::CleanUp "); + fflush(stdout); +#endif wxApp::CleanUp(); +#if wxUSE_CONSOLEDEBUG + printf("return %i ", nRetValue); + fflush(stdout); +#endif return(nRetValue); } // end of wxEntry @@ -550,7 +592,6 @@ bool wxApp::DoMessage() { BOOL bRc = ::WinGetMsg(vHabmain, &svCurrentMsg, HWND(NULL), 0, 0); -// wxUsleep(1000); if (bRc == 0) { // got WM_QUIT @@ -749,13 +790,13 @@ bool wxApp::ProcessMessage( if((CHARMSG(pChmsg)->fs & (KC_ALT | KC_CTRL)) && CHARMSG(pChmsg)->chr != 0) CHARMSG(pChmsg)->chr = (USHORT)wxToupper((UCHAR)uSch); - + for(pWnd = pWndThis; pWnd; pWnd = pWnd->GetParent() ) { if((bRc = pWnd->OS2TranslateMessage(pWxmsg)) == TRUE) break; } - + if(!bRc) // untranslated, should restore original value CHARMSG(pChmsg)->chr = uSch; } diff --git a/src/os2/dataobj.cpp b/src/os2/dataobj.cpp index 98031a0a75..3763a035a1 100644 --- a/src/os2/dataobj.cpp +++ b/src/os2/dataobj.cpp @@ -313,6 +313,7 @@ bool wxBitmapDataObject::SetData( memcpy(m_pngData, pBuf, m_pngSize); +#if wxUSE_STREAMS wxMemoryInputStream vMstream((char*)m_pngData, m_pngSize); wxImage vImage; wxPNGHandler vHandler; @@ -323,6 +324,8 @@ bool wxBitmapDataObject::SetData( } m_bitmap = vImage.ConvertToBitmap(); +#endif //wxUSE_STREAMS + return m_bitmap.Ok(); } @@ -331,6 +334,7 @@ void wxBitmapDataObject::DoConvertToPng() if (!m_bitmap.Ok()) return; +#if wxUSE_STREAMS wxImage vImage(m_bitmap); wxPNGHandler vHandler; wxCountingOutputStream vCount; @@ -343,5 +347,6 @@ void wxBitmapDataObject::DoConvertToPng() wxMemoryOutputStream vMstream((char*) m_pngData, m_pngSize); vHandler.SaveFile(&vImage, vMstream ); +#endif } diff --git a/src/os2/dc.cpp b/src/os2/dc.cpp index 63a91c8b71..0f5740f398 100644 --- a/src/os2/dc.cpp +++ b/src/os2/dc.cpp @@ -54,6 +54,74 @@ static const int MM_METRIC = 10; // convert degrees to radians static inline double DegToRad(double deg) { return (deg * M_PI) / 180.0; } +int SetTextColor( + HPS hPS +, int nForegroundColour +) +{ + CHARBUNDLE vCbnd; + + vCbnd.lColor = nForegroundColour; + ::GpiSetAttrs( hPS // presentation-space handle + ,PRIM_CHAR // Char primitive. + ,CBB_COLOR // sets color. + ,0 // + ,&vCbnd // buffer for attributes. + ); + return 0; +} + +int QueryTextBkColor( + HPS hPS +) +{ + CHARBUNDLE vCbnd; + + ::GpiQueryAttrs(hPS // presentation-space handle + PRIM_CHAR // Char primitive. + CBB_BACK_COLOR // Background color. + &vCbnd // buffer for attributes. + return vCbnd.lBackColor; +} + + +int SetTextBkColor( + HPS hPS +, int nBackgroundColour +) +{ + CHARBUNDLE vCbnd; + int rc; + + rc = QueryTextBkColor(hPS); + + vCbnd.lBackColor = nBackgroundColour; + ::GpiSetAttrs(hPS, // presentation-space handle + PRIM_CHAR, // Char primitive. + CBB_BACK_COLOR, // sets color. + 0, + &vCbnd // buffer for attributes. + ); + return rc; +} + +int SetBkMode( + HPS hPS +, int nBackgroundMode +) +{ + if(nBackgroundMode == wxTRANSPARENT) + ::GpiSetBackMix( hPS + ,BM_LEAVEALONE + ); + else + // the background of the primitive takes over whatever is underneath. + ::GpiSetBackMix( hPS + ,BM_OVERPAINT + ); + return 0; +} + // =========================================================================== // implementation // =========================================================================== @@ -64,17 +132,20 @@ static inline double DegToRad(double deg) { return (deg * M_PI) / 180.0; } wxDC::wxDC(void) { - m_pCanvas = NULL; + m_pCanvas = NULL; - m_hOldBitmap = 0; - m_hOldPen = 0; - m_hOldBrush = 0; - m_hOldFont = 0; - m_hOldPalette = 0; + m_hOldBitmap = 0; + m_hOldPen = 0; + m_hOldBrush = 0; + m_hOldFont = 0; + m_hOldPalette = 0; - m_bOwnsDC = FALSE; - m_hDC = 0; - m_nDCCount = 0; + m_bOwnsDC = FALSE; + m_hDC = 0; + m_nDCCount = 0; + m_hOldPS = NULL; + m_hPS = NULL; + m_bIsPaintTime = FALSE;// True at Paint Time }; wxDC::~wxDC(void) @@ -214,9 +285,22 @@ void wxDC::DoCrossHair(wxCoord x, wxCoord y) // TODO } -void wxDC::DoDrawLine(wxCoord x1, wxCoord y1, wxCoord x2, wxCoord y2) +void wxDC::DoDrawLine( + wxCoord vX1 +, wxCoord vY1 +, wxCoord vX2 +, wxCoord vY2 +) { - // TODO + POINTL vPoint[2]; + + vPoint[0].x = vX1; + vPoint[0].y = vY1; + vPoint[1].x = vX2; + vPoint[1].y = vY2; + // ::GpiSetColor(m_hPS,CLR_RED); //DEbug + ::GpiMove(m_hPS, &vPoint[0]); + ::GpiLine(m_hPS, &vPoint[1]); } void wxDC::DoDrawArc( wxCoord x1, wxCoord y1 @@ -253,17 +337,51 @@ void wxDC::DoDrawLines( int n, wxPoint points[] // TODO } -void wxDC::DoDrawRectangle(wxCoord x, wxCoord y, wxCoord width, wxCoord height) +void wxDC::DoDrawRectangle( + wxCoord vS +, wxCoord vY +, wxCoord vWidth +, wxCoord vHeight +) { - // TODO + POINTL vPoint[2]; + + vPoint[0].x = vX; + vPoint[0].y = vY; + vPoint[1].x = vX + Width; + vPoint[1].y = vY - Height; //mustdie !!! ?? + + ::GpiMove(m_hPS, &vPoint[0]); + ::GpiBox( m_hPS // handle to a presentation space + ,DRO_OUTLINE // draw the box outline ? or ? + ,&vPoint[1] // address of the corner + ,0L // horizontal corner radius + ,0L // vertical corner radius + ); } -void wxDC::DoDrawRoundedRectangle( wxCoord x, wxCoord y - ,wxCoord width, wxCoord height - ,double radius - ) +void wxDC::DoDrawRoundedRectangle( + wxCoord vX +, wxCoord vY +, wxCoord vWidth +, wxCoord vHeight +, double dRadius +) { - // TODO + POINTL vPoint[2]; + + vPoint[0].x = vX; + vPoint[0].y = vY; + vPoint[1].x = vX + vWidth; + vPoint[1].y = vY + vHeight; //or -height aka mustdie !!! ?? + + ::GpiMove(m_hPS, &vPoint[0]); + ::GpiBox( m_hPS // handle to a presentation space + ,DRO_OUTLINE // draw the box outline ? or ? + ,&vPoint[1] // address of the corner + ,(LONG)radius // horizontal corner radius + ,(LONG)radius // vertical corner radius + ); } void wxDC::DoDrawEllipse(wxCoord x, wxCoord y, wxCoord width, wxCoord height) @@ -295,20 +413,93 @@ void wxDC::DoDrawBitmap( const wxBitmap &bmp // TODO } -void wxDC::DoDrawText(const wxString& text, wxCoord x, wxCoord y) +void wxDC::DoDrawText( + const wxString& rsText +, wxCoord vX +, wxCoord vY +) { - // TODO + DrawAnyText( rsText + ,vX + ,vY + ); } -void wxDC::DrawAnyText(const wxString& text, wxCoord x, wxCoord y) +void wxDC::DrawAnyText( + const wxString& rsText +, wxCoord vX +, wxCoord vY +) { - // TODO -} + int nOldBackground = 0; + POINTL vPtlStart; + LONG lHits; + + // + // prepare for drawing the text + // + + // + // Set text color attributes + // + if (m_textForegroundColour.Ok()) + { + SetTextColor( m_hPS + ,(int)m_textForegroundColour.GetPixel() + ); + } -void wxDC::DoDrawRotatedText(const wxString& text, - wxCoord x, wxCoord y, - double angle) + if (m_textBackgroundColour.Ok()) + { + nOldBackground = SetTextBkColor( m_hPS + ,(int)m_textBackgroundColour.GetPixel() + ); + } + SetBkMode( m_hPS + ,m_backgroundMode + ); + vPtlStart.x = vX; + vPtlStart.y = vY; + + lHits = ::GpiCharStringAt( m_hPS + ,&vPtlStart + ,rsText.length() + ,(PCH)rsText.c_str() + ); + if (lHits != GPI_OK) + { + wxLogLastError(wxT("TextOut")); + } + + // + // Restore the old parameters (text foreground colour may be left because + // it never is set to anything else, but background should remain + // transparent even if we just drew an opaque string) + // + if (m_textBackgroundColour.Ok()) + SetTextBkColor( m_hPS + ,nOldBackground + ); + SetBkMode( m_hPS + ,wxTRANSPARENT + ); +} + +void wxDC::DoDrawRotatedText( + const wxString& rsText +, wxCoord vX +, wxCoord vY +, double dAngle +) { + if (dAngle == 0.0) + { + DoDrawText( rsText + ,vX + ,vY + ); + } + // TODO: /* if ( angle == 0.0 ) @@ -405,10 +596,39 @@ void wxDC::SetFont( } } -void wxDC::SetPen(const wxPen& pen) +void wxDC::SetPen( + const wxPen& rPen +) { - // TODO + wxCHECK_RET( Ok(), wxT("invalid window dc") ); + + if (m_pen == rPen) + return; + m_pen = rPen; + if (!m_pen.Ok()) + return; + + int nWidth = m_pen.GetWidth(); + + if (nWidth <= 0) + { + nWidth = 1; + } + else + { + double dW = 0.5 + + ( fabs((double) XLOG2DEVREL(width)) + + fabs((double) YLOG2DEVREL(width)) + ) / 2.0; + nWidth = (int)dW; + } + wxColour vColor = m_pen.GetColour(); + + ::GpiSetColor( m_hPS + ,vColor.GetPixel() + ); //DEbug ?? } + void wxDC::SetBrush(const wxBrush& brush) { // TODO @@ -419,9 +639,11 @@ void wxDC::SetBackground(const wxBrush& brush) // TODO } -void wxDC::SetBackgroundMode(int mode) +void wxDC::SetBackgroundMode( + int nMode +) { - // TODO + m_backgroundMode = nMode; } void wxDC::SetLogicalFunction(int function) @@ -486,24 +708,78 @@ void wxDC::EndPage() wxCoord wxDC::GetCharHeight() const { // TODO - return(1); + return(8); } wxCoord wxDC::GetCharWidth() const { // TODO - return(1); -} + return(8); +} + +void wxDC::DoGetTextExtent( + const wxString& rsString +, wxCoord* pvX +, wxCoord* pvY +, wxCoord* pvDecent +, wxCoord* pvExternalLeading +, wxFont* pTheFont +) const +{ + POINTL avPoint[TXTBOX_COUNT]; + POINTL vPtMin; + POINTL vPtMax; + int i; + int l; + FONTMETRICS vFM; // metrics structure + BOOL bRc; + char* pStr; + ERRORID vErrorCode; // last error id code + wxFont* pFontToUse = (wxFont*)pTheFont; + + if (!pFontToUse) + pFontToUse = (wxFont*)&m_font; + l = rsString.length(); + pStr = (PCH) rsString.c_str(); -void wxDC::DoGetTextExtent( const wxString& string - ,wxCoord* x - ,wxCoord* y - ,wxCoord* decent - ,wxCoord* externalLeading - ,wxFont* theFont - ) const -{ - // TODO: + // + // In world coordinates. + // + bRc = ::GpiQueryTextBox( m_hPS + ,l + ,pStr + ,TXTBOX_COUNT // return maximum information + ,avPoint // array of coordinates points + ) + if(!bRc) + { + vErrorCode = ::WinGetLastError(wxGetInstance()); + } + + vPtMin.x = avPoint[0].x; + vPtMax.x = avPoint[0].x; + vPtMin.y = avPoint[0].y; + vPtMax.y = avPoint[0].y; + for (i = 1; i < 4; i++) + { + if(vPtMin.x > avPoint[i].x) vPtMin.x = avPoint[i].x; + if(vPtMin.y > avPoint[i].y) vPtMin.y = avPoint[i].y; + if(vPtMax.x < avPoint[i].x) vPtMax.x = avPoint[i].x; + if(vPtMax.y < avPoint[i].y) vPtMax.y = avPoint[i].y; + } + ::GpiQueryFontMetrics( m_hPS + ,sizeof(FONTMETRICS) + ,&vFM + ); + + if (pvX) + *pvX = (wxCoord)(vPtMax.x - vPtMin.x + 1); + if (pvY) + *pvY = (wxCoord)(vPtMax.y - vPtMin.y + 1); + if (pvDescent) + *pvDescent = vFM.lMaxDescender; + if (externalLeading) + *pvExternalLeading = vFM.lExternalLeading; } void wxDC::SetMapMode( int mode ) diff --git a/src/os2/dcclient.cpp b/src/os2/dcclient.cpp index cee1da7214..27ae79a395 100644 --- a/src/os2/dcclient.cpp +++ b/src/os2/dcclient.cpp @@ -117,8 +117,11 @@ wxWindowDC::~wxWindowDC() // They automatically close with the window, unless explicitly detached // but we need to destroy our PS // - ::GpiAssociate(m_hPS, NULLHANDLE); - ::GpiDestroyPS(m_hPS); + if(m_hPS) + { + ::GpiAssociate(m_hPS, NULLHANDLE); + ::GpiDestroyPS(m_hPS); + } m_hPS = NULLHANDLE; m_hDC = NULLHANDLE; } @@ -137,17 +140,27 @@ wxClientDC::wxClientDC() wxClientDC::wxClientDC(wxWindow *the_canvas) { - m_pCanvas = the_canvas; + SIZEL vSizl = { 0,0}; - // - // default under PM is that Window and Client DC's are the same - // - m_hDC = (WXHDC) ::WinOpenWindowDC(GetWinHwnd(the_canvas)); + m_pCanvas = the_canvas; - // - // Default mode is BM_LEAVEALONE so we make no call Set the mix - // - SetBackground(wxBrush(m_pCanvas->GetBackgroundColour(), wxSOLID)); + // + // default under PM is that Window and Client DC's are the same + // + m_hDC = (WXHDC) ::WinOpenWindowDC(GetWinHwnd(the_canvas)); + m_hPS = ::GpiCreatePS( wxGetInstance() + ,m_hDC + ,&sizl + ,PU_PELS | GPIF_LONG | GPIA_ASSOC + ); + + // + // Default mode is BM_LEAVEALONE so we make no call Set the mix + // + SetBackground(wxBrush( m_pCanvas->GetBackgroundColour() + ,wxSOLID + ) + ); } wxClientDC::~wxClientDC() @@ -191,31 +204,48 @@ wxPaintDC::wxPaintDC() m_hDC = 0; } -wxPaintDC::wxPaintDC(wxWindow *canvas) +wxPaintDC::wxPaintDC( + wxWindow* pCanvas +) { wxCHECK_RET( canvas, wxT("NULL canvas in wxPaintDC ctor") ); #ifdef __WXDEBUG__ - if ( g_isPainting <= 0 ) + if (g_isPainting <= 0) { wxFAIL_MSG( wxT("wxPaintDC may be created only in EVT_PAINT handler!") ); - return; } #endif // __WXDEBUG__ - m_pCanvas = canvas; + m_pCanvas = pCanvas; - // do we have a DC for this window in the cache? - wxPaintDCInfo *info = FindInCache(); - if ( info ) + // + // Do we have a DC for this window in the cache? + // + wxPaintDCInfo* pInfo = FindInCache(); + + if (pInfo) { - m_hDC = info->hdc; - info->count++; + m_hDC = pInfo->hdc; + pInfo->count++; } else // not in cache, create a new one { - m_hDC = (WXHDC)::WinBeginPaint(GetWinHwnd(m_pCanvas), NULLHANDLE, &g_paintStruct); + HPS hPS; + + hPS = ::WinBeginPaint( GetWinHwnd(m_pCanvas) + ,NULLHANDLE + ,&g_paintStruct + ); + if(hPS) + { + m_hOldPS = m_hPS; + m_hPS = hPS; + } + m_bIsPaintTime = TRUE; + m_hDC = (WXHDC) -1; // to satisfy those anonizmous efforts + m_vRclPaint = g_paintStruct; ms_cache.Add(new wxPaintDCInfo(m_pCanvas, this)); } SetBackground(wxBrush(m_pCanvas->GetBackgroundColour(), wxSOLID)); @@ -235,7 +265,8 @@ wxPaintDC::~wxPaintDC() if ( !--info->count ) { ::WinEndPaint(m_hPS); - + m_hPS = m_OldhPS; + m_bIsPaintTime = FALSE; ms_cache.Remove(index); } //else: cached DC entry is still in use diff --git a/src/os2/dcprint.cpp b/src/os2/dcprint.cpp index 7f9139ce16..81c60a30d4 100644 --- a/src/os2/dcprint.cpp +++ b/src/os2/dcprint.cpp @@ -27,6 +27,8 @@ #include "wx/dcprint.h" #include "math.h" +#if wxUSE_PRINTING_ARCHITECTURE + IMPLEMENT_CLASS(wxPrinterDC, wxDC) @@ -328,3 +330,4 @@ WXHDC WXDLLEXPORT wxGetPrinterDC(const wxPrintData& printDataConst) return (WXHDC) hDC; } +#endif //wxUSE_PRINTING_ARCHITECTURE diff --git a/src/os2/dnd.cpp b/src/os2/dnd.cpp index f8ed534d5d..70d916d652 100644 --- a/src/os2/dnd.cpp +++ b/src/os2/dnd.cpp @@ -21,6 +21,8 @@ #include "wx/gdicmn.h" #include "wx/dnd.h" +#if wxUSE_DRAG_AND_DROP + // ---------------------------------------------------------------------------- // global // ---------------------------------------------------------------------------- @@ -134,3 +136,4 @@ void wxDropSource::Init() // TODO }; +#endif //wxUSE_DRAG_AND_DROP diff --git a/src/os2/font.cpp b/src/os2/font.cpp index b443496b6a..19c715f7a2 100644 --- a/src/os2/font.cpp +++ b/src/os2/font.cpp @@ -8,6 +8,36 @@ // Copyright: (c) David Webster // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// +#define DEBUG_PRINTF(NAME) { static int raz=0; \ + printf( #NAME " %i\n",raz); fflush(stdout); \ + raz++; \ + } + + #include + #include + + int HeapCheck(void) + { + int rc; + + if (_HEAPOK != (rc = _heapchk())) + { + switch(rc) + { + case _HEAPEMPTY: + puts("The heap has not been initialized."); + break; + case _HEAPBADNODE: + puts("A memory node is corrupted or the heap is damaged."); + break; + case _HEAPBADBEGIN: + puts("The heap specified is not valid."); + break; + } + fflush(stdout); + } + return 0; + } // ============================================================================ // declarations @@ -17,6 +47,7 @@ // headers // ---------------------------------------------------------------------------- + #include // For compilers that support precompilation, includes "wx.h". #include "wx/wxprec.h" @@ -135,6 +166,7 @@ void wxFontRefData::Init(int pointSize, wxFontRefData::~wxFontRefData() { +DEBUG_PRINTF(wxFontRefData::~wxFontRefData!!!) // TODO: // if ( m_hFont ) // { @@ -151,6 +183,9 @@ wxFontRefData::~wxFontRefData() void wxFont::Init() { + +DEBUG_PRINTF(wxFontRefData::~wxFontRefData!!!) + if ( wxTheFontList ) wxTheFontList->Append(this); } @@ -167,6 +202,7 @@ bool wxFont::Create(int pointSize, wxFontEncoding encoding) { UnRef(); +DEBUG_PRINTF(wxFontRefData::~wxFontRefData!!!) m_refData = new wxFontRefData(pointSize, family, style, weight, underlined, faceName, encoding); @@ -177,8 +213,16 @@ bool wxFont::Create(int pointSize, wxFont::~wxFont() { + int l; + l = sizeof(*this); +HeapCheck(); + _heap_check(); + if ( wxTheFontList ) wxTheFontList->DeleteObject(this); +HeapCheck(); + _heap_check(); + } // ---------------------------------------------------------------------------- @@ -190,6 +234,7 @@ wxFont::~wxFont() bool wxFont::RealizeResource() { +DEBUG_PRINTF(wxFont::RealizeResource) if ( GetResourceHandle() ) { // VZ: the old code returned FALSE in this case, but it doesn't seem @@ -273,7 +318,7 @@ bool wxFont::RealizeResource() fName.usWeightClass = FWEIGHT_BOLD; break; } - + if( M_FONTDATA->m_underlined ) fAttrs.fsSelection |= FATTR_SEL_UNDERSCORE; @@ -339,13 +384,13 @@ bool wxFont::RealizeResource() break; } -// Now cheking +// Now cheking fLid = 1; hps = ::WinGetPS( HWND_DESKTOP ); long numLids = ::GpiQueryNumberSetIds( hps ); long gpiError; - + // First we should generate unique id if( numLids ) { @@ -358,7 +403,7 @@ bool wxFont::RealizeResource() ::WinReleasePS( hps ); return 0; } - + for(unsigned long LCNum = 0; LCNum < numLids; LCNum++) if(lIds[LCNum] == fLid) ++fLid; @@ -513,7 +558,14 @@ void wxFont::SetEncoding(wxFontEncoding encoding) int wxFont::GetPointSize() const { - return M_FONTDATA->m_pointSize; +DEBUG_PRINTF(wxFont::GetPointSize) + wxFontRefData* pTmp; + + pTmp = M_FONTDATA; + if(pTmp) + return pTmp->m_pointSize; + else + return 10; } int wxFont::GetFamily() const diff --git a/src/os2/fontutil.cpp b/src/os2/fontutil.cpp index a3444c5765..c5e987133b 100644 --- a/src/os2/fontutil.cpp +++ b/src/os2/fontutil.cpp @@ -8,6 +8,10 @@ // Copyright: (c) 1999 Vadim Zeitlin // Licence: wxWindows license /////////////////////////////////////////////////////////////////////////////// +#define DEBUG_PRINTF(NAME) { static int raz=0; \ + printf( #NAME " %i\n",raz); fflush(stdout); \ + raz++; \ + } // ============================================================================ // declarations @@ -85,7 +89,7 @@ bool wxNativeEncodingInfo::FromString(const wxString& s) wxString wxNativeEncodingInfo::ToString() const { wxString s; - + s << (long)encoding << _T(';') << facename; // TODO: what is this for OS/2? @@ -334,6 +338,8 @@ void wxFillLogFont(LOGFONT *logFont, const wxFont *font) wxFont wxCreateFontFromLogFont(const LOGFONT *logFont) { +DEBUG_PRINTF(wxCreateFontFromLogFont) + // extract family from pitch-and-family int lfFamily = logFont->lfPitchAndFamily; if ( lfFamily & FIXED_PITCH ) diff --git a/src/os2/frame.cpp b/src/os2/frame.cpp index 9de5fdf513..d1b66cd195 100644 --- a/src/os2/frame.cpp +++ b/src/os2/frame.cpp @@ -64,6 +64,7 @@ IMPLEMENT_DYNAMIC_CLASS(wxFrame, wxWindow) // ---------------------------------------------------------------------------- // static class members // ---------------------------------------------------------------------------- +#if wxUSE_STATUSBAR #if wxUSE_NATIVE_STATUSBAR bool wxFrame::m_bUseNativeStatusBar = TRUE; @@ -71,6 +72,8 @@ IMPLEMENT_DYNAMIC_CLASS(wxFrame, wxWindow) bool wxFrame::m_bUseNativeStatusBar = FALSE; #endif +#endif //wxUSE_STATUSBAR + // ---------------------------------------------------------------------------- // creation/destruction // ---------------------------------------------------------------------------- @@ -124,8 +127,13 @@ bool wxFrame::Create( SetName(rsName); m_windowStyle = lulStyle; m_frameMenuBar = NULL; +#if wxUSE_TOOLBAR m_frameToolBar = NULL; +#endif //wxUSE_TOOLBAR + +#if wxUSE_STATUSBAR m_frameStatusBar = NULL; +#endif //wxUSE_STATUSBAR SetBackgroundColour(wxSystemSettings::GetSystemColour(wxSYS_COLOUR_APPWORKSPACE)); @@ -487,12 +495,12 @@ wxStatusBar* wxFrame::OnCreateStatusBar( if( !pStatusBar ) return NULL; - // + // // to show statusbar // if( ::WinIsWindowShowing(GetHWND()) ) ::WinSendMsg(GetHWND(), WM_UPDATEFRAME, (MPARAM)~0, 0); - + return pStatusBar; } // end of wxFrame::OnCreateStatusBar @@ -674,6 +682,7 @@ void wxFrame::OnSysColourChanged( SetBackgroundColour(wxSystemSettings::GetSystemColour(wxSYS_COLOUR_APPWORKSPACE)); Refresh(); +#if wxUSE_STATUSBAR if (m_frameStatusBar) { wxSysColourChangedEvent vEvent2; @@ -681,6 +690,7 @@ void wxFrame::OnSysColourChanged( vEvent2.SetEventObject(m_frameStatusBar); m_frameStatusBar->GetEventHandler()->ProcessEvent(vEvent2); } +#endif //wxUSE_STATUSBAR // // Propagate the event to the non-top-level children @@ -702,16 +712,27 @@ bool wxFrame::ShowFullScreen( m_bFsIsShowing = TRUE; m_lFsStyle = lStyle; +#if wxUSE_TOOLBAR wxToolBar* pTheToolBar = GetToolBar(); +#endif //wxUSE_TOOLBAR + +#if wxUSE_STATUSBAR wxStatusBar* pTheStatusBar = GetStatusBar(); +#endif //wxUSE_STATUSBAR int nDummyWidth; +#if wxUSE_TOOLBAR if (pTheToolBar) pTheToolBar->GetSize(&nDummyWidth, &m_nFsToolBarHeight); +#endif //wxUSE_TOOLBAR + +#if wxUSE_STATUSBAR if (pTheStatusBar) pTheStatusBar->GetSize(&nDummyWidth, &m_nFsStatusBarHeight); +#endif //wxUSE_STATUSBAR +#if wxUSE_TOOLBAR // // Zap the toolbar, menubar, and statusbar // @@ -720,6 +741,7 @@ bool wxFrame::ShowFullScreen( pTheToolBar->SetSize(-1,0); pTheToolBar->Show(FALSE); } +#endif //wxUSE_TOOLBAR if (lStyle & wxFULLSCREEN_NOMENUBAR) { @@ -728,6 +750,7 @@ bool wxFrame::ShowFullScreen( ::WinSendMsg((HWND)GetHWND(), WM_UPDATEFRAME, (MPARAM)FCF_MENU, (MPARAM)0); } +#if wxUSE_STATUSBAR // // Save the number of fields in the statusbar // @@ -739,6 +762,7 @@ bool wxFrame::ShowFullScreen( } else m_nFsStatusBarFields = 0; +#endif //wxUSE_STATUSBAR // // Zap the frame borders @@ -819,6 +843,7 @@ bool wxFrame::ShowFullScreen( m_bFsIsShowing = FALSE; +#if wxUSE_TOOLBAR wxToolBar* pTheToolBar = GetToolBar(); // @@ -829,12 +854,15 @@ bool wxFrame::ShowFullScreen( pTheToolBar->SetSize(-1, m_nFsToolBarHeight); pTheToolBar->Show(TRUE); } +#endif //wxUSE_TOOLBAR +#if wxUSE_STATUSBAR if ((m_lFsStyle & wxFULLSCREEN_NOSTATUSBAR) && (m_nFsStatusBarFields > 0)) { CreateStatusBar(m_nFsStatusBarFields); // PositionStatusBar(); } +#endif //wxUSE_STATUSBAR if ((m_lFsStyle & wxFULLSCREEN_NOMENUBAR) && (m_hMenu != 0)) { @@ -977,7 +1005,7 @@ bool wxFrame::OS2Create( return FALSE; } - // + // // Now need to subclass window. // @@ -1058,6 +1086,7 @@ wxPoint wxFrame::GetClientAreaOrigin() const { wxPoint vPoint(0, 0); +#if wxUSE_TOOLBAR if (GetToolBar()) { int nWidth; @@ -1077,6 +1106,7 @@ wxPoint wxFrame::GetClientAreaOrigin() const vPoint.y += nHeight; } } +#endif //wxUSE_TOOLBAR return vPoint; } // end of wxFrame::GetClientAreaOrigin @@ -1199,8 +1229,12 @@ bool wxFrame::OS2TranslateMessage( if (!pMenuBar ) return FALSE; +#if wxUSE_ACCEL const wxAcceleratorTable& rAcceleratorTable = pMenuBar->GetAccelTable(); return rAcceleratorTable.Translate(GetHWND(), pMsg); +#else + return FALSE; +#endif //wxUSE_ACCEL } // end of wxFrame::OS2TranslateMessage // --------------------------------------------------------------------------- @@ -1334,7 +1368,10 @@ bool wxFrame::HandleSize( #endif // wxUSE_NATIVE_STATUSBAR // PositionStatusBar(); +#if wxUSE_TOOLBAR PositionToolBar(); +#endif // wxUSE_TOOLBAR + wxSizeEvent vEvent( wxSize( nX ,nY ) @@ -1534,8 +1571,11 @@ MRESULT wxFrame::OS2WindowProc( case WM_QUERYFRAMECTLCOUNT: { USHORT itemCount = SHORT1FROMMR(OS2GetOldWndProc()(GetHWND(), uMessage, wParam, lParam)); +#if wxUSE_STATUSBAR if(m_frameStatusBar) ++itemCount; +#endif //wxUSE_STATUSBAR + bProcessed = TRUE; mRc = MRFROMSHORT( itemCount ); } @@ -1556,12 +1596,13 @@ MRESULT wxFrame::OS2WindowProc( && usClient < itemCount) usClient++; +#if wxUSE_STATUSBAR if(m_frameStatusBar) { int height; m_frameStatusBar->GetSize(NULL, &height); - + if(usClient == itemCount) { // frame has no client window @@ -1601,6 +1642,8 @@ MRESULT wxFrame::OS2WindowProc( ++itemCount; } } +#endif //wxUSE_STATUSBAR + bProcessed = TRUE; mRc = MRFROMSHORT(itemCount); } diff --git a/src/os2/iniconf.cpp b/src/os2/iniconf.cpp index 68a8bab6ae..05bdb58dd6 100644 --- a/src/os2/iniconf.cpp +++ b/src/os2/iniconf.cpp @@ -21,7 +21,9 @@ #include #include + #include +#if wxUSE_CONFIG #include @@ -461,3 +463,5 @@ bool wxIniConfig::RenameGroup(const wxString& oldName, const wxString& newName) // Not implemented return FALSE; } + +#endif //wxUSE_CONFIG diff --git a/src/os2/listbox.cpp b/src/os2/listbox.cpp index 2ecb09a5eb..ec9bfbda11 100644 --- a/src/os2/listbox.cpp +++ b/src/os2/listbox.cpp @@ -30,6 +30,8 @@ #include "wx/dynarray.h" #include "wx/log.h" +#if wxUSE_LISTBOX + #if wxUSE_OWNER_DRAWN #include "wx/ownerdrw.h" #endif @@ -774,3 +776,5 @@ bool wxListBox::OS2OnDraw(WXDRAWITEMSTRUCT *item) } #endif // wxUSE_OWNER_DRAWN + +#endif //wxUSE_LISTBOX diff --git a/src/os2/mdi.cpp b/src/os2/mdi.cpp index 2c36bb8c0d..37b17ad018 100644 --- a/src/os2/mdi.cpp +++ b/src/os2/mdi.cpp @@ -996,7 +996,12 @@ MRESULT wxMDIChildFrame::OS2DefWindowProc(WXUINT message, WXWPARAM wParam, WXLPA bool wxMDIChildFrame::OS2TranslateMessage(WXMSG* msg) { +#if wxUSE_ACCEL return m_acceleratorTable.Translate(GetParent()->GetHWND(), msg); +#else + return FALSE; +#endif //wxUSE_ACCEL + } // --------------------------------------------------------------------------- diff --git a/src/os2/mimetype.cpp b/src/os2/mimetype.cpp index 623d4f0644..cd51d499dc 100644 --- a/src/os2/mimetype.cpp +++ b/src/os2/mimetype.cpp @@ -27,6 +27,8 @@ #include "wx/dynarray.h" #include "wx/confbase.h" +#if wxUSE_FILE + #include "wx/os2/mimetype.h" // other standard headers @@ -450,3 +452,4 @@ size_t wxMimeTypesManagerImpl::EnumAllFileTypes(wxArrayString& mimetypes) return 0; } +#endif //wxUSE_FILE diff --git a/src/os2/notebook.cpp b/src/os2/notebook.cpp index 82ebe9a138..e528e4ab3e 100644 --- a/src/os2/notebook.cpp +++ b/src/os2/notebook.cpp @@ -347,8 +347,11 @@ void wxNotebook::OnSize(wxSizeEvent& event) for ( unsigned int nPage = 0; nPage < nCount; nPage++ ) { wxNotebookPage *pPage = m_aPages[nPage]; pPage->SetSize(0, 0, w, h); +#if wxUSE_CONSTRAINTS if ( pPage->GetAutoLayout() ) pPage->Layout(); +#endif //wxUSE_CONSTRAINTS + } // Processing continues to next OnSize @@ -410,8 +413,10 @@ void wxNotebook::OnNavigationKey(wxNavigationKeyEvent& event) void wxNotebook::SetConstraintSizes(bool /* recurse */) { +#if wxUSE_CONSTRAINTS // don't set the sizes of the pages - their correct size is not yet known wxControl::SetConstraintSizes(FALSE); +#endif } bool wxNotebook::DoPhase(int /* nPhase */) diff --git a/src/os2/ownerdrw.cpp b/src/os2/ownerdrw.cpp index 86d4b6724f..1be1044bda 100644 --- a/src/os2/ownerdrw.cpp +++ b/src/os2/ownerdrw.cpp @@ -26,6 +26,8 @@ #include "wx/utils.h" #endif +#if wxUSE_OWNER_DRAWN + #include "wx/ownerdrw.h" #include "wx/menuitem.h" @@ -192,3 +194,4 @@ bool wxOwnerDrawn::OnDrawItem(wxDC& dc, const wxRect& rc, wxODAction act, wxODSt return TRUE; } +#endif //wxUSE_OWNER_DRAWN diff --git a/src/os2/print.cpp b/src/os2/print.cpp index ee078d057e..9073078b2b 100644 --- a/src/os2/print.cpp +++ b/src/os2/print.cpp @@ -19,6 +19,7 @@ #include "wx/app.h" #endif +#if wxUSE_PRINTING_ARCHITECTURE #include "wx/os2/print.h" #include "wx/generic/prntdlgg.h" @@ -94,3 +95,4 @@ void wxPrintPreview::DetermineScaling() // TODO } +#endif //wxUSE_PRINTING_ARCHITECTURE diff --git a/src/os2/settings.cpp b/src/os2/settings.cpp index c47c24d5c4..f7394528e1 100644 --- a/src/os2/settings.cpp +++ b/src/os2/settings.cpp @@ -44,7 +44,6 @@ wxColour wxSystemSettings::GetSystemColour( ,GetGValue(vRef) ,GetBValue(vRef) ); - return vCol; break; case wxSYS_COLOUR_WINDOWFRAME: @@ -56,7 +55,6 @@ wxColour wxSystemSettings::GetSystemColour( ,GetGValue(vRef) ,GetBValue(vRef) ); - return vCol; break; case wxSYS_COLOUR_MENUTEXT: @@ -79,7 +77,6 @@ wxColour wxSystemSettings::GetSystemColour( ,GetGValue(vRef) ,GetBValue(vRef) ); - return vCol; break; case wxSYS_COLOUR_BTNSHADOW: @@ -91,7 +88,6 @@ wxColour wxSystemSettings::GetSystemColour( ,GetGValue(vRef) ,GetBValue(vRef) ); - return vCol; break; case wxSYS_COLOUR_BTNHIGHLIGHT: @@ -103,7 +99,6 @@ wxColour wxSystemSettings::GetSystemColour( ,GetGValue(vRef) ,GetBValue(vRef) ); - return vCol; break; // @@ -118,7 +113,7 @@ wxColour wxSystemSettings::GetSystemColour( case wxSYS_COLOUR_INACTIVECAPTIONTEXT: case wxSYS_COLOUR_BTNTEXT: case wxSYS_COLOUR_INFOTEXT: - return(*wxBLACK); + vCol = (*wxBLACK); break; // @@ -128,7 +123,7 @@ wxColour wxSystemSettings::GetSystemColour( case wxSYS_COLOUR_ACTIVECAPTION: case wxSYS_COLOUR_ACTIVEBORDER: case wxSYS_COLOUR_HIGHLIGHT: - return(*wxBLUE); + vCol = (*wxBLUE); break; case wxSYS_COLOUR_SCROLLBAR: @@ -142,7 +137,7 @@ wxColour wxSystemSettings::GetSystemColour( case wxSYS_COLOUR_3DDKSHADOW: case wxSYS_COLOUR_3DLIGHT: case wxSYS_COLOUR_INFOBK: - return(*wxLIGHT_GREY); + vCol = (*wxLIGHT_GREY); break; default: @@ -154,7 +149,6 @@ wxColour wxSystemSettings::GetSystemColour( ,GetGValue(vRef) ,GetBValue(vRef) ); - return vCol; break; } return(vCol); @@ -187,8 +181,10 @@ wxFont wxSystemSettings::GetSystemFont(int index) break; } } + if(wxSWISS_FONT) + return *wxSWISS_FONT; - return *wxSWISS_FONT; + return wxNullFont; } // Get a system metric, e.g. scrollbar size diff --git a/src/os2/spinbutt.cpp b/src/os2/spinbutt.cpp index 9ad28c1b3a..99e5852636 100644 --- a/src/os2/spinbutt.cpp +++ b/src/os2/spinbutt.cpp @@ -21,6 +21,7 @@ #ifndef WX_PRECOMP #include "wx/wx.h" #endif +#if wxUSE_SPINBTN // Can't resolve reference to CreateUpDownControl in // TWIN32, but could probably use normal CreateWindow instead. @@ -159,3 +160,4 @@ bool wxSpinButton::OS2Command(WXUINT cmd, WXWORD id) return FALSE; } +#endif //wxUSE_SPINBTN diff --git a/src/os2/spinctrl.cpp b/src/os2/spinctrl.cpp index edfa2468f3..aa6b5bf2d8 100644 --- a/src/os2/spinctrl.cpp +++ b/src/os2/spinctrl.cpp @@ -31,6 +31,8 @@ #include "wx/wx.h" #endif +#if wxUSE_SPINBTN + #include "wx/spinctrl.h" #include "wx/os2/private.h" @@ -292,3 +294,5 @@ void wxSpinCtrl::DoMoveWindow(int x, int y, int width, int height) } */ } + +#endif //wxUSE_SPINBTN \ No newline at end of file diff --git a/src/os2/wave.cpp b/src/os2/wave.cpp index 4d4ac669f9..87320e0d63 100644 --- a/src/os2/wave.cpp +++ b/src/os2/wave.cpp @@ -23,7 +23,7 @@ #define INCL_DOSFILEMGR #define INCL_WIN #define INCL_GPI -#define INCL_PM +#define INCL_PM #include #include #include @@ -86,6 +86,7 @@ bool wxWave::Create(const wxString& fileName, bool isResource) else { m_isResource = FALSE; +#if wxUSE_FILE wxFile fileWave; if (!fileWave.Open(fileName, wxFile::read)) @@ -101,6 +102,9 @@ bool wxWave::Create(const wxString& fileName, bool isResource) fileWave.Read(m_waveData, m_waveLength); */ return TRUE; +#else + return FALSE; +#endif //wxUSE_FILE } } diff --git a/src/os2/window.cpp b/src/os2/window.cpp index 76ab3ba440..59c203cc17 100644 --- a/src/os2/window.cpp +++ b/src/os2/window.cpp @@ -37,6 +37,11 @@ #include #endif +#define DEBUG_PRINTF(NAME) { static int raz=0; \ + printf( #NAME " %i\n",raz); fflush(stdout); \ + raz++; \ + } + #if wxUSE_OWNER_DRAWN #include "wx/ownerdrw.h" #endif @@ -244,6 +249,9 @@ bool wxWindow::OS2Command( , WXWORD WXUNUSED(uId) ) { + +DEBUG_PRINTF(wxWindow::OS2Command); + return(FALSE); } @@ -293,6 +301,9 @@ void wxWindow::Init() m_lLastMouseY = -1; m_nLastMouseEvent = -1; #endif // wxUSE_MOUSEEVENT_HACK + +DEBUG_PRINTF(wxWindow::Init-End); + } // wxWindow::Init // @@ -300,6 +311,7 @@ void wxWindow::Init() // wxWindow::~wxWindow() { +DEBUG_PRINTF(wxWindow::~wxWindow-Start); m_isBeingDeleted = TRUE; OS2DetachWindowMenu(); @@ -318,6 +330,7 @@ wxWindow::~wxWindow() // wxRemoveHandleAssociation(this); } +DEBUG_PRINTF(wxWindow::~wxWindow-End); } // end of wxWindow::~wxWindow bool wxWindow::Create( @@ -500,6 +513,7 @@ bool wxWindow::SetFont( const wxFont& rFont ) { +DEBUG_PRINTF(wxWindow::SetFont); if (!wxWindowBase::SetFont(rFont)) { // nothing to do @@ -1505,6 +1519,8 @@ MRESULT wxWindow::OS2DefWindowProc( , WXLPARAM lParam ) { +DEBUG_PRINTF(wxWindow::OS2DefWindowProc); + if (m_fnOldWndProc) return (MRESULT)m_fnOldWndProc(GetHWND(), (ULONG)uMsg, (MPARAM)wParam, (MPARAM)lParam); else @@ -1517,6 +1533,8 @@ bool wxWindow::OS2ProcessMessage( { QMSG* pQMsg = (QMSG*)pMsg; +DEBUG_PRINTF(OS2ProcessMessage); + if (m_hWnd != 0 && (GetWindowStyleFlag() & wxTAB_TRAVERSAL)) { // @@ -1703,7 +1721,11 @@ bool wxWindow::OS2TranslateMessage( WXMSG* pMsg ) { - return m_acceleratorTable.Translate(m_hWnd, pMsg); +#if wxUSE_ACCEL + return m_acceleratorTable.Translate(m_hWnd, pMsg); +#else + return FALSE; +#endif //wxUSE_ACCEL } // end of wxWindow::OS2TranslateMessage // --------------------------------------------------------------------------- @@ -1789,6 +1811,7 @@ MRESULT EXPENTRY wxWndProc( // Trace all ulMsgs - useful for the debugging // #ifdef __WXDEBUG__ +DEBUG_PRINTF(__WXDEBUG__wxWndProc); wxLogTrace(wxTraceMessages, wxT("Processing %s(wParam=%8lx, lParam=%8lx)"), wxGetMessageName(ulMsg), wParam, lParam); #endif // __WXDEBUG__ @@ -1928,6 +1951,7 @@ MRESULT wxWindow::OS2WindowProc( break; case WM_PAINT: +DEBUG_PRINTF(WM_PAINT) bProcessed = HandlePaint(); break; @@ -1938,9 +1962,11 @@ MRESULT wxWindow::OS2WindowProc( // bProcessed = TRUE; mResult = (MRESULT)TRUE; +DEBUG_PRINTF(WM_CLOSE) break; case WM_SHOW: +DEBUG_PRINTF(WM_SHOW) bProcessed = HandleShow(wParam != 0, (int)lParam); break; @@ -1979,9 +2005,11 @@ MRESULT wxWindow::OS2WindowProc( { WORD id, cmd; WXHWND hwnd; +DEBUG_PRINTF(WM_COMMAND-in) UnpackCommand(wParam, lParam, &id, &hwnd, &cmd); bProcessed = HandleCommand(id, cmd, hwnd); +DEBUG_PRINTF(WM_COMMAND-out) } break; @@ -2828,12 +2856,21 @@ bool wxWindow::HandlePaint() wxLogLastError("CreateRectRgn"); return FALSE; } + // + // Debug code + // +#ifdef __WXDEBUG__ + { + HWND hWnd + HWND hWnd0 = NULLHANDLE; + + hWnd = GetHwnd(); + if(hWnd != hWnd0) + printf("HandlePaint hWnd=%x ",hWnd); + } +#endif + m_updateRegion = wxRegion(hRgn); -/* - hPS = WinBeginPaint(GetHWND(), 0L, &vRect); - WinFillRect(hPS, &vRect, SYSCLR_WINDOW); - WinEndPaint(hPS); -*/ vEvent.SetEventObject(this); return (GetEventHandler()->ProcessEvent(vEvent)); } // end of wxWindow::HandlePaint @@ -3982,7 +4019,6 @@ wxWindow* wxFindWindowAtPointer(wxPoint& pt) wxWindow* wxFindWindowAtPoint(const wxPoint& pt) { -#if 0 POINT pt2; pt2.x = pt.x; pt2.y = pt.y; @@ -3998,18 +4034,6 @@ wxWindow* wxFindWindowAtPoint(const wxPoint& pt) win = wxFindWinFromHandle((WXHWND) hWnd) ; } return win; -#endif - return (wxWindow*)NULL; } -// Get the current mouse position. -wxPoint wxGetMousePosition() -{ -#if 0 - POINT pt; - GetCursorPos( & pt ); - return wxPoint(pt.x, pt.y); -#endif - return wxPoint(0,0); -} -- 2.45.2