Manual de programación de OS/2/Llamadas MOUxxx para acceso al ratón

De Wikilibros, la colección de libros de texto de contenido libre.

GRUPO DE LLAMADAS MOU[editar]

MouClose[editar]

MouClose cierra el controlador de ratón para la sesión actual.

#define INCL_BASE
#include <os2.h> 
HMOU MouHandle;
APIRET rc; /* Codigo de error */ 
rc = MouClose(MouHandle);


Parámetros[editar]

MouHandle Handle de ratón devuelto por una llamada anterior a MouOpen.

Codigos de error[editar]

0 Sin error
385 No hay ratón.
466 MOU inactivo (proceso en Detached)
501 Mouse no console
505 MOU extended SG


MouDrawPtr[editar]

MouDrawPtr elimina el área restringida por una llamada anterior a MouRemovePtr.

#define INCL_BASE
#include <os2.h> 

HMOU MouHandle;
APIRET rc; /* Codigo de error */ 

rc = MouDrawPtr(MouHandle);

Parámetros[editar]

MouHandle Handle de ratón devuelto por una llamada anterior a MouOpen.

Codigos de error[editar]

0 Sin error
385 No hay ratón.
466 MOU inactivo (proceso en Detached)
501 Mouse no console
505 MOU extended SG


MouFlushQue[editar]

MouFlushQue vacía la cola de eventos de ratón para la sesión actual.

#define INCL_BASE
#include <os2.h> 

HMOU MouHandle;
APIRET rc; /* Codigo de error */ 

rc = MouFlushQue(MouHandle);

Parámetros[editar]

MouHandle Handle de ratón devuelto por una llamada anterior a MouOpen.

Codigos de error[editar]

0 Sin error
385 No hay ratón.
466 MOU inactivo (proceso en Detached)
501 Mouse no console
505 MOU extended SG


MouGetDevStatus[editar]

MouGetDevStatus devuelve los flags de estado del controlador de ratón.

#define INCL_BASE
#include <os2.h> 

PUSHORT DeviceStatus;
HMOU MouHandle;
APIRET rc; /* Codigo de error */ 

rc = MouGetDevStatus(DeviceStatus, MouHandle);

Parámetros[editar]

DeviceStatus Puntero a una posición de memoria donde OS/2 devolverá un conjunto de flags con el estado del controlador.
Bit Descripción
15-10 Reservados. Puestos a cero.
9 Activo si los datos son devueltos en mickeys en vez de en puntos.
8 Activo si el controlador de ratón no pinta el cursor en pantalla.
7-4 Reservados. Puestos a cero.
3 Activo si el cursor no es pintado en pantalla por estar ésta en un modo no soportado.
2 Activo si se está vaciando la cola de eventos.
1 Activo si se está leyendo un bloque.
0 Activo si la cola de eventos está bloqueada por una operación de entrada/salida.
MouHandle Handle de ratón devuelto por una llamada anterior a MouOpen.

Codigos de error[editar]

0 Sin error
385 No hay ratón.
466 MOU inactivo (proceso en Detached)
501 Mouse no console
505 MOU extended SG


MouGetEventMask[editar]

MouGetEventMask devuelve los valores actuales de la máscara de eventos del ratón.

#define INCL_BASE
#include <os2.h> 

PUSHORT EventMask;
HMOU MouHandle;
APIRET rc; /* Codigo de error */ 

rc = MouGetEventMask(EventMask, MouHandle);

Parámetros[editar]

EventMask Puntero a una zona de memoria donde OS/2 devolverá la máscara de eventos actual, cuyos bits representan:
Bit Descripción
15-7 Reservados. Puestos a cero.
6 Activo si se devuelven pulsaciones del boton 3 sin movimiento del ratón.
5 Activo si se devuelven pulsaciones del boton 3 con movimiento del ratón.
4 Activo si se devuelven pulsaciones del boton 2 sin movimiento del ratón.
3 Activo si se devuelven pulsaciones del boton 2 con movimiento del ratón.
2 Activo si se devuelven pulsaciones del boton 1 sin movimiento del ratón.
1 Activo si se devuelven pulsaciones del boton 1 con movimiento del ratón.
0 Activo si se produce un evento al mover el ratón sin ningún boton pulsado.
MouHandle Handle de ratón devuelto por una llamada anterior a MouOpen.

Codigos de error[editar]

0 Sin error
385 No hay ratón.
466 MOU inactivo (proceso en Detached)
501 Mouse no console
505 MOU extended SG


MouGetNumButtons[editar]

MouGetNumButtons devuelve el número de botones que soporta el controlador de ratón.

#define INCL_BASE
#include <os2.h> 

PUSHORT NumberOfButtons;
HMOU MouHandle;
APIRET rc; /* Codigo de error */ 

rc = MouGetNumButtons(NumberOfButtons, MouHandle);

