org.xith3d.ui.hud
Class HUD

java.lang.Object
  extended by org.xith3d.ui.hud.HUD
All Implemented Interfaces:
org.jagatoo.datatypes.NamableObject, org.jagatoo.datatypes.NamedObject, org.jagatoo.input.listeners.ControllerListener, org.jagatoo.input.listeners.InputListener, org.jagatoo.input.listeners.InputStateListener, org.jagatoo.input.listeners.KeyboardListener, org.jagatoo.input.listeners.MouseListener, org.jagatoo.input.listeners.MouseStopListener, org.openmali.types.twodee.Positioned2f, org.openmali.types.twodee.Positioned2fRO, org.openmali.types.twodee.Sized2f, org.openmali.types.twodee.Sized2fRO, BackgroundSettable, BackgroundSettableWidget, BorderSettable, PaddingSettable, Widget, WidgetContainer, ScrollbarListener

public class HUD
extends java.lang.Object
implements WidgetContainer, org.jagatoo.input.listeners.InputListener, org.jagatoo.input.listeners.InputStateListener

This is a 3D HUD implementation. A HUD can contain WidgetContainers and Widgets.


Nested Class Summary
 
Nested classes/interfaces inherited from interface org.xith3d.ui.hud.base.WidgetContainer
WidgetContainer.FocusMoveDirection
 
Nested classes/interfaces inherited from interface org.xith3d.ui.hud.base.Widget
Widget.DescriptionBase
 
Field Summary
static int CROSSHAIR_Z_INDEX
           
static int CURSOR_Z_INDEX
           
static int WINDOW_Z_INDEX_UNIT
           
 
Constructor Summary
HUD(int canvasWidth, int canvasHeight)
          Creates a new HUD with a coordinate system with the given width and height
HUD(int canvasWidth, int canvasHeight, float resX)
          Creates a new HUD with a coordinate system with the given width and height
HUD(int canvasWidth, int canvasHeight, float resX, float resY)
          Creates a new HUD with a coordinate system with the given width and height
HUD(int canvasWidth, int canvasHeight, org.openmali.vecmath2.Tuple2f resolution)
          Creates a new HUD with a coordinate system with the given width and height
HUD(org.openmali.types.twodee.Sized2iRO canvas)
          Creates a new HUD with a coordinate system with the given width and height
HUD(org.openmali.types.twodee.Sized2iRO canvas, float resX)
          Creates a new HUD with a coordinate system with the given width and height
HUD(org.openmali.types.twodee.Sized2iRO canvas, float resX, float resY)
          Creates a new HUD with a coordinate system with the given width and height
HUD(org.openmali.types.twodee.Sized2iRO canvas, org.openmali.vecmath2.Tuple2f resolution)
          Creates a new HUD with a coordinate system with the given width and height
 
