Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/MazeTab.java')
-rw-r--r--examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/MazeTab.java328
1 files changed, 0 insertions, 328 deletions
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/MazeTab.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/MazeTab.java
deleted file mode 100644
index 674e145f4e..0000000000
--- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/MazeTab.java
+++ /dev/null
@@ -1,328 +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 java.util.*;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-
-/**
- * This tab shows three circles, each following a different path in a maze.
- * Only one of the three circles follows the correct path.
- */
-public class MazeTab extends AnimatedGraphicsTab {
-
- int nextIndex, nextIndex2, nextIndex3;
- int xcoord, ycoord, xcoord2, ycoord2, xcoord3, ycoord3;
- ArrayList nextCoord, nextCoord2, nextCoord3;
- boolean isDone, isDone2, isDone3;
- Image image;
-
-/**
- * Constructor
- * @param example A GraphicsExample
- */
-public MazeTab(GraphicsExample example) {
- super(example);
-
- // correct path
- nextCoord = new ArrayList();
- nextCoord.addAll(moveDown(20, -50, 20, 110, 10));
- nextCoord.addAll(moveRight(30, 110, 130, 110, 10));
- nextCoord.addAll(moveUp(135, 100, 135, 15, 10));
- nextCoord.addAll(moveRight(140, 15, 210, 15, 10));
- nextCoord.addAll(moveDown(210, 25, 210, 75, 10));
- nextCoord.addAll(moveRight(220, 75, 320, 75, 10));
- nextCoord.addAll(moveUp(320, 65, 320, 55, 10));
- nextCoord.addAll(moveRight(330, 50, 475, 50, 10));
- nextCoord.addAll(moveDown(475, 60, 475, 225, 10));
- nextCoord.addAll(moveLeft(465, 225, 200, 225, 10));
- nextCoord.addAll(moveUp(200, 215, 200, 180, 10));
- nextCoord.addAll(moveLeft(190, 180, 120, 180, 10));
- nextCoord.addAll(moveDown(120, 190, 120, 320, 10));
- nextCoord.addAll(moveRight(130, 320, 475, 320, 10));
- nextCoord.addAll(moveDown(475, 330, 475, 435, 10));
- nextCoord.addAll(moveLeft(465, 435, 20, 435, 10));
- nextCoord.addAll(moveDown(20, 445, 20, 495, 10));
-
- nextIndex = 0;
- xcoord = ((Integer)nextCoord.get(nextIndex)).intValue();
- ycoord = ((Integer)nextCoord.get(nextIndex+1)).intValue();
-
- // wrong path 1
- nextCoord2 = new ArrayList();
- nextCoord2.addAll(moveDown(20, -25, 20, 110, 10));
- nextCoord2.addAll(moveRight(30, 110, 130, 110, 10));
- nextCoord2.addAll(moveUp(135, 100, 135, 15, 10));
- nextCoord2.addAll(moveRight(140, 15, 520, 15, 10));
- nextCoord2.addAll(moveDown(525, 15, 525, 480, 10));
- nextCoord2.addAll(moveLeft(515, 480, 70, 480, 10));
-
- nextIndex2 = 0;
- xcoord2 = ((Integer)nextCoord2.get(nextIndex2)).intValue();
- ycoord2 = ((Integer)nextCoord2.get(nextIndex2+1)).intValue();
-
- // wrong path 2
- nextCoord3 = new ArrayList();
- nextCoord3.addAll(moveDown(20, 0, 20, 110, 10));
- nextCoord3.addAll(moveRight(30, 110, 130, 110, 10));
- nextCoord3.addAll(moveUp(135, 100, 135, 15, 10));
- nextCoord3.addAll(moveRight(140, 15, 210, 15, 10));
- nextCoord3.addAll(moveDown(210, 25, 210, 75, 10));
- nextCoord3.addAll(moveRight(220, 75, 320, 75, 10));
- nextCoord3.addAll(moveUp(320, 65, 320, 55, 10));
- nextCoord3.addAll(moveRight(330, 50, 475, 50, 10));
- nextCoord3.addAll(moveDown(475, 60, 475, 225, 10));
- nextCoord3.addAll(moveLeft(465, 225, 425, 225, 10));
- nextCoord3.addAll(moveUp(420, 225, 420, 150, 10));
- nextCoord3.addAll(moveLeft(420, 145, 70, 145, 10));
- nextCoord3.addAll(moveDown(70, 150, 70, 320, 10));
-
- nextIndex3 = 0;
- xcoord3 = ((Integer)nextCoord3.get(nextIndex3)).intValue();
- ycoord3 = ((Integer)nextCoord3.get(nextIndex3+1)).intValue();
-
- isDone = isDone2 = isDone3 = false;
-}
-
-public String getCategory() {
- return GraphicsExample.getResourceString("Misc"); //$NON-NLS-1$
-}
-
-public String getText() {
- return GraphicsExample.getResourceString("Maze"); //$NON-NLS-1$
-}
-
-public String getDescription() {
- return GraphicsExample.getResourceString("MazeDescription"); //$NON-NLS-1$
-}
-
-public int getInitialAnimationTime() {
- return 50;
-}
-
-public void dispose() {
- if (image != null) {
- image.dispose();
- image = null;
- }
-}
-
-public void createControlPanel(Composite parent) {
- super.createControlPanel(parent);
-
- // add selection listener to reset nextNumber after
- // the sequence has completed
- playItem.addListener(SWT.Selection, new Listener() {
- public void handleEvent(Event event) {
- if (isDone){
- nextIndex = nextIndex2 = nextIndex3 = 0;
- isDone = isDone2 = isDone3 = false;
- }
- }
- });
-}
-
-/* (non-Javadoc)
- * @see org.eclipse.swt.examples.graphics.AnimatedGraphicsTab#next(int, int)
- */
-public void next(int width, int height) {
-
- if (nextIndex+2 < nextCoord.size()) {
- nextIndex = (nextIndex+2)%nextCoord.size();
- xcoord = ((Integer)nextCoord.get(nextIndex)).intValue();
- ycoord = ((Integer)nextCoord.get(nextIndex+1)).intValue();
- } else {
- // stop animation
- setAnimation(false);
- isDone = true;
- }
-
- if (nextIndex2+2 < nextCoord2.size()) {
- nextIndex2 = (nextIndex2+2)%nextCoord2.size();
- xcoord2 = ((Integer)nextCoord2.get(nextIndex2)).intValue();
- ycoord2 = ((Integer)nextCoord2.get(nextIndex2+1)).intValue();
- } else {
- isDone2 = true;
- }
-
- if (nextIndex3+2 < nextCoord3.size()) {
- nextIndex3 = (nextIndex3+2)%nextCoord3.size();
- xcoord3 = ((Integer)nextCoord3.get(nextIndex3)).intValue();
- ycoord3 = ((Integer)nextCoord3.get(nextIndex3+1)).intValue();
- } else {
- isDone3 = true;
- }
-}
-
-/* (non-Javadoc)
- * @see org.eclipse.swt.examples.graphics.GraphicsTab#paint(org.eclipse.swt.graphics.GC, int, int)
- */
-public void paint(GC gc, int width, int height) {
- Device device = gc.getDevice();
-
- if (image == null) {
- image = example.loadImage(device, "maze.bmp");
- }
- // draw maze
- Rectangle bounds = image.getBounds();
- int x = (width - bounds.width) / 2;
- int y = (height - bounds.height) / 2;
- gc.drawImage(image, x, y);
-
- // draw correct oval
- gc.setBackground(device.getSystemColor(SWT.COLOR_RED));
- gc.fillOval(x + xcoord, y + ycoord, 16, 16);
- gc.drawOval(x + xcoord, y + ycoord, 15, 15);
-
- // draw wrong oval 1
- gc.setBackground(device.getSystemColor(SWT.COLOR_BLUE));
- gc.fillOval(x + xcoord2, y + ycoord2, 16, 16);
- gc.drawOval(x + xcoord2, y + ycoord2, 15, 15);
-
- // draw wrong oval 2
- gc.setBackground(device.getSystemColor(SWT.COLOR_GREEN));
- gc.fillOval(x + xcoord3, y + ycoord3, 16, 16);
- gc.drawOval(x + xcoord3, y + ycoord3, 15, 15);
-
- if (isDone2) {
- Image helpImg = example.loadImage(device, "help.gif");
- gc.drawImage(helpImg, x + xcoord2 + 16, y + ycoord2 - 16);
- helpImg.dispose();
- }
-
- if (isDone3) {
- Image helpImg = example.loadImage(device, "help.gif");
- gc.drawImage(helpImg, x + xcoord3 + 16, y + ycoord3 - 16);
- helpImg.dispose();
- }
-}
-
-/**
- * Returns a list of coordinates moving in a "left-moving" fashion from the start
- * point to the end point inclusively.
- *
- * @param x1
- * X component of the start point
- * @param y1
- * Y component of the start point
- * @param x2
- * X component of the end point
- * @param y2
- * Y component of the end point
- * @param stepsize
- * The number of pixels that separate each coordinate
- */
-private ArrayList moveLeft(int x1, int y1, int x2, int y2, int stepsize) {
- ArrayList coords = new ArrayList();
- coords.add(new Integer(x1));
- coords.add(new Integer(y1));
- while(x1 - stepsize > x2) {
- x1 = x1 - stepsize;
- coords.add(new Integer(x1));
- coords.add(new Integer(y1));
- }
- coords.add(new Integer(x2));
- coords.add(new Integer(y2));
- return coords;
-}
-
-/**
- * Returns a list of coordinates moving in a "right-moving" fashion from the start
- * point to the end point inclusively.
- *
- * @param x1
- * X component of the start point
- * @param y1
- * Y component of the start point
- * @param x2
- * X component of the end point
- * @param y2
- * Y component of the end point
- * @param stepsize
- * The number of pixels that separate each coordinate
- */
-private ArrayList moveRight(int x1, int y1, int x2, int y2, int stepsize) {
- ArrayList coords = new ArrayList();
- coords.add(new Integer(x1));
- coords.add(new Integer(y1));
- while(x1 + stepsize < x2) {
- x1 = x1 + stepsize;
- coords.add(new Integer(x1));
- coords.add(new Integer(y1));
- }
- coords.add(new Integer(x2));
- coords.add(new Integer(y2));
- return coords;
-}
-
-/**
- * Returns a list of coordinates moving in an upward fashion from the start
- * point to the end point inclusively.
- *
- * @param x1
- * X component of the start point
- * @param y1
- * Y component of the start point
- * @param x2
- * X component of the end point
- * @param y2
- * Y component of the end point
- * @param stepsize
- * The number of pixels that separate each coordinate
- */
-private ArrayList moveUp(int x1, int y1, int x2, int y2, int stepsize) {
- ArrayList coords = new ArrayList();
- coords.add(new Integer(x1));
- coords.add(new Integer(y1));
- while(y1 - stepsize > y2) {
- y1 = y1 - stepsize;
- coords.add(new Integer(x1));
- coords.add(new Integer(y1));
- }
- coords.add(new Integer(x2));
- coords.add(new Integer(y2));
- return coords;
-}
-
-/**
- * Returns a list of coordinates moving in a downward fashion from the start
- * point to the end point inclusively.
- *
- * @param x1
- * X component of the start point
- * @param y1
- * Y component of the start point
- * @param x2
- * X component of the end point
- * @param y2
- * Y component of the end point
- * @param stepsize
- * The number of pixels that separate each coordinate
- */
-private ArrayList moveDown(int x1, int y1, int x2, int y2, int stepsize) {
- ArrayList coords = new ArrayList();
- coords.add(new Integer(x1));
- coords.add(new Integer(y1));
- while(y1 + stepsize < y2) {
- y1 = y1 + stepsize;
- coords.add(new Integer(x1));
- coords.add(new Integer(y1));
- }
- coords.add(new Integer(x2));
- coords.add(new Integer(y2));
- return coords;
-}
-
-}

Back to the top