org.apache.poi.hemf.record.emfplus

## Interface HemfPlusBrush.EmfPlusBrushData

- All Superinterfaces:
    GenericRecord
  All Known Implementing Classes:
    HemfPlusBrush.EmfPlusHatchBrushData, HemfPlusBrush.EmfPlusLinearGradientBrushData, HemfPlusBrush.EmfPlusPathGradientBrushData, HemfPlusBrush.EmfPlusSolidBrushData, HemfPlusBrush.EmfPlusTextureBrushData
  Enclosing class:
    HemfPlusBrush

      public static interface HemfPlusBrush.EmfPlusBrushData
      extends GenericRecord

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static BitField` | `BLEND_FACTORS_H` This flag is meaningful in EmfPlusLinearGradientBrushData and EmfPlusPathGradientBrushData objects.
    `static BitField` | `BLEND_FACTORS_V` This flag is meaningful in EmfPlusLinearGradientBrushData objects.
    `static BitField` | `DO_NOT_TRANSFORM` This flag is meaningful in EmfPlusTextureBrushData objects.
    `static BitField` | `FOCUS_SCALES` This flag is meaningful in EmfPlusPathGradientBrushData objects.
    `static BitField` | `IS_GAMMA_CORRECTED` This flag is meaningful in EmfPlusLinearGradientBrushData, EmfPlusPathGradientBrushData, and EmfPlusTextureBrushData objects.
    `static BitField` | `PATH` This flag is meaningful in EmfPlusPathGradientBrushData objects.
    `static BitField` | `PRESET_COLORS` This flag is meaningful in EmfPlusLinearGradientBrushData and EmfPlusPathGradientBrushData objects.
    `static BitField` | `TRANSFORM` This flag is meaningful in EmfPlusLinearGradientBrushData objects , EmfPlusPathGradientBrushData objects, and EmfPlusTextureBrushData objects.

  - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `applyObject(HemfGraphics ctx, java.util.List<? extends HemfPlusObject.EmfPlusObjectData> continuedObjectData)` Apply brush data to graphics properties
    `void` | `applyPen(HemfGraphics ctx, java.util.List<? extends HemfPlusObject.EmfPlusObjectData> continuedObjectData)` Apply brush data to pen properties
    `long` | `init(LittleEndianInputStream leis, long dataSize)`

    - ### Methods inherited from interface org.apache.poi.common.usermodel.GenericRecord

      `getGenericChildren, getGenericProperties, getGenericRecordType`

- - ### Field Detail

    - #### PATH

          static final BitField PATH

      This flag is meaningful in EmfPlusPathGradientBrushData objects. If set, an EmfPlusBoundaryPathData object MUST be specified in the BoundaryData field of the brush data object. If clear, an EmfPlusBoundaryPointData object MUST be specified in the BoundaryData field of the brush data object.

    - #### TRANSFORM

          static final BitField TRANSFORM

      This flag is meaningful in EmfPlusLinearGradientBrushData objects , EmfPlusPathGradientBrushData objects, and EmfPlusTextureBrushData objects. If set, a 2x3 world space to device space transform matrix MUST be specified in the OptionalData field of the brush data object.

    - #### PRESET_COLORS

          static final BitField PRESET_COLORS

      This flag is meaningful in EmfPlusLinearGradientBrushData and EmfPlusPathGradientBrushData objects. If set, an EmfPlusBlendColors object MUST be specified in the OptionalData field of the brush data object.

    - #### BLEND_FACTORS_H

          static final BitField BLEND_FACTORS_H

      This flag is meaningful in EmfPlusLinearGradientBrushData and EmfPlusPathGradientBrushData objects. If set, an EmfPlusBlendFactors object that specifies a blend pattern along a horizontal gradient MUST be specified in the OptionalData field of the brush data object.

    - #### BLEND_FACTORS_V

          static final BitField BLEND_FACTORS_V

      This flag is meaningful in EmfPlusLinearGradientBrushData objects. If set, an EmfPlusBlendFactors object that specifies a blend pattern along a vertical gradient MUST be specified in the OptionalData field of the brush data object.

    - #### FOCUS_SCALES

          static final BitField FOCUS_SCALES

      This flag is meaningful in EmfPlusPathGradientBrushData objects. If set, an EmfPlusFocusScaleData object MUST be specified in the OptionalData field of the brush data object.

    - #### IS_GAMMA_CORRECTED

          static final BitField IS_GAMMA_CORRECTED

      This flag is meaningful in EmfPlusLinearGradientBrushData, EmfPlusPathGradientBrushData, and EmfPlusTextureBrushData objects. If set, the brush MUST already be gamma corrected; that is, output brightness and intensity have been corrected to match the input image.

    - #### DO_NOT_TRANSFORM

          static final BitField DO_NOT_TRANSFORM

      This flag is meaningful in EmfPlusTextureBrushData objects. If set, a world space to device space transform SHOULD NOT be applied to the texture brush.

  - ### Method Detail

    - #### init

          long init(LittleEndianInputStream leis,
                    long dataSize)
             throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### applyObject

          void applyObject(HemfGraphics ctx,
                           java.util.List<? extends HemfPlusObject.EmfPlusObjectData> continuedObjectData)

      Apply brush data to graphics properties
      Parameters:
        `ctx` - the graphics context
        `continuedObjectData` - the list continued object data

    - #### applyPen

          void applyPen(HemfGraphics ctx,
                        java.util.List<? extends HemfPlusObject.EmfPlusObjectData> continuedObjectData)

      Apply brush data to pen properties
      Parameters:
        `ctx` - the graphics context
        `continuedObjectData` - the list continued object data

Copyright 2020 The Apache Software Foundation or its licensors, as applicable.