Method Summary
 void addContainerListener(WidgetContainerListener l)
          Adds a new WidgetContainerListener.
 void addFocusListener(WidgetFocusListener l)
          Adds a new WidgetFocusListener.
 void addGlobalKeyListener(org.jagatoo.input.listeners.KeyboardListener l)
          Adds a new KeyboardListener to be notified of global keyboard events.
 void addInputListener(WidgetInputListener l)
          Adds a new WidgetInputListener.
 void addLocationListener(WidgetLocationListener l)
          Adds a new WidgetLocationListener.
 void addPickMissedListener(HUDPickMissedListener l)
          Adds a new HUDPickMissedListener to be notified of a pick event, that didn't hit any Widget.
 void addSizeListener(WidgetSizeListener l)
          Adds a new WidgetSizeListener.
 void addVisibilityListener(WidgetVisibilityListener l)
          Adds a new WidgetVisibilityListener.
 void addVolatilePopup(Widget widget, Widget assembly, float locX, float locY)
           
 Widget addWidget(Widget widget)
          Adds a Widget to this container at the Widget's location.
 Widget addWidget(Widget widget, float locX, float locY)
          Adds a Widget to this container at the given location.
 Widget addWidget(Widget widget, float locX, float locY, int zIndex)
          Adds a Widget to this container at the given location.
 Widget addWidget(Widget widget, float locX, float locY, int zIndex, java.lang.Object constraints)
          Adds a Widget to this container at the given location.
 Widget addWidget(Widget widget, float locX, float locY, java.lang.Object constraints)
          Adds a Widget to this container at the given location.
 Widget addWidget(Widget widget, java.lang.Object constraints)
          Adds a Widget to this container at the Widget's location.
 Widget addWidget(Widget widget, org.openmali.vecmath2.Tuple2f location)
          Adds a Widget to this container at the given location.
 Widget addWidget(Widget widget, org.openmali.vecmath2.Tuple2f location, int zIndex)
          Adds a Widget to this container at the given location.
 Widget addWidget(Widget widget, org.openmali.vecmath2.Tuple2f location, int zIndex, java.lang.Object constraints)
          Adds a Widget to this container at the given location.
 Widget addWidget(Widget widget, org.openmali.vecmath2.Tuple2f location, java.lang.Object constraints)
          Adds a Widget to this container at the given location.
 Widget addWidgetCentered(Widget widget)
          Adds a Widget to this container at the center.
 Widget addWidgetCentered(Widget widget, int zIndex)
          Adds a Widget to this container at the center.
 void applyMouseCoordinates(int mouseX, int mouseY)
          Applies the current mouse x,y coordinates, so that the custom cursor can be displayed properly.
 void bindFocusMoveAccessor(org.jagatoo.input.devices.components.DeviceComponent comp, WidgetContainer.FocusMoveDirection direction)
          Binds a DeviceComponent to this HUD, that works as a focus-move-accessor for a given direction.
 void bindMouseMovement(Widget widget)
          Bind mouse movement to a Widget.
 void clear()
          Removes all Widgets from this WidgetContainer.
 void connect(org.openmali.types.twodee.ExtSized2i canvas)
          Connects this HUD to the given Sized2i instance (e.g. a Canvas3D) and listenes for its resized event.
 void detach()
          Instantly removes the Widget from its Container.
 void detach(boolean delayed)
          Removes the Widget from its Container.
 void disconnect(org.openmali.types.twodee.ExtSized2i canvas)
          Disconnects this HUD from the given Sized2i instance (e.g. a Canvas3D) and does not listen for its resized event anymore.
 Widget focus(Widget widget)
          Focusses the given Widget (non thread-safe).
 float getAspect()
          
 Widget getAssembly()
          not used
 Texture getBackground()
          
 org.openmali.vecmath2.Colorf getBackgroundColor()
          
 float getBackgroundTileHeight()
          
 org.openmali.types.twodee.Sized2fRO getBackgroundTileSize()
          
 float getBackgroundTileWidth()
          
 Border getBorder()
          
 Widget getCachedToolTipWidget()
          
 org.openmali.vecmath2.Tuple2f getChildrenOffset()
          not used
 float getChildrenOffsetX()
          not used
 float getChildrenOffsetY()
          not used
 WidgetContainer getContainer()
          not used
 ContextMenu getContextMenu()
          
 Dialog getCurrentDialog()
           
 Widget getCurrentFocusedWidget()
          
 Widget getCurrentFocusedWidget(boolean getLeaf)
          
 Widget getCurrentHoveredWidget()
           
 Widget getCurrentMouseBoundWidget()
           
 Widget getCurrentVolatilePopup()
           
 Cursor.Type getCursor()
          
 CursorSet getCursorSet()
           
 float getEqualHeight(float width)
          Calculates a height that's visually equal to the given width.
 float getEqualWidth(float height)
          
 Texture getForeground()
          
 float getHeight()
           
 HUD getHUD()
          
 Cursor.Type getInheritedCursor()
          
 float getInnerAspect()
          
 float getInnerHeight()
          
 org.openmali.vecmath2.Tuple2f getInnerSize()
          
 float getInnerWidth()
          
 LayoutManager getLayout()
          
 float getLeft()
          not used
 org.openmali.vecmath2.Tuple2f getLocation()
          not used
 org.openmali.vecmath2.Tuple2f getLocationCanvas2HUD(int x, int y, org.openmali.vecmath2.Tuple2f buffer)
          Calculates HUD location from these Canvas3D-values.
 org.openmali.vecmath2.Tuple2i getLocationHUD2Canvas(float x, float y, org.openmali.vecmath2.Tuple2i buffer)
          Calculates Canvas3D location from these HUD-values.
 org.openmali.vecmath2.Tuple2f getLocationHUD2SG(float x, float y, org.openmali.vecmath2.Tuple2f buffer)
          Calculates scenegraph location from these HUD-values.
 void getLocationOnHUD(Widget widget, org.openmali.vecmath2.Tuple2f buffer)
          Computes the absolute position of the given Widget on the HUD.
 org.openmali.vecmath2.Tuple2f getLocationSG2HUD(float x, float y, org.openmali.vecmath2.Tuple2f buffer)
          Calculates HUD location from these scenegraph-values.
 long getMouseStopDelay()
          
 java.lang.String getName()
          
 OperationScheduler getOperationScheduler()
           
 float getPaddingBottom()
          
 float getPaddingLeft()
          
 float getPaddingRight()
          
 float getPaddingTop()
          
 ForegroundRenderPass getRenderPass()
          Walks up the Scenegraph to the root BranchGroup.
 float getResAspect()
          
 org.openmali.vecmath2.Tuple2f getResolution()
          
 float getResX()
          
 float getResY()
          
 org.openmali.vecmath2.Tuple2f getScrollScale()
          not used
 float getScrollScaleX()
          not used
 float getScrollScaleY()
          not used
 Group getSGGroup()
          
 Node getSGNode()
          
 float getSGPixelHeight()
          
 org.openmali.types.twodee.Dim2f getSGPixelSize()
          
 float getSGPixelWidth()
          
 float getSGZPosition()
          
 org.openmali.types.twodee.Sized2fRO getSize()
           
 org.openmali.types.twodee.Dim2f getSizeCanvas2HUD(int x, int y, org.openmali.types.twodee.Dim2f buffer)
          Calculates HUD size from these Canvas3D-values.
 org.openmali.types.twodee.Dim2i getSizeHUD2Canvas(float x, float y, org.openmali.types.twodee.Dim2i buffer)
          Calculates Canvas3D size from these HUD-values.
 org.openmali.types.twodee.Dim2f getSizeHUD2SG(float x, float y, org.openmali.types.twodee.Dim2f buffer)
          Calculates scenegraph width and height from these HUD-values.
 org.openmali.types.twodee.Dim2f getSizeOfPixels(int x, int y, org.openmali.types.twodee.Dim2f buffer)
          Retrieves the size these pixels have on this WidgetContainer.
 org.openmali.types.twodee.Dim2f getSizeOnHUD(float x, float y, HUDUnitsMeasurement measure, org.openmali.types.twodee.Dim2f buffer)
          Calculates the HUD coordinates representation of the given size.
 org.openmali.types.twodee.Dim2f getSizeSG2HUD(float x, float y, org.openmali.types.twodee.Dim2f buffer)
          Calculates HUD size from these scenegraph-values.
