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.

BorderColorCorrespondingRelative.java 1.9KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. /*
  2. *
  3. * Copyright 2004 The Apache Software Foundation.
  4. *
  5. * Licensed under the Apache License, Version 2.0 (the "License");
  6. * you may not use this file except in compliance with the License.
  7. * 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. * Created on 22/04/2004
  18. * $Id$
  19. */
  20. package org.apache.fop.fo.properties;
  21. import org.apache.fop.fo.FONode;
  22. import org.apache.fop.fo.PropNames;
  23. import org.apache.fop.fo.expr.PropertyException;
  24. /**
  25. * @author pbw
  26. * @version $Revision$ $Name$
  27. */
  28. public class BorderColorCorrespondingRelative extends BorderColorCorresponding {
  29. /** Array of absolute border color properties,
  30. * indexed by absolute edge constants */
  31. private static int[] absBorderColorProps = {
  32. PropNames.NO_PROPERTY
  33. ,PropNames.BORDER_TOP_COLOR
  34. ,PropNames.BORDER_BOTTOM_COLOR
  35. ,PropNames.BORDER_LEFT_COLOR
  36. ,PropNames.BORDER_RIGHT_COLOR
  37. };
  38. /**
  39. * Gets the absolute border color property corresponding to the given
  40. * relative edge
  41. * @param foNode the node on which the property is being defined
  42. * @param relativeEdge
  43. * @return the relative border color property index
  44. * @throws PropertyException
  45. */
  46. protected int getCorrespondingColorProperty(
  47. FONode foNode, int relativeEdge)
  48. throws PropertyException {
  49. int absEdge = WritingMode.getCorrespondingAbsoluteEdge(
  50. getWritingMode(foNode), relativeEdge);
  51. return absBorderColorProps[absEdge];
  52. }
  53. public boolean isCorrespondingRelative() {
  54. return true;
  55. }
  56. }