package me.hammerle.supersnuvi.javafx; public interface IJavaRenderer { // ------------------------------------------------------------------------- // image rendering // ------------------------------------------------------------------------- public void drawImage(Image image, double x, double y); public void drawImage(Image image, double x, double y, double w, double h); public void drawImage(Image img, double sx, double sy, double sw, double sh, double dx, double dy, double dw, double dh); // ------------------------------------------------------------------------- // primitive rendering // ------------------------------------------------------------------------- public double getWidth(); public double getHeight(); public void prepareRendering(); public void save(); public void restore(); public void setFillColor(int r, int g, int b, double alpha); public void setStrokeColor(int r, int g, int b, double alpha); public void fillRectangle(double x, double y, double w, double h); public void setGlobalAlpha(double alpha); public void setScale(double scale); // ------------------------------------------------------------------------- // text rendering // ------------------------------------------------------------------------- public void prepareTextDrawing(int r, int g, int b, double alpha, int width); public void stopTextDrawing(); public void drawText(double x, double y, char[] text, int max); public double getTextWidth(int chars); public double getTextHeight(int lines); }