summaryrefslogtreecommitdiffstats
path: root/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet275.java
diff options
context:
space:
mode:
authorGrant Gayed <ggayed>2007-07-12 14:00:46 +0000
committerGrant Gayed <ggayed>2007-07-12 14:00:46 +0000
commitd1dc941a72df14d399b11e3bc8b1cde958abd045 (patch)
treefe5abcd85a824d3cd62825a6ba3828d45683555e /examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet275.java
parent3c6b9b7170055a7b9b115ca4eb1299b4a42b7e50 (diff)
downloadeclipse.platform.swt-d1dc941a72df14d399b11e3bc8b1cde958abd045.tar.gz
eclipse.platform.swt-d1dc941a72df14d399b11e3bc8b1cde958abd045.tar.xz
eclipse.platform.swt-d1dc941a72df14d399b11e3bc8b1cde958abd045.zip
*** empty log message ***
Diffstat (limited to 'examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet275.java')
-rw-r--r--examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet275.java65
1 files changed, 65 insertions, 0 deletions
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet275.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet275.java
new file mode 100644
index 0000000000..4d980a42ac
--- /dev/null
+++ b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet275.java
@@ -0,0 +1,65 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2007 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.snippets;
+
+/*
+ * Canvas snippet: update a Canvas frequently
+ *
+ * For a list of all SWT example snippets see
+ * http://www.eclipse.org/swt/snippets/
+ */
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.graphics.*;
+import org.eclipse.swt.widgets.*;
+
+public class Snippet275 {
+
+static String value;
+public static void main (String[] args) {
+ final int INTERVAL = 888;
+ final Display display = new Display ();
+ final Image image = new Image (display, 750, 750);
+ GC gc = new GC (image);
+ gc.setBackground (display.getSystemColor (SWT.COLOR_RED));
+ gc.fillRectangle (image.getBounds ());
+ gc.dispose ();
+
+ Shell shell = new Shell (display);
+ shell.setBounds (10, 10, 790, 790);
+ final Canvas canvas = new Canvas (shell, SWT.NONE);
+ canvas.setBounds (10, 10, 750, 750);
+ canvas.addListener (SWT.Paint, new Listener () {
+ public void handleEvent (Event event) {
+ value = String.valueOf (System.currentTimeMillis ());
+ event.gc.drawImage (image, 0, 0);
+ event.gc.drawString (value, 10, 10, true);
+ }
+ });
+ display.timerExec (INTERVAL, new Runnable () {
+ public void run () {
+ if (canvas.isDisposed ()) return;
+ // canvas.redraw (); // <-- bad, damages more than is needed
+ GC gc = new GC (canvas);
+ Point extent = gc.stringExtent (value + '0');
+ gc.dispose ();
+ canvas.redraw (10, 10, extent.x, extent.y, false);
+ display.timerExec (INTERVAL, this);
+ }
+ });
+ shell.open ();
+ while (!shell.isDisposed ()){
+ if (!display.readAndDispatch ()) display.sleep ();
+ }
+ image.dispose ();
+ display.dispose ();
+}
+
+}