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
fa81e26c
Commit
fa81e26c
authored
Feb 25, 2005
by
Gildas Bazin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
* ../modules/gui/wince: new CreateMenuBar() which handles win32 as well.
parent
4edf30a1
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
125 additions
and
65 deletions
+125
-65
modules/gui/wince/interface.cpp
modules/gui/wince/interface.cpp
+111
-45
modules/gui/wince/wince.h
modules/gui/wince/wince.h
+10
-7
modules/gui/wince/wince_rc.rc
modules/gui/wince/wince_rc.rc
+4
-13
No files found.
modules/gui/wince/interface.cpp
View file @
fa81e26c
...
@@ -144,15 +144,105 @@ BOOL Interface::InitInstance( HINSTANCE hInstance, intf_thread_t *_p_intf )
...
@@ -144,15 +144,105 @@ BOOL Interface::InitInstance( HINSTANCE hInstance, intf_thread_t *_p_intf )
}
}
/***********************************************************************
/***********************************************************************
FUNCTION:
CreateMenuBar
PURPOSE:
Creates a menu bar.
***********************************************************************/
HWND
CreateMenuBar
(
HWND
hwnd
,
HINSTANCE
hInst
)
{
#ifdef UNDER_CE
SHMENUBARINFO
mbi
;
memset
(
&
mbi
,
0
,
sizeof
(
SHMENUBARINFO
)
);
mbi
.
cbSize
=
sizeof
(
SHMENUBARINFO
);
mbi
.
hwndParent
=
hwnd
;
mbi
.
hInstRes
=
hInst
;
mbi
.
nToolBarId
=
IDR_MENUBAR
;
if
(
!
SHCreateMenuBar
(
&
mbi
)
)
{
MessageBox
(
hwnd
,
_T
(
"SHCreateMenuBar Failed"
),
_T
(
"Error"
),
MB_OK
);
return
0
;
}
TBBUTTONINFO
tbbi
;
tbbi
.
cbSize
=
sizeof
(
tbbi
);
tbbi
.
dwMask
=
TBIF_LPARAM
;
SendMessage
(
mbi
.
hwndMB
,
TB_GETBUTTONINFO
,
IDM_FILE
,
(
LPARAM
)
&
tbbi
);
HMENU
hmenu_file
=
(
HMENU
)
tbbi
.
lParam
;
RemoveMenu
(
hmenu_file
,
0
,
MF_BYPOSITION
);
SendMessage
(
mbi
.
hwndMB
,
TB_GETBUTTONINFO
,
IDM_VIEW
,
(
LPARAM
)
&
tbbi
);
HMENU
hmenu_view
=
(
HMENU
)
tbbi
.
lParam
;
RemoveMenu
(
hmenu_view
,
0
,
MF_BYPOSITION
);
SendMessage
(
mbi
.
hwndMB
,
TB_GETBUTTONINFO
,
IDM_SETTINGS
,
(
LPARAM
)
&
tbbi
);
HMENU
hmenu_settings
=
(
HMENU
)
tbbi
.
lParam
;
#else
HMENU
hmenu_file
=
CreatePopupMenu
();
HMENU
hmenu_view
=
CreatePopupMenu
();
HMENU
hmenu_settings
=
CreatePopupMenu
();
HMENU
hmenu_audio
=
CreatePopupMenu
();
HMENU
hmenu_video
=
CreatePopupMenu
();
HMENU
hmenu_navigation
=
CreatePopupMenu
();
#endif
AppendMenu
(
hmenu_file
,
MF_STRING
,
ID_FILE_QUICKOPEN
,
_T
(
"Quick &Open File"
)
);
AppendMenu
(
hmenu_file
,
MF_SEPARATOR
,
0
,
0
);
AppendMenu
(
hmenu_file
,
MF_STRING
,
ID_FILE_OPENFILE
,
_T
(
"Open &File"
)
);
AppendMenu
(
hmenu_file
,
MF_STRING
,
ID_FILE_OPENNET
,
_T
(
"Open Network Stream"
)
);
AppendMenu
(
hmenu_file
,
MF_SEPARATOR
,
0
,
0
);
AppendMenu
(
hmenu_file
,
MF_STRING
,
ID_FILE_ABOUT
,
_T
(
"About VLC"
)
);
AppendMenu
(
hmenu_file
,
MF_STRING
,
ID_FILE_EXIT
,
_T
(
"E&xit"
)
);
AppendMenu
(
hmenu_view
,
MF_STRING
,
ID_VIEW_PLAYLIST
,
_T
(
"&Playlist"
)
);
AppendMenu
(
hmenu_view
,
MF_STRING
,
ID_VIEW_MESSAGES
,
_T
(
"&Messages"
)
);
AppendMenu
(
hmenu_view
,
MF_STRING
,
ID_VIEW_STREAMINFO
,
_T
(
"&Stream and Media info"
)
);
AppendMenu
(
hmenu_settings
,
MF_STRING
,
ID_SETTINGS_EXTEND
,
_T
(
"&Extended GUI"
)
);
AppendMenu
(
hmenu_settings
,
MF_STRING
,
ID_SETTINGS_PREF
,
_T
(
"&Preferences..."
)
);
#ifdef UNDER_CE
return
mbi
.
hwndMB
;
#else
HMENU
hmenu
=
CreateMenu
();
AppendMenu
(
hmenu
,
MF_POPUP
|
MF_STRING
,
(
UINT
)
hmenu_file
,
_T
(
"File"
)
);
AppendMenu
(
hmenu
,
MF_POPUP
|
MF_STRING
,
(
UINT
)
hmenu_view
,
_T
(
"View"
)
);
AppendMenu
(
hmenu
,
MF_POPUP
|
MF_STRING
,
(
UINT
)
hmenu_settings
,
_T
(
"Settings"
)
);
AppendMenu
(
hmenu
,
MF_POPUP
|
MF_STRING
,
(
UINT
)
hmenu_audio
,
_T
(
"Audio"
)
);
AppendMenu
(
hmenu
,
MF_POPUP
|
MF_STRING
,
(
UINT
)
hmenu_video
,
_T
(
"Video"
)
);
AppendMenu
(
hmenu
,
MF_POPUP
|
MF_STRING
,
(
UINT
)
hmenu_navigation
,
_T
(
"Nav."
)
);
SetMenu
(
hwnd
,
hmenu
);
return
hwnd
;
#endif
}
/***********************************************************************
FUNCTION:
FUNCTION:
CreateTool
b
ar
CreateTool
B
ar
PURPOSE:
PURPOSE:
Registers the TOOLBAR control class and creates a toolbar.
Registers the TOOLBAR control class and creates a toolbar.
***********************************************************************/
***********************************************************************/
HWND
WINAPI
Interface
::
CreateToolbar
(
HWND
hwnd
)
HWND
CreateToolBar
(
HWND
hwnd
,
HINSTANCE
hInst
)
{
{
DWORD
dwStyle
;
DWORD
dwStyle
;
HWND
hwndTB
;
HWND
hwndTB
;
...
@@ -191,13 +281,13 @@ HWND WINAPI Interface::CreateToolbar( HWND hwnd )
...
@@ -191,13 +281,13 @@ HWND WINAPI Interface::CreateToolbar( HWND hwnd )
/***********************************************************************
/***********************************************************************
FUNCTION:
FUNCTION:
CreateSlider
b
ar
CreateSlider
B
ar
PURPOSE:
PURPOSE:
Registers the TRACKBAR_CLASS control class and creates a trackbar.
Registers the TRACKBAR_CLASS control class and creates a trackbar.
***********************************************************************/
***********************************************************************/
HWND
WINAPI
Interface
::
CreateSliderbar
(
HWND
hwnd
)
HWND
CreateSliderBar
(
HWND
hwnd
,
HINSTANCE
hInst
)
{
{
HWND
hwndSlider
;
HWND
hwndSlider
;
RECT
rect
;
RECT
rect
;
...
@@ -231,7 +321,7 @@ HWND WINAPI Interface::CreateSliderbar( HWND hwnd )
...
@@ -231,7 +321,7 @@ HWND WINAPI Interface::CreateSliderbar( HWND hwnd )
return
hwndSlider
;
return
hwndSlider
;
}
}
HWND
WINAPI
Interface
::
CreateStaticText
(
HWND
hwnd
)
HWND
CreateStaticText
(
HWND
hwnd
,
HINSTANCE
hInst
)
{
{
HWND
hwndLabel
;
HWND
hwndLabel
;
RECT
rect
;
RECT
rect
;
...
@@ -256,13 +346,13 @@ HWND WINAPI Interface::CreateStaticText( HWND hwnd )
...
@@ -256,13 +346,13 @@ HWND WINAPI Interface::CreateStaticText( HWND hwnd )
/***********************************************************************
/***********************************************************************
FUNCTION:
FUNCTION:
CreateVolTrack
b
ar
CreateVolTrack
B
ar
PURPOSE:
PURPOSE:
Registers the TRACKBAR_CLASS control class and creates a trackbar.
Registers the TRACKBAR_CLASS control class and creates a trackbar.
***********************************************************************/
***********************************************************************/
HWND
WINAPI
Interface
::
CreateVolTrackbar
(
HWND
hwnd
)
HWND
CreateVolTrackBar
(
HWND
hwnd
,
HINSTANCE
hInst
)
{
{
HWND
hwndVol
;
HWND
hwndVol
;
RECT
rect
;
RECT
rect
;
...
@@ -300,13 +390,13 @@ HWND WINAPI Interface::CreateVolTrackbar( HWND hwnd )
...
@@ -300,13 +390,13 @@ HWND WINAPI Interface::CreateVolTrackbar( HWND hwnd )
/***********************************************************************
/***********************************************************************
FUNCTION:
FUNCTION:
CreateStatus
b
ar
CreateStatus
B
ar
PURPOSE:
PURPOSE:
Registers the StatusBar control class and creates a Statusbar.
Registers the StatusBar control class and creates a Statusbar.
***********************************************************************/
***********************************************************************/
HWND
WINAPI
Interface
::
CreateStatusbar
(
HWND
hwnd
)
HWND
CreateStatusBar
(
HWND
hwnd
,
HINSTANCE
hInst
)
{
{
DWORD
dwStyle
;
DWORD
dwStyle
;
HWND
hwndSB
;
HWND
hwndSB
;
...
@@ -385,11 +475,11 @@ LRESULT CALLBACK CBaseWindow::BaseWndProc( HWND hwnd, UINT msg, WPARAM wParam,
...
@@ -385,11 +475,11 @@ LRESULT CALLBACK CBaseWindow::BaseWndProc( HWND hwnd, UINT msg, WPARAM wParam,
CBaseWindow
*
pObj
=
CBaseWindow
*
pObj
=
reinterpret_cast
<
CBaseWindow
*>
(
::
GetWindowLong
(
hwnd
,
GWL_USERDATA
));
reinterpret_cast
<
CBaseWindow
*>
(
::
GetWindowLong
(
hwnd
,
GWL_USERDATA
));
if
(
!
pObj
)
return
DefWindowProc
(
hwnd
,
msg
,
wParam
,
lParam
);
// Filter message through child classes
// Filter message through child classes
if
(
pObj
)
if
(
pObj
)
lResult
=
pObj
->
WndProc
(
hwnd
,
msg
,
wParam
,
lParam
,
&
bProcessed
);
lResult
=
pObj
->
WndProc
(
hwnd
,
msg
,
wParam
,
lParam
,
&
bProcessed
);
else
return
(
pObj
->
DlgFlag
?
FALSE
:
TRUE
);
// message not processed
if
(
pObj
->
DlgFlag
)
if
(
pObj
->
DlgFlag
)
return
bProcessed
;
// processing a dialog message return TRUE if processed
return
bProcessed
;
// processing a dialog message return TRUE if processed
...
@@ -412,8 +502,6 @@ PURPOSE:
...
@@ -412,8 +502,6 @@ PURPOSE:
LRESULT
CALLBACK
Interface
::
WndProc
(
HWND
hwnd
,
UINT
msg
,
WPARAM
wp
,
LRESULT
CALLBACK
Interface
::
WndProc
(
HWND
hwnd
,
UINT
msg
,
WPARAM
wp
,
LPARAM
lp
,
PBOOL
pbProcessed
)
LPARAM
lp
,
PBOOL
pbProcessed
)
{
{
SHMENUBARINFO
mbi
;
// call the base class first
// call the base class first
LRESULT
lResult
=
CBaseWindow
::
WndProc
(
hwnd
,
msg
,
wp
,
lp
,
pbProcessed
);
LRESULT
lResult
=
CBaseWindow
::
WndProc
(
hwnd
,
msg
,
wp
,
lp
,
pbProcessed
);
*
pbProcessed
=
TRUE
;
*
pbProcessed
=
TRUE
;
...
@@ -421,37 +509,15 @@ LRESULT CALLBACK Interface::WndProc( HWND hwnd, UINT msg, WPARAM wp,
...
@@ -421,37 +509,15 @@ LRESULT CALLBACK Interface::WndProc( HWND hwnd, UINT msg, WPARAM wp,
switch
(
msg
)
switch
(
msg
)
{
{
case
WM_CREATE
:
case
WM_CREATE
:
//Create the menubar
memset
(
&
mbi
,
0
,
sizeof
(
SHMENUBARINFO
)
);
mbi
.
cbSize
=
sizeof
(
SHMENUBARINFO
);
mbi
.
hwndParent
=
hwnd
;
mbi
.
nToolBarId
=
IDR_MENUBAR
;
mbi
.
hInstRes
=
hInst
;
mbi
.
nBmpId
=
0
;
mbi
.
cBmpImages
=
0
;
if
(
!
SHCreateMenuBar
(
&
mbi
)
)
{
{
MessageBox
(
hwnd
,
_T
(
"SHCreateMenuBar Failed"
),
_T
(
"Error"
),
MB_OK
);
hwndCB
=
CreateMenuBar
(
hwnd
,
hInst
);
//return -1;
hwndTB
=
CreateToolBar
(
hwnd
,
hInst
);
}
hwndSlider
=
CreateSliderBar
(
hwnd
,
hInst
);
hwndLabel
=
CreateStaticText
(
hwnd
,
hInst
);
hwndCB
=
mbi
.
hwndMB
;
hwndVol
=
CreateVolTrackBar
(
hwnd
,
hInst
);
#ifdef UNDER_CE
// Creates the toolbar
hwndSB
=
CreateStatusBar
(
hwnd
,
hInst
);
hwndTB
=
CreateToolbar
(
hwnd
);
#endif
// Creates the sliderbar
hwndSlider
=
CreateSliderbar
(
hwnd
);
// Creates the time label
hwndLabel
=
CreateStaticText
(
hwnd
);
// Creates the volume trackbar
hwndVol
=
CreateVolTrackbar
(
hwnd
);
// Creates the statusbar
hwndSB
=
CreateStatusbar
(
hwnd
);
/* Video window */
/* Video window */
if
(
config_GetInt
(
pIntf
,
"wince-embed"
)
)
if
(
config_GetInt
(
pIntf
,
"wince-embed"
)
)
...
@@ -462,7 +528,7 @@ LRESULT CALLBACK Interface::WndProc( HWND hwnd, UINT msg, WPARAM wp,
...
@@ -462,7 +528,7 @@ LRESULT CALLBACK Interface::WndProc( HWND hwnd, UINT msg, WPARAM wp,
// Hide the SIP button (WINCE only)
// Hide the SIP button (WINCE only)
SetForegroundWindow
(
hwnd
);
SetForegroundWindow
(
hwnd
);
SHFullScreen
(
GetForegroundWindow
(),
SHFS_HIDESIPBUTTON
);
SHFullScreen
(
GetForegroundWindow
(),
SHFS_HIDESIPBUTTON
);
}
return
lResult
;
return
lResult
;
case
WM_COMMAND
:
case
WM_COMMAND
:
...
...
modules/gui/wince/wince.h
View file @
fa81e26c
...
@@ -158,12 +158,6 @@ protected:
...
@@ -158,12 +158,6 @@ protected:
virtual
LRESULT
WndProc
(
HWND
hwnd
,
UINT
msg
,
WPARAM
wp
,
LPARAM
lp
,
virtual
LRESULT
WndProc
(
HWND
hwnd
,
UINT
msg
,
WPARAM
wp
,
LPARAM
lp
,
PBOOL
pbProcessed
);
PBOOL
pbProcessed
);
HWND
WINAPI
CreateToolbar
(
HWND
);
HWND
WINAPI
CreateSliderbar
(
HWND
);
HWND
WINAPI
CreateStaticText
(
HWND
);
HWND
WINAPI
CreateVolTrackbar
(
HWND
);
HWND
WINAPI
CreateStatusbar
(
HWND
);
void
OnOpenFileSimple
(
void
);
void
OnOpenFileSimple
(
void
);
void
OnPlayStream
(
void
);
void
OnPlayStream
(
void
);
void
OnVideoOnTop
(
void
);
void
OnVideoOnTop
(
void
);
...
@@ -564,12 +558,19 @@ protected:
...
@@ -564,12 +558,19 @@ protected:
#define SHIDIF_SIPDOWN 0x0008
#define SHIDIF_SIPDOWN 0x0008
#define SHIDIF_FULLSCREENNOMENUBAR 0x0010
#define SHIDIF_FULLSCREENNOMENUBAR 0x0010
#define SHCMBF_HMENU 0x0010
#define SHCMBF_HMENU 0x0010
#define SHCMBF_EMPTYBAR 0x0001
#define SHFS_SHOWSIPBUTTON 0x0004
#define SHFS_SHOWSIPBUTTON 0x0004
#define GN_CONTEXTMENU 1000
#define GN_CONTEXTMENU 1000
#define SHCMBM_GETSUBMENU (WM_USER + 401)
#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 lstrlenW wcslen
#define SHGetMenu(hwnd) \
(HMENU)SendMessage((hwnd), SHCMBM_GETMENU, (WPARAM)0, (LPARAM)0)
#define TrackPopupMenu(hm,u,x,y,r,hw,p) \
#define TrackPopupMenu(hm,u,x,y,r,hw,p) \
TrackPopupMenuEx((hm),(u),(x),(y),(hw),0)
TrackPopupMenuEx((hm),(u),(x),(y),(hw),0)
extern
"C"
{
extern
"C"
{
typedef
struct
tagSHMENUBARINFO
typedef
struct
tagSHMENUBARINFO
...
@@ -603,6 +604,8 @@ extern "C" {
...
@@ -603,6 +604,8 @@ extern "C" {
POINT
ptAction
;
POINT
ptAction
;
DWORD
dwItemSpec
;
DWORD
dwItemSpec
;
}
NMRGINFO
,
*
PNMRGINFO
;
}
NMRGINFO
,
*
PNMRGINFO
;
BOOL
WINAPI
CommandBar_InsertMenubarEx
(
HWND
,
HINSTANCE
,
LPTSTR
,
WORD
);
}
}
#if defined( WIN32 ) && !defined( UNDER_CE )
#if defined( WIN32 ) && !defined( UNDER_CE )
...
...
modules/gui/wince/wince_rc.rc
View file @
fa81e26c
...
@@ -41,24 +41,15 @@ IDR_MENUBAR MENU DISCARDABLE
...
@@ -41,24 +41,15 @@ IDR_MENUBAR MENU DISCARDABLE
BEGIN
BEGIN
POPUP "File"
POPUP "File"
BEGIN
BEGIN
MENUITEM "Quick &Open File", ID_FILE_QUICKOPEN
MENUITEM "Empty", ID_EMPTY, GRAYED
MENUITEM SEPARATOR
MENUITEM "Open &File", ID_FILE_OPENFILE
MENUITEM "Open &Network Stream", ID_FILE_OPENNET
MENUITEM SEPARATOR
MENUITEM "About VLC", ID_FILE_ABOUT
MENUITEM "E&xit", ID_FILE_EXIT
END
END
POPUP "View"
POPUP "View"
BEGIN
BEGIN
MENUITEM "&Playlist", ID_VIEW_PLAYLIST
MENUITEM "Empty", ID_EMPTY, GRAYED
MENUITEM "&Messages", ID_VIEW_MESSAGES
MENUITEM "&Stream and Media info", ID_VIEW_STREAMINFO
END
END
POPUP "Settings"
POPUP "Settings"
BEGIN
BEGIN
MENUITEM "&Extended GUI", ID_SETTINGS_EXTEND
MENUITEM "Empty", ID_EMPTY, GRAYED
MENUITEM "&Preferences...", ID_SETTINGS_PREF
END
END
POPUP "Audio"
POPUP "Audio"
BEGIN
BEGIN
...
@@ -68,7 +59,7 @@ BEGIN
...
@@ -68,7 +59,7 @@ BEGIN
BEGIN
BEGIN
MENUITEM "Empty", ID_EMPTY, GRAYED
MENUITEM "Empty", ID_EMPTY, GRAYED
END
END
POPUP "Nav
igation
"
POPUP "Nav"
BEGIN
BEGIN
MENUITEM "Empty", ID_EMPTY, GRAYED
MENUITEM "Empty", ID_EMPTY, GRAYED
END
END
...
...
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