| // RAP [bm]: animations |
| ///******************************************************************************* |
| // * Copyright (c) 2007, 2008 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.ui.internal; |
| // |
| //import java.util.Iterator; |
| // |
| //import org.eclipse.jface.util.Geometry; |
| //import org.eclipse.swt.SWT; |
| //import org.eclipse.swt.graphics.Color; |
| //import org.eclipse.swt.graphics.Rectangle; |
| //import org.eclipse.swt.graphics.Region; |
| //import org.eclipse.swt.widgets.Shell; |
| // |
| ///** |
| // * Creates an animation feedback that will morph the start rectangle to the end rectangle |
| // * for AnimationEngine. |
| // * |
| // * @since 3.3 |
| // * |
| // */ |
| //public class LegacyAnimationFeedback extends RectangleAnimationFeedbackBase { |
| // private static final int LINE_WIDTH = 1; |
| // |
| // private Region shellRegion; |
| // |
| // public LegacyAnimationFeedback(Shell parentShell, Rectangle start, |
| // Rectangle end) { |
| // super(parentShell, start, end); |
| // } |
| // |
| // public void renderStep(AnimationEngine engine) { |
| // if (shellRegion != null) { |
| // shellRegion.dispose(); |
| // shellRegion = new Region(getAnimationShell().getDisplay()); |
| // } |
| // |
| // // Iterate across the set of start/end rects |
| // Iterator currentRects = getCurrentRects(engine.amount()).iterator(); |
| // while (currentRects.hasNext()) { |
| // Rectangle curRect = (Rectangle) currentRects.next(); |
| // Rectangle rect = Geometry.toControl(getAnimationShell(), curRect); |
| // shellRegion.add(rect); |
| // rect.x += LINE_WIDTH; |
| // rect.y += LINE_WIDTH; |
| // rect.width = Math.max(0, rect.width - 2 * LINE_WIDTH); |
| // rect.height = Math.max(0, rect.height - 2 * LINE_WIDTH); |
| // |
| // shellRegion.subtract(rect); |
| // } |
| // |
| // getAnimationShell().setRegion(shellRegion); |
| // getAnimationShell().getDisplay().update(); |
| // } |
| // |
| // /* (non-Javadoc) |
| // * @see org.eclipse.ui.internal.AnimationFeedbackBase#initialize(org.eclipse.ui.internal.AnimationEngine) |
| // */ |
| // public void initialize(AnimationEngine engine) { |
| // Color color = getAnimationShell().getDisplay().getSystemColor(SWT.COLOR_WIDGET_DARK_SHADOW); |
| // getAnimationShell().setBackground(color); |
| // |
| // // Ensure that the background won't show on the initial display |
| // shellRegion = new Region(getAnimationShell().getDisplay()); |
| // getAnimationShell().setRegion(shellRegion); |
| // } |
| // |
| // /* (non-Javadoc) |
| // * @see org.eclipse.ui.internal.AnimationFeedbackBase#dispose() |
| // */ |
| // public void dispose() { |
| // super.dispose(); |
| // |
| // if (!shellRegion.isDisposed()) |
| // shellRegion.dispose(); |
| // } |
| // |
| // /** |
| // * Perform any initialization you want to have happen -before- the |
| // * amination starts |
| // */ |
| // public boolean jobInit(AnimationEngine engine) { |
| // if (!super.jobInit(engine)) |
| // return false; |
| // |
| // // Compute the shell's bounds |
| // Rectangle shellBounds = Geometry.copy((Rectangle) getStartRects() |
| // .get(0)); |
| // Iterator startIter = getStartRects().iterator(); |
| // Iterator endIter = getEndRects().iterator(); |
| // while (startIter.hasNext()) { |
| // shellBounds.add((Rectangle) startIter.next()); |
| // shellBounds.add((Rectangle) endIter.next()); |
| // } |
| // getAnimationShell().setBounds(shellBounds); |
| // // Making the shell visible will be slow on old video cards, so only start |
| // // the timer once it is visible. |
| // getAnimationShell().setVisible(true); |
| // |
| // return true; // OK to go... |
| // } |
| // |
| //} |