libbluray | branch: master | hpi1 <[email protected]> | Wed Mar 6 14:43:04 2013 +0200| [4b61c1827b706e842c2e479ccbed18fc2522e59a] | committer: hpi1
BDComponentPeer: Implement PaintEvent handling. Fixes painting some HScenes in J2SE. > http://git.videolan.org/gitweb.cgi/libbluray.git/?a=commit;h=4b61c1827b706e842c2e479ccbed18fc2522e59a --- .../java-j2se/java/awt/peer/BDComponentPeer.java | 26 +++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/src/libbluray/bdj/java-j2se/java/awt/peer/BDComponentPeer.java b/src/libbluray/bdj/java-j2se/java/awt/peer/BDComponentPeer.java index 6b7f37e..2902d21 100644 --- a/src/libbluray/bdj/java-j2se/java/awt/peer/BDComponentPeer.java +++ b/src/libbluray/bdj/java-j2se/java/awt/peer/BDComponentPeer.java @@ -48,6 +48,7 @@ public abstract class BDComponentPeer implements ComponentPeer } public void createBuffers(int x, BufferCapabilities bufferCapabilities) { + logger.unimplemented("createBuffers"); } public Image createImage(ImageProducer producer) { @@ -66,7 +67,7 @@ public abstract class BDComponentPeer implements ComponentPeer public VolatileImage createVolatileImage(int width, int height) { logger.unimplemented("createVolatileImage"); - throw new Error(); + return null; } public void destroyBuffers() { @@ -145,6 +146,26 @@ public abstract class BDComponentPeer implements ComponentPeer } public void handleEvent(AWTEvent e) { + int id = e.getID(); + + if (e instanceof PaintEvent) { + Graphics g = null; + Rectangle r = ((PaintEvent)e).getUpdateRect(); + try { + g = component.getGraphics(); + if (g == null) + return; + g.clipRect(r.x, r.y, r.width, r.height); + if (id == PaintEvent.PAINT) + component.paint(g); + else + component.update(g); + toolkit.sync(); + } finally { + if (g != null) + g.dispose(); + } + } } public boolean handlesWheelScrolling() { @@ -177,6 +198,7 @@ public abstract class BDComponentPeer implements ComponentPeer } public void paint(Graphics g) { + component.paint(g); } /* java 1.6 only */ @@ -193,6 +215,7 @@ public abstract class BDComponentPeer implements ComponentPeer /* java 1.6 only */ public void repaint(long tm, int x, int y, int width, int height) { + logger.unimplemented("repaint"); } public void reparent(ContainerPeer p) { @@ -219,6 +242,7 @@ public abstract class BDComponentPeer implements ComponentPeer } public void setEnabled(boolean b) { + logger.unimplemented("setEnabled"); } public void setFont(Font f) { _______________________________________________ libbluray-devel mailing list [email protected] http://mailman.videolan.org/listinfo/libbluray-devel
