- ERRORID vError;
- wxString sError;
- HDC hDC;
- HPS hPS;
- DEVOPENSTRUC vDOP = {0L, "DISPLAY", NULL, 0L, 0L, 0L, 0L, 0L, 0L};
- SIZEL vSize = {0, 0};
-
- //
- // Create a memory device context
- //
- hDC = ::DevOpenDC(vHabmain, OD_MEMORY, "*", 5L, (PDEVOPENDATA)&vDOP, NULLHANDLE);
- if (hDC != DEV_ERROR)
- {
- hPS = ::GpiCreatePS(vHabmain, hDC, &vSize, PU_PELS | GPIT_MICRO | GPIA_ASSOC);
- if (hPS != GPI_ERROR)
- {
- m_hPS = hPS;
- m_hDC = hDC;
- m_ok = 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
- //
- if (!::GpiCreateLogColorTable( m_hPS
- ,0L
- ,LCOLF_RGB
- ,0L
- ,0L
- ,NULL
- ))
- {
- vError = ::WinGetLastError(vHabmain);
- sError = wxPMErrorToStr(vError);
- wxLogError("Unable to set current color table. Error: %s\n", sError);
- }
- }
- else
- {
- m_hPS = NULLHANDLE;
- m_hDC = NULLHANDLE;
- m_ok = FALSE;
- m_bOwnsDC = FALSE;
- }
- }
- else
- {
- m_hPS = NULLHANDLE;
- m_hDC = NULLHANDLE;
- m_ok = FALSE;
- m_bOwnsDC = FALSE;
- }