/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ /* $Id$ */ package org.apache.fop.pdf; import java.io.IOException; import java.io.OutputStream; /** * class representing a rectangle * * Rectangles are specified on page 183 of the PDF 1.3 spec. */ public class PDFRectangle implements PDFWritable { /** * lower left x coordinate */ protected int llx; /** * lower left y coordinate */ protected int lly; /** * upper right x coordinate */ protected int urx; /** * upper right y coordinate */ protected int ury; /** * create a rectangle giving the four separate values * * @param llx lower left x coordinate * @param lly lower left y coordinate * @param urx upper right x coordinate * @param ury upper right y coordinate */ public PDFRectangle(int llx, int lly, int urx, int ury) { this.llx = llx; this.lly = lly; this.urx = urx; this.ury = ury; } /** * create a rectangle giving an array of four values * * @param array values in the order llx, lly, urx, ury */ public PDFRectangle(int[] array) { this.llx = array[0]; this.lly = array[1]; this.urx = array[2]; this.ury = array[3]; } private String format() { StringBuilder textBuffer = new StringBuilder(32); format(textBuffer); return textBuffer.toString(); } private void format(StringBuilder textBuffer) { textBuffer.append('[').append(llx) .append(' ').append(lly) .append(' ').append(urx) .append(' ').append(ury).append(']'); } /** {@inheritDoc} */ @Override public String toString() { return "PDFRectangle" + format(); } /** {@inheritDoc} */ public void outputInline(OutputStream out, StringBuilder textBuffer) throws IOException { format(textBuffer); } }