Add libwx-perl
[pkg-perl] / deb-src / libwx-perl / libwx-perl-0.96 / ext / media / XS / MediaCtrl.xsp
1 #############################################################################
2 ## Name:        ext/media/XS/MediaCtrl.xsp
3 ## Purpose:     XS++ for Wx::MediaCtrl
4 ## Author:      Mattia Barbon
5 ## Modified by:
6 ## Created:     04/03/2006
7 ## RCS-ID:      $Id: MediaCtrl.xsp 2079 2007-07-08 21:18:04Z mbarbon $
8 ## Copyright:   (c) 2006 Mattia Barbon
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 %module{Wx};
14
15 #include <wx/setup.h>
16
17 #if wxUSE_MEDIACTRL
18
19 #include <wx/mediactrl.h>
20 #include "cpp/overload.h"
21
22 #define wxDefaultValidatorPtr (wxValidator*)&wxDefaultValidator
23
24 %typemap{wxMediaCtrl*}{simple};
25 %typemap{wxMediaCtrlPlayerControls}{simple};
26 %typemap{wxMediaState}{simple};
27 %typemap{off_t}{simple};
28 %typemap{wxSeekMode}{simple};
29
30 %name{Wx::MediaCtrl} class wxMediaCtrl
31 {
32     %name{newDefault} wxMediaCtrl();
33     %name{newFull} wxMediaCtrl( wxWindow* parent,
34                                 wxWindowID id = wxID_ANY,
35                                 const wxString& filename = wxEmptyString,
36                                 const wxPoint& pos = wxDefaultPosition,
37                                 const wxSize& size = wxDefaultSize,
38                                 long style = 0,
39                                 const wxString& szBackend = wxEmptyString,
40                               const wxValidator& validator = wxDefaultValidatorPtr,
41                                 const wxString& name = wxPanelNameStr );
42
43     bool Create( wxWindow* parent,
44                  wxWindowID id = wxID_ANY,
45                  const wxString& filename = wxEmptyString,
46                  const wxPoint& pos = wxDefaultPosition,
47                  const wxSize& size = wxDefaultSize, long style = 0,
48                  const wxString& szBackend = wxEmptyString,
49                  const wxValidator& validator = wxDefaultValidatorPtr,
50                  const wxString& name = wxPanelNameStr );
51
52     off_t Tell();
53     off_t Length();
54     off_t Seek( off_t where, wxSeekMode whence );
55
56     wxMediaState GetState();
57
58     bool Play();
59     bool Pause();
60     bool Stop();             
61
62     double GetVolume();
63     bool SetVolume( double volume );
64
65     double GetPlaybackRate();
66     bool SetPlaybackRate( double volume );
67
68     bool ShowPlayerControls( wxMediaCtrlPlayerControls flags =
69                                  wxMEDIACTRLPLAYERCONTROLS_DEFAULT );
70 };
71
72 %{
73
74 void
75 new( ... )
76   PPCODE:
77     BEGIN_OVERLOAD()
78         MATCH_VOIDM_REDISP( newDefault )
79         MATCH_ANY_REDISP( newFull )
80     END_OVERLOAD( "Wx::Button::new" )
81
82 bool
83 wxMediaCtrl::LoadFile( file )
84     wxString file
85   CODE:
86     RETVAL = THIS->Load( file );
87   OUTPUT: RETVAL
88
89 bool
90 wxMediaCtrl::LoadURI( uri )
91     wxString uri
92   CODE:
93     RETVAL = THIS->Load( wxURI( uri ) );
94   OUTPUT: RETVAL
95
96 %}
97
98 #endif