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