Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Visuals overhaul #28

Merged
merged 9 commits into from
Apr 13, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
2 changes: 1 addition & 1 deletion src/frames/ArrayFrame.java
Original file line number Diff line number Diff line change
Expand Up @@ -185,7 +185,7 @@ public void stateChanged(ChangeEvent event) {
int currentLength = ArrayVisualizer.getCurrentLength();
jSlider1.setValue(calculateSliderValue(currentLength));
}
if(ArrayVisualizer.getVisualStyles() == visuals.VisualStyles.CIRCULAR && jSlider1.getValue() == 1) jSlider1.setValue(2);
//if(ArrayVisualizer.getVisualStyles() == visuals.VisualStyles.CIRCULAR && jSlider1.getValue() == 1) jSlider1.setValue(2);

Highlights.clearAllMarks();
}
Expand Down
2 changes: 1 addition & 1 deletion src/frames/ImageFrame.java
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;

import visuals.CustomImage;
import visuals.image.CustomImage;
import javax.swing.SwingConstants;

public class ImageFrame extends JFrame {
Expand Down
68 changes: 48 additions & 20 deletions src/main/ArrayVisualizer.java
Original file line number Diff line number Diff line change
Expand Up @@ -43,14 +43,13 @@
import panes.JErrorPane;
import threads.RunScriptedSorts;
import utils.*;
import visuals.Bars;
import visuals.Circular;
import visuals.CustomImage;
import visuals.Mesh;
import visuals.Pixels;
import visuals.HoopStack;
import visuals.Visual;
import visuals.VisualStyles;
import visuals.bars.*;
import visuals.circles.*;
import visuals.dots.*;
import visuals.image.*;
import visuals.misc.*;

/*
*
Expand Down Expand Up @@ -156,7 +155,6 @@ final public class ArrayVisualizer {
private Image img;
private Graphics2D mainRender;
private Graphics2D extraRender;
private Stroke thickStroke;

private Delays Delays;
private Highlights Highlights;
Expand Down Expand Up @@ -351,13 +349,23 @@ public void run() {
background.setColor(Color.BLACK);
int coltmp = 255;

ArrayVisualizer.this.visualClasses = new Visual[6];
ArrayVisualizer.this.visualClasses[0] = new Bars(ArrayVisualizer.this);
ArrayVisualizer.this.visualClasses[1] = new Circular(ArrayVisualizer.this);
ArrayVisualizer.this.visualClasses[2] = new CustomImage(ArrayVisualizer.this);
ArrayVisualizer.this.visualClasses[3] = new Mesh(ArrayVisualizer.this);
ArrayVisualizer.this.visualClasses[4] = new Pixels(ArrayVisualizer.this);
ArrayVisualizer.this.visualClasses[5] = new HoopStack(ArrayVisualizer.this);
ArrayVisualizer.this.visualClasses = new Visual[15];

ArrayVisualizer.this.visualClasses[0] = new BarGraph(ArrayVisualizer.this);
ArrayVisualizer.this.visualClasses[1] = new Rainbow(ArrayVisualizer.this);
ArrayVisualizer.this.visualClasses[2] = new DisparityBarGraph(ArrayVisualizer.this);
ArrayVisualizer.this.visualClasses[3] = new ColorCircle(ArrayVisualizer.this);
ArrayVisualizer.this.visualClasses[4] = new DisparityCircle(ArrayVisualizer.this);
ArrayVisualizer.this.visualClasses[5] = new DisparityChords(ArrayVisualizer.this);
ArrayVisualizer.this.visualClasses[6] = new DisparityDots(ArrayVisualizer.this);
ArrayVisualizer.this.visualClasses[7] = new ScatterPlot(ArrayVisualizer.this);
ArrayVisualizer.this.visualClasses[8] = new WaveDots(ArrayVisualizer.this);
ArrayVisualizer.this.visualClasses[9] = new CustomImage(ArrayVisualizer.this);
ArrayVisualizer.this.visualClasses[10] = new SineWave(ArrayVisualizer.this);
ArrayVisualizer.this.visualClasses[11] = new HoopStack(ArrayVisualizer.this);
ArrayVisualizer.this.visualClasses[12] = new PixelMesh(ArrayVisualizer.this);
ArrayVisualizer.this.visualClasses[13] = new Spiral(ArrayVisualizer.this);
ArrayVisualizer.this.visualClasses[14] = new SpiralDots(ArrayVisualizer.this);

while(ArrayVisualizer.this.visualsEnabled) {
if (ArrayVisualizer.this.updateVisualsForced == 0) {
Expand Down Expand Up @@ -777,19 +785,39 @@ public int windowXCoordinate() {
public int windowYCoordinate() {
return this.cy;
}

public Color getHighlightColor() {
if(this.colorEnabled()) {
if(this.analysisEnabled())
return Color.LIGHT_GRAY;

else
return Color.WHITE;
}
else {
if(this.analysisEnabled())
return Color.BLUE;

else
return Color.RED;
}
}

public void createVolatileImage() {
this.img = this.window.getGraphicsConfiguration().createCompatibleVolatileImage(this.cw, this.ch);
}
public void setThickStroke(Stroke stroke) {
this.thickStroke = stroke;
}
public Stroke getThickStroke() {
return this.thickStroke;
return new BasicStroke((float) (5 * this.getWindowRatio()));
}
public Stroke getDefaultStroke() {
return new BasicStroke((float) (3 * this.getWindowRatio()));
}
public Stroke getThinStroke() {
return new BasicStroke((float) (this.getWindowRatio()));
}
public Stroke getCustomStroke(double size) {
return new BasicStroke((float) (size * this.getWindowRatio()));
}
public Graphics2D getMainRender() {
return this.mainRender;
}
Expand Down Expand Up @@ -982,8 +1010,8 @@ public void toggleExternalArrays(boolean Bool) {
}

public void setVisual(VisualStyles choice) {
if(choice == visuals.VisualStyles.CUSTOMIMAGE) {
((CustomImage) this.visualClasses[2]).enableImgMenu();
if(choice == visuals.VisualStyles.CUSTOM_IMAGE) {
((CustomImage) this.visualClasses[9]).enableImgMenu();
}
this.VisualStyles = choice;
}
Expand Down