]> _ Git - cubeextranet.git/blob
522e0f76a32ce26656d30a56da0f741fd7ffa35f
[cubeextranet.git] /
1 /*\r
2  * Licensed to the Apache Software Foundation (ASF) under one or more\r
3  * contributor license agreements.  See the NOTICE file distributed with\r
4  * this work for additional information regarding copyright ownership.\r
5  * The ASF licenses this file to You under the Apache License, Version 2.0\r
6  * (the "License"); you may not use this file except in compliance with\r
7  * the License.  You may obtain a copy of the License at\r
8  *\r
9  *      http://www.apache.org/licenses/LICENSE-2.0\r
10  *\r
11  * Unless required by applicable law or agreed to in writing, software\r
12  * distributed under the License is distributed on an "AS IS" BASIS,\r
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
14  * See the License for the specific language governing permissions and\r
15  * limitations under the License.\r
16  */\r
17 package org.apache.pdfbox.util.operator.pagedrawer;\r
18 \r
19 import java.util.List;\r
20 import java.awt.geom.Point2D;\r
21 \r
22 import org.apache.pdfbox.cos.COSBase;\r
23 import org.apache.pdfbox.cos.COSNumber;\r
24 import org.apache.pdfbox.pdfviewer.PageDrawer;\r
25 import org.apache.pdfbox.util.PDFOperator;\r
26 import org.apache.pdfbox.util.operator.OperatorProcessor;\r
27 \r
28 /**\r
29  * Implementation of content stream operator for page drawer.\r
30  *\r
31  * @author <a href="mailto:ben@benlitchfield.com">Ben Litchfield</a>\r
32  * @version $Revision: 1.2 $\r
33  */\r
34 public class CurveToReplicateFinalPoint extends OperatorProcessor\r
35 {\r
36 \r
37 \r
38     /**\r
39      * process : y : Append curved segment to path (final point replicated).\r
40      * @param operator The operator that is being executed.\r
41      * @param arguments List\r
42      */\r
43     public void process(PDFOperator operator, List<COSBase> arguments)\r
44     {\r
45         PageDrawer drawer = (PageDrawer)context;\r
46 \r
47         COSNumber x1 = (COSNumber)arguments.get( 0 );\r
48         COSNumber y1 = (COSNumber)arguments.get( 1 );\r
49         COSNumber x3 = (COSNumber)arguments.get( 2 );\r
50         COSNumber y3 = (COSNumber)arguments.get( 3 );\r
51 \r
52         Point2D point1 = drawer.transformedPoint(x1.doubleValue(), y1.doubleValue());\r
53         Point2D point3 = drawer.transformedPoint(x3.doubleValue(), y3.doubleValue());\r
54 \r
55         drawer.getLinePath().curveTo((float)point1.getX(), (float)point1.getY(), \r
56                 (float)point3.getX(), (float)point3.getY(), (float)point3.getX(), (float)point3.getY());\r
57     }\r
58 }\r