< prev index next >

src/java.desktop/share/classes/java/awt/geom/Path2D.java

Print this page




 859          * <li>followed by
 860          * an integer indicating the total number of coordinates to follow (NC)
 861          * or -1 to indicate an unknown number of coordinates follows
 862          * (NC should always be even since coordinates always appear in pairs
 863          *  representing an x,y pair)
 864          * <li>followed by
 865          * a byte indicating the winding rule
 866          * ({@link #WIND_EVEN_ODD WIND_EVEN_ODD} or
 867          *  {@link #WIND_NON_ZERO WIND_NON_ZERO})
 868          * <li>followed by
 869          * {@code NP} (or unlimited if {@code NP < 0}) sets of values consisting of
 870          * a single byte indicating a path segment type
 871          * followed by one or more pairs of float or double
 872          * values representing the coordinates of the path segment
 873          * <li>followed by
 874          * a byte indicating the end of the path (SERIAL_PATH_END).
 875          * </ol>
 876          * <p>
 877          * The following byte value constants are used in the serialized form
 878          * of {@code Path2D} objects:
 879          * <table>



 880          * <tr>
 881          * <th>Constant Name</th>
 882          * <th>Byte Value</th>
 883          * <th>Followed by</th>
 884          * <th>Description</th>
 885          * </tr>


 886          * <tr>
 887          * <td>{@code SERIAL_STORAGE_FLT_ARRAY}</td>
 888          * <td>0x30</td>
 889          * <td></td>
 890          * <td>A hint that the original {@code Path2D} object stored
 891          * the coordinates in a Java array of floats.</td>
 892          * </tr>
 893          * <tr>
 894          * <td>{@code SERIAL_STORAGE_DBL_ARRAY}</td>
 895          * <td>0x31</td>
 896          * <td></td>
 897          * <td>A hint that the original {@code Path2D} object stored
 898          * the coordinates in a Java array of doubles.</td>
 899          * </tr>
 900          * <tr>
 901          * <td>{@code SERIAL_SEG_FLT_MOVETO}</td>
 902          * <td>0x40</td>
 903          * <td>2 floats</td>
 904          * <td>A {@link #moveTo moveTo} path segment follows.</td>
 905          * </tr>


 939          * <td>4 doubles</td>
 940          * <td>A {@link #curveTo curveTo} path segment follows.</td>
 941          * </tr>
 942          * <tr>
 943          * <td>{@code SERIAL_SEG_DBL_CUBICTO}</td>
 944          * <td>0x53</td>
 945          * <td>6 doubles</td>
 946          * <td>A {@link #curveTo curveTo} path segment follows.</td>
 947          * </tr>
 948          * <tr>
 949          * <td>{@code SERIAL_SEG_CLOSE}</td>
 950          * <td>0x60</td>
 951          * <td></td>
 952          * <td>A {@link #closePath closePath} path segment.</td>
 953          * </tr>
 954          * <tr>
 955          * <td>{@code SERIAL_PATH_END}</td>
 956          * <td>0x61</td>
 957          * <td></td>
 958          * <td>There are no more path segments following.</td>

 959          * </table>
 960          *
 961          * @since 1.6
 962          */
 963         private void writeObject(java.io.ObjectOutputStream s)
 964             throws java.io.IOException
 965         {
 966             super.writeObject(s, false);
 967         }
 968 
 969         /**
 970          * Reads the default serializable fields from the
 971          * {@code ObjectInputStream} followed by an explicit
 972          * serialization of the path segments stored in this
 973          * path.
 974          * <p>
 975          * There are no default serializable fields as of 1.6.
 976          * <p>
 977          * The serial data for this object is described in the
 978          * writeObject method.


1618          * <li>followed by
1619          * an integer indicating the total number of coordinates to follow (NC)
1620          * or -1 to indicate an unknown number of coordinates follows
1621          * (NC should always be even since coordinates always appear in pairs
1622          *  representing an x,y pair)
1623          * <li>followed by
1624          * a byte indicating the winding rule
1625          * ({@link #WIND_EVEN_ODD WIND_EVEN_ODD} or
1626          *  {@link #WIND_NON_ZERO WIND_NON_ZERO})
1627          * <li>followed by
1628          * {@code NP} (or unlimited if {@code NP < 0}) sets of values consisting of
1629          * a single byte indicating a path segment type
1630          * followed by one or more pairs of float or double
1631          * values representing the coordinates of the path segment
1632          * <li>followed by
1633          * a byte indicating the end of the path (SERIAL_PATH_END).
1634          * </ol>
1635          * <p>
1636          * The following byte value constants are used in the serialized form
1637          * of {@code Path2D} objects:
1638          * <table>


1639          * <tr>
1640          * <th>Constant Name</th>
1641          * <th>Byte Value</th>
1642          * <th>Followed by</th>
1643          * <th>Description</th>
1644          * </tr>


1645          * <tr>
1646          * <td>{@code SERIAL_STORAGE_FLT_ARRAY}</td>
1647          * <td>0x30</td>
1648          * <td></td>
1649          * <td>A hint that the original {@code Path2D} object stored
1650          * the coordinates in a Java array of floats.</td>
1651          * </tr>
1652          * <tr>
1653          * <td>{@code SERIAL_STORAGE_DBL_ARRAY}</td>
1654          * <td>0x31</td>
1655          * <td></td>
1656          * <td>A hint that the original {@code Path2D} object stored
1657          * the coordinates in a Java array of doubles.</td>
1658          * </tr>
1659          * <tr>
1660          * <td>{@code SERIAL_SEG_FLT_MOVETO}</td>
1661          * <td>0x40</td>
1662          * <td>2 floats</td>
1663          * <td>A {@link #moveTo moveTo} path segment follows.</td>
1664          * </tr>


1698          * <td>4 doubles</td>
1699          * <td>A {@link #curveTo curveTo} path segment follows.</td>
1700          * </tr>
1701          * <tr>
1702          * <td>{@code SERIAL_SEG_DBL_CUBICTO}</td>
1703          * <td>0x53</td>
1704          * <td>6 doubles</td>
1705          * <td>A {@link #curveTo curveTo} path segment follows.</td>
1706          * </tr>
1707          * <tr>
1708          * <td>{@code SERIAL_SEG_CLOSE}</td>
1709          * <td>0x60</td>
1710          * <td></td>
1711          * <td>A {@link #closePath closePath} path segment.</td>
1712          * </tr>
1713          * <tr>
1714          * <td>{@code SERIAL_PATH_END}</td>
1715          * <td>0x61</td>
1716          * <td></td>
1717          * <td>There are no more path segments following.</td>

1718          * </table>
1719          *
1720          * @since 1.6
1721          */
1722         private void writeObject(java.io.ObjectOutputStream s)
1723             throws java.io.IOException
1724         {
1725             super.writeObject(s, true);
1726         }
1727 
1728         /**
1729          * Reads the default serializable fields from the
1730          * {@code ObjectInputStream} followed by an explicit
1731          * serialization of the path segments stored in this
1732          * path.
1733          * <p>
1734          * There are no default serializable fields as of 1.6.
1735          * <p>
1736          * The serial data for this object is described in the
1737          * writeObject method.




 859          * <li>followed by
 860          * an integer indicating the total number of coordinates to follow (NC)
 861          * or -1 to indicate an unknown number of coordinates follows
 862          * (NC should always be even since coordinates always appear in pairs
 863          *  representing an x,y pair)
 864          * <li>followed by
 865          * a byte indicating the winding rule
 866          * ({@link #WIND_EVEN_ODD WIND_EVEN_ODD} or
 867          *  {@link #WIND_NON_ZERO WIND_NON_ZERO})
 868          * <li>followed by
 869          * {@code NP} (or unlimited if {@code NP < 0}) sets of values consisting of
 870          * a single byte indicating a path segment type
 871          * followed by one or more pairs of float or double
 872          * values representing the coordinates of the path segment
 873          * <li>followed by
 874          * a byte indicating the end of the path (SERIAL_PATH_END).
 875          * </ol>
 876          * <p>
 877          * The following byte value constants are used in the serialized form
 878          * of {@code Path2D} objects:
 879          *
 880          * <table class="striped">
 881          * <caption style="display:none">Constants</caption>
 882          * <thead>
 883          * <tr>
 884          * <th>Constant Name</th>
 885          * <th>Byte Value</th>
 886          * <th>Followed by</th>
 887          * <th>Description</th>
 888          * </tr>
 889          * </thead>
 890          * <tbody>
 891          * <tr>
 892          * <td>{@code SERIAL_STORAGE_FLT_ARRAY}</td>
 893          * <td>0x30</td>
 894          * <td></td>
 895          * <td>A hint that the original {@code Path2D} object stored
 896          * the coordinates in a Java array of floats.</td>
 897          * </tr>
 898          * <tr>
 899          * <td>{@code SERIAL_STORAGE_DBL_ARRAY}</td>
 900          * <td>0x31</td>
 901          * <td></td>
 902          * <td>A hint that the original {@code Path2D} object stored
 903          * the coordinates in a Java array of doubles.</td>
 904          * </tr>
 905          * <tr>
 906          * <td>{@code SERIAL_SEG_FLT_MOVETO}</td>
 907          * <td>0x40</td>
 908          * <td>2 floats</td>
 909          * <td>A {@link #moveTo moveTo} path segment follows.</td>
 910          * </tr>


 944          * <td>4 doubles</td>
 945          * <td>A {@link #curveTo curveTo} path segment follows.</td>
 946          * </tr>
 947          * <tr>
 948          * <td>{@code SERIAL_SEG_DBL_CUBICTO}</td>
 949          * <td>0x53</td>
 950          * <td>6 doubles</td>
 951          * <td>A {@link #curveTo curveTo} path segment follows.</td>
 952          * </tr>
 953          * <tr>
 954          * <td>{@code SERIAL_SEG_CLOSE}</td>
 955          * <td>0x60</td>
 956          * <td></td>
 957          * <td>A {@link #closePath closePath} path segment.</td>
 958          * </tr>
 959          * <tr>
 960          * <td>{@code SERIAL_PATH_END}</td>
 961          * <td>0x61</td>
 962          * <td></td>
 963          * <td>There are no more path segments following.</td>
 964          * </tbody>
 965          * </table>
 966          *
 967          * @since 1.6
 968          */
 969         private void writeObject(java.io.ObjectOutputStream s)
 970             throws java.io.IOException
 971         {
 972             super.writeObject(s, false);
 973         }
 974 
 975         /**
 976          * Reads the default serializable fields from the
 977          * {@code ObjectInputStream} followed by an explicit
 978          * serialization of the path segments stored in this
 979          * path.
 980          * <p>
 981          * There are no default serializable fields as of 1.6.
 982          * <p>
 983          * The serial data for this object is described in the
 984          * writeObject method.


1624          * <li>followed by
1625          * an integer indicating the total number of coordinates to follow (NC)
1626          * or -1 to indicate an unknown number of coordinates follows
1627          * (NC should always be even since coordinates always appear in pairs
1628          *  representing an x,y pair)
1629          * <li>followed by
1630          * a byte indicating the winding rule
1631          * ({@link #WIND_EVEN_ODD WIND_EVEN_ODD} or
1632          *  {@link #WIND_NON_ZERO WIND_NON_ZERO})
1633          * <li>followed by
1634          * {@code NP} (or unlimited if {@code NP < 0}) sets of values consisting of
1635          * a single byte indicating a path segment type
1636          * followed by one or more pairs of float or double
1637          * values representing the coordinates of the path segment
1638          * <li>followed by
1639          * a byte indicating the end of the path (SERIAL_PATH_END).
1640          * </ol>
1641          * <p>
1642          * The following byte value constants are used in the serialized form
1643          * of {@code Path2D} objects:
1644          * <table class="striped">
1645          * <caption style="display:none">Constants</caption>
1646          * <thead>
1647          * <tr>
1648          * <th>Constant Name</th>
1649          * <th>Byte Value</th>
1650          * <th>Followed by</th>
1651          * <th>Description</th>
1652          * </tr>
1653          * </thead>
1654          * <tbody>
1655          * <tr>
1656          * <td>{@code SERIAL_STORAGE_FLT_ARRAY}</td>
1657          * <td>0x30</td>
1658          * <td></td>
1659          * <td>A hint that the original {@code Path2D} object stored
1660          * the coordinates in a Java array of floats.</td>
1661          * </tr>
1662          * <tr>
1663          * <td>{@code SERIAL_STORAGE_DBL_ARRAY}</td>
1664          * <td>0x31</td>
1665          * <td></td>
1666          * <td>A hint that the original {@code Path2D} object stored
1667          * the coordinates in a Java array of doubles.</td>
1668          * </tr>
1669          * <tr>
1670          * <td>{@code SERIAL_SEG_FLT_MOVETO}</td>
1671          * <td>0x40</td>
1672          * <td>2 floats</td>
1673          * <td>A {@link #moveTo moveTo} path segment follows.</td>
1674          * </tr>


1708          * <td>4 doubles</td>
1709          * <td>A {@link #curveTo curveTo} path segment follows.</td>
1710          * </tr>
1711          * <tr>
1712          * <td>{@code SERIAL_SEG_DBL_CUBICTO}</td>
1713          * <td>0x53</td>
1714          * <td>6 doubles</td>
1715          * <td>A {@link #curveTo curveTo} path segment follows.</td>
1716          * </tr>
1717          * <tr>
1718          * <td>{@code SERIAL_SEG_CLOSE}</td>
1719          * <td>0x60</td>
1720          * <td></td>
1721          * <td>A {@link #closePath closePath} path segment.</td>
1722          * </tr>
1723          * <tr>
1724          * <td>{@code SERIAL_PATH_END}</td>
1725          * <td>0x61</td>
1726          * <td></td>
1727          * <td>There are no more path segments following.</td>
1728          * </tbody>
1729          * </table>
1730          *
1731          * @since 1.6
1732          */
1733         private void writeObject(java.io.ObjectOutputStream s)
1734             throws java.io.IOException
1735         {
1736             super.writeObject(s, true);
1737         }
1738 
1739         /**
1740          * Reads the default serializable fields from the
1741          * {@code ObjectInputStream} followed by an explicit
1742          * serialization of the path segments stored in this
1743          * path.
1744          * <p>
1745          * There are no default serializable fields as of 1.6.
1746          * <p>
1747          * The serial data for this object is described in the
1748          * writeObject method.


< prev index next >