## org.eclipse.contribution.visualiser.views
Class VisualiserCanvas

    java.lang.Object
      org.eclipse.swt.widgets.Widget
          org.eclipse.swt.widgets.Control
              org.eclipse.swt.widgets.Scrollable
                  org.eclipse.swt.widgets.Composite
                      org.eclipse.swt.widgets.Canvas
                          org.eclipse.contribution.visualiser.views.VisualiserCanvas

All Implemented Interfaces:
  org.eclipse.swt.graphics.Drawable

public class VisualiserCanvas
extends org.eclipse.swt.widgets.Canvas

This class is the core of the visualiser rendering. It manages the view's drawing surface, providing double buffering, scaling, scrollbar management, keyboard traversal support, and tooltip management. It delegates to implementations of the IVisualiserRenderer interface to actually render the columns.

Author:
  mchapman

Field Summary
`static org.eclipse.swt.graphics.Color` `VIS_BG_COLOUR`

Fields inherited from class org.eclipse.swt.widgets.Control
`handle`

Constructor Summary
`VisualiserCanvas(org.eclipse.swt.widgets.Composite parent, Visualiser vis)`

Method Summary
`void` `dispose()`
`void` `redraw(java.util.List data)` This is the main route into this class.
`void` `zoomIn()` Zoom in and repaint, if not at maximum zoom already
`void` `zoomOut()` Zoom out and repaint, if not at minumum zoom already

Methods inherited from class org.eclipse.swt.widgets.Canvas
`getCaret, scroll, setCaret, setFont`

Methods inherited from class org.eclipse.swt.widgets.Composite
`checkSubclass, computeSize, getChildren, getLayout, getTabList, layout, layout, setFocus, setLayout, setTabList`

Methods inherited from class org.eclipse.swt.widgets.Scrollable
`computeTrim, getClientArea, getHorizontalBar, getVerticalBar`

Methods inherited from class org.eclipse.swt.widgets.Control

`addControlListener, addFocusListener, addHelpListener, addKeyListener, addMouseListener, addMouseMoveListener, addMouseTrackListener, addPaintListener, addTraverseListener, computeSize, forceFocus, getAccessible, getBackground, getBorderWidth, getBounds, getEnabled, getFont, getForeground, getLayoutData, getLocation, getMenu, getMonitor, getParent, getShell, getSize, getToolTipText, getVisible, internal_dispose_GC, internal_new_GC, isEnabled, isFocusControl, isReparentable, isVisible, moveAbove, moveBelow, pack, pack, redraw, redraw, removeControlListener, removeFocusListener, removeHelpListener, removeKeyListener, removeMouseListener, removeMouseMoveListener, removeMouseTrackListener, removePaintListener, removeTraverseListener, setBackground, setBounds, setBounds, setCapture, setCursor, setEnabled, setForeground, setLayoutData, setLocation, setLocation, setMenu, setParent, setRedraw, setSize, setSize, setToolTipText, setVisible, toControl, toControl, toDisplay, toDisplay, traverse, update`

Methods inherited from class org.eclipse.swt.widgets.Widget
`addDisposeListener, addListener, checkWidget, getData, getData, getDisplay, getStyle, isDisposed, isListening, notifyListeners, removeDisposeListener, removeListener, removeListener, setData, setData, toString`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Field Detail

### VIS_BG_COLOUR

    public static org.eclipse.swt.graphics.Color VIS_BG_COLOUR

Constructor Detail

### VisualiserCanvas

    public VisualiserCanvas(org.eclipse.swt.widgets.Composite parent,
                            Visualiser vis)

Parameters:
  `parent` -
  `vis` -

Method Detail

### redraw

    public void redraw(java.util.List data)

  This is the main route into this class. It is called every time the data to be displayed changes

  Parameters:
    `data` -

### zoomIn

    public void zoomIn()

  Zoom in and repaint, if not at maximum zoom already

### zoomOut

    public void zoomOut()

  Zoom out and repaint, if not at minumum zoom already

### dispose

    public void dispose()