dmxconsole.h File Reference

Go to the source code of this file.

Functions

pointer dmxConsoleCreatePrivate (DeviceIntPtr pDevice)
void dmxConsoleDestroyPrivate (pointer private)
void dmxConsoleInit (DevicePtr pDev)
void dmxConsoleReInit (DevicePtr pDev)
void dmxConsoleMouGetInfo (DevicePtr pDev, DMXLocalInitInfoPtr info)
void dmxConsoleKbdGetInfo (DevicePtr pDev, DMXLocalInitInfoPtr info)
void dmxConsoleCollectEvents (DevicePtr pDev, dmxMotionProcPtr motion, dmxEnqueueProcPtr enqueue, dmxCheckSpecialProcPtr checkspecial, DMXBlockType block)
int dmxConsoleFunctions (pointer private, DMXFunctionType function)
void dmxConsoleUpdatePosition (pointer private, int x, int y)
void dmxConsoleKbdSetCtrl (pointer private, KeybdCtrl *ctrl)
void dmxConsoleCapture (DMXInputInfo *dmxInput)
void dmxConsoleUncapture (DMXInputInfo *dmxInput)
void dmxConsoleUpdateInfo (pointer private, DMXUpdateType, WindowPtr pWindow)

Detailed Description

Interface for console device support.

See also:
dmxconsole.c
dmxcommon.c

Function Documentation

void dmxConsoleCapture ( DMXInputInfo dmxInput)

This routine is used to warp the pointer into the console window from anywhere on the screen. It is used when backend and console input are both being taken from the same X display.

References _myPrivate::captured, _myPrivate::curX, _myPrivate::curY, _DMXInputInfo::devs, DMX_LOCAL_MOUSE, DMX_LOCAL_TYPE_CONSOLE, dmxConsoleUpdateFineCursor(), DMXDBG0, DMXDBG3, dmxDump(), dmxSync(), _DMXLocalInputInfo::extType, _myPrivate::fine, _DMXInputInfo::name, _DMXInputInfo::numDevs, _DMXLocalInputInfo::private, and _DMXLocalInputInfo::type.

Referenced by dmxBackendUpdatePosition().

void dmxConsoleCollectEvents ( DevicePtr  pDev,
dmxMotionProcPtr  motion,
dmxEnqueueProcPtr  enqueue,
dmxCheckSpecialProcPtr  checkspecial,
DMXBlockType  block 
)

Collect all pending events from the console's display. Plase these events on the server event queue using the motion and enqueue routines. The checkspecial routine is used to check for special keys that need handling. block tells if signals should be blocked when updating the event queue.

References dmxCommonRestoreState(), dmxCommonSaveState(), dmxConsoleDraw(), dmxConsoleMoveAbsolute(), dmxConsoleMoveRelative(), dmxConsoleUncapture(), DMXDBG2, DMXDBG4, DMXDBG5, DMXDBG6, _myPrivate::dmxInput, GETDMXINPUTFROMPRIV, GETPRIVFROMPDEV, _myPrivate::height, and _myPrivate::width.

pointer dmxConsoleCreatePrivate ( DeviceIntPtr  pDevice)

Create the private area for pDevice.

References GETDMXLOCALFROMPDEVICE.

void dmxConsoleDestroyPrivate ( pointer  private)

If private is non-NULL, free its associated memory.

int dmxConsoleFunctions ( pointer  private,
DMXFunctionType  function 
)
void dmxConsoleKbdSetCtrl ( pointer  private,
KeybdCtrl *  ctrl 
)
void dmxConsoleReInit ( DevicePtr  pDev)

Re-initialized the console device described by pDev (after a reconfig).

References dmxConsoleComputeWidthHeight(), dmxConsoleDraw(), and GETPRIVFROMPDEV.

void dmxConsoleUpdateInfo ( pointer  private,
DMXUpdateType  type,
WindowPtr  pWindow 
)

Whenever the window layout (size, position, stacking order) might be changed, this routine is called with the pWindow that changed and the type of change. This routine is called in a conservative fashion: the actual layout of the windows of the screen might not have had any human-visible changes.

References dmxConsoleDraw(), and GETONLYPRIVFROMPRIVATE.

void dmxConsoleUpdatePosition ( pointer  private,
int  x,
int  y 
)

This routine gets called from dmxCoreMotion for each motion. This allows the console's notion of the cursor postion to change when another input device actually caused the change.

References dmxConsoleDraw(), dmxConsoleUpdateFineCursor(), DMXDBG2, DMXDBG6, dmxGeneration, GETONLYPRIVFROMPRIVATE, scalex(), and scaley().