Hello,
I am trying to resize the window and the opengl Surface;
I did the following modification in CCEGL_View_win32.cpp
1.In bool CCEGLView::Create(LPCTSTR pTitle, int w, int h)
i have added the resize button to the window
// create window
m_hWnd = CreateWindowEx(
WS_EX_APPWINDOW | WS_EX_WINDOWEDGE, // Extended Style For The Window
kWindowClassName, // Class Name
pTitle, // Window Title
WS_CAPTION | WS_POPUPWINDOW|WS_MAXIMIZEBOX|WS_MINIMIZEBOX,* // Defined Window Style
0, 0, // Window Position
0, // Window Width
0, // Window Height
NULL, // No Parent Window
NULL, // No Menu
hInstance, // Instance
NULL );
2.In LRESULT CCEGLView::WindowProc(UINT message, WPARAM wParam, LPARAM lParam)
I have added resize event and viewport size modifications .
case WM_SIZE:
{
//do
{
//wSizeType = wParam;
//nWidth = LOWORD (lParam);
//nHeight = HIWORD (lParam);
POINT pt = {(short)LOWORD (lParam), (short)HIWORD (lParam)};
resize(pt.x, pt.y);
CCSize size;
size.width=(float)pt.x*m_fScreenScaleFactor;
size.height=(float)pt.y*m_fScreenScaleFactor;
setViewPortInPoints(0, 0, size.width, size.height);
//glViewport(0, 0, size.width, size.height);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
ccglOrtho(0, size.width, 0, size.height, –1024*m_fScreenScaleFactor,
1024*m_fScreenScaleFactor );
// Calculate The Aspect Ratio Of The Window
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
} //while (0);
}
The window is resized but the opengles surface does not.
What I am missing ?
I need to destroy the surface and recreate it ? It is not enough to change the viewport dimensions ?