protected void paintInput(GC gc) {
   Point size = getSize();
   if (input != null) {
     int drawX = size.x / 2 + paintOffset.x;
     int drawY = size.y / 2 + paintOffset.y;
     frame.draw(gc, drawX, drawY, ratio, cache);
   }
 }
 public void draw(DrawImageContext g, int x, int y, double ratio) {
   draw(g, x, y, ratio, null);
 }
 public void draw(GC g, int x, int y, double ratio) {
   draw(g, x, y, ratio, null);
 }