Changeset 5443
- Timestamp:
- Apr 2, 2001, 8:21:10 PM (24 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
TabularUnified trunk/src/ddraw/OS2SURFACE.CPP ¶
r5392 r5443 1 /* $Id: OS2SURFACE.CPP,v 1.3 0 2001-03-28 16:21:06sandervl Exp $ */1 /* $Id: OS2SURFACE.CPP,v 1.31 2001-04-02 18:21:10 sandervl Exp $ */ 2 2 3 3 /* … … 1320 1320 dprintf(("DDRAW: Backbuffer # = %d\n",DDSurfaceDesc.dwBackBufferCount)); 1321 1321 1322 #if 1 1323 memset( &ComplexSurfaceDesc, 1324 0, 1325 sizeof(DDSURFACEDESC2)); 1326 1327 ComplexSurfaceDesc.dwSize = sizeof(DDSURFACEDESC2); 1328 ComplexSurfaceDesc.dwFlags = DDSD_CAPS | 1329 DDSD_WIDTH | 1330 DDSD_HEIGHT | 1331 DDSD_PIXELFORMAT; 1332 ComplexSurfaceDesc.ddsCaps.dwCaps = DDSCAPS_BACKBUFFER | DDSCAPS_FLIP; 1333 ComplexSurfaceDesc.dwHeight = DDSurfaceDesc.dwHeight; 1334 ComplexSurfaceDesc.dwWidth = DDSurfaceDesc.dwWidth; 1335 ComplexSurfaceDesc.ddpfPixelFormat.dwFlags = DDSurfaceDesc.ddpfPixelFormat.dwFlags; 1336 ComplexSurfaceDesc.ddpfPixelFormat.dwRBitMask = DDSurfaceDesc.ddpfPixelFormat.dwRBitMask; 1337 ComplexSurfaceDesc.ddpfPixelFormat.dwGBitMask = DDSurfaceDesc.ddpfPixelFormat.dwGBitMask; 1338 ComplexSurfaceDesc.ddpfPixelFormat.dwBBitMask = DDSurfaceDesc.ddpfPixelFormat.dwBBitMask; 1339 ComplexSurfaceDesc.ddpfPixelFormat.dwRGBBitCount = DDSurfaceDesc.ddpfPixelFormat.dwRGBBitCount; 1340 1341 if(DDSurfaceDesc.dwBackBufferCount>1) 1342 { 1343 ComplexSurfaceDesc.dwFlags |=DDSD_BACKBUFFERCOUNT; 1344 ComplexSurfaceDesc.dwBackBufferCount = DDSurfaceDesc.dwBackBufferCount -1; 1345 ComplexSurfaceDesc.ddsCaps.dwCaps|= DDSCAPS_COMPLEX; 1346 } 1347 1348 BackBuffer = new OS2IDirectDrawSurface(lpDraw, &ComplexSurfaceDesc, TRUE, TRUE); 1349 BackBuffer->Vtbl.AddRef((IDirectDrawSurface *)BackBuffer); 1350 1351 if (BackBuffer->GetLastError()==DD_OK) 1352 { 1353 dprintf(("DDRAW: created backbuffer")); 1354 DDSurfaceDesc.dwFlags |= DDSCAPS_FLIP; 1355 BackBuffer->SetFrontBuffer(this); 1356 } 1357 else 1358 { 1359 dprintf(("DDRAW: Error creating backbuffer")); 1360 } 1361 #else 1322 1362 memcpy( &ComplexSurfaceDesc, 1323 1363 &DDSurfaceDesc, … … 1336 1376 ComplexSurfaceDesc.ddsCaps.dwCaps &= ~DDSCAPS_COMPLEX; 1337 1377 } 1338 1339 1378 BackBuffer = new OS2IDirectDrawSurface(lpDraw, &ComplexSurfaceDesc, TRUE, Mainchain); 1340 1379 BackBuffer->Vtbl.AddRef((IDirectDrawSurface *)BackBuffer); … … 1345 1384 BackBuffer->SetFrontBuffer(this); 1346 1385 } 1347 1386 #endif 1348 1387 } 1349 1388 … … 4476 4515 dprintf(("DDRAW: SurfLock %d %08X %d %d\n", (int)lpRect, (int)lpSurfaceDesc, dwFlags, hEvent)); 4477 4516 4478 if((NULL==lpSurfaceDesc)|| (NULL!=hEvent))4517 if((NULL==lpSurfaceDesc)|| ((dwFlags & DDLOCK_EVENT) && NULL != hEvent)) 4479 4518 return DDERR_INVALIDPARAMS; 4480 4519 4481 if(lpSurfaceDesc->dwSize != sizeof(DDSURFACEDESC) )4520 if(lpSurfaceDesc->dwSize != sizeof(DDSURFACEDESC) && lpSurfaceDesc->dwSize != sizeof(DDSURFACEDESC2)) 4482 4521 return DDERR_INVALIDPARAMS; 4483 4522 … … 4493 4532 memcpy( (char*)lpSurfaceDesc, 4494 4533 (char*)&SurfaceDesc4, 4495 sizeof(DDSURFACEDESC));4534 lpSurfaceDesc->dwSize ); 4496 4535 } 4497 4536
Note:
See TracChangeset
for help on using the changeset viewer.