[vlc-commits] Add a common helper class vlc_player_options

Sergey Radionov git at videolan.org
Fri Jan 13 12:01:05 CET 2012


npapi-vlc | branch: master | Sergey Radionov <RSATom at gmail.com> | Tue Jan 10 22:52:41 2012 +0700| [801fb91ff714b2611f155a2e0c8d75b6256ca9cb] | committer: Jean-Baptiste Kempf

Add a common helper class vlc_player_options

Signed-off-by: Jean-Baptiste Kempf <jb at videolan.org>

> http://git.videolan.org/gitweb.cgi/npapi-vlc.git/?a=commit;h=801fb91ff714b2611f155a2e0c8d75b6256ca9cb
---

 common/vlc_player_options.h |   92 +++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 92 insertions(+), 0 deletions(-)

diff --git a/common/vlc_player_options.h b/common/vlc_player_options.h
new file mode 100644
index 0000000..431e42f
--- /dev/null
+++ b/common/vlc_player_options.h
@@ -0,0 +1,92 @@
+/*****************************************************************************
+ * Copyright © 2002-2011 VideoLAN and VLC authors
+ * $Id$
+ *
+ * Authors: Sergey Radionov <rsatom at gmail.com>
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 2.1 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
+ *****************************************************************************/
+
+#ifndef _VLC_PLAYER_OPTIONS_H_
+#define _VLC_PLAYER_OPTIONS_H_
+
+#include <string>
+
+enum vlc_player_option_e
+{
+    po_autoplay,
+    po_show_toolbar,
+    po_enable_fullscreen,
+    po_bg_text,
+    po_bg_color
+};
+
+class vlc_player_options
+{
+public:
+    vlc_player_options()
+        :_autoplay(true), _show_toolbar(true), _enable_fullscreen(true),
+        _bg_color(/*black*/"#000000")
+    {}
+
+    void set_autoplay(bool ap){
+        _autoplay = ap;
+        on_option_change(po_autoplay);
+    }
+    bool get_autoplay() const
+        {return _autoplay;}
+
+    void set_show_toolbar(bool st){
+        _show_toolbar = st;
+        on_option_change(po_show_toolbar);
+    }
+    bool get_show_toolbar() const
+        {return _show_toolbar;}
+
+    void set_enable_fs(bool ef){
+        _enable_fullscreen = ef;
+        on_option_change(po_enable_fullscreen);
+    }
+    bool get_enable_fs() const
+        {return _enable_fullscreen;}
+
+    void set_bg_text(const std::string& bt){
+        _bg_text = bt;
+        on_option_change(po_bg_text);
+    }
+    const std::string& get_bg_text() const {
+        return _bg_text;
+    }
+
+    void set_bg_color(const std::string& bc){
+        _bg_color = bc;
+        on_option_change(po_bg_color);
+    }
+    const std::string& get_bg_color() const {
+        return _bg_color;
+    }
+
+    virtual void on_option_change(vlc_player_option_e o_ch){};
+
+private:
+    bool         _autoplay;
+    bool         _show_toolbar;
+    bool         _enable_fullscreen;
+    std::string  _bg_text;
+    //background color format is "#rrggbb"
+    std::string  _bg_color;
+};
+
+#endif //_VLC_PLAYER_OPTIONS_H_



More information about the vlc-commits mailing list