Parámetros[editar]

NumberOfButtons Puntero a una posición de memoria donde OS/2 devolverá el número de botones soportados. Puede valer 1, 2 ó 3.
MouHandle Handle de ratón devuelto por una llamada anterior a MouOpen.

Codigos de error[editar]

0 Sin error
385 No hay ratón.
466 MOU inactivo (proceso en Detached)
501 Mouse no console
505 MOU extended SG


MouGetNumMickeys[editar]

MouGetNumMickeys devuelve el número de mickeys por centímetro para el controlador de ratón instalado.

#define INCL_BASE
#include <os2.h> 

PUSHORT NumberOfMickeys;
HMOU MouHandle;
APIRET rc; /* Codigo de error */ 

rc = MouGetNumMickeys(NumberOfMickeys, MouHandle);

Parámetros[editar]

NumberOfMickeys Puntero a una zona de memoria donde OS/2 devolverá el número de unidades físicas de movimiento del ratón. Estas se devuelven en mickeys por centímetro. Este valor es una constante definida en el controlador de ratón.
MouHandle Handle de ratón devuelto por una llamada anterior a MouOpen.

Codigos de error[editar]

0 Sin error
385 No hay ratón.
466 MOU inactivo (proceso en Detached)
501 Mouse no console
505 MOU extended SG


MouGetNumQueEl[editar]

MouGetNumQueEl devuelve el estado de la cola de eventos del controlador de ratón.

#define INCL_BASE
#include <os2.h> 

PMOUQUEINFO QueDataRecord;
HMOU MouHandle;
APIRET rc; /* Codigo de error */ 

rc = MouGetNumQueEl(QueDataRecord, MouHandle);

Parámetros[editar]

QueDataRecord Puntero a una estructura donde OS/2 devolverá los siguientes valores:
cEvents (USHORT) Número actual de elementos en la cola, en el rango 0 <= valor <= cmaxEvents.
cmaxEvents (USHORT) Máximo número de elementos que puede contener la cola.
MouHandle Handle de ratón devuelto por una llamada anterior a MouOpen.

Codigos de error[editar]

0 Sin error
385 No hay ratón.
466 MOU inactivo (proceso en Detached)
501 Mouse no console
505 MOU extended SG


MouGetPtrPos[editar]

MouGetPtrPos devuelve la fila y columna actual del cursor del ratón.

#define INCL_BASE
#include <os2.h> 

PPTRLOC PtrPos;
HMOU MouHandle;
APIRET rc; /* Codigo de error */ 

rc = MouGetPtrPos(PtrPos, MouHandle);

Parámetros[editar]

PtrPos Puntero a una estructura donde OS/2 devolverá los siguientes valores:
row (USHORT) Fila actual del cursor.
col (USHORT) Columna actual del cursor.
MouHandle Handle de ratón devuelto por una llamada anterior a MouOpen.

Codigos de error[editar]

0 Sin error
385 No hay ratón.
466 MOU inactivo (proceso en Detached)
501 Mouse no console
505 MOU extended SG


MouOpen[editar]

MouOpen inicializa el soporte de ratón para la sesión actual.

#define INCL_BASE
#include <os2.h> 

PSZ DriverName;
PHMOU MouHandle;
APIRET rc; /* Codigo de error */ 

rc = MouOpen(DriverName, MouHandle);

Parámetros[editar]

DriverName Puntero a una cadena con el nombre de dispositivo a usar. Si se usa el controlador por defecto (válido para casi todas las aplicaciones) se debe poner a cero (NULL).
MouHandle Puntero a una zona de memoria donde OS/2 devolverá el Handle de ratón para la sesión actual.

Codigos de error[editar]

0 Sin error
385 No hay ratón.
390 Nombre de dispositivo no válido.
466 MOU inactivo (proceso en Detached)
501 Mouse no console
505 MOU extended SG


MouReadEventQue[editar]

MouReadEventQue lee un evento desde la cola de eventos y coloca los datos en una estructura adecuada.

#define INCL_BASE
#include <os2.h> 

PMOUEVENTINFO Buffer;
PUSHORT ReadType;
HMOU MouHandle;
APIRET rc; /* Codigo de error */ 

rc = MouReadEventQue(Buffer, ReadType, MouHandle);

Parámetros[editar]

Buffer Puntero a una estructura donde OS/2 devolverá los siguientes valores:
fs (USHORT) Contiene los siguientes bits:
15-7 Reservado. Puestos a cero.
6 Boton 3 pulsado.
5 Boton 3 pulsado + movimiento de ratón.
4 Boton 2 pulsado.
3 Boton 2 pulsado + movimiento de ratón.
2 Boton 1 pulsado
1 Boton 1 pulsado + movimiento de ratón.
0 Solo movimiento de ratón.
time (ULONG) Tiempo (en milisegundos) desde que el sistema se ha conectado.
row (SHORT) Fila del cursor.
col (SHORT) Columna del cursor.
ReadType Puntero a una posición de memoria donde estará almacenada la acción a tomar si la cola de mensajes está vacía: 0 no espera (devuelve un puntero a NULL); 1 espera a que halla un evento disponible.
MouHandle Handle de ratón devuelto por una llamada anterior a MouOpen.

