// ATM we only have one display.
pdcattr->ulDirty_ |= DC_PRIMARY_DISPLAY;
- pdc->rosdc.bitsPerPixel = pdc->ppdev->gdiinfo.cBitsPixel *
- pdc->ppdev->gdiinfo.cPlanes;
- DPRINT("Bits per pel: %u\n", pdc->rosdc.bitsPerPixel);
-
pdc->flGraphicsCaps = PrimarySurface.devinfo.flGraphicsCaps;
pdc->flGraphicsCaps2 = PrimarySurface.devinfo.flGraphicsCaps2;
pdcNew->dhpdev = pdcOld->dhpdev;
- pdcNew->rosdc.bitsPerPixel = pdcOld->rosdc.bitsPerPixel;
-
/* DriverName is copied in the AllocDC routine */
pdcattrNew->ptlWindowOrg = pdcattrOld->ptlWindowOrg;
pdcattrNew->szlWindowExt = pdcattrOld->szlWindowExt;
return NULL;
}
- // FIXME: This looks wrong
/* Is this a valid palette for this depth? */
- if ((pdc->rosdc.bitsPerPixel <= 8 && ppal->Mode == PAL_INDEXED) ||
- (pdc->rosdc.bitsPerPixel > 8))
+ if ((BitsPerFormat(pdc->dclevel.pSurface->SurfObj.iBitmapFormat) <= 8
+ && ppal->Mode == PAL_INDEXED) ||
+ (BitsPerFormat(pdc->dclevel.pSurface->SurfObj.iBitmapFormat) > 8))
{
/* Get old palette, set new one */
oldPal = pdc->dclevel.hpal;
// If Info DC this is zero and pSurface is moved to DC->pSurfInfo.
psurfBmp->hDC = hDC;
- // if we're working with a DIB, get the palette
- // [fixme: only create if the selected palette is null]
- if (psurfBmp->hSecure)
+ /* FIXME; improve by using a region without a handle and selecting it */
+ hVisRgn = IntSysCreateRectRgn( 0,
+ 0,
+ psurfBmp->SurfObj.sizlBitmap.cx,
+ psurfBmp->SurfObj.sizlBitmap.cy);
+
+ if(psurfBmp->hSecure)
{
-// pDC->rosdc.bitsPerPixel = psurfBmp->dib->dsBmih.biBitCount; ???
- pDC->rosdc.bitsPerPixel = BitsPerFormat(psurfBmp->SurfObj.iBitmapFormat);
/* Set DIBSECTION attribute */
pdcattr->ulDirty_ |= DC_DIBSECTION;
}
else
{
- pDC->rosdc.bitsPerPixel = BitsPerFormat(psurfBmp->SurfObj.iBitmapFormat);
- /* Restore DIBSECTION attribute */
pdcattr->ulDirty_ &= ~DC_DIBSECTION;
}
- /* FIXME; improve by using a region without a handle and selecting it */
- hVisRgn = IntSysCreateRectRgn( 0,
- 0,
- psurfBmp->SurfObj.sizlBitmap.cx,
- psurfBmp->SurfObj.sizlBitmap.cy);
-
/* Release the exclusive lock */
SURFACE_UnlockSurface(psurfBmp);
// FIXME: handle refs
pdcDst->dclevel.plfnt = pdcSrc->dclevel.plfnt;
- /* ROS hacks */
- if (pdcDst->dctype != DC_TYPE_MEMORY)
- {
- pdcDst->rosdc.bitsPerPixel = pdcSrc->rosdc.bitsPerPixel;
- }
-
/* Get/SetDCState() don't change hVisRgn field ("Undoc. Windows" p.559). */
if (To) // Copy "To" SaveDC state.
{
// Clean the DC
if (defaultDCstate) DC_vCopyState(defaultDCstate, dc, FALSE);
- if (dc->dctype != DC_TYPE_MEMORY)
- {
- dc->rosdc.bitsPerPixel = defaultDCstate->rosdc.bitsPerPixel;
- }
-
DC_UnlockDc(dc);
return TRUE;