static WidgetTheme getTheme()
           
 java.lang.String getToolTip()
          
 ToolTipFactory getToolTipFactory()
           
 float getTop()
          not used
 float getTransparency()
          
 java.lang.Object getUserObject()
          
 java.util.List<Widget> getWidgets()
          
 float getWidth()
           
 int getZIndex()
          not used
 boolean hasFocus()
          not used
 boolean hasFocus(boolean testLeaf)
          not used
 boolean hasToolTip()
          
 boolean isClickable()
          not used
 boolean isClippingEnbaled()
          not used
 boolean isConnected()
           
 boolean isCrosshairVisible()
           
 boolean isCursorVisible()
           
 boolean isDraggable()
          not used
 boolean isFocussable()
          
 boolean isPickable()
          not used
 boolean isVisible()
          
 Widget moveFocus(WidgetContainer.FocusMoveDirection direction)
          Moves the focus to the closest widget in the container in the given direction.
 void onControllerAxisChanged(org.jagatoo.input.events.ControllerAxisChangedEvent e, org.jagatoo.input.devices.components.ControllerAxis axis, float axisDelta)
          
 void onControllerAxisChanged(org.jagatoo.input.devices.components.ControllerAxis axis, int axisDelta)
          not used
 void onControllerButtonPressed(org.jagatoo.input.devices.components.ControllerButton button)
          not used
 void onControllerButtonPressed(org.jagatoo.input.events.ControllerButtonPressedEvent e, org.jagatoo.input.devices.components.ControllerButton button)
          
 void onControllerButtonReleased(org.jagatoo.input.devices.components.ControllerButton button)
          not used
 void onControllerButtonReleased(org.jagatoo.input.events.ControllerButtonReleasedEvent e, org.jagatoo.input.devices.components.ControllerButton button)
          
 void onControllerButtonStateChanged(org.jagatoo.input.events.ControllerButtonEvent e, org.jagatoo.input.devices.components.ControllerButton button, boolean state)
          
 void onDetached()
          not used
 void onFocusGained()
          not used
 void onFocusLost()
          not used
 void onInputStateChanged(org.jagatoo.input.devices.components.DeviceComponent comp, int delta, int state, boolean isTopMost, boolean hasFocus)
          not used
 void onInputStateChanged(org.jagatoo.input.events.InputEvent e, org.jagatoo.input.devices.components.DeviceComponent comp, int delta, int state)
          
 void onKeyPressed(org.jagatoo.input.devices.components.Key key, long when)
          not used
 void onKeyPressed(org.jagatoo.input.events.KeyPressedEvent e, org.jagatoo.input.devices.components.Key key)
          
 void onKeyReleased(org.jagatoo.input.devices.components.Key key, long when)
          not used
 void onKeyReleased(org.jagatoo.input.events.KeyReleasedEvent e, org.jagatoo.input.devices.components.Key key)
          
 void onKeyStateChanged(org.jagatoo.input.events.KeyStateEvent e, org.jagatoo.input.devices.components.Key key, boolean state)
           
 void onKeyTyped(char ch, long when)
          not used
 void onKeyTyped(org.jagatoo.input.events.KeyTypedEvent e, char keyChar)
          
 void onMouseButtonClicked(org.jagatoo.input.events.MouseButtonClickedEvent e, org.jagatoo.input.devices.components.MouseButton button, int clickCount)
          
 void onMouseButtonPressed(org.jagatoo.input.devices.components.MouseButton button, int x, int y, long when, long lastWhen, boolean isTopMost, boolean hasFocus)
          not used
 void onMouseButtonPressed(org.jagatoo.input.events.MouseButtonPressedEvent e, org.jagatoo.input.devices.components.MouseButton button)
          
 void onMouseButtonReleased(org.jagatoo.input.devices.components.MouseButton button, int x, int y, long when, long lastWhen, boolean isTopMost, boolean hasFocus)
          not used
 void onMouseButtonReleased(org.jagatoo.input.events.MouseButtonReleasedEvent e, org.jagatoo.input.devices.components.MouseButton button)
          
 void onMouseButtonStateChanged(org.jagatoo.input.events.MouseButtonEvent e, org.jagatoo.input.devices.components.MouseButton button, boolean state)
           
 void onMouseEntered(boolean isTopMost, boolean hasFocus)
          not used
 void onMouseLeft(boolean isTopMost, boolean hasFocus)
          not used
 void onMouseMoved(int x, int y, int buttonsState, long when, boolean isTopMost, boolean hasFocus)
          not used
 void onMouseMoved(org.jagatoo.input.events.MouseMovedEvent e, int x, int y, int dx, int dy)
          
 void onMouseStopped(int x, int y, long when, boolean isTopMost, boolean hasFocus)
          not used
 void onMouseStopped(org.jagatoo.input.events.MouseStoppedEvent e, int x, int y)
          
 void onMouseUnbound()
          not used
 void onMouseWheelMoved(int delta, boolean isPageMove, int x, int y, long when, boolean isTopMost)
          not used
 void onMouseWheelMoved(org.jagatoo.input.events.MouseWheelEvent e, int wheelDelta)
          
 void onScrollbarValueChanged(Scrollbar scrollbar, int newValue, Scrollbar.Direction direction)
          not used
