DC updates and an associated .Def file update

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@9727 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
David Webster 2001-04-11 18:05:27 +00:00
parent ac7fb818cc
commit e1a688e45e
6 changed files with 274 additions and 246 deletions

View File

@ -143,16 +143,42 @@ wxDC::wxDC(void)
m_bOwnsDC = FALSE; m_bOwnsDC = FALSE;
m_hDC = 0; m_hDC = 0;
m_nDCCount = 0;
m_hOldPS = NULL; m_hOldPS = NULL;
m_hPS = NULL; m_hPS = NULL;
m_bIsPaintTime = FALSE; // True at Paint Time m_bIsPaintTime = FALSE; // True at Paint Time
m_brush.GetColour().Set("WHITE"); m_brush.GetColour().Set("WHITE");
} } // end of wxDC::wxDC
wxDC::~wxDC(void) wxDC::~wxDC(void)
{ {
} if ( m_hDC != 0 )
{
SelectOldObjects(m_hDC);
// if we own the HDC, we delete it, otherwise we just release it
if (m_bOwnsDC)
{
if(m_hPS)
{
::GpiAssociate(m_hPS, NULLHANDLE);
::GpiDestroyPS(m_hPS);
}
m_hPS = NULLHANDLE;
::DevCloseDC((HDC)m_hDC);
}
else
{
//
// Just Dissacociate, not destroy if we don't own the DC
//
if(m_hPS)
{
::GpiAssociate(m_hPS, NULLHANDLE);
}
}
}
} // end of wxDC::~wxDC
// This will select current objects out of the DC, // This will select current objects out of the DC,
// which is what you have to do before deleting the // which is what you have to do before deleting the
@ -187,7 +213,7 @@ void wxDC::SelectOldObjects(
m_font = wxNullFont; m_font = wxNullFont;
m_backgroundBrush = wxNullBrush; m_backgroundBrush = wxNullBrush;
m_vSelectedBitmap = wxNullBitmap; m_vSelectedBitmap = wxNullBitmap;
} } // end of wxDC::SelectOldObjects
// --------------------------------------------------------------------------- // ---------------------------------------------------------------------------
// clipping // clipping

View File

