| Member name | Value | Description |
---|
| mcdafNoFlags | 0 | No flags. When used as theMcDibAccess.GetDibBytesEx pFlags argument, the returned 24-bit bitmap bits may be
a read-only pointer into the source data and the returned size may be
expanded. |
| mcdafAlwaysCopyBits | 1 | Bitmap bits returned byGetDibBytesEx are always an independent copy. If this flag is not set,
then an actual pointer into the source bits will be returned if possible.
This avoids any processing or a copy of the data and so is very fast, but it
means that you cannot modify the returned bitmap bits without corrupting the
image data. |
| mcdafHonorRequestedSize | 2 | The bitmap returned byGetDibBytesEx will always honor the supplied input dLeftImage, dTopImage,
lDibSizeX and lDibSizeY arguments; these arguments will never be adjusted on
exit. If this flag is not set and the mcdafAlwaysCopyBits is also not set,
then an actual pointer into the source bits may be returned with the
dLeftImage, dTopImage, lDibSizeX and lDibSizeY arguments adjusted to
encompass a larger area than requested. |
| mcdafReleaseSourceData | 4 | If this Flag bit is set on acall to McDibAccess.GetSourceInfo, then any source data locked by a previous
call to McDibAccess.GetDibBytesEx is released. You must make this call to
release the source data if you ever call McDibAccess.GetDibBytesEx without
the mcdafAlwaysCopyBits set. The McDibAccess destructor will also release
any locked source data, so this call is not necessary if you are fully
releasing the McDibAccess instance before you need to have the source data
fully released. |
| mcdafUseBestLowerResolution | 8 | If this Flag bit isset on a call to McDibAccess.GetDibBytesEx, then for on-demand-only sources
where multiple native resolutions are available, if the desired
full-resolution Dib cannot be created without loading a large amount of
high resolution image data, then the next lower resolution image data is
gotten and the Dib is created magnified from that. On return from the
call, the mcdafDisplayDoneAtPartialResolution bit will be set if the
full-requested resolution image was not created. |
| mcdafCallBackDuringDibCreation | 16 | If this Flag bit is seton a call to McDibAccess.GetDibBytesEx, then the Dib is created in strips.
A McObjMgr SNC_NOTIFY_MCDIBACCESS_DIB_CREATE_INPROGRESS SpecialNotify is
fired on the parent McImage of the owning McPixelBuffer every 32 lines
after 50 MSec; if the notify is interrupted (returns S_FALSE instead of
S_OK), then the Dib creation is aborted. On return from the call, the
mcdafDibCreationWasInterrupted bit will be set if the Dib creation was
aborted. In this case, the returned Dib will be only partially filled. |
| mcdafCreate32bitDib | 32 | If this Flag bit is set ona call to McDibAccess.GetDibBytesEx, then the Dib is created as a 32-bit BGRA
(Blue, Green, Red, Alpha) Dib instead of the default 24-bit BGR. How the Alpha
byte is set depends on whether the mcdafHonorAlphaLut Flag bit is also set.
If mcdafHonorAlphaLut is clear, then the Alpha byte is always set to 255
(fully opaque); see mcdafHonorAlphaLut for the behavior if the bit is set. |
| mcdafHonorAlphaLut | 64 | If this Flag bit and alsomcdafCreate32bitDib is set on a call to McDibAccess.GetDibBytesEx, then
how the Alpha byte of the created 32-bit Dib is set depends on the number of
source channels and the Alpha LUT channel. If the mcdafHonorAlphaLut bit is
clear, then the Alpha byte is always set to 255 (fully opaque). Otherwise, if
no Alpha LUT is supplied (either no LUT is set or McDibAccess.SetDisplayLut is
assigned a 3-channel LUT), then for any source image with less that 4
channels, the Alpha byte of the Dib is set to 255 (no transparency). With no
Alpha LUT and 4 or more channels, one of the channels (channel 3 by default)
is used to set the Alpha byte; the channel mapping may be changed with the
SetMultichannelRGB method. If an Alpha LUT is supplied
(McDibAccess.SetDisplayLut is assigned a 4-channel LUT), then it is used to
set the Alpha byte for monochrome or 4+ channel images; for 2 or 3 channel
images, the Alpha channel LUT is ignored and the Alpha byte of the Dib is set
to 255 always. |
| mcdafSuppressProgressMeter | 128 | If this Flag bitis set on a call to McDibAccess.GetDibBytesEx, then no ProgressMeter will
be displayed, even if the Dib generation will take a long time. If the
bit is clear and the Dib generation will take along time, then a progress
meter will be displayed. |
| mcdafIsNativeDib | 256 | On exit from theMcDibAccess.GetSourceInfo method, this bit will be set if the source data
is organized as a reverse raster 24-bit, BGR Dib. On exit from
McDibAccess.GetDibBytesEx, this bit will be set if the returned Dib bytes
Variant holds a pointer into the actual source data rather than an
independent copy of the source data. Note that this bit may be set on
return from McDibAccess.GetSourceInfo but clear on return from
McDibAccess.GetDibBytesEx for a number of reasons. In particular, a
pointer into the actual source data can only be returned if the
mcdafAlwaysCopyBits flag is clear, if no LUT will be applied (the
mcdafLutWillBeApplied flag will be clear), if the mcdafHonorRequestedSize
flag is clear (or the requested size is already appropriate) and if the
magnification is 1.0 for both axes. |
| mcdafLutWillBeApplied | 512 | On exit from theMcDibAccess.GetDibBytesEx or McDibAccess.GetSourceInfo methods, this bit
will be set to indicate that during a call to McDibAccess.GetDibBytes or
McDibAccess.GetDibBytesEx raw source pixel values will be passed through a
lookup table (LUT) before being placed in the returned DIB. This situation
happens when any LUT other than a one-to-one ramp is passed to the
McDibAccess.SetDisplayLut method as its NewDisplayLut argument. The effect
of this state is to force a copy of the source data (i.e., the
mcdafAlwaysCopyBits flag is effectively forced on). |
| mcdafSourceIsMcImage | 1024 | On exit from theMcDibAccess.GetDibBytesEx or McDibAccess.GetSourceInfo methods, this bit
will be set if the source data is a McImage operator. In this case, the
IUnknown* return value of the GetSourceInfo method will be the source data
McImage operator instance. A McLookupTables operator instance can be gotten
as the McImage.LookupTables property. |
| mcdafSourceHasLookupTables | 2048 | On exit from theMcDibAccess.GetDibBytesEx or McDibAccess.GetSourceInfo methods, this bit
will be set if the source data is not a McImage instance, but does expose a
McLookupTables operator. In this case, the IUnknown* return value of the
GetSourceInfo method will be the source data McLookupTables operator
instance. |
| mcdafSourceHasTypeInfo | 4096 | On exit from theMcDibAccess.GetDibBytesEx or McDibAccess.GetSourceInfo methods, this bit
will be set if a call to McDibAccess.GetSourceInfo will fill the
ppimcimagetypeSource argument with a McImageType instance. |
| mcdafSetDisplayLutIsSupported | 8192 | On exit from theMcDibAccess.GetDibBytesEx or McDibAccess.GetSourceInfo methods, this bit
will be set if a call to McDibAccess.SetDisplayLut has any effect on
the behavior of the object. If this bit is set, the mcdafSourceHasTypeInfo
bit will also be set. |
| mcdafSourceHasDisplayLut | 16384 | On exit from theMcDibAccess.GetDibBytesEx or McDibAccess.GetSourceInfo methods, this bit
will be set if a call to McDibAccess.GetSourceDisplayLut will return a
non-empty Variant. |
| mcdafSourceHasActiveFrame | 32768 | On exit from theMcDibAccess.GetDibBytesEx or McDibAccess.GetSourceInfo methods, this bit
will be set if a call to McDibAccess.GetSourceActiveFrame will return
information about an ActiveFrameRange and an ActiveFrameIndex. If this bit
is not set, then the ActiveFrameIndex will be returned as -1 and an Empty
ActiveFrameRange is returned. |
| mcdafSourceHasNoInfo | 65536 | On exit from theMcDibAccess.GetDibBytesEx or McDibAccess.GetSourceInfo methods, this bit
will be set if the source has no information about its source. In this
case, McDibAccess.GetDibBytes(Ex) will return an error as will most other
methods. This situation should be treated as "no source is available as
yet": the caller should await a SNC_NOTIFY_MCDIBACCESS_INFOCHANGED notify
fired on the operator that is exposing the McDibAccess instance, at which
time GetSourceInfo can be called again to see if source data is now
available. |
| mcdafWarningLevelsIsSupported | 131072 | On exit from theMcDibAccess.GetDibBytesEx or McDibAccess.GetSourceInfo methods, this bit
will be set if an assigment to the McDibAccess.DibWarningLevels,
DibWarningColors or DibWarningChannels has any effect on the behavior of
the object. If this bit is clear, then neither an assignment nor access to
either of these properties should be attempted, since such an access may
result in a FAILED HRESULT, and will in any case have unpredicatable
results. |
| mcdafDisplayDoneAtPartialResolution | 262144 | On exit from theMcDibAccess.GetDibBytesEx method, this bit will be set if the
mcdafUseBestLowerResolution flag was set on entry, and the Dib was in fact
created at lower than the requested resolution. |
| mcdafDibCreationWasInterrupted | 524288 | On exit from theMcDibAccess.GetDibBytesEx method, this bit will be set if the
mcdafCallBackDuringDibCreation bit was set on entry and the dib creation
was interrupted; in this case, the returned Dib will be only partially filled. |