Class AbstractIsoMapRenderer<G extends DefaultIsoGameObject<G,​A,​R>,​A extends MapArchObject<A>,​R extends Archetype<G,​A,​R>>

    • 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 
      Modifier and Type Field Description
      protected @org.jetbrains.annotations.NotNull boolean[] foundSubLayers
      Boolean array for tileStretchingOffsets(java.awt.Point, boolean[]) to avoid allocating lots of arrays.
      protected int maxYOffset
      Maximum Y offset.
      protected int minYOffset
      Minimum Y offset.
      • 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
      protected abstract void clearBackground​(@NotNull java.awt.Graphics g)
      Clears the window to background color if necessary.
      void closeNotify()
      Must be called when this renderer is not used anymore.
      void forceRepaint()
      Repaint the view because some view parameters may have changed.
      @NotNull java.awt.image.BufferedImage getFullImage()
      Returns an image of the entire map view.
      @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 abstract boolean isGameObjectVisible​(G gameObject)
      Checks whether a game object is visible according to current editor settings.
      void paintComponent​(@NotNull java.awt.Graphics g)  
      protected void paintGameObjectIfVisible​(@NotNull java.awt.Graphics2D g, int xStart, int yStart, G gameObject)
      Paints a single game object if it is visible according to current editor settings.
      protected void paintIcon​(@NotNull java.awt.Graphics2D g, @NotNull javax.swing.Icon icon)
      Paints an icon.
      protected abstract void paintSquare​(@NotNull java.awt.Graphics2D g, int x, int y, @NotNull MapSquare<G,​A,​R> square)
      Paints one square.
      protected int[] tileStretchingOffsets​(@NotNull java.awt.Point point, boolean[] foundSubLayers)
      Calculates the tile stretching Y offset.
      • 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
    • Field Detail

      • minYOffset

        protected int minYOffset
        Minimum Y offset.
      • maxYOffset

        protected int maxYOffset
        Maximum Y offset.
    • Constructor Detail

      • AbstractIsoMapRenderer

        protected AbstractIsoMapRenderer​(int spawnPointTypeNo,
                                         @NotNull
                                         @NotNull MapViewSettings mapViewSettings,
                                         @NotNull
                                         @NotNull MapModel<G,​A,​R> mapModel,
                                         @NotNull
                                         @NotNull MapGrid mapGrid,
                                         int borderOffsetX,
                                         int borderOffsetY,
                                         @NotNull
                                         @NotNull MultiPositionData multiPositionData,
                                         @NotNull
                                         @NotNull IsoMapSquareInfo isoMapSquareInfo,
                                         @NotNull
                                         @NotNull GridMapSquarePainter gridMapSquarePainter,
                                         @NotNull
                                         @NotNull GameObjectParser<G,​A,​R> gameObjectParser,
                                         @NotNull
                                         @NotNull javax.swing.Icon unknownSquareIcon)
        Creates a new instance.
        Parameters:
        spawnPointTypeNo - the game object type number for spawn points
        mapViewSettings - the map view settings instance to use
        mapModel - the map model to render
        mapGrid - the grid to render
        borderOffsetX - the horizontal border size
        borderOffsetY - the vertical border size
        multiPositionData - the multi position data to query for multi-part objects
        isoMapSquareInfo - the iso square info to use
        gridMapSquarePainter - the grid square painter to use
        gameObjectParser - the game object parser for creating tooltip information
        unknownSquareIcon - the icons for unknown squares
    • Method Detail

      • 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 void paintComponent​(@NotNull
                                   @NotNull java.awt.Graphics g)
        Overrides:
        paintComponent in class javax.swing.JComponent
      • 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
      • clearBackground

        protected abstract void clearBackground​(@NotNull
                                                @NotNull java.awt.Graphics g)
        Clears the window to background color if necessary.
        Parameters:
        g - the graphics to use for clearing
      • paintSquare

        protected abstract void paintSquare​(@NotNull
                                            @NotNull java.awt.Graphics2D g,
                                            int x,
                                            int y,
                                            @NotNull
                                            @NotNull MapSquare<G,​A,​R> square)
        Paints one square.
        Parameters:
        g - the graphics context to paint to
        x - the square coordinate to paint to
        y - the square coordinate to paint to
        square - the square to paint
      • isGameObjectVisible

        protected abstract boolean isGameObjectVisible​(@NotNull
                                                       G gameObject)
        Checks whether a game object is visible according to current editor settings.
        Parameters:
        gameObject - the game object
        Returns:
        whether the game object is visible
      • paintGameObjectIfVisible

        protected void paintGameObjectIfVisible​(@NotNull
                                                @NotNull java.awt.Graphics2D g,
                                                int xStart,
                                                int yStart,
                                                @NotNull
                                                G gameObject)
        Paints a single game object if it is visible according to current editor settings.
        Parameters:
        g - the graphics to paint to
        xStart - the x offset for painting
        yStart - the y offset for painting
        gameObject - the game object to paint
      • paintIcon

        protected void paintIcon​(@NotNull
                                 @NotNull java.awt.Graphics2D g,
                                 @NotNull
                                 @NotNull javax.swing.Icon icon)
        Paints an icon.
        Parameters:
        g - the graphics to paint into
        icon - the icon to paint
      • tileStretchingOffsets

        protected int[] tileStretchingOffsets​(@NotNull
                                              @NotNull java.awt.Point point,
                                              boolean[] foundSubLayers)
        Calculates the tile stretching Y offset.
        Parameters:
        point - coordinates
        foundSubLayers - array that will contain information about found sub-layers on the tile
        Returns:
        offset
      • 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