- work directly with bitmap bits when alpha blending icons. This is permitted, those are API bitmaps.
- Do not create a stretched copy of source surface in EngAlphaBlend, handle stretching in DIB functions.
- Do so.
- Simplify DIB alpha blending for 24 and 32 bpp, implement generic alpha blend support for other depth.
svn path=/branches/reactos-yarotows/; revision=48483
- Move RLE specific code to it's own file (rlecomp.c)
- Relace BitsPerFormat function with an array of UCHARs
- Rewrite surface creation. Surfaces are now allocated from one central function SURFACE_AllocSurface, which sets the size, iType, iUniq, the handle and the default palette.
- Implement SURFACE_vSetDefaultPalette, which sets the default RGB palette, based on bit depth.
- Implement SURFACE_bSetBitmapBits, wich sets cjBits, pvBits, pvScan0 and lDelta and allocates memory if neccessary.
- Use these functions for EngCreateBitmap, EngCreateDeviceBitmap, EngCreateDeviceSurface and IntCreateBitmap
svn path=/branches/reactos-yarotows/; revision=47612