You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

TileSize.java 2.2KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. /*
  2. * Licensed to the Apache Software Foundation (ASF) under one or more
  3. * contributor license agreements. See the NOTICE file distributed with
  4. * this work for additional information regarding copyright ownership.
  5. * The ASF licenses this file to You under the Apache License, Version 2.0
  6. * (the "License"); you may not use this file except in compliance with
  7. * the License. You may obtain a copy of the License at
  8. *
  9. * http://www.apache.org/licenses/LICENSE-2.0
  10. *
  11. * Unless required by applicable law or agreed to in writing, software
  12. * distributed under the License is distributed on an "AS IS" BASIS,
  13. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  14. * See the License for the specific language governing permissions and
  15. * limitations under the License.
  16. */
  17. /* $Id$ */
  18. package org.apache.fop.afp.ioca;
  19. import java.io.IOException;
  20. import java.io.OutputStream;
  21. import org.apache.fop.afp.modca.AbstractAFPObject;
  22. import org.apache.fop.afp.util.BinaryUtils;
  23. public class TileSize extends AbstractAFPObject {
  24. private int hSize = 0;
  25. private int vSize = 0;
  26. // private int hRes = 0; // hRes and vRes not used yet -probably need them in the future
  27. // private int vRes = 0;
  28. public TileSize(int hsize, int vsize, int hresol, int vresol) {
  29. this.hSize = hsize;
  30. this.vSize = vsize;
  31. // this.hRes = hresol;
  32. // this.vRes = vresol;
  33. }
  34. @Override
  35. public void writeToStream(OutputStream os) throws IOException {
  36. byte[] data = new byte[] {
  37. (byte)0xB6, // ID = Image Size Parameter
  38. 0x09, // Length
  39. 0x00, // THSIZE
  40. 0x00, //
  41. 0x00, //
  42. 0x00, //
  43. 0x00, // TVSIZE
  44. 0x00, //
  45. 0x00, //
  46. 0x00, //
  47. 0x01 // RELRES, can also be 0x02
  48. };
  49. byte[] w = BinaryUtils.convert(hSize, 4);
  50. data[2] = w[0];
  51. data[3] = w[1];
  52. data[4] = w[2];
  53. data[5] = w[3];
  54. byte[] h = BinaryUtils.convert(vSize, 4);
  55. data[6] = h[0];
  56. data[7] = h[1];
  57. data[8] = h[2];
  58. data[9] = h[3];
  59. os.write(data);
  60. }
  61. }