mirror of
https://github.com/mpv-player/mpv.git
synced 2024-09-20 12:02:23 +02:00
setting vo_dx and vo_dy in event handling
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@4813 b3059339-0415-0410-9bf9-f77b7e298cf2
This commit is contained in:
parent
41803844ba
commit
fa966b71df
@ -47,7 +47,7 @@
|
|||||||
#define SCAN_VISUALS
|
#define SCAN_VISUALS
|
||||||
|
|
||||||
|
|
||||||
extern verbose;
|
extern int verbose;
|
||||||
|
|
||||||
static int dpms_disabled=0;
|
static int dpms_disabled=0;
|
||||||
static int timeout_save=0;
|
static int timeout_save=0;
|
||||||
@ -144,7 +144,7 @@ static void x11_errorhandler(Display *display, XErrorEvent *event)
|
|||||||
#define MSGLEN 60
|
#define MSGLEN 60
|
||||||
char msg[MSGLEN];
|
char msg[MSGLEN];
|
||||||
|
|
||||||
XGetErrorText(display, event->error_code, &msg, MSGLEN);
|
XGetErrorText(display, event->error_code, (char *)&msg, MSGLEN);
|
||||||
|
|
||||||
printf("X11 error: %s\n", msg);
|
printf("X11 error: %s\n", msg);
|
||||||
|
|
||||||
@ -173,9 +173,18 @@ int vo_init( void )
|
|||||||
|
|
||||||
if(vo_depthonscreen) return 1; // already called
|
if(vo_depthonscreen) return 1; // already called
|
||||||
|
|
||||||
|
XSetErrorHandler(x11_errorhandler);
|
||||||
|
|
||||||
|
#if 0
|
||||||
if (!mDisplayName)
|
if (!mDisplayName)
|
||||||
if (!(mDisplayName=getenv("DISPLAY")))
|
if (!(mDisplayName=getenv("DISPLAY")))
|
||||||
mDisplayName=strdup(":0.0");
|
mDisplayName=strdup(":0.0");
|
||||||
|
#else
|
||||||
|
mDisplayName = XDisplayName(mDisplayName);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
if (verbose)
|
||||||
|
printf("X11 opening display: %s\n", mDisplayName);
|
||||||
|
|
||||||
mDisplay=XOpenDisplay(mDisplayName);
|
mDisplay=XOpenDisplay(mDisplayName);
|
||||||
if ( !mDisplay )
|
if ( !mDisplay )
|
||||||
@ -264,8 +273,6 @@ int vo_init( void )
|
|||||||
vo_screenwidth,vo_screenheight,
|
vo_screenwidth,vo_screenheight,
|
||||||
depth, vo_depthonscreen,
|
depth, vo_depthonscreen,
|
||||||
mDisplayName,mLocalDisplay?"local":"remote");
|
mDisplayName,mLocalDisplay?"local":"remote");
|
||||||
|
|
||||||
XSetErrorHandler(x11_errorhandler);
|
|
||||||
|
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
@ -445,6 +452,22 @@ int vo_x11_check_events(Display *mydisplay){
|
|||||||
case ConfigureNotify:
|
case ConfigureNotify:
|
||||||
vo_dwidth=Event.xconfigure.width;
|
vo_dwidth=Event.xconfigure.width;
|
||||||
vo_dheight=Event.xconfigure.height;
|
vo_dheight=Event.xconfigure.height;
|
||||||
|
#if 0
|
||||||
|
/* when resizing, x and y are zero :( */
|
||||||
|
vo_dx=Event.xconfigure.x;
|
||||||
|
vo_dy=Event.xconfigure.y;
|
||||||
|
#else
|
||||||
|
{
|
||||||
|
Window root;
|
||||||
|
int foo;
|
||||||
|
XGetGeometry(mydisplay, vo_window, &root, &foo, &foo,
|
||||||
|
&foo/*width*/, &foo/*height*/, &foo, &foo);
|
||||||
|
XTranslateCoordinates(mydisplay, vo_window, root, 0, 0,
|
||||||
|
&vo_dx, &vo_dy, (Window *)&foo);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
if (verbose)
|
||||||
|
printf("X11 Window %dx%d-%dx%d\n", vo_dx, vo_dy, vo_dwidth, vo_dheight);
|
||||||
ret|=VO_EVENT_RESIZE;
|
ret|=VO_EVENT_RESIZE;
|
||||||
break;
|
break;
|
||||||
case KeyPress:
|
case KeyPress:
|
||||||
|
Loading…
Reference in New Issue
Block a user