| package li.cil.oc.api.manual; |
| |
| /** |
| * This allows implementing custom image providers for rendering custom content |
| * in manual pages. Each provider can be registered for one or more prefixes, |
| * and will be selected based on the prefix it was registered with. It is |
| * expected to return an image renderer, which essentially represents the |
| * area it will render to. |
| */ |
| public interface ImageProvider { |
| /** |
| * Gets an image renderer for the specified data. |
| * <p/> |
| * The data passed here will be part of the image URL following the prefix |
| * that the provider was registered with. So for example, if the provider |
| * was registered for the prefix <tt>custom</tt>, and the image to be |
| * rendered in the Markdown document was <tt>[blah](custom:the data]</tt>, |
| * then the string passed where would be <tt>the data</tt>. |
| * <p/> |
| * If there is no appropriate image renderer (for example, for the built-in |
| * item stack renderers: if the item definition is invalid), this should |
| * return <tt>null</tt>, it should <em>never</em> throw an exception. |
| * |
| * @param data the data part of the image definition. |
| * @return the image renderer for the data. |
| */ |
| ImageRenderer getImage(String data); |
| } |