Class AbstractFlatMapRenderer

    • 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 closeNotify()
      Must be called when this renderer is not used anymore.
      void forceRepaint()
      Repaint the view because some view parameters may have changed.
      protected int getBorderOffsetX()
      Returns the x offset to map borders.
      protected int getBorderOffsetY()
      Returns the y offset to map borders.
      @NotNull java.awt.image.BufferedImage getFullImage()
      Returns an image of the entire map view.
      @NotNull Size2D getImageSize()
      Returns the size of an image of the entire map view in pixels.
      @NotNull java.awt.Rectangle getSquareBounds​(@NotNull java.awt.Point p)
      Returns coordinates, length and width of map square.
      boolean getSquareLocationAt​(@NotNull java.awt.Point point, @NotNull java.awt.Point retPoint)
      Returns the map location at the given point.
      protected void init()
      Finishes initialization of this instance.
      abstract void paintComponent​(@NotNull java.awt.Graphics g)  
      protected void paintComponent​(@NotNull java.awt.Graphics graphics, boolean isSnapshot, boolean checkClip)
      Paints this component.
      protected abstract void paintSquare​(@NotNull java.awt.Graphics g, int x, int y, @NotNull MapSquare<GameObject,​MapArchObject,​Archetype> square)
      Paints one square.
      protected void paintSquareGrid​(@NotNull java.awt.Graphics graphics, @NotNull java.awt.Point point)
      Paints the grid for one square.
      protected void paintSquareSelection​(@NotNull java.awt.Graphics graphics, @NotNull java.awt.Point point)
      Paints the selection for one square.
      protected abstract void resizeBackBuffer​(@NotNull java.awt.Dimension size)
      Resizes the backing buffer to the new grid size.
      protected abstract void updateAll()
      Callback function that is called when any square may have changed.
      protected abstract void updateSquare​(@NotNull java.awt.Point point)
      Callback function that is called when a square may have changed.
      protected abstract void updateSquares​(@NotNull java.awt.Rectangle rectangle)
      Callback function that is called when multiple squares may have changed.
      • 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, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, 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, getName, 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, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
      • Methods inherited from class java.lang.Object

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

      • AbstractFlatMapRenderer

        protected AbstractFlatMapRenderer​(@NotNull
                                          @NotNull MapViewSettings mapViewSettings,
                                          @NotNull
                                          @NotNull MapModel<GameObject,​MapArchObject,​Archetype> mapModel,
                                          @NotNull
                                          @NotNull MapGrid mapGrid,
                                          int borderSize,
                                          @NotNull
                                          @NotNull GridMapSquarePainter gridMapSquarePainter,
                                          @NotNull
                                          @NotNull GameObjectParser<GameObject,​MapArchObject,​Archetype> gameObjectParser)
        Creates a new instance.
        Parameters:
        mapViewSettings - the map view settings instance to use
        mapModel - the map model to render
        mapGrid - the grid to render
        borderSize - the size of the map borders in pixel
        gridMapSquarePainter - the grid square painter to use
        gameObjectParser - the game object parser for creating tooltip information
    • Method Detail

      • init

        protected void init()
        Finishes initialization of this instance.
      • getImageSize

        @NotNull
        public @NotNull Size2D getImageSize()
        Description copied from interface: MapRenderer
        Returns the size of an image of the entire map view in pixels.
        Returns:
        the size
      • getFullImage

        @NotNull
        public @NotNull java.awt.image.BufferedImage getFullImage()
        Description copied from interface: MapRenderer
        Returns an image of the entire map view.
        Returns:
        an image of the entire map view
      • paintComponent

        public abstract void paintComponent​(@NotNull
                                            @NotNull java.awt.Graphics g)
        Overrides:
        paintComponent in class javax.swing.JComponent
        No Inspection:
        AbstractMethodOverridesConcreteMethod
      • forceRepaint

        public void forceRepaint()
        Description copied from interface: MapRenderer
        Repaint the view because some view parameters may have changed.
      • getSquareBounds

        @NotNull
        public @NotNull java.awt.Rectangle getSquareBounds​(@NotNull
                                                           @NotNull java.awt.Point p)
        Description copied from interface: MapRenderer
        Returns coordinates, length and width of map square.
        Parameters:
        p - the map coordinates
        Returns:
        the boundary rectangle of square
      • paintComponent

        protected void paintComponent​(@NotNull
                                      @NotNull java.awt.Graphics graphics,
                                      boolean isSnapshot,
                                      boolean checkClip)
        Paints this component.
        Parameters:
        graphics - the graphics context to paint to
        isSnapshot - true when this drawing is for a "screenshot"-image, false for normal drawing
        checkClip - if set, omit squares outside graphics's clip area
      • paintSquareGrid

        protected void paintSquareGrid​(@NotNull
                                       @NotNull java.awt.Graphics graphics,
                                       @NotNull
                                       @NotNull java.awt.Point point)
        Paints the grid for one square. The grid is not painted if it is disabled.
        Parameters:
        graphics - the graphics context to draw in
        point - the map coordinates of the square to draw
      • paintSquareSelection

        protected void paintSquareSelection​(@NotNull
                                            @NotNull java.awt.Graphics graphics,
                                            @NotNull
                                            @NotNull java.awt.Point point)
        Paints the selection for one square.
        Parameters:
        graphics - the graphics context to draw in
        point - map coordinates of the square to highlight
      • getSquareLocationAt

        public boolean getSquareLocationAt​(@NotNull
                                           @NotNull java.awt.Point point,
                                           @NotNull
                                           @NotNull java.awt.Point retPoint)
        Description copied from interface: MapRenderer
        Returns the map location at the given point.
        Parameters:
        point - the coordinates in the renderer view
        retPoint - this point will be returned
        Returns:
        whether the location is within the map bounds
      • resizeBackBuffer

        protected abstract void resizeBackBuffer​(@NotNull
                                                 @NotNull java.awt.Dimension size)
        Resizes the backing buffer to the new grid size. It will only be resized if the map is not a pickmap.
        Parameters:
        size - the new map size
      • paintSquare

        protected abstract void paintSquare​(@NotNull
                                            @NotNull java.awt.Graphics g,
                                            int x,
                                            int y,
                                            @NotNull
                                            @NotNull MapSquare<GameObject,​MapArchObject,​Archetype> square)
        Paints one square.
        Parameters:
        g - the graphics context to draw to
        x - the square coordinate to paint to
        y - the square coordinate to paint to
        square - the square to paint
      • updateSquare

        protected abstract void updateSquare​(@NotNull
                                             @NotNull java.awt.Point point)
        Callback function that is called when a square may have changed.
        Parameters:
        point - the coordinate of the changed square
      • updateSquares

        protected abstract void updateSquares​(@NotNull
                                              @NotNull java.awt.Rectangle rectangle)
        Callback function that is called when multiple squares may have changed.
        Parameters:
        rectangle - the coordinates of the changed squares
      • updateAll

        protected abstract void updateAll()
        Callback function that is called when any square may have changed.
      • getBorderOffsetX

        protected int getBorderOffsetX()
        Returns the x offset to map borders.
        Returns:
        the x offset
      • getBorderOffsetY

        protected int getBorderOffsetY()
        Returns the y offset to map borders.
        Returns:
        the y offset