};
-#define MOUSE_IDLE_TIMEOUT 2000000 // two seconds
#define MIN_AUTO_VSYNC_REFRESH 61 // Hz
/*****************************************************************************
fIgnoreDoubleClick(false)
{
p_vout = p_vout_instance;
+ fMouseHideTimeout = var_GetInteger(p_vout, "mouse-hide-timeout") * 1000;
SetViewColor(B_TRANSPARENT_32_BIT);
}
if (!fCursorHidden)
{
if (fCursorInside
- && mdate() - fLastMouseMovedTime > MOUSE_IDLE_TIMEOUT)
+ && mdate() - fLastMouseMovedTime > fMouseHideTimeout)
{
be_app->ObscureCursor();
fCursorHidden = true;
vout_thread_t *p_vout;
bigtime_t fLastMouseMovedTime;
+ int fMouseHideTimeout;
bool fCursorHidden;
bool fCursorInside;
bool fIgnoreDoubleClick;
p_vout->p_sys->b_cursor_hidden = 0;
p_vout->p_sys->i_lastmoved = mdate();
+ p_vout->p_sys->i_mouse_hide_timeout =
+ var_GetInteger(p_vout, "mouse-hide-timeout") * 1000;
var_Create( p_vout, "video-title", VLC_VAR_STRING | VLC_VAR_DOINHERIT );
var_Create( p_vout, "disable-screensaver", VLC_VAR_BOOL | VLC_VAR_DOINHERIT );
* Pointer change
*/
if( p_vout->b_fullscreen && !p_vout->p_sys->b_cursor_hidden &&
- (mdate() - p_vout->p_sys->i_lastmoved) > 5000000 )
+ (mdate() - p_vout->p_sys->i_lastmoved) >
+ p_vout->p_sys->i_mouse_hide_timeout )
{
POINT point;
HWND hwnd;
p_vout->p_sys->b_cursor_hidden = 0;
p_vout->p_sys->i_lastmoved = mdate();
+ p_vout->p_sys->i_mouse_hide_timeout =
+ var_GetInteger(p_vout, "mouse-hide-timeout") * 1000;
/* Set main window's size */
p_vout->p_sys->i_window_width = p_vout->i_window_width;
* Pointer change
*/
if( p_vout->b_fullscreen && !p_vout->p_sys->b_cursor_hidden &&
- (mdate() - p_vout->p_sys->i_lastmoved) > 5000000 )
+ (mdate() - p_vout->p_sys->i_lastmoved) >
+ p_vout->p_sys->i_mouse_hide_timeout )
{
POINT point;
HWND hwnd;
p_vout->p_sys->b_cursor_hidden = 0;
p_vout->p_sys->i_lastmoved = mdate();
+ p_vout->p_sys->i_mouse_hide_timeout =
+ var_GetInteger(p_vout, "mouse-hide-timeout") * 1000;
/* Set main window's size */
p_vout->p_sys->i_window_width = p_vout->i_window_width;
* Pointer change
*/
if( p_vout->b_fullscreen && !p_vout->p_sys->b_cursor_hidden &&
- (mdate() - p_vout->p_sys->i_lastmoved) > 5000000 )
+ (mdate() - p_vout->p_sys->i_lastmoved) >
+ p_vout->p_sys->i_mouse_hide_timeout )
{
POINT point;
HWND hwnd;
/* Mouse */
volatile vlc_bool_t b_cursor_hidden;
volatile mtime_t i_lastmoved;
+ mtime_t i_mouse_hide_timeout;
/* Misc */
vlc_bool_t b_on_top_change;
p_vout->p_sys->b_cursor_hidden = 0;
p_vout->p_sys->i_lastmoved = mdate();
+ p_vout->p_sys->i_mouse_hide_timeout =
+ var_GetInteger(p_vout, "mouse-hide-timeout") * 1000;
/* Set main window's size */
p_vout->p_sys->i_window_width = p_vout->i_window_width;
* Pointer change
*/
if( p_vout->b_fullscreen && !p_vout->p_sys->b_cursor_hidden &&
- (mdate() - p_vout->p_sys->i_lastmoved) > 5000000 )
+ (mdate() - p_vout->p_sys->i_lastmoved) >
+ p_vout->p_sys->i_mouse_hide_timeout )
{
POINT point;
HWND hwnd;
/* Pointer change */
// if( ! p_vout->p_sys->b_cursor_autohidden &&
-// ( mdate() - p_vout->p_sys->i_lastmoved > 2000000 ) )
+// ( mdate() - p_vout->p_sys->i_lastmoved >
+// p_vout->p_sys->i_mouse_hide_timeout ) )
// {
// /* Hide the mouse automatically */
// p_vout->p_sys->b_cursor_autohidden = 1;
vlc_bool_t b_cursor;
vlc_bool_t b_cursor_autohidden;
mtime_t i_lastmoved;
+ mtime_t i_mouse_hide_timeout;
mtime_t i_lastpressed; /* to track dbl-clicks */
};
p_vout->p_sys->b_cursor = 1;
p_vout->p_sys->b_cursor_autohidden = 0;
p_vout->p_sys->i_lastmoved = p_vout->p_sys->i_lastpressed = mdate();
+ p_vout->p_sys->i_mouse_hide_timeout =
+ var_GetInteger(p_vout, "mouse-hide-timeout") * 1000;
if( OpenDisplay( p_vout ) )
{
/* Pointer change */
if( ! p_vout->p_sys->b_cursor_autohidden &&
- ( mdate() - p_vout->p_sys->i_lastmoved > 2000000 ) )
+ ( mdate() - p_vout->p_sys->i_lastmoved >
+ p_vout->p_sys->i_mouse_hide_timeout ) )
{
/* Hide the mouse automatically */
p_vout->p_sys->b_cursor_autohidden = 1;
/* Create blank cursor (for mouse cursor autohiding) */
p_vout->p_sys->i_time_mouse_last_moved = mdate();
+ p_vout->p_sys->i_mouse_hide_timeout =
+ var_GetInteger(p_vout, "mouse-hide-timeout") * 1000;
p_vout->p_sys->b_mouse_pointer_visible = 1;
CreateCursor( p_vout );
}
/* Autohide Cursour */
- if( mdate() - p_vout->p_sys->i_time_mouse_last_moved > 2000000 )
+ if( mdate() - p_vout->p_sys->i_time_mouse_last_moved >
+ p_vout->p_sys->i_mouse_hide_timeout )
{
/* Hide the mouse automatically */
if( p_vout->p_sys->b_mouse_pointer_visible )
/* Mouse pointer properties */
vlc_bool_t b_mouse_pointer_visible;
mtime_t i_time_mouse_last_moved; /* used to auto-hide pointer*/
+ mtime_t i_mouse_hide_timeout; /* after time hide cursor */
Cursor blank_cursor; /* the hidden cursor */
mtime_t i_time_button_last_pressed; /* to track dbl-clicks */
Pixmap cursor_pixmap;
#define VIDEO_TITLE_POSITION_LONGTEXT N_( \
"Place on video where to display the title (default bottom center).")
+#define MOUSE_HIDE_TIMEOUT_TEXT N_("Hide cursor and fullscreen " \
+ "controller after x miliseconds.")
+#define MOUSE_HIDE_TIMEOUT_LONGTEXT N_( \
+ "Hide mouse cursor and fullscreen controller after " \
+ "n miliseconds, default is 3000 ms (3 sec.)")
+
static int pi_pos_values[] = { 0, 1, 2, 4, 8, 5, 6, 9, 10 };
static const char *ppsz_pos_descriptions[] =
{ N_("Center"), N_("Left"), N_("Right"), N_("Top"), N_("Bottom"),
VIDEO_TITLE_TIMEOUT_LONGTEXT, VLC_FALSE );
add_integer( "video-title-position", 8, NULL, VIDEO_TITLE_POSITION_TEXT,
VIDEO_TITLE_POSITION_LONGTEXT, VLC_FALSE );
+ // autohide after 3s
+ add_integer( "mouse-hide-timeout", 3000, NULL, MOUSE_HIDE_TIMEOUT_TEXT,
+ MOUSE_HIDE_TIMEOUT_LONGTEXT, VLC_FALSE );
change_integer_list( pi_pos_values, ppsz_pos_descriptions, 0 );
set_section( N_("Snapshot") , NULL );
var_Create( p_vout, "video-x", VLC_VAR_INTEGER | VLC_VAR_DOINHERIT );
var_Create( p_vout, "video-y", VLC_VAR_INTEGER | VLC_VAR_DOINHERIT );
+ var_Create( p_vout, "mouse-hide-timeout",
+ VLC_VAR_INTEGER | VLC_VAR_DOINHERIT );
+
p_vout->b_title_show = var_CreateGetBool( p_vout, "video-title-show" );
p_vout->i_title_timeout =
(mtime_t)var_CreateGetInteger( p_vout, "video-title-timeout" );