[Pixelle-commit] SF.net SVN: pixelle:[191] trunk/pixelle/src/com/mebigfatguy/pixelle
Brought to you by:
dbrosius
|
From: <dbr...@us...> - 2008-11-14 23:07:27
|
Revision: 191
http://pixelle.svn.sourceforge.net/pixelle/?rev=191&view=rev
Author: dbrosius
Date: 2008-11-14 23:07:22 +0000 (Fri, 14 Nov 2008)
Log Message:
-----------
hook up inspector -- not working tho
Modified Paths:
--------------
trunk/pixelle/src/com/mebigfatguy/pixelle/PixelleFrame.java
trunk/pixelle/src/com/mebigfatguy/pixelle/dialogs/PixelInspector.java
Modified: trunk/pixelle/src/com/mebigfatguy/pixelle/PixelleFrame.java
===================================================================
--- trunk/pixelle/src/com/mebigfatguy/pixelle/PixelleFrame.java 2008-11-14 22:27:04 UTC (rev 190)
+++ trunk/pixelle/src/com/mebigfatguy/pixelle/PixelleFrame.java 2008-11-14 23:07:22 UTC (rev 191)
@@ -19,12 +19,15 @@
package com.mebigfatguy.pixelle;
import java.awt.BorderLayout;
+import java.awt.Color;
import java.awt.Container;
import java.awt.Dimension;
import java.awt.EventQueue;
import java.awt.Graphics;
import java.awt.Point;
import java.awt.Rectangle;
+import java.awt.event.MouseEvent;
+import java.awt.event.MouseMotionAdapter;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.io.File;
@@ -293,9 +296,38 @@
}
public class ImagePanel extends JPanel {
- private static final long serialVersionUID = -1572146409734928935L;
+ private static final long serialVersionUID = 1004811680136095184L;
+
private ZoomLevel zoom = ZoomLevel.FitToWindow;
+ private final int[] color = new int[4];
+ private Point lastPoint = new Point();
+
+ public ImagePanel() {
+ addMouseMotionListener(new MouseMotionAdapter() {
+
+ @Override
+ public void mouseMoved(MouseEvent e) {
+ if (inspector != null) {
+ Point p = e.getPoint();
+ if (!lastPoint.equals(p)) {
+ lastPoint = p;
+ Dimension d = getDimension();
+ int iWidth = image.getWidth();
+ int iHeight = image.getHeight();
+ double x = (p.x * (double)iWidth / d.width) + 0.5;
+ double y = (p.y * (double)iHeight / d.height) + 0.5;
+ p = new Point((int) x, (int) y);
+ if ((p.x >= 0) && (p.y >= 0) && (p.x < iWidth) && (p.y < iHeight)) {
+ inspector.setInspectorPosition(p);
+ image.getSaveImage().getData().getPixel(p.x, p.y, color);
+ inspector.setInspectorColor(new Color(color[3], color[2], color[1]));
+ }
+ }
+ }
+ }
+ });
+ }
@Override
public void paintComponent(Graphics g) {
super.paintComponent(g);
Modified: trunk/pixelle/src/com/mebigfatguy/pixelle/dialogs/PixelInspector.java
===================================================================
--- trunk/pixelle/src/com/mebigfatguy/pixelle/dialogs/PixelInspector.java 2008-11-14 22:27:04 UTC (rev 190)
+++ trunk/pixelle/src/com/mebigfatguy/pixelle/dialogs/PixelInspector.java 2008-11-14 23:07:22 UTC (rev 191)
@@ -46,6 +46,7 @@
private JTextField xField;
private JTextField yField;
private JTextField colorField;
+ private final StringBuilder sb = new StringBuilder();
public PixelInspector(PixelleFrame pf) {
frame = pf;
@@ -53,7 +54,7 @@
initListeners();
}
- public void setPosition(final Point p) {
+ public void setInspectorPosition(final Point p) {
EventQueue.invokeLater(new Runnable() {
public void run() {
xField.setText(String.valueOf(p.x));
@@ -65,6 +66,20 @@
public void setInspectorColor(final Color c) {
EventQueue.invokeLater(new Runnable() {
public void run() {
+ sb.setLength(0);
+ String r = Integer.toHexString(c.getRed());
+ String g = Integer.toHexString(c.getGreen());
+ String b = Integer.toHexString(c.getBlue());
+ if (r.length() > 1)
+ sb.append('0');
+ sb.append(r);
+ if (g.length() > 1)
+ sb.append('0');
+ sb.append(g);
+ if (b.length() > 1)
+ sb.append('0');
+ sb.append(b);
+ colorField.setText(sb.toString());
swatchPanel.setBackground(c);
swatchPanel.repaint();
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|