Click or drag to resize

mcDibAccessFlags Enumeration

Allowed values for the McDibAccess.GetDibBytesEx and McDibAccess.GetSourceInfo pFlags arguments.

Namespace:  MediaCy.IQL.Engine
Assembly:  MediaCy.IQL.Engine (in MediaCy.IQL.Engine.dll) Version: 10.0.6912.0
Syntax
VB
Public Enumeration mcDibAccessFlags
Members
  Member nameValueDescription
mcdafNoFlags0No 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.
mcdafAlwaysCopyBits1Bitmap 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.
mcdafHonorRequestedSize2The 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.
mcdafReleaseSourceData4If 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.
mcdafUseBestLowerResolution8If 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.
mcdafCallBackDuringDibCreation16If 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.
mcdafCreate32bitDib32If 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.
mcdafHonorAlphaLut64If 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.
mcdafSuppressProgressMeter128If 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.
mcdafIsNativeDib256On 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.
mcdafLutWillBeApplied512On 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).
mcdafSourceIsMcImage1024On 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.
mcdafSourceHasLookupTables2048On 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.
mcdafSourceHasTypeInfo4096On 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.
mcdafSetDisplayLutIsSupported8192On 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.
mcdafSourceHasDisplayLut16384On 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.
mcdafSourceHasActiveFrame32768On 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.
mcdafSourceHasNoInfo65536On 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.
mcdafWarningLevelsIsSupported131072On 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.
mcdafDisplayDoneAtPartialResolution262144On 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.
mcdafDibCreationWasInterrupted524288On 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.
See Also