Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
V
vlc-2-2
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-2-2
Commits
81c55e65
Commit
81c55e65
authored
Mar 05, 2004
by
Olivier Teulière
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
* skins2/*: Change mouse cursor above a Resize control (win32 only)
parent
44bc88f3
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
122 additions
and
23 deletions
+122
-23
modules/gui/skins2/controls/ctrl_resize.cpp
modules/gui/skins2/controls/ctrl_resize.cpp
+56
-13
modules/gui/skins2/controls/ctrl_resize.hpp
modules/gui/skins2/controls/ctrl_resize.hpp
+9
-3
modules/gui/skins2/src/os_factory.hpp
modules/gui/skins2/src/os_factory.hpp
+13
-1
modules/gui/skins2/win32/win32_factory.cpp
modules/gui/skins2/win32/win32_factory.cpp
+31
-1
modules/gui/skins2/win32/win32_factory.hpp
modules/gui/skins2/win32/win32_factory.hpp
+9
-4
modules/gui/skins2/x11/x11_factory.hpp
modules/gui/skins2/x11/x11_factory.hpp
+4
-1
No files found.
modules/gui/skins2/controls/ctrl_resize.cpp
View file @
81c55e65
...
...
@@ -2,7 +2,7 @@
* ctrl_resize.cpp
*****************************************************************************
* Copyright (C) 2003 VideoLAN
* $Id
: ctrl_resize.cpp,v 1.2 2004/02/29 16:49:55 asmax Exp
$
* $Id$
*
* Authors: Cyril Deguet <asmax@via.ecp.fr>
* Olivier Teulire <ipkiss@via.ecp.fr>
...
...
@@ -27,6 +27,7 @@
#include "../events/evt_mouse.hpp"
#include "../events/evt_motion.hpp"
#include "../src/generic_layout.hpp"
#include "../src/os_factory.hpp"
#include "../utils/position.hpp"
#include "../commands/async_queue.hpp"
#include "../commands/cmd_resize.hpp"
...
...
@@ -36,19 +37,26 @@ CtrlResize::CtrlResize( intf_thread_t *pIntf, CtrlFlat &rCtrl,
GenericLayout
&
rLayout
,
const
UString
&
rHelp
,
VarBool
*
pVisible
)
:
CtrlFlat
(
pIntf
,
rHelp
,
pVisible
),
m_fsm
(
pIntf
),
m_rCtrl
(
rCtrl
),
m_rLayout
(
rLayout
),
m_cmdResizeResize
(
this
,
&
transResizeResize
),
m_rLayout
(
rLayout
),
m_cmdOutStill
(
this
,
&
transOutStill
),
m_cmdStillOut
(
this
,
&
transStillOut
),
m_cmdStillStill
(
this
,
&
transStillStill
),
m_cmdStillResize
(
this
,
&
transStillResize
),
m_cmdResizeStill
(
this
,
&
transResizeStill
)
m_cmdResizeStill
(
this
,
&
transResizeStill
),
m_cmdResizeResize
(
this
,
&
transResizeResize
)
{
m_pEvt
=
NULL
;
m_xPos
=
0
;
m_yPos
=
0
;
// States
m_fsm
.
addState
(
"
resize
"
);
m_fsm
.
addState
(
"
out
"
);
m_fsm
.
addState
(
"still"
);
m_fsm
.
addState
(
"resize"
);
// Transitions
m_fsm
.
addTransition
(
"out"
,
"enter"
,
"still"
,
&
m_cmdOutStill
);
m_fsm
.
addTransition
(
"still"
,
"leave"
,
"out"
,
&
m_cmdStillOut
);
m_fsm
.
addTransition
(
"still"
,
"motion"
,
"still"
,
&
m_cmdStillStill
);
m_fsm
.
addTransition
(
"resize"
,
"mouse:left:up:none"
,
"still"
,
&
m_cmdResizeStill
);
m_fsm
.
addTransition
(
"still"
,
"mouse:left:down:none"
,
"resize"
,
...
...
@@ -95,11 +103,39 @@ void CtrlResize::handleEvent( EvtGeneric &rEvent )
}
void
CtrlResize
::
transOutStill
(
SkinObject
*
pCtrl
)
{
CtrlResize
*
pThis
=
(
CtrlResize
*
)
pCtrl
;
OSFactory
*
pOsFactory
=
OSFactory
::
instance
(
pThis
->
getIntf
()
);
pOsFactory
->
changeCursor
(
OSFactory
::
kResizeNWSE
);
}
void
CtrlResize
::
transStillOut
(
SkinObject
*
pCtrl
)
{
CtrlResize
*
pThis
=
(
CtrlResize
*
)
pCtrl
;
OSFactory
*
pOsFactory
=
OSFactory
::
instance
(
pThis
->
getIntf
()
);
pOsFactory
->
changeCursor
(
OSFactory
::
kDefaultArrow
);
}
void
CtrlResize
::
transStillStill
(
SkinObject
*
pCtrl
)
{
CtrlResize
*
pThis
=
(
CtrlResize
*
)
pCtrl
;
OSFactory
*
pOsFactory
=
OSFactory
::
instance
(
pThis
->
getIntf
()
);
pOsFactory
->
changeCursor
(
OSFactory
::
kResizeNWSE
);
}
void
CtrlResize
::
transStillResize
(
SkinObject
*
pCtrl
)
{
CtrlResize
*
pThis
=
(
CtrlResize
*
)
pCtrl
;
EvtMouse
*
pEvtMouse
=
(
EvtMouse
*
)
pThis
->
m_pEvt
;
// Set the cursor
OSFactory
*
pOsFactory
=
OSFactory
::
instance
(
pThis
->
getIntf
()
);
pOsFactory
->
changeCursor
(
OSFactory
::
kResizeNWSE
);
pThis
->
m_xPos
=
pEvtMouse
->
getXPos
();
pThis
->
m_yPos
=
pEvtMouse
->
getYPos
();
...
...
@@ -110,11 +146,27 @@ void CtrlResize::transStillResize( SkinObject *pCtrl )
}
void
CtrlResize
::
transResizeStill
(
SkinObject
*
pCtrl
)
{
CtrlResize
*
pThis
=
(
CtrlResize
*
)
pCtrl
;
// Set the cursor
OSFactory
*
pOsFactory
=
OSFactory
::
instance
(
pThis
->
getIntf
()
);
pOsFactory
->
changeCursor
(
OSFactory
::
kResizeNWSE
);
pThis
->
releaseMouse
();
}
void
CtrlResize
::
transResizeResize
(
SkinObject
*
pCtrl
)
{
CtrlResize
*
pThis
=
(
CtrlResize
*
)
pCtrl
;
EvtMotion
*
pEvtMotion
=
(
EvtMotion
*
)
pThis
->
m_pEvt
;
// Set the cursor
OSFactory
*
pOsFactory
=
OSFactory
::
instance
(
pThis
->
getIntf
()
);
pOsFactory
->
changeCursor
(
OSFactory
::
kResizeNWSE
);
int
newWidth
=
pEvtMotion
->
getXPos
()
-
pThis
->
m_xPos
+
pThis
->
m_width
;
int
newHeight
=
pEvtMotion
->
getYPos
()
-
pThis
->
m_yPos
+
pThis
->
m_height
;
...
...
@@ -144,12 +196,3 @@ void CtrlResize::transResizeResize( SkinObject *pCtrl )
pQueue
->
remove
(
"resize"
);
pQueue
->
push
(
CmdGenericPtr
(
pCmd
)
);
}
void
CtrlResize
::
transResizeStill
(
SkinObject
*
pCtrl
)
{
CtrlResize
*
pThis
=
(
CtrlResize
*
)
pCtrl
;
pThis
->
releaseMouse
();
}
modules/gui/skins2/controls/ctrl_resize.hpp
View file @
81c55e65
...
...
@@ -2,7 +2,7 @@
* ctrl_resize.hpp
*****************************************************************************
* Copyright (C) 2003 VideoLAN
* $Id
: ctrl_resize.hpp,v 1.2 2004/02/29 16:49:55 asmax Exp
$
* $Id$
*
* Authors: Cyril Deguet <asmax@via.ecp.fr>
* Olivier Teulire <ipkiss@via.ecp.fr>
...
...
@@ -57,9 +57,12 @@ class CtrlResize: public CtrlFlat
/// Get the position of the decorated control in the layout, if any
virtual
const
Position
*
getPosition
()
const
;
static
void
transResizeResize
(
SkinObject
*
pCtrl
);
static
void
transOutStill
(
SkinObject
*
pCtrl
);
static
void
transStillOut
(
SkinObject
*
pCtrl
);
static
void
transStillStill
(
SkinObject
*
pCtrl
);
static
void
transStillResize
(
SkinObject
*
pCtrl
);
static
void
transResizeStill
(
SkinObject
*
pCtrl
);
static
void
transResizeResize
(
SkinObject
*
pCtrl
);
private:
FSM
m_fsm
;
...
...
@@ -72,9 +75,12 @@ class CtrlResize: public CtrlFlat
/// Position of the click that started the resizing
int
m_xPos
,
m_yPos
;
/// Callbacks
Callback
m_cmdResizeResize
;
Callback
m_cmdOutStill
;
Callback
m_cmdStillOut
;
Callback
m_cmdStillStill
;
Callback
m_cmdStillResize
;
Callback
m_cmdResizeStill
;
Callback
m_cmdResizeResize
;
// Size of the layout, before resizing
int
m_width
,
m_height
;
...
...
modules/gui/skins2/src/os_factory.hpp
View file @
81c55e65
...
...
@@ -2,7 +2,7 @@
* os_factory.hpp
*****************************************************************************
* Copyright (C) 2003 VideoLAN
* $Id
: os_factory.hpp,v 1.1 2004/01/03 23:31:33 asmax Exp
$
* $Id$
*
* Authors: Cyril Deguet <asmax@via.ecp.fr>
* Olivier Teulire <ipkiss@via.ecp.fr>
...
...
@@ -42,6 +42,15 @@ class OSTimer;
class
OSFactory
:
public
SkinObject
{
public:
typedef
enum
{
kDefaultArrow
,
kResizeNS
,
kResizeWE
,
kResizeNWSE
,
kResizeNESW
}
CursorType_t
;
/// Initialization method overloaded in derived classes.
/// It must return false if the init failed.
virtual
bool
init
()
{
return
true
;
}
...
...
@@ -85,6 +94,9 @@ class OSFactory: public SkinObject
/// Get the position of the mouse
virtual
void
getMousePos
(
int
&
rXPos
,
int
&
rYPos
)
const
=
0
;
/// Change the cursor
virtual
void
changeCursor
(
CursorType_t
type
)
const
=
0
;
/// Delete a directory recursively
virtual
void
rmDir
(
const
string
&
rPath
)
=
0
;
...
...
modules/gui/skins2/win32/win32_factory.cpp
View file @
81c55e65
...
...
@@ -2,7 +2,7 @@
* win32_factory.cpp
*****************************************************************************
* Copyright (C) 2003 VideoLAN
* $Id
: win32_factory.cpp,v 1.2 2004/01/27 17:01:51 gbazin Exp
$
* $Id$
*
* Authors: Cyril Deguet <asmax@via.ecp.fr>
* Olivier Teulire <ipkiss@via.ecp.fr>
...
...
@@ -271,6 +271,36 @@ void Win32Factory::getMousePos( int &rXPos, int &rYPos ) const
}
void
Win32Factory
::
changeCursor
(
CursorType_t
type
)
const
{
LPCTSTR
id
;
switch
(
type
)
{
case
kDefaultArrow
:
id
=
IDC_ARROW
;
break
;
case
kResizeNWSE
:
id
=
IDC_SIZENWSE
;
break
;
case
kResizeNS
:
id
=
IDC_SIZENS
;
break
;
case
kResizeWE
:
id
=
IDC_SIZEWE
;
break
;
case
kResizeNESW
:
id
=
IDC_SIZENESW
;
break
;
default:
id
=
IDC_ARROW
;
break
;
}
HCURSOR
hCurs
=
LoadCursor
(
NULL
,
id
);
SetCursor
(
hCurs
);
}
void
Win32Factory
::
rmDir
(
const
string
&
rPath
)
{
WIN32_FIND_DATA
find
;
...
...
modules/gui/skins2/win32/win32_factory.hpp
View file @
81c55e65
...
...
@@ -2,7 +2,7 @@
* win32_factory.hpp
*****************************************************************************
* Copyright (C) 2003 VideoLAN
* $Id
: win32_factory.hpp,v 1.3 2004/02/27 13:24:12 gbazin Exp
$
* $Id$
*
* Authors: Cyril Deguet <asmax@via.ecp.fr>
* Olivier Teulire <ipkiss@via.ecp.fr>
...
...
@@ -25,7 +25,9 @@
#ifndef WIN32_FACTORY_HPP
#define WIN32_FACTORY_HPP
#define _WIN32_WINNT 0x0500
#ifndef _WIN32_WINNT
# define _WIN32_WINNT 0x0500
#endif
#include <windows.h>
#include "../src/os_factory.hpp"
...
...
@@ -74,6 +76,9 @@ class Win32Factory: public OSFactory
/// Get the position of the mouse
virtual
void
getMousePos
(
int
&
rXPos
,
int
&
rYPos
)
const
;
/// Change the cursor
virtual
void
changeCursor
(
CursorType_t
type
)
const
;
/// Delete a directory recursively
virtual
void
rmDir
(
const
string
&
rPath
);
...
...
@@ -86,8 +91,8 @@ class Win32Factory: public OSFactory
// We dynamically load msimg32.dll to get a pointer to TransparentBlt()
BOOL
(
WINAPI
*
TransparentBlt
)(
HDC
,
int
,
int
,
int
,
int
,
HDC
,
int
,
int
,
int
,
int
,
UINT
);
BOOL
(
WINAPI
*
AlphaBlend
)(
HDC
,
int
,
int
,
int
,
int
,
HDC
,
int
,
int
,
int
,
int
,
BLENDFUNCTION
);
BOOL
(
WINAPI
*
AlphaBlend
)(
HDC
,
int
,
int
,
int
,
int
,
HDC
,
int
,
int
,
int
,
int
,
BLENDFUNCTION
);
// Idem for user32.dll and SetLayeredWindowAttributes()
BOOL
(
WINAPI
*
SetLayeredWindowAttributes
)(
HWND
,
COLORREF
,
...
...
modules/gui/skins2/x11/x11_factory.hpp
View file @
81c55e65
...
...
@@ -2,7 +2,7 @@
* x11_factory.hpp
*****************************************************************************
* Copyright (C) 2003 VideoLAN
* $Id
: x11_factory.hpp,v 1.2 2004/01/18 00:25:02 asmax Exp
$
* $Id$
*
* Authors: Cyril Deguet <asmax@via.ecp.fr>
* Olivier Teulire <ipkiss@via.ecp.fr>
...
...
@@ -82,6 +82,9 @@ class X11Factory: public OSFactory
/// Get the position of the mouse
virtual
void
getMousePos
(
int
&
rXPos
,
int
&
rYPos
)
const
;
/// Change the cursor
virtual
void
changeCursor
(
CursorType_t
type
)
const
{
/*TODO*/
}
/// Delete a directory recursively
virtual
void
rmDir
(
const
string
&
rPath
);
...
...
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