Bitmap Flags

Module description

These flag bits describe properties of the bitmap.

Macros

#define MAP_NOFLAGS   ((DWORD)0)
 The bitmap has none of the characteristics below. More...
 
#define MAP_READY   ((DWORD)(1<<0))
 This bitmap has had memory allocated to it, or is accessible directly. More...
 
#define MAP_HAS_ALPHA   ((DWORD)(1<<1))
 This flag can be checked from a BitmapInfo instance (bi.Flags()&MAP_HAS_ALPHA)), but not from a Bitmap instance (bmap->Flags() & MAP_HAS_ALPHA). More...
 
#define MAP_ALPHA_PREMULTIPLIED   ((DWORD)(1<<2))
 The bitmap has pre-multiplied alpha. More...
 
#define MAP_PALETTED   ((DWORD)(1<<3))
 The bitmap uses a palette (not true color). More...
 
#define MAP_FRAME_SYSTEM_LOCKED   ((DWORD)(1<<4))
 This flag is no longer used. More...
 
#define MAP_DITHERED   ((DWORD)(1<<5))
 The bitmap is dithered. More...
 
#define MAP_FLIPPED   ((DWORD)(1<<6))
 The bitmap is flipped horizontally. More...
 
#define MAP_INVERTED   ((DWORD)(1<<7))
 The bitmap is flipped vertically. More...
 
#define MAP_USE_SCALE_COLORS   ((DWORD)(1<<10))
 Scale colors when high dynamic range values are out of gamut. More...
 
#define MAP_PROXY   ((DWORD)(1<<11))
 When the proxy flag is set, the BitmapInfo is called a proxy info. More...
 
#define MAP_PROXYREQUEST   ((DWORD)(1<<12))
 When the proxy request flag is set, the BitmapInfo is called a request info. More...
 
#define MAP_WAS_UPDATED   ((DWORD)(1<<28))
 This flag indicates that PutPixels() was called and the Bitmap has been updated with new data. More...
 
#define MAP_HAS_BGIMAGE   ((DWORD)(1<<29))
 internal use only More...
 
#define MAP_LEGAL_DELETE   ((DWORD)(1<<30))
 internal use only More...
 
#define MAP_VIEW_FILTERED   ((DWORD)(1<<31))
 Test stuff. More...
 
#define MAP_ALL_FLAGS   0xFFFFFFFF
 

Macro Definition Documentation

#define MAP_NOFLAGS   ((DWORD)0)

The bitmap has none of the characteristics below.

#define MAP_READY   ((DWORD)(1<<0))

This bitmap has had memory allocated to it, or is accessible directly.

#define MAP_HAS_ALPHA   ((DWORD)(1<<1))

This flag can be checked from a BitmapInfo instance (bi.Flags()&MAP_HAS_ALPHA)), but not from a Bitmap instance (bmap->Flags() & MAP_HAS_ALPHA).

Therefore if you have a Bitmap, use the Bitmap's HasAlpha() method to see if the map has an alpha channel. The bitmap has an alpha channel.

#define MAP_ALPHA_PREMULTIPLIED   ((DWORD)(1<<2))

The bitmap has pre-multiplied alpha.

#define MAP_PALETTED   ((DWORD)(1<<3))

The bitmap uses a palette (not true color).

#define MAP_FRAME_SYSTEM_LOCKED   ((DWORD)(1<<4))

This flag is no longer used.

#define MAP_DITHERED   ((DWORD)(1<<5))

The bitmap is dithered.

#define MAP_FLIPPED   ((DWORD)(1<<6))

The bitmap is flipped horizontally.

#define MAP_INVERTED   ((DWORD)(1<<7))

The bitmap is flipped vertically.

#define MAP_USE_SCALE_COLORS   ((DWORD)(1<<10))

Scale colors when high dynamic range values are out of gamut.

#define MAP_PROXY   ((DWORD)(1<<11))

When the proxy flag is set, the BitmapInfo is called a proxy info.

The info for the proxy's original subject bitmap is called the subject info. The subject info is available from the proxy info via BitmapInfo::GetProxySubject().

See also
BitmapInfo::GetProxySubject() Indicates a proxy bitmap, reduced from original size / bit depth
#define MAP_PROXYREQUEST   ((DWORD)(1<<12))

When the proxy request flag is set, the BitmapInfo is called a request info.

A request info should contain settings for the original bitmap, without any subject info allocated. A request info passed to BitmapManager::Load() serves as a request to load proxy version of the original bitmap. The bitmap manager converts the request info to a proxy info with the complete proxy and subject settings. Indicates a request to load proxy bitmap, reduced from original size / bit depth

#define MAP_WAS_UPDATED   ((DWORD)(1<<28))

This flag indicates that PutPixels() was called and the Bitmap has been updated with new data.

As an example of use, this flag is cleared by an active shade fragment because we have taken the changes from active shade in that bitmap. So we want to know when we need to update the fragment based on actual changes to the bitmap in order to avoid simply copying unchanged Bitmap data into the fragment buffer. If the flag MAP_WAS_UPDATED is set, we know there are changes since the last time we cleared that flag.

#define MAP_HAS_BGIMAGE   ((DWORD)(1<<29))

internal use only

#define MAP_LEGAL_DELETE   ((DWORD)(1<<30))

internal use only

#define MAP_VIEW_FILTERED   ((DWORD)(1<<31))

Test stuff.

#define MAP_ALL_FLAGS   0xFFFFFFFF