Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
V
vlc-gpu
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Redmine
Redmine
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
videolan
vlc-gpu
Commits
39c68369
Commit
39c68369
authored
Mar 30, 2005
by
Gildas Bazin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
* modules/gui/wince: added dialogs provider + another massive cleanup + updates.
parent
23584f31
Changes
13
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
949 additions
and
631 deletions
+949
-631
modules/gui/wince/Modules.am
modules/gui/wince/Modules.am
+1
-0
modules/gui/wince/dialogs.cpp
modules/gui/wince/dialogs.cpp
+430
-0
modules/gui/wince/fileinfo.cpp
modules/gui/wince/fileinfo.cpp
+15
-10
modules/gui/wince/interface.cpp
modules/gui/wince/interface.cpp
+32
-257
modules/gui/wince/iteminfo.cpp
modules/gui/wince/iteminfo.cpp
+8
-4
modules/gui/wince/messages.cpp
modules/gui/wince/messages.cpp
+49
-39
modules/gui/wince/open.cpp
modules/gui/wince/open.cpp
+60
-81
modules/gui/wince/playlist.cpp
modules/gui/wince/playlist.cpp
+73
-140
modules/gui/wince/preferences.cpp
modules/gui/wince/preferences.cpp
+7
-3
modules/gui/wince/subtitles.cpp
modules/gui/wince/subtitles.cpp
+30
-35
modules/gui/wince/video.cpp
modules/gui/wince/video.cpp
+0
-2
modules/gui/wince/wince.cpp
modules/gui/wince/wince.cpp
+174
-17
modules/gui/wince/wince.h
modules/gui/wince/wince.h
+70
-43
No files found.
modules/gui/wince/Modules.am
View file @
39c68369
...
...
@@ -6,6 +6,7 @@ SOURCES_wince = \
wince.cpp \
wince.h \
interface.cpp \
dialogs.cpp \
menus.cpp \
open.cpp \
playlist.cpp \
...
...
modules/gui/wince/dialogs.cpp
0 → 100644
View file @
39c68369
This diff is collapsed.
Click to expand it.
modules/gui/wince/fileinfo.cpp
View file @
39c68369
...
...
@@ -42,11 +42,11 @@
/*****************************************************************************
* Constructor.
*****************************************************************************/
FileInfo
::
FileInfo
(
intf_thread_t
*
_p_intf
,
HINSTANCE
_hInst
)
FileInfo
::
FileInfo
(
intf_thread_t
*
p_intf
,
CBaseWindow
*
p_parent
,
HINSTANCE
h_inst
)
:
CBaseWindow
(
p_intf
,
p_parent
,
h_inst
)
{
/* Initializations */
p_intf
=
_p_intf
;
hInst
=
_hInst
;
hwnd_fileinfo
=
hwndTV
=
NULL
;
}
...
...
@@ -87,7 +87,7 @@ BOOL FileInfo::CreateTreeView(HWND hwnd)
// Be sure that the tree view actually was created.
if
(
!
hwndTV
)
return
FALSE
;
UpdateFileInfo
(
hwndTV
);
UpdateFileInfo
();
return
TRUE
;
}
...
...
@@ -101,7 +101,7 @@ PURPOSE:
Update the TreeView with file information.
***********************************************************************/
void
FileInfo
::
UpdateFileInfo
(
HWND
hwnd
)
void
FileInfo
::
UpdateFileInfo
()
{
TVITEM
tvi
=
{
0
};
TVINSERTSTRUCT
tvins
=
{
0
};
...
...
@@ -130,7 +130,7 @@ void FileInfo::UpdateFileInfo(HWND hwnd)
tvins
.
hParent
=
TVI_ROOT
;
// Add the item to the tree-view control.
hPrev
=
(
HTREEITEM
)
TreeView_InsertItem
(
hwnd
,
&
tvins
);
hPrev
=
(
HTREEITEM
)
TreeView_InsertItem
(
hwnd
TV
,
&
tvins
);
hPrevRootItem
=
hPrev
;
...
...
@@ -150,7 +150,7 @@ void FileInfo::UpdateFileInfo(HWND hwnd)
tvins
.
hParent
=
hPrevRootItem
;
// Add the item to the tree-view control.
hPrev
=
(
HTREEITEM
)
TreeView_InsertItem
(
hwnd
,
&
tvins
);
hPrev
=
(
HTREEITEM
)
TreeView_InsertItem
(
hwnd
TV
,
&
tvins
);
hPrevLev2Item
=
hPrev
;
...
...
@@ -170,14 +170,14 @@ void FileInfo::UpdateFileInfo(HWND hwnd)
tvins
.
hParent
=
hPrevLev2Item
;
// Add the item to the tree-view control.
hPrev
=
(
HTREEITEM
)
TreeView_InsertItem
(
hwnd
,
&
tvins
);
hPrev
=
(
HTREEITEM
)
TreeView_InsertItem
(
hwnd
TV
,
&
tvins
);
}
TreeView_Expand
(
hwnd
,
hPrevLev2Item
,
TVE_EXPANDPARTIAL
|
TVE_EXPAND
);
TreeView_Expand
(
hwnd
TV
,
hPrevLev2Item
,
TVE_EXPANDPARTIAL
|
TVE_EXPAND
);
}
vlc_mutex_unlock
(
&
p_input
->
input
.
p_item
->
lock
);
TreeView_Expand
(
hwnd
,
hPrevRootItem
,
TVE_EXPANDPARTIAL
|
TVE_EXPAND
);
TreeView_Expand
(
hwnd
TV
,
hPrevRootItem
,
TVE_EXPANDPARTIAL
|
TVE_EXPAND
);
return
;
}
...
...
@@ -212,6 +212,11 @@ LRESULT FileInfo::WndProc( HWND hwnd, UINT msg, WPARAM wp, LPARAM lp )
EndDialog
(
hwnd
,
LOWORD
(
wp
)
);
break
;
case
WM_SETFOCUS
:
SHSipPreference
(
hwnd
,
SIP_DOWN
);
SHFullScreen
(
hwnd
,
SHFS_HIDESIPBUTTON
);
break
;
case
WM_COMMAND
:
if
(
LOWORD
(
wp
)
==
IDOK
)
{
...
...
modules/gui/wince/interface.cpp
View file @
39c68369
This diff is collapsed.
Click to expand it.
modules/gui/wince/iteminfo.cpp
View file @
39c68369
...
...
@@ -46,13 +46,12 @@
/*****************************************************************************
* Constructor.
*****************************************************************************/
ItemInfoDialog
::
ItemInfoDialog
(
intf_thread_t
*
_p_intf
,
HINSTANCE
_hI
nst
,
ItemInfoDialog
::
ItemInfoDialog
(
intf_thread_t
*
p_intf
,
CBaseWindow
*
p_parent
,
HINSTANCE
h_i
nst
,
playlist_item_t
*
_p_item
)
:
CBaseWindow
(
p_intf
,
p_parent
,
h_inst
)
{
/* Initializations */
p_intf
=
_p_intf
;
hInst
=
_hInst
;
p_item
=
_p_item
;
}
...
...
@@ -154,6 +153,11 @@ LRESULT ItemInfoDialog::WndProc( HWND hwnd, UINT msg, WPARAM wp, LPARAM lp )
EndDialog
(
hwnd
,
LOWORD
(
wp
)
);
break
;
case
WM_SETFOCUS
:
SHSipPreference
(
hwnd
,
SIP_DOWN
);
SHFullScreen
(
hwnd
,
SHFS_HIDESIPBUTTON
);
break
;
case
WM_COMMAND
:
if
(
LOWORD
(
wp
)
==
IDOK
)
{
...
...
modules/gui/wince/messages.cpp
View file @
39c68369
...
...
@@ -51,23 +51,25 @@
* Constructor.
*****************************************************************************/
Messages
::
Messages
(
intf_thread_t
*
_p_intf
,
HINSTANCE
_hInst
)
Messages
::
Messages
(
intf_thread_t
*
p_intf
,
CBaseWindow
*
p_parent
,
HINSTANCE
h_inst
)
:
CBaseWindow
(
p_intf
,
p_parent
,
h_inst
)
{
/* Initializations */
p_intf
=
_p_intf
;
hInst
=
_hInst
;
hListView
=
NULL
;
b_verbose
=
VLC_FALSE
;
hWnd
=
CreateWindow
(
_T
(
"VLC WinCE"
),
_T
(
"Messages"
),
WS_POPUP
|
WS_CAPTION
|
WS_SYSMENU
|
WS_SIZEBOX
,
0
,
0
,
/*CW_USEDEFAULT*/
300
,
/*CW_USEDEFAULT*/
300
,
p_parent
->
GetHandle
(),
NULL
,
h_inst
,
(
void
*
)
this
);
}
/***********************************************************************
FUNCTION:
WndProc
PURPOSE:
Processes messages sent to the main window.
***********************************************************************/
LRESULT
Messages
::
WndProc
(
HWND
hwnd
,
UINT
msg
,
WPARAM
wp
,
LPARAM
lp
)
{
...
...
@@ -80,37 +82,45 @@ LRESULT Messages::WndProc( HWND hwnd, UINT msg, WPARAM wp, LPARAM lp )
switch
(
msg
)
{
case
WM_
INITDIALOG
:
case
WM_
CREATE
:
shidi
.
dwMask
=
SHIDIM_FLAGS
;
shidi
.
dwFlags
=
SHIDIF_DONEBUTTON
|
SHIDIF_SIPDOWN
|
SHIDIF_FULLSCREENNOMENUBAR
;
//SHIDIF_SIZEDLGFULLSCREEN;
shidi
.
hDlg
=
hwnd
;
SHInitDialog
(
&
shidi
);
RECT
rect
;
GetClientRect
(
hwnd
,
&
rect
);
hListView
=
CreateWindow
(
WC_LISTVIEW
,
NULL
,
WS_VISIBLE
|
WS_CHILD
|
LVS_REPORT
|
LVS_SHOWSELALWAYS
|
WS_VSCROLL
|
WS_HSCROLL
|
WS_BORDER
/*| LVS_NOCOLUMNHEADER */
,
rect
.
left
+
20
,
rect
.
top
+
50
,
rect
.
right
-
rect
.
left
-
(
2
*
20
),
rect
.
bottom
-
rect
.
top
-
50
-
20
,
WS_BORDER
|
LVS_NOCOLUMNHEADER
,
0
,
0
,
0
,
0
,
hwnd
,
NULL
,
hInst
,
NULL
);
ListView_SetExtendedListViewStyle
(
hListView
,
LVS_EX_FULLROWSELECT
);
LVCOLUMN
lv
;
lv
.
mask
=
LVCF_
WIDTH
|
LVCF_FMT
|
LVCF_TEX
T
;
lv
.
mask
=
LVCF_
FM
T
;
lv
.
fmt
=
LVCFMT_LEFT
;
GetClientRect
(
hwnd
,
&
rect
);
lv
.
cx
=
rect
.
right
-
rect
.
left
;
lv
.
pszText
=
_T
(
"Messages"
);
lv
.
cchTextMax
=
9
;
ListView_InsertColumn
(
hListView
,
0
,
&
lv
);
ListView_InsertColumn
(
hListView
,
0
,
&
lv
);
SetTimer
(
hwnd
,
1
,
500
/*milliseconds*/
,
NULL
);
break
;
case
WM_WINDOWPOSCHANGED
:
{
RECT
rect
;
if
(
!
GetClientRect
(
hwnd
,
&
rect
)
)
break
;
SetWindowPos
(
hListView
,
0
,
0
,
0
,
rect
.
right
-
rect
.
left
,
rect
.
bottom
-
rect
.
top
,
0
);
LVCOLUMN
lv
;
lv
.
cx
=
rect
.
right
-
rect
.
left
;
lv
.
mask
=
LVCF_WIDTH
;
ListView_SetColumn
(
hListView
,
0
,
&
lv
);
}
break
;
SHFullScreen
(
GetForegroundWindow
(),
SHFS_HIDESIPBUTTON
);
case
WM_SETFOCUS
:
SHSipPreference
(
hwnd
,
SIP_DOWN
);
SHFullScreen
(
hwnd
,
SHFS_HIDESIPBUTTON
);
break
;
case
WM_TIMER
:
...
...
@@ -118,14 +128,14 @@ LRESULT Messages::WndProc( HWND hwnd, UINT msg, WPARAM wp, LPARAM lp )
break
;
case
WM_CLOSE
:
EndDialog
(
hwnd
,
LOWORD
(
wp
)
);
break
;
Show
(
FALSE
);
return
TRUE
;
case
WM_COMMAND
:
switch
(
LOWORD
(
wp
)
)
{
case
IDOK
:
EndDialog
(
hwnd
,
LOWORD
(
wp
)
);
Show
(
FALSE
);
break
;
case
IDCLEAR
:
...
...
@@ -167,8 +177,6 @@ LRESULT Messages::WndProc( HWND hwnd, UINT msg, WPARAM wp, LPARAM lp )
CloseHandle
(
fichier
);
}
}
SHFullScreen
(
GetForegroundWindow
(),
SHFS_HIDESIPBUTTON
);
break
;
default:
...
...
@@ -179,7 +187,7 @@ LRESULT Messages::WndProc( HWND hwnd, UINT msg, WPARAM wp, LPARAM lp )
break
;
}
return
FALSE
;
return
DefWindowProc
(
hwnd
,
msg
,
wp
,
lp
)
;
}
void
Messages
::
UpdateLog
()
...
...
@@ -197,29 +205,31 @@ void Messages::UpdateLog()
for
(
i_start
=
p_sub
->
i_start
;
i_start
!=
i_stop
;
i_start
=
(
i_start
+
1
)
%
VLC_MSG_QSIZE
)
{
if
(
!
b_verbose
&&
VLC_MSG_ERR
!=
p_sub
->
p_msg
[
i_start
].
i_type
)
continue
;
/* Append all messages to log window */
debug
=
p_sub
->
p_msg
[
i_start
].
psz_module
;
switch
(
p_sub
->
p_msg
[
i_start
].
i_type
)
{
case
VLC_MSG_INFO
:
debug
+=
": "
;
break
;
case
VLC_MSG_ERR
:
debug
+=
" error: "
;
case
VLC_MSG_INFO
:
if
(
p_intf
->
p_libvlc
->
i_verbose
<
0
)
continue
;
break
;
case
VLC_MSG_WARN
:
debug
+=
" warning: "
;
if
(
p_intf
->
p_libvlc
->
i_verbose
<
1
)
continue
;
break
;
case
VLC_MSG_DBG
:
default:
debug
+=
" debug: "
;
if
(
p_intf
->
p_libvlc
->
i_verbose
<
2
)
continue
;
break
;
}
/* Append all messages to log window */
debug
=
p_sub
->
p_msg
[
i_start
].
psz_module
;
switch
(
p_sub
->
p_msg
[
i_start
].
i_type
)
{
case
VLC_MSG_INFO
:
debug
+=
": "
;
break
;
case
VLC_MSG_ERR
:
debug
+=
" error: "
;
break
;
case
VLC_MSG_WARN
:
debug
+=
" warning: "
;
break
;
default:
debug
+=
" debug: "
;
break
;
}
/* Add message */
debug
+=
p_sub
->
p_msg
[
i_start
].
psz_msg
;
...
...
modules/gui/wince/open.cpp
View file @
39c68369
...
...
@@ -33,11 +33,10 @@
#include "wince.h"
#include <winuser.h>
#include <windows.h>
#include <windowsx.h>
#include <commctrl.h>
#include <commdlg.h>
#include <shlobj.h>
/*****************************************************************************
* Event Table.
...
...
@@ -73,15 +72,13 @@ enum
/*****************************************************************************
* Constructor.
*****************************************************************************/
OpenDialog
::
OpenDialog
(
intf_thread_t
*
_p_intf
,
HINSTANCE
_hInst
,
int
_i_access_method
,
int
_i_arg
,
int
_i_method
)
OpenDialog
::
OpenDialog
(
intf_thread_t
*
p_intf
,
CBaseWindow
*
p_parent
,
HINSTANCE
h_inst
,
int
_i_access
,
int
_i_arg
)
:
CBaseWindow
(
p_intf
,
p_parent
,
h_inst
)
{
/* Initializations */
p_intf
=
_p_intf
;
hInst
=
_hInst
;
i_current_access_method
=
_i_access_method
;
i_access
=
_i_access
;
i_open_arg
=
_i_arg
;
i_method
=
_i_method
;
for
(
int
i
=
0
;
i
<
4
;
i
++
)
{
...
...
@@ -94,6 +91,11 @@ OpenDialog::OpenDialog( intf_thread_t *_p_intf, HINSTANCE _hInst,
net_addrs_label
[
i
]
=
0
;
net_addrs
[
i
]
=
0
;
}
CreateWindow
(
_T
(
"VLC WinCE"
),
_T
(
"Messages"
),
WS_POPUP
|
WS_CAPTION
|
WS_SYSMENU
|
WS_SIZEBOX
,
0
,
0
,
/*CW_USEDEFAULT*/
300
,
/*CW_USEDEFAULT*/
300
,
p_parent
->
GetHandle
(),
NULL
,
h_inst
,
(
void
*
)
this
);
}
/***********************************************************************
...
...
@@ -108,36 +110,18 @@ PURPOSE:
LRESULT
OpenDialog
::
WndProc
(
HWND
hwnd
,
UINT
msg
,
WPARAM
wp
,
LPARAM
lp
)
{
SHINITDLGINFO
shidi
;
SHMENUBARINFO
mbi
;
INITCOMMONCONTROLSEX
iccex
;
// INITCOMMONCONTROLSEX structure
RECT
rcClient
;
TC_ITEM
tcItem
;
switch
(
msg
)
{
case
WM_
INITDIALOG
:
case
WM_
CREATE
:
shidi
.
dwMask
=
SHIDIM_FLAGS
;
shidi
.
dwFlags
=
SHIDIF_DONEBUTTON
|
SHIDIF_SIPDOWN
|
SHIDIF_FULLSCREENNOMENUBAR
;
//SHIDIF_SIZEDLGFULLSCREEN;
shidi
.
dwFlags
=
SHIDIF_DONEBUTTON
|
SHIDIF_FULLSCREENNOMENUBAR
;
shidi
.
hDlg
=
hwnd
;
SHInitDialog
(
&
shidi
);
//Create the menubar.
memset
(
&
mbi
,
0
,
sizeof
(
SHMENUBARINFO
)
);
mbi
.
cbSize
=
sizeof
(
SHMENUBARINFO
);
mbi
.
hwndParent
=
hwnd
;
mbi
.
dwFlags
=
SHCMBF_EMPTYBAR
;
mbi
.
hInstRes
=
hInst
;
if
(
!
SHCreateMenuBar
(
&
mbi
)
)
{
MessageBox
(
hwnd
,
_T
(
"SHCreateMenuBar failed"
),
_T
(
"Error"
),
MB_OK
);
//return -1;
}
hwndCB
=
mbi
.
hwndMB
;
// Get the client area rect to put the panels in
GetClientRect
(
hwnd
,
&
rcClient
);
...
...
@@ -183,7 +167,7 @@ LRESULT OpenDialog::WndProc( HWND hwnd, UINT msg, WPARAM wp, LPARAM lp )
tcItem
.
pszText
=
_T
(
"Network"
);
TabCtrl_InsertItem
(
notebook
,
1
,
&
tcItem
);
switch
(
i_
current_access_method
)
switch
(
i_
access
)
{
case
FILE_ACCESS
:
TabCtrl_SetCurSel
(
notebook
,
0
);
...
...
@@ -200,14 +184,19 @@ LRESULT OpenDialog::WndProc( HWND hwnd, UINT msg, WPARAM wp, LPARAM lp )
break
;
case
WM_CLOSE
:
EndDialog
(
hwnd
,
LOWORD
(
wp
)
);
Show
(
FALSE
);
return
TRUE
;
case
WM_SETFOCUS
:
SHFullScreen
(
hwnd
,
SHFS_SHOWSIPBUTTON
);
SHSipPreference
(
hwnd
,
SIP_DOWN
);
break
;
case
WM_COMMAND
:
if
(
LOWORD
(
wp
)
==
IDOK
)
{
OnOk
();
EndDialog
(
hwnd
,
LOWORD
(
wp
)
);
Show
(
FALSE
);
break
;
}
if
(
HIWORD
(
wp
)
==
BN_CLICKED
)
...
...
@@ -232,7 +221,6 @@ LRESULT OpenDialog::WndProc( HWND hwnd, UINT msg, WPARAM wp, LPARAM lp )
OnSubsFileSettings
(
hwnd
);
}
else
if
(
(
HWND
)
lp
==
browse_button
)
{
SHFullScreen
(
GetForegroundWindow
(),
SHFS_HIDESIPBUTTON
);
OnFileBrowse
();
}
break
;
...
...
@@ -273,7 +261,7 @@ LRESULT OpenDialog::WndProc( HWND hwnd, UINT msg, WPARAM wp, LPARAM lp )
break
;
}
return
FALSE
;
return
DefWindowProc
(
hwnd
,
msg
,
wp
,
lp
)
;
}
/*****************************************************************************
...
...
@@ -281,8 +269,8 @@ LRESULT OpenDialog::WndProc( HWND hwnd, UINT msg, WPARAM wp, LPARAM lp )
*****************************************************************************/
void
OpenDialog
::
FilePanel
(
HWND
hwnd
)
{
RECT
rc
;
GetWindowRect
(
notebook
,
&
rc
);
RECT
rc
;
GetWindowRect
(
notebook
,
&
rc
);
/* Create browse file line */
file_combo
=
CreateWindow
(
_T
(
"COMBOBOX"
),
_T
(
""
),
...
...
@@ -325,7 +313,7 @@ void OpenDialog::FilePanel( HWND hwnd )
}
void
OpenDialog
::
NetPanel
(
HWND
hwnd
)
{
{
INITCOMMONCONTROLSEX
ic
;
TCHAR
psz_text
[
256
];
...
...
@@ -343,7 +331,7 @@ void OpenDialog::NetPanel( HWND hwnd )
{
_T
(
"RTSP"
),
30
}
};
RECT
rc
;
RECT
rc
;
GetWindowRect
(
notebook
,
&
rc
);
/* UDP/RTP row */
...
...
@@ -474,7 +462,7 @@ void OpenDialog::NetPanel( HWND hwnd )
void
OpenDialog
::
UpdateMRL
()
{
UpdateMRL
(
i_
current_access_method
);
UpdateMRL
(
i_
access
);
}
void
OpenDialog
::
UpdateMRL
(
int
i_access_method
)
...
...
@@ -483,7 +471,7 @@ void OpenDialog::UpdateMRL( int i_access_method )
TCHAR
psz_text
[
2048
];
char
psz_tmp
[
256
];
i_
current_access_method
=
i_access_method
;
i_
access
=
i_access_method
;
switch
(
i_access_method
)
{
...
...
@@ -567,7 +555,7 @@ void OpenDialog::OnPageChange()
SetWindowPos
(
subsfile_button
,
HWND_TOP
,
0
,
0
,
0
,
0
,
SWP_NOMOVE
|
SWP_NOSIZE
);
i_
current_access_method
=
FILE_ACCESS
;
i_
access
=
FILE_ACCESS
;
}
else
if
(
TabCtrl_GetCurSel
(
notebook
)
==
1
)
{
...
...
@@ -599,7 +587,7 @@ void OpenDialog::OnPageChange()
SendMessage
(
net_radios
[
0
],
BM_SETCHECK
,
BST_CHECKED
,
0
);
i_
current_access_method
=
NET_ACCESS
;
i_
access
=
NET_ACCESS
;
}
UpdateMRL
();
...
...
@@ -675,53 +663,44 @@ void OpenDialog::OnFilePanelChange()
UpdateMRL
(
FILE_ACCESS
);
}
void
OpenDialog
::
OnFileBrowse
()
{
OPENFILENAME
ofn
;
static
TCHAR
szFilter
[]
=
_T
(
"All (*.*)
\0
*.*
\0
"
);
TCHAR
psz_file
[
PATH_MAX
]
=
_T
(
"
\0
"
);
TCHAR
psz_tmp
[
PATH_MAX
+
2
]
=
_T
(
"
\0
"
);
memset
(
&
ofn
,
0
,
sizeof
(
OPENFILENAME
));
ofn
.
lStructSize
=
sizeof
(
OPENFILENAME
);
ofn
.
hwndOwner
=
NULL
;
ofn
.
hInstance
=
hInst
;
ofn
.
lpstrFilter
=
szFilter
;
ofn
.
lpstrCustomFilter
=
NULL
;
ofn
.
nMaxCustFilter
=
0
;
ofn
.
nFilterIndex
=
1
;
ofn
.
lpstrFile
=
psz_file
;
ofn
.
nMaxFile
=
PATH_MAX
;
ofn
.
lpstrFileTitle
=
NULL
;
ofn
.
nMaxFileTitle
=
40
;
ofn
.
lpstrInitialDir
=
NULL
;
ofn
.
lpstrTitle
=
_T
(
"Open File"
);
ofn
.
Flags
=
0
;
ofn
.
nFileOffset
=
0
;
ofn
.
nFileExtension
=
0
;
ofn
.
lpstrDefExt
=
NULL
;
ofn
.
lCustData
=
0L
;
ofn
.
lpfnHook
=
NULL
;
ofn
.
lpTemplateName
=
NULL
;
if
(
GetOpenFile
(
&
ofn
)
)
static
void
OnOpenCB
(
intf_dialog_args_t
*
p_arg
)
{
OpenDialog
*
p_this
=
(
OpenDialog
*
)
p_arg
->
p_arg
;
char
psz_tmp
[
PATH_MAX
+
2
]
=
"
\0
"
;
if
(
p_arg
->
i_results
&&
p_arg
->
psz_results
[
0
]
)
{
if
(
_tcschr
(
ofn
.
lpstrFile
,
_T
(
' '
)
)
)
if
(
strchr
(
p_arg
->
psz_results
[
0
],
' '
)
)
{
_tcscat
(
psz_tmp
,
_T
(
"
\"
"
)
);
_tcscat
(
psz_tmp
,
ofn
.
lpstrFile
);
_tcscat
(
psz_tmp
,
_T
(
"
\"
"
)
);
strcat
(
psz_tmp
,
"
\"
"
);
strcat
(
psz_tmp
,
p_arg
->
psz_results
[
0
]
);
strcat
(
psz_tmp
,
"
\"
"
);
}
else
_tcscat
(
psz_tmp
,
ofn
.
lpstrFile
);
else
strcat
(
psz_tmp
,
p_arg
->
psz_results
[
0
]
);
SetWindowText
(
file_combo
,
psz_tmp
);
ComboBox_AddString
(
file_combo
,
psz_tmp
);
if
(
ComboBox_GetCount
(
file_combo
)
>
10
)
ComboBox_DeleteString
(
file_combo
,
0
);
SetWindowText
(
p_this
->
file_combo
,
_FROMMB
(
psz_tmp
)
);
ComboBox_AddString
(
p_this
->
file_combo
,
_FROMMB
(
psz_tmp
)
);
if
(
ComboBox_GetCount
(
p_this
->
file_combo
)
>
10
)
ComboBox_DeleteString
(
p_this
->
file_combo
,
0
);
UpdateMRL
(
FILE_ACCESS
);
p_this
->
UpdateMRL
(
FILE_ACCESS
);
}
}
void
OpenDialog
::
OnFileBrowse
()
{
intf_dialog_args_t
*
p_arg
=
(
intf_dialog_args_t
*
)
malloc
(
sizeof
(
intf_dialog_args_t
)
);
memset
(
p_arg
,
0
,
sizeof
(
intf_dialog_args_t
)
);
p_arg
->
psz_title
=
strdup
(
"Open file"
);
p_arg
->
psz_extensions
=
strdup
(
"All (*.*)|*.*"
);
p_arg
->
p_arg
=
this
;
p_arg
->
pf_callback
=
OnOpenCB
;
p_intf
->
p_sys
->
pf_show_dialog
(
p_intf
,
INTF_DIALOG_FILE_GENERIC
,
0
,
p_arg
);
}
/*****************************************************************************
* Net panel event methods.
*****************************************************************************/
...
...
@@ -818,7 +797,7 @@ void OpenDialog::OnSubsFileSettings( HWND hwnd )
{
/* Show/hide the open dialog */
SubsFileDialog
*
subsfile_dialog
=
new
SubsFileDialog
(
p_intf
,
hInst
);
SubsFileDialog
*
subsfile_dialog
=
new
SubsFileDialog
(
p_intf
,
this
,
hInst
);
CreateDialogBox
(
hwnd
,
subsfile_dialog
);
subsfile_mrl
.
clear
();
...
...
modules/gui/wince/playlist.cpp
View file @
39c68369
This diff is collapsed.
Click to expand it.
modules/gui/wince/preferences.cpp
View file @
39c68369
...
...
@@ -142,11 +142,11 @@ public:
/*****************************************************************************
* Constructor.
*****************************************************************************/
PrefsDialog
::
PrefsDialog
(
intf_thread_t
*
_p_intf
,
HINSTANCE
_hInst
)
PrefsDialog
::
PrefsDialog
(
intf_thread_t
*
p_intf
,
CBaseWindow
*
p_parent
,
HINSTANCE
h_inst
)
:
CBaseWindow
(
p_intf
,
p_parent
,
h_inst
)
{
/* Initializations */
p_intf
=
_p_intf
;
hInst
=
_hInst
;
prefs_tree
=
NULL
;
}
...
...
@@ -226,6 +226,10 @@ LRESULT PrefsDialog::WndProc( HWND hwnd, UINT msg, WPARAM wp, LPARAM lp )
EndDialog
(
hwnd
,
LOWORD
(
wp
)
);
break
;
case
WM_SETFOCUS
:
SHFullScreen
(
hwnd
,
SHFS_SHOWSIPBUTTON
);
break
;
case
WM_COMMAND
:
if
(
LOWORD
(
wp
)
==
IDOK
)
{
...
...
modules/gui/wince/subtitles.cpp
View file @
39c68369
...
...
@@ -46,11 +46,10 @@
/*****************************************************************************
* Constructor.
*****************************************************************************/
SubsFileDialog
::
SubsFileDialog
(
intf_thread_t
*
_p_intf
,
HINSTANCE
_hInst
)
SubsFileDialog
::
SubsFileDialog
(
intf_thread_t
*
p_intf
,
CBaseWindow
*
p_parent
,
HINSTANCE
h_inst
)
:
CBaseWindow
(
p_intf
,
p_parent
,
h_inst
)
{
/* Initializations */
p_intf
=
_p_intf
;
hInst
=
_hInst
;
}
/***********************************************************************
...
...
@@ -223,6 +222,10 @@ LRESULT SubsFileDialog::WndProc( HWND hwnd, UINT msg, WPARAM wp, LPARAM lp )
EndDialog
(
hwnd
,
LOWORD
(
wp
)
);
break
;
case
WM_SETFOCUS
:
SHFullScreen
(
hwnd
,
SHFS_SHOWSIPBUTTON
);
break
;
case
WM_COMMAND
:
if
(
LOWORD
(
wp
)
==
IDOK
)
{
...
...
@@ -278,38 +281,30 @@ LRESULT SubsFileDialog::WndProc( HWND hwnd, UINT msg, WPARAM wp, LPARAM lp )
/*****************************************************************************
* Events methods.
*****************************************************************************/
void
SubsFileDialog
::
OnFileBrowse
(
)
static
void
OnOpenCB
(
intf_dialog_args_t
*
p_arg
)
{
OPENFILENAME
ofn
;
TCHAR
DateiName
[
80
+
1
]
=
_T
(
"
\0
"
);
static
TCHAR
szFilter
[]
=
_T
(
"All (*.*)
\0
*.*
\0
"
);
memset
(
&
ofn
,
0
,
sizeof
(
OPENFILENAME
));
ofn
.
lStructSize
=
sizeof
(
OPENFILENAME
);
ofn
.
hwndOwner
=
NULL
;
ofn
.
hInstance
=
hInst
;
ofn
.
lpstrFilter
=
szFilter
;
ofn
.
lpstrCustomFilter
=
NULL
;
ofn
.
nMaxCustFilter
=
0
;
ofn
.
nFilterIndex
=
1
;
ofn
.
lpstrFile
=
(
LPTSTR
)
DateiName
;
ofn
.
nMaxFile
=
80
;
ofn
.
lpstrFileTitle
=
NULL
;
ofn
.
nMaxFileTitle
=
40
;
ofn
.
lpstrInitialDir
=
NULL
;
ofn
.
lpstrTitle
=
_T
(
"Open File"
);
ofn
.
Flags
=
0
;
ofn
.
nFileOffset
=
0
;
ofn
.
nFileExtension
=
0
;
ofn
.
lpstrDefExt
=
NULL
;
ofn
.
lCustData
=
0L
;
ofn
.
lpfnHook
=
NULL
;
ofn
.
lpTemplateName
=
NULL
;
if
(
GetOpenFile
(
&
ofn
)
)
SubsFileDialog
*
p_this
=
(
SubsFileDialog
*
)
p_arg
->
p_arg
;
if
(
p_arg
->
i_results
&&
p_arg
->
psz_results
[
0
]
)
{
SetWindowText
(
file_combo
,
ofn
.
lpstrFile
);
ComboBox_AddString
(
file_combo
,
ofn
.
lpstrFile
);
if
(
ComboBox_GetCount
(
file_combo
)
>
10
)
ComboBox_DeleteString
(
file_combo
,
0
);
SetWindowText
(
p_this
->
file_combo
,
_FROMMB
(
p_arg
->
psz_results
[
0
])
);
ComboBox_AddString
(
p_this
->
file_combo
,
_FROMMB
(
p_arg
->
psz_results
[
0
])
);
if
(
ComboBox_GetCount
(
p_this
->
file_combo
)
>
10
)
ComboBox_DeleteString
(
p_this
->
file_combo
,
0
);
}
}
void
SubsFileDialog
::
OnFileBrowse
()
{
intf_dialog_args_t
*
p_arg
=
(
intf_dialog_args_t
*
)
malloc
(
sizeof
(
intf_dialog_args_t
)
);
memset
(
p_arg
,
0
,
sizeof
(
intf_dialog_args_t
)
);
p_arg
->
psz_title
=
strdup
(
"Open file"
);
p_arg
->
psz_extensions
=
strdup
(
"All|*.*"
);
p_arg
->
p_arg
=
this
;
p_arg
->
pf_callback
=
OnOpenCB
;
p_intf
->
p_sys
->
pf_show_dialog
(
p_intf
,
INTF_DIALOG_FILE_GENERIC
,
0
,
p_arg
);
}
modules/gui/wince/video.cpp
View file @
39c68369
...
...
@@ -197,13 +197,11 @@ LRESULT VideoWindow::WndProc( HWND hwnd, UINT msg, WPARAM wp, LPARAM lp )
switch
(
msg
)
{
case
WM_KILLFOCUS
:
msg_Err
(
p_intf
,
"WM_KILLFOCUS1"
);
if
(
p_vout
)
vout_Control
(
p_vout
,
VOUT_SET_FOCUS
,
(
vlc_bool_t
)
VLC_FALSE
);
return
TRUE
;
case
WM_SETFOCUS
:
msg_Err
(
p_intf
,
"WM_SETFOCUS1"
);
if
(
p_vout
)
vout_Control
(
p_vout
,
VOUT_SET_FOCUS
,
(
vlc_bool_t
)
VLC_TRUE
);
return
TRUE
;
...
...
modules/gui/wince/wince.cpp
View file @
39c68369
...
...
@@ -36,8 +36,6 @@
#include "wince.h"
#include <objbase.h>
#include <commctrl.h>
#include <commdlg.h>
/*****************************************************************************
* Local prototypes.
...
...
@@ -46,6 +44,11 @@ static int Open ( vlc_object_t * );
static
void
Close
(
vlc_object_t
*
);
static
void
Run
(
intf_thread_t
*
);
static
int
OpenDialogs
(
vlc_object_t
*
);
static
void
MainLoop
(
intf_thread_t
*
);
static
void
ShowDialog
(
intf_thread_t
*
,
int
,
int
,
intf_dialog_args_t
*
);
/*****************************************************************************
* Module descriptor
*****************************************************************************/
...
...
@@ -62,6 +65,11 @@ vlc_module_begin();
add_bool
(
"wince-embed"
,
1
,
NULL
,
EMBED_TEXT
,
EMBED_LONGTEXT
,
VLC_FALSE
);
add_submodule
();
set_description
(
_
(
"WinCE dialogs provider"
)
);
set_capability
(
"dialogs provider"
,
10
);
set_callbacks
(
OpenDialogs
,
Close
);
vlc_module_end
();
HINSTANCE
hInstance
=
0
;
...
...
@@ -113,6 +121,7 @@ static int Open( vlc_object_t *p_this )
p_intf
->
p_sys
->
p_settings_menu
=
NULL
;
p_intf
->
pf_run
=
Run
;
p_intf
->
pf_show_dialog
=
NULL
;
p_intf
->
p_sys
->
p_input
=
NULL
;
p_intf
->
p_sys
->
b_playing
=
0
;
...
...
@@ -120,19 +129,17 @@ static int Open( vlc_object_t *p_this )
p_intf
->
p_sys
->
b_slider_free
=
1
;
p_intf
->
p_sys
->
i_slider_pos
=
p_intf
->
p_sys
->
i_slider_oldpos
=
0
;
p_intf
->
p_sys
->
GetOpenFile
=
0
;
p_intf
->
p_sys
->
h_gsgetfile_dll
=
LoadLibrary
(
_T
(
"gsgetfile"
)
);
if
(
p_intf
->
p_sys
->
h_gsgetfile_dll
)
{
p_intf
->
p_sys
->
GetOpenFile
=
(
BOOL
(
WINAPI
*
)(
void
*
))
GetProcAddress
(
p_intf
->
p_sys
->
h_gsgetfile_dll
,
_T
(
"gsGetOpenFileName"
)
);
}
return
VLC_SUCCESS
;
}
static
int
OpenDialogs
(
vlc_object_t
*
p_this
)
{
intf_thread_t
*
p_intf
=
(
intf_thread_t
*
)
p_this
;
int
i_ret
=
Open
(
p_this
);
if
(
!
p_intf
->
p_sys
->
GetOpenFile
)
p_intf
->
p_sys
->
GetOpenFile
=
(
BOOL
(
WINAPI
*
)(
void
*
))
GetOpenFileName
;
p_intf
->
pf_show_dialog
=
ShowDialog
;
return
VLC_SUCCESS
;
return
i_ret
;
}
/*****************************************************************************
...
...
@@ -156,12 +163,19 @@ static void Close( vlc_object_t *p_this )
MenuItemExt
::
ClearList
(
p_intf
->
p_sys
->
p_navig_menu
);
delete
p_intf
->
p_sys
->
p_navig_menu
;
if
(
p_intf
->
pf_show_dialog
)
{
/* We must destroy the dialogs thread */
#if 0
wxCommandEvent event( wxEVT_DIALOG, INTF_DIALOG_EXIT );
p_intf->p_sys->p_wxwindow->AddPendingEvent( event );
#endif
vlc_thread_join
(
p_intf
);
}
// Unsuscribe to messages bank
msg_Unsubscribe
(
p_intf
,
p_intf
->
p_sys
->
p_sub
);
if
(
p_intf
->
p_sys
->
h_gsgetfile_dll
)
FreeLibrary
(
p_intf
->
p_sys
->
h_gsgetfile_dll
);
// Destroy structure
free
(
p_intf
->
p_sys
);
}
...
...
@@ -170,6 +184,27 @@ static void Close( vlc_object_t *p_this )
* Run: main loop
*****************************************************************************/
static
void
Run
(
intf_thread_t
*
p_intf
)
{
if
(
p_intf
->
pf_show_dialog
)
{
/* The module is used in dialog provider mode */
/* Create a new thread for the dialogs provider */
if
(
vlc_thread_create
(
p_intf
,
"Skins Dialogs Thread"
,
MainLoop
,
0
,
VLC_TRUE
)
)
{
msg_Err
(
p_intf
,
"cannot create Skins Dialogs Thread"
);
p_intf
->
pf_show_dialog
=
NULL
;
}
}
else
{
/* The module is used in interface mode */
MainLoop
(
p_intf
);
}
}
static
void
MainLoop
(
intf_thread_t
*
p_intf
)
{
MSG
msg
;
Interface
intf
;
...
...
@@ -177,12 +212,63 @@ static void Run( intf_thread_t *p_intf )
p_intf
->
p_sys
->
p_main_window
=
&
intf
;
if
(
!
hInstance
)
hInstance
=
GetModuleHandle
(
NULL
);
// Register window class
WNDCLASS
wc
;
wc
.
style
=
CS_HREDRAW
|
CS_VREDRAW
;
wc
.
lpfnWndProc
=
(
WNDPROC
)
CBaseWindow
::
BaseWndProc
;
wc
.
cbClsExtra
=
0
;
wc
.
cbWndExtra
=
0
;
wc
.
hIcon
=
NULL
;
wc
.
hInstance
=
hInstance
;
wc
.
hCursor
=
NULL
;
wc
.
hbrBackground
=
(
HBRUSH
)(
COLOR_MENU
+
1
);
wc
.
lpszMenuName
=
NULL
;
wc
.
lpszClassName
=
_T
(
"VLC WinCE"
);
RegisterClass
(
&
wc
);
#ifndef UNDER_CE
/* Initialize OLE/COM */
CoInitialize
(
0
);
#endif
if
(
!
intf
.
InitInstance
(
hInstance
,
p_intf
)
)
return
;
if
(
!
p_intf
->
pf_show_dialog
)
{
/* The module is used in interface mode */
p_intf
->
p_sys
->
p_window
=
&
intf
;
/* Create/Show the interface */
if
(
!
intf
.
InitInstance
(
hInstance
,
p_intf
)
)
{
#ifndef UNDER_CE
/* Uninitialize OLE/COM */
CoUninitialize
();
#endif
return
;
}
}
/* Creates the dialogs provider */
p_intf
->
p_sys
->
p_window
=
CreateDialogsProvider
(
p_intf
,
p_intf
->
pf_show_dialog
?
NULL
:
p_intf
->
p_sys
->
p_window
,
hInstance
);
p_intf
->
p_sys
->
pf_show_dialog
=
ShowDialog
;
/* OK, initialization is over */
vlc_thread_ready
(
p_intf
);
/* Check if we need to start playing */
if
(
!
p_intf
->
pf_show_dialog
&&
p_intf
->
b_play
)
{
playlist_t
*
p_playlist
=
(
playlist_t
*
)
vlc_object_find
(
p_intf
,
VLC_OBJECT_PLAYLIST
,
FIND_ANYWHERE
);
if
(
p_playlist
)
{
playlist_Play
(
p_playlist
);
vlc_object_release
(
p_playlist
);
}
}
// Main message loop
while
(
GetMessage
(
&
msg
,
NULL
,
0
,
0
)
>
0
)
...
...
@@ -196,3 +282,74 @@ static void Run( intf_thread_t *p_intf )
CoUninitialize
();
#endif
}
/*****************************************************************************
* CBaseWindow Implementation
*****************************************************************************/
LRESULT
CALLBACK
CBaseWindow
::
BaseWndProc
(
HWND
hwnd
,
UINT
msg
,
WPARAM
wParam
,
LPARAM
lParam
)
{
CBaseWindow
*
p_obj
;
// check to see if a copy of the 'this' pointer needs to be saved
if
(
msg
==
WM_CREATE
)
{
p_obj
=
(
CBaseWindow
*
)(((
LPCREATESTRUCT
)
lParam
)
->
lpCreateParams
);
SetWindowLong
(
hwnd
,
GWL_USERDATA
,
(
LONG
)((
LPCREATESTRUCT
)
lParam
)
->
lpCreateParams
);
p_obj
->
hWnd
=
hwnd
;
}
if
(
msg
==
WM_INITDIALOG
)
{
p_obj
=
(
CBaseWindow
*
)
lParam
;
SetWindowLong
(
hwnd
,
GWL_USERDATA
,
lParam
);
p_obj
->
hWnd
=
hwnd
;
}
// Retrieve the pointer
p_obj
=
(
CBaseWindow
*
)
GetWindowLong
(
hwnd
,
GWL_USERDATA
);
if
(
!
p_obj
)
return
DefWindowProc
(
hwnd
,
msg
,
wParam
,
lParam
);
// Filter message through child classes
return
p_obj
->
WndProc
(
hwnd
,
msg
,
wParam
,
lParam
);
}
int
CBaseWindow
::
CreateDialogBox
(
HWND
hwnd
,
CBaseWindow
*
p_obj
)
{
uint8_t
p_buffer
[
sizeof
(
DLGTEMPLATE
)
+
sizeof
(
WORD
)
*
4
];
DLGTEMPLATE
*
p_dlg_template
=
(
DLGTEMPLATE
*
)
p_buffer
;
memset
(
p_dlg_template
,
0
,
sizeof
(
DLGTEMPLATE
)
+
sizeof
(
WORD
)
*
4
);
// these values are arbitrary, they won't be used normally anyhow
p_dlg_template
->
x
=
0
;
p_dlg_template
->
y
=
0
;
p_dlg_template
->
cx
=
300
;
p_dlg_template
->
cy
=
300
;
p_dlg_template
->
style
=
DS_MODALFRAME
|
WS_POPUP
|
WS_CAPTION
|
WS_SYSMENU
|
WS_SIZEBOX
;
return
DialogBoxIndirectParam
(
GetModuleHandle
(
0
),
p_dlg_template
,
hwnd
,
(
DLGPROC
)
p_obj
->
BaseWndProc
,
(
LPARAM
)
p_obj
);
}
/*****************************************************************************
* ShowDialog
*****************************************************************************/
static
void
ShowDialog
(
intf_thread_t
*
p_intf
,
int
i_dialog_event
,
int
i_arg
,
intf_dialog_args_t
*
p_arg
)
{
SendMessage
(
p_intf
->
p_sys
->
p_window
->
GetHandle
(),
WM_CANCELMODE
,
0
,
0
);
if
(
i_dialog_event
==
INTF_DIALOG_POPUPMENU
&&
i_arg
==
0
)
return
;
/* Hack to prevent popup events to be enqueued when
* one is already active */
#if 0
if( i_dialog_event != INTF_DIALOG_POPUPMENU ||
!p_intf->p_sys->p_popup_menu )
#endif
{
SendMessage
(
p_intf
->
p_sys
->
p_window
->
GetHandle
(),
WM_APP
+
i_dialog_event
,
(
WPARAM
)
i_arg
,
(
LPARAM
)
p_arg
);
}
}
modules/gui/wince/wince.h
View file @
39c68369
...
...
@@ -55,6 +55,9 @@ class VideoWindow;
*****************************************************************************/
struct
intf_sys_t
{
/* the parent window */
CBaseWindow
*
p_window
;
/* special actions */
vlc_bool_t
b_playing
;
...
...
@@ -85,14 +88,8 @@ struct intf_sys_t
vector
<
MenuItemExt
*>
*
p_settings_menu
;
VideoWindow
*
p_video_window
;
/* GetOpenFileName replacement */
BOOL
(
WINAPI
*
GetOpenFile
)(
void
*
);
HMODULE
h_gsgetfile_dll
;
};
#define GetOpenFile(a) p_intf->p_sys->GetOpenFile(a)
/*****************************************************************************
* Prototypes
*****************************************************************************/
...
...
@@ -100,7 +97,9 @@ struct intf_sys_t
class
CBaseWindow
{
public:
CBaseWindow
()
:
hWnd
(
0
),
hInst
(
0
)
{};
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
...
...
@@ -108,6 +107,10 @@ public:
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
...
...
@@ -116,7 +119,8 @@ protected:
HINSTANCE
GetInstance
()
const
{
return
hInst
;
}
virtual
LRESULT
WndProc
(
HWND
,
UINT
,
WPARAM
,
LPARAM
)
{
return
0
;
};
intf_thread_t
*
p_intf
;
CBaseWindow
*
p_parent
;
intf_thread_t
*
p_intf
;
};
class
FileInfo
;
...
...
@@ -126,6 +130,7 @@ 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
);
...
...
@@ -154,33 +159,28 @@ public:
HMENU
hPopUpMenu
;
HMENU
hMenu
;
FileInfo
*
fileinfo
;
Messages
*
messages
;
PrefsDialog
*
preferences
;
Playlist
*
playlist
;
Timer
*
timer
;
OpenDialog
*
open
;
CBaseWindow
*
video
;
protected:
virtual
LRESULT
WndProc
(
HWND
,
UINT
,
WPARAM
,
LPARAM
);
void
OnOpenFileSimple
(
void
);
void
OnOpenDirectory
(
void
);
void
OnPlayStream
(
void
);
void
OnVideoOnTop
(
void
);
void
OnShowDialog
(
int
);
void
OnSliderUpdate
(
int
wp
);
void
OnChange
(
int
wp
);
void
VolumeChange
(
int
i_volume
);
void
VolumeUpdate
(
void
);
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:
...
...
@@ -197,9 +197,11 @@ class FileInfo : public CBaseWindow
{
public:
/* Constructor */
FileInfo
(
intf_thread_t
*
_p_intf
,
HINSTANCE
_hInst
);
FileInfo
(
intf_thread_t
*
,
CBaseWindow
*
,
HINSTANCE
);
virtual
~
FileInfo
(){};
void
UpdateFileInfo
(
void
);
protected:
HWND
hwnd_fileinfo
;
// handle to fileinfo window
...
...
@@ -209,7 +211,6 @@ protected:
TCHAR
szFileInfoTitle
[
100
];
// Main window name
virtual
LRESULT
WndProc
(
HWND
,
UINT
,
WPARAM
,
LPARAM
);
void
UpdateFileInfo
(
HWND
);
BOOL
CreateTreeView
(
HWND
);
};
...
...
@@ -218,16 +219,16 @@ class Messages : public CBaseWindow
{
public:
/* Constructor */
Messages
(
intf_thread_t
*
_p_intf
,
HINSTANCE
_hInst
);
Messages
(
intf_thread_t
*
,
CBaseWindow
*
,
HINSTANCE
);
virtual
~
Messages
(){};
void
UpdateLog
(
void
);
protected:
virtual
LRESULT
WndProc
(
HWND
,
UINT
,
WPARAM
,
LPARAM
);
HWND
hListView
;
void
UpdateLog
(
void
);
vlc_bool_t
b_verbose
;
};
...
...
@@ -236,7 +237,8 @@ class ItemInfoDialog : public CBaseWindow
{
public:
/* Constructor */
ItemInfoDialog
(
intf_thread_t
*
,
HINSTANCE
,
playlist_item_t
*
);
ItemInfoDialog
(
intf_thread_t
*
,
CBaseWindow
*
,
HINSTANCE
,
playlist_item_t
*
);
virtual
~
ItemInfoDialog
(){};
protected:
...
...
@@ -271,13 +273,14 @@ class OpenDialog : public CBaseWindow
{
public:
/* Constructor */
OpenDialog
(
intf_thread_t
*
_p_intf
,
HINSTANCE
_hInst
,
int
_i_access_method
,
int
_i_arg
,
int
_i_method
);
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
);
...
...
@@ -289,7 +292,6 @@ protected:
HWND
notebook
;
HWND
file_combo
;
HWND
browse_button
;
HWND
subsfile_checkbox
;
HWND
subsfile_label
;
...
...
@@ -306,12 +308,11 @@ protected:
HWND
net_addrs_label
[
4
];
HWND
net_addrs
[
4
];
int
i_current_access_method
;
int
i_method
;
/* Normal or for the stream dialog ? */
int
i_open_arg
;
int
i_access
;
int
i_net_type
;
void
FilePanel
(
HWND
hwnd
);
void
NetPanel
(
HWND
hwnd
);
...
...
@@ -337,16 +338,16 @@ class SubsFileDialog: public CBaseWindow
{
public:
/* Constructor */
SubsFileDialog
(
intf_thread_t
*
_p_intf
,
HINSTANCE
_hInst
);
SubsFileDialog
(
intf_thread_t
*
,
CBaseWindow
*
,
HINSTANCE
);
virtual
~
SubsFileDialog
(){};
vector
<
string
>
subsfile_mrl
;
HWND
file_combo
;
protected:
friend
class
OpenDialog
;
HWND
file_box
;
HWND
file_combo
;
HWND
browse_button
;
HWND
enc_box
;
...
...
@@ -372,9 +373,12 @@ class Playlist : public CBaseWindow
{
public:
/* Constructor */
Playlist
(
intf_thread_t
*
_p_intf
,
HINSTANCE
_hInst
);
Playlist
(
intf_thread_t
*
,
CBaseWindow
*
,
HINSTANCE
);
virtual
~
Playlist
(){};
void
UpdatePlaylist
();
void
ShowPlaylist
(
bool
);
protected:
bool
b_need_update
;
...
...
@@ -387,7 +391,6 @@ protected:
HWND
hwndTB
;
// Handle to the toolbar.
HWND
hListView
;
void
UpdatePlaylist
();
void
Rebuild
();
void
UpdateItem
(
int
);
LRESULT
ProcessCustomDraw
(
LPARAM
lParam
);
...
...
@@ -397,8 +400,6 @@ protected:
void
OnOpen
();
void
OnSave
();
void
OnAddFile
();
void
OnAddMRL
();
void
OnDeleteSelection
();
void
OnInvertSelection
();
...
...
@@ -431,7 +432,7 @@ class Timer
{
public:
/* Constructor */
Timer
(
intf_thread_t
*
p_intf
,
HWND
hwnd
,
Interface
*
_p_main_interface
);
Timer
(
intf_thread_t
*
p_intf
,
HWND
hwnd
,
Interface
*
_p_main_interface
);
virtual
~
Timer
();
void
Notify
(
void
);
...
...
@@ -491,7 +492,7 @@ class PrefsDialog: public CBaseWindow
{
public:
/* Constructor */
PrefsDialog
(
intf_thread_t
*
_p_intf
,
HINSTANCE
_hInst
);
PrefsDialog
(
intf_thread_t
*
,
CBaseWindow
*
,
HINSTANCE
);
virtual
~
PrefsDialog
(){};
protected:
...
...
@@ -547,6 +548,7 @@ protected:
*****************************************************************************/
#define _WIN32_IE 0x0500
#define SHFS_SHOWSIPBUTTON 0x0004
#define SHFS_HIDESIPBUTTON 0x0008
#define SHIDIM_FLAGS 0x0001
#define SHIDIF_DONEBUTTON 0x0001
...
...
@@ -554,7 +556,6 @@ protected:
#define SHIDIF_FULLSCREENNOMENUBAR 0x0010
#define SHCMBF_HMENU 0x0010
#define SHCMBF_EMPTYBAR 0x0001
#define SHFS_SHOWSIPBUTTON 0x0004
#define GN_CONTEXTMENU 1000
#define SHRG_RETURNCMD 0x0001
#define SHRG_NOTIFYPARENT 0x0002
...
...
@@ -613,6 +614,29 @@ extern "C" {
}
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 )
...
...
@@ -620,6 +644,9 @@ extern "C" {
# 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
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment