-/*******************************************************************************\r
- * Copyright (c) 2007, 2010 Association for Decentralized Information Management\r
- * in Industry THTH ry.\r
- * All rights reserved. This program and the accompanying materials\r
- * are made available under the terms of the Eclipse Public License v1.0\r
- * which accompanies this distribution, and is available at\r
- * http://www.eclipse.org/legal/epl-v10.html\r
- *\r
- * Contributors:\r
- * VTT Technical Research Centre of Finland - initial API and implementation\r
- *******************************************************************************/\r
-package org.simantics.utils.ui.color;\r
-\r
-import org.eclipse.swt.SWT;\r
-import org.eclipse.swt.events.PaintEvent;\r
-import org.eclipse.swt.events.PaintListener;\r
-import org.eclipse.swt.graphics.GC;\r
-import org.eclipse.swt.graphics.Image;\r
-import org.eclipse.swt.graphics.Rectangle;\r
-import org.eclipse.swt.widgets.Canvas;\r
-import org.eclipse.swt.widgets.Composite;\r
-import org.eclipse.swt.widgets.Display;\r
-\r
-/**\r
- * \r
- * Canvas that shows color gradients\r
- * \r
- * @author Marko Luukkainen\r
- *\r
- */\r
-public class ColorGradientCanvas extends Canvas{\r
- ColorGradient gradient;\r
- int style;\r
- \r
- public ColorGradientCanvas(Composite parent, int style) {\r
- super(parent,(style|SWT.BORDER)&(~(SWT.VERTICAL|SWT.HORIZONTAL)));\r
- this.style = style & (SWT.VERTICAL | SWT.HORIZONTAL) ;\r
- addPaintListener(createPaintListener());\r
- }\r
- \r
- public void setGradient(ColorGradient gradient) {\r
- this.gradient = gradient;\r
- this.redraw();\r
- } \r
- \r
- protected PaintListener createPaintListener() {\r
- return new PaintListener() {\r
- public void paintControl(PaintEvent e) {\r
- GC gc = e.gc;\r
- Rectangle clip = gc.getClipping();\r
- paintGradient(gc, clip);\r
- }\r
- };\r
- }\r
- \r
- protected void paintGradient(GC gc, Rectangle clip) {\r
- if (gradient != null) {\r
- Image image = gradient.getGradientImage(clip.width,clip.height,ColorGradientCanvas.this.style);\r
- gc.drawImage(image, 0, 0);\r
- image.dispose(); \r
- } else {\r
- gc.setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_WHITE));\r
- gc.fillRectangle(clip);\r
- }\r
- }\r
-\r
-}\r
+/*******************************************************************************
+ * Copyright (c) 2007, 2010 Association for Decentralized Information Management
+ * in Industry THTH ry.
+ * 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:
+ * VTT Technical Research Centre of Finland - initial API and implementation
+ *******************************************************************************/
+package org.simantics.utils.ui.color;
+
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.PaintEvent;
+import org.eclipse.swt.events.PaintListener;
+import org.eclipse.swt.graphics.GC;
+import org.eclipse.swt.graphics.Image;
+import org.eclipse.swt.graphics.Rectangle;
+import org.eclipse.swt.widgets.Canvas;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Display;
+
+/**
+ *
+ * Canvas that shows color gradients
+ *
+ * @author Marko Luukkainen
+ *
+ */
+public class ColorGradientCanvas extends Canvas{
+ ColorGradient gradient;
+ int style;
+
+ public ColorGradientCanvas(Composite parent, int style) {
+ super(parent,(style|SWT.BORDER)&(~(SWT.VERTICAL|SWT.HORIZONTAL)));
+ this.style = style & (SWT.VERTICAL | SWT.HORIZONTAL) ;
+ addPaintListener(createPaintListener());
+ }
+
+ public void setGradient(ColorGradient gradient) {
+ this.gradient = gradient;
+ this.redraw();
+ }
+
+ protected PaintListener createPaintListener() {
+ return new PaintListener() {
+ public void paintControl(PaintEvent e) {
+ GC gc = e.gc;
+ Rectangle clip = gc.getClipping();
+ paintGradient(gc, clip);
+ }
+ };
+ }
+
+ protected void paintGradient(GC gc, Rectangle clip) {
+ if (gradient != null) {
+ Image image = gradient.getGradientImage(clip.width,clip.height,ColorGradientCanvas.this.style);
+ gc.drawImage(image, 0, 0);
+ image.dispose();
+ } else {
+ gc.setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_WHITE));
+ gc.fillRectangle(clip);
+ }
+ }
+
+}