<?xml version="1.0" encoding="UTF-8"?>
<fpdoc-descriptions>
  <package name="lazutils">
    <!--
    ====================================================================
      GraphType
    ====================================================================
    -->
    <module name="GraphType">
      <short>
        Definitions of several special types (including Raw Image) to be used for graphics.
        </short>
      <descr>
        <p>
          <file>graphtype.pp</file> contains graphic-related platform-independent types and utility functions.
        </p>
        <p>
          This file is part of the <file>LazUtils</file> package.
        </p>
      </descr>

      <!-- unresolved references -->
      <element name="Classes"/>
      <element name="SysUtils"/>
      <element name="Types"/>
      <element name="Math"/>
      <element name="System.UITypes"/>
      <element name="FPCAdds"/>
      <element name="LazLoggerBase"/>

      <element name="TGraphicsColor">
        <short>Defines the Integer range type with values that can be used for colors.</short>
        <descr>
          <p>
            TGraphicsColor is an alias to the range type used for color constants. The base type for the definition is dependent on the FPC compiler version used to build the LazUtils package.
          </p>
          <p>
            Starting in FPC version 3.2.3, the base type is the TColor type defined in the System.UITypes namespace in the FPC run-time library (RTL). For previous compiler versions, the base type is the numeric range -$7FFFFFFF-1..$7FFFFFFF.
          </p>
          <p>
            This is done to prevent type conflicts when both System.UITypes and LCL/LazUtils units are used.
          </p>
        </descr>
        <seealso>
          <link id="#lcl.graphics.TColor">TColor</link>
          <!-- link id="#rtl.system.uitypes.TColor"/ -->
        </seealso>
      </element>

      <element name="TGraphicsFillStyle">
        <short>Indicates how a surface area is filled with a given color.</short>
        <descr>
          <p>
            Used in widgetset classes to implement the FloodFill routine and method.
          </p>
        </descr>
        <seealso>
          <link id="#lcl.graphics.TFillStyle">TFillStyle</link>
        </seealso>
      </element>
      <element name="TGraphicsFillStyle.fsSurface">
        <short>
          Fills an area where the pixels have the specified color. Fill color is applied in all directions to pixels with the specified color. Used to fill an area with multiple colors at its boundaries.
        </short>
      </element>
      <element name="TGraphicsFillStyle.fsBorder">
        <short>
          Fills an area bounded by the specified color. Like the Windows FloodFill routine.
        </short>
      </element>

      <element name="TGraphicsBevelCut">
        <short>Represents bevel drawing styles.</short>
        <descr/>
        <seealso/>
      </element>
      <element name="TGraphicsBevelCut.bvNone">
        <short>The bevel is not drawn.</short>
      </element>
      <element name="TGraphicsBevelCut.bvLowered">
        <short>The bevel is drawn with a lowered or inset appearance.</short>
      </element>
      <element name="TGraphicsBevelCut.bvRaised">
        <short>The bevel is drawn with a raised or outset appearance.</short>
      </element>
      <element name="TGraphicsBevelCut.bvSpace">
        <short>
          The bevel is drawn as a space using the required width, netiher inset nor outset.
        </short>
      </element>

      <element name="TGraphicsDrawEffect">
        <short>Represents drawing effects which can be applied to graphic elements.</short>
        <descr/>
        <seealso/>
      </element>
      <element name="TGraphicsDrawEffect.gdeNormal">
        <short>No drawing effect.</short>
      </element>
      <element name="TGraphicsDrawEffect.gdeDisabled">
        <short>Drawn with a grayed image.</short>
      </element>
      <element name="TGraphicsDrawEffect.gdeHighlighted">
        <short>Drawn with a highlighted image.</short>
      </element>
      <element name="TGraphicsDrawEffect.gdeShadowed">
        <short>Drawn with a shadowed image.</short>
      </element>
      <element name="TGraphicsDrawEffect.gde1Bit">
        <short>1-Bit image (for non-XP windows buttons).</short>
      </element>

      <element name="TRawImageColorFormat">
        <short>Color format for raw image data.</short>
        <descr>
          <p>
            Color format for raw image data. A raw image can contain RGBA or monochrome pixels.
          </p>
          <p>
            Higher values means higher intensity. For example: Red=0 means no Red, Alpha=0 means transparent.
          </p>
        </descr>
        <seealso/>
      </element>
      <element name="TRawImageColorFormat.ricfNone">
        <short>ricfNone indicates an uninitialized image.</short>
      </element>
      <element name="TRawImageColorFormat.ricfRGBA">
        <short>
          Each pixel contains red, green, blue and alpha values. If AlphaPrec=0 then there is no alpha channel. Same for RedPrec, GreenPrec and BluePrec.
        </short>
      </element>
      <element name="TRawImageColorFormat.ricfGray">
        <short>
           Red, Green, and Blue have the same values. Red stores the Gray. AlphaPrec can be &gt;0.
        </short>
      </element>

      <element name="TRawImageByteOrder">
        <short>The LSB/MSB-first byte order of pixel data.</short>
        <descr/>
        <seealso/>
      </element>
      <element name="TRawImageByteOrder.riboLSBFirst">
        <short>Least Significant Byte first.</short>
      </element>
      <element name="TRawImageByteOrder.riboMSBFirst">
        <short>Most SignificantBbyte first.</short>
      </element>

      <element name="TRawImageBitOrder">
        <short>Bit order for raw image data scan lines.</short>
        <descr>
          The first pixel in a raw image line can be the left or right pixel of the displayed image.
        </descr>
        <seealso/>
      </element>
      <element name="TRawImageBitOrder.riboBitsInOrder">
        <short>Bit 0 represents first pixel.</short>
      </element>
      <element name="TRawImageBitOrder.riboReversedBits">
        <short>Bit 0 represents highest pixel.</short>

      </element>

      <element name="TRawImageLineEnd">
        <short>The alignment of raw image scanlines.</short>
        <descr/>
        <seealso/>
      </element>
      <element name="TRawImageLineEnd.rileTight">
        <short>
          No gap at the end of Scanlines; Scanlines can begin inside a byte boundary.
        </short>
      </element>
      <element name="TRawImageLineEnd.rileByteBoundary">
        <short>Scanlines start on a byte boundary.</short>
      </element>
      <element name="TRawImageLineEnd.rileWordBoundary">
        <short>Scanlines start at a 16-bit boundary.</short>
      </element>
      <element name="TRawImageLineEnd.rileDWordBoundary">
        <short>Scanlines start at a 32-bit (DWORD) boundary.</short>
      </element>
      <element name="TRawImageLineEnd.rileQWordBoundary">
        <short>Scanlines start at a 64-bit (QWORD) boundary.</short>
      </element>
      <element name="TRawImageLineEnd.rileDQWordBoundary">
        <short>Scanlines start at a 128-bit boundary.</short>
      </element>

      <element name="TRawImageLineOrder">
        <short>
          The first stored line of pixels can represent the logical top or bottom of the displayed image.
        </short>
        <descr/>
        <seealso/>
      </element>
      <element name="TRawImageLineOrder.riloTopToBottom">
        <short>First scanline at the top.</short>
      </element>
      <element name="TRawImageLineOrder.riloBottomToTop">
        <short>First scanline at the bottom.</short>
      </element>

      <element name="TRawImageQueryFlag">
        <short>Image formats supported by a device, or present in image data.</short>
        <descr/>
        <seealso/>
      </element>
      <element name="TRawImageQueryFlag.riqfMono">
        <short>Include a description for a mono image.</short>
      </element>
      <element name="TRawImageQueryFlag.riqfGrey">
        <short>Include a description for a grey image.</short>
      </element>
      <element name="TRawImageQueryFlag.riqfRGB">
        <short>Include a description for an RGB image.</short>
      </element>
      <element name="TRawImageQueryFlag.riqfAlpha">
        <short>Include a description for an Alpha channel.</short>
      </element>
      <element name="TRawImageQueryFlag.riqfMask">
        <short>Include a description for a Mask.</short>
      </element>
      <element name="TRawImageQueryFlag.riqfPalette">
        <short>Include a description for a Palette.</short>
      </element>
      <element name="TRawImageQueryFlag.riqfUpdate">
        <short>Update given description (instead of clearing it).</short>
      </element>

      <element name="TRawImageQueryFlags">
        <short>Set type used to store values from the TRawImageQueryFlag enumeration.</short>
        <descr>
          <p>
            Passed as an argument to routines in the LCL interface an widgetset classes. Used to determine when the image descriptor for raw image data needs to be read from its device context or handle.
          </p>
        </descr>
        <seealso>
          <link id="TRawImageQueryFlag"/>
        </seealso>
      </element>

      <element name="TRawImageDescription">
        <short>
          Descriptor object for the image format of devices and raw (uncompressed) image data.
        </short>
        <descr>
          <p>
            This effectively is a record with some attached methods. More related procedures exist outside the object.
          </p>
          <p>
            The object describes the presence and exact storage of the RGBA image and mask pixels, of a device or image. The color information is stored in aligned scanlines.
          </p>
          <p>
            Note: palettes, BitOrder and ByteOrder seem not to be implemented yet. The meaning of the PaletteXXX values and of BitOrder is undefined, so far.
          </p>
          <p>
            xxxBitsPerPixel and xxxPrecisionMask applies to color data. For masked images, the pixels and the mask are two different arrays, containing different elements.
          </p>
          </descr>
        <seealso>
          <link id="TRawImage"/>
        </seealso>
      </element>

      <element name="TRawImageDescription.Format">
        <short>An initialized image can contain color (RGBA) or monochrome pixels.</short>
        <descr>
          <var>ricfNone</var> indicates an uninitialized image.
        </descr>
        <seealso/>
      </element>

      <element name="TRawImageDescription.Width">
        <short>Width of the image in pixels.</short>
        <descr/>
        <seealso/>
      </element>

      <element name="TRawImageDescription.Height">
        <short>Height of the image in pixels.</short>
        <descr/>
        <seealso/>
      </element>

      <element name="TRawImageDescription.Depth">
        <short>Number of bits used per pixel.</short>
        <descr>
          The color and pixel storage can be subject to alignment, so that the logical color Depth can be less than the physical BitsPerPixel.
        </descr>
        <seealso/>
      </element>

      <element name="TRawImageDescription.BitOrder">
        <short>Indicates the bit order for scanlines in the raw image data.</short>
        <descr/>
        <seealso/>
      </element>

      <element name="TRawImageDescription.ByteOrder">
        <short>The LSB/MSB-first byte order for color data.</short>
        <descr/>
        <seealso/>
      </element>

      <element name="TRawImageDescription.LineOrder">
        <short>
          The first stored line of pixels can represent the logical top or bottom of the displayed image.
        </short>
        <descr/>
        <seealso/>
      </element>

      <element name="TRawImageDescription.LineEnd">
        <short>Alignment of the scanlines.</short>
        <descr/>
        <seealso/>
      </element>

      <element name="TRawImageDescription.BitsPerPixel">
        <short>Number of bits stored per pixel.</short>
        <descr>
          <var>BitsPerPixel</var> can be greater than the logical (used) <var>Depth</var>.
        </descr>
        <seealso/>
      </element>

      <element name="TRawImageDescription.RedPrec">
        <short>Bits per pixel in the Red channel.</short>
        <descr/>
        <seealso/>
      </element>

      <element name="TRawImageDescription.RedShift">
        <short>Bit offset of the Red channel in color data.</short>
        <descr/>
        <seealso/>
      </element>

      <element name="TRawImageDescription.GreenPrec">
        <short>Bits per pixel in the Green channel.</short>
        <descr/>
        <seealso/>
      </element>

      <element name="TRawImageDescription.GreenShift">
        <short>Bit offset of the Green channel in color data.</short>
        <descr/>
        <seealso/>
      </element>

      <element name="TRawImageDescription.BluePrec">
        <short>Bits per pixel in the Blue channel.</short>
        <descr/>
        <seealso/>
      </element>

      <element name="TRawImageDescription.BlueShift">
        <short>Bit offset of the Blue channel in color data.</short>
        <descr/>
        <seealso/>
      </element>

      <element name="TRawImageDescription.AlphaPrec">
        <short>Bits per pixel in the Alpha channel.</short>
        <descr/>
        <seealso/>
      </element>

      <element name="TRawImageDescription.AlphaShift">
        <short>Bit offset of the Alpha channel in color data.</short>
        <descr/>
        <seealso/>
      </element>

      <element name="TRawImageDescription.MaskBitsPerPixel">
        <short>Bits per mask pixel, usually 1, 0 when no mask.</short>
        <descr>
          <p>
            Mask-related properties are only valid if there is a mask (MaskBitsPerPixel > 0).
          </p>
          <p>
            A pixel Mask currently has a logical depth of 1 bit per pixel, but a pixel can occupy an entire byte. As opposed to the Alpha (transparency) channel, a Mask is stored in its own array. A Mask value of 1 means that the pixel is masked (transparent); a value of 0 means the pixel value is shown (opaque).
          </p>
        </descr>
        <seealso/>
      </element>

      <element name="TRawImageDescription.MaskShift">
        <short>The bit offset of the mask bit.</short>
        <descr/>
        <seealso/>
      </element>

      <element name="TRawImageDescription.MaskLineEnd">
        <short>Alignment of Mask lines.</short>
        <descr/>
        <seealso/>
      </element>

      <element name="TRawImageDescription.MaskBitOrder">
        <short>Bit order of the Mask.</short>
        <descr/>
        <seealso/>
      </element>

      <element name="TRawImageDescription.PaletteColorCount">
        <short>Entries in the color palette, 0 when no palette.</short>
        <descr>
          <p>
            Palette-related properties are only valid if there is a palette (PaletteColorCount > 0).
          </p>
        </descr>
        <seealso/>
      </element>

      <element name="TRawImageDescription.PaletteBitsPerIndex">
        <short>Bits per palette index, stored in the pixel data.</short>
        <descr>
          <p>
            When a palette is used, the color description fields apply to the palette colors, while pixel data contains the palette index. Then Depth applies to the size of the palette colors, and the pixel data is described by PaletteBitsPerIndex and PaletteShift.
          </p>
        </descr>
        <errors>[ palettes are not yet implemented ]</errors>
        <seealso/>
      </element>

      <element name="TRawImageDescription.PaletteShift">
        <short>Bit shift direction from least to most significant.</short>
        <descr/>
        <seealso/>
      </element>

      <element name="TRawImageDescription.PaletteLineEnd">
        <short>
          Indicates the alignment or padding used at the end of a scanline in the raw image data.
        </short>
        <descr>
          <p>
            Valid when PaletteColorCount has a positive non-zero value.
          </p>
        </descr>
        <seealso/>
      </element>

      <element name="TRawImageDescription.PaletteBitOrder">
        <short>Bit order of the palette indices.</short>
        <descr/>
        <seealso/>
      </element>

      <element name="TRawImageDescription.PaletteByteOrder">
        <short>Byte order of the palette indices.</short>
        <descr/>
        <seealso/>
      </element>

      <element name="TRawImageDescription.Init">
        <short>Initialize the image descriptor to all zeroes.</short>
        <descr>
          <p>
            A constructor cannot be used here, it would break compatibility with a record.
          </p>
        </descr>
        <seealso/>
      </element>

      <element name="TRawImageDescription.Init_BPP1">
        <short>1-bit mono format.</short>
        <descr/>
        <seealso/>
      </element>
      <element name="TRawImageDescription.Init_BPP1.Width">
        <short/>
      </element>
      <element name="TRawImageDescription.Init_BPP1.Height">
        <short/>
      </element>

      <element name="TRawImageDescription.Init_BPP16_R5G6B5">
        <short>16-bit format.</short>
        <descr/>
        <seealso/>
      </element>
      <element name="TRawImageDescription.Init_BPP16_R5G6B5.AWidth">
        <short/>
      </element>
      <element name="TRawImageDescription.Init_BPP16_R5G6B5.AHeight">
        <short/>
      </element>

      <element name="TRawImageDescription.Init_BPP24_R8G8B8_BIO_TTB">
        <short>24-bit format with bits in RGB order from top to bottom.</short>
        <descr/>
        <seealso/>
      </element>
      <element name="TRawImageDescription.Init_BPP24_R8G8B8_BIO_TTB.AWidth">
        <short/>
      </element>
      <element name="TRawImageDescription.Init_BPP24_R8G8B8_BIO_TTB.AHeight">
        <short/>
      </element>

      <element name="TRawImageDescription.Init_BPP24_R8G8B8_BIO_TTB_UpsideDown">
        <short>24-bit format with bits in RGB order from bottom to top.</short>
        <descr/>
        <seealso/>
      </element>
      <element name="TRawImageDescription.Init_BPP24_R8G8B8_BIO_TTB_UpsideDown.AWidth">
        <short/>
      </element>
      <element name="TRawImageDescription.Init_BPP24_R8G8B8_BIO_TTB_UpsideDown.AHeight">
        <short/>
      </element>

      <element name="TRawImageDescription.Init_BPP32_A8R8G8B8_BIO_TTB">
        <short>
          32-bit format with an Alpha channel, bits in RGB order from top to bottom.
        </short>
        <descr/>
        <seealso/>
      </element>
      <element name="TRawImageDescription.Init_BPP32_A8R8G8B8_BIO_TTB.AWidth">
        <short/>
      </element>
      <element name="TRawImageDescription.Init_BPP32_A8R8G8B8_BIO_TTB.AHeight">
        <short/>
      </element>

      <element name="TRawImageDescription.Init_BPP32_R8G8B8A8_BIO_TTB">
        <short>
          32-bit format with bits in RGB order plus an Alpha channel, ordered from top to bottom.
        </short>
        <descr/>
        <seealso/>
      </element>
      <element name="TRawImageDescription.Init_BPP32_R8G8B8A8_BIO_TTB.AWidth">
        <short/>
      </element>
      <element name="TRawImageDescription.Init_BPP32_R8G8B8A8_BIO_TTB.AHeight">
        <short/>
      </element>

      <element name="TRawImageDescription.Init_BPP24_B8G8R8_BIO_TTB">
        <short>Init for an unmasked 24 bit RGB image (LSB Blue).</short>
        <descr>
          <p>Init_BPP24_B8G8R8_BIO_TTB - initiator for specified format</p>
