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]

Reply via email to