Class AbstractGUIMap

    • Nested Class Summary

      • Nested classes/interfaces inherited from class javax.swing.JComponent

        javax.swing.JComponent.AccessibleJComponent
      • Nested classes/interfaces inherited from class java.awt.Container

        java.awt.Container.AccessibleAWTContainer
      • Nested classes/interfaces inherited from class java.awt.Component

        java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
    • Field Summary

      • Fields inherited from class javax.swing.JComponent

        listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
      • Fields inherited from class java.awt.Component

        accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
      • Fields inherited from interface java.awt.image.ImageObserver

        ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
    • Method Summary

      All Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      void dispose()
      Releases all allocated resources.
      protected int getMapHeight()
      Returns the map height in squares.
      protected int getMapWidth()
      Returns the map width in squares.
      @Nullable java.awt.Dimension getMinimumSize()  
      int getOffsetX()
      Returns the x offset for drawing the square at coordinate 0 of the map.
      int getOffsetY()
      Returns the y offset for drawing the square at coordinate 0 of the map.
      int getPlayerX()
      Returns the x offset of the tile representing the player.
      int getPlayerY()
      Returns the y offset of the tile representing the player.
      protected abstract void markPlayer​(@NotNull java.awt.Graphics g, int dx, int dy)
      Paints the player location.
      protected void paintColoredSquare​(@NotNull java.awt.Graphics g, @NotNull java.awt.Color color, int x, int y)
      Fills a square with one Color.
      void paintComponent​(@NotNull java.awt.Graphics g)  
      protected abstract void paintSquareBackground​(@NotNull java.awt.Graphics g, int px, int py, boolean hasImage, @NotNull CfMapSquare mapSquare)
      Paints the background of a map square.
      protected void redrawSquare​(@NotNull java.awt.Graphics g, @NotNull CfMapSquare mapSquare, @NotNull CfMap map, int x, int y)
      Redraws one square.
      void setBounds​(int x, int y, int width, int height)  
      • Methods inherited from class javax.swing.JComponent

        addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getUI, getUIClassID, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintImmediately, paintImmediately, paramString, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update, updateUI
      • Methods inherited from class java.awt.Container

        add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusDownCycle, validate, validateTree
      • Methods inherited from class java.awt.Component

        action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getAccessibleContext, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getParent, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, transferFocus, transferFocusBackward, transferFocusUpCycle
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Constructor Detail

      • AbstractGUIMap

        protected AbstractGUIMap​(boolean avoidCopyArea,
                                 @NotNull
                                 @NotNull TooltipManager tooltipManager,
                                 @NotNull
                                 @NotNull GUIElementListener elementListener,
                                 @NotNull
                                 @NotNull java.lang.String name,
                                 @NotNull
                                 @NotNull MapUpdaterState mapUpdaterState,
                                 @NotNull
                                 @NotNull FacesProvider facesProvider,
                                 @Nullable
                                 @Nullable SmoothingRenderer smoothingRenderer,
                                 @NotNull
                                 @NotNull DarknessColors darknessColors,
                                 @NotNull
                                 @NotNull GuiFactory guiFactory)
        Creates a new instance.
        Parameters:
        avoidCopyArea - whether map scrolling is done by copying pixel areas; if unset, always repaint all map squares
        tooltipManager - the tooltip manager to update
        elementListener - the element listener to notify
        name - the name of this element
        mapUpdaterState - the map updater state instance to use
        facesProvider - the faces provider for looking up faces
        smoothingRenderer - the smoothing renderer to use or null to not draw smoothed faces
        darknessColors - the darkness colors instance for converting darkness values into colors
        guiFactory - the global GUI factory instance
    • Method Detail

      • redrawSquare

        protected void redrawSquare​(@NotNull
                                    @NotNull java.awt.Graphics g,
                                    @NotNull
                                    @NotNull CfMapSquare mapSquare,
                                    @NotNull
                                    @NotNull CfMap map,
                                    int x,
                                    int y)
        Redraws one square.
        Parameters:
        g - the graphics to draw into
        mapSquare - the map square to draw
        map - the map
        x - the x-coordinate of the map tile to redraw
        y - the y-coordinate of the map tile to redraw
      • paintSquareBackground

        protected abstract void paintSquareBackground​(@NotNull
                                                      @NotNull java.awt.Graphics g,
                                                      int px,
                                                      int py,
                                                      boolean hasImage,
                                                      @NotNull
                                                      @NotNull CfMapSquare mapSquare)
        Paints the background of a map square.
        Parameters:
        g - the graphics to paint into
        px - the x-offset for painting
        py - the y-offset for painting
        hasImage - whether the square contains at least one image
        mapSquare - the map square
      • markPlayer

        protected abstract void markPlayer​(@NotNull
                                           @NotNull java.awt.Graphics g,
                                           int dx,
                                           int dy)
        Paints the player location.
        Parameters:
        g - the graphics to paint to
        dx - the x distance to map has just scrolled
        dy - the y distance to map has just scrolled
      • paintComponent

        public void paintComponent​(@NotNull
                                   @NotNull java.awt.Graphics g)
        Overrides:
        paintComponent in class javax.swing.JComponent
      • getPlayerX

        public int getPlayerX()
        Returns the x offset of the tile representing the player.
        Returns:
        the x offset
      • getPlayerY

        public int getPlayerY()
        Returns the y offset of the tile representing the player.
        Returns:
        the y offset
      • getOffsetX

        public int getOffsetX()
        Returns the x offset for drawing the square at coordinate 0 of the map.
        Returns:
        the x offset
      • getOffsetY

        public int getOffsetY()
        Returns the y offset for drawing the square at coordinate 0 of the map.
        Returns:
        the y offset
      • setBounds

        public void setBounds​(int x,
                              int y,
                              int width,
                              int height)
        Overrides:
        setBounds in class java.awt.Component
      • paintColoredSquare

        protected void paintColoredSquare​(@NotNull
                                          @NotNull java.awt.Graphics g,
                                          @NotNull
                                          @NotNull java.awt.Color color,
                                          int x,
                                          int y)
        Fills a square with one Color.
        Parameters:
        g - the graphics to paint into
        color - the color
        x - the x-coordinate
        y - the y-coordinate
      • getMapWidth

        protected int getMapWidth()
        Returns the map width in squares.
        Returns:
        the map width
      • getMapHeight

        protected int getMapHeight()
        Returns the map height in squares.
        Returns:
        the map height
      • getMinimumSize

        @Nullable
        public @Nullable java.awt.Dimension getMinimumSize()
        Overrides:
        getMinimumSize in class javax.swing.JComponent