It's fairly easy to make a Blitz window resizable. There's also a method out there to change the default startup window size. However, this isn't enough.
To make a window truly resizable, you have to initiate the Graphics3D program using the largest window size the user might experience. If your window client area goes any bigger than the area you initialize with graphics3d, DirectX just won't render.
This means that you have to start the window out at the desktop size. When you click to un-maximize the window, it is still at the desktop size. It's hard or impossible to grab the corner and drag to resize it smaller. The only way to fix this is to resize the window smaller after the graphics3d command. So you have the initial 400x300 window, then a large window flashes on sized at the desktop size, and then you finish with an 800x600 window. Very unprofessional.
Well, thanks to Spindeln, there is finally a way around it. He hacked runtime.dll so that the Blitz window starts off hidden, and any graphics3d() command creates a hidden window. The result is a windowed Blitz3D app that starts off with no flashing. Even cooler, the window stays hidden while the program media is loading, and doesn't appear until the program is really ready to start.
Of course, we can't post the hacked runtime.dll file, and I also want to get him a little cash for his work, so we are talking about distribution right now.
Check it out here:
http://www.leadwerks.com/post/windemo.zip
To make a window truly resizable, you have to initiate the Graphics3D program using the largest window size the user might experience. If your window client area goes any bigger than the area you initialize with graphics3d, DirectX just won't render.
This means that you have to start the window out at the desktop size. When you click to un-maximize the window, it is still at the desktop size. It's hard or impossible to grab the corner and drag to resize it smaller. The only way to fix this is to resize the window smaller after the graphics3d command. So you have the initial 400x300 window, then a large window flashes on sized at the desktop size, and then you finish with an 800x600 window. Very unprofessional.
Well, thanks to Spindeln, there is finally a way around it. He hacked runtime.dll so that the Blitz window starts off hidden, and any graphics3d() command creates a hidden window. The result is a windowed Blitz3D app that starts off with no flashing. Even cooler, the window stays hidden while the program media is loading, and doesn't appear until the program is really ready to start.
Of course, we can't post the hacked runtime.dll file, and I also want to get him a little cash for his work, so we are talking about distribution right now.
Check it out here:
http://www.leadwerks.com/post/windemo.zip