javauis/lcdui_qt/src/javax/microedition/lcdui/LCDUIInvokerImpl.java
changeset 78 71ad690e91f5
parent 57 59b3b4473dc8
--- a/javauis/lcdui_qt/src/javax/microedition/lcdui/LCDUIInvokerImpl.java	Fri Sep 17 16:44:34 2010 +0300
+++ b/javauis/lcdui_qt/src/javax/microedition/lcdui/LCDUIInvokerImpl.java	Mon Oct 04 11:29:25 2010 +0300
@@ -18,8 +18,10 @@
 
 import org.eclipse.swt.graphics.Internal_GfxPackageSupport;
 import org.eclipse.swt.internal.qt.graphics.GraphicsContext;
+import org.eclipse.swt.internal.qt.graphics.WindowSurface;
 import org.eclipse.swt.widgets.Control;
 import org.eclipse.swt.widgets.Display;
+import org.eclipse.swt.graphics.Rectangle;
 import com.nokia.mid.ui.DirectGraphics;
 import com.nokia.mj.impl.nokialcdui.LCDUIInvoker;
 import com.nokia.mj.impl.nokialcdui.ItemControlStateChangeListener;
@@ -152,7 +154,7 @@
         return ((Canvas) canvas).getGameBufferGraphics();
     }
 
-    protected org.eclipse.swt.internal.qt.graphics.WindowSurface doGetWindowSurface( Graphics g )
+    protected WindowSurface doGetWindowSurface( Graphics g )
     {
         if( g != null )
         {
@@ -188,19 +190,16 @@
     	((Graphics)graphics).sync();
     } 
     
-    protected void doStartExternalRendering(Graphics g)
+    protected Rectangle doStartExternalRendering(Graphics g)
     {
-        // Flush any pending 2D graphics.
-        g.sync();
-        g.getGraphicsBuffer().startFrame( g.getClipX(),
-                                          g.getClipY(),
-                                          g.getClipWidth(),
-                                          g.getClipHeight() );
+        // Flush any pending 2D graphics and open surface session
+        g.startExternalRendering();
+        return g.getClipInWindowCoordinates();
     }
     
     protected void doEndExternalRendering(Graphics g)
     {
-        g.getGraphicsBuffer().endFrame();
+        g.endExternalRendering();
     }
     
     protected String doGetDynamicProperty(String key)