@ -96,21 +96,24 @@ wxWindowDC::wxWindowDC(
m_pCanvas = pTheCanvas; m_pCanvas = pTheCanvas;
m_hDC = (WXHDC) ::WinOpenWindowDC(GetWinHwnd(pTheCanvas) ); m_hDC = (WXHDC) ::WinOpenWindowDC(GetWinHwnd(pTheCanvas) );
m_nDCCount++;
// //
// default under PM is that Window and Client DC's are the same // default under PM is that Window and Client DC's are the same
// so we offer a separate Presentation Space to use for the // so we offer a separate Presentation Space to use for the
// entire window. Otherwise, calling BeginPaint will just create // entire window. Otherwise, calling BeginPaint will just create
// chached-micro client presentation space // chached-micro client presentation space
// //
m_hPS = GpiCreatePS( m_hab m_hPS = ::GpiCreatePS( vHabmain
,m_hDC ,m_hDC
,&m_PageSize ,&m_PageSize
,PU_PELS | GPIF_LONG | GPIA_ASSOC ,PU_PELS | GPIF_LONG | GPIA_ASSOC
); );
::GpiAssociate(m_hPS, NULLHANDLE); ::GpiAssociate(m_hPS, NULLHANDLE);
::GpiAssociate(m_hPS, m_hDC); ::GpiAssociate(m_hPS, m_hDC);
//
// Set the wxWindows color table // Set the wxWindows color table
//
if (!::GpiCreateLogColorTable( m_hPS if (!::GpiCreateLogColorTable( m_hPS
,0L ,0L
,LCOLF_CONSECRGB ,LCOLF_CONSECRGB
@ -130,33 +133,25 @@ wxWindowDC::wxWindowDC(
,0L ,0L
,NULL ,NULL
); );
SetBackground(wxBrush(m_pCanvas->GetBackgroundColour(), wxSOLID));
::WinQueryWindowRect( GetWinHwnd(m_pCanvas) ::WinQueryWindowRect( GetWinHwnd(m_pCanvas)
,&m_vRclPaint ,&m_vRclPaint
); );
} InitDC();
} // end of wxWindowDC::wxWindowDC
wxWindowDC::~wxWindowDC() void wxWindowDC::InitDC()
{ {
if (m_pCanvas && m_hDC) //
{ // The background mode is only used for text background and is set in
SelectOldObjects(m_hDC); // DrawText() to OPAQUE as required, otherwise always TRANSPARENT,
//
::GpiSetBackMix(GetHPS(), BM_LEAVEALONE);
// //
// In PM one does not explicitly close or release an open WindowDC // Default bg colour is pne of the window
// They automatically close with the window, unless explicitly detached //
// but we need to destroy our PS SetBackground(wxBrush(m_pCanvas->GetBackgroundColour(), wxSOLID));
// } // end of wxWindowDC::InitDC
if(m_hPS)
{
::GpiAssociate(m_hPS, NULLHANDLE);
::GpiDestroyPS(m_hPS);
}
m_hPS = NULLHANDLE;
m_hDC = NULLHANDLE;
}
m_nDCCount--;
}
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------
// wxClientDC // wxClientDC
@ -208,54 +203,18 @@ wxClientDC::wxClientDC(
,NULL ,NULL
); );
// //
// Default mode is BM_LEAVEALONE so we make no call Set the mix
//
SetBackground(wxBrush( m_pCanvas->GetBackgroundColour()
,wxSOLID
)
);
//
// Set the DC/PS rectangle // Set the DC/PS rectangle
// //
::WinQueryWindowRect( GetWinHwnd(m_pCanvas) ::WinQueryWindowRect( GetWinHwnd(m_pCanvas)
,&m_vRclPaint ,&m_vRclPaint
); );
InitDC();
} // end of wxClientDC::wxClientDC } // end of wxClientDC::wxClientDC
wxClientDC::~wxClientDC()
{
if ( m_pCanvas && GetHdc() )
{
SelectOldObjects(m_hDC);
//
// We don't explicitly release Device contexts in PM and
// the cached micro PS is already gone
//
m_hDC = 0;
}
} // end of wxClientDC::~wxClientDC
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------
// wxPaintDC // wxPaintDC
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------
// VZ: initial implementation (by JACS) only remembered the last wxPaintDC
// created and tried to reuse - this was supposed to take care of a
// situation when a derived class OnPaint() calls base class OnPaint()
// because in this case ::BeginPaint() shouldn't be called second time.
//
// I'm not sure how useful this is, however we must remember the HWND
// associated with the last HDC as well - otherwise we may (and will!) try
// to reuse the HDC for another HWND which is a nice recipe for disaster.
//
// So we store a list of windows for which we already have the DC and not
// just one single hDC. This seems to work, but I'm really not sure about
// the usefullness of the whole idea - IMHO it's much better to not call
// base class OnPaint() at all, or, if we really want to allow it, add a
// "wxPaintDC *" parameter to wxPaintEvent which should be used if it's
// !NULL instead of creating a new DC.
wxArrayDCInfo wxPaintDC::ms_cache; wxArrayDCInfo wxPaintDC::ms_cache;
wxPaintDC::wxPaintDC() wxPaintDC::wxPaintDC()
@ -269,7 +228,6 @@ wxPaintDC::wxPaintDC(
) )
{ {
wxCHECK_RET(pCanvas, wxT("NULL canvas in wxPaintDC ctor")); wxCHECK_RET(pCanvas, wxT("NULL canvas in wxPaintDC ctor"));
RECTL vRect;
#ifdef __WXDEBUG__ #ifdef __WXDEBUG__
if (g_isPainting <= 0) if (g_isPainting <= 0)
@ -301,10 +259,6 @@ wxPaintDC::wxPaintDC(
); );
if(hPS) if(hPS)
{ {
POINTL vPoint[2];
LONG lControl;
LONG lColor;
m_hOldPS = m_hPS; m_hOldPS = m_hPS;
m_hPS = hPS; m_hPS = hPS;
::GpiCreateLogColorTable( m_hPS ::GpiCreateLogColorTable( m_hPS
@ -332,8 +286,8 @@ wxPaintDC::wxPaintDC(
m_hDC = (WXHDC) -1; // to satisfy those anonizmous efforts m_hDC = (WXHDC) -1; // to satisfy those anonizmous efforts
ms_cache.Add(new wxPaintDCInfo(m_pCanvas, this)); ms_cache.Add(new wxPaintDCInfo(m_pCanvas, this));
} }
SetBackground(wxBrush(m_pCanvas->GetBackgroundColour(), wxSOLID)); InitDC();
} } // end of wxPaintDC::wxPaintDC
wxPaintDC::~wxPaintDC() wxPaintDC::~wxPaintDC()
{ {
@ -380,3 +334,22 @@ wxPaintDCInfo* wxPaintDC::FindInCache(
return pInfo; return pInfo;
} // end of wxPaintDC::FindInCache } // end of wxPaintDC::FindInCache
// find the entry for this DC in the cache (keyed by the window)
WXHDC wxPaintDC::FindDCInCache(
wxWindow* pWin
)
{
wxPaintDCInfo* pInfo = NULL;
size_t nCache = ms_cache.GetCount();
for (size_t n = 0; n < nCache; n++)
{
pInfo = &ms_cache[n];
if (pInfo->m_hWnd == pWin->GetHWND())
{
return pInfo->m_hDC;
}
}
return 0;
} // end of wxPaintDC::FindInCache

View File

@ -28,8 +28,37 @@ IMPLEMENT_DYNAMIC_CLASS(wxMemoryDC, wxDC)
wxMemoryDC::wxMemoryDC(void) wxMemoryDC::wxMemoryDC(void)
{ {
ERRORID vError; CreateCompatible(NULL);
wxString sError; Init();
} // end of wxMemoryDC::wxMemoryDC
wxMemoryDC::wxMemoryDC(
wxDC* pOldDC
)
{
pOldDC->BeginDrawing();
CreateCompatible(pOldDC);
pOldDC->EndDrawing();
Init();
} // end of wxMemoryDC::wxMemoryDC
void wxMemoryDC::Init()
{
if (m_ok)
{
SetBrush(*wxWHITE_BRUSH);
SetPen(*wxBLACK_PEN);
// the background mode is only used for text background and is set in
// DrawText() to OPAQUE as required, otherwise always TRANSPARENT
::GpiSetBackMix( GetHPS(), BM_LEAVEALONE );
}
} // end of wxMemoryDC::Init
bool wxMemoryDC::CreateCompatible(
wxDC* pDC
)
{
HDC hDC; HDC hDC;
HPS hPS; HPS hPS;
DEVOPENSTRUC vDOP = {0L, "DISPLAY", NULL, 0L, 0L, 0L, 0L, 0L, 0L}; DEVOPENSTRUC vDOP = {0L, "DISPLAY", NULL, 0L, 0L, 0L, 0L, 0L, 0L};
@ -48,35 +77,23 @@ wxMemoryDC::wxMemoryDC(void)
m_hDC = hDC; m_hDC = hDC;
m_ok = TRUE; m_ok = TRUE;
m_bOwnsDC = TRUE; m_bOwnsDC = TRUE;
SetBrush(*wxWHITE_BRUSH);
SetPen(*wxBLACK_PEN);
if (!::GpiCreateLogColorTable( m_hPS
,0L
,LCOLF_CONSECRGB
,0L
,(LONG)wxTheColourDatabase->m_nSize
,(PLONG)wxTheColourDatabase->m_palTable
))
{
vError = ::WinGetLastError(vHabmain);
sError = wxPMErrorToStr(vError);
wxLogError("Unable to set current color table. Error: %s\n", sError);
}
// //
// Set the color table to RGB mode // Set the wxWindows color table
// //
if (!::GpiCreateLogColorTable( m_hPS ::GpiCreateLogColorTable( m_hPS
,0L ,0L
,LCOLF_RGB ,LCOLF_CONSECRGB
,0L ,0L
,0L ,(LONG)wxTheColourDatabase->m_nSize
,NULL ,(PLONG)wxTheColourDatabase->m_palTable
)) );
{ ::GpiCreateLogColorTable( m_hPS
vError = ::WinGetLastError(vHabmain); ,0L
sError = wxPMErrorToStr(vError); ,LCOLF_RGB
wxLogError("Unable to set current color table. Error: %s\n", sError); ,0L
} ,0L
,NULL
);
} }
else else
{ {
@ -93,63 +110,14 @@ wxMemoryDC::wxMemoryDC(void)
m_ok = FALSE; m_ok = FALSE;
m_bOwnsDC = FALSE; m_bOwnsDC = FALSE;
} }
} // end of wxMemoryDC::wxMemoryDC
wxMemoryDC::wxMemoryDC(
wxDC* pOldDC
)
{
HDC hDC;
HPS hPS;
DEVOPENSTRUC vDOP = {0L, "DISPLAY", NULL, 0L, 0L, 0L, 0L, 0L, 0L};
SIZEL vSize = {0, 0};
pOldDC->BeginDrawing();
// //
// Create a memory device context // As we created the DC, we must delete it in the dtor
// //
hDC = ::DevOpenDC(vHabmain, OD_MEMORY, "*", 5L, (PDEVOPENDATA)&vDOP, GetHdcOf(*pOldDC)); m_bOwnsDC = TRUE;
if (hDC != DEV_ERROR) m_ok = m_hDC != 0;
{ return m_ok;
hPS = ::GpiCreatePS(vHabmain, hDC, &vSize, PU_PELS | GPIT_MICRO | GPIA_ASSOC); } // end of wxMemoryDC::CreateCompatible
if (hPS != GPI_ERROR)
{
m_hPS = hPS;
m_hDC = hDC;
m_ok = TRUE;
m_bOwnsDC = TRUE;
pOldDC->EndDrawing();
SetBrush(*wxWHITE_BRUSH);
SetPen(*wxBLACK_PEN);
}
else
{
pOldDC->EndDrawing();
m_hPS = NULLHANDLE;
m_hDC = NULLHANDLE;
m_ok = FALSE;
m_bOwnsDC = FALSE;
}
}
else
{
pOldDC->EndDrawing();
m_hPS = NULLHANDLE;
m_hDC = NULLHANDLE;
m_ok = FALSE;
m_bOwnsDC = FALSE;
}
} // end of wxMemoryDC::wxMemoryDC
wxMemoryDC::~wxMemoryDC()
{
m_vSelectedBitmap.SetSelectedInto(NULL);
if (m_hPS != NULLHANDLE)
::GpiDestroyPS(m_hPS);
if (m_hDC != NULLHANDLE)
::DevCloseDC(m_hDC);
} // end of wxMemoryDC::~wxMemoryDC
void wxMemoryDC::SelectObject( void wxMemoryDC::SelectObject(
const wxBitmap& rBitmap const wxBitmap& rBitmap
@ -211,4 +179,12 @@ void wxMemoryDC::DoGetSize(
*pHeight = m_vSelectedBitmap.GetHeight(); *pHeight = m_vSelectedBitmap.GetHeight();
} // end of wxMemoryDC::DoGetSize } // end of wxMemoryDC::DoGetSize
void wxMemoryDC::DoDrawRectangle(
wxCoord vX
, wxCoord vY
, wxCoord vWidth
, wxCoord vHeight
)
{
wxDC::DoDrawRectangle(vX, vY, vWidth, vHeight);
} // end of wxMemoryDC::DoDrawRectangle

View File

@ -33,25 +33,30 @@ IMPLEMENT_CLASS(wxPrinterDC, wxDC)
// This form is deprecated // This form is deprecated
wxPrinterDC::wxPrinterDC(const wxString& driver_name, const wxString& device_name, const wxString& file, bool interactive, int orientation) wxPrinterDC::wxPrinterDC(
const wxString& rsDriverName
, const wxString& rsDeviceName
, const wxString& rsFile
, bool bInteractive
, int nOrientation
)
{ {
LONG lType = 0; LONG lType = 0;
HAB hab = 0; DEVOPENSTRUC vDevOpen = { (char*)rsDeviceName.c_str()
DEVOPENSTRUC devOpen = { (char*)device_name.c_str() ,(char*)rsDriverName.c_str()
,(char*)driver_name.c_str() ,NULL
,NULL ,NULL
,NULL ,NULL
,NULL ,NULL
,NULL ,NULL
,NULL ,NULL
,NULL ,NULL
,NULL };
};
m_isInteractive = interactive; m_isInteractive = bInteractive;
if (!file.IsNull() && file != wxT("")) if (!rsFile.IsNull() && rsFile != wxT(""))
m_printData.SetFilename(file); m_printData.SetFilename(rsFile);
/* /*
Implement PM's version of this Implement PM's version of this
@ -88,24 +93,25 @@ wxPrinterDC::wxPrinterDC(const wxString& driver_name, const wxString& device_nam
else else
#endif #endif
*/ */
if ((!driver_name.IsNull() && driver_name != wxT("")) && if ((!rsDriverName.IsNull() && rsDriverName != wxT("")) &&
(!device_name.IsNull() && device_name != wxT("")) && (!rsDeviceName.IsNull() && rsDeviceName != wxT("")) &&
(!file.IsNull() && file != wxT(""))) (!rsFile.IsNull() && rsFile != wxT("")))
{ {
m_hDC = (WXHDC) ::DevOpenDC( hab m_hDC = (WXHDC) ::DevOpenDC( vHabmain
,OD_QUEUED ,OD_QUEUED
,"*" ,"*"
,5L ,5L
,(PDEVOPENDATA)&devOpen ,(PDEVOPENDATA)&vDevOpen
,NULLHANDLE ,NULLHANDLE
); );
m_ok = m_hDC ? TRUE: FALSE; m_ok = m_hDC ? TRUE: FALSE;
} }
else else
{ {
wxPrintData printData; wxPrintData vPrintData;
printData.SetOrientation(orientation);
m_hDC = wxGetPrinterDC(printData); vPrintData.SetOrientation(nOrientation);
m_hDC = wxGetPrinterDC(vPrintData);
m_ok = m_hDC ? TRUE: FALSE; m_ok = m_hDC ? TRUE: FALSE;
} }
@ -117,46 +123,51 @@ wxPrinterDC::wxPrinterDC(const wxString& driver_name, const wxString& device_nam
} }
SetBrush(*wxBLACK_BRUSH); SetBrush(*wxBLACK_BRUSH);
SetPen(*wxBLACK_PEN); SetPen(*wxBLACK_PEN);
} } // end of wxPrinterDC::wxPrinterDC
wxPrinterDC::wxPrinterDC(const wxPrintData& printData) wxPrinterDC::wxPrinterDC(
const wxPrintData& rPrintData
)
{ {
m_printData = printData; m_printData = rPrintData;
m_isInteractive = FALSE; m_isInteractive = FALSE;
m_hDC = wxGetPrinterDC(rPrintData);
m_hDC = wxGetPrinterDC(printData);
m_ok = (m_hDC != 0); m_ok = (m_hDC != 0);
if (m_hDC) if (m_hDC)
SetMapMode(wxMM_TEXT); SetMapMode(wxMM_TEXT);
SetBrush(*wxBLACK_BRUSH); SetBrush(*wxBLACK_BRUSH);
SetPen(*wxBLACK_PEN); SetPen(*wxBLACK_PEN);
} } // end of wxPrinterDC::wxPrinterDC
wxPrinterDC::wxPrinterDC(
wxPrinterDC::wxPrinterDC(WXHDC theDC) WXHDC hTheDC
)
{ {
m_isInteractive = FALSE; m_isInteractive = FALSE;
m_hDC = hTheDC;
m_hDC = theDC;
m_ok = TRUE; m_ok = TRUE;
if (m_hDC) if (m_hDC)
{ {
// int width = GetDeviceCaps(m_hDC, VERTRES);
// int height = GetDeviceCaps(m_hDC, HORZRES);
SetMapMode(wxMM_TEXT); SetMapMode(wxMM_TEXT);
} }
SetBrush(*wxBLACK_BRUSH); SetBrush(*wxBLACK_BRUSH);
SetPen(*wxBLACK_PEN); SetPen(*wxBLACK_PEN);
} } // end of wxPrinterDC::wxPrinterDC
wxPrinterDC::~wxPrinterDC(void) void wxPrinterDC::Init()
{ {
} if (m_hDC)
{
SetMapMode(wxMM_TEXT);
bool wxPrinterDC::StartDoc(const wxString& message) SetBrush(*wxBLACK_BRUSH);
SetPen(*wxBLACK_PEN);
}
} // end of wxPrinterDC::Init
bool wxPrinterDC::StartDoc(
const wxString& rsMessage
)
{ {
/* TODO: PM's implementation /* TODO: PM's implementation
DOCINFO docinfo; DOCINFO docinfo;
@ -203,29 +214,32 @@ bool wxPrinterDC::StartDoc(const wxString& message)
return (ret > 0); return (ret > 0);
*/ */
return(TRUE); return(TRUE);
} } // end of wxPrinterDC::StartDoc
void wxPrinterDC::EndDoc(void) void wxPrinterDC::EndDoc()
{ {
// if (m_hDC) ::EndDoc((HDC) m_hDC); // if (m_hDC) ::EndDoc((HDC) m_hDC);
} } // end of wxPrinterDC::EndDoc
void wxPrinterDC::StartPage(void) void wxPrinterDC::StartPage()
{ {
// if (m_hDC) // if (m_hDC)
// ::StartPage((HDC) m_hDC); // ::StartPage((HDC) m_hDC);
} } // end of wxPrinterDC::StartPage
void wxPrinterDC::EndPage(void) void wxPrinterDC::EndPage()
{ {
// if (m_hDC) // if (m_hDC)
// ::EndPage((HDC) m_hDC); // ::EndPage((HDC) m_hDC);
} } // end of wxPrinterDC::EndPage
// Returns default device and port names // Returns default device and port names
static bool wxGetDefaultDeviceName(wxString& deviceName, wxString& portName) static bool wxGetDefaultDeviceName(
wxString& rsDeviceName
, wxString& rsPortName
)
{ {
deviceName = ""; rsDeviceName = "";
/* /*
LPDEVNAMES lpDevNames; LPDEVNAMES lpDevNames;
LPSTR lpszDriverName; LPSTR lpszDriverName;
@ -279,10 +293,12 @@ static bool wxGetDefaultDeviceName(wxString& deviceName, wxString& portName)
return ( deviceName != wxT("") ); return ( deviceName != wxT("") );
*/ */
return(TRUE); return(TRUE);
} } // end of wxGetDefaultDeviceName
// Gets an HDC for the specified printer configuration // Gets an HDC for the specified printer configuration
WXHDC WXDLLEXPORT wxGetPrinterDC(const wxPrintData& printDataConst) WXHDC WXDLLEXPORT wxGetPrinterDC(
const wxPrintData& rPrintDataConst
)
{ {
HDC hDC = NULLHANDLE; HDC hDC = NULLHANDLE;
/* /*
@ -328,6 +344,42 @@ WXHDC WXDLLEXPORT wxGetPrinterDC(const wxPrintData& printDataConst)
GlobalUnlock(hDevMode); GlobalUnlock(hDevMode);
*/ */
return (WXHDC) hDC; return (WXHDC) hDC;
} } // end of wxGetPrinterDC
void wxPrinterDC::DoDrawBitmap(
const wxBitmap& rBmp
, wxCoord vX
, wxCoord vY
, bool bUseMask
)
{
wxCHECK_RET( rBmp.Ok(), _T("invalid bitmap in wxPrinterDC::DrawBitmap") );
int nWidth = rBmp.GetWidth();
int nHeight = rBmp.GetHeight();
// TODO:
} // end of wxPrinterDC::DoDrawBitmap
bool wxPrinterDC::DoBlit(
wxCoord vXdest
, wxCoord vYdest
, wxCoord vWidth
, wxCoord vHeight
, wxDC* pSource
, wxCoord vXsrc
, wxCoord vYsrc
, int nRop
, bool bUseMask
)
{
bool bSuccess = TRUE;
// TODO:
return bSuccess;
} // end of wxPrintDC::DoBlit
#endif //wxUSE_PRINTING_ARCHITECTURE #endif //wxUSE_PRINTING_ARCHITECTURE

View File

@ -35,11 +35,9 @@ IMPLEMENT_DYNAMIC_CLASS(wxScreenDC, wxWindowDC)
// Create a DC representing the whole screen // Create a DC representing the whole screen
wxScreenDC::wxScreenDC() wxScreenDC::wxScreenDC()
{ {
// TODO m_hDC = ::WinOpenWindowDC(HWND_DESKTOP);
} m_hPS = ::WinGetScreenPS(HWND_DESKTOP);
::GpiSetBackMix(m_hPS, BM_LEAVEALONE);
} // end of wxScreenDC::wxScreenDC()
wxScreenDC::~wxScreenDC()
{
// TODO
}

View File

@ -201,10 +201,10 @@ EXPORTS
__ct__12wxColourDataFRC12wxColourData __ct__12wxColourDataFRC12wxColourData
;wxPrintData::operator=(const wxPrintSetupData&) ;wxPrintData::operator=(const wxPrintSetupData&)
__as__11wxPrintDataFRC16wxPrintSetupData __as__11wxPrintDataFRC16wxPrintSetupData
;wxConstructorForwxPrintDialogData()
wxConstructorForwxPrintDialogData__Fv
;wxPrintData::~wxPrintData() ;wxPrintData::~wxPrintData()
__dt__11wxPrintDataFv __dt__11wxPrintDataFv
;wxConstructorForwxPrintDialogData()
wxConstructorForwxPrintDialogData__Fv
;wxPageSetupDialogData::wxPageSetupDialogData() ;wxPageSetupDialogData::wxPageSetupDialogData()
__ct__21wxPageSetupDialogDataFv __ct__21wxPageSetupDialogDataFv
;wxPrintDialogData::wxPrintDialogData() ;wxPrintDialogData::wxPrintDialogData()
@ -6804,16 +6804,12 @@ EXPORTS
ExtractWildcard__16wxGenericDirCtrlFRC8wxStringiR8wxStringT3 ExtractWildcard__16wxGenericDirCtrlFRC8wxStringiR8wxStringT3
;From object file: ..\generic\dragimgg.cpp ;From object file: ..\generic\dragimgg.cpp
;PUBDEFs (Symbols available from object file): ;PUBDEFs (Symbols available from object file):
;wxGenericDragImage::Create(const wxBitmap&,const wxCursor&,const wxPoint&)
Create__18wxGenericDragImageFRC8wxBitmapRC8wxCursorRC7wxPoint
;wxGenericDragImage::Move(const wxPoint&)
Move__18wxGenericDragImageFRC7wxPoint
;wxGenericDragImage::BeginDrag(const wxPoint&,wxWindow*,unsigned long,wxRect*) ;wxGenericDragImage::BeginDrag(const wxPoint&,wxWindow*,unsigned long,wxRect*)
BeginDrag__18wxGenericDragImageFRC7wxPointP8wxWindowUlP6wxRect BeginDrag__18wxGenericDragImageFRC7wxPointP8wxWindowUlP6wxRect
;wxGenericDragImage::Move(const wxPoint&)
Move__18wxGenericDragImageFRC7wxPoint
;wxGenericDragImage::~wxGenericDragImage() ;wxGenericDragImage::~wxGenericDragImage()
__dt__18wxGenericDragImageFv __dt__18wxGenericDragImageFv
;wxGenericDragImage::Create(const wxIcon&,const wxCursor&,const wxPoint&)
Create__18wxGenericDragImageFRC6wxIconRC8wxCursorRC7wxPoint
;wxGenericDragImage::BeginDrag(const wxPoint&,wxWindow*,wxWindow*) ;wxGenericDragImage::BeginDrag(const wxPoint&,wxWindow*,wxWindow*)
BeginDrag__18wxGenericDragImageFRC7wxPointP8wxWindowT2 BeginDrag__18wxGenericDragImageFRC7wxPointP8wxWindowT2
;wxGenericDragImage::Show() ;wxGenericDragImage::Show()
@ -6823,28 +6819,32 @@ EXPORTS
;wxGenericDragImage::Create(const wxTreeCtrl&,wxTreeItemId&) ;wxGenericDragImage::Create(const wxTreeCtrl&,wxTreeItemId&)
Create__18wxGenericDragImageFRC10wxTreeCtrlR12wxTreeItemId Create__18wxGenericDragImageFRC10wxTreeCtrlR12wxTreeItemId
__vft18wxGenericDragImage8wxObject __vft18wxGenericDragImage8wxObject
;wxGenericDragImage::Create(const wxCursor&)
Create__18wxGenericDragImageFRC8wxCursor
;wxConstructorForwxGenericDragImage() ;wxConstructorForwxGenericDragImage()
wxConstructorForwxGenericDragImage__Fv wxConstructorForwxGenericDragImage__Fv
;wxGenericDragImage::RedrawImage(const wxPoint&,const wxPoint&,unsigned long,unsigned long) ;wxGenericDragImage::RedrawImage(const wxPoint&,const wxPoint&,unsigned long,unsigned long)
RedrawImage__18wxGenericDragImageFRC7wxPointT1UlT3 RedrawImage__18wxGenericDragImageFRC7wxPointT1UlT3
;wxGenericDragImage::Create(const wxString&,const wxCursor&,const wxPoint&)
Create__18wxGenericDragImageFRC8wxStringRC8wxCursorRC7wxPoint
;wxGenericDragImage::GetImageRect(const wxPoint&) const ;wxGenericDragImage::GetImageRect(const wxPoint&) const
GetImageRect__18wxGenericDragImageCFRC7wxPoint GetImageRect__18wxGenericDragImageCFRC7wxPoint
;wxGenericDragImage::Init() ;wxGenericDragImage::Init()
Init__18wxGenericDragImageFv Init__18wxGenericDragImageFv
;wxGenericDragImage::EndDrag() ;wxGenericDragImage::EndDrag()
EndDrag__18wxGenericDragImageFv EndDrag__18wxGenericDragImageFv
;wxGenericDragImage::Create(const wxString&,const wxCursor&)
Create__18wxGenericDragImageFRC8wxStringRC8wxCursor
;wxGenericDragImage::Create(const wxBitmap&,const wxCursor&)
Create__18wxGenericDragImageFRC8wxBitmapRC8wxCursor
;wxGenericDragImage::UpdateBackingFromWindow(wxDC&,wxMemoryDC&,const wxRect&,const wxRect&) const ;wxGenericDragImage::UpdateBackingFromWindow(wxDC&,wxMemoryDC&,const wxRect&,const wxRect&) const
UpdateBackingFromWindow__18wxGenericDragImageCFR4wxDCR10wxMemoryDCRC6wxRectT3 UpdateBackingFromWindow__18wxGenericDragImageCFR4wxDCR10wxMemoryDCRC6wxRectT3
;wxGenericDragImage::Create(const wxCursor&,const wxPoint&)
Create__18wxGenericDragImageFRC8wxCursorRC7wxPoint
;wxGenericDragImage::DoDrawImage(wxDC&,const wxPoint&) const
DoDrawImage__18wxGenericDragImageCFR4wxDCRC7wxPoint
;wxGenericDragImage::Create(const wxListCtrl&,long) ;wxGenericDragImage::Create(const wxListCtrl&,long)
Create__18wxGenericDragImageFRC10wxListCtrll Create__18wxGenericDragImageFRC10wxListCtrll
;wxGenericDragImage::DoDrawImage(wxDC&,const wxPoint&) const
DoDrawImage__18wxGenericDragImageCFR4wxDCRC7wxPoint
;wxGenericDragImage::sm_classwxGenericDragImage ;wxGenericDragImage::sm_classwxGenericDragImage
sm_classwxGenericDragImage__18wxGenericDragImage sm_classwxGenericDragImage__18wxGenericDragImage
;wxGenericDragImage::Create(const wxIcon&,const wxCursor&)
Create__18wxGenericDragImageFRC6wxIconRC8wxCursor
;From object file: ..\generic\fontdlgg.cpp ;From object file: ..\generic\fontdlgg.cpp
;PUBDEFs (Symbols available from object file): ;PUBDEFs (Symbols available from object file):
;wxGenericFontDialog::OnCloseWindow(wxCloseEvent&) ;wxGenericFontDialog::OnCloseWindow(wxCloseEvent&)
@ -11037,6 +11037,8 @@ EXPORTS
;PUBDEFs (Symbols available from object file): ;PUBDEFs (Symbols available from object file):
;wxConstructorForwxPaintDC() ;wxConstructorForwxPaintDC()
wxConstructorForwxPaintDC__Fv wxConstructorForwxPaintDC__Fv
;wxWindowDC::InitDC()
InitDC__10wxWindowDCFv
;wxArrayDCInfo::DoCopy(const wxArrayDCInfo&) ;wxArrayDCInfo::DoCopy(const wxArrayDCInfo&)
DoCopy__13wxArrayDCInfoFRC13wxArrayDCInfo DoCopy__13wxArrayDCInfoFRC13wxArrayDCInfo
;wxArrayDCInfo::Add(const wxPaintDCInfo&) ;wxArrayDCInfo::Add(const wxPaintDCInfo&)
@ -11047,7 +11049,8 @@ EXPORTS
__as__13wxArrayDCInfoFRC13wxArrayDCInfo __as__13wxArrayDCInfoFRC13wxArrayDCInfo
;wxClientDC::wxClientDC(wxWindow*) ;wxClientDC::wxClientDC(wxWindow*)
__ct__10wxClientDCFP8wxWindow __ct__10wxClientDCFP8wxWindow
__vft10wxWindowDC8wxObject ;wxPaintDC::FindDCInCache(wxWindow*)
FindDCInCache__9wxPaintDCFP8wxWindow
;wxArrayDCInfo::Insert(const wxPaintDCInfo&,unsigned int) ;wxArrayDCInfo::Insert(const wxPaintDCInfo&,unsigned int)
Insert__13wxArrayDCInfoFRC13wxPaintDCInfoUi Insert__13wxArrayDCInfoFRC13wxPaintDCInfoUi
;wxConstructorForwxWindowDC() ;wxConstructorForwxWindowDC()
@ -11066,15 +11069,10 @@ EXPORTS
FindInCache__9wxPaintDCCFPUi FindInCache__9wxPaintDCCFPUi
;wxArrayDCInfo::DoEmpty() ;wxArrayDCInfo::DoEmpty()
DoEmpty__13wxArrayDCInfoFv DoEmpty__13wxArrayDCInfoFv
;wxWindowDC::~wxWindowDC()
__dt__10wxWindowDCFv
;wxClientDC::~wxClientDC()
__dt__10wxClientDCFv
;wxClientDC::sm_classwxClientDC ;wxClientDC::sm_classwxClientDC
sm_classwxClientDC__10wxClientDC sm_classwxClientDC__10wxClientDC
;wxPaintDC::sm_classwxPaintDC ;wxPaintDC::sm_classwxPaintDC
sm_classwxPaintDC__9wxPaintDC sm_classwxPaintDC__9wxPaintDC
__vft10wxClientDC8wxObject
__vft9wxPaintDC8wxObject __vft9wxPaintDC8wxObject
;wxArrayDCInfo::~wxArrayDCInfo() ;wxArrayDCInfo::~wxArrayDCInfo()
__dt__13wxArrayDCInfoFv __dt__13wxArrayDCInfoFv
@ -11096,24 +11094,30 @@ EXPORTS
;wxMemoryDC::SelectObject(const wxBitmap&) ;wxMemoryDC::SelectObject(const wxBitmap&)
SelectObject__10wxMemoryDCFRC8wxBitmap SelectObject__10wxMemoryDCFRC8wxBitmap
__vft10wxMemoryDC8wxObject __vft10wxMemoryDC8wxObject
;wxMemoryDC::Init()
Init__10wxMemoryDCFv
;wxMemoryDC::DoGetSize(int*,int*) const ;wxMemoryDC::DoGetSize(int*,int*) const
DoGetSize__10wxMemoryDCCFPiT1 DoGetSize__10wxMemoryDCCFPiT1
;wxMemoryDC::wxMemoryDC(wxDC*) ;wxMemoryDC::wxMemoryDC(wxDC*)
__ct__10wxMemoryDCFP4wxDC __ct__10wxMemoryDCFP4wxDC
;wxMemoryDC::DoDrawRectangle(int,int,int,int)
DoDrawRectangle__10wxMemoryDCFiN31
;wxMemoryDC::wxMemoryDC() ;wxMemoryDC::wxMemoryDC()
__ct__10wxMemoryDCFv __ct__10wxMemoryDCFv
;wxMemoryDC::sm_classwxMemoryDC ;wxMemoryDC::sm_classwxMemoryDC
sm_classwxMemoryDC__10wxMemoryDC sm_classwxMemoryDC__10wxMemoryDC
;wxConstructorForwxMemoryDC() ;wxConstructorForwxMemoryDC()
wxConstructorForwxMemoryDC__Fv wxConstructorForwxMemoryDC__Fv
;wxMemoryDC::~wxMemoryDC() ;wxMemoryDC::CreateCompatible(wxDC*)
__dt__10wxMemoryDCFv CreateCompatible__10wxMemoryDCFP4wxDC
;From object file: ..\os2\dcprint.cpp ;From object file: ..\os2\dcprint.cpp
;PUBDEFs (Symbols available from object file): ;PUBDEFs (Symbols available from object file):
;wxPrinterDC::EndDoc() ;wxPrinterDC::EndDoc()
EndDoc__11wxPrinterDCFv EndDoc__11wxPrinterDCFv
;wxPrinterDC::EndPage() ;wxPrinterDC::EndPage()
EndPage__11wxPrinterDCFv EndPage__11wxPrinterDCFv
;wxPrinterDC::DoBlit(int,int,int,int,wxDC*,int,int,int,unsigned long)
DoBlit__11wxPrinterDCFiN31P4wxDCN31Ul
;wxGetPrinterDC(const wxPrintData&) ;wxGetPrinterDC(const wxPrintData&)
wxGetPrinterDC__FRC11wxPrintData wxGetPrinterDC__FRC11wxPrintData
;wxPrinterDC::sm_classwxPrinterDC ;wxPrinterDC::sm_classwxPrinterDC
@ -11127,17 +11131,16 @@ EXPORTS
StartPage__11wxPrinterDCFv StartPage__11wxPrinterDCFv
;wxPrinterDC::StartDoc(const wxString&) ;wxPrinterDC::StartDoc(const wxString&)
StartDoc__11wxPrinterDCFRC8wxString StartDoc__11wxPrinterDCFRC8wxString
;wxPrinterDC::DoDrawBitmap(const wxBitmap&,int,int,unsigned long)
DoDrawBitmap__11wxPrinterDCFRC8wxBitmapiT2Ul
;wxPrinterDC::wxPrinterDC(const wxPrintData&) ;wxPrinterDC::wxPrinterDC(const wxPrintData&)
__ct__11wxPrinterDCFRC11wxPrintData __ct__11wxPrinterDCFRC11wxPrintData
;wxPrinterDC::~wxPrinterDC() ;wxPrinterDC::Init()
__dt__11wxPrinterDCFv Init__11wxPrinterDCFv
;From object file: ..\os2\dcscreen.cpp ;From object file: ..\os2\dcscreen.cpp
;PUBDEFs (Symbols available from object file): ;PUBDEFs (Symbols available from object file):
;wxScreenDC::~wxScreenDC()
__dt__10wxScreenDCFv
;wxConstructorForwxScreenDC() ;wxConstructorForwxScreenDC()
wxConstructorForwxScreenDC__Fv wxConstructorForwxScreenDC__Fv
__vft10wxScreenDC8wxObject
;wxScreenDC::sm_classwxScreenDC ;wxScreenDC::sm_classwxScreenDC
sm_classwxScreenDC__10wxScreenDC sm_classwxScreenDC__10wxScreenDC
;wxScreenDC::wxScreenDC() ;wxScreenDC::wxScreenDC()