3909N/A * Copyright (c) 2007, 2010, Oracle and/or its affiliates. All rights reserved. 0N/A * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 0N/A * This code is free software; you can redistribute it and/or modify it 0N/A * under the terms of the GNU General Public License version 2 only, as 2362N/A * published by the Free Software Foundation. Oracle designates this 0N/A * particular file as subject to the "Classpath" exception as provided 2362N/A * by Oracle in the LICENSE file that accompanied this code. 0N/A * This code is distributed in the hope that it will be useful, but WITHOUT 0N/A * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 0N/A * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 0N/A * version 2 for more details (a copy is included in the LICENSE file that 0N/A * accompanied this code). 0N/A * You should have received a copy of the GNU General Public License version 0N/A * 2 along with this work; if not, write to the Free Software Foundation, 0N/A * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 2362N/A * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 2362N/A * or visit www.oracle.com if you need additional information or have any 0N/A for (
int i =
0; i <
4; i++) {
0N/A * Feed a path from a PathIterator to a Ductus PathConsumer. 0N/A // Force current point back to last moveto point 0N/A /* Checking SEG_MOVETO coordinates if they are out of the 0N/A * [LOWER_BND, UPPER_BND] range. This check also handles NaN 0N/A * and Infinity values. Skipping next path segment in case of 0N/A /* Checking SEG_LINETO coordinates if they are out of the 0N/A * [LOWER_BND, UPPER_BND] range. This check also handles NaN 0N/A * and Infinity values. Ignoring current path segment in case 0N/A * of invalid data. If segment is skipped its endpoint 0N/A * (if valid) is used to begin new subpath. 0N/A // Quadratic curves take two points 0N/A /* Checking SEG_QUADTO coordinates if they are out of the 0N/A * [LOWER_BND, UPPER_BND] range. This check also handles NaN 0N/A * and Infinity values. Ignoring current path segment in case 0N/A * of invalid endpoints's data. Equivalent to the SEG_LINETO 0N/A * if endpoint coordinates are valid but there are invalid data 0N/A * amoung other coordinates 0N/A // Cubic curves take three points 0N/A /* Checking SEG_CUBICTO coordinates if they are out of the 0N/A * [LOWER_BND, UPPER_BND] range. This check also handles NaN 0N/A * and Infinity values. Ignoring current path segment in case 0N/A * of invalid endpoints's data. Equivalent to the SEG_LINETO 0N/A * if endpoint coordinates are valid but there are invalid data 0N/A * amoung other coordinates 0N/A // Force current point back to last moveto point 0N/A /* Checking SEG_MOVETO coordinates if they are out of the 0N/A * [LOWER_BND, UPPER_BND] range. This check also handles NaN 0N/A * and Infinity values. Skipping next path segment in case 0N/A /* Checking SEG_LINETO coordinates if they are out of the 0N/A * [LOWER_BND, UPPER_BND] range. This check also handles 0N/A * NaN and Infinity values. Ignoring current path segment 0N/A * in case of invalid data. If segment is skipped its 0N/A * endpoint (if valid) is used to begin new subpath. 0N/A // Quadratic curves take two points 0N/A /* Checking SEG_QUADTO coordinates if they are out of the 0N/A * [LOWER_BND, UPPER_BND] range. This check also handles 0N/A * NaN and Infinity values. Ignoring current path segment 0N/A * in case of invalid endpoints's data. Equivalent to the 0N/A * SEG_LINETO if endpoint coordinates are valid but there 0N/A * are invalid data amoung other coordinates 0N/A // Cubic curves take three points 0N/A /* Checking SEG_CUBICTO coordinates if they are out of the 0N/A * [LOWER_BND, UPPER_BND] range. This check also handles 0N/A * NaN and Infinity values. Ignoring current path segment 0N/A * in case of invalid endpoints's data. Equivalent to the 0N/A * SEG_LINETO if endpoint coordinates are valid but there 0N/A * are invalid data amoung other coordinates 0N/A * This exeption is thrown from the native part of the Ductus 0N/A * (only in case of a debug build) to indicate that some 0N/A * segments of the path have very large coordinates. 0N/A * See 4485298 for more info. 3265N/A // REMIND: Deal with large coordinates! 3265N/A // Inner parallelogram was entirely consumed by stroke... 3265N/A * This exeption is thrown from the native part of the Ductus 3265N/A * (only in case of a debug build) to indicate that some 3265N/A * segments of the path have very large coordinates. 3265N/A * See 4485298 for more info. 0N/A // Force current point back to last moveto point 0N/A // Ductus only supplies float coordinates so 0N/A // Path2D.Double is not necessary here.