<code>
{ pf24bit:
  Format=ricfRGBA HasPalette=false Depth=24 PaletteColorCount=0
  BitOrder=riboBitsInOrder ByteOrder=DefaultByteOrder
  LineOrder=riloTopToBottom
  BitsPerPixel=24 LineEnd=rileDWordBoundary
  RedPrec=8 RedShift=16 GreenPrec=8 GreenShift=8 BluePrec=8 BlueShift=0
}</code>
          </descr>
        </element>

        <element name="TRawImageDescription.Init_BPP24_B8G8R8_M1_BIO_TTB">
          <short>Init for a masked 24 bit RGB image (LSB Blue).</short>
          <descr>
            <p>Init_BPP24_B8G8R8_M1_BIO_TTB - initiator for specified format</p>
  <code>
  { pf24bit:
    Format=ricfRGBA HasPalette=false Depth=24 PaletteColorCount=0
    BitOrder=riboBitsInOrder ByteOrder=DefaultByteOrder
    LineOrder=riloTopToBottom
    BitsPerPixel=24 LineEnd=rileDWordBoundary
    RedPrec=8 RedShift=16 GreenPrec=8 GreenShift=8 BluePrec=8 BlueShift=0
    Masked
  }</code>
          </descr>
        </element>

        <element name="TRawImageDescription.Init_BPP32_B8G8R8_BIO_TTB">
          <short>Init for an unmasked 32 bit RGB image (LSB blue).</short>
          <descr>
            <p>
              <var>Init_BPP32_B8G8R8_BIO_TTB</var> - initiator for specified format</p>
  <code>
  { pf32bit:
    Format=ricfRGBA HasPalette=false Depth=24 PaletteColorCount=0
    BitOrder=riboBitsInOrder ByteOrder=DefaultByteOrder
    LineOrder=riloTopToBottom
    BitsPerPixel=32 LineEnd=rileDWordBoundary
    RedPrec=8 RedShift=16 GreenPrec=8 GreenShift=8 BluePrec=8 BlueShift=0
    No alpha
    No mask
  }</code>
          </descr>
        </element>
        <element name="TRawImageDescription.Init_BPP32_B8G8R8_M1_BIO_TTB">
          <short>Init for a masked 32 bit RGB image (LSB blue).</short>
          <descr>
            <p>
              <var>Init_BPP32_B8G8R8_M1_BIO_TTB</var> - initiator for specified format</p>
  <code>
  { pf32bit:
    Format=ricfRGBA HasPalette=false Depth=24 PaletteColorCount=0
    BitOrder=riboBitsInOrder ByteOrder=DefaultByteOrder
    LineOrder=riloTopToBottom
    BitsPerPixel=32 LineEnd=rileDWordBoundary
    RedPrec=8 RedShift=16 GreenPrec=8 GreenShift=8 BluePrec=8 BlueShift=0
    no alpha
    with mask
  }</code>
          </descr>
        </element>

        <element name="TRawImageDescription.Init_BPP32_B8G8R8A8_BIO_TTB">
          <short>Init for an unmasked 32 bit RGBA image (LSB blue).</short>
          <descr>
            <p>
              <var>Init_BPP32_B8G8R8A8_BIO_TTB</var> - initiator for specified format</p>
  <code>
  { pf32bit:
    Format=ricfRGBA HasPalette=false Depth=32 PaletteColorCount=0
    BitOrder=riboBitsInOrder ByteOrder=DefaultByteOrder
    LineOrder=riloTopToBottom
    BitsPerPixel=32 LineEnd=rileDWordBoundary
    RedPrec=8 RedShift=16 GreenPrec=8 GreenShift=8 BluePrec=8 BlueShift=0
    alpha
    no mask
  }</code>
          </descr>
        </element>

        <element name="TRawImageDescription.Init_BPP32_B8G8R8A8_M1_BIO_TTB">
          <short>Init for a masked 32 bit RGBA image (LSB blue).</short>
          <descr>
            <p>
              <var>Init_BPP32_B8G8R8A8_M1_BIO_TTB</var> - initiator for specified format</p>
  <code>
  { pf32bit:
    Format=ricfRGBA HasPalette=false Depth=32 PaletteColorCount=0
    BitOrder=riboBitsInOrder ByteOrder=DefaultByteOrder
    LineOrder=riloTopToBottom
    BitsPerPixel=32 LineEnd=rileDWordBoundary
    RedPrec=8 RedShift=16 GreenPrec=8 GreenShift=8 BluePrec=8 BlueShift=0
    alpha
    masked
  }</code>
          </descr>
        </element>

        <element name="TRawImageDescription.GetDescriptionFromMask">
          <short>
            Returns an monochrome image descriptor constructed from the Mask.
        </short>
          <descr/>
          <seealso/>
        </element>

        <element name="TRawImageDescription.GetDescriptionFromAlpha">
          <short>
            Returns an monochrome image descriptor constructed from the Alpha channel.
        </short>
          <descr/>
          <seealso/>
        </element>

        <element name="TRawImageDescription.GetRGBIndices">
          <short>Gets the indices of channels in four-element array.</short>
          <descr/>
          <seealso/>
        </element>
        <element name="TRawImageDescription.GetRGBIndices.Ridx">
          <short/>
        </element>
        <element name="TRawImageDescription.GetRGBIndices.Gidx">
          <short/>
        </element>
        <element name="TRawImageDescription.GetRGBIndices.Bidx">
          <short/>
        </element>
        <element name="TRawImageDescription.GetRGBIndices.Aidx">
          <short/>
        </element>

        <element name="TRawImageDescription.BytesPerLine">
          <short>The number of bytes per scanline.</short>
          <descr/>
          <seealso/>
        </element>

        <element name="TRawImageDescription.BitsPerLine">
          <short>The number of bits per scanline.</short>
          <descr/>
          <seealso/>
        </element>

        <element name="TRawImageDescription.MaskBytesPerLine">
          <short>The number of bytes per Mask scanline.</short>
          <descr/>
          <seealso/>
        </element>

        <element name="TRawImageDescription.MaskBitsPerLine">
          <short>The number of bits per Mask scanline.</short>
          <descr/>
          <seealso/>
        </element>

        <element name="TRawImageDescription.AsString">
          <short>The image descriptor as a string.</short>
          <descr/>
          <seealso/>
        </element>

        <element name="TRawImageDescription.IsEqual">
          <short>Compares with the given description, returns True if it is equal.</short>
          <descr/>
          <seealso/>
        </element>

      <element name="PRawImageDescription">
        <short>Pointer to <link id="TRawImageDescription"/></short>
        <descr/>
        <seealso/>
      </element>

      <element name="TRawImagePosition">
        <short>Record describing a position in Raw Image data.</short>
        <descr>Byte is the byte offset, Bit the bit number/offset in that byte.</descr>
        <seealso/>
      </element>

      <element name="TRawImagePosition.Byte">
        <short/>
        <descr/>
        <seealso/>
      </element>

      <element name="TRawImagePosition.Bit">
        <short/>
        <descr/>
        <seealso/>
      </element>

      <element name="PRawImagePosition">
        <short>
          <var>PRawImagePosition</var> - pointer to a <var>TRawImagePosition</var>.
        </short>
        <descr/>
        <seealso/>
      </element>

      <element name="TRawImage">
        <short>An uncompressed graphics image (bitmap).</short>
        <descr>
          <p>
            This object hold the pixels, mask and color palette of the image, as well as a detailed <link id="TRawImageDescription">description</link> of the storage format of these parts.
          </p>
          <p>
            This object currently is subject to refactoring, don't use it in application code.
          </p>
        </descr>
        <seealso/>
      </element>

      <element name="TRawImage.Description">
        <short>
          <var>Description</var> record for the Raw Image.</short>
        <descr/>
        <seealso/>
      </element>

      <element name="TRawImage.Data">
        <short>
          <var>Data</var> - a pointer to the actual data of the image.</short>
        <descr/>
        <seealso/>
      </element>

      <element name="TRawImage.DataSize">
        <short><var>DataSize</var> - pointer to the size of the image.</short>
        <descr/>
        <seealso/>
      </element>

      <element name="TRawImage.Mask">
        <short><var>Mask</var> - pointer to the Mask for use with the image.</short>
        <descr/>
        <seealso/>
      </element>

      <element name="TRawImage.MaskSize">
        <short><var>MaskSize</var> - pointer to the size of the mask.</short>
        <descr/>
        <seealso/>
      </element>

      <element name="TRawImage.Palette">
        <short>
          <var>Palette</var> - pointer to the palette of colors for this image.</short>
        <descr/>
        <seealso/>
      </element>

      <element name="TRawImage.PaletteSize">
        <short>
          <var>PaletteSize</var> - pointer to the size of the palette.</short>
        <descr/>
        <seealso/>
      </element>

      <element name="TRawImage.Init">
        <short>
          <var>Init</var> - initiator for the object. Don't use a constructor here, it will break compatibility with a record.
        </short>
        <descr/>
        <seealso/>
      </element>

      <element name="TRawImage.CreateData">
        <short><var>CreateData</var> - method to create the data for the record.
        </short>
        <descr/>
        <seealso/>
      </element>
      <element name="TRawImage.CreateData.AZeroMem">
        <short/>
      </element>

      <element name="TRawImage.FreeData">
        <short>Destroys the allocated Data, Mask and Palette arrays.</short>
        <descr/>
        <seealso/>
      </element>

      <element name="TRawImage.ReleaseData">
        <short>
          <var>ReleaseData</var> - frees the resources when finished with the data.
        </short>
        <descr/>
        <seealso/>
      </element>

      <element name="TRawImage.ExtractRect">
        <short>
          <var>ExtractRect</var> - find the position of the bounding rectangle from the raw data.
        </short>
      </element>
      <element name="TRawImage.ExtractRect.ARect">
        <short/>
      </element>
      <element name="TRawImage.ExtractRect.ADst">
        <short/>
      </element>

      <element name="TRawImage.GetLineStart">
        <short>
          Gets a pointer to the byte position at the beginning of the specified scanline.
        </short>
        <descr>
          <p>
            The return value is Nil if Data has not been assigned in the class instance, and when the ALine argument contains 0 (zero). The pointer position is calculated as the product of ALine and the BytesPerLine setting in the image Description.
          </p>
        </descr>
        <seealso/>
      </element>
      <element name="TRawImage.GetLineStart.Result">
        <short/>
      </element>
      <element name="TRawImage.GetLineStart.ALine">
        <short/>
      </element>

      <element name="TRawImage.PerformEffect">
        <short>
          <var>PerformEffect</var> - applies a specified special effect to the data of the Raw Image.
        </short>
        <descr/>
        <seealso/>
      </element>
      <element name="TRawImage.PerformEffect.ADrawEffect">
        <short/>
      </element>
      <element name="TRawImage.PerformEffect.CreateNewData">
        <short/>
      </element>
      <element name="TRawImage.PerformEffect.FreeOldData">
        <short/>
      </element>

      <element name="TRawImage.ReadBits">
        <short>
          <var>ReadBits</var> - reads the bit values for the raw image data at a given position.
        </short>
        <descr/>
        <seealso/>
      </element>
      <element name="TRawImage.ReadBits.APosition">
        <short/>
      </element>
      <element name="TRawImage.ReadBits.APrec">
        <short/>
      </element>
      <element name="TRawImage.ReadBits.AShift">
        <short/>
      </element>

      <element name="TRawImage.ReadChannels">
        <short>
          Reads the Red, Green, Blue and Alpha channel values at a given position in pixel data.
        </short>
      </element>
      <element name="TRawImage.ReadChannels.APosition">
        <short/>
      </element>
      <element name="TRawImage.ReadChannels.ARed">
        <short/>
      </element>
      <element name="TRawImage.ReadChannels.AGreen">
        <short/>
      </element>
      <element name="TRawImage.ReadChannels.ABlue">
        <short/>
      </element>
      <element name="TRawImage.ReadChannels.AAlpha">
        <short/>
      </element>

      <element name="TRawImage.ReadMask">
        <short>
          Reads the Mask value at the given position in the image data.
        </short>
        <descr>
          Reads the Mask value at the given position in the image data. Returns AMask=True if the pixel is transparent. The position in the Mask data typically differs from the position in the color data.
        </descr>
        <seealso/>
      </element>
      <element name="TRawImage.ReadMask.APosition">
        <short/>
      </element>
      <element name="TRawImage.ReadMask.AMask">
        <short/>
      </element>

      <element name="TRawImage.WriteBits">
        <short>Writes ABits into Data at the given position.</short>
        <descr/>
        <seealso/>
      </element>
      <element name="TRawImage.WriteBits.APosition">
        <short/>
      </element>
      <element name="TRawImage.WriteBits.APrec">
        <short/>
      </element>
      <element name="TRawImage.WriteBits.AShift">
        <short/>
      </element>
      <element name="TRawImage.WriteBits.ABits">
        <short/>
      </element>

      <element name="TRawImage.WriteChannels">
        <short>
          <var>WriteChannels</var> - writes the specified channel values at the nominated position.
        </short>
        <descr/>
        <seealso/>
      </element>
      <element name="TRawImage.WriteChannels.APosition">
        <short/>
      </element>
      <element name="TRawImage.WriteChannels.ARed">
        <short/>
      </element>
      <element name="TRawImage.WriteChannels.AGreen">
        <short/>
      </element>
      <element name="TRawImage.WriteChannels.ABlue">
        <short/>
      </element>
      <element name="TRawImage.WriteChannels.AAlpha">
        <short/>
      </element>

      <element name="TRawImage.WriteMask">
        <short>
          Writes the mask for the raw image when assigned and given a valid bit depth in the image description.
        </short>
        <descr/>
        <seealso/>
      </element>
      <element name="TRawImage.WriteMask.APosition">
        <short/>
      </element>
      <element name="TRawImage.WriteMask.AMask">
        <short/>
      </element>

      <element name="TRawImage.IsMasked">
        <short>
          <var>IsMasked</var> - returns True if the specified pixels are masked.
        </short>
      </element>
      <element name="TRawImage.IsMasked.Result">
        <short/>
      </element>
      <element name="TRawImage.IsMasked.ATestPixels">
        <short/>
      </element>

      <element name="TRawImage.IsTransparent">
        <short>
          <var>IsTransparent</var> - returns True if the specified pixels are transparent.
        </short>
      </element>
      <element name="TRawImage.IsTransparent.Result">
        <short/>
      </element>
      <element name="TRawImage.IsTransparent.ATestPixels">
        <short/>
      </element>

      <element name="TRawImage.IsEqual">
        <short>
          <var>IsEqual</var> - returns True if the current and specified images are equal.</short>
      </element>
      <element name="TRawImage.IsEqual.Result">
        <short/>
      </element>
      <element name="TRawImage.IsEqual.AImage">
        <short/>
      </element>

      <element name="PRawImage">
        <short>
          <var>PRawImage</var> - pointer to a <var>TRawImage</var>.
        </short>
        <descr/>
        <seealso/>
      </element>

      <element name="TRawImageLineStarts">
        <short>
          <var>TRawImageLineStarts</var> - contains a list of the start positions of the lines in the Raw Image.
        </short>
        <descr/>
        <seealso/>
      </element>

      <element name="TRawImageLineStarts.FWidth"/>
      <element name="TRawImageLineStarts.FHeight"/>
      <element name="TRawImageLineStarts.FBitsPerPixel"/>
      <element name="TRawImageLineStarts.FLineEnd"/>
      <element name="TRawImageLineStarts.FLineOrder"/>

      <element name="TRawImageLineStarts.Positions">
        <short>The array of start positions for scanlines in a raw image.</short>
        <descr/>
        <seealso/>
      </element>

      <element name="TRawImageLineStarts.Init">
        <short>
          <var>Init</var> - initiator for the object. Don't use a constructor here, it will break compatibility with a record.
        </short>
        <descr/>
        <seealso/>
      </element>

      <element name="TRawImageLineStarts.GetPosition">
        <short>
          <var>GetPosition</var> - returns the position specified by x, y coordinates as a <var>TRawImagePosition</var>.
        </short>
        <descr/>
        <seealso/>
      </element>
      <element name="TRawImageLineStarts.GetPosition.x">
        <short/>
      </element>
      <element name="TRawImageLineStarts.GetPosition.y">
        <short/>
      </element>

      <element name="PRawImageLineStarts">
        <short>
          <var>PRawImageLineStarts</var> - pointer to <var>TRawImageLineStarts</var>.
        </short>
        <descr/>
        <seealso/>
      </element>

      <element name="DefaultByteOrder">
        <short>
          Byte order for raw image data on the platform or widgetset.
        </short>
        <descr>
          Value from TRawImageByteOrder with the byte order (Endian-ness) for the platform or widgetset
        </descr>
        <seealso/>
      </element>

      <element name="GetBytesPerLine">
        <short>
          <var>GetBytesPerLine</var> - returns the number of bytes per line (as a pointer).
        </short>
        <descr/>
        <seealso/>
      </element>
      <element name="GetBytesPerLine.Result">
        <short/>
      </element>
      <element name="GetBytesPerLine.AWidth">
        <short/>
      </element>
      <element name="GetBytesPerLine.ABitsPerPixel">
        <short/>
      </element>
      <element name="GetBytesPerLine.ALineEnd">
        <short/>
      </element>

      <element name="GetBitsPerLine">
        <short>
          <var>GetBitsPerLine</var> - returns the number of bits per line (as a pointer).
        </short>
        <descr/>
        <seealso/>
      </element>
      <element name="GetBitsPerLine.Result">
        <short/>
      </element>
      <element name="GetBitsPerLine.AWidth">
        <short/>
      </element>
      <element name="GetBitsPerLine.ABitsPerPixel">
        <short/>
      </element>
      <element name="GetBitsPerLine.ALineEnd">
        <short/>
      </element>

      <element name="CopyImageData">
        <short>
          <var>CopyImageData</var> - copies data from <var>ASource</var> to <var>ADestination</var>, returning True if successful.
        </short>
        <descr/>
        <seealso/>
      </element>
      <element name="CopyImageData.Result">
        <short/>
      </element>
      <element name="CopyImageData.AWidth">
        <short/>
      </element>
      <element name="CopyImageData.AHeight">
        <short/>
      </element>
      <element name="CopyImageData.ARowStride">
        <short/>
      </element>
      <element name="CopyImageData.ABPP">
        <short/>
      </element>
      <element name="CopyImageData.ASource">
        <short/>
      </element>
      <element name="CopyImageData.ARect">
        <short/>
      </element>
      <element name="CopyImageData.ASourceOrder">
        <short/>
      </element>
      <element name="CopyImageData.ADestinationOrder">
        <short/>
      </element>
      <element name="CopyImageData.ADestinationEnd">
        <short/>
      </element>
      <element name="CopyImageData.ADestination">
        <short/>
      </element>
      <element name="CopyImageData.ASize">
        <short/>
      </element>

      <element name="RawImageQueryFlagsToString">
        <short>Converts the specified set of raw image query flags to a String value.</short>
        <descr/>
        <seealso/>
      </element>
      <element name="RawImageQueryFlagsToString.Result">
        <short/>
      </element>
      <element name="RawImageQueryFlagsToString.AFlags">
        <short/>
      </element>

      <element name="MissingBits">
        <short>
          Used to pad bit data in a raw image to specific precisions and byte boundaries.
        </short>
        <descr>
          Used to pad bit data in a raw image to specific precisions and byte boundaries.
        </descr>
        <seealso/>
      </element>

    </module>
    <!-- GraphType -->
  </package>
</fpdoc-descriptions>
