protected String getDescriptiveName() { return "GCJ Win32 Binary"; }
protected Surface _createSurface(Box b, boolean framed) { return new Win32Surface(b, framed); }
protected PixelBuffer _createPixelBuffer(int w, int h, Surface owner) { return new Win32PixelBuffer(w, h, (Win32Surface)owner); }
- protected Picture _createPicture(int[] b, int w, int h) { return new Win32Picture(b, w, h); }
+ protected Picture _createPicture() { return new Win32Picture(); }
protected native int _getScreenWidth();
protected native int _getScreenHeight();
protected boolean _supressDirtyOnResize() { return false; }
public int getWidth() { return w; };
public int getHeight() { return h; };
public int[] getData() { return data; }
+ boolean initialized = false;
+ public void init() { if (!initialized && isLoaded) natInit(); initialized = true; }
public native void natInit();
- public Win32Picture(int[] data, int w, int h) { this.w = w; this.h = h; this.data = data; natInit(); }
}
public native void fillRect(int x, int y, int x2, int y2, int color);
public void drawPicture(Picture source, int dx, int dy, int cx1, int cy1, int cx2, int cy2) {
+ ((Win32Picture)source).init();
drawPicture(source, dx, dy, cx1, cy1, cx2, cy2, 0, false);
}
- public void drawPictureAlphaOnly(Picture source, int dx, int dy, int cx1, int cy1, int cx2, int cy2, int rgb) {
- drawPicture(source, dx, dy, cx1, cy1, cx2, cy2, rgb, true);
+ public void drawGlyph(org.xwt.Font.Glyph source, int dx, int dy, int cx1, int cy1, int cx2, int cy2, int rgb) {
+ Win32Picture p = ((Win32Picture)((DefaultGlyph)source).getPicture());
+ p.init();
+ drawPicture(p, dx, dy, cx1, cy1, cx2, cy2, rgb, true);
}
public native void drawPicture(Picture source, int dx, int dy, int cx1, int cy1, int cx2, int cy2,
int rgb, boolean alphaOnly);