summaryrefslogtreecommitdiffstats
path: root/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/AlphaTab.java
diff options
context:
space:
mode:
Diffstat (limited to 'examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/AlphaTab.java')
-rw-r--r--examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/AlphaTab.java234
1 files changed, 0 insertions, 234 deletions
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/AlphaTab.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/AlphaTab.java
deleted file mode 100644
index f2908ad1b9..0000000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/AlphaTab.java
+++ /dev/null
@@ -1,234 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 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.examples.graphics;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-
-/**
- * This tab demonstrates alpha blending. It draws various shapes and images as
- * alpha values change.
- */
-public class AlphaTab extends AnimatedGraphicsTab {
- /**
- * Value used in setAlpha API call. Goes from 0 to 255 and then starts over.
- */
- int alphaValue;
-
- /**
- * Value used in setAlpha API call. Goes from 0 to 255, then from 255 to 0
- * and then starts over.
- */
- int alphaValue2;
-
- boolean reachedMax = false;
- int diameter;
-
- /** random numbers used for positioning "SWT" */
- int randX, randY;
- Image alphaImg1, alphaImg2;
-
- public AlphaTab(GraphicsExample example) {
- super(example);
- }
-
- public String getCategory() {
- return GraphicsExample.getResourceString("Alpha"); //$NON-NLS-1$
- }
-
- public String getText() {
- return GraphicsExample.getResourceString("Alpha"); //$NON-NLS-1$
- }
-
- public String getDescription() {
- return GraphicsExample.getResourceString("AlphaDescription"); //$NON-NLS-1$
- }
-
- public int getInitialAnimationTime() {
- return 20;
- }
-
- public void dispose() {
- if (alphaImg1 != null) {
- alphaImg1.dispose();
- alphaImg1 = null;
- }
- if (alphaImg2 != null) {
- alphaImg2.dispose();
- alphaImg2 = null;
- }
- }
-
- public void next(int width, int height) {
- alphaValue = (alphaValue+5)%255;
-
- alphaValue2 = reachedMax ? alphaValue2 - 5 : alphaValue2 + 5;
-
- if (alphaValue2 == 255) {
- reachedMax = true;
- } else if (alphaValue2 == 0) {
- reachedMax = false;
- }
-
- diameter = (diameter + 10)%(width > height ? width : height);
- }
-
- /**
- * Paint the receiver into the specified GC.
- */
- public void paint(GC gc, int width, int height) {
- if (!example.checkAdvancedGraphics()) return;
- Device device = gc.getDevice();
-
- if (alphaImg1 == null) {
- alphaImg1 = GraphicsExample.loadImage(device, GraphicsExample.class, "alpha_img1.png");
- alphaImg2 = GraphicsExample.loadImage(device, GraphicsExample.class, "alpha_img2.png");
- }
-
- Rectangle rect = alphaImg1.getBounds();
-
- gc.setAlpha(alphaValue);
- gc.drawImage(alphaImg1, rect.x, rect.y, rect.width, rect.height,
- width/2, height/2, width/4, height/4);
-
- gc.drawImage(alphaImg1, rect.x, rect.y, rect.width, rect.height,
- 0, 0, width/4, height/4);
-
- gc.setAlpha(255-alphaValue);
- gc.drawImage(alphaImg2, rect.x, rect.y, rect.width, rect.height,
- width/2, 0, width/4, height/4);
-
- gc.drawImage(alphaImg2, rect.x, rect.y, rect.width, rect.height,
- 0, 3*height/4, width/4, height/4);
-
- // pentagon
- gc.setBackground(device.getSystemColor(SWT.COLOR_DARK_MAGENTA));
- gc.fillPolygon(new int [] {width/10, height/2, 3*width/10, height/2-width/6, 5*width/10, height/2,
- 4*width/10, height/2+width/6, 2*width/10, height/2+width/6});
-
- gc.setBackground(device.getSystemColor(SWT.COLOR_RED));
-
- // square
- gc.setAlpha(alphaValue);
- gc.fillRectangle(width/2, height-75, 75, 75);
-
- // triangle
- gc.setAlpha(alphaValue + 15);
- gc.fillPolygon(new int[]{width/2+75, height-(2*75), width/2+75, height-75, width/2+(2*75), height-75});
-
- // triangle
- gc.setAlpha(alphaValue + 30);
- gc.fillPolygon(new int[]{width/2+80, height-(2*75), width/2+(2*75), height-(2*75), width/2+(2*75), height-80});
-
- // triangle
- gc.setAlpha(alphaValue + 45);
- gc.fillPolygon(new int[]{width/2+(2*75), height-(2*75), width/2+(3*75), height-(2*75), width/2+(3*75), height-(3*75)});
-
- // triangle
- gc.setAlpha(alphaValue + 60);
- gc.fillPolygon(new int[]{width/2+(2*75), height-((2*75)+5), width/2+(2*75), height-(3*75), width/2+((3*75)-5), height-(3*75)});
-
- // square
- gc.setAlpha(alphaValue + 75);
- gc.fillRectangle(width/2+(3*75), height-(4*75), 75, 75);
-
- gc.setBackground(device.getSystemColor(SWT.COLOR_GREEN));
-
- // circle in top right corner
- gc.setAlpha(alphaValue2);
- gc.fillOval(width-100, 0, 100, 100);
-
- // triangle
- gc.setAlpha(alphaValue + 90);
- gc.fillPolygon(new int[]{width-300, 10, width-100, 10, width-275, 50});
-
- // triangle
- gc.setAlpha(alphaValue + 105);
- gc.fillPolygon(new int[]{width-10, 100, width-10, 300, width-50, 275});
-
- // quadrilateral shape
- gc.setAlpha(alphaValue + 120);
- gc.fillPolygon(new int[]{width-100, 100, width-200, 150, width-200, 200, width-150, 200});
-
- // blue circles
- gc.setBackground(device.getSystemColor(SWT.COLOR_BLUE));
- int size = 50;
- int alpha = 20;
- for (int i = 0; i < 10; i++) {
- gc.setAlpha(alphaValue + alpha);
- if (i % 2 > 0) {
- gc.fillOval(width-((i+1)*size), height-size, size, size);
- } else {
- gc.fillOval(width-((i+1)*size), height-(3*size/2), size, size);
- }
- alpha = alpha + 20;
- }
-
- // SWT string appearing randomly
- gc.setAlpha(alphaValue2);
- String text = GraphicsExample.getResourceString("SWT");
- Font font = createFont(device, 100, SWT.NONE);
- gc.setFont(font);
-
- Point textSize = gc.stringExtent(text);
- int textWidth = textSize.x;
- int textHeight = textSize.y;
-
- if (alphaValue2 == 0){
- randX = (int)(width*Math.random());
- randY = (int)(height*Math.random());
- randX = (randX > textWidth) ? randX - textWidth : randX;
- randY = (randY > textHeight) ? randY - textHeight : randY;
- }
-
- gc.drawString(text, randX, randY, true);
- font.dispose();
-
- // gray donut
- gc.setAlpha(100);
- Path path = new Path(device);
- path.addArc((width-diameter)/2, (height-diameter)/2, diameter, diameter, 0, 360);
- path.close();
- path.addArc((width-diameter+25)/2, (height-diameter+25)/2, diameter-25, diameter-25, 0, 360);
- path.close();
- gc.setBackground(device.getSystemColor(SWT.COLOR_GRAY));
- gc.fillPath(path);
- gc.drawPath(path);
- path.dispose();
- }
-
- /**
- * Creates a font using the specified arguments and returns it.
- * This method takes into account the resident platform.
- *
- * @param face
- * The name of the font
- * @param points
- * The size of the font in point
- * @param style
- * The style to be applied to the font
- */
- static Font createFont(Device device, int points, int style) {
- if(SWT.getPlatform() == "win32") {
- return new Font(device, "Verdana", points, style);
- } else if (SWT.getPlatform() == "motif") {
- return new Font(device, "Times", points, style);
- } else if (SWT.getPlatform() == "gtk") {
- return new Font(device, "Baekmuk Batang", points, style);
- } else if (SWT.getPlatform() == "carbon") {
- return new Font(device, "Verdana", points, style);
- } else { // photon
- return new Font(device, "Verdana", points, style);
- }
- }
-}
-