PDA

View Full Version : window resizing



paneb
03-26-2003, 04:18 PM
hey guys
is there a way to have the window resize and draw at the same time in real time..i mean right, now if i resize the window. when i grab the corner and pull it, i get copies of the corner and only when i realease it, will it start to draw again..is there a way to avoid those corner lines to show up when resizing?
thanks
@+

shinpaughp
03-26-2003, 05:24 PM
If you are using Windows, you could try overriding the OnSizing function. Not sure if it is called continuously during resizing or just once, but you can test it. Assuming you are using a CWnd object or derived of course.

Mark24
03-27-2003, 12:53 PM
I am having the exact same problem, except that I am using GLUT. I was wondering whether have found any solutions, or any sources of information? My program isn't going to be run solely on Windows machines, so I would like to avoid system-specific code.

Thanks

paneb
03-27-2003, 03:49 PM
i got it..in my window procedure i handled the WM_SIZING message like this:




case WM_SIZING:
p_Rect = (RECT *)lParam;
DrawGLScene ();
SwapBuffers (g_hDC);
ResizeGLScene (p_Rect->right - p_Rect->left, p_Rect->bottom - p_Rect->top);


so now i can resize the window and keep my nice view and avoid the extra border drawings..
Mark24: i dunno if you know what that meant..basically, in glut (i dont know anything about it), if you can somehow tell it to draw the scene, swap the buffers and then resize the scene just like i do up there, it should work..i dont know how the messages are handled in glut, but this works nicely for me..if anyone knows about any caveats to the methos, please tell me http://www.opengl.org/discussion_boards/ubb/smile.gif

paneb
03-27-2003, 04:06 PM
actually, there is one problem..say i maximize my window without going into full screen, the sceen wont adjust properly..working on that http://www.opengl.org/discussion_boards/ubb/smile.gif

paneb
03-27-2003, 04:21 PM
alright, here is something that works through any type or resizing, and it also gets rid of the scene corruption when moving the window off screen:




case WM_MOVE:
DrawGLScene ();
SwapBuffers (g_hDC);
return 0;
case WM_SIZE:
ResizeGLScene (LOWORD (lParam), HIWORD (lParam));
return 0;
case WM_SIZING:
p_Rect = (RECT *)lParam;
DrawGLScene ();
SwapBuffers (g_hDC);
ResizeGLScene (p_Rect->right - p_Rect->left, p_Rect->bottom - p_Rect->top);
return 0;


again, if theres something i shouldn't do, please tell me.. http://www.opengl.org/discussion_boards/ubb/smile.gif
Mark24: basically you need to find a way to redraw the scene like i did here..hope that helps ya.. http://www.opengl.org/discussion_boards/ubb/smile.gif