Advertisement

Direct Draw Surface larger than the screen?

Started by October 29, 1999 12:14 PM
2 comments, last by df14 25 years, 3 months ago

Maybe your hardware is inadequate. Not all display drivers support larger surfaces in system memory. Or your version of DirectX can´t support it (required DirectX 5.0 or higher).

Gandalf.

Gandalf the Black
If the drivers didn't support wider surfaces then they wouldn't be able to be created, right?

Try the following code, where lpdd is your main direct draw object:

code:
DDCAPS driver_caps;lpdd->GetCaps (&driver_caps,NULL);if (driver_caps.dwCaps2 & DDCAPS2_WIDESURFACES){ // Now you know you can handle wide surfaces. // so do something here to indicate it}


If your driver can handle wide surfaces, it maybe that you need to set a Clipper if you're trying to blit the whole surface, or just blit a portion of the surface instead. That's a guess, though.

[This message has been edited by Aldacron (edited October 29, 1999).]


Advertisement
If I want to blt a DirectDrawSurface larger than the screen I get a RuntimeError.

Thanx
df14

The same thing happened to me. I could create the wide surfaces, but if I tried to blit it to the main surface my program would crash. I was just blitting a small square of it too.

------------------
--Orion McClelland

Write more poetry.http://www.Me-Zine.org

This topic is closed to new replies.

Advertisement