protected  void onWidgetPicked(HUDPickResult hpr)
          This method is called when a Widget has been picked
 HUDPickResult pick(int canvasX, int canvasY, HUDPickResult.HUDPickReason pickReason, org.jagatoo.input.devices.components.MouseButton button, long when, long meta, int flags)
          Tests whether a Widget is under the cursor and runs the approriate methods if true.
 void removeContainerListener(WidgetContainerListener l)
          Removes a WidgetContainerListener.
 void removeFocusListener(WidgetFocusListener l)
          Removes a WidgetFocusListener.
 void removeGlobalKeyListener(org.jagatoo.input.listeners.KeyboardListener l)
          Removes a global KeyboardListener.
 void removeInputListener(WidgetInputListener l)
          Removes a WidgetInputListener.
 void removeLocationListener(WidgetLocationListener l)
          Removes a WidgetFocusListener.
 void removePickMissedListener(HUDPickMissedListener l)
          Removes a HUDPickMissedListener.
 void removeSizeListener(WidgetSizeListener l)
          Removes a WidgetSizeListener.
 void removeVisibilityListener(WidgetVisibilityListener l)
          Removes a WidgetVisibilityListener.
 void removeWidget(Widget widget)
          Removes a Widget from this container.
 void requestFocus()
          Requests the focus from the HUD system.
 void setAssembly(Widget assembly)
          Sets the Widget, which uses this one to assemle itself, if any.
 void setBackground(org.openmali.vecmath2.Colorf color)
          Sets the background color of the Widget.
 void setBackground(java.lang.String texture)
          Sets the background texture of the HUD.
 void setBackground(Texture texture)
          Sets the background texture of the HUD.
 void setBackgroundTileSize(float tileWidth, float tileHeight)
          Sets the background tile size.
 void setBackgroundTileSize(org.openmali.types.twodee.Sized2fRO tileSize)
          Sets the background tile size.
 void setBorder(Border.Description borderDesc)
          Creates a new Border from the given Border.Desctiption and invokes setBorder(Border).
 void setBorder(Border border)
          Sets the Border to use for this BorderSettable Widget.
 void setCachedToolTipWidget(Widget tooltipWidget)
          
 void setChildrenOffset(org.openmali.vecmath2.Tuple2f offset)
          not used
 void setClickable(boolean isClickable)
          not used
 void setClippingEnabled(boolean clippingEnabled)
          not used
 void setContainer(WidgetContainer container)
          not used
 void setContextMenu(ContextMenu contextMenu)
          Sets the ContextMenu for this Widget and inherits it to all children, if this is a container.
 void setCrosshair(java.lang.String texture)
          Sets the Texture for the corsshair.
 void setCrosshair(java.lang.String texture, float hotspotX, float hotspotY)
          Sets the Texture for the corsshair.
 void setCrosshair(java.lang.String texture, org.openmali.vecmath2.Tuple2i hotspot)
          Sets the Texture for the corsshair.
 void setCrosshair(Texture texture)
          Sets the Texture for the crosshair.
 void setCrosshair(Texture texture, float hotspotX, float hotspotY)
          Sets the Texture for the crosshair.
 void setCrosshair(Texture texture, org.openmali.vecmath2.Tuple2i hotspot)
          Sets the Texture for the crosshair.
 void setCrosshairVisible(boolean visible)
          Sets the crosshair's visibility.
 void setCursor(Cursor.Type cursor)
          Sets the Cursor type to be used when the cursor is over this Widget and which is inherited to the Children, if this is a container.
 void setCursor(Cursor pointer1)
          This is a convenience- and backwards-compatiblity-method to set the Cursor.
 void setCursor(java.lang.String pointer1)
          This is a convenience- and backwards-compatiblity-method to set the Cursor.
 void setCursorSet(CursorSet cursorSet)
          Sets the CursorSet with standard cursor types.
 void setCursorVisible(boolean visible)
          Sets the cursor's visibility.
 void setDraggable(boolean isDraggable)
          not used
 void setFocussable(boolean focussable)
          Sets whether this Widget can get the focus or not.
 void setForeground(java.lang.String texture)
          Sets the foreground texture of the HUD.
 void setForeground(Texture texture)
          Sets the foreground texture of the HUD.
 void setHeight(float height)
           
 void setLayout(LayoutManager layout)
          Sets which LayoutManager to use for the child Widgets of this Container.
 HUD setLocation(float locX, float locY)
          not used
 HUD setLocation(org.openmali.vecmath2.Tuple2f loc)
          not used
 void setName(java.lang.String name)
          Sets this Widget's name
 boolean setPadding(float padding)
          Sets padding for this PaddingSettable Widget.
 boolean setPadding(float paddingBottom, float paddingRight, float paddingTop, float paddingLeft)
          Sets padding for this PaddingSettable Widget.
 void setPickable(boolean pickable)
          not used
 void setScrollScale(float scrollScaleX, float scrollScaleY)
          not used
 void setScrollScale(org.openmali.vecmath2.Tuple2f scrollScale)
          not used
 void setSGZPosition(float zTrans)
           
 HUD setSize(float resX, float resY)
          Resizes this HUD's coordinate system to the given width and height.
