Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
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.java94
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 ();
- }
-}

Back to the top