public abstract class LwjglWindow extends LwjglContext implements java.lang.Runnable
JmeContext.Type
Modifier and Type | Field and Description |
---|---|
protected boolean |
allowSwapBuffers |
protected boolean |
autoFlush |
protected java.util.concurrent.atomic.AtomicBoolean |
needClose |
protected java.util.concurrent.atomic.AtomicBoolean |
needRestart |
protected boolean |
wasActive |
clContext, clPlatform, created, createdLock, joyInput, keyInput, listener, mouseInput, renderable, renderer, settings, THREAD_NAME, timer
Constructor and Description |
---|
LwjglWindow(JmeContext.Type type) |
Modifier and Type | Method and Description |
---|---|
void |
create(boolean waitFor)
Creates the context and makes it active.
|
protected void |
createContext(AppSettings settings)
Apply the settings, changing resolution, etc.
|
protected void |
deinitInThread()
De-initialize in the OpenGL thread.
|
void |
destroy(boolean waitFor)
Destroys the context completely, making it inactive.
|
protected void |
destroyContext()
Destroy the context.
|
int |
getFramebufferHeight()
Returns the height of the framebuffer.
|
int |
getFramebufferWidth()
Returns the width of the framebuffer.
|
JoyInput |
getJoyInput() |
KeyInput |
getKeyInput() |
MouseInput |
getMouseInput() |
TouchInput |
getTouchInput() |
JmeContext.Type |
getType() |
Vector2f |
getWindowContentScale(Vector2f store)
Get the window content scale, for HiDPI support.
|
long |
getWindowHandle() |
int |
getWindowXPosition()
Returns the screen X coordinate of the left edge of the content area.
|
int |
getWindowYPosition()
Returns the screen Y coordinate of the top edge of the content area.
|
protected boolean |
initInThread()
Does LWJGL display initialization in the OpenGL thread
|
void |
registerWindowSizeListener(WindowSizeListener listener)
Registers the specified listener to get notified when window size changes.
|
void |
removeWindowSizeListener(WindowSizeListener listener)
Removes the specified listener from the listeners list.
|
void |
restart()
Restart if it's a windowed or full-screen display.
|
void |
run() |
protected void |
runLoop()
execute one iteration of the render loop in the OpenGL thread
|
void |
setAutoFlushFrames(boolean enabled) |
void |
setTitle(java.lang.String title)
Set the title if it's a windowed display
|
protected void |
setWindowIcon(AppSettings settings)
Set custom icons to the window of this application.
|
protected void |
showWindow() |
create, createContextAttribs, destroy, determineMaxSamples, getGLVersion, getNumSamplesToUse, getOpenCLContext, getRenderer, getSettings, getSystemListener, getTimer, initContextFirstTime, initOpenCL, internalCreate, internalDestroy, isCreated, isRenderable, loadNatives, printContextInitInfo, reinitContext, setSettings, setSystemListener, waitFor
protected final java.util.concurrent.atomic.AtomicBoolean needClose
protected final java.util.concurrent.atomic.AtomicBoolean needRestart
protected boolean wasActive
protected boolean autoFlush
protected boolean allowSwapBuffers
public LwjglWindow(JmeContext.Type type)
public void registerWindowSizeListener(WindowSizeListener listener)
listener
- The WindowSizeListener to register.public void removeWindowSizeListener(WindowSizeListener listener)
listener
- The WindowSizeListener to remove.public JmeContext.Type getType()
getType
in interface JmeContext
public void setTitle(java.lang.String title)
setTitle
in interface JmeContext
title
- the title to setpublic void restart()
restart
in interface JmeContext
protected void createContext(AppSettings settings)
settings
- the settings to apply when creating the context.protected void showWindow()
protected void setWindowIcon(AppSettings settings)
settings
- settings for getting the iconsprotected void destroyContext()
public void create(boolean waitFor)
JmeContext
create
in interface JmeContext
waitFor
- If true, will wait until context has initialized.protected boolean initInThread()
true
if the context initialization was successfulprotected void runLoop()
protected void deinitInThread()
public void run()
run
in interface java.lang.Runnable
public JoyInput getJoyInput()
getJoyInput
in interface JmeContext
public MouseInput getMouseInput()
getMouseInput
in interface JmeContext
public KeyInput getKeyInput()
getKeyInput
in interface JmeContext
public TouchInput getTouchInput()
getTouchInput
in interface JmeContext
public void setAutoFlushFrames(boolean enabled)
setAutoFlushFrames
in interface JmeContext
enabled
- If enabled, the context will automatically flush
frames to the video card (swap buffers) after an update cycle.public void destroy(boolean waitFor)
JmeContext
destroy
in interface JmeContext
waitFor
- If true, will wait until the context is destroyed fully.public long getWindowHandle()
public Vector2f getWindowContentScale(Vector2f store)
store
- A vector2f to store the resultpublic int getFramebufferHeight()
getFramebufferHeight
in interface JmeContext
getFramebufferHeight
in class LwjglContext
public int getFramebufferWidth()
getFramebufferWidth
in interface JmeContext
getFramebufferWidth
in class LwjglContext
public int getWindowXPosition()
getWindowXPosition
in interface JmeContext
getWindowXPosition
in class LwjglContext
public int getWindowYPosition()
getWindowYPosition
in interface JmeContext
getWindowYPosition
in class LwjglContext