All Downloads are FREE. Search and download functionalities are using the official Maven repository.

net.vectorpublish.desktop.vp.api.layer.Hoverable Maven / Gradle / Ivy

The newest version!
/*
 * Copyright (c) 2016, Peter Rader. All rights reserved.
 *  ___ ___               __                 ______         __     __  __         __
 * |   |   |.-----..----.|  |_ .-----..----.|   __ \.--.--.|  |--.|  ||__|.-----.|  |--.
 * |   |   ||  -__||  __||   _||  _  ||   _||    __/|  |  ||  _  ||  ||  ||__ --||     |
 *  \_____/ |_____||____||____||_____||__|  |___|   |_____||_____||__||__||_____||__|__|
 *
 * http://www.gnu.org/licenses/gpl-3.0.html
 */
package net.vectorpublish.desktop.vp.api.layer;

import java.awt.Cursor;

import net.vectorpublish.desktop.vp.api.ui.MouseParticipant;

/**
 * The capability to hover elements.
 */
public interface Hoverable extends MouseParticipant {
	/**
	 * The mousecursor the result of {@link #updateMouse(int, int, float, float, net.vectorpublish.desktop.vp.pd.official.RelativeKeyframeRecalculator, net.vectorpublish.desktop.vp.pd.official.TechnicalMouseDrag) updateMouse} suggested.
	 *
	 * @return The Mousecursor or null if no special mousecursor is
	 *         required.
	 */
	Cursor getMouseCursor();

	/**
	 * Returns if the current element is painted in a hover-state.
	 *
	 * @return true if the {@link MouseParticipant} is hovered,
	 *         false if not.
	 */
	boolean isHovered();

	/**
	 * Set the hover-state of the element.
	 *
	 * @param hover
	 *            true if the element should be drawn hovered,
	 *            false if not.
	 */
	void setHover(boolean hover);
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy