blob: 5400ef55f7fa8a0a6fc4e4cb0c6144e8ae5b65ee [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2012 Laurent CARON
* 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:
* Laurent CARON (laurent.caron at gmail dot com) - initial API and implementation
*******************************************************************************/
package org.mihalis.opal.obutton;
import org.eclipse.swt.graphics.GC;
import org.eclipse.swt.graphics.Point;
/**
* This interface contains methods used to render a button.
*/
public interface ButtonRenderer {
/**
* Dispose the elements when the button is disposed.
*/
void dispose();
/**
* Draw the button when the mouse is hover.
*
* @param gc Graphical context
* @param button button displayed
*/
void drawButtonWhenMouseHover(GC gc, OButton button);
/**
* Draw the button when the button is disabled.
*
* @param gc Graphical context
* @param button button displayed
*/
void drawButtonWhenDisabled(GC gc, OButton button);
/**
* Draw the button when the button (toggle button) is selected.
*
* @param gc Graphical context
* @param button button displayed
*/
void drawButtonWhenSelected(GC gc, OButton button);
/**
* Draw button.
*
* @param gc the gc
* @param button the button
*/
void drawButton(GC gc, OButton button);
/**
* Draw the button when the button is clicked.
*
* @param gc Graphical context
* @param parent the parent
*/
void drawButtonWhenClicked(GC gc, OButton parent);
/**
* Compute the size of the button.
*
* @param button button associated to this renderer
* @param wHint the width hint (can be <code>SWT.DEFAULT</code>)
* @param hHint the height hint (can be <code>SWT.DEFAULT</code>)
* @param changed <code>true</code> if the control's contents have changed,
* and <code>false</code> otherwise
* @return the size of the button
*/
Point computeSize(OButton button, int wHint, int hHint, boolean changed);
/**
* Create disabled image.
*/
void createDisabledImage();
}