Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions app/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,8 @@ dependencies {
// This dependency is used by the application.
implementation(libs.guava)
implementation("com.google.code.gson:gson:2.10.1")
testImplementation("org.junit.jupiter:junit-jupiter-api:5.10.0")
testRuntimeOnly("org.junit.jupiter:junit-jupiter-engine:5.10.0")
}

testing {
Expand Down
2 changes: 1 addition & 1 deletion app/src/main/java/blitz/Main.java
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,8 @@
import javax.swing.SwingUtilities;

import blitz.configs.Config;
import blitz.services.Utils;
import blitz.ui.application.MainFrame;
import blitz.utils.Utils;


/**
Expand Down
84 changes: 42 additions & 42 deletions app/src/main/java/blitz/configs/Config.java
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,8 @@
import java.awt.Dimension;
import java.awt.Font;

import blitz.services.CartesianCoordinate;
import blitz.services.HexColor;
import blitz.utils.CartesianCoordinate;
import blitz.utils.HexColor;

public class Config {

Expand All @@ -35,7 +35,7 @@ public class Config {
public static final String SAVE_FILE_EXTENSION_TYPE_DESCRIPTION = "BLITZ JSON";
public static final String EXPORT_FILE_EXTENSION_TYPE = ".txt";

public static final String PATH_TO_APP_ICON = "app/src/main/java/blitz/resources/images/icons/app/Blitz App Icon.png";
public static final String PATH_TO_APP_ICON = "app/src/main/resources/images/icons/app/Blitz App Icon.png";



Expand All @@ -47,7 +47,7 @@ public class Config {

// -=-=-=- MenuBar -=-=-=-

public static final String PATH_TO_FIELDS_DIRECTORY = "app/src/main/java/blitz/resources/images/fields";
public static final String PATH_TO_FIELDS_DIRECTORY = "app/src/main/resources/images/fields";



Expand All @@ -67,18 +67,18 @@ public class Config {
public static final HexColor TOOL_PANEL_OPTIONS_BACKGROUND_COLOR = new HexColor("#aaaaaa");
public static final HexColor TOOL_PANEL_EXTRA_BACKGROUND_COLOR = new HexColor("#eeeeee");

public static final String PATH_TO_ADD_TOOL_ICON = "app/src/main/java/blitz/resources/images/icons/tools/add-tool.png";
public static final String PATH_TO_CUT_TOOL_ICON = "app/src/main/java/blitz/resources/images/icons/tools/cut-tool.png";
public static final String PATH_TO_INSERT_TOOL_ICON = "app/src/main/java/blitz/resources/images/icons/tools/insert-tool.png";
public static final String PATH_TO_EDIT_TIME_TOOL_ICON = "app/src/main/java/blitz/resources/images/icons/tools/edit-time-tool.png";
public static final String PATH_TO_MERGE_TOOL_ICON = "app/src/main/java/blitz/resources/images/icons/tools/merge-tool.png";
public static final String PATH_TO_MOVE_TOOL_ICON = "app/src/main/java/blitz/resources/images/icons/tools/move-tool.png";
public static final String PATH_TO_PAN_TOOL_ICON = "app/src/main/java/blitz/resources/images/icons/tools/move-tool.png";
public static final String PATH_TO_REMOVE_TOOL_ICON = "app/src/main/java/blitz/resources/images/icons/tools/remove-tool.png";
public static final String PATH_TO_RENDER_ALL_TOOL_ICON = "app/src/main/java/blitz/resources/images/icons/tools/render-all-tool.png";
public static final String PATH_TO_SHOW_ROBOT_TOOL_ICON = "app/src/main/java/blitz/resources/images/icons/tools/show-robot-tool.png";
public static final String PATH_TO_SELECTED_TOOL_BACKGROUND_ICON = "app/src/main/java/blitz/resources/images/icons/tools/selected-tool-background.png";
public static final String PATH_TO_UNSELECTED_TOOL_BACKGROUND_ICON = "app/src/main/java/blitz/resources/images/icons/tools/unselected-tool-background.png";
public static final String PATH_TO_ADD_TOOL_ICON = "app/src/main/resources/images/icons/tools/add-tool.png";
public static final String PATH_TO_CUT_TOOL_ICON = "app/src/main/resources/images/icons/tools/cut-tool.png";
public static final String PATH_TO_INSERT_TOOL_ICON = "app/src/main/resources/images/icons/tools/insert-tool.png";
public static final String PATH_TO_EDIT_TIME_TOOL_ICON = "app/src/main/resources/images/icons/tools/edit-time-tool.png";
public static final String PATH_TO_MERGE_TOOL_ICON = "app/src/main/resources/images/icons/tools/merge-tool.png";
public static final String PATH_TO_MOVE_TOOL_ICON = "app/src/main/resources/images/icons/tools/move-tool.png";
public static final String PATH_TO_PAN_TOOL_ICON = "app/src/main/resources/images/icons/tools/move-tool.png";
public static final String PATH_TO_REMOVE_TOOL_ICON = "app/src/main/resources/images/icons/tools/remove-tool.png";
public static final String PATH_TO_RENDER_ALL_TOOL_ICON = "app/src/main/resources/images/icons/tools/render-all-tool.png";
public static final String PATH_TO_SHOW_ROBOT_TOOL_ICON = "app/src/main/resources/images/icons/tools/show-robot-tool.png";
public static final String PATH_TO_SELECTED_TOOL_BACKGROUND_ICON = "app/src/main/resources/images/icons/tools/selected-tool-background.png";
public static final String PATH_TO_UNSELECTED_TOOL_BACKGROUND_ICON = "app/src/main/resources/images/icons/tools/unselected-tool-background.png";

public static final int RENDER_ALL_DELAY = 200;

Expand All @@ -97,27 +97,27 @@ public class Config {
public static final CartesianCoordinate DEFAULT_OFFSET = new CartesianCoordinate(0, 0);
public static final double CANVAS_PANEL_X_OFFSET = (CANVAS_PANEL_PREFERRED_DIMENSIONS.getWidth()) / 2;
public static final double CANVAS_PANEL_Y_OFFSET = (CANVAS_PANEL_PREFERRED_DIMENSIONS.getHeight()) / 2;
public static final String PATH_TO_ZOOM_IN_TOOL_ICON = "app/src/main/java/blitz/resources/images/icons/tools/zoom-in.png";
public static final String PATH_TO_ZOOM_OUT_TOOL_ICON = "app/src/main/java/blitz/resources/images/icons/tools/zoom-out.png";
public static final String PATH_TO_DEFAULT_FIELD = "app/src/main/java/blitz/resources/images/fields/V5RC - High Stakes - Match_size24x24.png";
public static final String PATH_TO_ZOOM_IN_TOOL_ICON = "app/src/main/resources/images/icons/tools/zoom-in.png";
public static final String PATH_TO_ZOOM_OUT_TOOL_ICON = "app/src/main/resources/images/icons/tools/zoom-out.png";
public static final String PATH_TO_DEFAULT_FIELD = "app/src/main/resources/images/fields/V5RC - High Stakes - Match_size24x24.png";

public static final int PIXELS_IN_ONE_INCH = 36;
public static final double MIN_ZOOM_SCALE_VALUE = 0.4;
public static final double MAX_ZOOM_SCALE_VALUE = 2;
public static final double ZOOM_IN_COEFFICIENT = 1.05; // Must be >1
public static final double ZOOM_OUT_COEFFICIENT = 0.95; // Must be <1

public static final String PATH_TO_PLUS_CURSOR_IMAGE = "app/src/main/java/blitz/resources/images/cursors/plus.png";
public static final String PATH_TO_SCISSORS_CURSOR_IMAGE = "app/src/main/java/blitz/resources/images/cursors/scissors.png";
public static final String PATH_TO_MOVE_CURSOR_IMAGE = "app/src/main/java/blitz/resources/images/cursors/move.png";
public static final String PATH_TO_HAND_OPEN_CURSOR_IMAGE = "app/src/main/java/blitz/resources/images/cursors/handopen.png";
public static final String PATH_TO_HAND_GRABBING_CURSOR_IMAGE = "app/src/main/java/blitz/resources/images/cursors/handgrabbing.png";
public static final String PATH_TO_HAND_POINTING_CURSOR_IMAGE = "app/src/main/java/blitz/resources/images/cursors/handpointing.png";
public static final String PATH_TO_HELP_CURSOR_IMAGE = "app/src/main/java/blitz/resources/images/cursors/help.png";
public static final String PATH_TO_MINUS_CURSOR_IMAGE = "app/src/main/java/blitz/resources/images/cursors/minus.png";
public static final String PATH_TO_EYE_CURSOR_IMAGE = "app/src/main/java/blitz/resources/images/cursors/eye.png";
public static final String PATH_TO_NOT_ALLOWED_CURSOR_IMAGE = "app/src/main/java/blitz/resources/images/cursors/notallowed.png";
public static final String PATH_TO_UNKNOWN_CURSOR_IMAGE = "app/src/main/java/blitz/resources/images/cursors/unknown.png";
public static final String PATH_TO_PLUS_CURSOR_IMAGE = "app/src/main/resources/images/cursors/plus.png";
public static final String PATH_TO_SCISSORS_CURSOR_IMAGE = "app/src/main/resources/images/cursors/scissors.png";
public static final String PATH_TO_MOVE_CURSOR_IMAGE = "app/src/main/resources/images/cursors/move.png";
public static final String PATH_TO_HAND_OPEN_CURSOR_IMAGE = "app/src/main/resources/images/cursors/handopen.png";
public static final String PATH_TO_HAND_GRABBING_CURSOR_IMAGE = "app/src/main/resources/images/cursors/handgrabbing.png";
public static final String PATH_TO_HAND_POINTING_CURSOR_IMAGE = "app/src/main/resources/images/cursors/handpointing.png";
public static final String PATH_TO_HELP_CURSOR_IMAGE = "app/src/main/resources/images/cursors/help.png";
public static final String PATH_TO_MINUS_CURSOR_IMAGE = "app/src/main/resources/images/cursors/minus.png";
public static final String PATH_TO_EYE_CURSOR_IMAGE = "app/src/main/resources/images/cursors/eye.png";
public static final String PATH_TO_NOT_ALLOWED_CURSOR_IMAGE = "app/src/main/resources/images/cursors/notallowed.png";
public static final String PATH_TO_UNKNOWN_CURSOR_IMAGE = "app/src/main/resources/images/cursors/unknown.png";



Expand Down Expand Up @@ -195,8 +195,8 @@ public class Config {
public static final Font SELECTION_PANEL_TRAJECTORY_LABEL_FONT = new Font("Verdana", Font.PLAIN, 14);
public static final Font SELECTION_PANEL_CONTROL_POINT_LABEL_FONT = new Font("Verdana", Font.PLAIN, 14);

public static final String PATH_TO_DELETE_OPTION_ICON = "app/src/main/java/blitz/resources/images/icons/selection/delete-option.png";
public static final String PATH_TO_ADD_TRAJECTORY_OPTION_ICON = "app/src/main/java/blitz/resources/images/icons/selection/add-trajectory-option.png";
public static final String PATH_TO_DELETE_OPTION_ICON = "app/src/main/resources/images/icons/selection/delete-option.png";
public static final String PATH_TO_ADD_TRAJECTORY_OPTION_ICON = "app/src/main/resources/images/icons/selection/add-trajectory-option.png";

public static final HexColor TRAJECTORY_LAYER_BACKGROUND_COLOR = new HexColor("#fefefe");
public static final Dimension TRAJECTORY_LAYER_PREFERRED_DIMENSION = new Dimension((int)SELECTION_PANEL_PREFERRED_DIMENSIONS.getWidth(), 40);
Expand All @@ -210,16 +210,16 @@ public class Config {
public static final HexColor CONTROL_POINT_LAYER_BACKGROUND_COLOR = new HexColor("#dedede");
public static final Dimension CONTROL_POINT_LAYER_PREFERRED_DIMENSIONS = new Dimension((int)(TRAJECTORY_LAYER_PREFERRED_DIMENSION.getWidth() - TRAJECTORY_LAYER_PREFERRED_DIMENSION.getHeight()), (int)TRAJECTORY_LAYER_PREFERRED_DIMENSION.getHeight());

public static final String PATH_TO_COLLAPSE_LAYERS_SELECTION_ICON = "app/src/main/java/blitz/resources/images/icons/selection/collapse-layers-selection-icon.png";
public static final String PATH_TO_EXPAND_LAYERS_SELECTION_ICON = "app/src/main/java/blitz/resources/images/icons/selection/expand-layers-selection-icon.png";
public static final String PATH_TO_HIDDEN_LAYER_SELECTION_ICON = "app/src/main/java/blitz/resources/images/icons/selection/hidden-layer-selection-icon.png";
public static final String PATH_TO_LOCKED_LAYER_SELECTION_ICON = "app/src/main/java/blitz/resources/images/icons/selection/locked-layer-selection-icon.png";
public static final String PATH_TO_MOVE_DOWN_LAYER_SELECTION_ICON = "app/src/main/java/blitz/resources/images/icons/selection/move-down-layer-selection-icon.png";
public static final String PATH_TO_MOVE_UP_LAYER_SELECTION_ICON = "app/src/main/java/blitz/resources/images/icons/selection/move-up-layer-selection-icon.png";
public static final String PATH_TO_SELECTED_LAYER_SELECTION_ICON = "app/src/main/java/blitz/resources/images/icons/selection/selected-layer-selection-icon.png";
public static final String PATH_TO_SHOWN_LAYER_SELECTION_ICON = "app/src/main/java/blitz/resources/images/icons/selection/shown-layer-selection-icon.png";
public static final String PATH_TO_UNLOCKED_LAYER_SELECTION_ICON = "app/src/main/java/blitz/resources/images/icons/selection/unlocked-layer-selection-icon.png";
public static final String PATH_TO_UNSELECTED_LAYER_SELECTION_ICON = "app/src/main/java/blitz/resources/images/icons/selection/unselected-layer-selection-icon.png";
public static final String PATH_TO_COLLAPSE_LAYERS_SELECTION_ICON = "app/src/main/resources/images/icons/selection/collapse-layers-selection-icon.png";
public static final String PATH_TO_EXPAND_LAYERS_SELECTION_ICON = "app/src/main/resources/images/icons/selection/expand-layers-selection-icon.png";
public static final String PATH_TO_HIDDEN_LAYER_SELECTION_ICON = "app/src/main/resources/images/icons/selection/hidden-layer-selection-icon.png";
public static final String PATH_TO_LOCKED_LAYER_SELECTION_ICON = "app/src/main/resources/images/icons/selection/locked-layer-selection-icon.png";
public static final String PATH_TO_MOVE_DOWN_LAYER_SELECTION_ICON = "app/src/main/resources/images/icons/selection/move-down-layer-selection-icon.png";
public static final String PATH_TO_MOVE_UP_LAYER_SELECTION_ICON = "app/src/main/resources/images/icons/selection/move-up-layer-selection-icon.png";
public static final String PATH_TO_SELECTED_LAYER_SELECTION_ICON = "app/src/main/resources/images/icons/selection/selected-layer-selection-icon.png";
public static final String PATH_TO_SHOWN_LAYER_SELECTION_ICON = "app/src/main/resources/images/icons/selection/shown-layer-selection-icon.png";
public static final String PATH_TO_UNLOCKED_LAYER_SELECTION_ICON = "app/src/main/resources/images/icons/selection/unlocked-layer-selection-icon.png";
public static final String PATH_TO_UNSELECTED_LAYER_SELECTION_ICON = "app/src/main/resources/images/icons/selection/unselected-layer-selection-icon.png";



Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
package blitz.models.calculations;

import blitz.models.trajectories.trajectoryComponents.ControlPoint;
import blitz.services.CartesianCoordinate;
import blitz.utils.CartesianCoordinate;

/**
* Abstract base class for spline calculations, providing methods for evaluating points
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,8 @@
import blitz.models.trajectories.Trajectory;
import blitz.models.trajectories.trajectoryComponents.ControlPoint;
import blitz.models.trajectories.trajectoryComponents.FollowPoint;
import blitz.services.CartesianCoordinate;
import blitz.services.Table;
import blitz.utils.CartesianCoordinate;
import blitz.utils.Table;

/**
* Equidistant interpolation algorithm that calculates a set of equidistant
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@
import blitz.models.trajectories.Trajectory;
import blitz.models.trajectories.trajectoryComponents.ControlPoint;
import blitz.models.trajectories.trajectoryComponents.FollowPoint;
import blitz.services.CartesianCoordinate;
import blitz.utils.CartesianCoordinate;

/**
* Fixed amount interpolation algorithm that calculates a set number of follow points
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,8 @@
import blitz.models.trajectories.Trajectory;
import blitz.models.trajectories.trajectoryComponents.ControlPoint;
import blitz.models.trajectories.trajectoryComponents.FollowPoint;
import blitz.services.CartesianCoordinate;
import blitz.services.Table;
import blitz.utils.CartesianCoordinate;
import blitz.utils.Table;

/**
* Uniform interpolation algorithm that calculates follow points
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@

import blitz.models.calculations.AbstractSpline;
import blitz.models.trajectories.trajectoryComponents.ControlPoint;
import blitz.services.CartesianCoordinate;
import blitz.utils.CartesianCoordinate;

/**
* Represents a Bezier spline that calculates the positions, arc length,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@

import blitz.models.calculations.AbstractSpline;
import blitz.models.trajectories.trajectoryComponents.ControlPoint;
import blitz.services.CartesianCoordinate;
import blitz.utils.CartesianCoordinate;

/**
* Represents a linear spline that interpolates points along a straight line
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@
import blitz.models.calculations.Calculations;
import blitz.models.trajectories.trajectoryComponents.ControlPoint;
import blitz.models.trajectories.trajectoryComponents.FollowPoint;
import blitz.services.CartesianCoordinate;
import blitz.utils.CartesianCoordinate;

public class Trajectory {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,9 +20,9 @@
import java.util.Map;

import blitz.configs.Config;
import blitz.services.CartesianCoordinate;
import blitz.services.PolarCoordinate;
import blitz.services.Utils;
import blitz.utils.CartesianCoordinate;
import blitz.utils.PolarCoordinate;
import blitz.utils.Utils;

public final class ControlPoint {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@

package blitz.models.trajectories.trajectoryComponents;

import blitz.services.CartesianCoordinate;
import blitz.utils.CartesianCoordinate;

/**
* Represents a follow point on a trajectory with its position, speed,
Expand Down
4 changes: 2 additions & 2 deletions app/src/main/java/blitz/ui/application/MainFrame.java
Original file line number Diff line number Diff line change
Expand Up @@ -45,8 +45,6 @@
import javax.swing.text.JTextComponent;

import blitz.configs.Config;
import blitz.services.FieldImage;
import blitz.services.Utils;
import blitz.ui.application.menu.Export;
import blitz.ui.application.menu.Open;
import blitz.ui.application.menu.Save;
Expand All @@ -56,6 +54,8 @@
import blitz.ui.application.panels.selectionPanel.SelectionPanel;
import blitz.ui.application.panels.toolPanel.ToolPanel;
import blitz.ui.application.panels.toolPanel.tools.Tool.Tools;
import blitz.utils.FieldImage;
import blitz.utils.Utils;


/**
Expand Down
2 changes: 1 addition & 1 deletion app/src/main/java/blitz/ui/application/menu/Export.java
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@
import blitz.configs.Config;
import blitz.models.trajectories.Trajectory;
import blitz.models.trajectories.trajectoriesList.TrajectoriesList;
import blitz.services.FormatManager;
import blitz.utils.FormatManager;

import java.util.logging.Level;
import java.util.logging.Logger;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -69,11 +69,10 @@
import blitz.models.trajectories.trajectoriesList.TrajectoriesList;
import blitz.models.active.ActiveEntities;
import blitz.ui.application.panels.canvasPanel.pointers.HelperPointer;

import blitz.services.CartesianCoordinate;
import blitz.ui.application.panels.toolPanel.tools.Tool;
import blitz.ui.application.panels.toolPanel.tools.Tool.Tools;
import blitz.services.FieldImage;
import blitz.utils.CartesianCoordinate;
import blitz.utils.FieldImage;

public class CanvasPanel extends JPanel implements MouseListener, MouseMotionListener, ActiveEntitiesListener, ToolListener, TrajectoriesListListener, VisibleTrajectoriesListener{

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,8 @@

import blitz.configs.Config;
import blitz.models.trajectories.trajectoryComponents.ControlPoint;
import blitz.services.Gradient;
import blitz.services.HexColor;
import blitz.utils.Gradient;
import blitz.utils.HexColor;

/**
* Represents a follow pointer that visually indicates a control point on the canvas.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@

import blitz.configs.Config;
import blitz.models.active.ActiveEntities;
import blitz.services.Utils;
import blitz.utils.Utils;

/**
* Represents an abstract panel that provides common functionalities for line-related panels.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@
import blitz.models.calculations.Calculations;
import blitz.models.trajectories.Trajectory;
import blitz.models.trajectories.trajectoryComponents.ControlPoint;
import blitz.services.DecimalFilter;
import blitz.utils.DecimalFilter;

/**
* Represents a panel for displaying and editing the distance-related properties of a trajectory.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@
import blitz.models.calculations.Calculations;
import blitz.models.trajectories.Trajectory;
import blitz.models.trajectories.trajectoryComponents.ControlPoint;
import blitz.services.DecimalFilter;
import blitz.utils.DecimalFilter;

/**
* Represents a panel for displaying and editing the end-related properties of a control point.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@
import blitz.models.calculations.Calculations;
import blitz.models.trajectories.Trajectory;
import blitz.models.trajectories.trajectoryComponents.ControlPoint;
import blitz.services.DecimalFilter;
import blitz.utils.DecimalFilter;

/**
* Represents a panel for displaying and editing the start-related properties of a control point.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@
import blitz.models.calculations.Calculations;
import blitz.models.trajectories.Trajectory;
import blitz.models.trajectories.trajectoryComponents.ControlPoint;
import blitz.services.DecimalFilter;
import blitz.utils.DecimalFilter;

/**
* Represents a panel for displaying and editing the number of segments of a control point.
Expand Down
Loading