blob: cad23de5a2b045aca320de5e604c461d02435f60 [file] [log] [blame] [raw]
package li.cil.oc.api.manual;
/**
* Allows implementing advanced image renderers that react to mouse input and
* specify customized tooltips.
* <p/>
* This way you can e.g. disable the default tooltip and render a more advanced
* one, or render a small GUI on a page.
*/
public interface InteractiveImageRenderer extends ImageRenderer {
/**
* Get a custom tooltip for this image renderer.
* <p/>
* This can be used to override the original tooltip of an image.
*
* @param tooltip the original tooltip of the element.
* @return the tooltip to use for the element.
*/
String getTooltip(String tooltip);
/**
* Called when the mouse is clicked while over this image renderer.
* <p/>
* This only fires for left-clicks, because right-clicks are reserved for
* navigating back in the manual.
* <p/>
* If this returns <tt>false</tt> and the element is a link, the link will
* be followed. If it returns <tt>true</tt>, it will not.
*
* @param mouseX the X coordinate of the mouse, relative to the element.
* @param mouseY the Y coordinate of the mouse, relative to the element.
* @return whether the click was handled.
*/
boolean onMouseClick(int mouseX, int mouseY);
}