]> git.sesse.net Git - vlc/blobdiff - modules/gui/wince/wince.h
Remove the WinCE GUI
[vlc] / modules / gui / wince / wince.h
diff --git a/modules/gui/wince/wince.h b/modules/gui/wince/wince.h
deleted file mode 100644 (file)
index 4889e3c..0000000
+++ /dev/null
@@ -1,719 +0,0 @@
-/*****************************************************************************
- * wince.h: private WinCE interface descriptor
- *****************************************************************************
- * Copyright (C) 1999-2004 the VideoLAN team
- * $Id$
- *
- * Authors: Gildas Bazin <gbazin@videolan.org>
- *          Marodon Cedric <cedric_marodon@yahoo.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., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
- *****************************************************************************/
-
-#ifndef WINCE_RESOURCE
-
-#define SLIDER_HEIGHT 50
-#define SLIDER_MAX_POS 10000
-#define MENU_HEIGHT 26
-
-#define FILE_ACCESS 1
-#define NET_ACCESS 2
-
-#define OPEN_NORMAL 0
-#define OPEN_STREAM 1
-
-#if defined( UNDER_CE ) && defined(__MINGW32__)
-    /* This is a gross hack for the wince gcc cross-compiler */
-#   define _off_t long
-#endif
-
-#include <vlc_keys.h>
-#include <vlc_messages.h>
-
-#include <stdio.h>
-#include <string>
-#include <vector>
-using namespace std;
-
-class CBaseWindow;
-class MenuItemExt;
-class VideoWindow;
-
-/*****************************************************************************
- * intf_sys_t: description and status of wxwindows interface
- *****************************************************************************/
-struct intf_sys_t
-{
-    /* the parent window */
-    CBaseWindow         *p_window;
-
-    /* special actions */
-    bool          b_playing;
-
-    /* The input thread */
-    input_thread_t *    p_input;
-
-    /* The slider */
-    int                 i_slider_pos;                     /* slider position */
-    int                 i_slider_oldpos;                /* previous position */
-    bool          b_slider_free;                      /* slider status */
-
-
-
-    /* Playlist management */
-    int                 i_playing;                 /* playlist selected item */
-
-    /* Send an event to show a dialog */
-    void (*pf_show_dialog) ( intf_thread_t *p_intf, int i_dialog, int i_arg,
-                             intf_dialog_args_t *p_arg );
-
-    /* Dynamic Menu management */
-    vector<MenuItemExt*> *p_audio_menu;
-    vector<MenuItemExt*> *p_video_menu;
-    vector<MenuItemExt*> *p_navig_menu;
-    vector<MenuItemExt*> *p_settings_menu;
-
-    VideoWindow          *p_video_window;
-
-    HANDLE   thread_ready;
-};
-
-/*****************************************************************************
- * Prototypes
- *****************************************************************************/
-
-class CBaseWindow
-{
-public:
-    CBaseWindow( intf_thread_t *_p_intf = 0, CBaseWindow *_p_parent = 0,
-                 HINSTANCE _hInst = 0 )
-      : hWnd(0), hInst(_hInst), p_parent(_p_parent), p_intf(_p_intf) {};
-    virtual ~CBaseWindow() {};
-
-    HWND hWnd;                // The main window handle
-
-    static LRESULT CALLBACK BaseWndProc( HWND, UINT, WPARAM, LPARAM );
-    static int CreateDialogBox( HWND, CBaseWindow * );
-
-    HWND GetHandle() { return hWnd; }
-    BOOL Show( BOOL b_show ) { return (hWnd && ShowWindow(hWnd, b_show)); }
-    BOOL IsShown( void ) { return (hWnd && IsWindowVisible(hWnd)); }
-
-protected:
-
-    HINSTANCE       hInst;               // The current instance
-    HWND            hwndCB;              // The command bar handle
-
-    HINSTANCE       GetInstance () const { return hInst; }
-    virtual LRESULT WndProc( HWND, UINT, WPARAM, LPARAM ) { return 0; };
-
-    CBaseWindow     *p_parent;
-    intf_thread_t   *p_intf;
-};
-
-class FileInfo;
-class Messages;
-class Playlist;
-class Timer;
-class OpenDialog;
-class PrefsDialog;
-
-CBaseWindow *CreateDialogsProvider( intf_thread_t *, CBaseWindow *, HINSTANCE);
-CBaseWindow *CreateVideoWindow( intf_thread_t *, HWND );
-void PopupMenu( intf_thread_t *, HWND, POINT );
-
-/* Main Interface */
-class Interface : public CBaseWindow
-{
-public:
-    /* Constructor */
-    Interface( intf_thread_t *, CBaseWindow *, HINSTANCE );
-    ~Interface();
-
-    BOOL InitInstance();
-
-    HWND CreateMenuBar( HWND, HINSTANCE );
-    void TogglePlayButton( int i_playing_status );
-    void Update();
-
-    HWND hwndMain;      // Handle to the main window.
-
-    HWND hwndCB;        // Handle to the command bar (contains menu)
-    HWND hwndTB;        // Handle to the toolbar.
-    HWND hwndSlider;       // Handle to the Sliderbar.
-    HWND hwndLabel;
-    HWND hwndVol;          // Handle to the volume trackbar.
-    HWND hwndSB;        // Handle to the status bar.
-    HMENU hPopUpMenu;
-    HMENU hMenu;
-
-    Timer *timer;
-    CBaseWindow *video;
-
-protected:
-
-    virtual LRESULT WndProc( HWND, UINT, WPARAM, LPARAM );
-
-    void OnShowDialog( int );
-
-    void OnPlayStream( void );
-    void OnStopStream( void );
-    void OnPrevStream( void );
-    void OnNextStream( void );
-    void OnSlowStream( void );
-    void OnFastStream( void );
-
-    void OnVideoOnTop( void );
-    void OnSliderUpdate( int wp );
-    void OnChange( int wp );
-    void VolumeChange( int i_volume );
-    void VolumeUpdate( void );
-
-    int i_old_playing_status;
-
-private:
-    HMENU menu_settings;
-    HMENU menu_video;
-    HMENU menu_audio;
-    HMENU menu_navigation;
-
-    bool b_volume_hold;
-};
-
-/* File Info */
-class FileInfo : public CBaseWindow
-{
-public:
-    /* Constructor */
-    FileInfo( intf_thread_t *, CBaseWindow *, HINSTANCE );
-    virtual ~FileInfo(){};
-
-    void UpdateFileInfo(void);
-
-protected:
-
-    HWND hwnd_fileinfo;                 // handle to fileinfo window
-    HWND hwndTV;                                // handle to tree-view control
-
-    TCHAR szFileInfoClassName[100];     // Main window class name
-    TCHAR szFileInfoTitle[100];         // Main window name
-
-    virtual LRESULT WndProc( HWND, UINT, WPARAM, LPARAM );
-    BOOL CreateTreeView( HWND );
-};
-
-struct msg_cb_data_t
-{
-    Messages *self;
-};
-
-/* Messages */
-class Messages : public CBaseWindow
-{
-public:
-    /* Constructor */
-    Messages( intf_thread_t *, CBaseWindow *, HINSTANCE );
-     ~Messages();
-
-    static void sinkMessage (msg_cb_data_t *, msg_item_t *, unsigned);
-    void sinkMessage (msg_item_t *item, unsigned);
-
-protected:
-
-    virtual LRESULT WndProc( HWND, UINT, WPARAM, LPARAM );
-
-    /* The messages window */
-    msg_subscription_t* sub;                  /* message bank subscription */
-    msg_cb_data_t *cb_data;
-    HWND hListView;
-    bool b_verbose;
-};
-
-/* ItemInfo Dialog */
-class ItemInfoDialog : public CBaseWindow
-{
-public:
-    /* Constructor */
-    ItemInfoDialog( intf_thread_t *, CBaseWindow *,
-                    HINSTANCE, playlist_item_t * );
-    virtual ~ItemInfoDialog(){};
-
-protected:
-
-    intf_thread_t *p_intf;
-    HWND hwndCB;        // Handle to the command bar (but no menu)
-
-    playlist_item_t *p_item;
-
-    /* Event handlers (these functions should _not_ be virtual) */
-    void OnOk();
-    void UpdateInfo();
-
-    virtual LRESULT WndProc( HWND, UINT, WPARAM, LPARAM );
-
-    /* Controls for the iteminfo dialog box */
-    HWND uri_label;
-    HWND uri_text;
-
-    HWND name_label;
-    HWND name_text;
-
-    HWND checkbox_label;
-    HWND enabled_checkbox;
-
-    HWND info_tree;
-};
-
-/* Open Dialog */
-class SubsFileDialog;
-class OpenDialog : public CBaseWindow
-{
-public:
-    /* Constructor */
-    OpenDialog( intf_thread_t *, CBaseWindow *, HINSTANCE, int, int );
-    virtual ~OpenDialog(){};
-
-    void UpdateMRL();
-    void UpdateMRL( int i_access_method );
-
-    HWND file_combo;
-
-protected:
-
-    virtual LRESULT WndProc( HWND, UINT, WPARAM, LPARAM );
-
-    HWND mrl_box;
-    HWND mrl_label;
-    HWND mrl_combo;
-    HWND label;
-
-    HWND notebook;
-
-    HWND browse_button;
-    HWND subsfile_checkbox;
-    HWND subsfile_label;
-    HWND subsfile_button;
-    SubsFileDialog *subsfile_dialog;
-
-    HWND net_radios[4];
-    HWND net_label[4];
-
-    HWND net_port_label[4];
-    HWND net_ports[4];
-    HWND hUpdown[4];
-    int i_net_ports[4];
-
-    HWND net_addrs_label[4];
-    HWND net_addrs[4];
-
-    int i_open_arg;
-    int i_access;
-    int i_net_type;
-
-    void FilePanel( HWND hwnd );
-    void NetPanel( HWND hwnd );
-
-    void OnSubsFileEnable();
-    void OnSubsFileSettings( HWND hwnd );
-
-    void OnPageChange();
-
-    void OnFilePanelChange();
-    void OnFileBrowse();
-    void OnNetPanelChange( int event );
-    void OnNetTypeChange( int event );
-    void DisableNETCtrl();
-
-    void OnOk();
-
-    vector<string> mrl;
-    vector<string> subsfile_mrl;
-};
-
-/* Subtitles File Dialog */
-class SubsFileDialog: public CBaseWindow
-{
-public:
-    /* Constructor */
-    SubsFileDialog( intf_thread_t *, CBaseWindow *, HINSTANCE );
-    virtual ~SubsFileDialog(){};
-
-    vector<string> subsfile_mrl;
-    HWND file_combo;
-
-protected:
-    friend class OpenDialog;
-
-    HWND file_box;
-    HWND browse_button;
-
-    HWND enc_box;
-    HWND enc_label;
-    HWND encoding_combo;
-
-    HWND misc_box;
-    HWND delay_label;
-    HWND delay_edit;
-    HWND delay_spinctrl;
-    HWND fps_label;
-    HWND fps_edit;
-    HWND fps_spinctrl;
-
-    virtual LRESULT WndProc( HWND, UINT, WPARAM, LPARAM );
-
-    /* Event handlers (these functions should _not_ be virtual) */
-    void OnFileBrowse();
-};
-
-/* Playlist */
-class Playlist : public CBaseWindow
-{
-public:
-    /* Constructor */
-    Playlist( intf_thread_t *, CBaseWindow *, HINSTANCE );
-    virtual ~Playlist(){};
-
-    void UpdatePlaylist();
-    void ShowPlaylist( bool );
-
-protected:
-
-    bool b_need_update;
-    vlc_mutex_t lock;
-
-    int i_title_sorted;
-    int i_author_sorted;
-
-    HWND hwndCB;        // Handle to the command bar (contains menu)
-    HWND hwndTB;        // Handle to the toolbar.
-    HWND hListView;
-
-    void Rebuild();
-    void UpdateItem( int );
-    LRESULT ProcessCustomDraw( LPARAM lParam );
-    void HandlePopupMenu( HWND hwnd, POINT point);
-
-    void DeleteItem( input_item_t * item );
-
-    void OnOpen();
-    void OnSave();
-
-    void OnDeleteSelection();
-    void OnInvertSelection();
-    void OnEnableSelection();
-    void OnDisableSelection();
-    void OnSelectAll();
-    void OnActivateItem( int i_item );
-    void ShowInfos( HWND hwnd, int i_item );
-
-    void OnUp();
-    void OnDown();
-
-    void OnRandom();
-    void OnLoop();
-    void OnRepeat();
-
-    void OnSort( UINT event );
-    void OnColSelect( int iSubItem );
-
-    void OnPopupPlay();
-    void OnPopupDel();
-    void OnPopupEna();
-    void OnPopupInfo( HWND hwnd );
-
-    virtual LRESULT WndProc( HWND, UINT, WPARAM, LPARAM );
-};
-
-/* Timer */
-class Timer
-{
-public:
-    /* Constructor */
-    Timer( intf_thread_t *p_intf, HWND hwnd, Interface *_p_main_interface );
-    virtual ~Timer();
-    void Notify( void );
-
-private:
-    intf_thread_t *p_intf;
-    Interface *p_main_interface;
-    //Interface *p_main_interface;
-    int i_old_playing_status;
-    int i_old_rate;
-};
-
-/* Menus */
-void RefreshSettingsMenu( intf_thread_t *_p_intf, HMENU hMenu );
-void RefreshAudioMenu( intf_thread_t *_p_intf, HMENU hMenu );
-void RefreshVideoMenu( intf_thread_t *_p_intf, HMENU hMenu );
-void RefreshNavigMenu( intf_thread_t *_p_intf, HMENU hMenu );
-void RefreshMenu( intf_thread_t *, vector<MenuItemExt*> *, HMENU, int,
-                  char **, vlc_object_t **, int );
-int wce_GetMenuItemCount( HMENU );
-void CreateMenuItem( intf_thread_t *, vector<MenuItemExt*> *, HMENU, char *,
-                     vlc_object_t *, int * );
-HMENU CreateChoicesMenu( intf_thread_t *, vector<MenuItemExt*> *, char *,
-                         vlc_object_t *, int * );
-void OnMenuEvent( intf_thread_t *, int );
-
-/*****************************************************************************
- * A small helper class which encapsulate wxMenuitem with some other useful
- * things.
- *****************************************************************************/
-class MenuItemExt
-{
-public:
-    /* Constructor */
-    MenuItemExt( intf_thread_t *_p_intf, int _id, char *_psz_var,
-                 vlc_object_t * p_object, vlc_value_t _val, int _i_val_type );
-
-    virtual ~MenuItemExt();
-
-    static void ClearList( vector<MenuItemExt*> * );
-
-    int id;
-    intf_thread_t *p_intf;
-    char *psz_var;
-    int  i_val_type;
-    vlc_object_t * p_object;
-    vlc_value_t val;
-
-private:
-
-};
-
-
-/* Preferences Dialog */
-/* Preferences Dialog */
-class PrefsTreeCtrl;
-class PrefsDialog: public CBaseWindow
-{
-public:
-    /* Constructor */
-    PrefsDialog( intf_thread_t *, CBaseWindow *, HINSTANCE );
-    virtual ~PrefsDialog(){};
-
-protected:
-
-    /* Event handlers (these functions should _not_ be virtual) */
-    void OnOk( void );
-    /*void OnCancel( UINT event );
-    void OnSave( UINT event );
-    void OnResetAll( UINT event );
-    void OnAdvanced( UINT event );*/
-
-    HWND save_button;
-    HWND reset_button;
-    HWND advanced_checkbox;
-    HWND advanced_label;
-
-    PrefsTreeCtrl *prefs_tree;
-
-    virtual LRESULT WndProc( HWND, UINT, WPARAM, LPARAM );
-};
-
-/*****************************************************************************
- * A small helper function for utf8 <-> unicode conversions
- *****************************************************************************/
-#ifdef UNICODE
-    extern wchar_t pwsz_mbtow_wince[2048];
-    extern char psz_wtomb_wince[2048];
-    static inline wchar_t *_FROMMB( const char *psz_in )
-    {
-        mbstowcs( pwsz_mbtow_wince, psz_in, 2048 );
-        pwsz_mbtow_wince[2048-1] = 0;
-        return pwsz_mbtow_wince;
-    }
-    static inline char *_TOMB( const wchar_t *pwsz_in )
-    {
-        wcstombs( psz_wtomb_wince, pwsz_in, 2048 );
-        psz_wtomb_wince[2048-1] = 0;
-        return psz_wtomb_wince;
-    }
-#else
-#   define _FROMMB(a) a
-#   define _TOMB(a) a
-#endif
-
-/*****************************************************************************
- * Misc definitions (mainly from aygshell.h)
- *****************************************************************************/
-#define _WIN32_IE 0x0500
-
-#define SHFS_SHOWSIPBUTTON          0x0004
-#define SHFS_HIDESIPBUTTON          0x0008
-#define SHIDIM_FLAGS                0x0001
-#define SHIDIF_DONEBUTTON           0x0001
-#define SHIDIF_SIPDOWN              0x0008
-#define SHIDIF_FULLSCREENNOMENUBAR  0x0010
-#define SHCMBF_HMENU                0x0010
-#define SHCMBF_EMPTYBAR             0x0001
-#define GN_CONTEXTMENU              1000
-#define SHRG_RETURNCMD              0x0001
-#define SHRG_NOTIFYPARENT           0x0002
-#define SHCMBM_GETSUBMENU           (WM_USER + 401)
-#define SHCMBM_GETMENU              (WM_USER + 402)
-#ifndef TBSTYLE_NO_DROPDOWN_ARROW
-#define TBSTYLE_NO_DROPDOWN_ARROW   0x0080
-#endif
-#define lstrlenW wcslen
-#define SHGetMenu(hwnd) \
-    (HMENU)SendMessage((hwnd), SHCMBM_GETMENU, (WPARAM)0, (LPARAM)0)
-#define TrackPopupMenu(hm,u,x,y,r,hw,p) \
-    TrackPopupMenuEx((hm),(u),(x),(y),(hw),0)
-
-extern "C" {
-    typedef struct tagSHMENUBARINFO
-    {
-        DWORD cbSize;
-        HWND hwndParent;
-        DWORD dwFlags;
-        UINT nToolBarId;
-        HINSTANCE hInstRes;
-        int nBmpId;
-        int cBmpImages;
-        HWND hwndMB;
-        COLORREF clrBk;
-    } SHMENUBARINFO, *PSHMENUBARINFO;
-
-    BOOL SHCreateMenuBar( SHMENUBARINFO *pmbi );
-    BOOL SHFullScreen(HWND hwndRequester, DWORD dwState);
-
-    typedef struct tagSHINITDLGINFO
-    {
-        DWORD dwMask;
-        HWND  hDlg;
-        DWORD dwFlags;
-    } SHINITDLGINFO, *PSHINITDLGINFO;
-
-    BOOL SHInitDialog(PSHINITDLGINFO pshidi);
-
-    typedef struct tagNMRGINFO
-    {
-        NMHDR hdr;
-        POINT ptAction;
-        DWORD dwItemSpec;
-    } NMRGINFO, *PNMRGINFO;
-
-    BOOL WINAPI CommandBar_InsertMenubarEx(HWND, HINSTANCE, LPTSTR, WORD);
-
-    typedef struct tagSHRGI
-    {
-        DWORD cbSize;
-        HWND hwndClient;
-        POINT ptDown;
-        DWORD dwFlags;
-    } SHRGINFO, *PSHRGINFO;
-
-    DWORD SHRecognizeGesture(SHRGINFO *shrg);
-
-    typedef enum tagSIPSTATE
-    {
-        SIP_UP = 0,
-        SIP_DOWN,
-        SIP_FORCEDOWN,
-        SIP_UNCHANGED,
-        SIP_INPUTDIALOG,
-    } SIPSTATE;
-
-    BOOL SHSipPreference(HWND, SIPSTATE);
-
-    BOOL SHSipInfo(UINT, UINT, PVOID, UINT);
-
-    typedef struct
-    {
-        DWORD cbSize;
-        DWORD fdwFlags;
-        RECT rcVisibleDesktop;
-        RECT rcSipRect;
-        DWORD dwImDataSize;
-        VOID *pvImData;
-    } SIPINFO;
-}
-
-#if defined( WIN32 ) && !defined( UNDER_CE )
-#   define SHFullScreen(a,b)
-#   define SHInitDialog(a)
-#   define SHCreateMenuBar(a) 1
-#   define SHRecognizeGesture(a) 0
-#   define SHSipPreference(a,b)
-
-#   define SHSipInfo(a,b,c,d) 0
-#endif
-
-#endif //WINCE_RESOURCE
-
-#define IDD_ABOUT                       101
-#define IDI_ICON1                       102
-#define IDB_BITMAP1                     103
-#define IDB_BITMAP2                     111
-#define IDR_MENUBAR1                    113
-#define IDD_FILEINFO                    118
-#define IDD_DUMMY                       118
-#define IDD_MESSAGES                    119
-#define IDR_MENUBAR                     120
-#define IDR_MENUBAR2                    121
-#define IDD_PLAYLIST                    122
-#define IDB_BITMAP3                     123
-#define IDD_ITEMINFO                    124
-#define IDCLEAR                         1001
-#define IDSAVEAS                        1002
-#define ID_FILE                         40028
-#define ID_VIEW                         40030
-#define ID_SETTINGS                     40032
-#define ID_AUDIO                        40034
-#define ID_EMPTY                        40034
-#define ID_VIDEO                        40036
-#define ID_NAVIGATION                   40038
-#define IDM_FILE                        40042
-#define IDM_VIEW                        40044
-#define IDM_SETTINGS                    40046
-#define IDM_AUDIO                       40048
-#define IDM_VIDEO                       40050
-#define IDM_NAVIGATION                  40053
-#define ID_FILE_QUICKOPEN               40057
-#define ID_FILE_OPENFILE                40058
-#define ID_FILE_OPENDIR                 40059
-#define ID_FILE_OPENNET                 40060
-#define ID_FILE_EXIT                    40061
-#define ID_VIEW_PLAYLIST                40063
-#define ID_VIEW_MESSAGES                40064
-#define ID_VIEW_MEDIAINFO               40065
-#define ID_VIEW_STREAMINFO              40066
-#define ID_PREFERENCES                  40071
-#define ID_FILE_ABOUT                   40069
-#define IDM_MANAGE                      40087
-#define IDM_SORT                        40088
-#define IDM_SEL                         40089
-#define ID_SORT_AUTHOR                  40091
-#define ID_SORT_RAUTHOR                 40092
-#define ID_SORT_SHUFFLE                 40095
-#define ID_SEL_INVERT                   40096
-#define ID_SEL_DELETE                   40097
-#define ID_SEL_SELECTALL                40098
-#define ID_SEL_ENABLE                   40100
-#define ID_SEL_DISABLE                  40101
-#define ID_SORT_TITLE                   40102
-#define ID_SORT_RTITLE                  40103
-#define ID_MANAGE_ADDFILE               40104
-#define ID_MANAGE_ADDDIRECTORY          40105
-#define ID_MANAGE_ADDMRL                40106
-#define ID_MANAGE_OPENPL                40107
-#define ID_MANAGE_SAVEPL                40108
-#define StopStream_Event                57601
-#define PlayStream_Event                57602
-#define PrevStream_Event                57603
-#define NextStream_Event                57604
-#define SlowStream_Event                57605
-#define FastStream_Event                57606