protected  boolean setSize(float resX, float resY, boolean forced)
          Resizes this HUD's coordinate system to the given width and height.
 boolean setSize(int canvasWidth, int canvasHeight)
          Creates a new coordinate system on the HUD.
 boolean setSize(int canvasWidth, int canvasHeight, float resX, float resY)
          Creates a new coordinate system on the HUD.
 boolean setSize(int canvasWidth, int canvasHeight, org.openmali.vecmath2.Tuple2f resolution)
          Creates a new coordinate system on the HUD.
 HUD setSize(org.openmali.types.twodee.Sized2fRO resolution)
          Resizes this HUD's coordinate system to the given width and height.
 boolean setSize(org.openmali.types.twodee.Sized2iRO canvas)
          Creates a new coordinate system on the HUD.
 boolean setSize(org.openmali.types.twodee.Sized2iRO canvas, float resX, float resY)
          Creates a new coordinate system on the HUD.
 boolean setSize(org.openmali.types.twodee.Sized2iRO canvas, org.openmali.vecmath2.Tuple2f resolution)
          Creates a new coordinate system on the HUD.
 HUD setSize(org.openmali.vecmath2.Tuple2f resolution)
          Resizes this HUD's coordinate system to the given width and height.
static void setTheme(java.lang.String theme)
          Sets the built-in WidgetTheme to use for default textures and some default properties
