org.apache.poi.hwmf.record

## Class HwmfFill.WmfStretchBlt

- java.lang.Object
- - org.apache.poi.hwmf.record.HwmfFill.WmfStretchBlt

- All Implemented Interfaces:
    GenericRecord, HwmfRecord
  Direct Known Subclasses:
    HwmfFill.WmfBitBlt
  Enclosing class:
    HwmfFill

      public static class HwmfFill.WmfStretchBlt
      extends java.lang.Object
      implements HwmfRecord

  The META_STRETCHBLT record specifies the transfer of a block of pixels according to a raster operation, with possible expansion or contraction. The destination of the transfer is the current output region in the playback device context. There are two forms of META_STRETCHBLT, one which specifies a bitmap as the source, and the other which uses the playback device context as the source. Definitions follow for the fields that are the same in the two forms of META_STRETCHBLT are defined below. The subsections that follow specify the packet structures of the two forms of META_STRETCHBLT. The expansion or contraction is performed according to the stretching mode currently set in the playback device context, which MUST be a value from the StretchMode.

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected java.awt.geom.Rectangle2D` | `dstBounds` the destination rectangle
    `protected HwmfTernaryRasterOp` | `rasterOperation` A 32-bit unsigned integer that defines how the source pixels, the current brush in the playback device context, and the destination pixels are to be combined to form the new image.
    `protected java.awt.geom.Rectangle2D` | `srcBounds` the source rectangle
    `protected HwmfBitmap16` | `target` A variable-sized Bitmap16 Object that defines source image content.

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `WmfStretchBlt()`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `draw(HwmfGraphics ctx)` Apply the record settings to the graphics context
    `java.awt.geom.Rectangle2D` | `getDstBounds()`
    `java.util.Map<java.lang.String,java.util.function.Supplier<?>>` | `getGenericProperties()`
    `HwmfTernaryRasterOp` | `getRasterOperation()`
    `java.awt.geom.Rectangle2D` | `getSrcBounds()`
    `HwmfBitmap16` | `getTarget()`
    `HwmfRecordType` | `getWmfRecordType()`
    `int` | `init(LittleEndianInputStream leis, long recordSize, int recordFunction)` Init record from stream
    `java.lang.String` | `toString()`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

    - ### Methods inherited from interface org.apache.poi.hwmf.record.HwmfRecord

      `getGenericRecordType`

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

      `getGenericChildren`

- - ### Field Detail

    - #### rasterOperation

          protected HwmfTernaryRasterOp rasterOperation

      A 32-bit unsigned integer that defines how the source pixels, the current brush in the playback device context, and the destination pixels are to be combined to form the new image. This code MUST be one of the values in the Ternary Raster Operation Enumeration

    - #### srcBounds

          protected final java.awt.geom.Rectangle2D srcBounds

      the source rectangle

    - #### dstBounds

          protected final java.awt.geom.Rectangle2D dstBounds

      the destination rectangle

    - #### target

          protected HwmfBitmap16 target

      A variable-sized Bitmap16 Object that defines source image content. This object MUST be specified, even if the raster operation does not require a source.

  - ### Constructor Detail

    - #### WmfStretchBlt

          public WmfStretchBlt()

  - ### Method Detail

    - #### getWmfRecordType

          public HwmfRecordType getWmfRecordType()

      Specified by:
        `getWmfRecordType` in interface `HwmfRecord`

    - #### init

          public int init(LittleEndianInputStream leis,
                          long recordSize,
                          int recordFunction)
                   throws java.io.IOException

      Description copied from interface: `HwmfRecord`
      Init record from stream
      Specified by:
        `init` in interface `HwmfRecord`
      Parameters:
        `leis` - the little endian input stream
      Returns:
        count of processed bytes
      Throws:
        `java.io.IOException`

    - #### draw

          public void draw(HwmfGraphics ctx)

      Description copied from interface: `HwmfRecord`
      Apply the record settings to the graphics context
      Specified by:
        `draw` in interface `HwmfRecord`
      Parameters:
        `ctx` - the graphics context to modify

    - #### toString

          public java.lang.String toString()

      Overrides:
        `toString` in class `java.lang.Object`

    - #### getRasterOperation

          public HwmfTernaryRasterOp getRasterOperation()

    - #### getSrcBounds

          public java.awt.geom.Rectangle2D getSrcBounds()

    - #### getDstBounds

          public java.awt.geom.Rectangle2D getDstBounds()

    - #### getTarget

          public HwmfBitmap16 getTarget()

    - #### getGenericProperties

          public java.util.Map<java.lang.String,java.util.function.Supplier<?>> getGenericProperties()

      Specified by:
        `getGenericProperties` in interface `GenericRecord`

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