- Timestamp:
- Jul 1, 2002, 6:02:05 PM (23 years ago)
- Location:
- trunk/src/ddraw
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/ddraw/OS2SURFACE.CPP
r8605 r8816 1 /* $Id: OS2SURFACE.CPP,v 1.4 2 2002-06-08 14:20:06sandervl Exp $ */1 /* $Id: OS2SURFACE.CPP,v 1.43 2002-07-01 16:02:04 sandervl Exp $ */ 2 2 3 3 /* … … 1502 1502 if(NULL!=lpDestRect) 1503 1503 { 1504 dprintf(("DDRAW: Fill only Rect(%d,%d)(%d,%d)\n", lpDestRect->left, lpDestRect->top, 1505 lpDestRect->right, lpDestRect->bottom)); 1506 FillWidth = lpDestRect->right - lpDestRect->left; 1507 FillHeight = lpDestRect->bottom - lpDestRect->top -1; 1508 Top = lpDestRect->top; 1509 Left = lpDestRect->left; 1504 dprintf(("DDRAW: Fill only Rect(%d,%d)(%d,%d) (%d,%d)", lpDestRect->left, lpDestRect->top, 1505 lpDestRect->right, lpDestRect->bottom, width, height)); 1506 FillWidth = RECT_WIDTH(lpDestRect); 1507 FillHeight = RECT_HEIGHT(lpDestRect); 1508 Top = lpDestRect->top; 1509 Left = lpDestRect->left; 1510 if(Top + FillHeight > height) { 1511 FillHeight = height - Top; 1512 dprintf(("correcting FillHeight to %d", FillHeight)); 1513 } 1514 if(Left + FillWidth > width) { 1515 FillWidth = width - Left; 1516 dprintf(("correcting FillWidth to %d", FillWidth)); 1517 } 1510 1518 } 1511 1519 else … … 1515 1523 Left = 0; 1516 1524 FillWidth = width; 1517 FillHeight = height -1;1525 FillHeight = height; 1518 1526 //pLine = pDiveBuffer; 1519 1527 } … … 2711 2719 dprintf(("DDRAW: Blitting with scaling\n Not supported.\n")); 2712 2720 2713 //return DDERR_NOSTRETCHHW;2721 return DDERR_NOSTRETCHHW; 2714 2722 } 2715 2723 … … 4440 4448 LockedSurfaceDesc.ddpfPixelFormat.dwRGBBitCount 4441 4449 )); 4442 #if 14443 4450 memset(&BitmapInfo, 0, sizeof(BitmapInfo)); 4444 4451 BitmapInfo.bmiHead.biSize = sizeof(BITMAPINFOHEADER); … … 4453 4460 bmihHdr.biPlanes = 1; 4454 4461 bmihHdr.biBitCount = (WORD)LockedSurfaceDesc.ddpfPixelFormat.dwRGBBitCount; 4455 #else 4456 bmpSurface.bmType = 0; 4457 bmpSurface.bmWidth = LockedSurfaceDesc.dwWidth; 4458 bmpSurface.bmHeight = LockedSurfaceDesc.dwHeight; 4459 bmpSurface.bmWidthBytes = LockedSurfaceDesc.lPitch; 4460 bmpSurface.bmPlanes = 1; 4461 bmpSurface.bmBits = LockedSurfaceDesc.lpSurface; 4462 #endif 4462 4463 4463 switch(LockedSurfaceDesc.ddpfPixelFormat.dwRGBBitCount) 4464 4464 { … … 4468 4468 break; 4469 4469 case 8: 4470 #if 14471 4470 BitmapInfo.bmiHead.biCompression = BI_RGB; 4472 4471 if (me->lpPalette != NULL) … … 4493 4492 (PBITMAPINFO)&BitmapInfo, 4494 4493 DIB_RGB_COLORS); 4495 #else4496 bmpSurface.bmBitsPixel = 8;4497 me->hbmImage = CreateBitmapIndirect( &bmpSurface);4498 #endif4499 4494 break; 4495 4500 4496 case 16: 4497 case 24: 4501 4498 case 32: 4502 dprintf(("DDRAW: 16/32 Bit not supported by OS/2"));4503 break;4504 case 24:4505 #if 04506 BitmapInfo.bmiHead.biCompression = BI_RGB;4499 BitmapInfo.bmiHead.biCompression = BI_BITFIELDS; 4500 BitmapInfo.bmiHead.biClrUsed = 3; 4501 *((DWORD *) &(BitmapInfo.bmiCols[0])) = me->DDSurfaceDesc.ddpfPixelFormat.dwRBitMask; 4502 *((DWORD *) &(BitmapInfo.bmiCols[1])) = me->DDSurfaceDesc.ddpfPixelFormat.dwGBitMask; 4503 *((DWORD *) &(BitmapInfo.bmiCols[2])) = me->DDSurfaceDesc.ddpfPixelFormat.dwBBitMask; 4507 4504 me->hbmImage = CreateDIBitmap( me->hdcImage, 4508 NULL,4509 CBM_ CREATEDIB,4505 &bmihHdr, 4506 CBM_INIT, 4510 4507 LockedSurfaceDesc.lpSurface, 4511 4508 (PBITMAPINFO)&BitmapInfo, 4512 4509 DIB_RGB_COLORS ); 4513 #else4514 bmpSurface.bmBitsPixel = 24;4515 me->hbmImage = CreateBitmapIndirect( &bmpSurface);4516 #endif4517 4510 break; 4511 4518 4512 default: 4519 4513 dprintf( ("Unexpected BitCount %d \n", -
trunk/src/ddraw/fillfunc.cpp
r5472 r8816 1 /* $Id: fillfunc.cpp,v 1. 4 2001-04-04 09:02:15 sandervl Exp $ */1 /* $Id: fillfunc.cpp,v 1.5 2002-07-01 16:02:05 sandervl Exp $ */ 2 2 3 3 /* … … 40 40 if(dwWidth % 4) 41 41 { 42 if(i==0) i = 1; //or else next line will corrupt heap 42 43 pFillPos = (char*) (&pColor[i-1]); 43 44 for(i=0;i<dwWidth % 4;i++) … … 81 82 if(dwWidth % 2) 82 83 { 84 if(i==0) i = 1; //or else next line will corrupt heap 83 85 pFillPos = (char*)(&pColor[i-1]); 84 86 *((USHORT*)pFillPos) = (USHORT)dwColor; … … 222 224 ) 223 225 { 224 dprintf(("Fill16on16 \n"));226 dprintf(("Fill16on16 %x (%d,%d)(%d,%d) %d %x", pDB+(dwTop*dwPitchDB)+(dwLeft*2), dwLeft, dwTop, dwWidth, dwHeight, dwPitchDB, dwColor)); 225 227 dwColor = (dwColor&0xFFFF)+((dwColor&0xFFFF)<<16); 226 228
Note:
See TracChangeset
for help on using the changeset viewer.