Package com.avaya.clientservices.media.gui

## Class VideoLayer

- java.lang.Object
- - com.avaya.clientservices.media.gui.NativeObject
  - - com.avaya.clientservices.media.gui.VideoSink
    - - com.avaya.clientservices.media.gui.VideoLayer

- All Implemented Interfaces:
    `Destroyable`, `Positionable`, `Renderable`
  Direct Known Subclasses:
    `VideoLayerLocal`, `VideoLayerRemote`

      public abstract class VideoLayer
      extends VideoSink
      implements Positionable, Renderable

  Base class for local and remote video layers.

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `VideoLayer()` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `destroy()` | Call this method when finished with the object; which will release the underlying C++ object.
    `void` | `onDrawFrame​(double time)`
    `void` | `onSurfaceChanged​(int width, int height)`
    `void` | `onSurfaceCreated()`
    `void` | `setBounds​(int x, int y, int width, int height)`
    `void` | `setListener​(VideoLayerListener listener)` | Registers a listener for changes to video frame properties.
    `void` | `setPosition​(int x, int y)`

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

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

- - ### Constructor Detail

    - #### VideoLayer

          public VideoLayer()

  - ### Method Detail

    - #### destroy

          public void destroy()

      Call this method when finished with the object; which will release the underlying C++ object.
      Specified by:
        `destroy` in interface `Destroyable`
      Overrides:
        `destroy` in class `NativeObject`

    - #### setListener

          public void setListener​(VideoLayerListener listener)

      Registers a listener for changes to video frame properties.
      Parameters:
        `listener` - The listener to register, or `null` to unregister the listener.

    - #### setBounds

          public void setBounds​(int x,
                                int y,
                                int width,
                                int height)

      Specified by:
        `setBounds` in interface `Positionable`

    - #### setPosition

          public void setPosition​(int x,
                                  int y)

      Specified by:
        `setPosition` in interface `Positionable`

    - #### onSurfaceCreated

          public void onSurfaceCreated()

      Specified by:
        `onSurfaceCreated` in interface `Renderable`

    - #### onSurfaceChanged

          public void onSurfaceChanged​(int width,
                                       int height)

      Specified by:
        `onSurfaceChanged` in interface `Renderable`

    - #### onDrawFrame

          public void onDrawFrame​(double time)

      Specified by:
        `onDrawFrame` in interface `Renderable`