diff options
author | rsuen | 2007-02-03 00:27:45 +0000 |
---|---|---|
committer | rsuen | 2007-02-03 00:27:45 +0000 |
commit | 3cf3c13fa49325ec804dfac7410e8082f865b1cd (patch) | |
tree | 123d4620f2a0e19877b88018433c56f9973e4155 /examples/bundles/org.eclipse.ecf.example.collab | |
parent | 2f283ca9d8194a183ff16d3c4c3d9bd0dd39f5c2 (diff) | |
download | org.eclipse.ecf-3cf3c13fa49325ec804dfac7410e8082f865b1cd.tar.gz org.eclipse.ecf-3cf3c13fa49325ec804dfac7410e8082f865b1cd.tar.xz org.eclipse.ecf-3cf3c13fa49325ec804dfac7410e8082f865b1cd.zip |
Draw a rectangle that can work with both white and black backgrounds.
Diffstat (limited to 'examples/bundles/org.eclipse.ecf.example.collab')
-rw-r--r-- | examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/ui/ChatComposite.java | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/ui/ChatComposite.java b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/ui/ChatComposite.java index 9bfe3e5c0..cbc4c76bb 100644 --- a/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/ui/ChatComposite.java +++ b/examples/bundles/org.eclipse.ecf.example.collab/src/org/eclipse/ecf/example/collab/ui/ChatComposite.java @@ -432,6 +432,10 @@ public class ChatComposite extends Composite { private class ScreenCaptureJob extends UIJob { + private Color blackColor; + + private Color whiteColor; + private boolean isDragging = false; private int downX = -1; @@ -440,6 +444,8 @@ public class ChatComposite extends Composite { public ScreenCaptureJob(Display display) { super(display, "Screen capturing..."); + blackColor = new Color(display, 0, 0, 0); + whiteColor = new Color(display, 255, 255, 255); } public IStatus runInUIThread(IProgressMonitor monitor) { @@ -448,13 +454,11 @@ public class ChatComposite extends Composite { final Image image = new Image(display, display.getBounds()); context.copyArea(image, 0, 0); context.dispose(); - final Color color = new Color(display, 255, 255, 255); final Shell shell = new Shell(display, SWT.NO_TRIM); shell.setLayout(new FillLayout()); shell.setBounds(display.getBounds()); final GC gc = new GC(shell); - gc.setForeground(color); shell.addPaintListener(new PaintListener() { public void paintControl(PaintEvent e) { gc.drawImage(image, 0, 0); @@ -479,6 +483,8 @@ public class ChatComposite extends Composite { view.lch.sendImage(new ImageWrapper(copy.getImageData())); copy.dispose(); image.dispose(); + blackColor.dispose(); + whiteColor.dispose(); } } }); @@ -487,7 +493,10 @@ public class ChatComposite extends Composite { public void mouseMove(MouseEvent e) { if (isDragging) { gc.drawImage(image, 0, 0); + gc.setForeground(blackColor); gc.drawRectangle(downX, downY, e.x - downX, e.y - downY); + gc.setForeground(whiteColor); + gc.drawRectangle(downX - 1, downY - 1, e.x - downX + 2, e.y - downY + 2); } } }); |