OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [libjava/] [classpath/] [java/] [awt/] [print/] [PageFormat.java] - Blame information for rev 771

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 771 jeremybenn
/* PageFormat.java -- Information about the page format
2
   Copyright (C) 1999, 2006 Free Software Foundation, Inc.
3
 
4
This file is part of GNU Classpath.
5
 
6
GNU Classpath is free software; you can redistribute it and/or modify
7
it under the terms of the GNU General Public License as published by
8
the Free Software Foundation; either version 2, or (at your option)
9
any later version.
10
 
11
GNU Classpath is distributed in the hope that it will be useful, but
12
WITHOUT ANY WARRANTY; without even the implied warranty of
13
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
14
General Public License for more details.
15
 
16
You should have received a copy of the GNU General Public License
17
along with GNU Classpath; see the file COPYING.  If not, write to the
18
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
19
02110-1301 USA.
20
 
21
Linking this library statically or dynamically with other modules is
22
making a combined work based on this library.  Thus, the terms and
23
conditions of the GNU General Public License cover the whole
24
combination.
25
 
26
As a special exception, the copyright holders of this library give you
27
permission to link this library with independent modules to produce an
28
executable, regardless of the license terms of these independent
29
modules, and to copy and distribute the resulting executable under
30
terms of your choice, provided that you also meet, for each linked
31
independent module, the terms and conditions of the license of that
32
module.  An independent module is a module which is not derived from
33
or based on this library.  If you modify this library, you may extend
34
this exception to your version of the library, but you are not
35
obligated to do so.  If you do not wish to do so, delete this
36
exception statement from your version. */
37
 
38
 
39
package java.awt.print;
40
 
41
/**
42
 * This class contains information about the desired page format to use for
43
 * printing a particular set of pages.
44
 *
45
 * @author Aaron M. Renn (arenn@urbanophile.com)
46
 */
47
public class PageFormat
48
  implements Cloneable
49
{
50
  /**
51
   * A constant for a landscaped page orientation. Used by
52
   * <code>getOrientation</code> and <code>setOrientation</code>.
53
   */
54
  public static final int LANDSCAPE = 0;
55
 
56
  /**
57
   * A constant for a portrait page orientation. Used by
58
   * <code>getOrientation</code> and <code>setOrientation</code>.
59
   */
60
  public static final int PORTRAIT = 1;
61
 
62
  /**
63
   * A constant for a reversed landscaped page orientation. This is the
64
   * orientation used by Macintosh's for landscape. The origin is in the
65
   * upper right hand corner instead of the upper left. The X and Y axes
66
   * are reversed. Used by <code>getOrientation</code> and
67
   * <code>setOrientation</code>.
68
   */
69
  public static final int REVERSE_LANDSCAPE = 2;
70
 
71
  // The page orientation
72
  private int orientation;
73
 
74
  // The paper type
75
  private Paper paper;
76
 
77
  /**
78
   * This method creates a default page layout, which will be in portrait
79
   * format.
80
   */
81
  public PageFormat()
82
  {
83
    this.paper = new Paper();
84
    this.orientation = PORTRAIT;
85
  }
86
 
87
  /**
88
   * This method returns the width of the page, in 1/72nd's of an inch. The
89
   * "width" measured depends on orientation.
90
   *
91
   * @return The width of the page.
92
   */
93
  public double getWidth()
94
  {
95
    return paper.getWidth();
96
  }
97
 
98
  /**
99
   * This method returns the height of the page, in 1/72nd's of an inch. The
100
   * "height" measured depends on the orientation.
101
   *
102
   * @return The height of the page.
103
   */
104
  public double getHeight()
105
  {
106
    return paper.getHeight();
107
  }
108
 
109
  /**
110
   * This method returns the X coordinate value of the upper leftmost drawable
111
   * area of the paper.
112
   *
113
   * @return The upper leftmost imageable X coordinate.
114
   */
115
  public double getImageableX()
116
  {
117
    return paper.getImageableX();
118
  }
119
 
120
  /**
121
   * This method returns the Y coordinate value of the upper leftmost drawable
122
   * area of the paper.
123
   *
124
   * @return The upper leftmost imageable Y coordinate.
125
   */
126
  public double getImageableY()
127
  {
128
    return paper.getImageableY();
129
  }
130
 
131
  /**
132
   * This method returns the imageable width of the paper, in 1/72nd's of an
133
   * inch.
134
   *
135
   * @return The imageable width of the paper.
136
   */
137
  public double getImageableWidth()
138
  {
139
    return paper.getImageableWidth();
140
  }
141
 
142
  /**
143
   * This method returns the imageable height of the paper, in 1/72nd's of an
144
   * inch.
145
   *
146
   * @return The imageable height of the paper.
147
   */
148
  public double getImageableHeight()
149
  {
150
    return paper.getImageableHeight();
151
  }
152
 
153
  /**
154
   * Returns a copy of the <code>paper</code> object being used for this page
155
   * format.
156
   *
157
   * @return A copy of the <code>Paper</code> object for this format.
158
   */
159
  public Paper getPaper()
160
  {
161
    return (Paper) paper.clone();
162
  }
163
 
164
  /**
165
   * Sets the <code>Paper</code> object to be used by this page format.
166
   *
167
   * @param paper The new <code>Paper</code> object for this page format.
168
   */
169
  public void setPaper(Paper paper)
170
  {
171
    this.paper = paper;
172
  }
173
 
174
  /**
175
   * This method returns the current page orientation. The value returned will
176
   * be one of the page orientation constants from this class.
177
   *
178
   * @return The current page orientation.
179
   */
180
  public int getOrientation()
181
  {
182
    return orientation;
183
  }
184
 
185
  /**
186
   * This method sets the page orientation for this format to the specified
187
   * value. It must be one of the page orientation constants from this class
188
   * or an exception will be thrown.
189
   *
190
   * @param orientation The new page orientation.
191
   * @exception IllegalArgumentException If the specified page orientation
192
   *            value is not one of the constants from this class.
193
   */
194
  public void setOrientation(int orientation) throws IllegalArgumentException
195
  {
196
    if ((orientation != PORTRAIT) && (orientation != LANDSCAPE)
197
        && (orientation != REVERSE_LANDSCAPE))
198
      throw new IllegalArgumentException("Bad page orientation value: "
199
                                         + orientation);
200
 
201
    this.orientation = orientation;
202
  }
203
 
204
  /**
205
   * This method returns a matrix used for transforming user space coordinates
206
   * to page coordinates. The value returned will be six doubles as described
207
   * in <code>java.awt.geom.AffineTransform</code>.
208
   *
209
   * @return The transformation matrix for this page format.
210
   */
211
  public double[] getMatrix()
212
  {
213
    throw new RuntimeException("Not implemented since I don't know what to do");
214
  }
215
 
216
  /**
217
   * This method returns a copy of this object.
218
   *
219
   * @return A copy of this object.
220
   */
221
  public Object clone()
222
  {
223
    try
224
      {
225
        return (super.clone());
226
      }
227
    catch (CloneNotSupportedException e)
228
      {
229
        return (null);
230
      }
231
  }
232
 
233
}

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.