Package io.rong.imkit.picture.widget.longimage

## Interface ImageRegionDecoder

- All Implemented Interfaces:

      public interface ImageRegionDecoder

  Interface for image decoding classes, allowing the default based on the Skia library to be replaced with a custom class.

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class | Description
    --- | --- | ---

  - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---

  - ### Enum Constant Summary

    Enum Constants
    Enum Constant | Description
    --- | ---

  - ### Method Summary

    Modifier and Type | Method | Description
    --- | --- | ---
    `abstract Point` | `init(Context context, Uri uri)` | Initialise the decoder.
    `abstract Bitmap` | `decodeRegion(Rect sRect, int sampleSize)` | Decode a region of the image with the given sample size.
    `abstract boolean` | `isReady()` | Status check.
    `abstract void` | `recycle()` | This method will be called when the decoder is no longer required.

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

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

- - ### Constructor Detail

  - ### Method Detail

    - #### init

           abstract Point init(Context context, Uri uri)

      Initialise the decoder. When possible, initial setup work once in this method. This method must return the dimensions of the image. The URI can be in one of the following formats: File: file:///scard/picture.jpg Asset: file:///android_asset/picture.png Resource: android.resource://com.example.app/drawable/picture

      Parameters:
        `context` - Application context.
        `uri` - URI of the image.
      Returns:

        Dimensions of the image.

    - #### decodeRegion

           abstract Bitmap decodeRegion(Rect sRect, int sampleSize)

      Decode a region of the image with the given sample size. This method is called off the UI thread so it can safely load the image on the current thread. It is called from an running in a single threaded executor, and while a synchronization lock is held on this object, so will never be called concurrently even if the decoder implementation supports it.

      Parameters:
        `sRect` - Source image rectangle to decode.
        `sampleSize` - Sample size.
      Returns:

        The decoded region. It is safe to return null if decoding fails.

    - #### isReady

           abstract boolean isReady()

      Status check. Should return false before initialisation and after recycle.

      Returns:

        true if the decoder is ready to be used.

    - #### recycle

           abstract void recycle()

      This method will be called when the decoder is no longer required. It should clean up any resources still in use.