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.

GraphicsImageBegin.java 2.4KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  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.render.afp.modca.goca;
  19. import org.apache.fop.render.afp.tools.BinaryUtils;
  20. /**
  21. * A GOCA graphics begin image object
  22. */
  23. public final class GraphicsImageBegin extends AbstractPreparedAFPObject {
  24. /** x coordinate */
  25. private int x;
  26. /** y coordinate */
  27. private int y;
  28. /** width */
  29. private int width;
  30. /** height */
  31. private int height;
  32. /**
  33. * @param x the x coordinate of the image
  34. * @param y the y coordinate of the image
  35. * @param width the image width
  36. * @param height the image height
  37. */
  38. public GraphicsImageBegin(int x, int y, int width, int height) {
  39. this.x = x;
  40. this.y = y;
  41. this.width = width;
  42. this.height = height;
  43. prepareData();
  44. }
  45. /**
  46. * {@inheritDoc}
  47. */
  48. protected void prepareData() {
  49. byte[] xcoord = BinaryUtils.convert(x, 2);
  50. byte[] ycoord = BinaryUtils.convert(y, 2);
  51. byte[] w = BinaryUtils.convert(width, 2);
  52. byte[] h = BinaryUtils.convert(height, 2);
  53. super.data = new byte[] {
  54. (byte) 0xD1, // GBIMG order code
  55. (byte) 0x0A, // LENGTH
  56. xcoord[0],
  57. xcoord[1],
  58. ycoord[0],
  59. ycoord[1],
  60. 0x00, // FORMAT
  61. 0x00, // RES
  62. w[0], // WIDTH
  63. w[1], //
  64. h[0], // HEIGHT
  65. h[1] //
  66. };
  67. }
  68. /**
  69. * {@inheritDoc}
  70. */
  71. public String toString() {
  72. return "GraphicsImageBegin(x=" + x + ",y=" + y
  73. + ",width=" + width + ",height=" + height + ")";
  74. }
  75. }