|
Distributed Multihead X
1.16.4
|
#include "dmxinputinit.h"#include "dmxbackend.h"#include "dmxcommon.h"#include "dmxconsole.h"#include "dmxcursor.h"#include "dmxprop.h"#include "dmxsync.h"#include "dmxcb.h"#include "dmxevents.h"#include "ChkNotMaskEv.h"#include "inputstr.h"#include "input.h"#include <X11/keysym.h>#include "mipointer.h"#include "scrnintstr.h"#include "windowstr.h"Data Structures | |
| struct | _myPrivate |
Macros | |
| #define | DMX_BACKEND_DEBUG 0 |
| #define | DMXDBG0(f) |
| #define | DMXDBG1(f, a) |
| #define | DMXDBG2(f, a, b) |
| #define | DMXDBG3(f, a, b, c) |
| #define | DMXDBG4(f, a, b, c, d) |
| #define | DMXDBG5(f, a, b, c, d, e) |
| #define | DMXDBG6(f, a, b, c, d, e, g) |
| #define | DMXDBG7(f, a, b, c, d, e, g, h) |
| #define | DMXDBG8(f, a, b, c, d, e, g, h, i) |
| #define | DMXDBG9(f, a, b, c, d, e, g, h, i, j) |
Typedefs | |
| typedef struct _myPrivate | myPrivate |
Functions | |
| void * | dmxBackendCreatePrivate (DeviceIntPtr pDevice) |
| void | dmxBackendDestroyPrivate (void *private) |
| static void * | dmxBackendTestScreen (DMXScreenInfo *dmxScreen, void *closure) |
| static int | dmxBackendSameDisplay (myPrivate *priv, long screen) |
| static void * | dmxBackendTestEvents (DMXScreenInfo *dmxScreen, void *closure) |
| static void * | dmxBackendTestMotionEvent (DMXScreenInfo *dmxScreen, void *closure) |
| static DMXScreenInfo * | dmxBackendGetEvent (myPrivate *priv, XEvent *X) |
| static DMXScreenInfo * | dmxBackendPendingMotionEvent (myPrivate *priv, int save) |
| static void * | dmxBackendTestWindow (DMXScreenInfo *dmxScreen, void *closure) |
| static DMXScreenInfo * | dmxBackendFindWindow (myPrivate *priv, Window win) |
| static int | dmxBackendFindOverlapping (myPrivate *priv, int screen, int x, int y) |
| static int | dmxBackendOffscreen (int screen, int x, int y) |
| void | dmxBackendUpdatePosition (void *private, int x, int y) |
| void | dmxBackendCollectEvents (DevicePtr pDev, dmxMotionProcPtr motion, dmxEnqueueProcPtr enqueue, dmxCheckSpecialProcPtr checkspecial, DMXBlockType block) |
| void | dmxBackendProcessInput (void *private) |
| static void | dmxBackendComputeCenter (myPrivate *priv) |
| static DMXScreenInfo * | dmxBackendInitPrivate (DevicePtr pDev) |
| void | dmxBackendLateReInit (DevicePtr pDev) |
| void | dmxBackendInit (DevicePtr pDev) |
| void | dmxBackendMouGetInfo (DevicePtr pDev, DMXLocalInitInfoPtr info) |
| void | dmxBackendKbdGetInfo (DevicePtr pDev, DMXLocalInitInfoPtr info) |
| int | dmxBackendFunctions (void *private, DMXFunctionType function) |
These routines support taking input from devices on the backend (output) displays.
| #define DMX_BACKEND_DEBUG 0 |
| #define DMXDBG0 | ( | f | ) |
Referenced by dmxBackendUpdatePosition().
| #define DMXDBG1 | ( | f, | |
| a | |||
| ) |
| #define DMXDBG2 | ( | f, | |
| a, | |||
| b | |||
| ) |
Referenced by dmxBackendCollectEvents(), and dmxBackendUpdatePosition().
| #define DMXDBG3 | ( | f, | |
| a, | |||
| b, | |||
| c | |||
| ) |
| #define DMXDBG4 | ( | f, | |
| a, | |||
| b, | |||
| c, | |||
| d | |||
| ) |
Referenced by dmxBackendCollectEvents(), and dmxBackendProcessInput().
| #define DMXDBG5 | ( | f, | |
| a, | |||
| b, | |||
| c, | |||
| d, | |||
| e | |||
| ) |
Referenced by dmxBackendCollectEvents(), and dmxBackendUpdatePosition().
| #define DMXDBG6 | ( | f, | |
| a, | |||
| b, | |||
| c, | |||
| d, | |||
| e, | |||
| g | |||
| ) |
Referenced by dmxBackendProcessInput().
| #define DMXDBG7 | ( | f, | |
| a, | |||
| b, | |||
| c, | |||
| d, | |||
| e, | |||
| g, | |||
| h | |||
| ) |
Referenced by dmxBackendCollectEvents().
| #define DMXDBG8 | ( | f, | |
| a, | |||
| b, | |||
| c, | |||
| d, | |||
| e, | |||
| g, | |||
| h, | |||
| i | |||
| ) |
Referenced by dmxBackendCollectEvents().
| #define DMXDBG9 | ( | f, | |
| a, | |||
| b, | |||
| c, | |||
| d, | |||
| e, | |||
| g, | |||
| h, | |||
| i, | |||
| j | |||
| ) |
Referenced by dmxBackendUpdatePosition().
| typedef struct _myPrivate myPrivate |
| void dmxBackendCollectEvents | ( | DevicePtr | pDev, |
| dmxMotionProcPtr | motion, | ||
| dmxEnqueueProcPtr | enqueue, | ||
| dmxCheckSpecialProcPtr | checkspecial, | ||
| DMXBlockType | block | ||
| ) |
Get events from the X queue on the backend servers and put the events into the DMX event queue.
References _DMXScreenInfo::beDisplay, DMX_ABSOLUTE, DMX_RELATIVE, dmxBackendFindWindow(), dmxBackendGetEvent(), dmxBackendPendingMotionEvent(), dmxCommonRestoreState(), dmxCommonSaveState(), DMXDBG2, DMXDBG4, DMXDBG5, DMXDBG7, DMXDBG8, dmxError, dmxFatal, dmxLog(), dmxSync(), GETDMXINPUTFROMPRIV, GETPRIVFROMPDEV, _DMXScreenInfo::index, _DMXScreenInfo::name, _DMXScreenInfo::rootHeight, _DMXScreenInfo::rootWidth, _DMXScreenInfo::rootX, _DMXScreenInfo::rootXOrigin, _DMXScreenInfo::rootY, _DMXScreenInfo::rootYOrigin, and _DMXScreenInfo::scrnWin.
|
static |
References _myPrivate::centerX, and _myPrivate::centerY.
Referenced by dmxBackendInit(), and dmxBackendLateReInit().
| void* dmxBackendCreatePrivate | ( | DeviceIntPtr | pDevice | ) |
Create and return a private data structure.
References GETDMXLOCALFROMPDEVICE.
| void dmxBackendDestroyPrivate | ( | void * | private | ) |
Destroy the private data structure. No checking is performed to verify that the structure was actually created by dmxBackendCreatePrivate.
|
static |
References dmxOnScreen(), dmxScreens, _DMXScreenInfo::index, _myPrivate::myScreen, and _DMXScreenInfo::over.
Referenced by dmxBackendUpdatePosition().
|
static |
References dmxBackendTestWindow(), and dmxPropertyIterate().
Referenced by dmxBackendCollectEvents().
| int dmxBackendFunctions | ( | void * | private, |
| DMXFunctionType | function | ||
| ) |
Process DMXFunctionType functions. The only function handled here is to acknowledge a pending server shutdown.
References DMX_FUNCTION_TERMINATE.
|
static |
References dmxBackendTestEvents(), and dmxPropertyIterate().
Referenced by dmxBackendCollectEvents().
| void dmxBackendInit | ( | DevicePtr | pDev | ) |
Initialized the backend device described by pDev.
References DMX_LOCAL_KEYBOARD, DMX_LOCAL_MOUSE, dmxBackendComputeCenter(), dmxBackendInitPrivate(), dmxBackendSameDisplay(), GETPRIVFROMPDEV, and _DMXScreenInfo::index.
|
static |
References _DMXScreenInfo::beDisplay, dmxFatal, dmxInputs, dmxLog(), dmxNumScreens, dmxPropertySameDisplay(), dmxScreens, GETPRIVFROMPDEV, _DMXInputInfo::name, and _DMXScreenInfo::scrnWin.
Referenced by dmxBackendInit(), dmxBackendLateReInit(), and dmxBackendMouGetInfo().
| void dmxBackendKbdGetInfo | ( | DevicePtr | pDev, |
| DMXLocalInitInfoPtr | info | ||
| ) |
Get information about the backend keyboard (for initialization).
References dmxCommonKbdGetInfo(), dmxCommonKbdGetMap(), _DMXLocalInitInfo::focusClass, _DMXLocalInitInfo::freemap, _DMXLocalInitInfo::kbdFeedbackClass, _DMXLocalInitInfo::keyboard, _DMXLocalInitInfo::keyClass, _DMXLocalInitInfo::keySyms, and _DMXLocalInitInfo::modMap.
| void dmxBackendLateReInit | ( | DevicePtr | pDev | ) |
Re-initialized the backend device described by pDev (after a reconfig).
References dmxBackendComputeCenter(), dmxBackendInitPrivate(), dmxBackendSameDisplay(), dmxBackendUpdatePosition(), dmxGetGlobalPosition(), dmxInvalidateGlobalPosition(), and GETPRIVFROMPDEV.
| void dmxBackendMouGetInfo | ( | DevicePtr | pDev, |
| DMXLocalInitInfoPtr | info | ||
| ) |
Get information about the backend pointer (for initialization).
References _DMXScreenInfo::beHeight, _DMXScreenInfo::beWidth, _DMXLocalInitInfo::buttonClass, dmxBackendInitPrivate(), dmxCommonMouGetMap(), _DMXLocalInitInfo::map, _DMXLocalInitInfo::maxres, _DMXLocalInitInfo::maxval, _DMXLocalInitInfo::minres, _DMXLocalInitInfo::minval, _DMXLocalInitInfo::numButtons, _DMXLocalInitInfo::numRelAxes, _DMXLocalInitInfo::ptrFeedbackClass, _DMXLocalInitInfo::res, and _DMXLocalInitInfo::valuatorClass.
|
static |
References dmxOnScreen(), and dmxScreens.
Referenced by dmxBackendUpdatePosition().
|
static |
References _DMXScreenInfo::beDisplay, dmxBackendTestMotionEvent(), and dmxPropertyIterate().
Referenced by dmxBackendCollectEvents(), and dmxBackendUpdatePosition().
| void dmxBackendProcessInput | ( | void * | private | ) |
Called after input events are processed from the DMX queue. No event processing actually takes place here, but this is a convenient place to update the pointer.
References DMXDBG4, DMXDBG6, dmxScreens, dmxSync(), and GETPRIVFROMPRIVATE.
|
static |
References dmxBackendTestScreen(), dmxNumScreens, dmxPropertyIterate(), and _myPrivate::myScreen.
Referenced by dmxBackendInit(), dmxBackendLateReInit(), and dmxBackendUpdatePosition().
|
static |
References _DMXScreenInfo::beDisplay, and XCheckNotMaskEvent().
Referenced by dmxBackendGetEvent().
|
static |
References _DMXScreenInfo::beDisplay.
Referenced by dmxBackendPendingMotionEvent().
|
static |
References _DMXScreenInfo::index.
Referenced by dmxBackendSameDisplay().
|
static |
References _DMXScreenInfo::scrnWin.
Referenced by dmxBackendFindWindow().
| void dmxBackendUpdatePosition | ( | void * | private, |
| int | x, | ||
| int | y | ||
| ) |
This routine is called from dmxCoreMotion for each motion event. x and y are global coordinants.
References dmxBackendFindOverlapping(), dmxBackendOffscreen(), dmxBackendPendingMotionEvent(), dmxBackendSameDisplay(), dmxCheckCursor(), dmxConsoleCapture(), dmxConsoleUncapture(), DMXDBG0, DMXDBG2, DMXDBG5, DMXDBG9, dmxHideCursor(), dmxScreens, dmxSync(), and GETPRIVFROMPRIVATE.
Referenced by dmxBackendLateReInit().
1.8.8