summaryrefslogtreecommitdiffstats
path: root/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet134.java
diff options
context:
space:
mode:
Diffstat (limited to 'examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet134.java')
-rw-r--r--examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet134.java95
1 files changed, 0 insertions, 95 deletions
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet134.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet134.java
deleted file mode 100644
index cfeeade297..0000000000
--- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet134.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.snippets;
-
-/*
- * Shell example snippet: create a non-rectangular window
- *
- * For a list of all SWT example snippets see
- * http://dev.eclipse.org/viewcvs/index.cgi/%7Echeckout%7E/platform-swt-home/dev.html#snippets
- */
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-
-public class Snippet134 {
-
-static int[] circle(int r, int offsetX, int offsetY) {
- int[] polygon = new int[8 * r + 4];
- //x^2 + y^2 = r^2
- for (int i = 0; i < 2 * r + 1; i++) {
- int x = i - r;
- int y = (int)Math.sqrt(r*r - x*x);
- polygon[2*i] = offsetX + x;
- polygon[2*i+1] = offsetY + y;
- polygon[8*r - 2*i - 2] = offsetX + x;
- polygon[8*r - 2*i - 1] = offsetY - y;
- }
- return polygon;
-}
-
-public static void main(String[] args) {
- final Display display = new Display();
- //Shell must be created with style SWT.NO_TRIM
- final Shell shell = new Shell(display, SWT.NO_TRIM | SWT.ON_TOP);
- shell.setBackground(display.getSystemColor(SWT.COLOR_RED));
- //define a region that looks like a key hole
- Region region = new Region();
- region.add(circle(67, 67, 67));
- region.subtract(circle(20, 67, 50));
- region.subtract(new int[]{67, 50, 55, 105, 79, 105});
- //define the shape of the shell using setRegion
- shell.setRegion(region);
- Rectangle size = region.getBounds();
- shell.setSize(size.width, size.height);
- //add ability to move shell around
- Listener l = new Listener() {
- Point origin;
- public void handleEvent(Event e) {
- switch (e.type) {
- case SWT.MouseDown:
- origin = new Point(e.x, e.y);
- break;
- case SWT.MouseUp:
- origin = null;
- break;
- case SWT.MouseMove:
- if (origin != null) {
- Point p = display.map(shell, null, e.x, e.y);
- shell.setLocation(p.x - origin.x, p.y - origin.y);
- }
- break;
- }
- }
- };
- shell.addListener(SWT.MouseDown, l);
- shell.addListener(SWT.MouseUp, l);
- shell.addListener(SWT.MouseMove, l);
- //add ability to close shell
- Button b = new Button(shell, SWT.PUSH);
- b.setBackground(shell.getBackground());
- b.setText("close");
- b.pack();
- b.setLocation(10, 68);
- b.addListener(SWT.Selection, new Listener() {
- public void handleEvent(Event e) {
- shell.close();
- }
- });
- shell.open();
- while (!shell.isDisposed()) {
- if (!display.readAndDispatch())
- display.sleep();
- }
- region.dispose();
- display.dispose();
-}
-}