void CZWnd::OnPaint() {
	CPaintDC dc( this ); // device context for painting
	//if (!wglMakeCurrent(m_dcZ, m_hglrcZ))
	//if (!qwglMakeCurrent(dc.m_hDC, m_hglrcZ))
	if ( !qwglMakeCurrent( dc.m_hDC, win32.hGLRC ) ) {
		common->Printf( "ERROR: wglMakeCurrent failed..\n " );
		common->Printf( "Please restart " EDITOR_WINDOWTEXT " if the Z view is not working\n" );
	} else {
		QE_CheckOpenGLForErrors();

		Z_Draw ();
		//qwglSwapBuffers( m_dcZ );
		qwglSwapBuffers( dc.m_hDC );
		TRACE( "Z Paint\n" );
	}
}
Example #2
0
void CZWnd::OnPaint()
{
    CPaintDC dc(this); // device context for painting
    //if (!wglMakeCurrent(m_dcZ, m_hglrcZ))
    if (!qwglMakeCurrent(dc.m_hDC, m_hglrcZ))
    {
        Sys_Printf("ERROR: wglMakeCurrent failed..\n ");
        Sys_Printf("Please restart QERadiant if the Z view is not working\n");
    }
    else
    {
        QE_CheckOpenGLForErrors();
        Z_Draw ();
        //qwglSwapBuffers(m_dcZ);
        qwglSwapBuffers(dc.m_hDC);
//    TRACE("Z Paint\n");
    }
}
Example #3
0
/*
============
WZ_WndProc
============
*/
LONG WINAPI WZ_WndProc(
	HWND    hWnd,
	UINT    uMsg,
	WPARAM  wParam,
	LPARAM  lParam )
{
	int     fwKeys, xPos, yPos;
	RECT    rect;
	
	GetClientRect( hWnd, &rect );
	
	switch ( uMsg )
	{
	
		case WM_DESTROY:
			QEW_StopGL( hWnd, s_hglrcZ, s_hdcZ );
			return 0;
			
		case WM_CREATE:
			s_hdcZ = GetDC( hWnd );
			QEW_SetupPixelFormat( s_hdcZ, false );
			if ( ( s_hglrcZ = wglCreateContext( s_hdcZ ) ) == 0 )
				Error( "wglCreateContext in WZ_WndProc failed" );
				
			if ( !wglMakeCurrent( s_hdcZ, s_hglrcZ ) )
				Error( "wglMakeCurrent in WZ_WndProc failed" );
				
			if ( !wglShareLists( g_qeglobals.d_hglrcBase, s_hglrcZ ) )
				Error( "wglShareLists in WZ_WndProc failed" );
			return 0;
			
		case WM_PAINT:
			{
				PAINTSTRUCT ps;
				
				BeginPaint( hWnd, &ps );
				
				if ( !wglMakeCurrent( s_hdcZ, s_hglrcZ ) )
					Error( "wglMakeCurrent failed" );
				QE_CheckOpenGLForErrors();
				
				Z_Draw();
				SwapBuffers( s_hdcZ );
				
				EndPaint( hWnd, &ps );
			}
			return 0;
			
			
		case WM_KEYDOWN:
			QE_KeyDown( wParam );
			return 0;
			
		case WM_MBUTTONDOWN:
		case WM_RBUTTONDOWN:
		case WM_LBUTTONDOWN:
			if ( GetTopWindow( g_qeglobals.d_hwndMain ) != hWnd )
				BringWindowToTop( hWnd );
				
			SetFocus( g_qeglobals.d_hwndZ );
			SetCapture( g_qeglobals.d_hwndZ );
			fwKeys = wParam;        // key flags
			xPos = ( short )LOWORD( lParam ); // horizontal position of cursor
			yPos = ( short )HIWORD( lParam ); // vertical position of cursor
			yPos = ( int )rect.bottom - 1 - yPos;
			Z_MouseDown( xPos, yPos, fwKeys );
			return 0;
			
		case WM_MBUTTONUP:
		case WM_RBUTTONUP:
		case WM_LBUTTONUP:
			fwKeys = wParam;        // key flags
			xPos = ( short )LOWORD( lParam ); // horizontal position of cursor
			yPos = ( short )HIWORD( lParam ); // vertical position of cursor
			yPos = ( int )rect.bottom - 1 - yPos;
			Z_MouseUp( xPos, yPos, fwKeys );
			if ( !( fwKeys & ( MK_LBUTTON | MK_RBUTTON | MK_MBUTTON ) ) )
				ReleaseCapture();
			return 0;
			
		case WM_GETMINMAXINFO:
			{
				MINMAXINFO* pmmi = ( LPMINMAXINFO ) lParam;
				
				pmmi->ptMinTrackSize.x = ZWIN_WIDTH;
				return 0;
			}
			
		case WM_MOUSEMOVE:
			fwKeys = wParam;        // key flags
			xPos = ( short )LOWORD( lParam ); // horizontal position of cursor
			yPos = ( short )HIWORD( lParam ); // vertical position of cursor
			yPos = ( int )rect.bottom - 1 - yPos;
			Z_MouseMoved( xPos, yPos, fwKeys );
			return 0;
			
		case WM_SIZE:
			z.width = rect.right;
			z.height = rect.bottom;
			InvalidateRect( g_qeglobals.d_hwndZ, NULL, false );
			return 0;
			
		case WM_NCCALCSIZE:// don't let windows copy pixels
			DefWindowProc( hWnd, uMsg, wParam, lParam );
			return WVR_REDRAW;
			
		case WM_KILLFOCUS:
		case WM_SETFOCUS:
			SendMessage( hWnd, WM_NCACTIVATE, uMsg == WM_SETFOCUS, 0 );
			return 0;
			
		case WM_CLOSE:
			/* call destroy window to cleanup and go away */
			DestroyWindow( hWnd );
			return 0;
	}
	
	return DefWindowProc( hWnd, uMsg, wParam, lParam );
}