X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;ds=sidebyside;f=projects%2Fmozilla%2Fvlcplugin.h;h=cb6132a6558672fcd6e21ee3f3a1542284734d42;hb=96b4ee1ee2da310e9ea951a29672a7609dbf831e;hp=413ea4079440f963c39b14785b265fb1a10e8b6c;hpb=1e9ff27051a05325fec8ce147d3979ae748836cb;p=vlc diff --git a/projects/mozilla/vlcplugin.h b/projects/mozilla/vlcplugin.h index 413ea40794..cb6132a655 100644 --- a/projects/mozilla/vlcplugin.h +++ b/projects/mozilla/vlcplugin.h @@ -1,11 +1,12 @@ /***************************************************************************** * vlcplugin.h: a VLC plugin for Mozilla ***************************************************************************** - * Copyright (C) 2002-2006 the VideoLAN team + * Copyright (C) 2002-2008 the VideoLAN team * $Id$ * * Authors: Samuel Hocevar - Damien Fouilleul + * Damien Fouilleul + * Jean-Paul Saman * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -28,7 +29,7 @@ #ifndef __VLCPLUGIN_H__ #define __VLCPLUGIN_H__ -#include +#include #include #include "control/nporuntime.h" @@ -53,7 +54,30 @@ # include # include # include + +# ifndef __APPLE__ +# include +# endif +#endif + +#ifndef __MAX +# define __MAX(a, b) ( ((a) > (b)) ? (a) : (b) ) #endif +#ifndef __MIN +# define __MIN(a, b) ( ((a) < (b)) ? (a) : (b) ) +#endif + +typedef enum vlc_toolbar_clicked_e { + clicked_Unknown = 0, + clicked_Play, + clicked_Pause, + clicked_Stop, + clicked_timeline, + clicked_Time, + clicked_Fullscreen, + clicked_Mute, + clicked_Unmute +} vlc_toolbar_clicked_t; class VlcPlugin { @@ -96,6 +120,15 @@ public: { return npcontrol; }; void setControlWindow(Window window) { npcontrol = window; }; + + void showToolbar(); + void hideToolbar(); + void redrawToolbar(); + void getToolbarSize(unsigned int *width, unsigned int *height) + { *width = i_tb_width; *height = i_tb_height; }; + int setToolbarSize(unsigned int width, unsigned int height) + { i_tb_width = width; i_tb_height = height; return 1; }; + vlc_toolbar_clicked_t getToolbarButtonClicked( int i_xpos, int i_ypos ); #endif uint16 i_npmode; /* either NP_EMBED or NP_FULL */ @@ -103,6 +136,7 @@ public: /* plugin properties */ int b_stream; int b_autoplay; + int b_toolbar; char * psz_target; private: @@ -122,7 +156,19 @@ private: #endif #if XP_UNIX unsigned int i_width, i_height; + unsigned int i_tb_width, i_tb_height; Window npvideo, npcontrol; + + XImage *p_btnPlay; + XImage *p_btnPause; + XImage *p_btnStop; + XImage *p_timeline; + XImage *p_btnTime; + XImage *p_btnFullscreen; + XImage *p_btnMute; + XImage *p_btnUnmute; + + int i_last_position; #endif }; @@ -174,6 +220,14 @@ private: "audio/3gpp2:3g2,3gpp2:3GPP2 audio;" \ "video/3gpp2:3g2,3gpp2:3GPP2 video;" \ /* DIVX */ \ - "video/divx:divx:DivX video;" + "video/divx:divx:DivX video;" \ + /* FLV */ \ + "video/flv:flv:FLV video;" \ + "video/x-flv:flv:FLV video;" \ + /* Matroska */ \ + "video/x-matroska:mkv:Matroska video;" \ + "audio/x-matroska:mka:Matroska audio;" + + #endif