Пример #1
0
 private static extern uint HPDF_Page_SetSlideShow(IntPtr page,
     HPdfTransitionStyle type, float disp_time, float trans_time);
Пример #2
0
    private static void PrintPage(HPdfPage page, string caption, HPdfFont font,
                                  HPdfTransitionStyle type, HPdfPage prev, HPdfPage next)
    {
        float           r = (float)rand.Next(255) / 255;
        float           g = (float)rand.Next(255) / 255;
        float           b = (float)rand.Next(255) / 255;
        HPdfRect        rect;
        HPdfDestination dst;
        HPdfAnnotation  annot;

        page.SetWidth(800);
        page.SetHeight(600);

        page.SetRGBFill(r, g, b);

        page.Rectangle(0, 0, 800, 600);
        page.Fill();

        page.SetRGBFill(1.0f - r, 1.0f - g, 1.0f - b);

        page.SetFontAndSize(font, 30);

        page.BeginText();
        page.SetTextMatrix(0.8f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f);
        page.TextOut(50, 530, caption);

        page.SetTextMatrix(1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f);
        page.SetFontAndSize(font, 20);
        page.TextOut(55, 300,
                     "Type \"Ctrl+L\" in order to return from full screen mode.");
        page.EndText();

        page.SetSlideShow(type, 5.0f, 1.0f);

        page.SetFontAndSize(font, 20);

        if (next != null)
        {
            page.BeginText();
            page.TextOut(680, 50, "Next=>");
            page.EndText();

            rect.left   = 680;
            rect.right  = 750;
            rect.top    = 70;
            rect.bottom = 50;
            dst         = next.CreateDestination();
            dst.SetFit();
            annot = page.CreateLinkAnnot(rect, dst);
            annot.SetBorderStyle(0, 0, 0);
            annot.SetHighlightMode(HPdfAnnotHighlightMode.HPDF_ANNOT_INVERT_BOX);
        }

        if (prev != null)
        {
            page.BeginText();
            page.TextOut(50, 50, "<=Prev");
            page.EndText();

            rect.left   = 50;
            rect.right  = 110;
            rect.top    = 70;
            rect.bottom = 50;
            dst         = prev.CreateDestination();
            dst.SetFit();
            annot = page.CreateLinkAnnot(rect, dst);
            annot.SetBorderStyle(0, 0, 0);
            annot.SetHighlightMode(HPdfAnnotHighlightMode.HPDF_ANNOT_INVERT_BOX);
        }
    }
Пример #3
0
 public void SetSlideShow(HPdfTransitionStyle type, float disp_time,
     float trans_time)
 {
     HPDF_Page_SetSlideShow(hpage, type, disp_time, trans_time);
 }
Пример #4
0
 private static void PrintPage (HPdfPage page, string caption, HPdfFont font,
         HPdfTransitionStyle type, HPdfPage prev, HPdfPage next) {
     float r = (float)rand.Next(255) / 255;
     float g = (float)rand.Next(255) / 255;
     float b = (float)rand.Next(255) / 255;
     HPdfRect rect;
     HPdfDestination dst;
     HPdfAnnotation annot;
 
     page.SetWidth (800);
     page.SetHeight (600);
 
     page.SetRGBFill (r, g, b);
 
     page.Rectangle ( 0, 0, 800, 600);
     page.Fill ();
 
     page.SetRGBFill (1.0f - r, 1.0f - g, 1.0f - b);
 
     page.SetFontAndSize (font, 30);
 
     page.BeginText ();
     page.SetTextMatrix (0.8f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f);   
     page.TextOut (50, 530, caption);
 
     page.SetTextMatrix (1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f);   
     page.SetFontAndSize (font, 20);
     page.TextOut (55, 300, 
             "Type \"Ctrl+L\" in order to return from full screen mode.");
     page.EndText ();
 
     page.SetSlideShow (type, 5.0f, 1.0f);
 
     page.SetFontAndSize (font, 20);
 
     if (next != null) {
         page.BeginText ();
         page.TextOut (680, 50, "Next=>");
         page.EndText ();
 
         rect.left = 680;
         rect.right = 750;
         rect.top = 70;
         rect.bottom = 50;
         dst = next.CreateDestination();
         dst.SetFit();
         annot = page.CreateLinkAnnot (rect, dst);
         annot.SetBorderStyle (0, 0, 0);
         annot.SetHighlightMode (HPdfAnnotHighlightMode.HPDF_ANNOT_INVERT_BOX);
     } 
 
     if (prev != null) {
         page.BeginText ();
         page.TextOut (50, 50, "<=Prev");
         page.EndText ();
 
         rect.left = 50;
         rect.right = 110;
         rect.top = 70;
         rect.bottom = 50;
         dst = prev.CreateDestination();
         dst.SetFit();
         annot = page.CreateLinkAnnot (rect, dst);
         annot.SetBorderStyle (0, 0, 0);
         annot.SetHighlightMode (HPdfAnnotHighlightMode.HPDF_ANNOT_INVERT_BOX);
     }
 }