static void setTheme(WidgetTheme theme)
          Sets the WidgetTheme to use for default textures and some default properties
 void setToolTip(java.lang.String tooltip)
          Sets the tooltip to be displayed when the mouse stopps over this Widget.
 void setToolTipFactory(ToolTipFactory ttf)
          Sets the ToolTipFactory to be used to generate tooltip-Widgets.
 void setTransparency(float transparency)
          Sets the whole Widget's Transparency.
 void setTransparency(float transparency, boolean childrenToo)
          Sets the whole Widget's Transparency.
 void setUserObject(java.lang.Object userObject)
          Sets this Widget's user-Object.
 void setUseVoidContextMenu(boolean use)
          Defines, if a ContextMenu is used, if the mouse was clicked in the empty space (where no Widget is displayed).
 void setVisible(boolean visible)
          Sets wheather this Widget is visible or not
 void setWidth(float width)
           
 void setZIndex(int zIndex)
          not used
 void unbindFocusMoveAccessor(org.jagatoo.input.devices.components.DeviceComponent comp, WidgetContainer.FocusMoveDirection direction)
          Unbinds a focus-move-accessor DeviceComponent from this HUD for a given direction.
 void update()
          Updates the Widget's internals.
 void updateOperations(long nanoGameTime, long nanoFrameTime)
           
 boolean useVoidContextMenu()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

WINDOW_Z_INDEX_UNIT

public static final int WINDOW_Z_INDEX_UNIT
See Also:
Constant Field Values

CROSSHAIR_Z_INDEX

public static final int CROSSHAIR_Z_INDEX
See Also:
Constant Field Values

CURSOR_Z_INDEX

public static final int CURSOR_Z_INDEX
See Also:
Constant Field Values
Constructor Detail

HUD

public HUD(int canvasWidth,
           int canvasHeight,
           org.openmali.vecmath2.Tuple2f resolution)
Creates a new HUD with a coordinate system with the given width and height

Parameters:
canvasWidth - the width of the Canvas3D to take the resolution and aspect from
canvasHeight - the width of the Canvas3D to take the resolution and aspect from
resolution - the resolution of the coordinate system

HUD

public HUD(org.openmali.types.twodee.Sized2iRO canvas,
           org.openmali.vecmath2.Tuple2f resolution)
Creates a new HUD with a coordinate system with the given width and height

Parameters:
canvas - the Canvas3D to take the aspect ratio from
resolution - the resolution of the coordinate system

HUD

public HUD(org.openmali.types.twodee.Sized2iRO canvas,
           float resX)
Creates a new HUD with a coordinate system with the given width and height

Parameters:
canvas - the Canvas3D to take the aspect ratio from
resX - the x-resolution of the coordinate system. The y-resolution is calculateed by (resX / canvasAspect).

HUD

public HUD(int canvasWidth,
           int canvasHeight,
           float resX,
           float resY)
Creates a new HUD with a coordinate system with the given width and height

Parameters:
canvasWidth - the width of the Canvas3D to take the resolution and aspect from
canvasHeight - the width of the Canvas3D to take the resolution and aspect from
resX - the new width of the coordinate system
resY - the new height of the coordinate system

HUD

public HUD(int canvasWidth,
           int canvasHeight,
           float resX)
Creates a new HUD with a coordinate system with the given width and height