javauis/m2g_qt/javasrc/com/nokia/microedition/m2g/M2GSVGPath.java
changeset 57 59b3b4473dc8
parent 56 abc41079b313
child 64 0ea12c182930
--- a/javauis/m2g_qt/javasrc/com/nokia/microedition/m2g/M2GSVGPath.java	Fri Jul 23 12:27:20 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,263 +0,0 @@
-/*
-* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-package com.nokia.microedition.m2g;
-
-import org.w3c.dom.svg.*;
-import org.w3c.dom.DOMException;
-import java.io.IOException;
-import com.nokia.mj.impl.utils.Logger;
-
-/**
- * This interface represents an "SVGPath" datatype used to define the path geometry.
- * Corresponds to SVG path specification or the "d" attribute.
- */
-public class M2GSVGPath extends M2GObject implements SVGPath
-{
-    //--------------------------------------------------
-    // STATIC CONTANTS
-    //--------------------------------------------------
-    /* Optimization: static finals changed to local variables
-    private static final String SEGMENT_INDEX_SIZE_ESTR =
-    "The segment index is out of bounds.";
-    private static final String PARAMETER_INDEX_SIZE_ESTR =
-    "The parameter index is out of bounds for this segment's type.";
-    */
-    private static final int CLOSE_PARAMETER_COUNT = 0;
-    private static final int MOVE_TO_PARAMETER_COUNT = 2;
-    private static final int LINE_TO_PARAMETER_COUNT = 2;
-    private static final int CURVE_TO_PARAMETER_COUNT = 6;
-    private static final int QUAD_TO_PARAMETER_COUNT = 4;
-
-    //--------------------------------------------------
-    // VARIABLES
-    //--------------------------------------------------
-
-    //--------------------------------------------------
-    // METHODS
-    //--------------------------------------------------
-
-    /**
-     * Constructor
-     * @param aHandle - native path object handle
-     * @param aDoCleanup - true if the native object needed to be deleted
-     */
-    protected M2GSVGPath(int aHandle)
-    {
-        super();
-        setHandle(aHandle);
-        doConstruct();
-    }
-
-    /**
-    * @see com.nokia.microedition.m2g.M2GObject#doCheckValidity()
-     */
-    public boolean doCheckValidity()
-    {
-        // SVGPath is invalid if it begins with any segment other
-        // than MOVE_TO segment. Note that an empty SVGPath is still a valid value.
-        try
-        {
-            if (!super.doCheckValidity() ||
-                    ((getNumberOfSegments() != 0) && (getSegment(0) != MOVE_TO)))
-            {
-                return false;
-            }
-        }
-        catch (IOException e)
-        {
-            return false;
-        }
-        return true;
-    }
-
-    /**
-     * @see com.nokia.microedition.m2g.M2GObject#doCleanup()
-     */
-    protected void doCleanup()
-    {
-        _destroyPath(getNativeSVGProxyHandle(),
-            getHandle());
-        resetHandles();
-    }
-
-    /**
-     * @see com.nokia.microedition.m2g.M2GObject#doConstruct()
-     */
-    protected void doConstruct()
-    {
-        super.doConstruct();
-        register(this);
-    }
-
-
-    /**
-     * @see org.w3c.dom.svg.SVGPath#getNumberOfSegments()
-     */
-    public int getNumberOfSegments()
-    {
-        return _getNumberOfSegments(getNativeSVGProxyHandle(),
-                                    getHandle() );
-    }
-
-    /**
-     * @see org.w3c.dom.svg.SVGPath#getSegment()
-     */
-    public short getSegment(int index) throws DOMException
-    {
-        if ((index < 0) ||
-                (index >= getNumberOfSegments()))
-        {
-            Logger.ELOG(Logger.EJavaUI, "getSegment() - exception:"
-                        + /*SF*/"The segment index is out of bounds."/*SF*/);
-            throw new DOMException(
-                DOMException.INDEX_SIZE_ERR,
-                /*SF*/"The segment index is out of bounds."/*SF*/);
-        }
-        return M2GSVGConstants.parsePathCommand(
-                   _getSegmentType(getNativeSVGProxyHandle(),
-                                   getHandle(),
-                                   index)
-               );
-    }
-
-    /**
-     * Checks that parameter index is valid
-     * @param aCommand -
-     * @param aParameterIndex -
-     */
-    protected void checkParameterIndex(int aCommand, int aParameterIndex) throws DOMException
-    {
-        if ((aCommand == CLOSE && aParameterIndex >= CLOSE_PARAMETER_COUNT) ||
-                (aCommand == MOVE_TO && aParameterIndex >= MOVE_TO_PARAMETER_COUNT)
-                || (aCommand == LINE_TO && aParameterIndex >= LINE_TO_PARAMETER_COUNT)
-                || (aCommand == CURVE_TO && aParameterIndex >= CURVE_TO_PARAMETER_COUNT)
-                || (aCommand == QUAD_TO && aParameterIndex >= QUAD_TO_PARAMETER_COUNT))
-        {
-            throw new DOMException(
-                DOMException.INDEX_SIZE_ERR,
-                /*SF*/"The parameter index is out of bounds for this segment's type."/*SF*/);
-        }
-    }
-
-    /**
-    * @see org.w3c.dom.svg.SVGPath#close()
-     */
-    public void close()
-    {
-        _addClose(getNativeSVGProxyHandle(), getHandle());
-    }
-
-    /**
-     * @see org.w3c.dom.svg.SVGPath#curveTo()
-     */
-    public void curveTo(float x1, float y1, float x2, float y2, float x3, float y3)
-    {
-        _addCurveTo(getNativeSVGProxyHandle(),
-            getHandle(), x1, y1, x2, y2, x3, y3);
-    }
-
-    /**
-     * @see org.w3c.dom.svg.SVGPath#getSegmentParam()
-     */
-    public float getSegmentParam(int cmdIndex, int paramIndex)
-    {
-        if ((cmdIndex >= getNumberOfSegments()) ||
-                (cmdIndex < 0) ||
-                (paramIndex < 0))
-        {
-            Logger.ELOG(Logger.EJavaUI, "getSegmentParam() - end, exception:"
-                        + /*SF*/"The segment index is out of bounds."/*SF*/);
-            throw new DOMException(
-                DOMException.INDEX_SIZE_ERR,
-                /*SF*/"The segment index is out of bounds."/*SF*/);
-        }
-        short command = getSegment(cmdIndex);
-        // Checks the validity of the parameter index.
-        checkParameterIndex(command, paramIndex);
-        return _getSegmentParameter(getNativeSVGProxyHandle(),
-                                    getHandle(),
-                                    cmdIndex,
-                                    paramIndex
-                                   );
-    }
-
-    /**
-     * @see org.w3c.dom.svg.SVGPath#lineTo()
-     */
-    public void lineTo(float x, float y)
-    {
-        _addLineTo(getNativeSVGProxyHandle(), getHandle(), x, y);
-    }
-
-    /**
-     * @see org.w3c.dom.svg.SVGPath#moveTo()
-     */
-    public void moveTo(float x, float y)
-    {
-        _addMoveTo(getNativeSVGProxyHandle(), getHandle(), x, y );
-    }
-
-    /**
-     * @see org.w3c.dom.svg.SVGPath#quadTo()
-     */
-    public void quadTo(float x1, float y1, float x2, float y2)
-    {
-        _addQuadTo(getNativeSVGProxyHandle(),
-                   getHandle(),
-                   x1,
-                   y1,
-                   x2,
-                   y2 );
-    }
-
-    //--------------------------------------------------
-    // NATIVE METHODS
-    //--------------------------------------------------
-    private static native void _addClose(
-        int aSVGProxyHandle, int aPathHandle);
-
-    private static native void _addCurveTo(
-        int aSVGProxyHandle, int aPathHandle,
-        float aX1, float aY1, float aX2, float aY2, float aX3, float aY3);
-
-    private static native void _addLineTo(
-        int aSVGProxyHandle, int aPathHandle, float aX, float aY);
-
-    private static native void _addMoveTo(
-        int aSVGProxyHandle, int aPathHandle, float aX, float aY);
-
-    private static native void _addQuadTo(
-        int aSVGProxyHandle, int aPathHandle,
-        float aX1, float aY1, float aX2, float aY2);
-
-    static native int _createPath(
-        int aSVGProxyHandle);
-
-    private static native void _destroyPath(
-        int aSVGProxyHandle, int aPathHandle);
-
-    private static native int _getNumberOfSegments(
-        int aSVGProxyHandle, int aPathHandle);
-
-    private static native float _getSegmentParameter(
-        int aSVGProxyHandle, int aPathHandle, int aCmdIndex, int aParamIndex);
-
-    private static native short _getSegmentType(
-        int aSVGProxyHandle, int aPathHandle, int aIndex);
-}
-