Condividi tramite


Modello RealTimeStylus cascaded

Il modello RealTimeStylus a cascata consente di usare due oggetti RealTimeStylus , ognuno in esecuzione in un thread diverso. Con questo modello si collega un oggetto RealTimeStylus secondario a un oggetto RealTimeStylus primario. L'oggetto RealTimeStylus secondario è collegato come solo plug-in asincrono nell'insieme plug-in asincrono dell'oggetto RealTimeStylus primario.

Il modello RealTimeStylus a cascata può essere utile negli scenari seguenti.

  • È possibile aggiungere alcune attività che possono essere richieste in modo computazionale ma richiedono comunque l'accesso in tempo reale al flusso di dati della penna tablet, ad esempio il riconoscimento dei movimenti multistroke, alla raccolta plug-in sincrona dell'oggetto RealTimeStylus secondario.
  • È possibile distribuire il carico di calcolo dei plug-in sincroni su due thread, riducendo i ritardi nella raccolta penna in alcuni PC Tablet.

Il diagramma seguente illustra il flusso di dati della penna tablet tramite due oggetti RealTimeStylus a cascata e le relative raccolte plug-in.

figura che mostra il flusso di dati realtimestylus a cascata

In questo diagramma il cerchio letterato "A" rappresenta i dati della penna tablet già elaborati dagli oggetti RealTimeStylus primari e secondari ed è stato inserito nella coda di output dell'oggetto RealTimeStylus secondario. Il cerchio letterato "B" rappresenta i dati della penna tablet già elaborati dall'oggetto RealTimeStylus primario e aggiunti alla coda di output dell'oggetto RealTimeStylus primario e non è ancora stato inviato all'oggetto RealTimeStylus secondario. Il cerchio letterato "C" rappresenta i dati della penna tablet che l'oggetto RealTimeStylus primario sta attualmente elaborando. Viene inviato alla raccolta plug-in sincrona e inserita nella coda di output. Il cerchio vuoto rappresenta la posizione nella coda di output in cui vengono aggiunti i dati della penna tablet futuri.

Vincoli

Se si usa il costruttore RealTimeStylus predefinito, si crea un oggetto RealTimeStylus che può accettare solo l'input da un altro oggetto RealTimeStylus .

Nell'elenco seguente vengono descritti i vincoli associati all'uso del modello RealTimeStylus a catena.

  • È possibile usare solo due oggetti RealTimeStylus, un oggetto RealTimeStylus primario e un oggetto RealTimeStylus secondario.
  • L'oggetto RealTimeStylus primario deve essere creato con un costruttore che usa il parametro attachedControl o handle . L'oggetto RealTimeStylus secondario deve essere creato con il costruttore no-argument.
  • L'oggetto RealTimeStylus secondario deve essere l'unico plug-in asincrono nell'insieme plug-in asincrono dell'oggetto RealTimeStylus primario.
  • Un oggetto RealTimeStylus secondario può essere collegato solo a un oggetto RealTimeStylus primario alla volta. Se viene aggiunto a un secondo oggetto RealTimeStylus primario, il metodo Add genera un'eccezione e l'oggetto RealTimeStylus secondario non è collegato al secondo oggetto RealTimeStylus primario.
  • Il comportamento di alcuni dei membri dell'oggetto RealTimeStylus secondario viene modificato. Nella tabella seguente viene descritto il comportamento modificato di questi membri.
Membro Comportamento
GetDesiredPacketDescription Questo metodo restituisce le informazioni dall'oggetto RealTimeStylus primario.
Se il realtimeStylus secondario non è collegato a un oggetto RealTimeStylus primario, questo metodo restituisce il valore predefinito.
SetDesiredPacketDescription Questo metodo genera un'eccezione InvalidOperationException .
GetStyluses Questo metodo restituisce le informazioni dall'oggetto RealTimeStylus primario.
Se il realtimeStylus secondario non è collegato a un oggetto RealTimeStylus primario, questo metodo restituisce una matrice vuota.
Enabled Ottenere questa proprietà restituisce le informazioni dall'oggetto RealTimeStylus primario.
Se il realtimeStylus secondario non è collegato a un oggetto RealTimeStylus primario, ottenere questa proprietà restituisce il valore predefinito.
Nota: L'impostazione di questa proprietà genera un'eccezione InvalidOperationException .
WindowInputRectangle Ottenere questa proprietà restituisce le informazioni dall'oggetto RealTimeStylus primario.
Se il realtimeStylus secondario non è collegato a un oggetto RealTimeStylus primario, ottenere questa proprietà restituisce il valore predefinito.
Nota: L'impostazione di questa proprietà genera un'eccezione InvalidOperationException .
  • L'oggetto RealTimeStylus padre deve interrompere il funzionamento quando viene eliminato il realtimeStylus figlio.