Class Java2DRenderer
- java.lang.Object
-
- nl.colorize.multimedialib.renderer.java2d.Java2DRenderer
-
- All Implemented Interfaces:
Renderer
- Direct Known Subclasses:
HeadlessRenderer
public class Java2DRenderer extends java.lang.Object implements Renderer
Implementation of a renderer that uses APIs from the Java standard library. Graphics are displayed using Java 2D, AWT is used to create windows and capture keyboard events, and Java Sound is used to play audio.The renderer will use two different threads: the rendering thread is used to update the graphics, while the Swing thread is used to listen for user input.
-
-
Constructor Summary
Constructors Constructor Description Java2DRenderer(Canvas canvas, int framerate, WindowOptions options)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidattach(RenderCallback callback)protected voidblitGraphicsContext(java.awt.image.BufferStrategy windowBuffer)Updates the window graphics with the contents of the buffer.protected voiddrawFrame(java.awt.Graphics2D g2)ApplicationDatagetApplicationData(java.lang.String appName)protected NestedRenderCallbackgetCallbacks()CanvasgetCanvas()InputDevicegetInputDevice()InternetAccessgetInternetAccess()MediaLoadergetMediaLoader()nl.colorize.util.PlatformFamilygetPlatform()StagegetStage()GraphicsModegetSupportedGraphicsMode()protected javax.swing.JFrameinitializeWindow(WindowOptions windowOptions)protected voidprepareCanvas()protected java.awt.image.BufferStrategyprepareWindowBuffer()Prepares the window buffer for the current frame.voidstart()java.lang.StringtakeScreenshot()Takes a screenshots of the renderer's current graphics, and saves it to an image.voidterminate()
-
-
-
Constructor Detail
-
Java2DRenderer
public Java2DRenderer(Canvas canvas, int framerate, WindowOptions options)
-
-
Method Detail
-
attach
public void attach(RenderCallback callback)
-
initializeWindow
protected javax.swing.JFrame initializeWindow(WindowOptions windowOptions)
-
getSupportedGraphicsMode
public GraphicsMode getSupportedGraphicsMode()
- Specified by:
getSupportedGraphicsModein interfaceRenderer
-
drawFrame
protected void drawFrame(java.awt.Graphics2D g2)
-
prepareCanvas
protected void prepareCanvas()
-
prepareWindowBuffer
protected java.awt.image.BufferStrategy prepareWindowBuffer()
Prepares the window buffer for the current frame. This buffer will be used to display the graphics once the entire frame has been rendered.
-
blitGraphicsContext
protected void blitGraphicsContext(java.awt.image.BufferStrategy windowBuffer)
Updates the window graphics with the contents of the buffer.
-
getInputDevice
public InputDevice getInputDevice()
- Specified by:
getInputDevicein interfaceRenderer
-
getMediaLoader
public MediaLoader getMediaLoader()
- Specified by:
getMediaLoaderin interfaceRenderer
-
getApplicationData
public ApplicationData getApplicationData(java.lang.String appName)
- Specified by:
getApplicationDatain interfaceRenderer
-
getInternetAccess
public InternetAccess getInternetAccess()
- Specified by:
getInternetAccessin interfaceRenderer
-
takeScreenshot
public java.lang.String takeScreenshot()
Description copied from interface:RendererTakes a screenshots of the renderer's current graphics, and saves it to an image. The image is returned as a data URL for a PNG image.- Specified by:
takeScreenshotin interfaceRenderer
-
getPlatform
public nl.colorize.util.PlatformFamily getPlatform()
- Specified by:
getPlatformin interfaceRenderer
-
terminate
public void terminate()
-
getCallbacks
protected NestedRenderCallback getCallbacks()
-
-