]> _ Git - cubeextranet.git/blob
0085f9d486ea16a5f37b4ba65235c9e16e2f37f0
[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.pdmodel.interactive.documentnavigation.destination;\r
18 \r
19 import org.apache.pdfbox.cos.COSArray;\r
20 import org.apache.pdfbox.cos.COSBase;\r
21 \r
22 /**\r
23  * This represents a destination to a page at a y location and the width is magnified\r
24  * to just fit on the screen.\r
25  *\r
26  * @author <a href="mailto:ben@benlitchfield.com">Ben Litchfield</a>\r
27  * @version $Revision: 1.2 $\r
28  */\r
29 public class PDPageFitWidthDestination extends PDPageDestination\r
30 {\r
31 \r
32     /**\r
33      * The type of this destination.\r
34      */\r
35     protected static final String TYPE = "FitH";\r
36     /**\r
37      * The type of this destination.\r
38      */\r
39     protected static final String TYPE_BOUNDED = "FitBH";\r
40 \r
41     /**\r
42      * Default constructor.\r
43      *\r
44      */\r
45     public PDPageFitWidthDestination()\r
46     {\r
47         super();\r
48         array.growToSize(3);\r
49         array.setName( 1, TYPE );\r
50 \r
51     }\r
52 \r
53     /**\r
54      * Constructor from an existing destination array.\r
55      *\r
56      * @param arr The destination array.\r
57      */\r
58     public PDPageFitWidthDestination( COSArray arr )\r
59     {\r
60         super( arr );\r
61     }\r
62 \r
63 \r
64     /**\r
65      * Get the top y coordinate.  A return value of -1 implies that the current y-coordinate\r
66      * will be used.\r
67      *\r
68      * @return The top y coordinate.\r
69      */\r
70     public int getTop()\r
71     {\r
72         return array.getInt( 2 );\r
73     }\r
74 \r
75     /**\r
76      * Set the top y-coordinate, a value of -1 implies that the current y-coordinate\r
77      * will be used.\r
78      * @param y The top ycoordinate.\r
79      */\r
80     public void setTop( int y )\r
81     {\r
82         array.growToSize( 3 );\r
83         if( y == -1 )\r
84         {\r
85             array.set( 2, (COSBase)null );\r
86         }\r
87         else\r
88         {\r
89             array.setInt( 2, y );\r
90         }\r
91     }\r
92 \r
93     /**\r
94      * A flag indicating if this page destination should just fit bounding box of the PDF.\r
95      *\r
96      * @return true If the destination should fit just the bounding box.\r
97      */\r
98     public boolean fitBoundingBox()\r
99     {\r
100         return TYPE_BOUNDED.equals( array.getName( 1 ) );\r
101     }\r
102 \r
103     /**\r
104      * Set if this page destination should just fit the bounding box.  The default is false.\r
105      *\r
106      * @param fitBoundingBox A flag indicating if this should fit the bounding box.\r
107      */\r
108     public void setFitBoundingBox( boolean fitBoundingBox )\r
109     {\r
110         array.growToSize( 2 );\r
111         if( fitBoundingBox )\r
112         {\r
113             array.setName( 1, TYPE_BOUNDED );\r
114         }\r
115         else\r
116         {\r
117             array.setName( 1, TYPE );\r
118         }\r
119     }\r
120 }\r