# 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
| ) |  |

Handle special console-only keys.

References DMX_FUNCTION_FINE, DMX_FUNCTION_GRAB, DMX_FUNCTION_TERMINATE, dmxConsoleClearCursor(), dmxConsoleUpdateFineCursor(), dmxError, dmxLog(), GETONLYPRIVFROMPRIVATE, scalex(), and scaley().

void dmxConsoleInit | ( | DevicePtr | pDev | ) |

Initialized the console device described by pDev.

References _myPrivate::CloseScreen, CONSOLE_BG_COLOR, CONSOLE_SCREEN_BG_COLOR, CONSOLE_SCREEN_CUR_COLOR, CONSOLE_SCREEN_DET_COLOR, CONSOLE_SCREEN_FG_COLOR, DMX_CONSOLE_NAME, DMX_LOCAL_KEYBOARD, DMX_LOCAL_MOUSE, DMX_RES_CLASS, DMX_RES_NAME, DMX_WRAP, dmxCloseConsoleScreen(), dmxConsoleComputeWidthHeight(), dmxConsoleCreateEmptyCursor(), dmxConsoleDraw(), dmxFatal, _myPrivate::dmxInput, dmxInputs, dmxLog(), dmxScreenPrivateKey, GETPRIVFROMPDEV, _myPrivate::mask, _DMXInputInfo::name, scalex(), and scaley().

void dmxConsoleKbdGetInfo | ( | DevicePtr | pDev,
|  | DMXLocalInitInfoPtr | info
| ) |  |

Fill in the info structure for the specified pDev. Only used for keyboard.

References dmxCommonKbdGetInfo(), dmxCommonKbdGetMap(), _DMXLocalInitInfo::focusClass, _DMXLocalInitInfo::freemap, _DMXLocalInitInfo::kbdFeedbackClass, _DMXLocalInitInfo::keyboard, _DMXLocalInitInfo::keyClass, _DMXLocalInitInfo::keySyms, and _DMXLocalInitInfo::modMap.

void dmxConsoleKbdSetCtrl | ( | pointer | private,
|  | KeybdCtrl * | ctrl
| ) |  |

void dmxConsoleMouGetInfo | ( | DevicePtr | pDev,
|  | DMXLocalInitInfoPtr | info
| ) |  |

Fill in the info structure for the specified pDev. Only used for pointers.

References _DMXLocalInitInfo::buttonClass, dmxCommonMouGetMap(), GETPRIVFROMPDEV, _DMXLocalInitInfo::map, _DMXLocalInitInfo::maxres, _DMXLocalInitInfo::maxval, _DMXLocalInitInfo::minres, _DMXLocalInitInfo::minval, _DMXLocalInitInfo::numButtons, _DMXLocalInitInfo::numRelAxes, _DMXLocalInitInfo::ptrFeedbackClass, _DMXLocalInitInfo::res, and _DMXLocalInitInfo::valuatorClass.

void dmxConsoleReInit | ( | DevicePtr | pDev | ) |

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

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

void dmxConsoleUncapture | ( | DMXInputInfo * | dmxInput | ) |

Undo the capture that was done by dmxConsoleCapture.

References _myPrivate::captured, _DMXInputInfo::devs, DMX_LOCAL_MOUSE, DMX_LOCAL_TYPE_CONSOLE, DMXDBG0, dmxSync(), _DMXLocalInputInfo::extType, _DMXInputInfo::numDevs, _DMXLocalInputInfo::private, and _DMXLocalInputInfo::type.

Referenced by dmxBackendUpdatePosition(), and dmxConsoleCollectEvents().

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().