diff options
Diffstat (limited to 'examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/ShapesTab.java')
-rw-r--r-- | examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/ShapesTab.java | 199 |
1 files changed, 0 insertions, 199 deletions
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/ShapesTab.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/ShapesTab.java deleted file mode 100644 index 8cebcdb321..0000000000 --- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/ShapesTab.java +++ /dev/null @@ -1,199 +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 draws 3D shapes (in 2D) using various line styles. - */ -public class ShapesTab extends AnimatedGraphicsTab { - - int upDownValue; - int inc = 1; - -public ShapesTab(GraphicsExample example) { - super(example); - upDownValue = 0; -} - -public String getCategory() { - return GraphicsExample.getResourceString("Lines"); //$NON-NLS-1$ -} - -public String getText() { - return GraphicsExample.getResourceString("Shapes"); //$NON-NLS-1$ -} - -public String getDescription() { - return GraphicsExample.getResourceString("ShapesDescription"); //$NON-NLS-1$ -} - -public void next(int width, int height) { - upDownValue += inc; - - if (upDownValue > 5) inc = -1; - if (upDownValue < -5) inc = 1; -} - -public void paint(GC gc, int width, int height) { - if (!example.checkAdvancedGraphics()) return; - Device device = gc.getDevice(); - - int size = 100; - - gc.setLineWidth(2); - - // ----- cube ----- - - Transform transform = new Transform(device); - transform.translate(width/4 - size, height/4 + -upDownValue); - gc.setTransform(transform); - - gc.setLineStyle(SWT.LINE_DOT); - - // fill in left face - gc.setBackground(device.getSystemColor(SWT.COLOR_RED)); - gc.fillPolygon(new int [] {0, 0, size/3, -size/2, size/3, size/2, 0, size}); - - gc.setLineStyle(SWT.LINE_SOLID); - - // square - gc.drawRectangle(0, 0, size, size); - - // next 3 solid lines - gc.drawLine(0, 0, size/3, -size/2); // left - gc.drawLine(size, 0, 4*size/3, -size/2); // middle - gc.drawLine(size, size, 4*size/3, size/2); // right - - // 2 furthest solid lines - gc.drawLine(size/3, -size/2, 4*size/3, -size/2); // horizontal - gc.drawLine(4*size/3, size/2, 4*size/3, -size/2); // vertical - - // 3 dotted lines - gc.setLineStyle(SWT.LINE_DOT); - gc.drawLine(0, size, size/3, size/2); - gc.drawLine(size/3, -size/2, size/3, size/2); - gc.drawLine(4*size/3, size/2, size/3, size/2); - - // fill right side of cube - gc.setBackground(device.getSystemColor(SWT.COLOR_GRAY)); - gc.fillPolygon(new int [] {size, 0, 4*size/3, -size/2, 4*size/3, size/2, size, size}); - - transform.dispose(); - - // ----- pyramid ----- - - transform = new Transform(device); - transform.translate(width/2 + size/2, height/4 + size + upDownValue); - gc.setTransform(transform); - - // fill back of pyramid - gc.fillPolygon(new int [] {size/3, -size/2, 6*size/10, -5*size/4, 4*size/3, -size/2}); - - // fill left side of pyramid - gc.setBackground(device.getSystemColor(SWT.COLOR_GREEN)); - gc.fillPolygon(new int [] {0, 0, 6*size/10, -5*size/4, size/3, -size/2}); - - // select solid line style - gc.setLineStyle(SWT.LINE_SOLID); - - // 2 solid lines of base - gc.drawLine(0, 0, size, 0); - gc.drawLine(size, 0, 4*size/3, -size/2); - - // 3 solid lines of pyramid - gc.drawLine(0, 0, 6*size/10, -5*size/4); - gc.drawLine(size, 0, 6*size/10, -5*size/4); - gc.drawLine(4*size/3, -size/2, 6*size/10, -5*size/4); - - // select dot line style - gc.setLineStyle(SWT.LINE_DOT); - - // 3 dotted lines - gc.drawLine(0, 0, size/3, -size/2); // left - gc.drawLine(size/3, -size/2, 6*size/10, -5*size/4); // to top of pyramid - gc.drawLine(4*size/3, -size/2, size/3, -size/2); // right - - transform.dispose(); - - // ----- rectangular prism ----- - - transform = new Transform(device); - transform.translate(width/2 + upDownValue, height/2 + size); - gc.setTransform(transform); - - // fill bottom - gc.setBackground(device.getSystemColor(SWT.COLOR_BLUE)); - gc.fillPolygon(new int [] {0, size, size/3, size/2, 7*size/3, size/2, 2*size, size}); - - // select solid line style - gc.setLineStyle(SWT.LINE_SOLID); - - gc.drawRectangle(0, 0, 2*size, size); - - // next 3 solid lines - gc.drawLine(0, 0, size/3, -size/2); // left - gc.drawLine(2*size, 0, 7*size/3, -size/2); // middle - gc.drawLine(2*size, size, 7*size/3, size/2); // right - - // 2 furthest solid lines - gc.drawLine(size/3, -size/2, 7*size/3, -size/2); // horizontal - gc.drawLine(7*size/3, size/2, 7*size/3, -size/2); // vertical - - // 3 dotted lines - gc.setLineStyle(SWT.LINE_DASHDOTDOT); - gc.drawLine(0, size, size/3, size/2); - gc.drawLine(size/3, -size/2, size/3, size/2); - gc.drawLine(7*size/3, size/2, size/3, size/2); - - // fill top - gc.setBackground(device.getSystemColor(SWT.COLOR_GRAY)); - gc.fillPolygon(new int [] {0, 0, size/3, -size/2, 7*size/3, -size/2, 2*size, 0}); - - transform.dispose(); - - // ----- triangular shape ----- - transform = new Transform(device); - transform.translate(width/4 - size - upDownValue, height/2 + size + upDownValue); - gc.setTransform(transform); - - // fill back of shape (top left) - gc.setBackground(device.getSystemColor(SWT.COLOR_YELLOW)); - gc.fillPolygon(new int [] {0, 0, size/2, -size, size/2, -size/3}); - - // fill back of shape (bottom right) - gc.fillPolygon(new int [] {size, 0, size/2, size, size/2, -size/3}); - - // select solid line style - gc.setLineStyle(SWT.LINE_SOLID); - - // solid lines of bottom triangle - gc.drawLine(0, 0, size/2, size); - gc.drawLine(size, 0, size/2, size); - - // solid lines of top triangle - gc.drawLine(0, 0, size/2, -size); - gc.drawLine(size, 0, size/2, -size); - - // solid lines on top - gc.drawLine(0, 0, size/2, -size/3); - gc.drawLine(size, 0, size/2, -size/3); - gc.drawLine(size/2, -size/3, size/2, size); - gc.drawLine(size/2, -size/3, size/2, -size); - - transform.dispose(); -} - -} - |