[aXSL-commit] SF.net SVN: axsl:[2977] trunk/axsl/axsl-pdf/src/main/ java/org/axsl/pdf
An API for XSL-FO.
Status: Alpha
Brought to you by:
victormote
|
From: <vic...@us...> - 2026-03-06 14:18:30
|
Revision: 2977
http://sourceforge.net/p/axsl/code/2977
Author: victormote
Date: 2026-03-06 14:18:28 +0000 (Fri, 06 Mar 2026)
Log Message:
-----------
Move interfaces for interactive features to new package. Rename destination-related interaces for clarity.
Modified Paths:
--------------
trunk/axsl/axsl-pdf/src/main/java/org/axsl/pdf/PdfAction.java
trunk/axsl/axsl-pdf/src/main/java/org/axsl/pdf/PdfDocument.java
trunk/axsl/axsl-pdf/src/main/java/org/axsl/pdf/PdfPage.java
Added Paths:
-----------
trunk/axsl/axsl-pdf/src/main/java/org/axsl/pdf/interact/
trunk/axsl/axsl-pdf/src/main/java/org/axsl/pdf/interact/PdfDestination.java
trunk/axsl/axsl-pdf/src/main/java/org/axsl/pdf/interact/PdfExplicitDestination.java
trunk/axsl/axsl-pdf/src/main/java/org/axsl/pdf/interact/PdfNamedDestination.java
trunk/axsl/axsl-pdf/src/main/java/org/axsl/pdf/interact/PdfOutlineItem.java
trunk/axsl/axsl-pdf/src/main/java/org/axsl/pdf/interact/PdfOutlineParent.java
trunk/axsl/axsl-pdf/src/main/java/org/axsl/pdf/interact/PdfOutlineTarget.java
trunk/axsl/axsl-pdf/src/main/java/org/axsl/pdf/interact/package-info.java
Removed Paths:
-------------
trunk/axsl/axsl-pdf/src/main/java/org/axsl/pdf/PdfDestination.java
trunk/axsl/axsl-pdf/src/main/java/org/axsl/pdf/PdfDestinationExplicit.java
trunk/axsl/axsl-pdf/src/main/java/org/axsl/pdf/PdfDestinationNamed.java
trunk/axsl/axsl-pdf/src/main/java/org/axsl/pdf/PdfOutlineItem.java
trunk/axsl/axsl-pdf/src/main/java/org/axsl/pdf/PdfOutlineParent.java
trunk/axsl/axsl-pdf/src/main/java/org/axsl/pdf/PdfOutlineTarget.java
Modified: trunk/axsl/axsl-pdf/src/main/java/org/axsl/pdf/PdfAction.java
===================================================================
--- trunk/axsl/axsl-pdf/src/main/java/org/axsl/pdf/PdfAction.java 2026-03-06 13:10:28 UTC (rev 2976)
+++ trunk/axsl/axsl-pdf/src/main/java/org/axsl/pdf/PdfAction.java 2026-03-06 14:18:28 UTC (rev 2977)
@@ -23,6 +23,8 @@
package org.axsl.pdf;
+import org.axsl.pdf.interact.PdfOutlineTarget;
+
/**
* Super-interface for all PDF action types.
*/
Deleted: trunk/axsl/axsl-pdf/src/main/java/org/axsl/pdf/PdfDestination.java
===================================================================
--- trunk/axsl/axsl-pdf/src/main/java/org/axsl/pdf/PdfDestination.java 2026-03-06 13:10:28 UTC (rev 2976)
+++ trunk/axsl/axsl-pdf/src/main/java/org/axsl/pdf/PdfDestination.java 2026-03-06 14:18:28 UTC (rev 2977)
@@ -1,31 +0,0 @@
-/*
- * Copyright 2022 The aXSL Project.
- * http://www.axsl.org
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/*
- * $LastChangedRevision$
- * $LastChangedDate$
- * $LastChangedBy$
- */
-
-package org.axsl.pdf;
-
-/**
- * Super-interface for destination types.
- */
-public interface PdfDestination extends PdfOutlineTarget {
-
-}
Deleted: trunk/axsl/axsl-pdf/src/main/java/org/axsl/pdf/PdfDestinationExplicit.java
===================================================================
--- trunk/axsl/axsl-pdf/src/main/java/org/axsl/pdf/PdfDestinationExplicit.java 2026-03-06 13:10:28 UTC (rev 2976)
+++ trunk/axsl/axsl-pdf/src/main/java/org/axsl/pdf/PdfDestinationExplicit.java 2026-03-06 14:18:28 UTC (rev 2977)
@@ -1,133 +0,0 @@
-/*
- * Copyright 2006 The aXSL Project.
- * http://www.axsl.org
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/*
- * $LastChangedRevision$
- * $LastChangedDate$
- * $LastChangedBy$
- */
-
-package org.axsl.pdf;
-
-/**
- * A PDF explicit destination.
- */
-public interface PdfDestinationExplicit extends PdfDestination {
-
- /**
- * Enumeration of destination positioning and zoom types.
- * Destinations are tied to a page, and the {@link PositionAndZoom} type tells the PDF viewer what portion of that
- * page should be shown in the viewer when that destination is activated.
- * @see "PDF Reference, Sixth Edition, Section 8.2.1, Table 8.2."
- */
- enum PositionAndZoom {
- /** Requires "left" and "top" coordinates specifying the upper left corner of the window, and an explicit "zoom"
- * factor. A null value for any parameter or a zero value for "zoom" indicates that the specific parameter
- * should remain unchanged. */
- XYZ("/XYZ"),
-
- /** Requires no parameters. Zoom should be set to the maximum value that allows the entire page to fit within
- * the display window both horizontally and vertically. */
- FIT("/Fit"),
-
- /** Requires "top" coordinate specifying the top edge of the window. Zoom should be set to the maximum value
- * that allows the entire width of the page to be visible. A null "top" indicates that the top should remain
- * unchanged. */
- FIT_H("/FitH"),
-
- /** Requires "left" coordinate specifying the left edge of the window. Zoom should be set to the maximum value
- * that allows the entire height of the page to be visible. A null "left" indicates that the left should remain
- * unchanged. */
- FIT_V("/FitV"),
-
- /** Requires specification of an entire rectangle for the display area. Zoom is set to the maximum value that
- * allows that rectangle to be fully visible. None of the coordinates should be null. */
- FIT_R("/FitR"),
-
- /** Requires no parameters. Zoom should be set to the maximum value that allows the entire bounding box of the
- * page to fit within the display window both horizontally and vertically. */
- FIT_B("/FitB"),
-
- /** Requires "top" coordinate specifying the top edge of the window. Zoom should be set to the maximum value
- * that allows the entire width of the bounding box of the page to be visible. A null "top" indicates that the
- * top should remain unchanged. */
- FIT_BH("/FitBH"),
-
- /** Requires "left" coordinate specifying the left edge of the window. Zoom should be set to the maximum value
- * that allows the entire height of the bounding box of the page to be visible. A null "left" indicates that the
- * left should remain unchanged. */
- FIT_BV("/FitBV");
-
- /** The PDF name for this positioning/zoom. */
- private String pdfName;
-
- /**
- * Constructor.
- * @param pdfName The PDF name for this positioning/zoom.
- */
- PositionAndZoom(final String pdfName) {
- this.pdfName = pdfName;
- }
-
- /**
- * Returns the PDF name for this positioning/zoom.
- * @return The PDF name for this positioning/zoom.
- */
- public String getPdfName() {
- return this.pdfName;
- }
-
- }
-
- /**
- * The coordinates for the display window of a PDF explicit destination.
- * These can be used for either the page dimensions or the page bounding box dimensions, as specified in
- * {@link PdfDestinationExplicit.PositionAndZoom}.
- */
- interface Coordinates {
-
- /**
- * The left coordinate of the display window, either "null" or a number of points.
- * A null value implies that the coordinate should remain unchanged from its current state.
- * @return The left coordinate of the display window.
- */
- String getLeft();
-
- /**
- * The bottom coordinate of the display window, either "null" or a number of points.
- * A null value implies that the coordinate should remain unchanged from its current state.
- * @return The bottom coordinate of the display window.
- */
- String getBottom();
-
- /**
- * The right coordinate of the display window, either "null" or a number of points.
- * A null value implies that the coordinate should remain unchanged from its current state.
- * @return The right coordinate of the display window.
- */
- String getRight();
-
- /**
- * The top coordinate of the display window, either "null" or a number of points.
- * A null value implies that the coordinate should remain unchanged from its current state.
- * @return The top coordinate of the display window.
- */
- String getTop();
-
- }
-
-}
Deleted: trunk/axsl/axsl-pdf/src/main/java/org/axsl/pdf/PdfDestinationNamed.java
===================================================================
--- trunk/axsl/axsl-pdf/src/main/java/org/axsl/pdf/PdfDestinationNamed.java 2026-03-06 13:10:28 UTC (rev 2976)
+++ trunk/axsl/axsl-pdf/src/main/java/org/axsl/pdf/PdfDestinationNamed.java 2026-03-06 14:18:28 UTC (rev 2977)
@@ -1,43 +0,0 @@
-/*
- * Copyright 2022 The aXSL Project.
- * http://www.axsl.org
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/*
- * $LastChangedRevision$
- * $LastChangedDate$
- * $LastChangedBy$
- */
-
-package org.axsl.pdf;
-
-/**
- * A PDF named destination.
- */
-public interface PdfDestinationNamed extends PdfDestination {
-
- /**
- * Returns the name of the referenced destination.
- * @return The name of the referenced destination.
- */
- String getName();
-
- /**
- * Returns the destination referenced by this named destination.
- * @return The referenced explicit destination.
- */
- PdfDestinationExplicit getReferencedDestination();
-
-}
Modified: trunk/axsl/axsl-pdf/src/main/java/org/axsl/pdf/PdfDocument.java
===================================================================
--- trunk/axsl/axsl-pdf/src/main/java/org/axsl/pdf/PdfDocument.java 2026-03-06 13:10:28 UTC (rev 2976)
+++ trunk/axsl/axsl-pdf/src/main/java/org/axsl/pdf/PdfDocument.java 2026-03-06 14:18:28 UTC (rev 2977)
@@ -24,6 +24,8 @@
package org.axsl.pdf;
import org.axsl.pdf.graphics.pattern.PdfShadingPattern;
+import org.axsl.pdf.interact.PdfNamedDestination;
+import org.axsl.pdf.interact.PdfOutlineParent;
import java.awt.Color;
import java.awt.MultipleGradientPaint;
@@ -142,6 +144,6 @@
* @param name The name of the destination to be returned.
* @return The registered named destination matching {@code name}, or null if the name has not been registered.
*/
- PdfDestinationNamed getNamedDestination(String name);
+ PdfNamedDestination getNamedDestination(String name);
}
Deleted: trunk/axsl/axsl-pdf/src/main/java/org/axsl/pdf/PdfOutlineItem.java
===================================================================
--- trunk/axsl/axsl-pdf/src/main/java/org/axsl/pdf/PdfOutlineItem.java 2026-03-06 13:10:28 UTC (rev 2976)
+++ trunk/axsl/axsl-pdf/src/main/java/org/axsl/pdf/PdfOutlineItem.java 2026-03-06 14:18:28 UTC (rev 2977)
@@ -1,31 +0,0 @@
-/*
- * Copyright 2006 The aXSL Project.
- * http://www.axsl.org
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/*
- * $LastChangedRevision$
- * $LastChangedDate$
- * $LastChangedBy$
- */
-
-package org.axsl.pdf;
-
-/**
- * A PDF Outline Item.
- */
-public interface PdfOutlineItem extends PdfOutlineParent {
-
-}
Deleted: trunk/axsl/axsl-pdf/src/main/java/org/axsl/pdf/PdfOutlineParent.java
===================================================================
--- trunk/axsl/axsl-pdf/src/main/java/org/axsl/pdf/PdfOutlineParent.java 2026-03-06 13:10:28 UTC (rev 2976)
+++ trunk/axsl/axsl-pdf/src/main/java/org/axsl/pdf/PdfOutlineParent.java 2026-03-06 14:18:28 UTC (rev 2977)
@@ -1,45 +0,0 @@
-/*
- * Copyright 2006 The aXSL Project.
- * http://www.axsl.org
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/*
- * $LastChangedRevision$
- * $LastChangedDate$
- * $LastChangedBy$
- */
-
-package org.axsl.pdf;
-
-import java.awt.Color;
-
-/**
- * A PDF Outline Parent.
- */
-public interface PdfOutlineParent {
-
- /**
- * Create an implementation-specific PDFOutlineItem instance that is a child of this.
- * @param titleText The text which should be displayed in the bookmarks outline.
- * @param target The destination to be displayed or the action to be performed when this outline item is activated.
- * @param color The color in which the title text should be displayed.
- * @param italic True if the title text should be displayed in italic.
- * @param bold True if the title text should be displayed bold.
- * @return An implementation-specific PDFOutlineItem instance.
- */
- PdfOutlineItem createPdfOutlineItem(String titleText, PdfOutlineTarget target, Color color, boolean italic,
- boolean bold);
-
-}
Deleted: trunk/axsl/axsl-pdf/src/main/java/org/axsl/pdf/PdfOutlineTarget.java
===================================================================
--- trunk/axsl/axsl-pdf/src/main/java/org/axsl/pdf/PdfOutlineTarget.java 2026-03-06 13:10:28 UTC (rev 2976)
+++ trunk/axsl/axsl-pdf/src/main/java/org/axsl/pdf/PdfOutlineTarget.java 2026-03-06 14:18:28 UTC (rev 2977)
@@ -1,31 +0,0 @@
-/*
- * Copyright 2022 The aXSL Project.
- * http://www.axsl.org
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/*
- * $LastChangedRevision$
- * $LastChangedDate$
- * $LastChangedBy$
- */
-
-package org.axsl.pdf;
-
-/**
- * Super-interface for types that can be targets of a {@link PdfOutlineItem}, aka bookmark.
- */
-public interface PdfOutlineTarget {
-
-}
Modified: trunk/axsl/axsl-pdf/src/main/java/org/axsl/pdf/PdfPage.java
===================================================================
--- trunk/axsl/axsl-pdf/src/main/java/org/axsl/pdf/PdfPage.java 2026-03-06 13:10:28 UTC (rev 2976)
+++ trunk/axsl/axsl-pdf/src/main/java/org/axsl/pdf/PdfPage.java 2026-03-06 14:18:28 UTC (rev 2977)
@@ -23,6 +23,9 @@
package org.axsl.pdf;
+import org.axsl.pdf.interact.PdfDestination;
+import org.axsl.pdf.interact.PdfExplicitDestination;
+
import java.awt.geom.Rectangle2D;
import java.math.BigDecimal;
@@ -49,7 +52,7 @@
PdfLink createLink(Rectangle2D rect, String destination, boolean externalLink);
/**
- * Create an implementation-specific {@link PdfDestinationExplicit} and attach it to this page, optionally
+ * Create an implementation-specific {@link PdfExplicitDestination} and attach it to this page, optionally
* registering a name for it as well.
* @param positionAndZoom The general instructions for the location and zoom of the display of the destination.
* @param coordinates The coordinates specifying the position and/or size of the display window.
@@ -56,7 +59,7 @@
* Depending on {@code positionAndZoom}, some or all of the information in this rectangle may be ignored.
* @param explicitZoom The explicit zoom factor to be used.
* This is ignored for all values of {@code positionAndZoom} except
- * {@link PdfDestinationExplicit.PositionAndZoom#XYZ}.
+ * {@link PdfExplicitDestination.PositionAndZoom#XYZ}.
* A value of 2.5 indicates that the zoom should be set to 250%.
* A value of null indicates that the zoom should remain unchanged from its current value.
* @param name If not null, this newly-created destination will be associated with a name by which it can be
@@ -64,8 +67,8 @@
* @return An implementation-specific instance of {@link PdfDestination}, either explicit or named.
* @throws PdfException If there is already a destination registered with {@code name}.
*/
- PdfDestination createDestination(PdfDestinationExplicit.PositionAndZoom positionAndZoom,
- PdfDestinationExplicit.Coordinates coordinates, Float explicitZoom, String name) throws PdfException;
+ PdfDestination createDestination(PdfExplicitDestination.PositionAndZoom positionAndZoom,
+ PdfExplicitDestination.Coordinates coordinates, Float explicitZoom, String name) throws PdfException;
/**
* Sets the default user space units for this page, in multiples of 1/72 inch.
Copied: trunk/axsl/axsl-pdf/src/main/java/org/axsl/pdf/interact/PdfDestination.java (from rev 2941, trunk/axsl/axsl-pdf/src/main/java/org/axsl/pdf/PdfDestination.java)
===================================================================
--- trunk/axsl/axsl-pdf/src/main/java/org/axsl/pdf/interact/PdfDestination.java (rev 0)
+++ trunk/axsl/axsl-pdf/src/main/java/org/axsl/pdf/interact/PdfDestination.java 2026-03-06 14:18:28 UTC (rev 2977)
@@ -0,0 +1,31 @@
+/*
+ * Copyright 2022 The aXSL Project.
+ * http://www.axsl.org
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/*
+ * $LastChangedRevision$
+ * $LastChangedDate$
+ * $LastChangedBy$
+ */
+
+package org.axsl.pdf.interact;
+
+/**
+ * Super-interface for destination types.
+ */
+public interface PdfDestination extends PdfOutlineTarget {
+
+}
Copied: trunk/axsl/axsl-pdf/src/main/java/org/axsl/pdf/interact/PdfExplicitDestination.java (from rev 2976, trunk/axsl/axsl-pdf/src/main/java/org/axsl/pdf/PdfDestinationExplicit.java)
===================================================================
--- trunk/axsl/axsl-pdf/src/main/java/org/axsl/pdf/interact/PdfExplicitDestination.java (rev 0)
+++ trunk/axsl/axsl-pdf/src/main/java/org/axsl/pdf/interact/PdfExplicitDestination.java 2026-03-06 14:18:28 UTC (rev 2977)
@@ -0,0 +1,133 @@
+/*
+ * Copyright 2006 The aXSL Project.
+ * http://www.axsl.org
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/*
+ * $LastChangedRevision$
+ * $LastChangedDate$
+ * $LastChangedBy$
+ */
+
+package org.axsl.pdf.interact;
+
+/**
+ * A PDF explicit destination.
+ */
+public interface PdfExplicitDestination extends PdfDestination {
+
+ /**
+ * Enumeration of destination positioning and zoom types.
+ * Destinations are tied to a page, and the {@link PositionAndZoom} type tells the PDF viewer what portion of that
+ * page should be shown in the viewer when that destination is activated.
+ * @see "PDF Reference, Sixth Edition, Section 8.2.1, Table 8.2."
+ */
+ enum PositionAndZoom {
+ /** Requires "left" and "top" coordinates specifying the upper left corner of the window, and an explicit "zoom"
+ * factor. A null value for any parameter or a zero value for "zoom" indicates that the specific parameter
+ * should remain unchanged. */
+ XYZ("/XYZ"),
+
+ /** Requires no parameters. Zoom should be set to the maximum value that allows the entire page to fit within
+ * the display window both horizontally and vertically. */
+ FIT("/Fit"),
+
+ /** Requires "top" coordinate specifying the top edge of the window. Zoom should be set to the maximum value
+ * that allows the entire width of the page to be visible. A null "top" indicates that the top should remain
+ * unchanged. */
+ FIT_H("/FitH"),
+
+ /** Requires "left" coordinate specifying the left edge of the window. Zoom should be set to the maximum value
+ * that allows the entire height of the page to be visible. A null "left" indicates that the left should remain
+ * unchanged. */
+ FIT_V("/FitV"),
+
+ /** Requires specification of an entire rectangle for the display area. Zoom is set to the maximum value that
+ * allows that rectangle to be fully visible. None of the coordinates should be null. */
+ FIT_R("/FitR"),
+
+ /** Requires no parameters. Zoom should be set to the maximum value that allows the entire bounding box of the
+ * page to fit within the display window both horizontally and vertically. */
+ FIT_B("/FitB"),
+
+ /** Requires "top" coordinate specifying the top edge of the window. Zoom should be set to the maximum value
+ * that allows the entire width of the bounding box of the page to be visible. A null "top" indicates that the
+ * top should remain unchanged. */
+ FIT_BH("/FitBH"),
+
+ /** Requires "left" coordinate specifying the left edge of the window. Zoom should be set to the maximum value
+ * that allows the entire height of the bounding box of the page to be visible. A null "left" indicates that the
+ * left should remain unchanged. */
+ FIT_BV("/FitBV");
+
+ /** The PDF name for this positioning/zoom. */
+ private String pdfName;
+
+ /**
+ * Constructor.
+ * @param pdfName The PDF name for this positioning/zoom.
+ */
+ PositionAndZoom(final String pdfName) {
+ this.pdfName = pdfName;
+ }
+
+ /**
+ * Returns the PDF name for this positioning/zoom.
+ * @return The PDF name for this positioning/zoom.
+ */
+ public String getPdfName() {
+ return this.pdfName;
+ }
+
+ }
+
+ /**
+ * The coordinates for the display window of a PDF explicit destination.
+ * These can be used for either the page dimensions or the page bounding box dimensions, as specified in
+ * {@link PdfExplicitDestination.PositionAndZoom}.
+ */
+ interface Coordinates {
+
+ /**
+ * The left coordinate of the display window, either "null" or a number of points.
+ * A null value implies that the coordinate should remain unchanged from its current state.
+ * @return The left coordinate of the display window.
+ */
+ String getLeft();
+
+ /**
+ * The bottom coordinate of the display window, either "null" or a number of points.
+ * A null value implies that the coordinate should remain unchanged from its current state.
+ * @return The bottom coordinate of the display window.
+ */
+ String getBottom();
+
+ /**
+ * The right coordinate of the display window, either "null" or a number of points.
+ * A null value implies that the coordinate should remain unchanged from its current state.
+ * @return The right coordinate of the display window.
+ */
+ String getRight();
+
+ /**
+ * The top coordinate of the display window, either "null" or a number of points.
+ * A null value implies that the coordinate should remain unchanged from its current state.
+ * @return The top coordinate of the display window.
+ */
+ String getTop();
+
+ }
+
+}
Copied: trunk/axsl/axsl-pdf/src/main/java/org/axsl/pdf/interact/PdfNamedDestination.java (from rev 2941, trunk/axsl/axsl-pdf/src/main/java/org/axsl/pdf/PdfDestinationNamed.java)
===================================================================
--- trunk/axsl/axsl-pdf/src/main/java/org/axsl/pdf/interact/PdfNamedDestination.java (rev 0)
+++ trunk/axsl/axsl-pdf/src/main/java/org/axsl/pdf/interact/PdfNamedDestination.java 2026-03-06 14:18:28 UTC (rev 2977)
@@ -0,0 +1,43 @@
+/*
+ * Copyright 2022 The aXSL Project.
+ * http://www.axsl.org
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/*
+ * $LastChangedRevision$
+ * $LastChangedDate$
+ * $LastChangedBy$
+ */
+
+package org.axsl.pdf.interact;
+
+/**
+ * A PDF named destination.
+ */
+public interface PdfNamedDestination extends PdfDestination {
+
+ /**
+ * Returns the name of the referenced destination.
+ * @return The name of the referenced destination.
+ */
+ String getName();
+
+ /**
+ * Returns the destination referenced by this named destination.
+ * @return The referenced explicit destination.
+ */
+ PdfExplicitDestination getReferencedDestination();
+
+}
Copied: trunk/axsl/axsl-pdf/src/main/java/org/axsl/pdf/interact/PdfOutlineItem.java (from rev 2941, trunk/axsl/axsl-pdf/src/main/java/org/axsl/pdf/PdfOutlineItem.java)
===================================================================
--- trunk/axsl/axsl-pdf/src/main/java/org/axsl/pdf/interact/PdfOutlineItem.java (rev 0)
+++ trunk/axsl/axsl-pdf/src/main/java/org/axsl/pdf/interact/PdfOutlineItem.java 2026-03-06 14:18:28 UTC (rev 2977)
@@ -0,0 +1,31 @@
+/*
+ * Copyright 2006 The aXSL Project.
+ * http://www.axsl.org
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/*
+ * $LastChangedRevision$
+ * $LastChangedDate$
+ * $LastChangedBy$
+ */
+
+package org.axsl.pdf.interact;
+
+/**
+ * A PDF Outline Item.
+ */
+public interface PdfOutlineItem extends PdfOutlineParent {
+
+}
Copied: trunk/axsl/axsl-pdf/src/main/java/org/axsl/pdf/interact/PdfOutlineParent.java (from rev 2941, trunk/axsl/axsl-pdf/src/main/java/org/axsl/pdf/PdfOutlineParent.java)
===================================================================
--- trunk/axsl/axsl-pdf/src/main/java/org/axsl/pdf/interact/PdfOutlineParent.java (rev 0)
+++ trunk/axsl/axsl-pdf/src/main/java/org/axsl/pdf/interact/PdfOutlineParent.java 2026-03-06 14:18:28 UTC (rev 2977)
@@ -0,0 +1,45 @@
+/*
+ * Copyright 2006 The aXSL Project.
+ * http://www.axsl.org
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/*
+ * $LastChangedRevision$
+ * $LastChangedDate$
+ * $LastChangedBy$
+ */
+
+package org.axsl.pdf.interact;
+
+import java.awt.Color;
+
+/**
+ * A PDF Outline Parent.
+ */
+public interface PdfOutlineParent {
+
+ /**
+ * Create an implementation-specific PDFOutlineItem instance that is a child of this.
+ * @param titleText The text which should be displayed in the bookmarks outline.
+ * @param target The destination to be displayed or the action to be performed when this outline item is activated.
+ * @param color The color in which the title text should be displayed.
+ * @param italic True if the title text should be displayed in italic.
+ * @param bold True if the title text should be displayed bold.
+ * @return An implementation-specific PDFOutlineItem instance.
+ */
+ PdfOutlineItem createPdfOutlineItem(String titleText, PdfOutlineTarget target, Color color, boolean italic,
+ boolean bold);
+
+}
Copied: trunk/axsl/axsl-pdf/src/main/java/org/axsl/pdf/interact/PdfOutlineTarget.java (from rev 2941, trunk/axsl/axsl-pdf/src/main/java/org/axsl/pdf/PdfOutlineTarget.java)
===================================================================
--- trunk/axsl/axsl-pdf/src/main/java/org/axsl/pdf/interact/PdfOutlineTarget.java (rev 0)
+++ trunk/axsl/axsl-pdf/src/main/java/org/axsl/pdf/interact/PdfOutlineTarget.java 2026-03-06 14:18:28 UTC (rev 2977)
@@ -0,0 +1,31 @@
+/*
+ * Copyright 2022 The aXSL Project.
+ * http://www.axsl.org
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/*
+ * $LastChangedRevision$
+ * $LastChangedDate$
+ * $LastChangedBy$
+ */
+
+package org.axsl.pdf.interact;
+
+/**
+ * Super-interface for types that can be targets of a {@link PdfOutlineItem}, aka bookmark.
+ */
+public interface PdfOutlineTarget {
+
+}
Added: trunk/axsl/axsl-pdf/src/main/java/org/axsl/pdf/interact/package-info.java
===================================================================
--- trunk/axsl/axsl-pdf/src/main/java/org/axsl/pdf/interact/package-info.java (rev 0)
+++ trunk/axsl/axsl-pdf/src/main/java/org/axsl/pdf/interact/package-info.java 2026-03-06 14:18:28 UTC (rev 2977)
@@ -0,0 +1,28 @@
+/*
+ * Copyright 2026 The aXSL Project.
+ * http://www.axsl.org
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/*
+ * $LastChangedRevision$
+ * $LastChangedDate$
+ * $LastChangedBy$
+ */
+
+/**
+ * Classes for the PDF interactive features.
+ * @see "PDF Reference, Sixth Edition, Chapter 8."
+ */
+package org.axsl.pdf.interact;
Property changes on: trunk/axsl/axsl-pdf/src/main/java/org/axsl/pdf/interact/package-info.java
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+Author Date Id Rev
\ No newline at end of property
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|