2003-11-14 17:48:57 +01:00
|
|
|
/*
|
|
|
|
*Copyright (C) 1994-2000 The XFree86 Project, Inc. All Rights Reserved.
|
|
|
|
*
|
|
|
|
*Permission is hereby granted, free of charge, to any person obtaining
|
|
|
|
* a copy of this software and associated documentation files (the
|
|
|
|
*"Software"), to deal in the Software without restriction, including
|
|
|
|
*without limitation the rights to use, copy, modify, merge, publish,
|
|
|
|
*distribute, sublicense, and/or sell copies of the Software, and to
|
|
|
|
*permit persons to whom the Software is furnished to do so, subject to
|
|
|
|
*the following conditions:
|
|
|
|
*
|
|
|
|
*The above copyright notice and this permission notice shall be
|
|
|
|
*included in all copies or substantial portions of the Software.
|
|
|
|
*
|
|
|
|
*THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
|
|
|
*EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
|
|
|
*MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
|
|
|
*NONINFRINGEMENT. IN NO EVENT SHALL THE XFREE86 PROJECT BE LIABLE FOR
|
|
|
|
*ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
|
|
|
|
*CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
|
|
|
*WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
|
|
*
|
|
|
|
*Except as contained in this notice, the name of the XFree86 Project
|
|
|
|
*shall not be used in advertising or otherwise to promote the sale, use
|
|
|
|
*or other dealings in this Software without prior written authorization
|
|
|
|
*from the XFree86 Project.
|
|
|
|
*
|
|
|
|
* Authors: Dakshinamurthy Karra
|
|
|
|
* Suhaib M Siddiqi
|
|
|
|
* Peter Busch
|
|
|
|
* Harold L Hunt II
|
|
|
|
* Kensuke Matsuzaki
|
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef _WIN_H_
|
|
|
|
#define _WIN_H_
|
|
|
|
|
|
|
|
#ifndef NO
|
|
|
|
#define NO 0
|
|
|
|
#endif
|
|
|
|
#ifndef YES
|
|
|
|
#define YES 1
|
|
|
|
#endif
|
|
|
|
|
2013-02-21 18:12:17 +01:00
|
|
|
/* We can handle WM_MOUSEHWHEEL even though _WIN32_WINNT < 0x0600 */
|
|
|
|
#ifndef WM_MOUSEHWHEEL
|
|
|
|
#define WM_MOUSEHWHEEL 0x020E
|
|
|
|
#endif
|
|
|
|
|
2003-11-14 17:48:57 +01:00
|
|
|
/* Turn debug messages on or off */
|
2004-06-21 15:19:32 +02:00
|
|
|
#ifndef CYGDEBUG
|
2003-11-14 17:48:57 +01:00
|
|
|
#define CYGDEBUG NO
|
2004-06-21 15:19:32 +02:00
|
|
|
#endif
|
2003-11-14 17:48:57 +01:00
|
|
|
|
|
|
|
#define WIN_DEFAULT_BPP 0
|
|
|
|
#define WIN_DEFAULT_WHITEPIXEL 255
|
|
|
|
#define WIN_DEFAULT_BLACKPIXEL 0
|
|
|
|
#define WIN_DEFAULT_LINEBIAS 0
|
2012-03-21 20:55:09 +01:00
|
|
|
#define WIN_DEFAULT_E3B_TIME 50 /* milliseconds */
|
2010-03-23 10:45:37 +01:00
|
|
|
#define WIN_DEFAULT_DPI 96
|
2003-11-14 17:48:57 +01:00
|
|
|
#define WIN_DEFAULT_REFRESH 0
|
|
|
|
#define WIN_DEFAULT_WIN_KILL TRUE
|
|
|
|
#define WIN_DEFAULT_UNIX_KILL FALSE
|
|
|
|
#define WIN_DEFAULT_CLIP_UPDATES_NBOXES 0
|
2004-06-21 15:19:32 +02:00
|
|
|
#ifdef XWIN_EMULATEPSEUDO
|
2003-11-14 17:48:57 +01:00
|
|
|
#define WIN_DEFAULT_EMULATE_PSEUDO FALSE
|
2004-06-21 15:19:32 +02:00
|
|
|
#endif
|
2003-11-14 17:48:57 +01:00
|
|
|
#define WIN_DEFAULT_USER_GAVE_HEIGHT_AND_WIDTH FALSE
|
|
|
|
|
|
|
|
/*
|
|
|
|
* Windows only supports 256 color palettes
|
|
|
|
*/
|
|
|
|
#define WIN_NUM_PALETTE_ENTRIES 256
|
|
|
|
|
|
|
|
/*
|
|
|
|
* Number of times to call Restore in an attempt to restore the primary surface
|
|
|
|
*/
|
|
|
|
#define WIN_REGAIN_SURFACE_RETRIES 1
|
|
|
|
|
|
|
|
/*
|
|
|
|
* Build a supported display depths mask by shifting one to the left
|
|
|
|
* by the number of bits in the supported depth.
|
|
|
|
*/
|
|
|
|
#define WIN_SUPPORTED_BPPS ( (1 << (32 - 1)) | (1 << (24 - 1)) \
|
|
|
|
| (1 << (16 - 1)) | (1 << (15 - 1)) \
|
|
|
|
| (1 << ( 8 - 1)))
|
|
|
|
#define WIN_CHECK_DEPTH YES
|
|
|
|
|
2003-11-25 20:29:01 +01:00
|
|
|
/*
|
|
|
|
* Timer IDs for WM_TIMER
|
|
|
|
*/
|
|
|
|
#define WIN_E3B_TIMER_ID 1
|
|
|
|
#define WIN_POLLING_MOUSE_TIMER_ID 2
|
|
|
|
|
2009-01-15 22:42:26 +01:00
|
|
|
#define MOUSE_POLLING_INTERVAL 50
|
2003-11-25 20:29:01 +01:00
|
|
|
|
2003-11-14 17:48:57 +01:00
|
|
|
#define WIN_E3B_OFF -1
|
2010-03-24 23:41:22 +01:00
|
|
|
#define WIN_E3B_DEFAULT 0
|
|
|
|
|
2003-11-14 17:48:57 +01:00
|
|
|
#define WIN_FD_INVALID -1
|
|
|
|
|
2012-03-21 20:55:09 +01:00
|
|
|
#define WIN_SERVER_NONE 0x0L /* 0 */
|
|
|
|
#define WIN_SERVER_SHADOW_GDI 0x1L /* 1 */
|
|
|
|
#define WIN_SERVER_SHADOW_DD 0x2L /* 2 */
|
|
|
|
#define WIN_SERVER_SHADOW_DDNL 0x4L /* 4 */
|
2004-06-21 15:19:32 +02:00
|
|
|
#ifdef XWIN_PRIMARYFB
|
2012-03-21 20:55:09 +01:00
|
|
|
#define WIN_SERVER_PRIMARY_DD 0x8L /* 8 */
|
2004-06-21 15:19:32 +02:00
|
|
|
#endif
|
|
|
|
#ifdef XWIN_NATIVEGDI
|
2012-03-21 20:55:09 +01:00
|
|
|
#define WIN_SERVER_NATIVE_GDI 0x10L /* 16 */
|
2004-06-21 15:19:32 +02:00
|
|
|
#endif
|
2003-11-14 17:48:57 +01:00
|
|
|
|
|
|
|
#define AltMapIndex Mod1MapIndex
|
|
|
|
#define NumLockMapIndex Mod2MapIndex
|
|
|
|
#define AltLangMapIndex Mod3MapIndex
|
|
|
|
#define KanaMapIndex Mod4MapIndex
|
|
|
|
#define ScrollLockMapIndex Mod5MapIndex
|
|
|
|
|
|
|
|
#define WIN_MOD_LALT 0x00000001
|
|
|
|
#define WIN_MOD_RALT 0x00000002
|
|
|
|
#define WIN_MOD_LCONTROL 0x00000004
|
|
|
|
#define WIN_MOD_RCONTROL 0x00000008
|
|
|
|
|
|
|
|
#define WIN_24BPP_MASK_RED 0x00FF0000
|
|
|
|
#define WIN_24BPP_MASK_GREEN 0x0000FF00
|
|
|
|
#define WIN_24BPP_MASK_BLUE 0x000000FF
|
|
|
|
|
|
|
|
#define WIN_MAX_KEYS_PER_KEY 4
|
|
|
|
|
2012-11-09 19:19:31 +01:00
|
|
|
#define NONAMELESSUNION
|
|
|
|
|
2003-11-14 17:48:57 +01:00
|
|
|
#include <sys/types.h>
|
|
|
|
#include <sys/stat.h>
|
|
|
|
#include <stdio.h>
|
2004-11-15 16:06:51 +01:00
|
|
|
|
2003-11-14 17:48:57 +01:00
|
|
|
#include <errno.h>
|
2005-05-25 14:14:29 +02:00
|
|
|
#if defined(XWIN_MULTIWINDOWEXTWM) || defined(XWIN_CLIPBOARD) || defined(XWIN_MULTIWINDOW)
|
|
|
|
#define HANDLE void *
|
2003-11-14 17:48:57 +01:00
|
|
|
#include <pthread.h>
|
2005-05-25 14:14:29 +02:00
|
|
|
#undef HANDLE
|
2004-11-15 16:06:51 +01:00
|
|
|
#endif
|
2003-11-14 17:48:57 +01:00
|
|
|
|
2011-12-01 07:20:09 +01:00
|
|
|
#ifdef HAVE_MMAP
|
2003-11-14 17:48:57 +01:00
|
|
|
#include <sys/mman.h>
|
|
|
|
#ifndef MAP_FILE
|
|
|
|
#define MAP_FILE 0
|
2012-03-21 20:55:09 +01:00
|
|
|
#endif /* MAP_FILE */
|
|
|
|
#endif /* HAVE_MMAP */
|
2003-11-14 17:48:57 +01:00
|
|
|
|
2005-04-20 14:25:48 +02:00
|
|
|
#include <X11/X.h>
|
|
|
|
#include <X11/Xproto.h>
|
|
|
|
#include <X11/Xos.h>
|
|
|
|
#include <X11/Xprotostr.h>
|
2003-11-14 17:48:57 +01:00
|
|
|
#include "scrnintstr.h"
|
|
|
|
#include "pixmapstr.h"
|
|
|
|
#include "pixmap.h"
|
|
|
|
#include "region.h"
|
|
|
|
#include "gcstruct.h"
|
|
|
|
#include "colormap.h"
|
|
|
|
#include "colormapst.h"
|
|
|
|
#include "miscstruct.h"
|
|
|
|
#include "servermd.h"
|
|
|
|
#include "windowstr.h"
|
|
|
|
#include "mi.h"
|
|
|
|
#include "micmap.h"
|
|
|
|
#include "mifillarc.h"
|
|
|
|
#include "mifpoly.h"
|
|
|
|
#include "input.h"
|
|
|
|
#include "mipointer.h"
|
2004-06-21 15:19:32 +02:00
|
|
|
#include "X11/keysym.h"
|
2003-11-14 17:48:57 +01:00
|
|
|
#include "micoord.h"
|
|
|
|
#include "dix.h"
|
|
|
|
#include "miline.h"
|
|
|
|
#include "shadow.h"
|
|
|
|
#include "fb.h"
|
2004-06-21 15:19:32 +02:00
|
|
|
#include "rootless.h"
|
2003-11-14 17:48:57 +01:00
|
|
|
|
|
|
|
#include "mipict.h"
|
|
|
|
#include "picturestr.h"
|
|
|
|
|
|
|
|
#ifdef RANDR
|
|
|
|
#include "randrstr.h"
|
|
|
|
#endif
|
|
|
|
|
|
|
|
/*
|
|
|
|
* Windows headers
|
|
|
|
*/
|
|
|
|
#include "winms.h"
|
2010-02-26 15:40:30 +01:00
|
|
|
#include "winresource.h"
|
2003-11-14 17:48:57 +01:00
|
|
|
|
2003-11-25 20:29:01 +01:00
|
|
|
/*
|
|
|
|
* Define Windows constants
|
|
|
|
*/
|
|
|
|
|
|
|
|
#define WM_TRAYICON (WM_USER + 1000)
|
|
|
|
#define WM_INIT_SYS_MENU (WM_USER + 1001)
|
|
|
|
#define WM_GIVEUP (WM_USER + 1002)
|
|
|
|
|
2004-06-21 15:19:32 +02:00
|
|
|
/* Local includes */
|
2003-11-14 17:48:57 +01:00
|
|
|
#include "winwindow.h"
|
2004-06-21 15:19:32 +02:00
|
|
|
#include "winmsg.h"
|
2003-11-14 17:48:57 +01:00
|
|
|
|
|
|
|
/*
|
|
|
|
* Debugging macros
|
|
|
|
*/
|
|
|
|
|
|
|
|
#if CYGDEBUG
|
|
|
|
#define DEBUG_MSG(str,...) \
|
|
|
|
if (fDebugProcMsg) \
|
|
|
|
{ \
|
|
|
|
char *pszTemp; \
|
|
|
|
int iLength; \
|
2010-11-28 05:09:04 +01:00
|
|
|
if (asprintf (&pszTemp, str, ##__VA_ARGS__) != -1) { \
|
|
|
|
MessageBox (NULL, pszTemp, szFunctionName, MB_OK); \
|
|
|
|
free (pszTemp); \
|
|
|
|
} \
|
2003-11-14 17:48:57 +01:00
|
|
|
}
|
|
|
|
#else
|
|
|
|
#define DEBUG_MSG(str,...)
|
|
|
|
#endif
|
|
|
|
|
2003-11-25 20:29:01 +01:00
|
|
|
#if CYGDEBUG
|
2003-11-14 17:48:57 +01:00
|
|
|
#define DEBUG_FN_NAME(str) PTSTR szFunctionName = str
|
|
|
|
#else
|
|
|
|
#define DEBUG_FN_NAME(str)
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#if CYGDEBUG || YES
|
|
|
|
#define DEBUGVARS BOOL fDebugProcMsg = FALSE
|
|
|
|
#else
|
|
|
|
#define DEBUGVARS
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#if CYGDEBUG || YES
|
|
|
|
#define DEBUGPROC_MSG fDebugProcMsg = TRUE
|
|
|
|
#else
|
|
|
|
#define DEBUGPROC_MSG
|
|
|
|
#endif
|
|
|
|
|
2004-06-21 15:19:32 +02:00
|
|
|
#define PROFILEPOINT(point,thresh)\
|
|
|
|
{\
|
|
|
|
static unsigned int PROFPT##point = 0;\
|
|
|
|
if (++PROFPT##point % thresh == 0)\
|
|
|
|
ErrorF (#point ": PROFILEPOINT hit %u times\n", PROFPT##point);\
|
|
|
|
}
|
|
|
|
|
|
|
|
#define DEFINE_ATOM_HELPER(func,atom_name) \
|
|
|
|
static Atom func (void) { \
|
|
|
|
static int generation; \
|
|
|
|
static Atom atom; \
|
|
|
|
if (generation != serverGeneration) { \
|
|
|
|
generation = serverGeneration; \
|
|
|
|
atom = MakeAtom (atom_name, strlen (atom_name), TRUE); \
|
|
|
|
} \
|
|
|
|
return atom; \
|
|
|
|
}
|
2003-11-14 17:48:57 +01:00
|
|
|
|
|
|
|
/*
|
|
|
|
* Typedefs for engine dependent function pointers
|
|
|
|
*/
|
|
|
|
|
2012-03-21 20:55:09 +01:00
|
|
|
typedef Bool (*winAllocateFBProcPtr) (ScreenPtr);
|
2003-11-14 17:48:57 +01:00
|
|
|
|
2012-03-21 20:55:09 +01:00
|
|
|
typedef void (*winFreeFBProcPtr) (ScreenPtr);
|
2009-10-13 15:47:33 +02:00
|
|
|
|
2012-03-21 20:55:09 +01:00
|
|
|
typedef void (*winShadowUpdateProcPtr) (ScreenPtr, shadowBufPtr);
|
2003-11-14 17:48:57 +01:00
|
|
|
|
2012-03-21 20:55:09 +01:00
|
|
|
typedef Bool (*winInitScreenProcPtr) (ScreenPtr);
|
2009-10-13 15:47:33 +02:00
|
|
|
|
api: rework the X server driver API to avoid global arrays.
This is a squash merge containing all the API changes, as
well as the video ABI bump.
Its been squashed to make bisection easier.
Full patch log below:
commit b202738bbf0c5a1c1172767119c2c71f1e7f8070
Author: Aaron Plattner <aplattner@nvidia.com>
Date: Mon May 14 15:16:11 2012 -0700
xfree86: Bump video ABI to 13.0
The ABI was broken by changes to convert from screen index numbers to ScreenPtr
/ ScrnInfoPtr in various structures and function signatures.
Signed-off-by: Aaron Plattner <aplattner@nvidia.com>
Reviewed-by: Dave Airlie <airlied@redhat.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
commit 3d5f7d9f8d408bcad3f83277d255f25d3b0edbf3
Author: Dave Airlie <airlied@redhat.com>
Date: Thu May 24 10:56:57 2012 +0100
xf86: xf86ClearEntityListForScreen should take a pScrn
When adding GPU screens this make life easier.
(also fix comment, as pointed out by Alan)
Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Dave Airlie <airlied@redhat.com>
commit afee8b5ab4501597ecc1ade34124d7ca227ab055
Author: Dave Airlie <airlied@redhat.com>
Date: Thu May 24 07:07:32 2012 +0100
xf86i2c: add pscrn for drivers to use
This just adds a pScrn pointer into the struct for the drivers to use
instead of scrnIndex. Mostly scrnIndex is used for logging, but some
drivers use it to lookup xf86Screens, so let them stash a pScrn instead.
Removing the scrnIndex is a bit more involved and I'm not sure its worth
the effort. Doing i2c in the X server is legacy code as far as I'm concerned.
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
commit ea5092f1f679691d187f1eee9427e6057beec56e
Author: Dave Airlie <airlied@redhat.com>
Date: Wed May 23 19:25:20 2012 +0100
dix/gc: consolidate GC object creation in one place
The standard GC create and scratch GC create were 90% the same really,
and I have a need in the future for creating GC objects without the
other bits, so wanted to avoid a third copy.
Reviewed-by: Keith Packard <keithp@keithp.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
commit 3d91482ea9b4883e64e496f2768168e0ffa21ba1
Author: Dave Airlie <airlied@redhat.com>
Date: Wed May 23 10:24:06 2012 +0100
xf86: add a define to denote the new non-index interfaces are being used
This can be used by drivers to provide compatible APIs.
Reviewed-by: Keith Packard <keithp@keithp.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
commit 37c3ae3e6cd4f3dedc72f371096d6743f8f99df3
Author: Dave Airlie <airlied@redhat.com>
Date: Wed May 23 15:09:12 2012 +0100
dix: make Create/Free scratch pixmaps take a ScreenPtr
While technically an API/ABI change I doubt anyone uses it,
but it helps in splitting screens up.
Reviewed-by: Keith Packard <keithp@keithp.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
commit 75f2062a3fe94f04764ecc7d2ff2fbbeccb9da60
Author: Dave Airlie <airlied@redhat.com>
Date: Wed May 23 14:57:55 2012 +0100
xf86/xv: remove scrnIndexfrom xf86FindXvOptions.
Move this interface to taking an ScrnInfoPtr.
Reviewed-by: Keith Packard <keithp@keithp.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
commit f80c2374f40ea7b2ee0556e2e76cc07406f3d843
Author: Dave Airlie <airlied@redhat.com>
Date: Wed May 23 14:53:59 2012 +0100
xf86: make xf86DeleteScreen take a ScrnInfoPtr (v2)
stop passing indices into this function.
v2: drop flags argument.
Reviewed-by: Keith Packard <keithp@keithp.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
commit 58824e414f35682435f15bfe6c4b656bd90b9235
Author: Dave Airlie <airlied@redhat.com>
Date: Wed May 23 14:48:09 2012 +0100
xf86: fix xf86IsScreenPrimary interface to take a pScrn (API/ABI)
Reviewed-by: Keith Packard <keithp@keithp.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
commit 6b4fc1f9d391bcdf7ca288766e49bce60f4635cd
Author: Dave Airlie <airlied@gmail.com>
Date: Tue Apr 10 14:18:59 2012 +0100
xserver: convert block/wakeup handlers to passing ScreenPtr (ABI/API) (v2)
Instead of passing an index, pass the actual ScreenPtr. This allows
more moving towards not abusing xf86Screens + screenInfo.
v2: drop the blockData/wakeupData args as per ajax's suggestion.,
fix docs.
Reviewed-by: Keith Packard <keithp@keithp.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
commit 790d003de20fb47674420a24dadd92412d78620d
Author: Dave Airlie <airlied@gmail.com>
Date: Wed Apr 11 09:53:14 2012 +0100
xf86/common: remove some more pScrn->pScreen uses
remove some more conversions that appeared after api cleanups.
Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Acked-by: Aaron Plattner <aplattner@nvidia.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
commit aac85e18d1dd093f2cad6bd29375e40bd7af0b8f
Author: Dave Airlie <airlied@gmail.com>
Date: Tue Apr 10 16:34:53 2012 +0100
ddc: change API to take ScrnInfoPtr (v2)
This removes all xf86Screens usage from ddc code,
it modifies the API for some functions to avoid taking indices.
v2: address Alan's comments about dropping DDC2Init parameter.
Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Acked-by: Aaron Plattner <aplattner@nvidia.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
commit fe3f57b6eaf6860a33876a54f9439f69578f03a5
Author: Dave Airlie <airlied@gmail.com>
Date: Tue Apr 10 16:31:26 2012 +0100
vbe: don't use index for VBEInterpretPanelID (API)
Remove use of xf86screens from vbe module.
Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Acked-by: Aaron Plattner <aplattner@nvidia.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
commit abf1965f4ed91529036d3fdb470d6a3ce6f29675
Author: Dave Airlie <airlied@gmail.com>
Date: Tue Apr 10 16:25:11 2012 +0100
int10/vbe: don't use xf86Screens. (ABI) (v3)
Pass the ScrnInfoPtr instead of the index in the int10 struct.
This saves us using it to dereference xf86Screens.
v2: address Alan's comment to fix struct alignment.
v3: squash in all the int10 fixes, test the vm86 code builds,
after comments by Keith.
Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Acked-by: Aaron Plattner <aplattner@nvidia.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
commit 23cca612b4fb5efc33683c7624b803b457387e3d
Author: Dave Airlie <airlied@gmail.com>
Date: Tue Apr 10 15:30:18 2012 +0100
xserver: drop index argument to ScreenInit (ABI/API) (v2)
This drops the index argument, its the same as pScreen->myNum,
and its the last major index abuse I can find.
v2: address Alan's review - update docs, fix xwin/xnest/darwin
Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Acked-by: Aaron Plattner <aplattner@nvidia.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
commit 40d360e2d7e832407f3ed64e3a02c27ecc89a960
Author: Dave Airlie <airlied@gmail.com>
Date: Tue Apr 10 15:23:01 2012 +0100
xf86: migrate PointerMoved from index to ScrnInfoPtr (ABI/API)
This migrates PointerMoved from an index to ScrnInfoPtr.
Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Acked-by: Aaron Plattner <aplattner@nvidia.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
commit aa60a2f38679d0eeb979a9c2648c9bc771409bf9
Author: Dave Airlie <airlied@gmail.com>
Date: Tue Apr 10 15:20:46 2012 +0100
xf86: migrate PMEvent to a ScrnInfoPtr (ABI/API)
This migrates the PMEvent from index to ScrnInfoPtr.
Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Acked-by: Aaron Plattner <aplattner@nvidia.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
commit d3f28ef44371ed4a039ffc5dd7eb6408d1269ba2
Author: Dave Airlie <airlied@gmail.com>
Date: Tue Apr 10 15:18:30 2012 +0100
xf86: migrate SetDGAMode from index to ScrnInfoPtr (ABI/API)
This migrates the SetDGAMode callback from an index to ScrnInfoPtr.
Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Acked-by: Aaron Plattner <aplattner@nvidia.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
commit baf5e4818a74f2b68c3dfdcc56f54322351039a0
Author: Dave Airlie <airlied@gmail.com>
Date: Tue Apr 10 15:14:11 2012 +0100
xf86: migrate ChangeGamma from index to ScrnInfoPtr (ABI/API) (v2)
This migrates the ChangeGamma interface to avoid passing a index.
v2: fix xf86RandR12.c + xf86cmap.c call
Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Acked-by: Aaron Plattner <aplattner@nvidia.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
commit 51e5f90ada929d6b23176090badbb42fdb3fa550
Author: Dave Airlie <airlied@gmail.com>
Date: Tue Apr 10 15:11:09 2012 +0100
xf86/exa: migrate index to screen types for EnableDisableFBAccess (ABI/API)
The EXA interface migrates to ScreenPtr,
and the xf86 interface migrated to ScrnInfoPtr.
Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Acked-by: Aaron Plattner <aplattner@nvidia.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
commit 94f1f21d17e86f96d4a54292a399160950087675
Author: Dave Airlie <airlied@gmail.com>
Date: Tue Apr 10 15:02:11 2012 +0100
xf86: migrate ValidMode callback to ScrnInfoPtr (ABI/API)
This migrates the ValidMode to passing a ScrnInfoPtr instead
of an index.
Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Acked-by: Aaron Plattner <aplattner@nvidia.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
commit 3f8f18198fed4f39ec805b508a3482e91eea26b2
Author: Dave Airlie <airlied@gmail.com>
Date: Tue Apr 10 14:59:46 2012 +0100
xf86: migrate SwitchMode to taking ScrnInfoPtr (ABI/API) (v2)
This migrate the SwitchMode interface to take a ScrnInfoPtr
instead of an index.
v2: drop flags.
Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Acked-by: Aaron Plattner <aplattner@nvidia.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
commit d06a038a5c49328ab3a8d969d24f9fcd22c63202
Author: Dave Airlie <airlied@gmail.com>
Date: Tue Apr 10 14:50:37 2012 +0100
xf86: move AdjustFrame to passing ScrnInfoPtr (ABI/API) (v2)
This converts AdjustFrame code paths to passing a ScrnInfoPtr
instead of an integer index.
v2: drop flags args.
Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Acked-by: Aaron Plattner <aplattner@nvidia.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
commit 53d2f8608ffd4090d08e7d5cf2e92fb954959b90
Author: Dave Airlie <airlied@gmail.com>
Date: Tue Apr 10 14:41:27 2012 +0100
xf86: modify FreeScreen callback to take pScrn instead of index. (ABI/API) (v2)
Another index->pScrn conversion.
v2: drop flags arg.
Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Acked-by: Aaron Plattner <aplattner@nvidia.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
commit 60db37c0b247052e0f5c54b1921fe58a3609c2e3
Author: Dave Airlie <airlied@gmail.com>
Date: Tue Apr 10 14:35:41 2012 +0100
xf86: change EnterVT/LeaveVT to take a ScrnInfoPtr (ABI/API break) (v2)
This modifies the EnterVT/LeaveVT interfaces to take a ScrnInfoPtr
instead of an index into xf86Screens. This allows dropping more
public dereferences of the xf86Screens and screenInfo.
v2: drop flags args as suggested by Keith, fix docs.
Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Acked-by: Aaron Plattner <aplattner@nvidia.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
commit 06729dbbc804a20242e6499f446acb5d94023c3c
Author: Dave Airlie <airlied@gmail.com>
Date: Tue Apr 10 14:04:59 2012 +0100
xserver: remove index from CloseScreen (API/ABI breakage)
This drops the index from the CloseScreen callback,
its always been useless really, since the pScreen contains it.
Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Acked-by: Aaron Plattner <aplattner@nvidia.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
2012-06-05 14:22:18 +02:00
|
|
|
typedef Bool (*winCloseScreenProcPtr) (ScreenPtr);
|
2003-11-14 17:48:57 +01:00
|
|
|
|
2012-03-21 20:55:09 +01:00
|
|
|
typedef Bool (*winInitVisualsProcPtr) (ScreenPtr);
|
2003-11-14 17:48:57 +01:00
|
|
|
|
2012-03-21 20:55:09 +01:00
|
|
|
typedef Bool (*winAdjustVideoModeProcPtr) (ScreenPtr);
|
2003-11-14 17:48:57 +01:00
|
|
|
|
2012-03-21 20:55:09 +01:00
|
|
|
typedef Bool (*winCreateBoundingWindowProcPtr) (ScreenPtr);
|
2003-11-14 17:48:57 +01:00
|
|
|
|
2012-03-21 20:55:09 +01:00
|
|
|
typedef Bool (*winFinishScreenInitProcPtr) (int, ScreenPtr, int, char **);
|
2003-11-14 17:48:57 +01:00
|
|
|
|
2012-03-21 20:55:09 +01:00
|
|
|
typedef Bool (*winBltExposedRegionsProcPtr) (ScreenPtr);
|
2003-11-14 17:48:57 +01:00
|
|
|
|
2012-03-21 20:55:09 +01:00
|
|
|
typedef Bool (*winActivateAppProcPtr) (ScreenPtr);
|
2003-11-14 17:48:57 +01:00
|
|
|
|
2012-03-21 20:55:09 +01:00
|
|
|
typedef Bool (*winRedrawScreenProcPtr) (ScreenPtr pScreen);
|
2003-11-14 17:48:57 +01:00
|
|
|
|
2012-03-21 20:55:09 +01:00
|
|
|
typedef Bool (*winRealizeInstalledPaletteProcPtr) (ScreenPtr pScreen);
|
2003-11-14 17:48:57 +01:00
|
|
|
|
2012-03-21 20:55:09 +01:00
|
|
|
typedef Bool (*winInstallColormapProcPtr) (ColormapPtr pColormap);
|
2003-11-14 17:48:57 +01:00
|
|
|
|
2012-03-21 20:55:09 +01:00
|
|
|
typedef Bool (*winStoreColorsProcPtr) (ColormapPtr pmap,
|
|
|
|
int ndef, xColorItem * pdefs);
|
2003-11-14 17:48:57 +01:00
|
|
|
|
2012-03-21 20:55:09 +01:00
|
|
|
typedef Bool (*winCreateColormapProcPtr) (ColormapPtr pColormap);
|
2003-11-14 17:48:57 +01:00
|
|
|
|
2012-03-21 20:55:09 +01:00
|
|
|
typedef Bool (*winDestroyColormapProcPtr) (ColormapPtr pColormap);
|
2003-11-14 17:48:57 +01:00
|
|
|
|
2012-03-21 20:55:09 +01:00
|
|
|
typedef Bool (*winHotKeyAltTabProcPtr) (ScreenPtr);
|
2003-11-14 17:48:57 +01:00
|
|
|
|
2012-03-21 20:55:09 +01:00
|
|
|
typedef Bool (*winCreatePrimarySurfaceProcPtr) (ScreenPtr);
|
2003-11-14 17:48:57 +01:00
|
|
|
|
2012-03-21 20:55:09 +01:00
|
|
|
typedef Bool (*winReleasePrimarySurfaceProcPtr) (ScreenPtr);
|
2003-11-14 17:48:57 +01:00
|
|
|
|
2012-03-21 20:55:09 +01:00
|
|
|
typedef Bool (*winFinishCreateWindowsWindowProcPtr) (WindowPtr pWin);
|
2004-06-21 15:19:32 +02:00
|
|
|
|
2012-03-21 20:55:09 +01:00
|
|
|
typedef Bool (*winCreateScreenResourcesProc) (ScreenPtr);
|
2004-06-21 15:19:32 +02:00
|
|
|
|
2009-10-13 15:48:17 +02:00
|
|
|
#ifdef XWIN_NATIVEGDI
|
|
|
|
/* Typedefs for native GDI wrappers */
|
|
|
|
typedef Bool (*RealizeFontPtr) (ScreenPtr pScreen, FontPtr pFont);
|
2012-03-21 20:55:09 +01:00
|
|
|
typedef Bool (*UnrealizeFontPtr) (ScreenPtr pScreen, FontPtr pFont);
|
2009-10-13 15:48:17 +02:00
|
|
|
#endif
|
|
|
|
|
2003-11-14 17:48:57 +01:00
|
|
|
/*
|
|
|
|
* GC (graphics context) privates
|
|
|
|
*/
|
|
|
|
|
2012-03-21 20:55:09 +01:00
|
|
|
typedef struct {
|
|
|
|
HDC hdc;
|
|
|
|
HDC hdcMem;
|
2003-11-14 17:48:57 +01:00
|
|
|
} winPrivGCRec, *winPrivGCPtr;
|
|
|
|
|
|
|
|
/*
|
|
|
|
* Pixmap privates
|
|
|
|
*/
|
|
|
|
|
2012-03-21 20:55:09 +01:00
|
|
|
typedef struct {
|
|
|
|
HDC hdcSelected;
|
|
|
|
HBITMAP hBitmap;
|
|
|
|
BYTE *pbBits;
|
|
|
|
DWORD dwScanlineBytes;
|
|
|
|
BITMAPINFOHEADER *pbmih;
|
2003-11-14 17:48:57 +01:00
|
|
|
} winPrivPixmapRec, *winPrivPixmapPtr;
|
|
|
|
|
|
|
|
/*
|
|
|
|
* Colormap privates
|
|
|
|
*/
|
|
|
|
|
2012-03-21 20:55:09 +01:00
|
|
|
typedef struct {
|
|
|
|
HPALETTE hPalette;
|
|
|
|
LPDIRECTDRAWPALETTE lpDDPalette;
|
|
|
|
RGBQUAD rgbColors[WIN_NUM_PALETTE_ENTRIES];
|
|
|
|
PALETTEENTRY peColors[WIN_NUM_PALETTE_ENTRIES];
|
2003-11-14 17:48:57 +01:00
|
|
|
} winPrivCmapRec, *winPrivCmapPtr;
|
|
|
|
|
|
|
|
/*
|
2004-06-21 15:19:32 +02:00
|
|
|
* Windows Cursor handling.
|
2012-03-21 20:55:09 +01:00
|
|
|
*/
|
|
|
|
|
2004-06-21 15:19:32 +02:00
|
|
|
typedef struct {
|
2012-03-21 20:55:09 +01:00
|
|
|
/* from GetSystemMetrics */
|
|
|
|
int sm_cx;
|
|
|
|
int sm_cy;
|
|
|
|
|
|
|
|
BOOL visible;
|
|
|
|
HCURSOR handle;
|
|
|
|
QueryBestSizeProcPtr QueryBestSize;
|
|
|
|
miPointerSpriteFuncPtr spriteFuncs;
|
2004-06-21 15:19:32 +02:00
|
|
|
} winCursorRec;
|
2003-11-14 17:48:57 +01:00
|
|
|
|
2010-03-30 21:07:19 +02:00
|
|
|
/*
|
|
|
|
* Resize modes
|
|
|
|
*/
|
|
|
|
typedef enum {
|
2012-03-21 20:55:09 +01:00
|
|
|
notAllowed,
|
|
|
|
resizeWithScrollbars,
|
|
|
|
resizeWithRandr
|
2010-03-30 21:07:19 +02:00
|
|
|
} winResizeMode;
|
|
|
|
|
2003-11-14 17:48:57 +01:00
|
|
|
/*
|
|
|
|
* Screen information structure that we need before privates are available
|
|
|
|
* in the server startup sequence.
|
|
|
|
*/
|
|
|
|
|
2012-03-21 20:55:09 +01:00
|
|
|
typedef struct {
|
|
|
|
ScreenPtr pScreen;
|
|
|
|
|
|
|
|
/* Did the user specify a height and width? */
|
|
|
|
Bool fUserGaveHeightAndWidth;
|
|
|
|
|
|
|
|
DWORD dwScreen;
|
|
|
|
|
|
|
|
int iMonitor;
|
2012-07-05 15:01:03 +02:00
|
|
|
HMONITOR hMonitor;
|
2012-03-21 20:55:09 +01:00
|
|
|
DWORD dwUserWidth;
|
|
|
|
DWORD dwUserHeight;
|
|
|
|
DWORD dwWidth;
|
|
|
|
DWORD dwHeight;
|
|
|
|
DWORD dwPaddedWidth;
|
|
|
|
|
|
|
|
/* Did the user specify a screen position? */
|
|
|
|
Bool fUserGavePosition;
|
|
|
|
DWORD dwInitialX;
|
|
|
|
DWORD dwInitialY;
|
|
|
|
|
|
|
|
/*
|
|
|
|
* dwStride is the number of whole pixels that occupy a scanline,
|
|
|
|
* including those pixels that are not displayed. This is basically
|
|
|
|
* a rounding up of the width.
|
|
|
|
*/
|
|
|
|
DWORD dwStride;
|
|
|
|
|
|
|
|
/* Offset of the screen in the window when using scrollbars */
|
|
|
|
DWORD dwXOffset;
|
|
|
|
DWORD dwYOffset;
|
|
|
|
|
|
|
|
DWORD dwBPP;
|
|
|
|
DWORD dwDepth;
|
|
|
|
DWORD dwRefreshRate;
|
|
|
|
char *pfb;
|
|
|
|
DWORD dwEngine;
|
|
|
|
DWORD dwEnginePreferred;
|
|
|
|
DWORD dwClipUpdatesNBoxes;
|
2004-06-21 15:19:32 +02:00
|
|
|
#ifdef XWIN_EMULATEPSEUDO
|
2012-03-21 20:55:09 +01:00
|
|
|
Bool fEmulatePseudo;
|
2004-06-21 15:19:32 +02:00
|
|
|
#endif
|
2012-03-21 20:55:09 +01:00
|
|
|
Bool fFullScreen;
|
|
|
|
Bool fDecoration;
|
2004-06-21 15:19:32 +02:00
|
|
|
#ifdef XWIN_MULTIWINDOWEXTWM
|
2012-03-21 20:55:09 +01:00
|
|
|
Bool fMWExtWM;
|
|
|
|
Bool fInternalWM;
|
|
|
|
Bool fAnotherWMRunning;
|
2004-06-21 15:19:32 +02:00
|
|
|
#endif
|
2012-03-21 20:55:09 +01:00
|
|
|
Bool fRootless;
|
2004-06-21 15:19:32 +02:00
|
|
|
#ifdef XWIN_MULTIWINDOW
|
2012-03-21 20:55:09 +01:00
|
|
|
Bool fMultiWindow;
|
2004-10-28 16:23:08 +02:00
|
|
|
#endif
|
|
|
|
#if defined(XWIN_MULTIWINDOW) || defined(XWIN_MULTIWINDOWEXTWM)
|
2012-03-21 20:55:09 +01:00
|
|
|
Bool fMultiMonitorOverride;
|
2004-06-21 15:19:32 +02:00
|
|
|
#endif
|
2012-03-21 20:55:09 +01:00
|
|
|
Bool fMultipleMonitors;
|
|
|
|
Bool fLessPointer;
|
|
|
|
winResizeMode iResizeMode;
|
|
|
|
Bool fNoTrayIcon;
|
|
|
|
int iE3BTimeout;
|
|
|
|
/* Windows (Alt+F4) and Unix (Ctrl+Alt+Backspace) Killkey */
|
|
|
|
Bool fUseWinKillKey;
|
|
|
|
Bool fUseUnixKillKey;
|
|
|
|
Bool fIgnoreInput;
|
|
|
|
|
|
|
|
/* Did the user explicitly set this screen? */
|
|
|
|
Bool fExplicitScreen;
|
2003-11-14 17:48:57 +01:00
|
|
|
} winScreenInfo, *winScreenInfoPtr;
|
|
|
|
|
|
|
|
/*
|
|
|
|
* Screen privates
|
|
|
|
*/
|
|
|
|
|
2012-03-21 20:55:09 +01:00
|
|
|
typedef struct _winPrivScreenRec {
|
|
|
|
winScreenInfoPtr pScreenInfo;
|
2003-11-14 17:48:57 +01:00
|
|
|
|
2012-03-21 20:55:09 +01:00
|
|
|
Bool fEnabled;
|
|
|
|
Bool fClosed;
|
|
|
|
Bool fActive;
|
|
|
|
Bool fBadDepth;
|
2003-11-14 17:48:57 +01:00
|
|
|
|
2012-03-21 20:55:09 +01:00
|
|
|
int iDeltaZ;
|
2013-02-21 18:12:17 +01:00
|
|
|
int iDeltaV;
|
2003-11-14 17:48:57 +01:00
|
|
|
|
2012-03-21 20:55:09 +01:00
|
|
|
int iConnectedClients;
|
2004-06-21 15:19:32 +02:00
|
|
|
|
2012-03-21 20:55:09 +01:00
|
|
|
CloseScreenProcPtr CloseScreen;
|
2003-11-14 17:48:57 +01:00
|
|
|
|
2012-03-21 20:55:09 +01:00
|
|
|
DWORD dwRedMask;
|
|
|
|
DWORD dwGreenMask;
|
|
|
|
DWORD dwBlueMask;
|
|
|
|
DWORD dwBitsPerRGB;
|
2003-11-14 17:48:57 +01:00
|
|
|
|
2012-03-21 20:55:09 +01:00
|
|
|
DWORD dwModeKeyStates;
|
2003-11-14 17:48:57 +01:00
|
|
|
|
2012-03-21 20:55:09 +01:00
|
|
|
/* Handle to icons that must be freed */
|
|
|
|
HICON hiconNotifyIcon;
|
2003-11-25 20:29:01 +01:00
|
|
|
|
2012-03-21 20:55:09 +01:00
|
|
|
/* Palette management */
|
|
|
|
ColormapPtr pcmapInstalled;
|
2003-11-14 17:48:57 +01:00
|
|
|
|
2012-03-21 20:55:09 +01:00
|
|
|
/* Pointer to the root visual so we only have to look it up once */
|
|
|
|
VisualPtr pRootVisual;
|
2003-11-14 17:48:57 +01:00
|
|
|
|
2012-03-21 20:55:09 +01:00
|
|
|
/* 3 button emulation variables */
|
|
|
|
int iE3BCachedPress;
|
|
|
|
Bool fE3BFakeButton2Sent;
|
2003-11-14 17:48:57 +01:00
|
|
|
|
2012-03-21 20:55:09 +01:00
|
|
|
/* Privates used by shadow fb GDI server */
|
|
|
|
HBITMAP hbmpShadow;
|
|
|
|
HDC hdcScreen;
|
|
|
|
HDC hdcShadow;
|
|
|
|
HWND hwndScreen;
|
|
|
|
BITMAPINFOHEADER *pbmih;
|
2010-08-31 11:13:01 +02:00
|
|
|
|
2012-03-21 20:55:09 +01:00
|
|
|
/* Privates used by shadow fb and primary fb DirectDraw servers */
|
|
|
|
LPDIRECTDRAW pdd;
|
|
|
|
LPDIRECTDRAWSURFACE2 pddsPrimary;
|
|
|
|
LPDIRECTDRAW2 pdd2;
|
2003-11-14 17:48:57 +01:00
|
|
|
|
2012-03-21 20:55:09 +01:00
|
|
|
/* Privates used by shadow fb DirectDraw server */
|
|
|
|
LPDIRECTDRAWSURFACE2 pddsShadow;
|
|
|
|
LPDDSURFACEDESC pddsdShadow;
|
2003-11-14 17:48:57 +01:00
|
|
|
|
2012-03-21 20:55:09 +01:00
|
|
|
/* Privates used by primary fb DirectDraw server */
|
|
|
|
LPDIRECTDRAWSURFACE2 pddsOffscreen;
|
|
|
|
LPDDSURFACEDESC pddsdOffscreen;
|
|
|
|
LPDDSURFACEDESC pddsdPrimary;
|
2003-11-14 17:48:57 +01:00
|
|
|
|
2012-03-21 20:55:09 +01:00
|
|
|
/* Privates used by shadow fb DirectDraw Nonlocking server */
|
|
|
|
LPDIRECTDRAW4 pdd4;
|
|
|
|
LPDIRECTDRAWSURFACE4 pddsShadow4;
|
|
|
|
LPDIRECTDRAWSURFACE4 pddsPrimary4;
|
|
|
|
BOOL fRetryCreateSurface;
|
2003-11-14 17:48:57 +01:00
|
|
|
|
2012-03-21 20:55:09 +01:00
|
|
|
/* Privates used by both shadow fb DirectDraw servers */
|
|
|
|
LPDIRECTDRAWCLIPPER pddcPrimary;
|
2003-11-14 17:48:57 +01:00
|
|
|
|
2004-06-21 15:19:32 +02:00
|
|
|
#ifdef XWIN_MULTIWINDOWEXTWM
|
2012-03-21 20:55:09 +01:00
|
|
|
/* Privates used by multi-window external window manager */
|
|
|
|
RootlessFrameID widTop;
|
|
|
|
Bool fRestacking;
|
2004-06-21 15:19:32 +02:00
|
|
|
#endif
|
|
|
|
|
|
|
|
#ifdef XWIN_MULTIWINDOW
|
2012-03-21 20:55:09 +01:00
|
|
|
/* Privates used by multi-window */
|
|
|
|
pthread_t ptWMProc;
|
|
|
|
pthread_t ptXMsgProc;
|
|
|
|
void *pWMInfo;
|
2004-06-21 15:19:32 +02:00
|
|
|
#endif
|
|
|
|
|
|
|
|
#if defined(XWIN_MULTIWINDOW) || defined(XWIN_MULTIWINDOWEXTWM)
|
2012-03-21 20:55:09 +01:00
|
|
|
/* Privates used by both multi-window and rootless */
|
|
|
|
Bool fRootWindowShown;
|
2004-06-21 15:19:32 +02:00
|
|
|
#endif
|
2003-11-14 17:48:57 +01:00
|
|
|
|
2004-06-21 15:19:32 +02:00
|
|
|
#if defined(XWIN_CLIPBOARD) || defined(XWIN_MULTIWINDOW)
|
2012-03-21 20:55:09 +01:00
|
|
|
/* Privates used for any module running in a seperate thread */
|
|
|
|
pthread_mutex_t pmServerStarted;
|
|
|
|
Bool fServerStarted;
|
2004-06-21 15:19:32 +02:00
|
|
|
#endif
|
2012-03-21 20:55:09 +01:00
|
|
|
|
|
|
|
/* Engine specific functions */
|
|
|
|
winAllocateFBProcPtr pwinAllocateFB;
|
|
|
|
winFreeFBProcPtr pwinFreeFB;
|
|
|
|
winShadowUpdateProcPtr pwinShadowUpdate;
|
|
|
|
winInitScreenProcPtr pwinInitScreen;
|
|
|
|
winCloseScreenProcPtr pwinCloseScreen;
|
|
|
|
winInitVisualsProcPtr pwinInitVisuals;
|
|
|
|
winAdjustVideoModeProcPtr pwinAdjustVideoMode;
|
|
|
|
winCreateBoundingWindowProcPtr pwinCreateBoundingWindow;
|
|
|
|
winFinishScreenInitProcPtr pwinFinishScreenInit;
|
|
|
|
winBltExposedRegionsProcPtr pwinBltExposedRegions;
|
|
|
|
winActivateAppProcPtr pwinActivateApp;
|
|
|
|
winRedrawScreenProcPtr pwinRedrawScreen;
|
|
|
|
winRealizeInstalledPaletteProcPtr pwinRealizeInstalledPalette;
|
|
|
|
winInstallColormapProcPtr pwinInstallColormap;
|
|
|
|
winStoreColorsProcPtr pwinStoreColors;
|
|
|
|
winCreateColormapProcPtr pwinCreateColormap;
|
|
|
|
winDestroyColormapProcPtr pwinDestroyColormap;
|
|
|
|
winHotKeyAltTabProcPtr pwinHotKeyAltTab;
|
|
|
|
winCreatePrimarySurfaceProcPtr pwinCreatePrimarySurface;
|
|
|
|
winReleasePrimarySurfaceProcPtr pwinReleasePrimarySurface;
|
|
|
|
|
|
|
|
winCreateScreenResourcesProc pwinCreateScreenResources;
|
2008-11-02 19:27:14 +01:00
|
|
|
|
2004-06-21 15:19:32 +02:00
|
|
|
#ifdef XWIN_MULTIWINDOW
|
2012-03-21 20:55:09 +01:00
|
|
|
/* Window Procedures for MultiWindow mode */
|
|
|
|
winFinishCreateWindowsWindowProcPtr pwinFinishCreateWindowsWindow;
|
2004-06-21 15:19:32 +02:00
|
|
|
#endif
|
|
|
|
|
2012-03-21 20:55:09 +01:00
|
|
|
/* Window Procedures for Rootless mode */
|
|
|
|
CreateWindowProcPtr CreateWindow;
|
|
|
|
DestroyWindowProcPtr DestroyWindow;
|
|
|
|
PositionWindowProcPtr PositionWindow;
|
|
|
|
ChangeWindowAttributesProcPtr ChangeWindowAttributes;
|
|
|
|
RealizeWindowProcPtr RealizeWindow;
|
|
|
|
UnrealizeWindowProcPtr UnrealizeWindow;
|
|
|
|
ValidateTreeProcPtr ValidateTree;
|
|
|
|
PostValidateTreeProcPtr PostValidateTree;
|
|
|
|
CopyWindowProcPtr CopyWindow;
|
|
|
|
ClearToBackgroundProcPtr ClearToBackground;
|
|
|
|
ClipNotifyProcPtr ClipNotify;
|
|
|
|
RestackWindowProcPtr RestackWindow;
|
|
|
|
ReparentWindowProcPtr ReparentWindow;
|
|
|
|
ResizeWindowProcPtr ResizeWindow;
|
|
|
|
MoveWindowProcPtr MoveWindow;
|
|
|
|
SetShapeProcPtr SetShape;
|
|
|
|
|
|
|
|
winCursorRec cursor;
|
2009-10-13 15:48:17 +02:00
|
|
|
|
|
|
|
#ifdef XWIN_NATIVEGDI
|
2012-03-21 20:55:09 +01:00
|
|
|
RealizeFontPtr RealizeFont;
|
|
|
|
UnrealizeFontPtr UnrealizeFont;
|
2009-10-13 15:48:17 +02:00
|
|
|
#endif
|
|
|
|
|
2003-11-14 17:48:57 +01:00
|
|
|
} winPrivScreenRec;
|
|
|
|
|
2004-06-21 15:19:32 +02:00
|
|
|
#ifdef XWIN_MULTIWINDOWEXTWM
|
|
|
|
typedef struct {
|
2012-03-21 20:55:09 +01:00
|
|
|
RootlessWindowPtr pFrame;
|
|
|
|
HWND hWnd;
|
|
|
|
int dwWidthBytes;
|
|
|
|
BITMAPINFOHEADER *pbmihShadow;
|
|
|
|
HBITMAP hbmpShadow;
|
|
|
|
HDC hdcShadow;
|
|
|
|
HDC hdcScreen;
|
|
|
|
BOOL fResized;
|
|
|
|
BOOL fRestackingNow;
|
|
|
|
BOOL fClose;
|
|
|
|
BOOL fMovingOrSizing;
|
|
|
|
BOOL fDestroyed; //for debug
|
|
|
|
char *pfb;
|
2004-06-21 15:19:32 +02:00
|
|
|
} win32RootlessWindowRec, *win32RootlessWindowPtr;
|
|
|
|
#endif
|
|
|
|
|
2003-11-25 20:29:01 +01:00
|
|
|
typedef struct {
|
2013-12-15 10:05:51 +01:00
|
|
|
void *value;
|
2012-03-21 20:55:09 +01:00
|
|
|
XID id;
|
2003-11-25 20:29:01 +01:00
|
|
|
} WindowIDPairRec, *WindowIDPairPtr;
|
|
|
|
|
2003-11-14 17:48:57 +01:00
|
|
|
/*
|
|
|
|
* Extern declares for general global variables
|
|
|
|
*/
|
|
|
|
|
2010-10-14 23:38:17 +02:00
|
|
|
#include "winglobals.h"
|
|
|
|
|
2012-03-21 20:55:09 +01:00
|
|
|
extern winScreenInfo *g_ScreenInfo;
|
|
|
|
extern miPointerScreenFuncRec g_winPointerCursorFuncs;
|
|
|
|
extern DWORD g_dwEvents;
|
|
|
|
|
2004-11-15 16:06:51 +01:00
|
|
|
#ifdef HAS_DEVWINDOWS
|
2012-03-21 20:55:09 +01:00
|
|
|
extern int g_fdMessageQueue;
|
2004-11-15 16:06:51 +01:00
|
|
|
#endif
|
2012-03-21 20:55:09 +01:00
|
|
|
extern DevPrivateKeyRec g_iScreenPrivateKeyRec;
|
|
|
|
|
2010-04-27 02:22:21 +02:00
|
|
|
#define g_iScreenPrivateKey (&g_iScreenPrivateKeyRec)
|
2012-03-21 20:55:09 +01:00
|
|
|
extern DevPrivateKeyRec g_iCmapPrivateKeyRec;
|
|
|
|
|
2010-06-16 19:07:04 +02:00
|
|
|
#define g_iCmapPrivateKey (&g_iCmapPrivateKeyRec)
|
2012-03-21 20:55:09 +01:00
|
|
|
extern DevPrivateKeyRec g_iGCPrivateKeyRec;
|
|
|
|
|
2010-04-27 02:22:21 +02:00
|
|
|
#define g_iGCPrivateKey (&g_iGCPrivateKeyRec)
|
2012-03-21 20:55:09 +01:00
|
|
|
extern DevPrivateKeyRec g_iPixmapPrivateKeyRec;
|
|
|
|
|
2010-04-27 02:22:21 +02:00
|
|
|
#define g_iPixmapPrivateKey (&g_iPixmapPrivateKeyRec)
|
2012-03-21 20:55:09 +01:00
|
|
|
extern DevPrivateKeyRec g_iWindowPrivateKeyRec;
|
|
|
|
|
2010-04-27 02:22:21 +02:00
|
|
|
#define g_iWindowPrivateKey (&g_iWindowPrivateKeyRec)
|
|
|
|
|
2012-03-21 20:55:09 +01:00
|
|
|
extern unsigned long g_ulServerGeneration;
|
|
|
|
extern DWORD g_dwEnginesSupported;
|
|
|
|
extern HINSTANCE g_hInstance;
|
|
|
|
extern int g_copyROP[];
|
|
|
|
extern int g_patternROP[];
|
|
|
|
extern const char *g_pszQueryHost;
|
|
|
|
extern DeviceIntPtr g_pwinPointer;
|
|
|
|
extern DeviceIntPtr g_pwinKeyboard;
|
2003-11-14 17:48:57 +01:00
|
|
|
|
|
|
|
/*
|
2010-10-14 23:38:17 +02:00
|
|
|
* Extern declares for dynamically loaded library function pointers
|
2003-11-14 17:48:57 +01:00
|
|
|
*/
|
|
|
|
|
2012-03-21 20:55:09 +01:00
|
|
|
extern FARPROC g_fpDirectDrawCreate;
|
|
|
|
extern FARPROC g_fpDirectDrawCreateClipper;
|
2003-11-14 17:48:57 +01:00
|
|
|
|
|
|
|
/*
|
|
|
|
* Screen privates macros
|
|
|
|
*/
|
|
|
|
|
2007-08-28 15:28:25 +02:00
|
|
|
#define winGetScreenPriv(pScreen) ((winPrivScreenPtr) \
|
|
|
|
dixLookupPrivate(&(pScreen)->devPrivates, g_iScreenPrivateKey))
|
2003-11-14 17:48:57 +01:00
|
|
|
|
|
|
|
#define winSetScreenPriv(pScreen,v) \
|
2007-08-28 15:28:25 +02:00
|
|
|
dixSetPrivate(&(pScreen)->devPrivates, g_iScreenPrivateKey, v)
|
2003-11-14 17:48:57 +01:00
|
|
|
|
|
|
|
#define winScreenPriv(pScreen) \
|
|
|
|
winPrivScreenPtr pScreenPriv = winGetScreenPriv(pScreen)
|
|
|
|
|
|
|
|
/*
|
|
|
|
* Colormap privates macros
|
|
|
|
*/
|
|
|
|
|
2007-08-28 15:28:25 +02:00
|
|
|
#define winGetCmapPriv(pCmap) ((winPrivCmapPtr) \
|
|
|
|
dixLookupPrivate(&(pCmap)->devPrivates, g_iCmapPrivateKey))
|
2003-11-14 17:48:57 +01:00
|
|
|
|
|
|
|
#define winSetCmapPriv(pCmap,v) \
|
2007-08-28 15:28:25 +02:00
|
|
|
dixSetPrivate(&(pCmap)->devPrivates, g_iCmapPrivateKey, v)
|
2003-11-14 17:48:57 +01:00
|
|
|
|
|
|
|
#define winCmapPriv(pCmap) \
|
|
|
|
winPrivCmapPtr pCmapPriv = winGetCmapPriv(pCmap)
|
|
|
|
|
|
|
|
/*
|
|
|
|
* GC privates macros
|
|
|
|
*/
|
|
|
|
|
2007-08-28 15:28:25 +02:00
|
|
|
#define winGetGCPriv(pGC) ((winPrivGCPtr) \
|
|
|
|
dixLookupPrivate(&(pGC)->devPrivates, g_iGCPrivateKey))
|
2003-11-14 17:48:57 +01:00
|
|
|
|
|
|
|
#define winSetGCPriv(pGC,v) \
|
2007-08-28 15:28:25 +02:00
|
|
|
dixSetPrivate(&(pGC)->devPrivates, g_iGCPrivateKey, v)
|
2003-11-14 17:48:57 +01:00
|
|
|
|
|
|
|
#define winGCPriv(pGC) \
|
|
|
|
winPrivGCPtr pGCPriv = winGetGCPriv(pGC)
|
|
|
|
|
|
|
|
/*
|
|
|
|
* Pixmap privates macros
|
|
|
|
*/
|
|
|
|
|
2007-08-28 15:28:25 +02:00
|
|
|
#define winGetPixmapPriv(pPixmap) ((winPrivPixmapPtr) \
|
|
|
|
dixLookupPrivate(&(pPixmap)->devPrivates, g_iPixmapPrivateKey))
|
2003-11-14 17:48:57 +01:00
|
|
|
|
|
|
|
#define winSetPixmapPriv(pPixmap,v) \
|
2007-08-28 15:28:25 +02:00
|
|
|
dixLookupPrivate(&(pPixmap)->devPrivates, g_iPixmapPrivateKey, v)
|
2003-11-14 17:48:57 +01:00
|
|
|
|
|
|
|
#define winPixmapPriv(pPixmap) \
|
|
|
|
winPrivPixmapPtr pPixmapPriv = winGetPixmapPriv(pPixmap)
|
|
|
|
|
|
|
|
/*
|
|
|
|
* Window privates macros
|
|
|
|
*/
|
|
|
|
|
2007-08-28 15:28:25 +02:00
|
|
|
#define winGetWindowPriv(pWin) ((winPrivWinPtr) \
|
|
|
|
dixLookupPrivate(&(pWin)->devPrivates, g_iWindowPrivateKey))
|
2003-11-14 17:48:57 +01:00
|
|
|
|
|
|
|
#define winSetWindowPriv(pWin,v) \
|
2007-08-28 15:28:25 +02:00
|
|
|
dixLookupPrivate(&(pWin)->devPrivates, g_iWindowPrivateKey, v)
|
2003-11-14 17:48:57 +01:00
|
|
|
|
|
|
|
#define winWindowPriv(pWin) \
|
|
|
|
winPrivWinPtr pWinPriv = winGetWindowPriv(pWin)
|
|
|
|
|
2005-02-12 15:47:17 +01:00
|
|
|
/*
|
|
|
|
* wrapper macros
|
|
|
|
*/
|
|
|
|
#define _WIN_WRAP(priv, real, mem, func) {\
|
|
|
|
priv->mem = real->mem; \
|
|
|
|
real->mem = func; \
|
|
|
|
}
|
|
|
|
|
|
|
|
#define _WIN_UNWRAP(priv, real, mem) {\
|
|
|
|
real->mem = priv->mem; \
|
|
|
|
}
|
|
|
|
|
2012-03-21 20:55:09 +01:00
|
|
|
#define WIN_WRAP(mem, func) _WIN_WRAP(pScreenPriv, pScreen, mem, func)
|
2005-02-12 15:47:17 +01:00
|
|
|
|
|
|
|
#define WIN_UNWRAP(mem) _WIN_UNWRAP(pScreenPriv, pScreen, mem)
|
2003-11-14 17:48:57 +01:00
|
|
|
|
|
|
|
/*
|
|
|
|
* BEGIN DDX and DIX Function Prototypes
|
|
|
|
*/
|
|
|
|
|
|
|
|
/*
|
|
|
|
* winallpriv.c
|
|
|
|
*/
|
|
|
|
|
|
|
|
Bool
|
2012-03-21 20:55:09 +01:00
|
|
|
winAllocatePrivates(ScreenPtr pScreen);
|
2003-11-14 17:48:57 +01:00
|
|
|
|
|
|
|
Bool
|
2014-02-28 15:20:48 +01:00
|
|
|
winInitCmapPrivates(ColormapPtr pCmap, int i);
|
2003-11-14 17:48:57 +01:00
|
|
|
|
|
|
|
Bool
|
2012-03-21 20:55:09 +01:00
|
|
|
winAllocateCmapPrivates(ColormapPtr pCmap);
|
2003-11-14 17:48:57 +01:00
|
|
|
|
2004-06-21 15:19:32 +02:00
|
|
|
/*
|
|
|
|
* winauth.c
|
|
|
|
*/
|
|
|
|
|
|
|
|
#if defined(XWIN_CLIPBOARD) || defined(XWIN_MULTIWINDOW)
|
|
|
|
Bool
|
2012-03-21 20:55:09 +01:00
|
|
|
winGenerateAuthorization(void);
|
2009-07-13 14:46:45 +02:00
|
|
|
void winSetAuthorization(void);
|
2004-06-21 15:19:32 +02:00
|
|
|
#endif
|
|
|
|
|
2003-11-14 17:48:57 +01:00
|
|
|
/*
|
|
|
|
* winblock.c
|
|
|
|
*/
|
|
|
|
|
|
|
|
void
|
|
|
|
|
api: rework the X server driver API to avoid global arrays.
This is a squash merge containing all the API changes, as
well as the video ABI bump.
Its been squashed to make bisection easier.
Full patch log below:
commit b202738bbf0c5a1c1172767119c2c71f1e7f8070
Author: Aaron Plattner <aplattner@nvidia.com>
Date: Mon May 14 15:16:11 2012 -0700
xfree86: Bump video ABI to 13.0
The ABI was broken by changes to convert from screen index numbers to ScreenPtr
/ ScrnInfoPtr in various structures and function signatures.
Signed-off-by: Aaron Plattner <aplattner@nvidia.com>
Reviewed-by: Dave Airlie <airlied@redhat.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
commit 3d5f7d9f8d408bcad3f83277d255f25d3b0edbf3
Author: Dave Airlie <airlied@redhat.com>
Date: Thu May 24 10:56:57 2012 +0100
xf86: xf86ClearEntityListForScreen should take a pScrn
When adding GPU screens this make life easier.
(also fix comment, as pointed out by Alan)
Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Dave Airlie <airlied@redhat.com>
commit afee8b5ab4501597ecc1ade34124d7ca227ab055
Author: Dave Airlie <airlied@redhat.com>
Date: Thu May 24 07:07:32 2012 +0100
xf86i2c: add pscrn for drivers to use
This just adds a pScrn pointer into the struct for the drivers to use
instead of scrnIndex. Mostly scrnIndex is used for logging, but some
drivers use it to lookup xf86Screens, so let them stash a pScrn instead.
Removing the scrnIndex is a bit more involved and I'm not sure its worth
the effort. Doing i2c in the X server is legacy code as far as I'm concerned.
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
commit ea5092f1f679691d187f1eee9427e6057beec56e
Author: Dave Airlie <airlied@redhat.com>
Date: Wed May 23 19:25:20 2012 +0100
dix/gc: consolidate GC object creation in one place
The standard GC create and scratch GC create were 90% the same really,
and I have a need in the future for creating GC objects without the
other bits, so wanted to avoid a third copy.
Reviewed-by: Keith Packard <keithp@keithp.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
commit 3d91482ea9b4883e64e496f2768168e0ffa21ba1
Author: Dave Airlie <airlied@redhat.com>
Date: Wed May 23 10:24:06 2012 +0100
xf86: add a define to denote the new non-index interfaces are being used
This can be used by drivers to provide compatible APIs.
Reviewed-by: Keith Packard <keithp@keithp.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
commit 37c3ae3e6cd4f3dedc72f371096d6743f8f99df3
Author: Dave Airlie <airlied@redhat.com>
Date: Wed May 23 15:09:12 2012 +0100
dix: make Create/Free scratch pixmaps take a ScreenPtr
While technically an API/ABI change I doubt anyone uses it,
but it helps in splitting screens up.
Reviewed-by: Keith Packard <keithp@keithp.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
commit 75f2062a3fe94f04764ecc7d2ff2fbbeccb9da60
Author: Dave Airlie <airlied@redhat.com>
Date: Wed May 23 14:57:55 2012 +0100
xf86/xv: remove scrnIndexfrom xf86FindXvOptions.
Move this interface to taking an ScrnInfoPtr.
Reviewed-by: Keith Packard <keithp@keithp.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
commit f80c2374f40ea7b2ee0556e2e76cc07406f3d843
Author: Dave Airlie <airlied@redhat.com>
Date: Wed May 23 14:53:59 2012 +0100
xf86: make xf86DeleteScreen take a ScrnInfoPtr (v2)
stop passing indices into this function.
v2: drop flags argument.
Reviewed-by: Keith Packard <keithp@keithp.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
commit 58824e414f35682435f15bfe6c4b656bd90b9235
Author: Dave Airlie <airlied@redhat.com>
Date: Wed May 23 14:48:09 2012 +0100
xf86: fix xf86IsScreenPrimary interface to take a pScrn (API/ABI)
Reviewed-by: Keith Packard <keithp@keithp.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
commit 6b4fc1f9d391bcdf7ca288766e49bce60f4635cd
Author: Dave Airlie <airlied@gmail.com>
Date: Tue Apr 10 14:18:59 2012 +0100
xserver: convert block/wakeup handlers to passing ScreenPtr (ABI/API) (v2)
Instead of passing an index, pass the actual ScreenPtr. This allows
more moving towards not abusing xf86Screens + screenInfo.
v2: drop the blockData/wakeupData args as per ajax's suggestion.,
fix docs.
Reviewed-by: Keith Packard <keithp@keithp.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
commit 790d003de20fb47674420a24dadd92412d78620d
Author: Dave Airlie <airlied@gmail.com>
Date: Wed Apr 11 09:53:14 2012 +0100
xf86/common: remove some more pScrn->pScreen uses
remove some more conversions that appeared after api cleanups.
Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Acked-by: Aaron Plattner <aplattner@nvidia.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
commit aac85e18d1dd093f2cad6bd29375e40bd7af0b8f
Author: Dave Airlie <airlied@gmail.com>
Date: Tue Apr 10 16:34:53 2012 +0100
ddc: change API to take ScrnInfoPtr (v2)
This removes all xf86Screens usage from ddc code,
it modifies the API for some functions to avoid taking indices.
v2: address Alan's comments about dropping DDC2Init parameter.
Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Acked-by: Aaron Plattner <aplattner@nvidia.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
commit fe3f57b6eaf6860a33876a54f9439f69578f03a5
Author: Dave Airlie <airlied@gmail.com>
Date: Tue Apr 10 16:31:26 2012 +0100
vbe: don't use index for VBEInterpretPanelID (API)
Remove use of xf86screens from vbe module.
Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Acked-by: Aaron Plattner <aplattner@nvidia.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
commit abf1965f4ed91529036d3fdb470d6a3ce6f29675
Author: Dave Airlie <airlied@gmail.com>
Date: Tue Apr 10 16:25:11 2012 +0100
int10/vbe: don't use xf86Screens. (ABI) (v3)
Pass the ScrnInfoPtr instead of the index in the int10 struct.
This saves us using it to dereference xf86Screens.
v2: address Alan's comment to fix struct alignment.
v3: squash in all the int10 fixes, test the vm86 code builds,
after comments by Keith.
Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Acked-by: Aaron Plattner <aplattner@nvidia.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
commit 23cca612b4fb5efc33683c7624b803b457387e3d
Author: Dave Airlie <airlied@gmail.com>
Date: Tue Apr 10 15:30:18 2012 +0100
xserver: drop index argument to ScreenInit (ABI/API) (v2)
This drops the index argument, its the same as pScreen->myNum,
and its the last major index abuse I can find.
v2: address Alan's review - update docs, fix xwin/xnest/darwin
Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Acked-by: Aaron Plattner <aplattner@nvidia.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
commit 40d360e2d7e832407f3ed64e3a02c27ecc89a960
Author: Dave Airlie <airlied@gmail.com>
Date: Tue Apr 10 15:23:01 2012 +0100
xf86: migrate PointerMoved from index to ScrnInfoPtr (ABI/API)
This migrates PointerMoved from an index to ScrnInfoPtr.
Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Acked-by: Aaron Plattner <aplattner@nvidia.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
commit aa60a2f38679d0eeb979a9c2648c9bc771409bf9
Author: Dave Airlie <airlied@gmail.com>
Date: Tue Apr 10 15:20:46 2012 +0100
xf86: migrate PMEvent to a ScrnInfoPtr (ABI/API)
This migrates the PMEvent from index to ScrnInfoPtr.
Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Acked-by: Aaron Plattner <aplattner@nvidia.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
commit d3f28ef44371ed4a039ffc5dd7eb6408d1269ba2
Author: Dave Airlie <airlied@gmail.com>
Date: Tue Apr 10 15:18:30 2012 +0100
xf86: migrate SetDGAMode from index to ScrnInfoPtr (ABI/API)
This migrates the SetDGAMode callback from an index to ScrnInfoPtr.
Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Acked-by: Aaron Plattner <aplattner@nvidia.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
commit baf5e4818a74f2b68c3dfdcc56f54322351039a0
Author: Dave Airlie <airlied@gmail.com>
Date: Tue Apr 10 15:14:11 2012 +0100
xf86: migrate ChangeGamma from index to ScrnInfoPtr (ABI/API) (v2)
This migrates the ChangeGamma interface to avoid passing a index.
v2: fix xf86RandR12.c + xf86cmap.c call
Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Acked-by: Aaron Plattner <aplattner@nvidia.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
commit 51e5f90ada929d6b23176090badbb42fdb3fa550
Author: Dave Airlie <airlied@gmail.com>
Date: Tue Apr 10 15:11:09 2012 +0100
xf86/exa: migrate index to screen types for EnableDisableFBAccess (ABI/API)
The EXA interface migrates to ScreenPtr,
and the xf86 interface migrated to ScrnInfoPtr.
Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Acked-by: Aaron Plattner <aplattner@nvidia.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
commit 94f1f21d17e86f96d4a54292a399160950087675
Author: Dave Airlie <airlied@gmail.com>
Date: Tue Apr 10 15:02:11 2012 +0100
xf86: migrate ValidMode callback to ScrnInfoPtr (ABI/API)
This migrates the ValidMode to passing a ScrnInfoPtr instead
of an index.
Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Acked-by: Aaron Plattner <aplattner@nvidia.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
commit 3f8f18198fed4f39ec805b508a3482e91eea26b2
Author: Dave Airlie <airlied@gmail.com>
Date: Tue Apr 10 14:59:46 2012 +0100
xf86: migrate SwitchMode to taking ScrnInfoPtr (ABI/API) (v2)
This migrate the SwitchMode interface to take a ScrnInfoPtr
instead of an index.
v2: drop flags.
Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Acked-by: Aaron Plattner <aplattner@nvidia.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
commit d06a038a5c49328ab3a8d969d24f9fcd22c63202
Author: Dave Airlie <airlied@gmail.com>
Date: Tue Apr 10 14:50:37 2012 +0100
xf86: move AdjustFrame to passing ScrnInfoPtr (ABI/API) (v2)
This converts AdjustFrame code paths to passing a ScrnInfoPtr
instead of an integer index.
v2: drop flags args.
Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Acked-by: Aaron Plattner <aplattner@nvidia.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
commit 53d2f8608ffd4090d08e7d5cf2e92fb954959b90
Author: Dave Airlie <airlied@gmail.com>
Date: Tue Apr 10 14:41:27 2012 +0100
xf86: modify FreeScreen callback to take pScrn instead of index. (ABI/API) (v2)
Another index->pScrn conversion.
v2: drop flags arg.
Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Acked-by: Aaron Plattner <aplattner@nvidia.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
commit 60db37c0b247052e0f5c54b1921fe58a3609c2e3
Author: Dave Airlie <airlied@gmail.com>
Date: Tue Apr 10 14:35:41 2012 +0100
xf86: change EnterVT/LeaveVT to take a ScrnInfoPtr (ABI/API break) (v2)
This modifies the EnterVT/LeaveVT interfaces to take a ScrnInfoPtr
instead of an index into xf86Screens. This allows dropping more
public dereferences of the xf86Screens and screenInfo.
v2: drop flags args as suggested by Keith, fix docs.
Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Acked-by: Aaron Plattner <aplattner@nvidia.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
commit 06729dbbc804a20242e6499f446acb5d94023c3c
Author: Dave Airlie <airlied@gmail.com>
Date: Tue Apr 10 14:04:59 2012 +0100
xserver: remove index from CloseScreen (API/ABI breakage)
This drops the index from the CloseScreen callback,
its always been useless really, since the pScreen contains it.
Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Acked-by: Aaron Plattner <aplattner@nvidia.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
2012-06-05 14:22:18 +02:00
|
|
|
winBlockHandler(ScreenPtr pScreen,
|
2013-12-15 10:05:51 +01:00
|
|
|
void *pTimeout, void *pReadMask);
|
2003-11-14 17:48:57 +01:00
|
|
|
|
2004-06-21 15:19:32 +02:00
|
|
|
#ifdef XWIN_NATIVEGDI
|
2003-11-14 17:48:57 +01:00
|
|
|
/*
|
|
|
|
* winclip.c
|
|
|
|
*/
|
|
|
|
|
|
|
|
RegionPtr
|
2012-03-21 20:55:09 +01:00
|
|
|
winPixmapToRegionNativeGDI(PixmapPtr pPix);
|
2004-06-21 15:19:32 +02:00
|
|
|
#endif
|
2003-11-14 17:48:57 +01:00
|
|
|
|
2004-06-21 15:19:32 +02:00
|
|
|
#ifdef XWIN_CLIPBOARD
|
2003-11-14 17:48:57 +01:00
|
|
|
/*
|
|
|
|
* winclipboardinit.c
|
|
|
|
*/
|
|
|
|
|
|
|
|
Bool
|
2012-03-21 20:55:09 +01:00
|
|
|
winInitClipboard(void);
|
2003-11-25 20:29:01 +01:00
|
|
|
|
|
|
|
void
|
2012-03-21 20:55:09 +01:00
|
|
|
winFixClipboardChain(void);
|
2004-06-21 15:19:32 +02:00
|
|
|
#endif
|
2003-11-25 20:29:01 +01:00
|
|
|
|
2003-11-14 17:48:57 +01:00
|
|
|
/*
|
|
|
|
* wincmap.c
|
|
|
|
*/
|
|
|
|
|
|
|
|
void
|
2012-03-21 20:55:09 +01:00
|
|
|
winSetColormapFunctions(ScreenPtr pScreen);
|
2003-11-14 17:48:57 +01:00
|
|
|
|
|
|
|
Bool
|
2012-03-21 20:55:09 +01:00
|
|
|
winCreateDefColormap(ScreenPtr pScreen);
|
2003-11-14 17:48:57 +01:00
|
|
|
|
|
|
|
/*
|
|
|
|
* wincreatewnd.c
|
|
|
|
*/
|
|
|
|
|
|
|
|
Bool
|
2012-03-21 20:55:09 +01:00
|
|
|
winCreateBoundingWindowFullScreen(ScreenPtr pScreen);
|
2003-11-14 17:48:57 +01:00
|
|
|
|
|
|
|
Bool
|
2012-03-21 20:55:09 +01:00
|
|
|
winCreateBoundingWindowWindowed(ScreenPtr pScreen);
|
2003-11-14 17:48:57 +01:00
|
|
|
|
2003-11-25 20:29:01 +01:00
|
|
|
/*
|
|
|
|
* windialogs.c
|
|
|
|
*/
|
|
|
|
|
|
|
|
void
|
2012-03-21 20:55:09 +01:00
|
|
|
winDisplayExitDialog(winPrivScreenPtr pScreenPriv);
|
2003-11-25 20:29:01 +01:00
|
|
|
|
|
|
|
void
|
2012-03-21 20:55:09 +01:00
|
|
|
winDisplayDepthChangeDialog(winPrivScreenPtr pScreenPriv);
|
2003-11-25 20:29:01 +01:00
|
|
|
|
2004-06-21 15:19:32 +02:00
|
|
|
void
|
2012-03-21 20:55:09 +01:00
|
|
|
winDisplayAboutDialog(winPrivScreenPtr pScreenPriv);
|
2003-11-25 20:29:01 +01:00
|
|
|
|
2003-11-14 17:48:57 +01:00
|
|
|
/*
|
|
|
|
* winengine.c
|
|
|
|
*/
|
|
|
|
|
|
|
|
void
|
2012-03-21 20:55:09 +01:00
|
|
|
winDetectSupportedEngines(void);
|
2003-11-14 17:48:57 +01:00
|
|
|
|
|
|
|
Bool
|
2012-03-21 20:55:09 +01:00
|
|
|
winSetEngine(ScreenPtr pScreen);
|
2003-11-14 17:48:57 +01:00
|
|
|
|
|
|
|
Bool
|
2012-03-21 20:55:09 +01:00
|
|
|
winGetDDProcAddresses(void);
|
2003-11-14 17:48:57 +01:00
|
|
|
|
2010-10-15 14:00:46 +02:00
|
|
|
void
|
2012-03-21 20:55:09 +01:00
|
|
|
winReleaseDDProcAddresses(void);
|
2003-11-14 17:48:57 +01:00
|
|
|
|
|
|
|
/*
|
|
|
|
* winerror.c
|
|
|
|
*/
|
|
|
|
|
2004-06-21 15:19:32 +02:00
|
|
|
#ifdef DDXOSVERRORF
|
2003-11-14 17:48:57 +01:00
|
|
|
void
|
2012-10-11 20:32:24 +02:00
|
|
|
OsVendorVErrorF(const char *pszFormat, va_list va_args)
|
|
|
|
_X_ATTRIBUTE_PRINTF(1, 0);
|
2004-06-21 15:19:32 +02:00
|
|
|
#endif
|
|
|
|
|
|
|
|
void
|
2012-10-11 20:32:24 +02:00
|
|
|
winMessageBoxF(const char *pszError, UINT uType, ...)
|
|
|
|
_X_ATTRIBUTE_PRINTF(1, 3);
|
2003-11-14 17:48:57 +01:00
|
|
|
|
2004-06-21 15:19:32 +02:00
|
|
|
#ifdef XWIN_NATIVEGDI
|
2003-11-14 17:48:57 +01:00
|
|
|
/*
|
|
|
|
* winfillsp.c
|
|
|
|
*/
|
|
|
|
|
|
|
|
void
|
|
|
|
|
2012-03-21 20:55:09 +01:00
|
|
|
winFillSpansNativeGDI(DrawablePtr pDrawable,
|
|
|
|
GCPtr pGC,
|
|
|
|
int nSpans,
|
|
|
|
DDXPointPtr pPoints, int *pWidths, int fSorted);
|
|
|
|
#endif
|
2003-11-14 17:48:57 +01:00
|
|
|
|
2004-06-21 15:19:32 +02:00
|
|
|
#ifdef XWIN_NATIVEGDI
|
2003-11-14 17:48:57 +01:00
|
|
|
/*
|
|
|
|
* winfont.c
|
|
|
|
*/
|
|
|
|
|
|
|
|
Bool
|
2012-03-21 20:55:09 +01:00
|
|
|
winRealizeFontNativeGDI(ScreenPtr pScreen, FontPtr pFont);
|
2003-11-14 17:48:57 +01:00
|
|
|
|
|
|
|
Bool
|
2012-03-21 20:55:09 +01:00
|
|
|
winUnrealizeFontNativeGDI(ScreenPtr pScreen, FontPtr pFont);
|
2004-06-21 15:19:32 +02:00
|
|
|
#endif
|
2003-11-14 17:48:57 +01:00
|
|
|
|
2004-06-21 15:19:32 +02:00
|
|
|
#ifdef XWIN_NATIVEGDI
|
2003-11-14 17:48:57 +01:00
|
|
|
/*
|
|
|
|
* wingc.c
|
|
|
|
*/
|
|
|
|
|
|
|
|
Bool
|
2012-03-21 20:55:09 +01:00
|
|
|
winCreateGCNativeGDI(GCPtr pGC);
|
2004-06-21 15:19:32 +02:00
|
|
|
#endif
|
2003-11-14 17:48:57 +01:00
|
|
|
|
2004-06-21 15:19:32 +02:00
|
|
|
#ifdef XWIN_NATIVEGDI
|
2003-11-14 17:48:57 +01:00
|
|
|
/*
|
|
|
|
* wingetsp.c
|
|
|
|
*/
|
|
|
|
|
|
|
|
void
|
|
|
|
|
2012-03-21 20:55:09 +01:00
|
|
|
winGetSpansNativeGDI(DrawablePtr pDrawable,
|
|
|
|
int wMax,
|
|
|
|
DDXPointPtr pPoints, int *pWidths, int nSpans, char *pDst);
|
|
|
|
#endif
|
2003-11-14 17:48:57 +01:00
|
|
|
|
|
|
|
/*
|
2004-06-21 15:19:32 +02:00
|
|
|
* winglobals.c
|
2003-11-14 17:48:57 +01:00
|
|
|
*/
|
|
|
|
|
|
|
|
void
|
2012-03-21 20:55:09 +01:00
|
|
|
winInitializeGlobals(void);
|
2003-11-14 17:48:57 +01:00
|
|
|
|
2004-06-21 15:19:32 +02:00
|
|
|
/*
|
|
|
|
* winkeybd.c
|
|
|
|
*/
|
2003-11-14 17:48:57 +01:00
|
|
|
|
2012-12-17 23:38:00 +01:00
|
|
|
int
|
|
|
|
winTranslateKey(WPARAM wParam, LPARAM lParam);
|
2003-11-14 17:48:57 +01:00
|
|
|
|
|
|
|
int
|
2012-03-21 20:55:09 +01:00
|
|
|
winKeybdProc(DeviceIntPtr pDeviceInt, int iState);
|
2003-11-14 17:48:57 +01:00
|
|
|
|
|
|
|
void
|
2012-03-21 20:55:09 +01:00
|
|
|
winInitializeModeKeyStates(void);
|
2003-11-14 17:48:57 +01:00
|
|
|
|
|
|
|
void
|
2012-03-21 20:55:09 +01:00
|
|
|
winRestoreModeKeyStates(void);
|
2003-11-14 17:48:57 +01:00
|
|
|
|
|
|
|
Bool
|
2012-03-21 20:55:09 +01:00
|
|
|
winIsFakeCtrl_L(UINT message, WPARAM wParam, LPARAM lParam);
|
2003-11-14 17:48:57 +01:00
|
|
|
|
|
|
|
void
|
2012-03-21 20:55:09 +01:00
|
|
|
winKeybdReleaseKeys(void);
|
2003-11-14 17:48:57 +01:00
|
|
|
|
|
|
|
void
|
2012-03-21 20:55:09 +01:00
|
|
|
winSendKeyEvent(DWORD dwKey, Bool fDown);
|
2003-11-14 17:48:57 +01:00
|
|
|
|
2012-03-21 20:55:09 +01:00
|
|
|
BOOL winCheckKeyPressed(WPARAM wParam, LPARAM lParam);
|
2009-01-19 18:36:58 +01:00
|
|
|
|
|
|
|
void
|
2012-03-21 20:55:09 +01:00
|
|
|
winFixShiftKeys(int iScanCode);
|
2003-11-14 17:48:57 +01:00
|
|
|
|
|
|
|
/*
|
2004-06-21 15:19:32 +02:00
|
|
|
* winkeyhook.c
|
2003-11-14 17:48:57 +01:00
|
|
|
*/
|
|
|
|
|
|
|
|
Bool
|
2012-03-21 20:55:09 +01:00
|
|
|
winInstallKeyboardHookLL(void);
|
2003-11-14 17:48:57 +01:00
|
|
|
|
2004-06-21 15:19:32 +02:00
|
|
|
void
|
2012-03-21 20:55:09 +01:00
|
|
|
winRemoveKeyboardHookLL(void);
|
2003-11-14 17:48:57 +01:00
|
|
|
|
|
|
|
/*
|
|
|
|
* winmisc.c
|
|
|
|
*/
|
|
|
|
|
2004-06-21 15:19:32 +02:00
|
|
|
#ifdef XWIN_NATIVEGDI
|
2003-11-14 17:48:57 +01:00
|
|
|
void
|
2012-03-21 20:55:09 +01:00
|
|
|
|
|
|
|
winQueryBestSizeNativeGDI(int class, unsigned short *pWidth,
|
|
|
|
unsigned short *pHeight, ScreenPtr pScreen);
|
2004-06-21 15:19:32 +02:00
|
|
|
#endif
|
2003-11-14 17:48:57 +01:00
|
|
|
|
|
|
|
CARD8
|
2012-03-21 20:55:09 +01:00
|
|
|
winCountBits(DWORD dw);
|
2003-11-14 17:48:57 +01:00
|
|
|
|
|
|
|
Bool
|
2012-03-21 20:55:09 +01:00
|
|
|
winUpdateFBPointer(ScreenPtr pScreen, void *pbits);
|
2003-11-14 17:48:57 +01:00
|
|
|
|
2004-06-21 15:19:32 +02:00
|
|
|
#ifdef XWIN_NATIVEGDI
|
2012-03-21 20:55:09 +01:00
|
|
|
BOOL winPaintBackground(HWND hwnd, COLORREF colorref);
|
2004-06-21 15:19:32 +02:00
|
|
|
#endif
|
2003-11-14 17:48:57 +01:00
|
|
|
|
|
|
|
/*
|
|
|
|
* winmouse.c
|
|
|
|
*/
|
|
|
|
|
|
|
|
int
|
2012-03-21 20:55:09 +01:00
|
|
|
winMouseProc(DeviceIntPtr pDeviceInt, int iState);
|
2003-11-14 17:48:57 +01:00
|
|
|
|
|
|
|
int
|
2013-02-21 18:12:17 +01:00
|
|
|
winMouseWheel(int *iTotalDeltaZ, int iDeltaZ, int iButtonUp, int iButtonDown);
|
2003-11-14 17:48:57 +01:00
|
|
|
|
|
|
|
void
|
2012-03-21 20:55:09 +01:00
|
|
|
winMouseButtonsSendEvent(int iEventType, int iButton);
|
2003-11-14 17:48:57 +01:00
|
|
|
|
|
|
|
int
|
2012-03-21 20:55:09 +01:00
|
|
|
|
|
|
|
winMouseButtonsHandle(ScreenPtr pScreen,
|
|
|
|
int iEventType, int iButton, WPARAM wParam);
|
2003-11-14 17:48:57 +01:00
|
|
|
|
2008-11-02 19:27:13 +01:00
|
|
|
void
|
2012-03-21 20:55:09 +01:00
|
|
|
winEnqueueMotion(int x, int y);
|
2008-11-02 19:27:13 +01:00
|
|
|
|
2004-06-21 15:19:32 +02:00
|
|
|
#ifdef XWIN_NATIVEGDI
|
2003-11-14 17:48:57 +01:00
|
|
|
/*
|
|
|
|
* winnativegdi.c
|
|
|
|
*/
|
|
|
|
|
|
|
|
HBITMAP
|
2012-03-21 20:55:09 +01:00
|
|
|
winCreateDIBNativeGDI(int iWidth, int iHeight, int iDepth,
|
|
|
|
BYTE ** ppbBits, BITMAPINFO ** ppbmi);
|
2003-11-14 17:48:57 +01:00
|
|
|
|
|
|
|
Bool
|
2012-03-21 20:55:09 +01:00
|
|
|
winSetEngineFunctionsNativeGDI(ScreenPtr pScreen);
|
2004-06-21 15:19:32 +02:00
|
|
|
#endif
|
2003-11-14 17:48:57 +01:00
|
|
|
|
2004-06-21 15:19:32 +02:00
|
|
|
#ifdef XWIN_PRIMARYFB
|
2003-11-14 17:48:57 +01:00
|
|
|
/*
|
|
|
|
* winpfbddd.c
|
|
|
|
*/
|
|
|
|
|
|
|
|
Bool
|
2012-03-21 20:55:09 +01:00
|
|
|
winSetEngineFunctionsPrimaryDD(ScreenPtr pScreen);
|
2004-06-21 15:19:32 +02:00
|
|
|
#endif
|
2003-11-14 17:48:57 +01:00
|
|
|
|
2004-06-21 15:19:32 +02:00
|
|
|
#ifdef XWIN_NATIVEGDI
|
2003-11-14 17:48:57 +01:00
|
|
|
/*
|
|
|
|
* winpixmap.c
|
|
|
|
*/
|
|
|
|
|
|
|
|
PixmapPtr
|
2012-03-21 20:55:09 +01:00
|
|
|
|
|
|
|
winCreatePixmapNativeGDI(ScreenPtr pScreen, int width, int height, int depth,
|
|
|
|
unsigned usage_hint);
|
2003-11-14 17:48:57 +01:00
|
|
|
|
|
|
|
Bool
|
2012-03-21 20:55:09 +01:00
|
|
|
winDestroyPixmapNativeGDI(PixmapPtr pPixmap);
|
2003-11-14 17:48:57 +01:00
|
|
|
|
|
|
|
Bool
|
2012-03-21 20:55:09 +01:00
|
|
|
|
|
|
|
winModifyPixmapHeaderNativeGDI(PixmapPtr pPixmap,
|
|
|
|
int iWidth, int iHeight,
|
|
|
|
int iDepth,
|
|
|
|
int iBitsPerPixel,
|
2013-12-15 10:05:51 +01:00
|
|
|
int devKind, void *pPixData);
|
2004-06-21 15:19:32 +02:00
|
|
|
#endif
|
2003-11-14 17:48:57 +01:00
|
|
|
|
2004-06-21 15:19:32 +02:00
|
|
|
#ifdef XWIN_NATIVEGDI
|
2003-11-14 17:48:57 +01:00
|
|
|
/*
|
|
|
|
* winpolyline.c
|
|
|
|
*/
|
|
|
|
|
|
|
|
void
|
2004-06-21 15:19:32 +02:00
|
|
|
|
2012-03-21 20:55:09 +01:00
|
|
|
winPolyLineNativeGDI(DrawablePtr pDrawable,
|
|
|
|
GCPtr pGC, int mode, int npt, DDXPointPtr ppt);
|
|
|
|
#endif
|
2003-11-14 17:48:57 +01:00
|
|
|
/*
|
|
|
|
* winscrinit.c
|
|
|
|
*/
|
|
|
|
|
|
|
|
Bool
|
api: rework the X server driver API to avoid global arrays.
This is a squash merge containing all the API changes, as
well as the video ABI bump.
Its been squashed to make bisection easier.
Full patch log below:
commit b202738bbf0c5a1c1172767119c2c71f1e7f8070
Author: Aaron Plattner <aplattner@nvidia.com>
Date: Mon May 14 15:16:11 2012 -0700
xfree86: Bump video ABI to 13.0
The ABI was broken by changes to convert from screen index numbers to ScreenPtr
/ ScrnInfoPtr in various structures and function signatures.
Signed-off-by: Aaron Plattner <aplattner@nvidia.com>
Reviewed-by: Dave Airlie <airlied@redhat.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
commit 3d5f7d9f8d408bcad3f83277d255f25d3b0edbf3
Author: Dave Airlie <airlied@redhat.com>
Date: Thu May 24 10:56:57 2012 +0100
xf86: xf86ClearEntityListForScreen should take a pScrn
When adding GPU screens this make life easier.
(also fix comment, as pointed out by Alan)
Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Dave Airlie <airlied@redhat.com>
commit afee8b5ab4501597ecc1ade34124d7ca227ab055
Author: Dave Airlie <airlied@redhat.com>
Date: Thu May 24 07:07:32 2012 +0100
xf86i2c: add pscrn for drivers to use
This just adds a pScrn pointer into the struct for the drivers to use
instead of scrnIndex. Mostly scrnIndex is used for logging, but some
drivers use it to lookup xf86Screens, so let them stash a pScrn instead.
Removing the scrnIndex is a bit more involved and I'm not sure its worth
the effort. Doing i2c in the X server is legacy code as far as I'm concerned.
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
commit ea5092f1f679691d187f1eee9427e6057beec56e
Author: Dave Airlie <airlied@redhat.com>
Date: Wed May 23 19:25:20 2012 +0100
dix/gc: consolidate GC object creation in one place
The standard GC create and scratch GC create were 90% the same really,
and I have a need in the future for creating GC objects without the
other bits, so wanted to avoid a third copy.
Reviewed-by: Keith Packard <keithp@keithp.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
commit 3d91482ea9b4883e64e496f2768168e0ffa21ba1
Author: Dave Airlie <airlied@redhat.com>
Date: Wed May 23 10:24:06 2012 +0100
xf86: add a define to denote the new non-index interfaces are being used
This can be used by drivers to provide compatible APIs.
Reviewed-by: Keith Packard <keithp@keithp.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
commit 37c3ae3e6cd4f3dedc72f371096d6743f8f99df3
Author: Dave Airlie <airlied@redhat.com>
Date: Wed May 23 15:09:12 2012 +0100
dix: make Create/Free scratch pixmaps take a ScreenPtr
While technically an API/ABI change I doubt anyone uses it,
but it helps in splitting screens up.
Reviewed-by: Keith Packard <keithp@keithp.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
commit 75f2062a3fe94f04764ecc7d2ff2fbbeccb9da60
Author: Dave Airlie <airlied@redhat.com>
Date: Wed May 23 14:57:55 2012 +0100
xf86/xv: remove scrnIndexfrom xf86FindXvOptions.
Move this interface to taking an ScrnInfoPtr.
Reviewed-by: Keith Packard <keithp@keithp.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
commit f80c2374f40ea7b2ee0556e2e76cc07406f3d843
Author: Dave Airlie <airlied@redhat.com>
Date: Wed May 23 14:53:59 2012 +0100
xf86: make xf86DeleteScreen take a ScrnInfoPtr (v2)
stop passing indices into this function.
v2: drop flags argument.
Reviewed-by: Keith Packard <keithp@keithp.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
commit 58824e414f35682435f15bfe6c4b656bd90b9235
Author: Dave Airlie <airlied@redhat.com>
Date: Wed May 23 14:48:09 2012 +0100
xf86: fix xf86IsScreenPrimary interface to take a pScrn (API/ABI)
Reviewed-by: Keith Packard <keithp@keithp.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
commit 6b4fc1f9d391bcdf7ca288766e49bce60f4635cd
Author: Dave Airlie <airlied@gmail.com>
Date: Tue Apr 10 14:18:59 2012 +0100
xserver: convert block/wakeup handlers to passing ScreenPtr (ABI/API) (v2)
Instead of passing an index, pass the actual ScreenPtr. This allows
more moving towards not abusing xf86Screens + screenInfo.
v2: drop the blockData/wakeupData args as per ajax's suggestion.,
fix docs.
Reviewed-by: Keith Packard <keithp@keithp.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
commit 790d003de20fb47674420a24dadd92412d78620d
Author: Dave Airlie <airlied@gmail.com>
Date: Wed Apr 11 09:53:14 2012 +0100
xf86/common: remove some more pScrn->pScreen uses
remove some more conversions that appeared after api cleanups.
Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Acked-by: Aaron Plattner <aplattner@nvidia.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
commit aac85e18d1dd093f2cad6bd29375e40bd7af0b8f
Author: Dave Airlie <airlied@gmail.com>
Date: Tue Apr 10 16:34:53 2012 +0100
ddc: change API to take ScrnInfoPtr (v2)
This removes all xf86Screens usage from ddc code,
it modifies the API for some functions to avoid taking indices.
v2: address Alan's comments about dropping DDC2Init parameter.
Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Acked-by: Aaron Plattner <aplattner@nvidia.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
commit fe3f57b6eaf6860a33876a54f9439f69578f03a5
Author: Dave Airlie <airlied@gmail.com>
Date: Tue Apr 10 16:31:26 2012 +0100
vbe: don't use index for VBEInterpretPanelID (API)
Remove use of xf86screens from vbe module.
Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Acked-by: Aaron Plattner <aplattner@nvidia.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
commit abf1965f4ed91529036d3fdb470d6a3ce6f29675
Author: Dave Airlie <airlied@gmail.com>
Date: Tue Apr 10 16:25:11 2012 +0100
int10/vbe: don't use xf86Screens. (ABI) (v3)
Pass the ScrnInfoPtr instead of the index in the int10 struct.
This saves us using it to dereference xf86Screens.
v2: address Alan's comment to fix struct alignment.
v3: squash in all the int10 fixes, test the vm86 code builds,
after comments by Keith.
Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Acked-by: Aaron Plattner <aplattner@nvidia.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
commit 23cca612b4fb5efc33683c7624b803b457387e3d
Author: Dave Airlie <airlied@gmail.com>
Date: Tue Apr 10 15:30:18 2012 +0100
xserver: drop index argument to ScreenInit (ABI/API) (v2)
This drops the index argument, its the same as pScreen->myNum,
and its the last major index abuse I can find.
v2: address Alan's review - update docs, fix xwin/xnest/darwin
Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Acked-by: Aaron Plattner <aplattner@nvidia.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
commit 40d360e2d7e832407f3ed64e3a02c27ecc89a960
Author: Dave Airlie <airlied@gmail.com>
Date: Tue Apr 10 15:23:01 2012 +0100
xf86: migrate PointerMoved from index to ScrnInfoPtr (ABI/API)
This migrates PointerMoved from an index to ScrnInfoPtr.
Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Acked-by: Aaron Plattner <aplattner@nvidia.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
commit aa60a2f38679d0eeb979a9c2648c9bc771409bf9
Author: Dave Airlie <airlied@gmail.com>
Date: Tue Apr 10 15:20:46 2012 +0100
xf86: migrate PMEvent to a ScrnInfoPtr (ABI/API)
This migrates the PMEvent from index to ScrnInfoPtr.
Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Acked-by: Aaron Plattner <aplattner@nvidia.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
commit d3f28ef44371ed4a039ffc5dd7eb6408d1269ba2
Author: Dave Airlie <airlied@gmail.com>
Date: Tue Apr 10 15:18:30 2012 +0100
xf86: migrate SetDGAMode from index to ScrnInfoPtr (ABI/API)
This migrates the SetDGAMode callback from an index to ScrnInfoPtr.
Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Acked-by: Aaron Plattner <aplattner@nvidia.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
commit baf5e4818a74f2b68c3dfdcc56f54322351039a0
Author: Dave Airlie <airlied@gmail.com>
Date: Tue Apr 10 15:14:11 2012 +0100
xf86: migrate ChangeGamma from index to ScrnInfoPtr (ABI/API) (v2)
This migrates the ChangeGamma interface to avoid passing a index.
v2: fix xf86RandR12.c + xf86cmap.c call
Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Acked-by: Aaron Plattner <aplattner@nvidia.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
commit 51e5f90ada929d6b23176090badbb42fdb3fa550
Author: Dave Airlie <airlied@gmail.com>
Date: Tue Apr 10 15:11:09 2012 +0100
xf86/exa: migrate index to screen types for EnableDisableFBAccess (ABI/API)
The EXA interface migrates to ScreenPtr,
and the xf86 interface migrated to ScrnInfoPtr.
Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Acked-by: Aaron Plattner <aplattner@nvidia.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
commit 94f1f21d17e86f96d4a54292a399160950087675
Author: Dave Airlie <airlied@gmail.com>
Date: Tue Apr 10 15:02:11 2012 +0100
xf86: migrate ValidMode callback to ScrnInfoPtr (ABI/API)
This migrates the ValidMode to passing a ScrnInfoPtr instead
of an index.
Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Acked-by: Aaron Plattner <aplattner@nvidia.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
commit 3f8f18198fed4f39ec805b508a3482e91eea26b2
Author: Dave Airlie <airlied@gmail.com>
Date: Tue Apr 10 14:59:46 2012 +0100
xf86: migrate SwitchMode to taking ScrnInfoPtr (ABI/API) (v2)
This migrate the SwitchMode interface to take a ScrnInfoPtr
instead of an index.
v2: drop flags.
Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Acked-by: Aaron Plattner <aplattner@nvidia.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
commit d06a038a5c49328ab3a8d969d24f9fcd22c63202
Author: Dave Airlie <airlied@gmail.com>
Date: Tue Apr 10 14:50:37 2012 +0100
xf86: move AdjustFrame to passing ScrnInfoPtr (ABI/API) (v2)
This converts AdjustFrame code paths to passing a ScrnInfoPtr
instead of an integer index.
v2: drop flags args.
Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Acked-by: Aaron Plattner <aplattner@nvidia.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
commit 53d2f8608ffd4090d08e7d5cf2e92fb954959b90
Author: Dave Airlie <airlied@gmail.com>
Date: Tue Apr 10 14:41:27 2012 +0100
xf86: modify FreeScreen callback to take pScrn instead of index. (ABI/API) (v2)
Another index->pScrn conversion.
v2: drop flags arg.
Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Acked-by: Aaron Plattner <aplattner@nvidia.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
commit 60db37c0b247052e0f5c54b1921fe58a3609c2e3
Author: Dave Airlie <airlied@gmail.com>
Date: Tue Apr 10 14:35:41 2012 +0100
xf86: change EnterVT/LeaveVT to take a ScrnInfoPtr (ABI/API break) (v2)
This modifies the EnterVT/LeaveVT interfaces to take a ScrnInfoPtr
instead of an index into xf86Screens. This allows dropping more
public dereferences of the xf86Screens and screenInfo.
v2: drop flags args as suggested by Keith, fix docs.
Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Acked-by: Aaron Plattner <aplattner@nvidia.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
commit 06729dbbc804a20242e6499f446acb5d94023c3c
Author: Dave Airlie <airlied@gmail.com>
Date: Tue Apr 10 14:04:59 2012 +0100
xserver: remove index from CloseScreen (API/ABI breakage)
This drops the index from the CloseScreen callback,
its always been useless really, since the pScreen contains it.
Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Acked-by: Aaron Plattner <aplattner@nvidia.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
2012-06-05 14:22:18 +02:00
|
|
|
winScreenInit(ScreenPtr pScreen, int argc, char **argv);
|
2003-11-14 17:48:57 +01:00
|
|
|
|
|
|
|
Bool
|
2014-02-28 15:20:48 +01:00
|
|
|
winFinishScreenInitFB(int i, ScreenPtr pScreen, int argc, char **argv);
|
2003-11-14 17:48:57 +01:00
|
|
|
|
2004-06-21 15:19:32 +02:00
|
|
|
#if defined(XWIN_NATIVEGDI)
|
2003-11-14 17:48:57 +01:00
|
|
|
Bool
|
|
|
|
|
2014-02-28 15:20:48 +01:00
|
|
|
winFinishScreenInitNativeGDI(int i,
|
2012-03-21 20:55:09 +01:00
|
|
|
ScreenPtr pScreen, int argc, char **argv);
|
|
|
|
#endif
|
2003-11-14 17:48:57 +01:00
|
|
|
|
2004-06-21 15:19:32 +02:00
|
|
|
#ifdef XWIN_NATIVEGDI
|
2003-11-14 17:48:57 +01:00
|
|
|
/*
|
|
|
|
* winsetsp.c
|
|
|
|
*/
|
|
|
|
|
|
|
|
void
|
2004-06-21 15:19:32 +02:00
|
|
|
|
2012-03-21 20:55:09 +01:00
|
|
|
winSetSpansNativeGDI(DrawablePtr pDrawable,
|
|
|
|
GCPtr pGC,
|
|
|
|
char *pSrc,
|
|
|
|
DDXPointPtr pPoints, int *pWidth, int nSpans, int fSorted);
|
|
|
|
#endif
|
2003-11-14 17:48:57 +01:00
|
|
|
|
|
|
|
/*
|
|
|
|
* winshaddd.c
|
|
|
|
*/
|
|
|
|
|
|
|
|
Bool
|
2012-03-21 20:55:09 +01:00
|
|
|
winSetEngineFunctionsShadowDD(ScreenPtr pScreen);
|
2003-11-14 17:48:57 +01:00
|
|
|
|
|
|
|
/*
|
|
|
|
* winshadddnl.c
|
|
|
|
*/
|
|
|
|
|
|
|
|
Bool
|
2012-03-21 20:55:09 +01:00
|
|
|
winSetEngineFunctionsShadowDDNL(ScreenPtr pScreen);
|
2003-11-14 17:48:57 +01:00
|
|
|
|
|
|
|
/*
|
|
|
|
* winshadgdi.c
|
|
|
|
*/
|
|
|
|
|
|
|
|
Bool
|
2012-03-21 20:55:09 +01:00
|
|
|
winSetEngineFunctionsShadowGDI(ScreenPtr pScreen);
|
2003-11-14 17:48:57 +01:00
|
|
|
|
|
|
|
/*
|
|
|
|
* winwakeup.c
|
|
|
|
*/
|
|
|
|
|
|
|
|
void
|
|
|
|
|
api: rework the X server driver API to avoid global arrays.
This is a squash merge containing all the API changes, as
well as the video ABI bump.
Its been squashed to make bisection easier.
Full patch log below:
commit b202738bbf0c5a1c1172767119c2c71f1e7f8070
Author: Aaron Plattner <aplattner@nvidia.com>
Date: Mon May 14 15:16:11 2012 -0700
xfree86: Bump video ABI to 13.0
The ABI was broken by changes to convert from screen index numbers to ScreenPtr
/ ScrnInfoPtr in various structures and function signatures.
Signed-off-by: Aaron Plattner <aplattner@nvidia.com>
Reviewed-by: Dave Airlie <airlied@redhat.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
commit 3d5f7d9f8d408bcad3f83277d255f25d3b0edbf3
Author: Dave Airlie <airlied@redhat.com>
Date: Thu May 24 10:56:57 2012 +0100
xf86: xf86ClearEntityListForScreen should take a pScrn
When adding GPU screens this make life easier.
(also fix comment, as pointed out by Alan)
Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Dave Airlie <airlied@redhat.com>
commit afee8b5ab4501597ecc1ade34124d7ca227ab055
Author: Dave Airlie <airlied@redhat.com>
Date: Thu May 24 07:07:32 2012 +0100
xf86i2c: add pscrn for drivers to use
This just adds a pScrn pointer into the struct for the drivers to use
instead of scrnIndex. Mostly scrnIndex is used for logging, but some
drivers use it to lookup xf86Screens, so let them stash a pScrn instead.
Removing the scrnIndex is a bit more involved and I'm not sure its worth
the effort. Doing i2c in the X server is legacy code as far as I'm concerned.
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
commit ea5092f1f679691d187f1eee9427e6057beec56e
Author: Dave Airlie <airlied@redhat.com>
Date: Wed May 23 19:25:20 2012 +0100
dix/gc: consolidate GC object creation in one place
The standard GC create and scratch GC create were 90% the same really,
and I have a need in the future for creating GC objects without the
other bits, so wanted to avoid a third copy.
Reviewed-by: Keith Packard <keithp@keithp.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
commit 3d91482ea9b4883e64e496f2768168e0ffa21ba1
Author: Dave Airlie <airlied@redhat.com>
Date: Wed May 23 10:24:06 2012 +0100
xf86: add a define to denote the new non-index interfaces are being used
This can be used by drivers to provide compatible APIs.
Reviewed-by: Keith Packard <keithp@keithp.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
commit 37c3ae3e6cd4f3dedc72f371096d6743f8f99df3
Author: Dave Airlie <airlied@redhat.com>
Date: Wed May 23 15:09:12 2012 +0100
dix: make Create/Free scratch pixmaps take a ScreenPtr
While technically an API/ABI change I doubt anyone uses it,
but it helps in splitting screens up.
Reviewed-by: Keith Packard <keithp@keithp.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
commit 75f2062a3fe94f04764ecc7d2ff2fbbeccb9da60
Author: Dave Airlie <airlied@redhat.com>
Date: Wed May 23 14:57:55 2012 +0100
xf86/xv: remove scrnIndexfrom xf86FindXvOptions.
Move this interface to taking an ScrnInfoPtr.
Reviewed-by: Keith Packard <keithp@keithp.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
commit f80c2374f40ea7b2ee0556e2e76cc07406f3d843
Author: Dave Airlie <airlied@redhat.com>
Date: Wed May 23 14:53:59 2012 +0100
xf86: make xf86DeleteScreen take a ScrnInfoPtr (v2)
stop passing indices into this function.
v2: drop flags argument.
Reviewed-by: Keith Packard <keithp@keithp.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
commit 58824e414f35682435f15bfe6c4b656bd90b9235
Author: Dave Airlie <airlied@redhat.com>
Date: Wed May 23 14:48:09 2012 +0100
xf86: fix xf86IsScreenPrimary interface to take a pScrn (API/ABI)
Reviewed-by: Keith Packard <keithp@keithp.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
commit 6b4fc1f9d391bcdf7ca288766e49bce60f4635cd
Author: Dave Airlie <airlied@gmail.com>
Date: Tue Apr 10 14:18:59 2012 +0100
xserver: convert block/wakeup handlers to passing ScreenPtr (ABI/API) (v2)
Instead of passing an index, pass the actual ScreenPtr. This allows
more moving towards not abusing xf86Screens + screenInfo.
v2: drop the blockData/wakeupData args as per ajax's suggestion.,
fix docs.
Reviewed-by: Keith Packard <keithp@keithp.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
commit 790d003de20fb47674420a24dadd92412d78620d
Author: Dave Airlie <airlied@gmail.com>
Date: Wed Apr 11 09:53:14 2012 +0100
xf86/common: remove some more pScrn->pScreen uses
remove some more conversions that appeared after api cleanups.
Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Acked-by: Aaron Plattner <aplattner@nvidia.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
commit aac85e18d1dd093f2cad6bd29375e40bd7af0b8f
Author: Dave Airlie <airlied@gmail.com>
Date: Tue Apr 10 16:34:53 2012 +0100
ddc: change API to take ScrnInfoPtr (v2)
This removes all xf86Screens usage from ddc code,
it modifies the API for some functions to avoid taking indices.
v2: address Alan's comments about dropping DDC2Init parameter.
Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Acked-by: Aaron Plattner <aplattner@nvidia.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
commit fe3f57b6eaf6860a33876a54f9439f69578f03a5
Author: Dave Airlie <airlied@gmail.com>
Date: Tue Apr 10 16:31:26 2012 +0100
vbe: don't use index for VBEInterpretPanelID (API)
Remove use of xf86screens from vbe module.
Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Acked-by: Aaron Plattner <aplattner@nvidia.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
commit abf1965f4ed91529036d3fdb470d6a3ce6f29675
Author: Dave Airlie <airlied@gmail.com>
Date: Tue Apr 10 16:25:11 2012 +0100
int10/vbe: don't use xf86Screens. (ABI) (v3)
Pass the ScrnInfoPtr instead of the index in the int10 struct.
This saves us using it to dereference xf86Screens.
v2: address Alan's comment to fix struct alignment.
v3: squash in all the int10 fixes, test the vm86 code builds,
after comments by Keith.
Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Acked-by: Aaron Plattner <aplattner@nvidia.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
commit 23cca612b4fb5efc33683c7624b803b457387e3d
Author: Dave Airlie <airlied@gmail.com>
Date: Tue Apr 10 15:30:18 2012 +0100
xserver: drop index argument to ScreenInit (ABI/API) (v2)
This drops the index argument, its the same as pScreen->myNum,
and its the last major index abuse I can find.
v2: address Alan's review - update docs, fix xwin/xnest/darwin
Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Acked-by: Aaron Plattner <aplattner@nvidia.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
commit 40d360e2d7e832407f3ed64e3a02c27ecc89a960
Author: Dave Airlie <airlied@gmail.com>
Date: Tue Apr 10 15:23:01 2012 +0100
xf86: migrate PointerMoved from index to ScrnInfoPtr (ABI/API)
This migrates PointerMoved from an index to ScrnInfoPtr.
Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Acked-by: Aaron Plattner <aplattner@nvidia.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
commit aa60a2f38679d0eeb979a9c2648c9bc771409bf9
Author: Dave Airlie <airlied@gmail.com>
Date: Tue Apr 10 15:20:46 2012 +0100
xf86: migrate PMEvent to a ScrnInfoPtr (ABI/API)
This migrates the PMEvent from index to ScrnInfoPtr.
Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Acked-by: Aaron Plattner <aplattner@nvidia.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
commit d3f28ef44371ed4a039ffc5dd7eb6408d1269ba2
Author: Dave Airlie <airlied@gmail.com>
Date: Tue Apr 10 15:18:30 2012 +0100
xf86: migrate SetDGAMode from index to ScrnInfoPtr (ABI/API)
This migrates the SetDGAMode callback from an index to ScrnInfoPtr.
Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Acked-by: Aaron Plattner <aplattner@nvidia.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
commit baf5e4818a74f2b68c3dfdcc56f54322351039a0
Author: Dave Airlie <airlied@gmail.com>
Date: Tue Apr 10 15:14:11 2012 +0100
xf86: migrate ChangeGamma from index to ScrnInfoPtr (ABI/API) (v2)
This migrates the ChangeGamma interface to avoid passing a index.
v2: fix xf86RandR12.c + xf86cmap.c call
Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Acked-by: Aaron Plattner <aplattner@nvidia.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
commit 51e5f90ada929d6b23176090badbb42fdb3fa550
Author: Dave Airlie <airlied@gmail.com>
Date: Tue Apr 10 15:11:09 2012 +0100
xf86/exa: migrate index to screen types for EnableDisableFBAccess (ABI/API)
The EXA interface migrates to ScreenPtr,
and the xf86 interface migrated to ScrnInfoPtr.
Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Acked-by: Aaron Plattner <aplattner@nvidia.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
commit 94f1f21d17e86f96d4a54292a399160950087675
Author: Dave Airlie <airlied@gmail.com>
Date: Tue Apr 10 15:02:11 2012 +0100
xf86: migrate ValidMode callback to ScrnInfoPtr (ABI/API)
This migrates the ValidMode to passing a ScrnInfoPtr instead
of an index.
Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Acked-by: Aaron Plattner <aplattner@nvidia.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
commit 3f8f18198fed4f39ec805b508a3482e91eea26b2
Author: Dave Airlie <airlied@gmail.com>
Date: Tue Apr 10 14:59:46 2012 +0100
xf86: migrate SwitchMode to taking ScrnInfoPtr (ABI/API) (v2)
This migrate the SwitchMode interface to take a ScrnInfoPtr
instead of an index.
v2: drop flags.
Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Acked-by: Aaron Plattner <aplattner@nvidia.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
commit d06a038a5c49328ab3a8d969d24f9fcd22c63202
Author: Dave Airlie <airlied@gmail.com>
Date: Tue Apr 10 14:50:37 2012 +0100
xf86: move AdjustFrame to passing ScrnInfoPtr (ABI/API) (v2)
This converts AdjustFrame code paths to passing a ScrnInfoPtr
instead of an integer index.
v2: drop flags args.
Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Acked-by: Aaron Plattner <aplattner@nvidia.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
commit 53d2f8608ffd4090d08e7d5cf2e92fb954959b90
Author: Dave Airlie <airlied@gmail.com>
Date: Tue Apr 10 14:41:27 2012 +0100
xf86: modify FreeScreen callback to take pScrn instead of index. (ABI/API) (v2)
Another index->pScrn conversion.
v2: drop flags arg.
Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Acked-by: Aaron Plattner <aplattner@nvidia.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
commit 60db37c0b247052e0f5c54b1921fe58a3609c2e3
Author: Dave Airlie <airlied@gmail.com>
Date: Tue Apr 10 14:35:41 2012 +0100
xf86: change EnterVT/LeaveVT to take a ScrnInfoPtr (ABI/API break) (v2)
This modifies the EnterVT/LeaveVT interfaces to take a ScrnInfoPtr
instead of an index into xf86Screens. This allows dropping more
public dereferences of the xf86Screens and screenInfo.
v2: drop flags args as suggested by Keith, fix docs.
Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Acked-by: Aaron Plattner <aplattner@nvidia.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
commit 06729dbbc804a20242e6499f446acb5d94023c3c
Author: Dave Airlie <airlied@gmail.com>
Date: Tue Apr 10 14:04:59 2012 +0100
xserver: remove index from CloseScreen (API/ABI breakage)
This drops the index from the CloseScreen callback,
its always been useless really, since the pScreen contains it.
Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Acked-by: Aaron Plattner <aplattner@nvidia.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
2012-06-05 14:22:18 +02:00
|
|
|
winWakeupHandler(ScreenPtr pScreen,
|
2013-12-15 10:05:51 +01:00
|
|
|
unsigned long ulResult, void *pReadmask);
|
2003-11-14 17:48:57 +01:00
|
|
|
|
|
|
|
/*
|
|
|
|
* winwindow.c
|
|
|
|
*/
|
|
|
|
|
2004-06-21 15:19:32 +02:00
|
|
|
#ifdef XWIN_NATIVEGDI
|
2003-11-14 17:48:57 +01:00
|
|
|
Bool
|
2012-03-21 20:55:09 +01:00
|
|
|
winCreateWindowNativeGDI(WindowPtr pWin);
|
2003-11-14 17:48:57 +01:00
|
|
|
|
|
|
|
Bool
|
2012-03-21 20:55:09 +01:00
|
|
|
winDestroyWindowNativeGDI(WindowPtr pWin);
|
2003-11-14 17:48:57 +01:00
|
|
|
|
|
|
|
Bool
|
2012-03-21 20:55:09 +01:00
|
|
|
winPositionWindowNativeGDI(WindowPtr pWin, int x, int y);
|
2003-11-14 17:48:57 +01:00
|
|
|
|
2012-03-21 20:55:09 +01:00
|
|
|
void
|
|
|
|
|
|
|
|
winCopyWindowNativeGDI(WindowPtr pWin, DDXPointRec ptOldOrg, RegionPtr prgnSrc);
|
2003-11-14 17:48:57 +01:00
|
|
|
|
|
|
|
Bool
|
2012-03-21 20:55:09 +01:00
|
|
|
winChangeWindowAttributesNativeGDI(WindowPtr pWin, unsigned long mask);
|
2003-11-14 17:48:57 +01:00
|
|
|
|
|
|
|
Bool
|
2012-03-21 20:55:09 +01:00
|
|
|
winUnmapWindowNativeGDI(WindowPtr pWindow);
|
2003-11-14 17:48:57 +01:00
|
|
|
|
|
|
|
Bool
|
2012-03-21 20:55:09 +01:00
|
|
|
winMapWindowNativeGDI(WindowPtr pWindow);
|
2004-06-21 15:19:32 +02:00
|
|
|
#endif
|
2003-11-14 17:48:57 +01:00
|
|
|
|
|
|
|
Bool
|
2012-03-21 20:55:09 +01:00
|
|
|
winCreateWindowRootless(WindowPtr pWindow);
|
2003-11-14 17:48:57 +01:00
|
|
|
|
|
|
|
Bool
|
2012-03-21 20:55:09 +01:00
|
|
|
winDestroyWindowRootless(WindowPtr pWindow);
|
2003-11-14 17:48:57 +01:00
|
|
|
|
|
|
|
Bool
|
2012-03-21 20:55:09 +01:00
|
|
|
winPositionWindowRootless(WindowPtr pWindow, int x, int y);
|
2003-11-14 17:48:57 +01:00
|
|
|
|
|
|
|
Bool
|
2012-03-21 20:55:09 +01:00
|
|
|
winChangeWindowAttributesRootless(WindowPtr pWindow, unsigned long mask);
|
2003-11-14 17:48:57 +01:00
|
|
|
|
|
|
|
Bool
|
2012-03-21 20:55:09 +01:00
|
|
|
winUnmapWindowRootless(WindowPtr pWindow);
|
2003-11-14 17:48:57 +01:00
|
|
|
|
|
|
|
Bool
|
2012-03-21 20:55:09 +01:00
|
|
|
winMapWindowRootless(WindowPtr pWindow);
|
2003-11-14 17:48:57 +01:00
|
|
|
|
|
|
|
void
|
2012-03-21 20:55:09 +01:00
|
|
|
winSetShapeRootless(WindowPtr pWindow, int kind);
|
2003-11-14 17:48:57 +01:00
|
|
|
|
2004-06-21 15:19:32 +02:00
|
|
|
#ifdef XWIN_MULTIWINDOW
|
2003-11-25 20:29:01 +01:00
|
|
|
/*
|
|
|
|
* winmultiwindowshape.c
|
|
|
|
*/
|
|
|
|
|
|
|
|
void
|
2012-03-21 20:55:09 +01:00
|
|
|
winReshapeMultiWindow(WindowPtr pWin);
|
2003-11-25 20:29:01 +01:00
|
|
|
|
|
|
|
void
|
2012-03-21 20:55:09 +01:00
|
|
|
winSetShapeMultiWindow(WindowPtr pWindow, int kind);
|
2003-11-25 20:29:01 +01:00
|
|
|
|
|
|
|
void
|
2012-03-21 20:55:09 +01:00
|
|
|
winUpdateRgnMultiWindow(WindowPtr pWindow);
|
2003-11-25 20:29:01 +01:00
|
|
|
#endif
|
|
|
|
|
2004-06-21 15:19:32 +02:00
|
|
|
#ifdef XWIN_MULTIWINDOW
|
2003-11-14 17:48:57 +01:00
|
|
|
/*
|
|
|
|
* winmultiwindowwindow.c
|
|
|
|
*/
|
|
|
|
|
|
|
|
Bool
|
2012-03-21 20:55:09 +01:00
|
|
|
winCreateWindowMultiWindow(WindowPtr pWindow);
|
2003-11-14 17:48:57 +01:00
|
|
|
|
|
|
|
Bool
|
2012-03-21 20:55:09 +01:00
|
|
|
winDestroyWindowMultiWindow(WindowPtr pWindow);
|
2003-11-14 17:48:57 +01:00
|
|
|
|
|
|
|
Bool
|
2012-03-21 20:55:09 +01:00
|
|
|
winPositionWindowMultiWindow(WindowPtr pWindow, int x, int y);
|
2003-11-14 17:48:57 +01:00
|
|
|
|
|
|
|
Bool
|
2012-03-21 20:55:09 +01:00
|
|
|
winChangeWindowAttributesMultiWindow(WindowPtr pWindow, unsigned long mask);
|
2003-11-14 17:48:57 +01:00
|
|
|
|
|
|
|
Bool
|
2012-03-21 20:55:09 +01:00
|
|
|
winUnmapWindowMultiWindow(WindowPtr pWindow);
|
2003-11-14 17:48:57 +01:00
|
|
|
|
|
|
|
Bool
|
2012-03-21 20:55:09 +01:00
|
|
|
winMapWindowMultiWindow(WindowPtr pWindow);
|
2003-11-14 17:48:57 +01:00
|
|
|
|
|
|
|
void
|
2012-03-21 20:55:09 +01:00
|
|
|
winReparentWindowMultiWindow(WindowPtr pWin, WindowPtr pPriorParent);
|
2003-11-14 17:48:57 +01:00
|
|
|
|
|
|
|
void
|
2012-03-21 20:55:09 +01:00
|
|
|
winRestackWindowMultiWindow(WindowPtr pWin, WindowPtr pOldNextSib);
|
2003-11-14 17:48:57 +01:00
|
|
|
|
|
|
|
void
|
2012-03-21 20:55:09 +01:00
|
|
|
winReorderWindowsMultiWindow(void);
|
2003-11-25 20:29:01 +01:00
|
|
|
|
|
|
|
void
|
2012-03-21 20:55:09 +01:00
|
|
|
|
|
|
|
winResizeWindowMultiWindow(WindowPtr pWin, int x, int y, unsigned int w,
|
|
|
|
unsigned int h, WindowPtr pSib);
|
2004-06-21 15:19:32 +02:00
|
|
|
void
|
2012-03-21 20:55:09 +01:00
|
|
|
|
|
|
|
winMoveWindowMultiWindow(WindowPtr pWin, int x, int y,
|
|
|
|
WindowPtr pSib, VTKind kind);
|
2003-11-25 20:29:01 +01:00
|
|
|
|
|
|
|
void
|
2012-03-21 20:55:09 +01:00
|
|
|
|
|
|
|
winCopyWindowMultiWindow(WindowPtr pWin, DDXPointRec oldpt,
|
|
|
|
RegionPtr oldRegion);
|
2003-11-25 20:29:01 +01:00
|
|
|
|
|
|
|
XID
|
2012-03-21 20:55:09 +01:00
|
|
|
winGetWindowID(WindowPtr pWin);
|
2003-11-25 20:29:01 +01:00
|
|
|
|
2004-06-21 15:19:32 +02:00
|
|
|
int
|
2012-03-21 20:55:09 +01:00
|
|
|
winAdjustXWindow(WindowPtr pWin, HWND hwnd);
|
2004-06-21 15:19:32 +02:00
|
|
|
#endif
|
|
|
|
|
|
|
|
#ifdef XWIN_MULTIWINDOW
|
2003-11-25 20:29:01 +01:00
|
|
|
/*
|
|
|
|
* winmultiwindowwndproc.c
|
|
|
|
*/
|
|
|
|
|
|
|
|
LRESULT CALLBACK
|
2012-03-21 20:55:09 +01:00
|
|
|
winTopLevelWindowProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam);
|
2004-06-21 15:19:32 +02:00
|
|
|
#endif
|
2003-11-25 20:29:01 +01:00
|
|
|
|
|
|
|
/*
|
|
|
|
* wintrayicon.c
|
|
|
|
*/
|
|
|
|
|
|
|
|
void
|
2012-03-21 20:55:09 +01:00
|
|
|
winInitNotifyIcon(winPrivScreenPtr pScreenPriv);
|
2003-11-25 20:29:01 +01:00
|
|
|
|
|
|
|
void
|
2012-03-21 20:55:09 +01:00
|
|
|
winDeleteNotifyIcon(winPrivScreenPtr pScreenPriv);
|
2003-11-25 20:29:01 +01:00
|
|
|
|
|
|
|
LRESULT
|
2012-03-21 20:55:09 +01:00
|
|
|
winHandleIconMessage(HWND hwnd, UINT message,
|
|
|
|
WPARAM wParam, LPARAM lParam,
|
|
|
|
winPrivScreenPtr pScreenPriv);
|
2003-11-14 17:48:57 +01:00
|
|
|
|
|
|
|
/*
|
|
|
|
* winwndproc.c
|
|
|
|
*/
|
|
|
|
|
|
|
|
LRESULT CALLBACK
|
2012-03-21 20:55:09 +01:00
|
|
|
winWindowProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam);
|
2003-11-14 17:48:57 +01:00
|
|
|
|
2004-06-21 15:19:32 +02:00
|
|
|
#ifdef XWIN_MULTIWINDOWEXTWM
|
|
|
|
/*
|
|
|
|
* winwin32rootless.c
|
|
|
|
*/
|
|
|
|
|
|
|
|
Bool
|
2012-03-21 20:55:09 +01:00
|
|
|
|
|
|
|
winMWExtWMCreateFrame(RootlessWindowPtr pFrame, ScreenPtr pScreen,
|
|
|
|
int newX, int newY, RegionPtr pShape);
|
2004-06-21 15:19:32 +02:00
|
|
|
|
|
|
|
void
|
2012-03-21 20:55:09 +01:00
|
|
|
winMWExtWMDestroyFrame(RootlessFrameID wid);
|
2004-06-21 15:19:32 +02:00
|
|
|
|
|
|
|
void
|
2012-03-21 20:55:09 +01:00
|
|
|
|
|
|
|
winMWExtWMMoveFrame(RootlessFrameID wid, ScreenPtr pScreen, int newX, int newY);
|
2004-06-21 15:19:32 +02:00
|
|
|
|
|
|
|
void
|
2012-03-21 20:55:09 +01:00
|
|
|
|
|
|
|
winMWExtWMResizeFrame(RootlessFrameID wid, ScreenPtr pScreen,
|
|
|
|
int newX, int newY, unsigned int newW, unsigned int newH,
|
|
|
|
unsigned int gravity);
|
2004-06-21 15:19:32 +02:00
|
|
|
|
|
|
|
void
|
2012-03-21 20:55:09 +01:00
|
|
|
winMWExtWMRestackFrame(RootlessFrameID wid, RootlessFrameID nextWid);
|
2004-06-21 15:19:32 +02:00
|
|
|
|
|
|
|
void
|
2012-03-21 20:55:09 +01:00
|
|
|
winMWExtWMReshapeFrame(RootlessFrameID wid, RegionPtr pShape);
|
2004-06-21 15:19:32 +02:00
|
|
|
|
|
|
|
void
|
2012-03-21 20:55:09 +01:00
|
|
|
winMWExtWMUnmapFrame(RootlessFrameID wid);
|
2004-06-21 15:19:32 +02:00
|
|
|
|
|
|
|
void
|
2012-03-21 20:55:09 +01:00
|
|
|
|
|
|
|
winMWExtWMStartDrawing(RootlessFrameID wid, char **pixelData, int *bytesPerRow);
|
2004-06-21 15:19:32 +02:00
|
|
|
|
|
|
|
void
|
2012-03-21 20:55:09 +01:00
|
|
|
winMWExtWMStopDrawing(RootlessFrameID wid, Bool flush);
|
2004-06-21 15:19:32 +02:00
|
|
|
|
|
|
|
void
|
2012-03-21 20:55:09 +01:00
|
|
|
winMWExtWMUpdateRegion(RootlessFrameID wid, RegionPtr pDamage);
|
2004-06-21 15:19:32 +02:00
|
|
|
|
|
|
|
void
|
2012-03-21 20:55:09 +01:00
|
|
|
|
|
|
|
winMWExtWMDamageRects(RootlessFrameID wid, int count, const BoxRec * rects,
|
|
|
|
int shift_x, int shift_y);
|
2004-06-21 15:19:32 +02:00
|
|
|
|
|
|
|
void
|
2012-03-21 20:55:09 +01:00
|
|
|
winMWExtWMRootlessSwitchWindow(RootlessWindowPtr pFrame, WindowPtr oldWin);
|
2004-06-21 15:19:32 +02:00
|
|
|
|
|
|
|
void
|
2012-03-21 20:55:09 +01:00
|
|
|
|
|
|
|
winMWExtWMCopyBytes(unsigned int width, unsigned int height,
|
|
|
|
const void *src, unsigned int srcRowBytes,
|
|
|
|
void *dst, unsigned int dstRowBytes);
|
2004-06-21 15:19:32 +02:00
|
|
|
|
|
|
|
void
|
|
|
|
|
2012-03-21 20:55:09 +01:00
|
|
|
winMWExtWMCopyWindow(RootlessFrameID wid, int dstNrects,
|
|
|
|
const BoxRec * dstRects, int dx, int dy);
|
|
|
|
#endif
|
2004-06-21 15:19:32 +02:00
|
|
|
|
|
|
|
#ifdef XWIN_MULTIWINDOWEXTWM
|
|
|
|
/*
|
|
|
|
* winwin32rootlesswindow.c
|
|
|
|
*/
|
|
|
|
|
|
|
|
void
|
2012-03-21 20:55:09 +01:00
|
|
|
winMWExtWMReorderWindows(ScreenPtr pScreen);
|
2004-06-21 15:19:32 +02:00
|
|
|
|
|
|
|
void
|
2012-03-21 20:55:09 +01:00
|
|
|
winMWExtWMMoveXWindow(WindowPtr pWin, int x, int y);
|
2004-06-21 15:19:32 +02:00
|
|
|
|
|
|
|
void
|
2012-03-21 20:55:09 +01:00
|
|
|
winMWExtWMResizeXWindow(WindowPtr pWin, int w, int h);
|
2004-06-21 15:19:32 +02:00
|
|
|
|
|
|
|
void
|
2012-03-21 20:55:09 +01:00
|
|
|
winMWExtWMMoveResizeXWindow(WindowPtr pWin, int x, int y, int w, int h);
|
2004-06-21 15:19:32 +02:00
|
|
|
|
|
|
|
void
|
2012-03-21 20:55:09 +01:00
|
|
|
winMWExtWMUpdateIcon(Window id);
|
2004-11-04 12:52:22 +01:00
|
|
|
|
|
|
|
void
|
|
|
|
|
2012-03-21 20:55:09 +01:00
|
|
|
winMWExtWMUpdateWindowDecoration(win32RootlessWindowPtr pRLWinPriv,
|
|
|
|
winScreenInfoPtr pScreenInfo);
|
|
|
|
|
|
|
|
wBOOL CALLBACK winMWExtWMDecorateWindow(HWND hwnd, LPARAM lParam);
|
2004-11-04 12:52:22 +01:00
|
|
|
|
|
|
|
Bool
|
2012-03-21 20:55:09 +01:00
|
|
|
winIsInternalWMRunning(winScreenInfoPtr pScreenInfo);
|
2004-11-04 12:52:22 +01:00
|
|
|
|
|
|
|
void
|
2012-03-21 20:55:09 +01:00
|
|
|
winMWExtWMRestackWindows(ScreenPtr pScreen);
|
2004-06-21 15:19:32 +02:00
|
|
|
#endif
|
|
|
|
|
|
|
|
#ifdef XWIN_MULTIWINDOWEXTWM
|
|
|
|
/*
|
|
|
|
* winwin32rootlesswndproc.c
|
|
|
|
*/
|
|
|
|
|
|
|
|
LRESULT CALLBACK
|
2012-03-21 20:55:09 +01:00
|
|
|
winMWExtWMWindowProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam);
|
2004-06-21 15:19:32 +02:00
|
|
|
#endif
|
|
|
|
|
|
|
|
/*
|
|
|
|
* winwindowswm.c
|
|
|
|
*/
|
|
|
|
|
|
|
|
void
|
2012-03-21 20:55:09 +01:00
|
|
|
|
|
|
|
winWindowsWMSendEvent(int type, unsigned int mask, int which, int arg,
|
|
|
|
Window window, int x, int y, int w, int h);
|
2004-06-21 15:19:32 +02:00
|
|
|
|
|
|
|
void
|
2012-03-21 20:55:09 +01:00
|
|
|
winWindowsWMExtensionInit(void);
|
2004-06-21 15:19:32 +02:00
|
|
|
|
|
|
|
/*
|
|
|
|
* wincursor.c
|
|
|
|
*/
|
|
|
|
|
|
|
|
Bool
|
2012-03-21 20:55:09 +01:00
|
|
|
winInitCursor(ScreenPtr pScreen);
|
2004-06-21 15:19:32 +02:00
|
|
|
|
2010-04-12 21:18:13 +02:00
|
|
|
/*
|
|
|
|
* winprocarg.c
|
|
|
|
*/
|
|
|
|
void
|
2012-03-21 20:55:09 +01:00
|
|
|
winInitializeScreens(int maxscreens);
|
2010-04-12 21:18:13 +02:00
|
|
|
|
2010-03-30 21:48:10 +02:00
|
|
|
/*
|
|
|
|
* winrandr.c
|
|
|
|
*/
|
|
|
|
Bool
|
2012-03-21 20:55:09 +01:00
|
|
|
winRandRInit(ScreenPtr pScreen);
|
2010-03-30 21:48:10 +02:00
|
|
|
void
|
2012-03-21 20:55:09 +01:00
|
|
|
|
|
|
|
winDoRandRScreenSetSize(ScreenPtr pScreen,
|
|
|
|
CARD16 width,
|
|
|
|
CARD16 height, CARD32 mmWidth, CARD32 mmHeight);
|
2010-03-30 21:48:10 +02:00
|
|
|
|
hw/xwin: Improve WM_ENDSESSION handling using separate messaging window thread
Currently, WM_ENDSESSION just calls GiveUp() to set the DE_TERMINATE flag. But
for the X server to exit cleanly, we also need the X server dispatch loop to be
unblocked so it can notice that DE_TERMINATE has been set and exit, removing
it's lock file and any unix domain socket.
It appears that the system will terminate the process when the last UI thread in
that process returns from processing WM_ENDSESSION for the last top-level
window.
Since WM_ENDSESSION appears to sent by the system via SendMessage()
(synchronously) and the wndproc is called to process it in the message thread
for that window (the X server thread), we can't easily terminate the X server
dispatch loop from inside the WM_ENDSESSION message processing.
So, create a messaging window, a hidden, top-level window, with a separate
thread to catch this message, and process it by calling GiveUp() and then
blocking on a mutex until the X server dispatch loop exits.
Also, notice when this is a shutdown cancel WM_ENDSESSION message and take no
action.
Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
Reviewed-by: Colin Harrison <colin.harrison@virgin.net>
2011-08-31 22:35:14 +02:00
|
|
|
/*
|
|
|
|
* winmsgwindow.c
|
|
|
|
*/
|
|
|
|
Bool
|
|
|
|
winCreateMsgWindowThread(void);
|
|
|
|
|
2003-11-14 17:48:57 +01:00
|
|
|
/*
|
|
|
|
* END DDX and DIX Function Prototypes
|
|
|
|
*/
|
|
|
|
|
2012-03-21 20:55:09 +01:00
|
|
|
#endif /* _WIN_H_ */
|