Add libwx-perl
[pkg-perl] / deb-src / libwx-perl / libwx-perl-0.96 / ext / html / XS / HtmlDCRenderer.xs
1 #############################################################################
2 ## Name:        ext/html/XS/HtmlDCRenderer.xs
3 ## Purpose:     XS for Wx::HtmlDCRenderer
4 ## Author:      Mark Dootson
5 ## Modified by:
6 ## Created:     20/00/2006
7 ## RCS-ID:      $Id: HtmlDCRenderer.xs 2566 2009-05-17 14:10:06Z mbarbon $
8 ## Copyright:   (c) 2006, 2009 Mark Dootson
9 ## Licence:     This program is free software; you can redistribute it and/or
10 ##              modify it under the same terms as Perl itself
11 #############################################################################
12
13 #include <wx/html/htmprint.h>
14 #include <wx/dc.h>
15
16 MODULE=Wx PACKAGE=Wx::HtmlDCRenderer
17
18 wxHtmlDCRenderer*
19 wxHtmlDCRenderer::new()
20
21 static void
22 wxHtmlDCRenderer::CLONE()
23   CODE:
24     wxPli_thread_sv_clone( aTHX_ CLASS, (wxPliCloneSV)wxPli_detach_object );
25
26 ## // thread OK
27 void
28 wxHtmlDCRenderer::DESTROY()
29   CODE:
30     wxPli_thread_sv_unregister( aTHX_ "Wx::HtmlDCRenderer", THIS, ST(0) );
31     delete THIS;
32
33 void
34 wxHtmlDCRenderer::SetDC( dc, pixel_scale = 1.0 )
35     wxDC* dc
36     double pixel_scale
37
38 void 
39 wxHtmlDCRenderer::SetSize(width, height)
40     int width
41     int height
42     
43 void
44 wxHtmlDCRenderer::SetHtmlText( htmlText, basepath = wxEmptyString, isdir = 1 )
45     wxString htmlText
46     wxString basepath
47     bool isdir
48     
49 void
50 wxHtmlDCRenderer::SetFonts( normal_face, fixed_face, sizes )
51     wxString normal_face
52     wxString fixed_face
53     SV* sizes
54   PREINIT:
55     int* array;
56     int n = wxPli_av_2_intarray( aTHX_ sizes, &array );
57   CODE:
58     if( n != 7 )
59     {
60        delete[] array;
61        croak( "Specified %d sizes, 7 wanted", n );
62     }
63     THIS->SetFonts( normal_face, fixed_face, array );
64     delete[] array;        
65
66
67 #if WXPERL_W_VERSION_GE( 2, 7, 0 )
68
69 int 
70 wxHtmlDCRenderer::Render(x, y, pagebreaks, from = 0, dont_render = 0, to = INT_MAX)
71     int x
72     int y
73     wxArrayInt pagebreaks
74     int from
75     int dont_render
76     int to
77     
78 #else
79
80 int 
81 wxHtmlDCRenderer::Render(x, y, from = 0, dont_render = 0, maxHeight = INT_MAX, pagebreaks, number_of_pages = 0)
82     int x
83     int y
84     int from
85     int dont_render
86     int maxHeight
87     SV* pagebreaks
88     int number_of_pages
89   PREINIT:
90     int* array;
91     int n = wxPli_av_2_intarray( aTHX_ pagebreaks, &array );
92   CODE:
93     RETVAL = THIS->Render( x, y, from, dont_render, maxHeight,
94                            ( n == 0 ? NULL : array ), number_of_pages);
95     delete[] array;
96   OUTPUT: 
97     RETVAL
98
99 #endif                        
100
101 int
102 wxHtmlDCRenderer::GetTotalHeight()