KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > jxl > write > biff > HorizontalPageBreaksRecord


1 /*********************************************************************
2 *
3 * Copyright (C) 2002 Andrew Khan
4 *
5 * This library is free software; you can redistribute it and/or
6 * modify it under the terms of the GNU Lesser General Public
7 * License as published by the Free Software Foundation; either
8 * version 2.1 of the License, or (at your option) any later version.
9 *
10 * This library is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 * Lesser General Public License for more details.
14 *
15 * You should have received a copy of the GNU Lesser General Public
16 * License along with this library; if not, write to the Free Software
17 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18 ***************************************************************************/

19
20 package jxl.write.biff;
21
22 import jxl.biff.Type;
23 import jxl.biff.IntegerHelper;
24 import jxl.biff.StringHelper;
25 import jxl.biff.WritableRecordData;
26
27 /**
28  * Contains the list of explicit horizontal page breaks on the current sheet
29  */

30 class HorizontalPageBreaksRecord extends WritableRecordData
31 {
32   /**
33    * The row breaks
34    */

35   private int[] rowBreaks;
36   
37   /**
38    * Constructor
39    *
40    * @param break the row breaks
41    */

42   public HorizontalPageBreaksRecord(int[] breaks)
43   {
44     super(Type.HORIZONTALPAGEBREAKS);
45
46     rowBreaks = breaks;
47   }
48
49   /**
50    * Gets the binary data to write to the output file
51    *
52    * @return the binary data
53    */

54   public byte[] getData()
55   {
56     byte[] data = new byte[rowBreaks.length * 6 + 2];
57
58     // The number of breaks on the list
59
IntegerHelper.getTwoBytes(rowBreaks.length, data, 0);
60     int pos = 2;
61
62     for (int i = 0; i < rowBreaks.length; i++)
63     {
64       IntegerHelper.getTwoBytes(rowBreaks[i], data, pos);
65       IntegerHelper.getTwoBytes(0xff, data, pos+4);
66       pos += 6;
67     }
68
69     return data;
70   }
71 }
72
73
74
Popular Tags