Class StreetsideImageDisplay

    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      private class  StreetsideImageDisplay.ImgDisplayMouseListener  
      • 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
      private java.util.Collection<ImageDetection> detections  
      private java.awt.image.BufferedImage image
      The image currently displayed
      private java.awt.Rectangle selectedRect
      When a selection is done, the rectangle of the selection (in image coordinates)
      private static long serialVersionUID  
      private java.awt.Rectangle visibleRect
      The rectangle (in image coordinates) of the image that is visible.
      • 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 Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      private java.awt.Rectangle calculateDrawImageRectangle​(java.awt.Rectangle visibleRect)  
      private static java.awt.Rectangle calculateDrawImageRectangle​(java.awt.Rectangle imgRect, java.awt.Rectangle compRect)
      calculateDrawImageRectangle
      private static void checkVisibleRectPos​(java.awt.Image image, java.awt.Rectangle visibleRect)  
      private static void checkVisibleRectSize​(java.awt.Image image, java.awt.Rectangle visibleRect)  
      private java.awt.Point comp2imgCoord​(java.awt.Rectangle visibleRect, int xComp, int yComp)  
      private static java.awt.Point getCenterImgCoord​(java.awt.Rectangle visibleRect)  
      java.awt.image.BufferedImage getImage()
      Returns the picture that is being displayed
      private java.awt.Point img2compCoord​(java.awt.Rectangle visibleRect, int xImg, int yImg)  
      void paintComponent​(java.awt.Graphics g)
      Paints the visible part of the picture.
      void setImage​(java.awt.image.BufferedImage image, java.util.Collection<ImageDetection> detections)
      Sets a new picture to be displayed.
      void zoomBestFitOrOne()
      Zooms to 1:1 and, if it is already in 1:1, to best fit.
      • 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, 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

      • image

        private volatile java.awt.image.BufferedImage image
        The image currently displayed
      • visibleRect

        private volatile java.awt.Rectangle visibleRect
        The rectangle (in image coordinates) of the image that is visible. This rectangle is calculated each time the zoom is modified
      • selectedRect

        private java.awt.Rectangle selectedRect
        When a selection is done, the rectangle of the selection (in image coordinates)
    • Method Detail

      • setImage

        public void setImage​(java.awt.image.BufferedImage image,
                             java.util.Collection<ImageDetection> detections)
        Sets a new picture to be displayed.
        Parameters:
        image - The picture to be displayed.
        detections - image detections
      • getImage

        public java.awt.image.BufferedImage getImage()
        Returns the picture that is being displayed
        Returns:
        The picture that is being displayed.
      • paintComponent

        public void paintComponent​(java.awt.Graphics g)
        Paints the visible part of the picture.
        Overrides:
        paintComponent in class javax.swing.JComponent
      • img2compCoord

        private java.awt.Point img2compCoord​(java.awt.Rectangle visibleRect,
                                             int xImg,
                                             int yImg)
      • comp2imgCoord

        private java.awt.Point comp2imgCoord​(java.awt.Rectangle visibleRect,
                                             int xComp,
                                             int yComp)
      • getCenterImgCoord

        private static java.awt.Point getCenterImgCoord​(java.awt.Rectangle visibleRect)
      • calculateDrawImageRectangle

        private static java.awt.Rectangle calculateDrawImageRectangle​(java.awt.Rectangle imgRect,
                                                                      java.awt.Rectangle compRect)
        calculateDrawImageRectangle
        Parameters:
        imgRect - the part of the image that should be drawn (in image coordinates)
        compRect - the part of the component where the image should be drawn (in component coordinates)
        Returns:
        the part of compRect with the same width/height ratio as the image
      • zoomBestFitOrOne

        public void zoomBestFitOrOne()
        Zooms to 1:1 and, if it is already in 1:1, to best fit.
      • checkVisibleRectPos

        private static void checkVisibleRectPos​(java.awt.Image image,
                                                java.awt.Rectangle visibleRect)
      • checkVisibleRectSize

        private static void checkVisibleRectSize​(java.awt.Image image,
                                                 java.awt.Rectangle visibleRect)