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.

Footnote.java 2.4KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  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.area;
  19. // may combine with before float into a conditional area
  20. /**
  21. * The footnote-reference-area optionally generated by an fo:region-body.
  22. * This areas holds footnote areas and an optional separator area.
  23. * See fo:region-body definition in the XSL Rec for more information.
  24. */
  25. public class Footnote extends BlockParent {
  26. private static final long serialVersionUID = -7907428219886367161L;
  27. private Block separator;
  28. // footnote has an optional separator
  29. // and a list of sub block areas that can be added/removed
  30. // this is the relative position of the footnote inside
  31. // the body region
  32. private int top;
  33. /**
  34. * Set the separator area for this footnote.
  35. *
  36. * @param sep the separator area
  37. */
  38. public void setSeparator(Block sep) {
  39. separator = sep;
  40. }
  41. /**
  42. * Get the separator area for this footnote area.
  43. *
  44. * @return the separator area
  45. */
  46. public Block getSeparator() {
  47. return separator;
  48. }
  49. /**
  50. * Set the relative position of the footnote inside the body region.
  51. *
  52. * @param top the relative position.
  53. */
  54. public void setTop(int top) {
  55. this.top = top;
  56. }
  57. /**
  58. * Get the relative position of the footnote inside the body region.
  59. *
  60. * @return the relative position.
  61. */
  62. public int getTop() {
  63. return top;
  64. }
  65. /**
  66. * Add a block area as child to the footnote area
  67. *
  68. * @param child the block area.
  69. */
  70. @Override
  71. public void addBlock(Block child) {
  72. addChildArea(child);
  73. setBPD(getBPD() + child.getAllocBPD());
  74. }
  75. }