D - Fullscreen in Dig
- J Anderson (44/44) Oct 19 2003 I don't know if this is a bug in dig or not, but (for me at least), it
I don't know if this is a bug in dig or not, but (for me at least), it was producing fullscreen windows with *title bars* in windows XP. Parhaps this is the intended behavior? Anyways, to anyone this may help, here's my solution. I simply overloaded the method, but it could be placed directly into the class for a permanent fix (although the other CanvasGL should be changed as well). //For CanvasGL in net.BurtonRadons.dig. override void digPlatformRecreate () //Modified to do a fullscreen, like it should be. { digPlatformStyle = WS_VISIBLE | WS_CHILD | WS_CLIPCHILDREN | WS_CLIPSIBLINGS; if (digPlatformFullscreen) digPlatformStyle = WS_VISIBLE | WS_MAXIMIZE | WS_POPUP; wglMakeCurrent ((HANDLE) 0, (HANDLE) 0); wglDeleteContext (digPlatformGLRC); DestroyWindow (digPlatformHWND); delete digPlatformHWNDToControl [digPlatformHWND]; //hwndCreate (0, className, setCaption, style, null); HANDLE parent; int vleft = CW_USEDEFAULT; int vtop = CW_USEDEFAULT; int vwidth = width (); int vheight = height (); if (this.parent () !== null) parent = this.parent ().digPlatformHWND; if (digPlatformFullscreen) { parent = (HANDLE) 0; vleft = 0; vtop = 0; } digPlatformHWNDCreate(WS_EX_APPWINDOW | (digPlatformFullscreen)?WS_EX_TOPMOST:0, digPlatformClassName, digPlatformCaption, digPlatformStyle, vleft, vtop, vwidth, vheight, parent, (HANDLE) 0, hinst, null); digPlatformCreateContext (); digPlatformMoved (); childIterate (delegate void (Control child) { child.digPlatformRecreate (); }); makeCurrent (); } Note, that it also places fullscreen windows at the top. -Joel Anderson
Oct 19 2003