diff options
Diffstat (limited to 'examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/GradientTab.java')
-rw-r--r-- | examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/GradientTab.java | 210 |
1 files changed, 0 insertions, 210 deletions
diff --git a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/GradientTab.java b/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/GradientTab.java deleted file mode 100644 index 33034bb3d4..0000000000 --- a/examples/org.eclipse.swt.examples/src/org/eclipse/swt/examples/graphics/GradientTab.java +++ /dev/null @@ -1,210 +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 draws an image consisting of gradients of two colors. - * */ -public class GradientTab extends GraphicsTab { - - ToolBar toolBar; - ToolItem colorItem1, colorItem2; - Menu menu1, menu2; - GraphicsBackground colorGB1, colorGB2; - ArrayList resources; // resources to be disposed when the dipose() method is invoked - - -public GradientTab(GraphicsExample example) { - super(example); - resources = new ArrayList(); -} - -/** - * Dispose resources created by this tab. - * */ -public void dispose() { - for (int i = 0; i < resources.size(); i++) { - Object obj = resources.get(i); - if (obj != null && obj instanceof Resource) - ((Resource) obj).dispose(); - } - resources = new ArrayList(); - - if (menu1 != null) { - menu1.dispose(); - menu1 = null; - } - if (menu2 != null) { - menu2.dispose(); - menu2 = null; - } -} - -public String getCategory() { - return GraphicsExample.getResourceString("Gradient"); //$NON-NLS-1$ -} - -public String getText() { - return GraphicsExample.getResourceString("GradImage"); //$NON-NLS-1$ -} - -public String getDescription() { - return GraphicsExample.getResourceString("GradientImageDescription"); //$NON-NLS-1$ -} - -/* (non-Javadoc) - * @see org.eclipse.swt.examples.graphics.GraphicsTab#createControlPanel(org.eclipse.swt.widgets.Composite) - */ -public void createControlPanel(final Composite parent) { - final Display display = parent.getDisplay(); - - toolBar = new ToolBar(parent, SWT.FLAT); - - ColorMenu colorMenu = new ColorMenu(); - - // menu for colorItem1 - menu1 = colorMenu.createMenu(parent.getParent(), new ColorListener() { - public void setColor(GraphicsBackground gb) { - colorGB1 = gb; - colorItem1.setImage(gb.getThumbNail()); - example.redraw(); - } - }); - - // initialize the background to the 5th item in the menu (blue) - colorGB1 = (GraphicsBackground)menu1.getItem(4).getData(); - - // toolbar item for color1 - colorItem1 = new ToolItem(toolBar, SWT.PUSH); - colorItem1.setText(GraphicsExample.getResourceString("GradientTabItem1")); - colorItem1.setImage(colorGB1.getThumbNail()); - colorItem1.addListener(SWT.Selection, new Listener(){ - public void handleEvent(Event event) { - final ToolItem toolItem = (ToolItem) event.widget; - final ToolBar toolBar = toolItem.getParent(); - Rectangle toolItemBounds = toolItem.getBounds(); - Point point = toolBar.toDisplay(new Point(toolItemBounds.x, toolItemBounds.y)); - menu1.setLocation(point.x, point.y + toolItemBounds.height); - menu1.setVisible(true); - } - }); - - // menu for colorItem2 - menu2 = colorMenu.createMenu(parent.getParent(), new ColorListener() { - public void setColor(GraphicsBackground gb) { - colorGB2 = gb; - colorItem2.setImage(gb.getThumbNail()); - example.redraw(); - } - }); - - // initialize the background to the 3rd item in the menu (red) - colorGB2 = (GraphicsBackground)menu2.getItem(2).getData(); - - // toolbar item for color2 - colorItem2 = new ToolItem(toolBar, SWT.PUSH); - colorItem2.setText(GraphicsExample.getResourceString("GradientTabItem2")); - colorItem2.setImage(colorGB2.getThumbNail()); - colorItem2.addListener(SWT.Selection, new Listener(){ - public void handleEvent(Event event) { - final ToolItem toolItem = (ToolItem) event.widget; - final ToolBar toolBar = toolItem.getParent(); - Rectangle toolItemBounds = toolItem.getBounds(); - Point point = toolBar.toDisplay(new Point(toolItemBounds.x, toolItemBounds.y)); - menu2.setLocation(point.x, point.y + toolItemBounds.height); - menu2.setVisible(true); - } - }); - - // toolbar item for swapping colors - ToolItem swapItem = new ToolItem(toolBar, SWT.PUSH); - swapItem.setText(GraphicsExample.getResourceString("SwapColors")); //$NON-NLS-1$ - swapItem.setImage(example.loadImage(display, "swap.gif")); - swapItem.addListener(SWT.Selection, new Listener(){ - public void handleEvent(Event event) { - GraphicsBackground tmp = colorGB1; - colorGB1 = colorGB2; - colorGB2 = tmp; - colorItem1.setImage(colorGB1.getThumbNail()); - colorItem2.setImage(colorGB2.getThumbNail()); - example.redraw(); - } - }); -} - -/** - * This method draws the gradient patterns that make up the image. The image - * consists of 4 rows, each consisting of 4 gradient patterns (total of 16). - */ -public void paint(GC gc, int width, int height) { - if (!example.checkAdvancedGraphics()) return; - Device device = gc.getDevice(); - - Image image = createImage(device, colorGB1.getBgColor1(), colorGB2.getBgColor1(), width, height); - Pattern p = new Pattern(device, image); - gc.setBackgroundPattern(p); - gc.fillRectangle(0, 0, width, height); - - p.dispose(); - image.dispose(); -} - - -/** - * Creates and returns an image made up of gradient patterns. The image takes up - * a quarter of the area of the total drawing surface. - * - * @param device - * A Device - * @param color1 - * A Color - * @param color2 - * A Color - * @param width - * Width of the drawing surface - * @param height - * Height of the drawing surface - */ -Image createImage(Device device, Color color1, Color color2, int width, int height) { - Image image = new Image(device, width/2, height/2); - GC gc = new GC(image); - Rectangle rect = image.getBounds(); - - Pattern pattern1 = new Pattern(device, rect.x, rect.y, rect.width/2f, rect.height/2f, color1, color2); - gc.setBackgroundPattern(pattern1); - Path path = new Path(device); - path.addRectangle(0, 0, width/4f, height/4f); - path.addRectangle(width/4f, height/4f, width/4f, height/4f); - gc.fillPath(path); - path.dispose(); - - Pattern pattern2 = new Pattern(device, rect.width, 0, rect.width/2f, rect.height/2f, color1, color2); - gc.setBackgroundPattern(pattern2); - path = new Path(device); - path.addRectangle(width/4f, 0, width/4f, height/4f); - path.addRectangle(0, height/4f, width/4f, height/4f); - gc.fillPath(path); - path.dispose(); - - gc.dispose(); - pattern1.dispose(); - pattern2.dispose(); - return image; -} - -} |