Compartir a través de


El modelo RealTimeStylus en cascada

El modelo RealTimeStylus en cascada permite usar dos objetos RealTimeStylus , cada uno que se ejecuta en un subproceso diferente. Con este modelo, se adjunta un objeto RealTimeStylus secundario a un objeto RealTimeStylus principal. El objeto RealTimeStylus secundario se adjunta como el único complemento asincrónico en la colección de complementos asincrónica del objeto RealTimeStylus principal.

El modelo RealTimeStylus en cascada puede ser útil en los escenarios siguientes.

  • Puede agregar ciertas tareas que pueden ser exigentes desde el punto de vista computacional, pero aún requieren acceso en tiempo real al flujo de datos del lápiz de tableta, como el reconocimiento de gestos de múltiples pulsaciones, a la colección de complementos sincrónicas del objeto RealTimeStylus secundario.
  • Puede distribuir la carga computacional de los complementos sincrónicos en dos subprocesos, lo que reduce los retrasos en la recopilación de tintas en algunos equipos tablet.

En el diagrama siguiente se muestra el flujo de datos de lápiz de tableta a través de dos objetos RealTimeStylus en cascada y sus colecciones de complementos.

Ilustración en la que se muestra el flujo de datos en cascada realtimestylus

En este diagrama, el círculo con letra "A" representa los datos del lápiz de tableta que ya han sido procesados por los objetos RealTimeStylus principal y secundario y se han colocado en la cola de salida del objeto RealTimeStylus secundario. El círculo con letra "B" representa los datos de lápiz de tableta que el objeto RealTimeStylus principal ya ha procesado y agregado a la cola de salida del objeto RealTimeStylus principal y aún no se ha enviado al objeto RealTimeStylus secundario. El círculo con letra "C" representa los datos del lápiz de tableta que el objeto RealTimeStylus principal está procesando actualmente. Se envía a la colección de complementos sincrónica y se coloca en la cola de salida. El círculo vacío representa la posición de la cola de salida en la que se agregan datos futuros del lápiz para tabletas.

Restricciones

Si usa el constructor RealTimeStylus predeterminado, se crea un objeto RealTimeStylus que solo puede aceptar la entrada de otro objeto RealTimeStylus .

En la lista siguiente se describen las restricciones asociadas al uso del modelo RealTimeStylus en cascada.

  • Solo se pueden usar dos objetos RealTimeStylus , un objeto RealTimeStylus principal y un objeto RealTimeStylus secundario.
  • El objeto RealTimeStylus principal debe crearse con un constructor que use el parámetro attachedControl o handle . El objeto RealTimeStylus secundario debe crearse con el constructor no-argument.
  • El objeto RealTimeStylus secundario debe ser el único complemento asincrónico en la colección de complementos asincrónica del objeto RealTimeStylus principal.
  • Un objeto RealTimeStylus secundario solo se puede adjuntar a un objeto RealTimeStylus principal a la vez. Si se agrega a un segundo objeto RealTimeStylus principal, el método Add produce una excepción y el objeto RealTimeStylus secundario no está asociado al segundo objeto RealTimeStylus principal.
  • Se modifica el comportamiento de algunos de los miembros secundarios del objeto RealTimeStylus . En la tabla siguiente se describe el comportamiento modificado de estos miembros.
Miembro Comportamiento
GetDesiredPacketDescription Este método devuelve la información del objeto RealTimeStylus principal.
Si el objeto RealTimeStylus secundario no está asociado a un objeto RealTimeStylus principal, este método devuelve el valor predeterminado.
SetDesiredPacketDescription Este método genera una excepción InvalidOperationException .
GetStyluses Este método devuelve la información del objeto RealTimeStylus principal.
Si el objeto RealTimeStylus secundario no está asociado a un objeto RealTimeStylus principal, este método devuelve una matriz vacía.
Enabled Obtener esta propiedad devuelve la información del objeto RealTimeStylus principal.
Si el objeto RealTimeStylus secundario no está asociado a un objeto RealTimeStylus principal, la obtención de esta propiedad devuelve el valor predeterminado.
Nota: Al establecer esta propiedad se genera una excepción InvalidOperationException .
WindowInputRectangle Obtener esta propiedad devuelve la información del objeto RealTimeStylus principal.
Si el objeto RealTimeStylus secundario no está asociado a un objeto RealTimeStylus principal, la obtención de esta propiedad devuelve el valor predeterminado.
Nota: Al establecer esta propiedad se genera una excepción InvalidOperationException .
  • Se espera que el objeto RealTimeStylus primario deje de funcionar cuando se elimina el objeto RealTimeStylus secundario.