Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125
  1. /*
  2. * $Id$
  3. * Copyright (C) 2001 The Apache Software Foundation. All rights reserved.
  4. * For details on use and redistribution please refer to the
  5. * LICENSE file included with these sources.
  6. */
  7. package org.apache.fop.svg;
  8. import org.apache.fop.fo.FOUserAgent;
  9. import org.apache.batik.bridge.*;
  10. import org.apache.batik.swing.svg.*;
  11. import org.apache.batik.swing.gvt.*;
  12. import org.apache.batik.gvt.*;
  13. import org.apache.batik.gvt.renderer.*;
  14. import org.apache.batik.gvt.filter.*;
  15. import org.apache.batik.gvt.event.*;
  16. import org.apache.avalon.framework.logger.Logger;
  17. import org.w3c.dom.*;
  18. import org.w3c.dom.svg.*;
  19. import org.w3c.dom.css.*;
  20. import org.w3c.dom.svg.SVGLength;
  21. // Java
  22. import java.io.IOException;
  23. import java.io.OutputStream;
  24. import java.awt.geom.AffineTransform;
  25. import java.awt.geom.Dimension2D;
  26. import java.awt.Point;
  27. import java.awt.RenderingHints;
  28. import java.awt.Dimension;
  29. public class SVGUserAgent extends UserAgentAdapter {
  30. AffineTransform currentTransform = null;
  31. Logger log;
  32. FOUserAgent userAgent;
  33. /**
  34. * Creates a new SVGUserAgent.
  35. */
  36. public SVGUserAgent(FOUserAgent ua, AffineTransform at) {
  37. currentTransform = at;
  38. userAgent = ua;
  39. log = userAgent.getLogger();
  40. }
  41. /**
  42. * Displays an error message.
  43. */
  44. public void displayError(String message) {
  45. log.error(message);
  46. }
  47. /**
  48. * Displays an error resulting from the specified Exception.
  49. */
  50. public void displayError(Exception ex) {
  51. log.error("SVG Error" + ex.getMessage(), ex);
  52. }
  53. /**
  54. * Displays a message in the User Agent interface.
  55. * The given message is typically displayed in a status bar.
  56. */
  57. public void displayMessage(String message) {
  58. log.info(message);
  59. }
  60. /**
  61. * Shows an alert dialog box.
  62. */
  63. public void showAlert(String message) {
  64. log.warn(message);
  65. }
  66. /**
  67. * Returns a customized the pixel to mm factor.
  68. */
  69. public float getPixelToMM() {
  70. return userAgent.getPixelToMM();
  71. }
  72. /**
  73. * Returns the language settings.
  74. */
  75. public String getLanguages() {
  76. return "en"; // userLanguages;
  77. }
  78. public String getMedia() {
  79. return "print";
  80. }
  81. /**
  82. * Returns the user stylesheet uri.
  83. * @return null if no user style sheet was specified.
  84. */
  85. public String getUserStyleSheetURI() {
  86. return null; // userStyleSheetURI;
  87. }
  88. /**
  89. * Returns the class name of the XML parser.
  90. */
  91. public String getXMLParserClassName() {
  92. return org.apache.fop.apps.Driver.getParserClassName();
  93. }
  94. public boolean isXMLParserValidating() {
  95. return false;
  96. }
  97. public AffineTransform getTransform() {
  98. return currentTransform;
  99. }
  100. public Dimension2D getViewportSize() {
  101. return new Dimension(100, 100);
  102. }
  103. }