Filter Case Information Flag Bits

See FilterCaseInfo. More...

Filter Case Info Flag Bits

#define PIFilterDontCopyToDestinationBit   0
 Determines whether source data is copied to the destination before filtering.
#define PIFilterWorksWithBlankDataBit   1
 Determines whether the filter will work on "blank" areas that are completely transparent.
#define PIFilterFiltersLayerMaskBit   2
 In cases where transparency is editable, this flag determines if Layer Masks are filtered.
#define PIFilterWritesOutsideSelectionBit   3
 In the image with selection and layer with selection cases, does the filter want to write beyond the confines of the selection? (This is generally rude but in some cases its better than the alternatives.

Detailed Description

See FilterCaseInfo.


Define Documentation

#define PIFilterDontCopyToDestinationBit   0

Determines whether source data is copied to the destination before filtering.

This degrades performance for filters that write all the output pixels. Setting this bit inhibits that behavior.

Note:
This first bit is the least-significant bit of the flag byte.

#define PIFilterWorksWithBlankDataBit   1

Determines whether the filter will work on "blank" areas that are completely transparent.

This bit is set when the filter works with blank data. If not, an error message is given when the filter is invoked on a blank area. This is only valid for the editable transparency case because that is the only case where you could create opacity; in the protected transparency case, you would be left with what you started with: completely blank data.

#define PIFilterFiltersLayerMaskBit   2

In cases where transparency is editable, this flag determines if Layer Masks are filtered.

See the "Add Layer Mask" item in the Layers palette menu to create a layer mask.

Setting this bit adds the layer mask to the set of target channels if:

  • transparency for the layer is editable (i.e., this is one of the editable transparency cases),
  • the bit is set, and
  • the layer mask is specified as being positioned relative to the layer rather than the image in Layer Mask Options.

The distinction based on position is based on the assumption that layer relative masks are distorted with the layer; image relative masks are independent of the layer.

#define PIFilterWritesOutsideSelectionBit   3

In the image with selection and layer with selection cases, does the filter want to write beyond the confines of the selection? (This is generally rude but in some cases its better than the alternatives.

If you use this, be sure you also think about supporting layer transparency data as an alternate mask.)