From 45aad42c39745f072e42e60c01f65ca15d465975 Mon Sep 17 00:00:00 2001 From: bronze Date: Tue, 18 Jul 2017 17:31:52 -0400 Subject: [PATCH] Initial Commit --- Painter/.DS_Store | Bin 0 -> 6148 bytes Painter/.classpath | 6 ++ Painter/.gitignore | 1 + Painter/.project | 17 +++++ Painter/.settings/org.eclipse.jdt.core.prefs | 11 +++ Painter/src/.DS_Store | Bin 0 -> 6148 bytes Painter/src/bz/.DS_Store | Bin 0 -> 6148 bytes Painter/src/bz/bronze/.DS_Store | Bin 0 -> 6148 bytes Painter/src/bz/bronze/painter/Context.java | 37 ++++++++++ Painter/src/bz/bronze/painter/Log.java | 8 +++ Painter/src/bz/bronze/painter/Mouse.java | 62 +++++++++++++++++ Painter/src/bz/bronze/painter/Painter.java | 23 +++++++ Painter/src/bz/bronze/painter/Tick.java | 24 +++++++ Painter/src/bz/bronze/painter/Window.java | 67 +++++++++++++++++++ 14 files changed, 256 insertions(+) create mode 100644 Painter/.DS_Store create mode 100644 Painter/.classpath create mode 100644 Painter/.gitignore create mode 100644 Painter/.project create mode 100644 Painter/.settings/org.eclipse.jdt.core.prefs create mode 100644 Painter/src/.DS_Store create mode 100644 Painter/src/bz/.DS_Store create mode 100644 Painter/src/bz/bronze/.DS_Store create mode 100644 Painter/src/bz/bronze/painter/Context.java create mode 100644 Painter/src/bz/bronze/painter/Log.java create mode 100644 Painter/src/bz/bronze/painter/Mouse.java create mode 100644 Painter/src/bz/bronze/painter/Painter.java create mode 100644 Painter/src/bz/bronze/painter/Tick.java create mode 100644 Painter/src/bz/bronze/painter/Window.java diff --git a/Painter/.DS_Store b/Painter/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..3b0c196dd0aab1f674f55e15464590244060ce03 GIT binary patch literal 6148 zcmeHK%}T>S5Z-O8rihq>V2`!HQ|oP-eT!J81#gG!s2VgoTLNovs;$!q8v`2@a> zGrJpUu?J5gb_RC8nVp&4%m>*Y#u&F|UYjwUF{VL7iFR}UI@Rw^g}P2ThT1^5;4!2lTIL4EHu;`S=Q-xn?|SC z$(u&j@3%ld?B%(p?H{y{PDl5TPuX++@+$e|K);Y(g(bX!qRM-)<1mQAI~XaW%P2x( zfEXYKh=H|YKpg|x_F7d<#S#O=z)u*!{lS2SXeuluimd}WygsA9hKK?>z9kS1g{Hzn zB6vW!Oa+vwTs<+kOowqp#hD5Vi87sWu`KnyH1P?e^R z=l==(GAkeX%PC|L1H`~TV}REN_P~Oo)Y%JDl8=8EI2OG0qG(j2%(M`_yq<&0TMG$+yDRo literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..be96e812f239d55d59bbfa15541a9664729ae568 GIT binary patch literal 6148 zcmeHK%}T>S5Z-O8rihq>V2`!HQ|oP-eT!J81#gG!r_VgoTLO=_?)lGo5T@(Fw$ zXLdKzV!@k;oq^qNW@lzM^Fj89F~+UA*Jey-jA_siIVx)ehu69)Dj1RD9BvS~pufA* zz*oM%4*2aA=CXyG#?$5RkCRsGgIB7xt?eDHUf1e-+MPX#Qaf>yd2Bhe8)5n0*j4&v z6a`2{k&r`O4w zM%M4QKtJx~xuzW+wNK7R4^NBiIe&ST>~bJq$iBi7-arw>J=(J{h{AiY%h)o8kQg8a zhyh|?;}}p!fwsGGl~cjQ05R|r1GqmJ&=5_9g+#G+K!?|7^w$tkK*zTPqM^`KSV#m9 z2$!jVGL@?*2AAnDZm2j@VIfhbGcHz!dDP0~S5Z-NTO%SmM!5(w*)qWidZnA`9g3UbxjJ|gUIC^b2jj2 z@z@^;e=V9Ee~|(Fc4g+X2@@=0tKaX#Zr<0 literal 0 HcmV?d00001 diff --git a/Painter/src/bz/bronze/.DS_Store b/Painter/src/bz/bronze/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..85b0dcb7387a34ed10040e14d1a9168c54251ff4 GIT binary patch literal 6148 zcmeHK%}&BV5S|5;5@Y0GBFDXW;{cJLlSzYk@Mcn@2Q|kPt~6S>iJ z(sIYws^|Cmp0O{&aJaBt@6zwjI>r5yFo;|~=#Q7uZ?62H7tUJYH0Vv#IOlFOz*;p? zr&x;PTD@MDwMH!|%edLBpncRx63aR`tRA0r?;oGy=j7#8b1U#SRI+Dq4sU3DS>}T? z4u)ZHhmm>JJe!djUQZ5z7($n$Uz$AIV5(7<^yl~gY7zIC0cK#M7!bL(({ACC%-OoOI67-3Y8RD+@=}e95;W9N gjJb3amr#|UUy^}n8%#B#2Zb*JiUw|&fj?#76J5|!^#A|> literal 0 HcmV?d00001 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