]> git.sesse.net Git - vlc/blobdiff - modules/gui/skins2/parser/builder_data.hpp
* skins2: support for custom popup menus, and win32 implementation.
[vlc] / modules / gui / skins2 / parser / builder_data.hpp
index c5cbe5c2d4cc9eb0dc816bb1b3b077bc317b5b11..95832775839872a57e2463cec98c517439e80e67 100644 (file)
@@ -56,12 +56,14 @@ m_tooltipfont( tooltipfont ), m_magnet( magnet ), m_alpha( alpha ), m_moveAlpha(
     /// Type definition
     struct Bitmap
     {
-        Bitmap( const string & id, const string & fileName, uint32_t alphaColor ):
-m_id( id ), m_fileName( fileName ), m_alphaColor( alphaColor ) {}
+        Bitmap( const string & id, const string & fileName, uint32_t alphaColor, int nbFrames, int fps ):
+m_id( id ), m_fileName( fileName ), m_alphaColor( alphaColor ), m_nbFrames( nbFrames ), m_fps( fps ) {}
 
         string m_id;
         string m_fileName;
         uint32_t m_alphaColor;
+        int m_nbFrames;
+        int m_fps;
     };
     /// List
     list<Bitmap> m_listBitmap;
@@ -69,8 +71,8 @@ m_id( id ), m_fileName( fileName ), m_alphaColor( alphaColor ) {}
     /// Type definition
     struct SubBitmap
     {
-        SubBitmap( const string & id, const string & parent, int x, int y, int width, int height ):
-m_id( id ), m_parent( parent ), m_x( x ), m_y( y ), m_width( width ), m_height( height ) {}
+        SubBitmap( const string & id, const string & parent, int x, int y, int width, int height, int nbFrames, int fps ):
+m_id( id ), m_parent( parent ), m_x( x ), m_y( y ), m_width( width ), m_height( height ), m_nbFrames( nbFrames ), m_fps( fps ) {}
 
         string m_id;
         string m_parent;
@@ -78,6 +80,8 @@ m_id( id ), m_parent( parent ), m_x( x ), m_y( y ), m_width( width ), m_height(
         int m_y;
         int m_width;
         int m_height;
+        int m_nbFrames;
+        int m_fps;
     };
     /// List
     list<SubBitmap> m_listSubBitmap;
@@ -108,6 +112,43 @@ m_id( id ), m_fontFile( fontFile ), m_size( size ) {}
     /// List
     list<Font> m_listFont;
 
+    /// Type definition
+    struct PopupMenu
+    {
+        PopupMenu( const string & id ):
+m_id( id ) {}
+
+        string m_id;
+    };
+    /// List
+    list<PopupMenu> m_listPopupMenu;
+
+    /// Type definition
+    struct MenuItem
+    {
+        MenuItem( const string & label, const string & action, int pos, const string & popupId ):
+m_label( label ), m_action( action ), m_pos( pos ), m_popupId( popupId ) {}
+
+        string m_label;
+        string m_action;
+        int m_pos;
+        string m_popupId;
+    };
+    /// List
+    list<MenuItem> m_listMenuItem;
+
+    /// Type definition
+    struct MenuSeparator
+    {
+        MenuSeparator( int pos, const string & popupId ):
+m_pos( pos ), m_popupId( popupId ) {}
+
+        int m_pos;
+        string m_popupId;
+    };
+    /// List
+    list<MenuSeparator> m_listMenuSeparator;
+
     /// Type definition
     struct Window
     {
@@ -217,8 +258,8 @@ m_id( id ), m_xPos( xPos ), m_yPos( yPos ), m_leftTop( leftTop ), m_rightBottom(
     /// Type definition
     struct Image
     {
-        Image( const string & id, int xPos, int yPos, const string & leftTop, const string & rightBottom, const string & visible, const string & bmpId, const string & actionId, const string & resize, const string & help, int layer, const string & windowId, const string & layoutId ):
-m_id( id ), m_xPos( xPos ), m_yPos( yPos ), m_leftTop( leftTop ), m_rightBottom( rightBottom ), m_visible( visible ), m_bmpId( bmpId ), m_actionId( actionId ), m_resize( resize ), m_help( help ), m_layer( layer ), m_windowId( windowId ), m_layoutId( layoutId ) {}
+        Image( const string & id, int xPos, int yPos, const string & leftTop, const string & rightBottom, const string & visible, const string & bmpId, const string & actionId, const string & action2Id, const string & resize, const string & help, int layer, const string & windowId, const string & layoutId ):
+m_id( id ), m_xPos( xPos ), m_yPos( yPos ), m_leftTop( leftTop ), m_rightBottom( rightBottom ), m_visible( visible ), m_bmpId( bmpId ), m_actionId( actionId ), m_action2Id( action2Id ), m_resize( resize ), m_help( help ), m_layer( layer ), m_windowId( windowId ), m_layoutId( layoutId ) {}
 
         string m_id;
         int m_xPos;
@@ -228,6 +269,7 @@ m_id( id ), m_xPos( xPos ), m_yPos( yPos ), m_leftTop( leftTop ), m_rightBottom(
         string m_visible;
         string m_bmpId;
         string m_actionId;
+        string m_action2Id;
         string m_resize;
         string m_help;
         int m_layer;