Distributed Multihead X  1.16.4
dmxbackend.c File Reference
#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 DMXScreenInfodmxBackendGetEvent (myPrivate *priv, XEvent *X)
 
static DMXScreenInfodmxBackendPendingMotionEvent (myPrivate *priv, int save)
 
static void * dmxBackendTestWindow (DMXScreenInfo *dmxScreen, void *closure)
 
static DMXScreenInfodmxBackendFindWindow (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 DMXScreenInfodmxBackendInitPrivate (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)
 

Detailed Description

These routines support taking input from devices on the backend (output) displays.

See also
dmxcommon.c.

Macro Definition Documentation

#define DMX_BACKEND_DEBUG   0
#define DMXDBG0 (   f)
#define DMXDBG1 (   f,
 
)
#define DMXDBG2 (   f,
  a,
 
)
#define DMXDBG3 (   f,
  a,
  b,
 
)
#define DMXDBG4 (   f,
  a,
  b,
  c,
 
)
#define DMXDBG5 (   f,
  a,
  b,
  c,
  d,
 
)
#define DMXDBG6 (   f,
  a,
  b,
  c,
  d,
  e,
 
)

Referenced by dmxBackendProcessInput().

#define DMXDBG7 (   f,
  a,
  b,
  c,
  d,
  e,
  g,
 
)

Referenced by dmxBackendCollectEvents().

#define DMXDBG8 (   f,
  a,
  b,
  c,
  d,
  e,
  g,
  h,
 
)

Referenced by dmxBackendCollectEvents().

#define DMXDBG9 (   f,
  a,
  b,
  c,
  d,
  e,
  g,
  h,
  i,
 
)

Typedef Documentation

typedef struct _myPrivate myPrivate

Function Documentation

static void dmxBackendComputeCenter ( myPrivate priv)
static
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 int dmxBackendFindOverlapping ( myPrivate priv,
int  screen,
int  x,
int  y 
)
static
static DMXScreenInfo* dmxBackendFindWindow ( myPrivate priv,
Window  win 
)
static
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 DMXScreenInfo* dmxBackendGetEvent ( myPrivate priv,
XEvent *  X 
)
static
void dmxBackendInit ( DevicePtr  pDev)
void dmxBackendLateReInit ( DevicePtr  pDev)
static int dmxBackendOffscreen ( int  screen,
int  x,
int  y 
)
static

References dmxOnScreen(), and dmxScreens.

Referenced by dmxBackendUpdatePosition().

static DMXScreenInfo* dmxBackendPendingMotionEvent ( myPrivate priv,
int  save 
)
static
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 int dmxBackendSameDisplay ( myPrivate priv,
long  screen 
)
static
static void* dmxBackendTestEvents ( DMXScreenInfo dmxScreen,
void *  closure 
)
static
static void* dmxBackendTestMotionEvent ( DMXScreenInfo dmxScreen,
void *  closure 
)
static
static void* dmxBackendTestScreen ( DMXScreenInfo dmxScreen,
void *  closure 
)
static

References _DMXScreenInfo::index.

Referenced by dmxBackendSameDisplay().

static void* dmxBackendTestWindow ( DMXScreenInfo dmxScreen,
void *  closure 
)
static

References _DMXScreenInfo::scrnWin.

Referenced by dmxBackendFindWindow().

void dmxBackendUpdatePosition ( void *  private,
int  x,
int  y 
)

Generated on Tue Aug 18 2015 01:27:31 for Distributed Multihead X by doxygen 1.8.8