Date: Saturday December 29, 2001 @ 8:45
Author: matt
Update of /home/cvs/AxKit/lib/Apache/AxKit/Language
In directory ted:/home/matt/Perl/AxKit/lib/Apache/AxKit/Language
Modified Files:
AxPoint.pm
Log Message:
Michael's patches to allow sub-sections with slideshows
Index: AxPoint.pm
===================================================================
RCS file: /home/cvs/AxKit/lib/Apache/AxKit/Language/AxPoint.pm,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -r1.11 -r1.12
--- AxPoint.pm 2001/12/28 23:14:02 1.11
+++ AxPoint.pm 2001/12/29 08:45:59 1.12
@@ -1,4 +1,4 @@
-# $Id: AxPoint.pm,v 1.11 2001/12/28 23:14:02 matt Exp $
+# $Id: AxPoint.pm,v 1.12 2001/12/29 08:45:59 matt Exp $
package Apache::AxKit::Language::AxPoint;
@@ -136,7 +136,7 @@
my $root_bookmark = $pdf->add_bookmark(text => "Title", open => 1);
$pdf->print_boxed($xpath->findvalue("/slideshow/title"),
- x => 20, y => 40, w => 570, h => 300, mode => "center");
+ x => 20, y => 50, w => 570, h => 300, mode => "center");
$pdf->print_line("");
$pdf->print_line("");
@@ -195,7 +195,22 @@
$pdf->set_font(face => "Helvetica", size => 24);
$pdf->print_boxed($slideset->findvalue("title"),
- x => 20, y => 40, w => 570, h => 200, mode => "center");
+ x => 20, y => 50, w => 570, h => 200, mode => "center");
+
+ my ($x, $y) = $pdf->get_text_pos();
+ $pdf->add_link(link => $slideset->findvalue('title/@href'),
+ x => 20, y => $y - 5, w => 570, h => 24) if
+$slideset->findvalue('title/@href');
+
+ if (my $subtitle = $slideset->findvalue("subtitle")) {
+ $pdf->set_font(face => "Helvetica", size => 18);
+ $pdf->print_boxed($subtitle,
+ x => 20, y => 20, w => 570, h => 200, mode => "center");
+ if (my $href = $slideset->findvalue('subtitle/@href')) {
+ ($x, $y) = $pdf->get_text_pos();
+ $pdf->add_link(link => $href,
+ x => 20, y => $y - 5, w => 570, h => 18);
+ }
+ }
foreach my $slide ($slideset->findnodes("slide")) {
process_slide($pdf, $new_page, $slide, $slide_bookmark);
@@ -229,6 +244,11 @@
$pdf->set_font(face => "Helvetica", size => 24);
$pdf->print_boxed($title, x => 20, y => 350,
w => 570, h => 70, mode => "center");
+
+ my ($x, $y) = $pdf->get_text_pos();
+ $pdf->add_link(link => $slide->findvalue('title/@href'),
+ x => 20, y => $y - 5, w => 570, h => 24) if
+$slide->findvalue('title/@href');
+
$h = 370;
}
@@ -245,13 +265,13 @@
}
if ($item->getName eq "point") {
- point($pdf, $item->findvalue('@level') || 1, $item->string_value);
+ point($pdf, $item->findvalue('@level') || 1, $item->string_value,
+$item->findvalue('@href'));
}
elsif ($item->getName eq 'source_code') {
source_code($pdf, $item->string_value, $item->getAttribute('fontsize'));
}
elsif ($item->getName eq 'image') {
- image($pdf, $item->getAttribute('scale') || 1, shift @images);
+ image($pdf, $item->getAttribute('scale') || 1, shift @images,
+$item->findvalue('@href'));
}
$new_do_up_to++;
@@ -321,7 +341,7 @@
}
sub point {
- my ($pdf, $level, $text) = @_;
+ my ($pdf, $level, $text, $href) = @_;
my ($x, $y) = $pdf->get_text_pos;
@@ -345,6 +365,9 @@
($x, $y) = $pdf->get_text_pos;
$pdf->print_boxed($text, x => $x, y => 0, w => 570 - $x, h => $y + $size);
+ $pdf->add_link(link => $href,
+ x => 20, y => $y - 5 + $level, w => 570, h => $size) if $href;
+
}
sub source_code {
@@ -361,7 +384,7 @@
}
sub image {
- my ($pdf, $scale, $file_handle) = @_;
+ my ($pdf, $scale, $file_handle, $href) = @_;
$pdf->print_line("");
@@ -379,6 +402,7 @@
x => (612 / 2) - ($imgw / 2),
y => ($y - $imgh),
scale => $scale);
+ $pdf->add_link(link => $href, x => 20, y => $y - $imgh, w => 570, h => $imgh) if
+$href;
$pdf->set_text_pos($x, $y - $imgh);
}
@@ -479,6 +503,7 @@
<slideset transition="blinds">
<title>Slidesets</title>
+ <subtitle>Slidesets can have subtitles</subtitle>
<slide>
<title>Slideset Example</title>
@@ -512,10 +537,21 @@
<slide>
<title>Pictures</title>
<point>Images are very simple, and always centered</point>
- <image scale="0.5">file.jpg</image>
+ <image scale="0.5" href="file_large.jpg">file.jpg</image>
</slide>
</slideset>
+
+ <slideset transition="dissolve">
+ <title href="http://foo.bar/aslidesettitle">Slideset titles can have href
+attributes</title>
+ <subtitle href="http://foo.bar/aslidesetsubtitle">Slideset subtitles
+too</subtitle>
+
+ <slide>
+ <title href="http://foo.bar/aslidetitle">Don't forget links for slide
+titles</title>
+ <point href="http://foo.bar/apoint">...and for points of various
+levels</point>
+ </slide>
+ </slideset>
+
</slideshow>
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]