commit 45aad42c39745f072e42e60c01f65ca15d465975 Author: bronze Date: Tue Jul 18 17:31:52 2017 -0400 Initial Commit diff --git a/Painter/.DS_Store b/Painter/.DS_Store new file mode 100644 index 0000000..3b0c196 Binary files /dev/null and b/Painter/.DS_Store differ diff --git a/Painter/.classpath b/Painter/.classpath new file mode 100644 index 0000000..51a8bba --- /dev/null +++ b/Painter/.classpath @@ -0,0 +1,6 @@ + + + + + + diff --git a/Painter/.gitignore b/Painter/.gitignore new file mode 100644 index 0000000..ae3c172 --- /dev/null +++ b/Painter/.gitignore @@ -0,0 +1 @@ +/bin/ diff --git a/Painter/.project b/Painter/.project new file mode 100644 index 0000000..092f98f --- /dev/null +++ b/Painter/.project @@ -0,0 +1,17 @@ + + + Painter + + + + + + org.eclipse.jdt.core.javabuilder + + + + + + org.eclipse.jdt.core.javanature + + diff --git a/Painter/.settings/org.eclipse.jdt.core.prefs b/Painter/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000..3a21537 --- /dev/null +++ b/Painter/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,11 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 +org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve +org.eclipse.jdt.core.compiler.compliance=1.8 +org.eclipse.jdt.core.compiler.debug.lineNumber=generate +org.eclipse.jdt.core.compiler.debug.localVariable=generate +org.eclipse.jdt.core.compiler.debug.sourceFile=generate +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.source=1.8 diff --git a/Painter/src/.DS_Store b/Painter/src/.DS_Store new file mode 100644 index 0000000..be96e81 Binary files /dev/null and b/Painter/src/.DS_Store differ diff --git a/Painter/src/bz/.DS_Store b/Painter/src/bz/.DS_Store new file mode 100644 index 0000000..d1dc271 Binary files /dev/null and b/Painter/src/bz/.DS_Store differ diff --git a/Painter/src/bz/bronze/.DS_Store b/Painter/src/bz/bronze/.DS_Store new file mode 100644 index 0000000..85b0dcb Binary files /dev/null and b/Painter/src/bz/bronze/.DS_Store differ diff --git a/Painter/src/bz/bronze/painter/Context.java b/Painter/src/bz/bronze/painter/Context.java new file mode 100644 index 0000000..b7efe9f --- /dev/null +++ b/Painter/src/bz/bronze/painter/Context.java @@ -0,0 +1,37 @@ +package bz.bronze.painter; + +import java.awt.Color; +import java.awt.Graphics; + +import java.util.Random; + +public class Context { + static int rectSize = 100; + + static Random rng = new Random(); + + public static void drawBorders(Graphics g) + { + g.drawLine(0, 0, 0, Window.height + 10); + + Log.print("hit"); + + //g.dispose(); + } + + public static void draw(Graphics g, int x, int y) + { + int size = Window.sizeSlider.getValue(); + Color c = new Color(rng.nextInt(256), rng.nextInt(256), rng.nextInt(256), Window.opacitySlider.getValue()); + + g.setColor(c); + + g.fillOval(x - size / 2, y - size / 2, size, size); + + g.dispose(); + + Log.print("[PAINTER] Drawn at, " + "X: " + x + " Y: " + y); + Log.print("[PAINTER] Color, " + "R: " + c.getRed() + " G: " + c.getGreen() + " B: " + c.getBlue()); + Log.print("[PAINTER] Opacity, " + Window.opacitySlider.getValue()); + } +} \ No newline at end of file diff --git a/Painter/src/bz/bronze/painter/Log.java b/Painter/src/bz/bronze/painter/Log.java new file mode 100644 index 0000000..a95a95e --- /dev/null +++ b/Painter/src/bz/bronze/painter/Log.java @@ -0,0 +1,8 @@ +package bz.bronze.painter; + +public class Log { + public static void print(String info) + { + System.out.println(info); + } +} \ No newline at end of file diff --git a/Painter/src/bz/bronze/painter/Mouse.java b/Painter/src/bz/bronze/painter/Mouse.java new file mode 100644 index 0000000..ba5cb8e --- /dev/null +++ b/Painter/src/bz/bronze/painter/Mouse.java @@ -0,0 +1,62 @@ +package bz.bronze.painter; + +import java.awt.MouseInfo; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import java.awt.event.MouseEvent; +import java.awt.event.MouseListener; + +public class Mouse { + static boolean isDown; + + public static void listen() + { + Window.paintArea.addMouseListener(new MouseListener() + { + @Override + public void mouseClicked(MouseEvent e) { + } + + @Override + public void mousePressed(MouseEvent e) { + isDown = true; + + } + + @Override + public void mouseReleased(MouseEvent e) { + isDown = false; + } + + @Override + public void mouseEntered(MouseEvent e) { + } + + @Override + public void mouseExited(MouseEvent e) { + } + + }); + + Window.clearButton.addActionListener(new ActionListener() + { + @Override + public void actionPerformed(ActionEvent e) { + Window.paintArea.repaint(); + } + }); + } + + public static int getMouseX() + { + int mouseX; + + return mouseX = MouseInfo.getPointerInfo().getLocation().x; + } + public static int getMouseY() + { + int mouseY; + + return mouseY = MouseInfo.getPointerInfo().getLocation().y; + } +} \ No newline at end of file diff --git a/Painter/src/bz/bronze/painter/Painter.java b/Painter/src/bz/bronze/painter/Painter.java new file mode 100644 index 0000000..e9f5214 --- /dev/null +++ b/Painter/src/bz/bronze/painter/Painter.java @@ -0,0 +1,23 @@ +package bz.bronze.painter; + +public class Painter { + private static String title = "Painter"; + public static boolean isRunning; + + + public static void init() + { + Window w = new Window(title); + //Context.drawBorders(Window.paintArea.getGraphics()); + Tick refresh = new Tick(); + + Log.print("[INIT] Done!"); + } + + public static void main(String[] args) + { + isRunning = true; + + init(); + } +} \ No newline at end of file diff --git a/Painter/src/bz/bronze/painter/Tick.java b/Painter/src/bz/bronze/painter/Tick.java new file mode 100644 index 0000000..a293419 --- /dev/null +++ b/Painter/src/bz/bronze/painter/Tick.java @@ -0,0 +1,24 @@ +package bz.bronze.painter; + +public class Tick implements Runnable { + public Thread refresh = new Thread(this); + + public Tick() + { + refresh.start(); + } + + public void run() { + while(Painter.isRunning) + { + Window.opacitySliderLabel.setText("Opacity: " + Window.opacitySlider.getValue()); + Window.sizeSliderLabel.setText("Size: " + Window.sizeSlider.getValue()); + + if(Mouse.isDown) + { + Context.draw(Window.paintArea.getGraphics(), Window.paintArea.getMousePosition().x, Window.paintArea.getMousePosition().y); + //Window.paintArea.repaint(); + } + } + } +} \ No newline at end of file diff --git a/Painter/src/bz/bronze/painter/Window.java b/Painter/src/bz/bronze/painter/Window.java new file mode 100644 index 0000000..c8f2581 --- /dev/null +++ b/Painter/src/bz/bronze/painter/Window.java @@ -0,0 +1,67 @@ +package bz.bronze.painter; + +import java.awt.BorderLayout; +import java.awt.Dimension; + +import javax.swing.JButton; +import javax.swing.JFrame; +import javax.swing.JLabel; +import javax.swing.JPanel; +import javax.swing.JSlider; + +public class Window { + public static int width = 1280; + public static int height = 720; + + public static JPanel paintArea = new JPanel(); + public static JPanel toolbox = new JPanel(); + + public static JLabel opacitySliderLabel = new JLabel(); + public static JLabel sizeSliderLabel = new JLabel(); + public static JLabel fpsLabel = new JLabel(); + + public static JSlider opacitySlider = new JSlider(); + public static JSlider sizeSlider = new JSlider(); + + public static JButton clearButton = new JButton(); + + public Window(String windowName) + { + JFrame window = new JFrame(windowName); + + opacitySlider.setMaximum(255); + opacitySlider.setValue(255); + opacitySlider.setPreferredSize(new Dimension(100, 50)); + + sizeSlider.setValue(100); + sizeSlider.setPreferredSize(new Dimension(100, 50)); + + clearButton.setText("Clear"); + clearButton.setPreferredSize(new Dimension(100, 50)); + + window.setLayout(new BorderLayout()); + window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + window.setSize(width, height); + window.setLocationRelativeTo(null); + + toolbox.add(opacitySliderLabel); + toolbox.add(opacitySlider); + toolbox.add(sizeSliderLabel); + toolbox.add(sizeSlider); + toolbox.add(clearButton); + toolbox.add(fpsLabel, BorderLayout.SOUTH); + + window.add(paintArea); + window.add(toolbox, BorderLayout.WEST); + + paintArea.setVisible(true); + toolbox.setPreferredSize(new Dimension(200, height)); + toolbox.setVisible(true); + window.setResizable(false); + window.setVisible(true); + + Mouse.listen(); + + Log.print("[WINDOW] Created!"); + } +} \ No newline at end of file