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.
|