Package jexer.backend

Class GenericBackend

  • All Implemented Interfaces:
    Backend
    Direct Known Subclasses:
    ECMA48Backend, SwingBackend

    public abstract class GenericBackend
    extends java.lang.Object
    implements Backend
    This abstract class provides a screen, keyboard, and mouse to TApplication. It also exposes session information as gleaned from lower levels of the communication stack.
    • Constructor Summary

      Constructors 
      Constructor Description
      GenericBackend()  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void flushScreen()
      Sync the logical screen to the physical device.
      void getEvents​(java.util.List<TInputEvent> queue)
      Get keyboard, mouse, and screen resize events.
      Screen getScreen()
      Getter for screen.
      SessionInfo getSessionInfo()
      Getter for sessionInfo.
      boolean hasEvents()
      Check if there are events in the queue.
      boolean isImagesOverText()
      Check if backend will support incomplete image fragments over text display.
      boolean isPixelMouse()
      Check if backend is reporting pixel-based mouse position.
      boolean isReadOnly()
      Check if backend is read-only.
      void reloadOptions()
      Reload backend options from System properties.
      void setListener​(java.lang.Object listener)
      Set listener to a different Object.
      void setMouseStyle​(java.lang.String mouseStyle)
      Set the mouse pointer (cursor) style.
      void setPixelMouse​(boolean pixelMouse)
      Set request for backend to report pixel-based mouse position.
      void setReadOnly​(boolean readOnly)
      Set read-only flag.
      void setTitle​(java.lang.String title)
      Set the window title.
      void shutdown()
      Close the I/O, restore the console, etc.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • sessionInfo

        protected SessionInfo sessionInfo
        The session information.
      • screen

        protected Screen screen
        The screen to draw on.
      • terminal

        protected TerminalReader terminal
        Input events are processed by this Terminal.
      • lastUserInputTime

        protected long lastUserInputTime
        The last time user input (mouse or keyboard) was received.
      • readOnly

        protected boolean readOnly
        Whether or not this backend is read-only.
    • Constructor Detail

      • GenericBackend

        public GenericBackend()
    • Method Detail

      • getSessionInfo

        public final SessionInfo getSessionInfo()
        Getter for sessionInfo.
        Specified by:
        getSessionInfo in interface Backend
        Returns:
        the SessionInfo
      • getScreen

        public final Screen getScreen()
        Getter for screen.
        Specified by:
        getScreen in interface Backend
        Returns:
        the Screen
      • flushScreen

        public void flushScreen()
        Sync the logical screen to the physical device.
        Specified by:
        flushScreen in interface Backend
      • hasEvents

        public boolean hasEvents()
        Check if there are events in the queue.
        Specified by:
        hasEvents in interface Backend
        Returns:
        if true, getEvents() has something to return to the application
      • getEvents

        public void getEvents​(java.util.List<TInputEvent> queue)
        Get keyboard, mouse, and screen resize events.
        Specified by:
        getEvents in interface Backend
        Parameters:
        queue - list to append new events to
      • shutdown

        public void shutdown()
        Close the I/O, restore the console, etc.
        Specified by:
        shutdown in interface Backend
      • setTitle

        public void setTitle​(java.lang.String title)
        Set the window title.
        Specified by:
        setTitle in interface Backend
        Parameters:
        title - the new title
      • setListener

        public void setListener​(java.lang.Object listener)
        Set listener to a different Object.
        Specified by:
        setListener in interface Backend
        Parameters:
        listener - the new listening object that run() wakes up on new input
      • reloadOptions

        public void reloadOptions()
        Reload backend options from System properties.
        Specified by:
        reloadOptions in interface Backend
      • isReadOnly

        public boolean isReadOnly()
        Check if backend is read-only.
        Specified by:
        isReadOnly in interface Backend
        Returns:
        true if user input events from the backend are discarded
      • setReadOnly

        public void setReadOnly​(boolean readOnly)
        Set read-only flag.
        Specified by:
        setReadOnly in interface Backend
        Parameters:
        readOnly - if true, then input events will be discarded
      • isImagesOverText

        public boolean isImagesOverText()
        Check if backend will support incomplete image fragments over text display.
        Specified by:
        isImagesOverText in interface Backend
        Returns:
        true if images can partially obscure text
      • isPixelMouse

        public boolean isPixelMouse()
        Check if backend is reporting pixel-based mouse position.
        Specified by:
        isPixelMouse in interface Backend
        Returns:
        true if single-pixel mouse movements are reported
      • setPixelMouse

        public void setPixelMouse​(boolean pixelMouse)
        Set request for backend to report pixel-based mouse position.
        Specified by:
        setPixelMouse in interface Backend
        Parameters:
        pixelMouse - if true, single-pixel mouse movements will be reported, if the backend supports it
      • setMouseStyle

        public void setMouseStyle​(java.lang.String mouseStyle)
        Set the mouse pointer (cursor) style.
        Specified by:
        setMouseStyle in interface Backend
        Parameters:
        mouseStyle - the pointer style string, one of: "default", "none", "hand", "text", "move", or "crosshair"