processing.opengl

## Class PSurfaceJOGL

- Object
- - PSurfaceJOGL

- All Implemented Interfaces:
    PSurface

      public class PSurfaceJOGL
      extends Object
      implements PSurface

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `PJOGL` | `pgl`
    `static GLProfile` | `profile` Selected GL profile

    - ### Fields inherited from interface PSurface

      `MIN_WINDOW_HEIGHT, MIN_WINDOW_WIDTH`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `PSurfaceJOGL(PGraphics graphics)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `Component` | `getComponent()`
    `Object` | `getNative()` Get the native window object associated with this drawing surface.
    `float` | `getPixelScale()`
    `void` | `hideCursor()`
    `void` | `initFrame(PApplet sketch)`
    `void` | `initOffscreen(PApplet sketch)`
    `boolean` | `isStopped()`
    `void` | `pauseThread()` On the next trip through the animation thread, things should go sleepy-bye.
    `void` | `placePresent(int stopColor)`
    `void` | `placeWindow(int[] location, int[] editorLocation)`
    `void` | `requestFocus()`
    `void` | `resumeThread()`
    `void` | `setAlwaysOnTop(boolean always)` Dumb name, but inherited from Frame and no better ideas.
    `void` | `setCursor(int kind)`
    `void` | `setCursor(PImage image, int hotspotX, int hotspotY)`
    `void` | `setFrameRate(float fps)` Called by `PApplet.createGraphics(int, int)` to initialize the `PGraphics.image` object with an image that's compatible with this drawing surface/display/hardware.
    `void` | `setIcon(PImage icon)`
    `void` | `setLocation(int x, int y)`
    `void` | `setResizable(boolean resizable)` Set true if we want to resize things (default is not resizable)
    `void` | `setSize(int width, int height)`
    `void` | `setSmooth(int level)`
    `void` | `setTitle(String title)` Set the window (and dock, or whatever necessary) title.
    `void` | `setupExternalMessages()`
    `void` | `setVisible(boolean visible)` Show or hide the window.
    `void` | `showCursor()`
    `void` | `startThread()` Start the animation thread
    `boolean` | `stopThread()` Stop the animation thread (set it null)

    - ### Methods inherited from class Object

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

- - ### Field Detail

    - #### profile

          public static GLProfile profile

      Selected GL profile

    - #### pgl

          public PJOGL pgl

  - ### Constructor Detail

    - #### PSurfaceJOGL

          public PSurfaceJOGL(PGraphics graphics)

  - ### Method Detail

    - #### initOffscreen

          public void initOffscreen(PApplet sketch)

      Specified by:
        `initOffscreen` in interface `PSurface`

    - #### initFrame

          public void initFrame(PApplet sketch)

      Specified by:
        `initFrame` in interface `PSurface`

    - #### getNative

          public Object getNative()

      Description copied from interface: `PSurface`
      Get the native window object associated with this drawing surface. For Java2D, this will be an AWT Frame object. For OpenGL, the window. The data returned here is subject to the whims of the renderer, and using this method means you're willing to deal with underlying implementation changes and that you won't throw a fit like a toddler if your code breaks sometime in the future.
      Specified by:
        `getNative` in interface `PSurface`

    - #### setTitle

          public void setTitle(String title)

      Description copied from interface: `PSurface`
      Set the window (and dock, or whatever necessary) title.
      Specified by:
        `setTitle` in interface `PSurface`

    - #### setVisible

          public void setVisible(boolean visible)

      Description copied from interface: `PSurface`
      Show or hide the window.
      Specified by:
        `setVisible` in interface `PSurface`

    - #### setResizable

          public void setResizable(boolean resizable)

      Description copied from interface: `PSurface`
      Set true if we want to resize things (default is not resizable)
      Specified by:
        `setResizable` in interface `PSurface`

    - #### setIcon

          public void setIcon(PImage icon)

      Specified by:
        `setIcon` in interface `PSurface`

    - #### setAlwaysOnTop

          public void setAlwaysOnTop(boolean always)

      Description copied from interface: `PSurface`
      Dumb name, but inherited from Frame and no better ideas.
      Specified by:
        `setAlwaysOnTop` in interface `PSurface`

    - #### placeWindow

          public void placeWindow(int[] location,
                                  int[] editorLocation)

      Specified by:
        `placeWindow` in interface `PSurface`

    - #### placePresent

          public void placePresent(int stopColor)

      Specified by:
        `placePresent` in interface `PSurface`

    - #### setupExternalMessages

          public void setupExternalMessages()

      Specified by:
        `setupExternalMessages` in interface `PSurface`

    - #### startThread

          public void startThread()

      Description copied from interface: `PSurface`
      Start the animation thread
      Specified by:
        `startThread` in interface `PSurface`

    - #### pauseThread

          public void pauseThread()

      Description copied from interface: `PSurface`
      On the next trip through the animation thread, things should go sleepy-bye. Does not pause the thread immediately because that needs to happen on the animation thread itself, so fires on the next trip through draw().
      Specified by:
        `pauseThread` in interface `PSurface`

    - #### resumeThread

          public void resumeThread()

      Specified by:
        `resumeThread` in interface `PSurface`

    - #### stopThread

          public boolean stopThread()

      Description copied from interface: `PSurface`
      Stop the animation thread (set it null)
      Specified by:
        `stopThread` in interface `PSurface`
      Returns:
        false if already stopped

    - #### isStopped

          public boolean isStopped()

      Specified by:
        `isStopped` in interface `PSurface`

    - #### setLocation

          public void setLocation(int x,
                                  int y)

      Specified by:
        `setLocation` in interface `PSurface`

    - #### setSize

          public void setSize(int width,
                              int height)

      Specified by:
        `setSize` in interface `PSurface`

    - #### getPixelScale

          public float getPixelScale()

    - #### getComponent

          public Component getComponent()

    - #### setSmooth

          public void setSmooth(int level)

    - #### setFrameRate

          public void setFrameRate(float fps)

      Description copied from interface: `PSurface`
      Called by `PApplet.createGraphics(int, int)` to initialize the `PGraphics.image` object with an image that's compatible with this drawing surface/display/hardware.
      Specified by:
        `setFrameRate` in interface `PSurface`

    - #### requestFocus

          public void requestFocus()

    - #### setCursor

          public void setCursor(int kind)

      Specified by:
        `setCursor` in interface `PSurface`

    - #### setCursor

          public void setCursor(PImage image,
                                int hotspotX,
                                int hotspotY)

      Specified by:
        `setCursor` in interface `PSurface`

    - #### showCursor

          public void showCursor()

      Specified by:
        `showCursor` in interface `PSurface`

    - #### hideCursor

          public void hideCursor()

      Specified by:
        `hideCursor` in interface `PSurface`