Create an abstract revision plotting implementation
commit7f8192776fabee35971c47acc880e526a6bc6d19
authorShawn O. Pearce <spearce@spearce.org>
Mon, 24 Mar 2008 05:48:11 +0000 (24 01:48 -0400)
committerShawn O. Pearce <spearce@spearce.org>
Mon, 7 Apr 2008 05:06:02 +0000 (7 01:06 -0400)
treeec546a9803f5d94691d5e7db30d940dfd3099507
parent71ef89368e75b8e9deed0db76688f90c900b62c7
Create an abstract revision plotting implementation

This is a rough implementation of a commit graph visualizer library
that can be used on any type of display.  The basic PlotWalk, PlotLane
PlotCommit and PlotCommitList can be used to schedule commits into
different lanes based on how the graph is connected, and connect the
commits in both directions through common PlotLane instances. This is
enough of a layout to support any display device, text or graphical.

The AbstractPlotRenderer provides graphical drawing support from these
objects, but is geared to a pixel based display device.  Implementers
must provide concrete drawing primitives based on the actual type of UI
they want to render onto.  We don't use AWT directly here as we also
want to support SWT from the same code.

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
org.spearce.jgit/src/org/spearce/jgit/revplot/AbstractPlotRenderer.java [new file with mode: 0644]
org.spearce.jgit/src/org/spearce/jgit/revplot/PlotCommit.java [new file with mode: 0644]
org.spearce.jgit/src/org/spearce/jgit/revplot/PlotCommitList.java [new file with mode: 0644]
org.spearce.jgit/src/org/spearce/jgit/revplot/PlotLane.java [new file with mode: 0644]
org.spearce.jgit/src/org/spearce/jgit/revplot/PlotWalk.java [new file with mode: 0644]