Class Thumbnail

java.lang.Object
org.eclipse.draw2d.Figure
org.eclipse.draw2d.parts.Thumbnail
All Implemented Interfaces:
IFigure, UpdateListener
Direct Known Subclasses:
ScrollableThumbnail

public class Thumbnail extends Figure implements UpdateListener
A Thumbnail is a Figure that displays an image of its source Figure at a smaller size. The Thumbnail will maintain the aspect ratio of the source Figure.
  • Constructor Details

    • Thumbnail

      public Thumbnail()
      Creates a new Thumbnail. The source Figure must be set separately if you use this constructor.
    • Thumbnail

      public Thumbnail(IFigure fig)
      Creates a new Thumbnail with the given IFigure as its source figure.
      Parameters:
      fig - The source figure
  • Method Details

    • deactivate

      public void deactivate()
      Deactivates this Thumbnail.
    • getPreferredSize

      public Dimension getPreferredSize(int wHint, int hHint)
      Returns the preferred size of this Thumbnail. The preferred size will be calculated in a way that maintains the source Figure's aspect ratio.
      Specified by:
      getPreferredSize in interface IFigure
      Overrides:
      getPreferredSize in class Figure
      Parameters:
      wHint - The width hint
      hHint - The height hint
      Returns:
      The preferred size
      See Also:
    • getScaleX

      protected float getScaleX()
      Returns the scale factor on the X-axis.
      Returns:
      X scale
    • getScaleY

      protected float getScaleY()
      Returns the scale factor on the Y-axis.
      Returns:
      Y scale
    • getSource

      protected IFigure getSource()
      Returns the source figure being used to generate a thumbnail.
      Returns:
      the source figure
    • getSourceRectangle

      protected Rectangle getSourceRectangle()
      Returns the rectangular region relative to the source figure which will be the basis of the thumbnail. The value may be returned by reference and should not be modified by the caller.
      Returns:
      the region of the source figure being used for the thumbnail
      Since:
      3.1
    • getThumbnailImage

      protected Image getThumbnailImage()
      Returns the scaled Image of the source Figure. If the Image needs to be updated, the ThumbnailUpdater will notified.
      Returns:
      The thumbnail image
    • isDirty

      protected boolean isDirty()
      Returns true if the source figure has changed.
      Returns:
      true if the source figure has changed
    • notifyPainting

      public void notifyPainting(Rectangle damage, Map<IFigure,Rectangle> dirtyRegions)
      Description copied from interface: UpdateListener
      Notifies the listener that the listened to object is painting. The damage rectangle may be null or empty. This indicates the dirty regions were clipped or not visible. But for objects such as the Thumbnail, notification still needs to occur. The map of dirty regions is passed to allow the listener to determine if it needs to update, for instance when a particular figure is painting.
      Specified by:
      notifyPainting in interface UpdateListener
      Parameters:
      damage - The area being painted
      dirtyRegions - a Map of figures to their dirty regions
      See Also:
    • notifyValidating

      public void notifyValidating()
      Description copied from interface: UpdateListener
      Notifies the listener that the listened to object is validating.
      Specified by:
      notifyValidating in interface UpdateListener
      See Also:
    • paintFigure

      protected void paintFigure(Graphics graphics)
      Description copied from class: Figure
      Paints this Figure's primary representation, or background. Changes made to the graphics to the graphics current state will not affect the subsequent calls to Figure.paintClientArea(Graphics) and Figure.paintBorder(Graphics). Furthermore, it is safe to call graphics.restoreState() within this method, and doing so will restore the graphics to its original state upon entry.
      Overrides:
      paintFigure in class Figure
      Parameters:
      graphics - The Graphics used to paint
      See Also:
    • setDirty

      public void setDirty(boolean value)
      Sets the dirty flag.
      Parameters:
      value - The dirty value
    • setScales

      protected void setScales(float x, float y)
      Sets the X and Y scales for the Thumbnail. These scales represent the ratio between the source figure and the Thumbnail.
      Parameters:
      x - The X scale
      y - The Y scale
    • setSource

      public void setSource(IFigure fig)
      Sets the source Figure. Also sets the scales and creates the necessary update manager.
      Parameters:
      fig - The source figure
    • getTargetSize

      protected Dimension getTargetSize()
      Returns the target size of the thumbnail.
      Returns:
      the target size
      Since:
      3.14