diff options
Diffstat (limited to 'examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet219.java')
-rw-r--r-- | examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet219.java | 94 |
1 files changed, 0 insertions, 94 deletions
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet219.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet219.java deleted file mode 100644 index ae37609757..0000000000 --- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet219.java +++ /dev/null @@ -1,94 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2005 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; - -import org.eclipse.swt.*; -import org.eclipse.swt.graphics.*; -import org.eclipse.swt.widgets.*; - -/** - * Region snippet: Create non-rectangular shell from an image with transparency - * - * For a list of all SWT example snippets see - * http://www.eclipse.org/swt/snippets/ - * - * @since 3.2 - */ -public class Snippet219 { - public static void main(String[] args) { - final Display display = new Display (); - final Image image = display.getSystemImage(SWT.ICON_INFORMATION); - final Shell shell = new Shell (display, SWT.NO_TRIM); - Region region = new Region(); - final ImageData imageData = image.getImageData(); - if (imageData.alphaData != null) { - Rectangle pixel = new Rectangle(0, 0, 1, 1); - for (int y = 0; y < imageData.height; y++) { - for (int x = 0; x < imageData.width; x++) { - if (imageData.getAlpha(x, y) == 255) { - pixel.x = imageData.x + x; - pixel.y = imageData.y + y; - region.add(pixel); - } - } - } - } else { - ImageData mask = imageData.getTransparencyMask(); - Rectangle pixel = new Rectangle(0, 0, 1, 1); - for (int y = 0; y < mask.height; y++) { - for (int x = 0; x < mask.width; x++) { - if (mask.getPixel(x, y) != 0) { - pixel.x = imageData.x + x; - pixel.y = imageData.y + y; - region.add(pixel); - } - } - } - } - shell.setRegion(region); - - Listener l = new Listener() { - int startX, startY; - public void handleEvent(Event e) { - if (e.type == SWT.KeyDown && e.character == SWT.ESC) { - shell.dispose(); - } - if (e.type == SWT.MouseDown && e.button == 1) { - startX = e.x; - startY = e.y; - } - if (e.type == SWT.MouseMove && (e.stateMask & SWT.BUTTON1) != 0) { - Point p = shell.toDisplay(e.x, e.y); - p.x -= startX; - p.y -= startY; - shell.setLocation(p); - } - if (e.type == SWT.Paint) { - e.gc.drawImage(image, imageData.x, imageData.y); - } - } - }; - shell.addListener(SWT.KeyDown, l); - shell.addListener(SWT.MouseDown, l); - shell.addListener(SWT.MouseMove, l); - shell.addListener(SWT.Paint, l); - - shell.setSize(imageData.x + imageData.width, imageData.y + imageData.height); - shell.open (); - while (!shell.isDisposed ()) { - if (!display.readAndDispatch ()) - display.sleep (); - } - region.dispose(); - image.dispose (); - display.dispose (); - } -} |