javauis/m2g_qt/javasrc/com/nokia/microedition/m2g/M2GScalableGraphics.java
author hgs
Fri, 23 Jul 2010 12:27:20 +0300
changeset 56 abc41079b313
permissions -rw-r--r--
v2.2.7_1
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
56
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
     1
/*
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
     2
* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies).
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
     3
* All rights reserved.
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
     4
* This component and the accompanying materials are made available
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
     5
* under the terms of "Eclipse Public License v1.0"
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
     6
* which accompanies this distribution, and is available
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
     8
*
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
     9
* Initial Contributors:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    10
* Nokia Corporation - initial contribution.
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    11
*
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    12
* Contributors:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    13
*
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    14
* Description:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    15
*
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    16
*/
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    17
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    18
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    19
package com.nokia.microedition.m2g;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    20
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    21
import com.nokia.microedition.m2g.M2GRunnableQt;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    22
import javax.microedition.m2g.*;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    23
import javax.microedition.m2g.ScalableGraphics;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    24
import javax.microedition.lcdui.Graphics;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    25
import java.lang.StringBuffer;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    26
import org.eclipse.swt.graphics.GC;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    27
import org.eclipse.swt.graphics.Rectangle;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    28
import com.nokia.mj.impl.utils.Logger;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    29
import com.nokia.mj.impl.nokialcdui.LCDUIInvoker;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    30
import org.eclipse.swt.internal.qt.GCData;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    31
import org.eclipse.swt.internal.qt.graphics.GraphicsContext;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    32
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    33
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    34
/*
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    35
 * ScalableGraphics
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    36
 */
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    37
public class M2GScalableGraphics
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    38
        extends M2GObject
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    39
{
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    40
    //--------------------------------------------------
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    41
    // STATIC CONSTANTS
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    42
    //--------------------------------------------------
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    43
    // Exception text
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    44
    /* Optimization: static finals changed to local variables
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    45
    private static final String ALPHA_OUT_OF_RANGE_ESTR =
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    46
        "The alpha is out of range";
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    47
    private static final String INVALID_TARGET_ESTR =
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    48
        "The target is invalid";
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    49
    private static final String MODE_INVALID_ESTR =
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    50
        "The mode is invalid";
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    51
    private static final String NULL_IMAGE_ESTR =
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    52
        "The image is null";
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    53
    private static final String NULL_TARGET_ESTR =
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    54
        "The target is null";
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    55
    private static final String TARGET_ALREADY_BOUND_ESTR =
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    56
        "Target is already bound";
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    57
    private static final String TARGET_NOT_BOUND_ESTR =
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    58
        "Target is not bound";
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    59
    */
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    60
    // Transparency alpha max and min limits
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    61
    private static final float MAX_TRANSPARENCY_ALPHA = 1.0f;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    62
    private static final float MIN_TRANSPARENCY_ALPHA = 0.0f;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    63
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    64
    //--------------------------------------------------
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    65
    // VARIABLES
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    66
    //--------------------------------------------------
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    67
    private GC        iTargetGC      = null;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    68
    private int iUseNativeClear = 0;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    69
    private Graphics iTargetGraphics;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    70
    
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    71
     int iSurfaceHandle;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    72
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    73
    //--------------------------------------------------
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    74
    // METHODS
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    75
    //--------------------------------------------------
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    76
    /**
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    77
     * Constructor
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    78
     */
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    79
    public M2GScalableGraphics()
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    80
    {
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    81
        super();
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    82
        System.out.println("P-Constructor M2GScalableGraphics() called");
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    83
        doConstruct();
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    84
    }
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    85
    /**
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    86
     * @see javax.microedition.m2g.ScalableGraphics#bindTarget()
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    87
     */
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    88
    public synchronized void bindTarget(Object target)
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    89
    {
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    90
    	System.out.println("P-Bind Target called");
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    91
				if (target instanceof org.eclipse.swt.graphics.GC)
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    92
        {
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    93
        	final Object finalTarget = target;   
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    94
        	// Execute in UI thread     
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    95
        	Platform.executeInUIThread(
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    96
                new M2GRunnableQt() {
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    97
                    public void doRun() {
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    98
                    	System.out.println("P-Bind Target Thread called");
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    99
                    	// Get GCData from GC
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   100
                        GCData gcData = ((org.eclipse.swt.graphics.GC)finalTarget).getGCData();    
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   101
                      System.out.println("P-Bind GCData Create");
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   102
                    	// Get internalGC (Graphicscontext), WindowSurface and the WindowSurface handle for native access
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   103
                        iSurfaceHandle = gcData.internalGc.getWindowSurface().getHandle();
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   104
                      System.out.println("P-Bind isurfacehandle Created " );
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   105
                      _bind(getHandle(), iSurfaceHandle);
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   106
                      }
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   107
                      });
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   108
                    //  currentTarget = target;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   109
                    //We are mentaining seperate current Target as iTargetGC and iTargetGraphics
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   110
											iTargetGC = (GC)finalTarget;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   111
		    // Handling for LCDUI Graphics
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   112
		    //
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   113
		    }
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   114
//Change accordingly to M3G not as site content.		    
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   115
		    else if (target instanceof javax.microedition.lcdui.Graphics)
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   116
		    {
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   117
		    	Graphics g = (Graphics)target;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   118
		    	
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   119
		    	final Graphics finalG = g;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   120
		    	
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   121
		    	 // Execute in UI thread     
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   122
			        Platform.executeInUIThread(
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   123
			                new M2GRunnableQt() {
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   124
			                    public void doRun() {
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   125
														System.out.println("P-Bind Graphics Case" );			                    	
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   126
			                    	LCDUIInvoker.startExternalRendering( finalG );  
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   127
			                    	System.out.println("P-Bind Invoker External rengdering Set Case" );			                    	
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   128
                        		iSurfaceHandle = LCDUIInvoker.getWindowSurface(finalG).getHandle();
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   129
                        		System.out.println("P-Bind Invoker External rengdering Set Bind called. Case" );			                    	
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   130
		                        _bind(getHandle(), iSurfaceHandle);
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   131
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   132
			                    }
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   133
			                  });
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   134
			                  
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   135
			                  iTargetGraphics  = (Graphics)finalG;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   136
		    	}
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   137
			         
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   138
	         else {
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   139
			        throw new IllegalArgumentException();
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   140
			    }
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   141
    
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   142
  }
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   143
    	
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   144
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   145
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   146
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   147
    /**
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   148
     * @see com.nokia.microedition.m2g.M2GObject#doConstruct()
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   149
     */
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   150
    public void doConstruct()
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   151
    {
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   152
      super.doConstruct();
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   153
    	 // Execute in UI thread     
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   154
	    Platform.executeInUIThread(
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   155
            new M2GRunnableQt() {
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   156
                public void doRun() {
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   157
										        setHandle(_createRenderContext(
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   158
										                      getNativeSVGProxyHandle() ));
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   159
										        // Add object to the live objects container
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   160
										      }
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   161
										    });
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   162
        register(this);
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   163
    }
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   164
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   165
    /**
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   166
     * @see com.nokia.microedition.m2g.M2GObject#doCleanup()
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   167
     */
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   168
    public synchronized void doCleanup()
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   169
    {
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   170
    	
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   171
 		    	 // Execute in UI thread     
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   172
			        Platform.executeInUIThread(
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   173
			                new M2GRunnableQt() {
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   174
			                    public void doRun() {  	
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   175
																			        _deleteRenderContext(
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   176
																			            getHandle() );
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   177
																			          }
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   178
																			       }
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   179
																			    );      
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   180
        resetHandles();
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   181
        iTargetGC = null;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   182
        iTargetGraphics = null;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   183
    }
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   184
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   185
    /**
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   186
     * @see javax.microedition.m2g.ScalableGraphics#releaseTarget()
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   187
     */
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   188
    public synchronized void releaseTarget()
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   189
    {
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   190
    	System.out.println("P-In Release Target" );	
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   191
      if (iTargetGC != null)
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   192
      {
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   193
      System.out.println("P-In Release Target graphics.GC" );	
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   194
			Platform.executeInUIThread(
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   195
            new M2GRunnableQt() {
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   196
             public void doRun() {
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   197
            	      				      _release(iSurfaceHandle, getHandle());
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   198
            	      				    }
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   199
            	      				  });
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   200
            iTargetGC = null;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   201
        }
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   202
			else if (iTargetGraphics != null )
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   203
		    {
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   204
				
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   205
				System.out.println("P-In Release Target M2GScalableGraphics.. everything is fine... thread complete...." );	
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   206
				final Graphics finalG = iTargetGraphics;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   207
				Platform.executeInUIThread(
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   208
	            new M2GRunnableQt() {
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   209
	             public void doRun() {
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   210
	            			_release(iSurfaceHandle, getHandle());
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   211
	            			LCDUIInvoker.endExternalRendering( finalG );
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   212
	            		}
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   213
	            	});
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   214
				System.out.println("P-In Release Target Thread Completed..." );	
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   215
        iTargetGraphics = null;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   216
        }
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   217
      else 
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   218
      	{
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   219
      			System.out.println("P-In Release Target else case.." );	
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   220
      		   // check for invalid Graphics TODO this exception is getting trough when we trying to bind.s
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   221
      		   
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   222
         //       throw new IllegalStateException(/*SF*/"Target is not bound"/*SF*/);
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   223
      	}
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   224
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   225
    }
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   226
    public synchronized void render(
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   227
        int x, int y, ScalableImage image, boolean aUseNativeClear)
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   228
    {
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   229
				System.out.println("P-In Render M2GScalableGraphics.. erender(int x, int y, ScalableImage image, boolean aUseNativeClear)" );	
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   230
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   231
        iUseNativeClear = aUseNativeClear ? 1 : 0;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   232
        render(x, y, image);
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   233
        iUseNativeClear = 0;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   234
        
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   235
        System.out.println("P-Out Render M2GScalableGraphics.. erender(int x, int y, ScalableImage image, boolean aUseNativeClear)" );	
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   236
        
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   237
    }
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   238
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   239
    /**
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   240
     * @see javax.microedition.m2g.ScalableGraphics#render()
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   241
     */
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   242
    public synchronized void render(int x, int y, ScalableImage image)
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   243
    {
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   244
    		System.out.println("P-In Render M2GScalableGraphics.." );	
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   245
        if (image == null)
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   246
        {
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   247
            Logger.ELOG(Logger.EJavaUI, "render() - exception: "
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   248
                        + /*SF*/"The target is null"/*SF*/);
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   249
            throw new NullPointerException(/*SF*/"The target is null"/*SF*/);
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   250
        }
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   251
       if (iTargetGC != null)
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   252
        {
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   253
            final M2GDocument finalDoc = (M2GDocument)((SVGImage)image).getDocument();
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   254
            // Get synchronized svg image data
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   255
            final int finalSvgW  = image.getViewportWidth();
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   256
            final int finalSvgH = image.getViewportHeight();
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   257
            if ((finalSvgW == 0) || (finalSvgW == 0))
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   258
            {
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   259
                return;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   260
            }
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   261
            // Calculate clip dimensions
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   262
            Rectangle clipRect = iTargetGC.getClipping();
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   263
            final int finalClipX = clipRect.x;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   264
            final int finalClipY = clipRect.y;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   265
            final int finalClipW = clipRect.width;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   266
            final int finalClipH = clipRect.height;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   267
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   268
            // if none of the svg image is visible due to clipping then don't
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   269
            // bother to call render
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   270
            if ((x >= (finalClipX + finalClipW)) || (y >= (finalClipY + finalClipH)))
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   271
            {
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   272
                Logger.LOG(Logger.EJavaUI, Logger.EInfo,
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   273
                           "render() - svg image isn't visible due to clipping");
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   274
                return;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   275
            }
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   276
            if (((x + finalSvgW) < finalClipX) || ((y + finalSvgW) < finalClipY))
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   277
            {
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   278
                Logger.LOG(Logger.EJavaUI, Logger.EInfo,
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   279
                           "render() - svg image isn't visible due to clipping");
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   280
                return;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   281
            }
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   282
            
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   283
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   284
						final int finalX = x;            
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   285
						final int finalY = y; 
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   286
						         
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   287
        		    	 // Execute in UI thread   
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   288
	        Platform.executeInUIThread(
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   289
	                new M2GRunnableQt() {
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   290
	                    public void doRun() {         
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   291
																			final int[] finalData = _renderESWT(getHandle(),
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   292
											                                     finalDoc.getHandle(), finalX, finalY,
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   293
											                                     finalClipX, finalClipY, finalClipW, finalClipH, finalSvgW, finalSvgW,
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   294
											                                     finalDoc.getRootElement().getCurrentTime(),
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   295
											                                     iUseNativeClear);
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   296
																									                                     
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   297
																				int[] bitmapHandles;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   298
														            bitmapHandles = new int[4];
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   299
														            for (int i = 0; i < 4; i++)
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   300
														            {
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   301
														                bitmapHandles[i] = finalData[i];
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   302
														            }
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   303
														            int[] renderData;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   304
														            renderData = new int[6];
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   305
														            for (int i = 0; i < 6; i++)
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   306
														            {
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   307
														                renderData[i] = finalData[i+4];
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   308
														            }
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   309
														            //iTargetGC.internal_drawM2GImage(bitmapHandles, renderData, iUseNativeClear);
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   310
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   311
																					}});											                                     
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   312
            
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   313
        }//if(true)
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   314
		else if (iTargetGraphics != null)
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   315
		    {
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   316
		    	
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   317
   	    		System.out.println("P-In Render M2GScalableGraphics.. else case..." );	
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   318
            final M2GDocument finalDoc = (M2GDocument)((SVGImage)image).getDocument();
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   319
            // Get synchronized svg image data
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   320
            final int finalSvgW  = image.getViewportWidth();
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   321
            final int finalSvgH = image.getViewportHeight();
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   322
            if ((finalSvgW == 0) || (finalSvgH == 0))
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   323
            {
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   324
                return;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   325
            }
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   326
            // Calculate clip dimensions
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   327
            final int finalClipX = iTargetGraphics.getClipX() + iTargetGraphics.getTranslateX();
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   328
            final int finalClipY = iTargetGraphics.getClipY() + iTargetGraphics.getTranslateY();
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   329
            final int finalClipW  = iTargetGraphics.getClipWidth();
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   330
            final int finalClipH = iTargetGraphics.getClipHeight();
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   331
            // if none of the svg image is visible due to clipping then don't
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   332
            // bother to call render
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   333
            if ((x >= (finalClipX + finalClipW)) || (y >= (finalClipY + finalClipH)))
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   334
            {
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   335
                Logger.LOG(Logger.EJavaUI, Logger.EInfo,
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   336
                           "render() - svg image isn't visible due to clipping");
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   337
                return;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   338
            }
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   339
            if (((x + finalSvgW) < finalClipX) || ((y + finalSvgH) < finalClipY))
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   340
            {
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   341
                Logger.LOG(Logger.EJavaUI, Logger.EInfo,
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   342
                           "render() - svg image isn't visible due to clipping");
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   343
                return;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   344
            }
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   345
            
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   346
				final int finalX = x;            
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   347
				final int finalY = y;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   348
				
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   349
				System.out.println("P-In Render M2GScalableGraphics.. everything is fine... going in thread.." );	
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   350
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   351
      		    	 // Execute in UI thread     
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   352
        Platform.executeInUIThread(
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   353
                new M2GRunnableQt() {
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   354
                    public void doRun() {
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   355
								            _renderLCDUI(getHandle(), finalDoc.getHandle(), finalX, finalY,
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   356
								                         finalClipX, finalClipY, finalClipW, finalClipH, finalSvgW, finalSvgH,
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   357
								                         finalDoc.getRootElement().getCurrentTime());
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   358
								                       }});
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   359
								                       
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   360
				System.out.println("P-In Render M2GScalableGraphics.. everything is fine... thread complete...." );	
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   361
        }
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   362
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   363
       else 
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   364
        	{
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   365
                Logger.ELOG(Logger.EJavaUI, "render() - exception: "
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   366
                + /*SF*/"Target is not bound"/*SF*/);//TODO for time being commented.s
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   367
                //throw new IllegalStateException(/*SF*/"Target is not bound"/*SF*/);
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   368
        	}
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   369
        	System.out.println("P-In Render M2GScalableGraphics.. Render Completed.." );	
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   370
    }
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   371
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   372
    /**
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   373
     * @see javax.microedition.m2g.ScalableGraphics#setRenderingQuality(int)
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   374
     */
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   375
    public synchronized void setRenderingQuality(int mode)
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   376
    {
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   377
        if ((mode == ScalableGraphics.RENDERING_QUALITY_LOW) ||
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   378
                (mode == ScalableGraphics.RENDERING_QUALITY_HIGH))
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   379
        {
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   380
        	final int finalMode = mode;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   381
        			    	 // Execute in UI thread     
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   382
			        Platform.executeInUIThread(
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   383
			                new M2GRunnableQt() {
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   384
			                    public void doRun() {
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   385
											            _setRenderingQuality(getHandle(), finalMode);
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   386
											          }
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   387
											        });
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   388
        }
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   389
        else
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   390
        {
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   391
            Logger.ELOG(Logger.EJavaUI,
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   392
                        "setRenderingQuality() - exception: " + /*SF*/"The mode is invalid"/*SF*/);
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   393
            throw new IllegalArgumentException(/*SF*/"The mode is invalid"/*SF*/);
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   394
        }
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   395
    }
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   396
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   397
    /**
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   398
     * @see javax.microedition.m2g.ScalableGraphics#setTransparency(float)
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   399
     */
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   400
    public synchronized void setTransparency(float alpha)
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   401
    {
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   402
        if (alpha >= MIN_TRANSPARENCY_ALPHA && alpha <= MAX_TRANSPARENCY_ALPHA)
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   403
        {
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   404
        	final float finalAlpha = alpha;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   405
        			    	 // Execute in UI thread     
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   406
			        Platform.executeInUIThread(
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   407
			                new M2GRunnableQt() {
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   408
			                    public void doRun() {
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   409
            															_setTransparency(getHandle(), finalAlpha);
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   410
            														}
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   411
            													}
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   412
            													);
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   413
        }
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   414
        else
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   415
        {
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   416
            Logger.ELOG(Logger.EJavaUI,
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   417
                        "setTransparency() - exception: " + /*SF*/"The alpha is out of range"/*SF*/);
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   418
            throw new IllegalArgumentException(/*SF*/"The alpha is out of range"/*SF*/);
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   419
        }
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   420
    }
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   421
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   422
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   423
    //--------------------------------------------------
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   424
    // NATIVE METHODS
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   425
    //--------------------------------------------------
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   426
    private native int _bind(
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   427
        int aRenderContextHandle, int aTargetHandle);
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   428
    private native int _createRenderContext(
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   429
        int aSVGProxyHandle);
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   430
    private native void _deleteRenderContext(
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   431
        int aRenderContextHandle);
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   432
    private native int _release(
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   433
       int aSurfaceHandle ,int aRenderContextHandle);
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   434
    private native int _renderLCDUI(
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   435
       int aRenderContextHandle, int aDocumentHandle,
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   436
        int aX, int aY, int aClipX, int aClipY, int aClipW, int aClipH,
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   437
        int aSvgW, int aSvgH, float aCurrentTime);
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   438
    private native int[] _renderESWT(
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   439
       int aRenderContextHandle, int aDocumentHandle,
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   440
        int aX, int aY, int aClipX, int aClipY, int aClipW, int aClipH,
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   441
        int aSvgW, int aSvgH, float aCurrentTime, int iUseNativeClear);
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   442
    private native void _setRenderingQuality(
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   443
       int aRenderContextHandle, int aMode);
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   444
    private native void _setTransparency(
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   445
       int aRenderContextHandle, float aAlpha);
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   446
}