Codigos de error[editar]

0 Sin error
385 No hay ratón.
387 Parámetro no válido.
393 No hay datos en la cola de eventos.
466 MOU inactivo (proceso en Detached)
501 Mouse no console
505 MOU extended SG


MouRemovePtr[editar]

MouRemovePtr permite definir un área para uso exclusivo de la aplicacion (collision area), la cual no estará disponible para pintar el puntero de ratón.

#define INCL_BASE
#include <os2.h> 

PNOPTRRECT PtrArea;
HMOU MouHandle;
APIRET rc; /* Codigo de error */ 

rc = MouRemovePtr(PtrArea, MouHandle);

Parámetros[editar]

PtrArea Puntero a una zona de memoria con los siguientes datos:
row (USHORT) Fila superior del área.
col (USHORT) Columna izquierda del área.
cRow (USHORT) Fila inferior del área.
cCol (USHORT) Columna derecha del área.
MouHandle Handle de ratón devuelto por una llamada anterior a MouOpen.

Codigos de error[editar]

0 Sin error
385 No hay ratón.
387 Parámetro no válido.
466 MOU inactivo (proceso en Detached)
501 Mouse no console
505 MOU extended SG


MouSetDevStatus[editar]

MouSetDevStatus establece los flags de estado del controlador de ratón.

#define INCL_BASE
#include <os2.h> 

PUSHORT DeviceStatus;
HMOU MouHandle;
APIRET rc; /* Codigo de error */ 

rc = MouSetDevStatus(DeviceStatus, MouHandle);

Parámetros[editar]

DeviceStatus Puntero a una posición de memoria con el conjunto de flags deseados para el estado del controlador.
Bit Descripción
15-10 Reservados. Poner a cero.
9 Activo si los datos deben ser devueltos en mickeys en vez de en puntos.
8 Activo si el controlador de ratón no debe pintar el cursor en pantalla (es necesario activarlo si se va a trabajar en modos gráficos).
7-0 Reservados. Poner a cero.
MouHandle Handle de ratón devuelto por una llamada anterior a MouOpen.

Codigos de error[editar]

0 Sin error
385 No hay ratón.
387 Parámetro no válido.
466 MOU inactivo (proceso en Detached)
501 Mouse no console
505 MOU extended SG


MouSetEventMask[editar]

MouSetEventMask establece los valores actuales de la máscara de eventos del ratón.

#define INCL_BASE
#include <os2.h> 

PUSHORT EventMask;
HMOU MouHandle;
APIRET rc; /* Codigo de error */ 

rc = MouSetEventMask(EventMask, MouHandle);

Parámetros[editar]

EventMask Puntero a una zona de memoria con la máscara de eventos deseada, cuyos bits representan:
Bit Descripción
15-7 Reservados. Puestos a cero.
6 Activo si se devuelven pulsaciones del boton 3 sin movimiento del ratón.
5 Activo si se devuelven pulsaciones del boton 3 con movimiento del ratón.
4 Activo si se devuelven pulsaciones del boton 2 sin movimiento del ratón.
3 Activo si se devuelven pulsaciones del boton 2 con movimiento del ratón.
2 Activo si se devuelven pulsaciones del boton 1 sin movimiento del ratón.
1 Activo si se devuelven pulsaciones del boton 1 con movimiento del ratón.
0 Activo si se produce un evento al mover el ratón sin ningún boton pulsado.
MouHandle Handle de ratón devuelto por una llamada anterior a MouOpen.

Codigos de error[editar]

0 Sin error
385 No hay ratón.
466 MOU inactivo (proceso en Detached)
501 Mouse no console
505 MOU extended SG


MouSetPtrPos[editar]

MouSetPtrPos establece la fila y columna actual del cursor del ratón.

#define INCL_BASE
#include <os2.h> 

PPTRLOC PtrPos;
HMOU MouHandle;
APIRET rc; /* Codigo de error */ 

rc = MouSetPtrPos(PtrPos, MouHandle);

Parámetros[editar]

PtrPos Puntero a una estructura conteniendo los siguientes valores:
row (USHORT) Nueva fila del cursor.
col (USHORT) Nueva columna del cursor.
MouHandle Handle de ratón devuelto por una llamada anterior a MouOpen.

Codigos de error[editar]

0 Sin error
385 No hay ratón.
387 Parámetro no válido.
466 MOU inactivo (proceso en Detached)
501 Mouse no console
505 MOU extended SG