Cascaded RealTimeStylus 모델
연속 된 RealTimeStylus 모델을 사용하면 각각 다른 스레드에서 실행되는 두 개의 RealTimeStylus 개체를 사용할 수 있습니다. 이 모델을 사용하면 보조 RealTimeStylus 개체를 기본 RealTimeStylus 개체에 연결합니다. 보조 RealTimeStylus 개체는 기본 RealTimeStylus 개체의 비동기 플러그 인 컬렉션에서 유일한 비동기 플러그 인으로 연결됩니다.
연계 RealTimeStylus 모델은 다음 시나리오에서 유용할 수 있습니다.
- 계산이 까다로울 수 있지만 여전히 다중 입력 제스처 인식과 같은 태블릿 펜의 데이터 스트림에 대한 실시간 액세스가 필요한 특정 작업을 보조 RealTimeStylus 개체의 동기 플러그 인 컬렉션에 추가할 수 있습니다.
- 동기 플러그 인의 계산 부하를 두 스레드에 분산하여 일부 태블릿 PC에서 잉크 수집 지연을 줄일 수 있습니다.
다음 다이어그램에서는 두 개의 연속 된 RealTimeStylus 개체와 해당 플러그 인 컬렉션을 통한 태블릿 펜 데이터의 흐름을 보여 줍니다.
이 다이어그램에서 원 문자 "A"는 기본 및 보조 RealTimeStylus 개체에서 이미 처리되었으며 보조 RealTimeStylus 개체의 출력 큐에 배치된 태블릿 펜 데이터를 나타냅니다. 원 문자 "B"는 기본 RealTimeStylus 개체에서 이미 처리되어 기본 RealTimeStylus 개체의 출력 큐에 추가되었으며 아직 보조 RealTimeStylus 개체로 전송되지 않은 태블릿 펜 데이터를 나타냅니다. 원 문자 "C"는 기본 RealTimeStylus 개체가 현재 처리 중인 태블릿 펜 데이터를 나타냅니다. 동기 플러그 인 컬렉션으로 전송되고 출력 큐에 배치됩니다. 빈 원은 이후 태블릿 펜 데이터가 추가되는 출력 큐의 위치를 나타냅니다.
제약 조건
기본 RealTimeStylus 생성자를 사용하는 경우 다른 RealTimeStylus 개체의 입력만 허용할 수 있는 RealTimeStylus 개체 를 만듭니다.
다음 목록에서는 연계 RealTimeStylus 모델을 사용하는 것과 관련된 제약 조건에 대해 설명합니다.
- 두 개의 RealTimeStylus 개체(기본 RealTimeStylus 개체 및 보조 RealTimeStylus 개체)만 사용할 수 있습니다.
- 기본 RealTimeStylus 개체는 attachedControl 또는 handle 매개 변수를 사용하는 생성자를 사용하여 만들어야 합니다. 인수 없는 생성자를 사용하여 보조 RealTimeStylus 개체를 만들어야 합니다.
- 보조 RealTimeStylus 개체는 기본 RealTimeStylus 개체의 비동기 플러그 인 컬렉션에서 유일한 비동기 플러그 인이어야 합니다.
- 보조 RealTimeStylus 개체는 한 번에 하나의 기본 RealTimeStylus 개체에만 연결할 수 있습니다. 두 번째 기본 RealTimeStylus 개체에 추가된 경우 Add 메서드는 예외를 throw하고 보조 RealTimeStylus 개체는 두 번째 주 RealTimeStylus 개체에 연결되지 않습니다.
- 보조 RealTimeStylus 개체의 멤버 중 일부의 동작이 수정됩니다. 다음 표에서는 이러한 멤버의 수정된 동작에 대해 설명합니다.
멤버 | 동작 |
---|---|
GetDesiredPacketDescription | 이 메서드는 기본 RealTimeStylus 개체의 정보를 반환합니다. 보조 RealTimeStylus 가 기본 RealTimeStylus 개체에 연결되지 않은 경우 이 메서드는 기본값을 반환합니다. |
SetDesiredPacketDescription | 이 메서드는 InvalidOperationException 예외를 발생합니다. |
GetStyluses | 이 메서드는 기본 RealTimeStylus 개체의 정보를 반환합니다. 보조 RealTimeStylus 가 기본 RealTimeStylus 개체에 연결되지 않은 경우 이 메서드는 빈 배열을 반환합니다. |
Enabled | 이 속성을 가져오면 기본 RealTimeStylus 개체의 정보가 반환됩니다. 보조 RealTimeStylus 가 기본 RealTimeStylus 개체에 연결되지 않은 경우 이 속성을 가져오면 기본값이 반환됩니다. 참고: 이 속성을 설정하면 InvalidOperationException 예외가 발생합니다. |
WindowInputRectangle | 이 속성을 가져오면 기본 RealTimeStylus 개체의 정보가 반환됩니다. 보조 RealTimeStylus 가 기본 RealTimeStylus 개체에 연결되지 않은 경우 이 속성을 가져오면 기본값이 반환됩니다. 참고: 이 속성을 설정하면 InvalidOperationException 예외가 발생합니다. |
- 부모 RealTimeStylus 개체는 자식 RealTimeStylus 가 Disposed일 때 작동을 중지해야 합니다.