⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 event.h

📁 VLC媒体播放程序
💻 H
字号:
/***************************************************************************** * event.h: Event class ***************************************************************************** * Copyright (C) 2003 VideoLAN * $Id: event.h,v 1.16 2004/02/15 18:58:38 ipkiss Exp $ * * Authors: Olivier Teuli鑢e <ipkiss@via.ecp.fr> *          Emmanuel Puig    <karibu@via.ecp.fr> * * 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 * the Free Software Foundation; either version 2 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 General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111, * USA. *****************************************************************************/#ifndef VLC_SKIN_EVENT#define VLC_SKIN_EVENT//--- GENERAL ---------------------------------------------------------------#include <string>#include <list>using namespace std;//---------------------------------------------------------------------------// VLC specific messages//---------------------------------------------------------------------------#define MAX_EVENT_SIZE 30#define MAX_PARAM_SIZE 20#define EVENT_MAX_BUFFER_SIZE 20#if !defined _WIN32#define WM_APP 0x8000#endif#define VLC_MESSAGE         (WM_APP)#define VLC_WINDOW          (WM_APP + 1000)#define VLC_CONTROL         (WM_APP + 2000)// VLC messages#define VLC_NOTHING         (VLC_MESSAGE + 1)#define VLC_SHOW            (VLC_MESSAGE + 2)#define VLC_HIDE            (VLC_MESSAGE + 3)#define VLC_QUIT            (VLC_MESSAGE + 4)#define VLC_OPEN            (VLC_MESSAGE + 5)#define VLC_LOAD_SKIN       (VLC_MESSAGE + 6)#define VLC_DROP            (VLC_MESSAGE + 7)#define VLC_ON_TOP          (VLC_MESSAGE + 8)#define VLC_NET             (VLC_MESSAGE + 9)#define VLC_LOG_SHOW        (VLC_MESSAGE + 20)#define VLC_PREFS_SHOW      (VLC_MESSAGE + 23)#define VLC_INFO_SHOW       (VLC_MESSAGE + 24)#define VLC_INTF_REFRESH    (VLC_MESSAGE + 30)#define VLC_CHANGE_TRAY     (VLC_MESSAGE + 31)#define VLC_CHANGE_TASKBAR  (VLC_MESSAGE + 32)#define VLC_FULLSCREEN      (VLC_MESSAGE + 40)// Stream control#define VLC_PLAY            (VLC_MESSAGE + 101)#define VLC_STOP            (VLC_MESSAGE + 102)#define VLC_PAUSE           (VLC_MESSAGE + 103)#define VLC_NEXT            (VLC_MESSAGE + 104)#define VLC_PREV            (VLC_MESSAGE + 105)#define VLC_STREAMPOS       (VLC_MESSAGE + 106)#define VLC_ENDSTREAMPOS    (VLC_MESSAGE + 107)#define VLC_TOTALSTREAMPOS  (VLC_MESSAGE + 108)#define VLC_STREAM_NAME     (VLC_MESSAGE + 109)#define VLC_STREAM_TITLE    (VLC_MESSAGE + 110)#define VLC_HELP_TEXT       (VLC_MESSAGE + 111)#define VLC_SLOWER          (VLC_MESSAGE + 112)#define VLC_FASTER          (VLC_MESSAGE + 113)// Volume control#define VLC_VOLUME_CHANGE   (VLC_MESSAGE + 201)#define VLC_VOLUME_MUTE     (VLC_MESSAGE + 202)#define VLC_VOLUME_UP       (VLC_MESSAGE + 203)#define VLC_VOLUME_DOWN     (VLC_MESSAGE + 204)#define VLC_VOLUME_SET      (VLC_MESSAGE + 205)// Playlist events#define VLC_PLAYLIST_ADD_FILE (VLC_MESSAGE + 301)#define VLC_TEST_ALL_CLOSED (VLC_MESSAGE + 600)// Window event#define WINDOW_MOVE         (VLC_WINDOW + 1)#define WINDOW_OPEN         (VLC_WINDOW + 2)#define WINDOW_CLOSE        (VLC_WINDOW + 3)#define WINDOW_SHOW         (VLC_WINDOW + 4)#define WINDOW_HIDE         (VLC_WINDOW + 5)#define WINDOW_FADE         (VLC_WINDOW + 6)#define WINDOW_LEAVE        (VLC_WINDOW + 7)#define WINDOW_REFRESH      (VLC_WINDOW + 8)// Control event#define CTRL_ENABLED        (VLC_CONTROL + 1)#define CTRL_VISIBLE        (VLC_CONTROL + 2)#define CTRL_SYNCHRO        (VLC_CONTROL + 3)#define CTRL_SET_SLIDER     (VLC_CONTROL + 10)#define CTRL_SET_TEXT       (VLC_CONTROL + 11)// Control event by ID#define CTRL_ID_VISIBLE     (VLC_CONTROL + 100)#define CTRL_ID_ENABLED     (VLC_CONTROL + 101)#define CTRL_ID_MOVE        (VLC_CONTROL + 102)// Control definition#define CTRL_SLIDER         (VLC_CONTROL + 301)#define CTRL_TIME           (VLC_CONTROL + 302)#define CTRL_PLAYLIST       (VLC_CONTROL + 303)// Playlist#define PLAYLIST_ID_DEL     (VLC_CONTROL + 400)//---------------------------------------------------------------------------struct intf_thread_t;class GenericControl;class SkinWindow;class Event;//---------------------------------------------------------------------------// EVENT CLASS//---------------------------------------------------------------------------class Event{    protected:        string          EventDesc;        unsigned int    Message;        unsigned int    Param1;        long            Param2;        unsigned int    GetMessageType( string desc );        string          Shortcut;        int             KeyModifier;        int             Key;        intf_thread_t * p_intf;        // Transform expr to special boolean :        //   0 = false        //   1 = true        //   2 = change boolean        int GetBool( string expr );    public:        // Constructor        Event( intf_thread_t *_p_intf, string Desc, string shortcut );        Event( intf_thread_t *_p_intf, unsigned int msg, unsigned int par1,               long par2 );        // Destructor        virtual ~Event();        void DestructParameters( bool force = false );        // General operations on events        GenericControl * FindControl( string id );        void CreateEvent();        virtual void CreateOSEvent( string para1, string para2,                                    string para3 ) = 0;        virtual bool IsEqual( Event *evt );        // Event sending        virtual bool SendEvent() = 0;        void PostTextMessage( string text );        void PostSynchroMessage( bool autodelete = false );        // Shortcuts methods        bool MatchShortcut( int key, int mod );        void CreateShortcut();        // Getters        unsigned int GetMessage()   { return Message; }        unsigned int GetParam1()    { return Param1; }        long         GetParam2()    { return Param2; }        // Setters        void SetParam1( unsigned int p1 )    { Param1 = p1; }        void SetParam2( unsigned int p2 )    { Param2 = p2; }};//---------------------------------------------------------------------------#define ACTION_MATCH_ALL    0#define ACTION_MATCH_FIRST  1#define ACTION_MATCH_ONE    2//---------------------------------------------------------------------------class Action{    private:        list<Event *> EventList;        int GetBool( string expr );        intf_thread_t * p_intf;    public:        // Constructor        Action::Action( intf_thread_t *_p_intf, string code );        // Destructor        Action::~Action();        // Send event        bool SendEvent();        bool MatchEvent( Event *evt, int flag = ACTION_MATCH_ALL );};//---------------------------------------------------------------------------#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -