/******************************************************************************* * Copyright (c) 2000-present Liferay, Inc. All rights reserved. * * This library is free software; you can redistribute it and/or modify it under * the terms of the GNU Lesser General Public License as published by the Free * Software Foundation; either version 2.1 of the License, or (at your option) * any later version. * * This library is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more * details. * *******************************************************************************/ package com.liferay.ide.project.ui.upgrade.animated; import com.liferay.ide.project.ui.ProjectUI; import java.net.URL; import org.eclipse.jface.resource.ImageDescriptor; import org.eclipse.swt.graphics.GC; import org.eclipse.swt.graphics.Image; import org.eclipse.swt.graphics.Point; import org.eclipse.swt.graphics.Rectangle; /** * @author Simon Jiang */ public abstract class PageAction { protected Image[] images; protected String pageActionName; public PageAction( String pageActionName ) { images = new Image[5]; this.pageActionName = pageActionName; } public Rectangle drawImage( GC gc, Image image, int cX, int cY ) { Rectangle bounds = image.getBounds(); cX -= bounds.width / 2; cY -= bounds.height / 2; gc.drawImage( image, cX, cY ); return new Rectangle( cX, cY, bounds.width, bounds.height ); } public Image getBageImage() { return this.images[4]; } public Image[] getImages() { return this.images; } public Point getSize() { Rectangle bounds = images[2].getBounds(); return new Point( bounds.width, bounds.height ); } public final Image loadImage( String name ) { URL url = null; try { url = ProjectUI.getDefault().getBundle().getEntry( "images/" + name ); } catch( Exception e ) { } ImageDescriptor imagedesc = ImageDescriptor.createFromURL( url ); Image image = imagedesc.createImage(); return image; } public final String getPageActionName() { return pageActionName; } }