}
else // not in cache, create a new one
{
- SIZEL vSizl = { 0,0};
HPS hPS;
- HRGN hRgn;
- memset(&g_paintStruct, '\0', sizeof(RECTL));
- if (!::WinQueryUpdateRect(GetWinHwnd(m_pCanvas), &g_paintStruct))
- {
- wxLogLastError("CreateRectRgn");
-// return;
- }
- m_hDC = (WXHDC) ::WinOpenWindowDC(GetWinHwnd(m_pCanvas));
- m_hPS = ::GpiCreatePS( wxGetInstance()
- ,m_hDC
- ,&vSizl
- ,PU_PELS | GPIF_LONG | GPIA_ASSOC
- );
-
- // Set the wxWindows color table
- ::GpiCreateLogColorTable( m_hPS
- ,0L
- ,LCOLF_CONSECRGB
- ,0L
- ,(LONG)wxTheColourDatabase->m_nSize
- ,(PLONG)wxTheColourDatabase->m_palTable
- );
- ::GpiCreateLogColorTable( m_hPS
- ,0L
- ,LCOLF_RGB
- ,0L
- ,0L
- ,NULL
- );
-
-#if 0
hPS = ::WinBeginPaint( GetWinHwnd(m_pCanvas)
,NULLHANDLE
,&g_paintStruct
);
if(hPS)
{
+ POINTL vPoint[2];
+ LONG lControl;
+ LONG lColor;
+
m_hOldPS = m_hPS;
m_hPS = hPS;
::GpiCreateLogColorTable( m_hPS
,0L
,NULL
);
+
+ ::WinFillRect(hPS, &g_paintStruct, m_pCanvas->GetBackgroundColour().GetPixel());
+ ::WinQueryWindowRect( GetWinHwnd(m_pCanvas)
+ ,&m_vRclPaint
+ );
}
-#endif
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));