PointerPointProperties Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Fornece propriedades estendidas para um objeto PointerPoint .
Na maioria dos casos, recomendamos que você obtenha informações de ponteiro por meio dos manipuladores de eventos de ponteiro da estrutura de linguagem Windows 8 escolhida (aplicativo do Windows usando JavaScript, aplicativo UWP usando C++, C#ou Visual Basic ou aplicativo UWP usando DirectX com C++).
Se o argumento event não expor os detalhes do ponteiro exigidos pelo seu aplicativo, você poderá obter acesso a dados de ponteiro estendidos do argumento event por meio dos métodos getCurrentPoint e getIntermediatePoints ou propriedades currentPoint e intermediatePoints . É recomendável usar os métodos getCurrentPoint e getIntermediatePoints , pois você pode especificar o contexto dos dados do ponteiro.
Os métodos estáticos PointerPoint , GetCurrentPoint e GetIntermediatePoints, sempre usam o contexto do aplicativo.
public ref class PointerPointProperties sealed
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.None)]
class PointerPointProperties final
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.None)]
public sealed class PointerPointProperties
Public NotInheritable Class PointerPointProperties
- Herança
- Atributos
Requisitos do Windows
Família de dispositivos |
Windows 10 (introduzida na 10.0.10240.0)
|
API contract |
Windows.Foundation.UniversalApiContract (introduzida na v1.0)
|
Exemplos
No exemplo a seguir, consultamos várias propriedades de ponteiro estendido usando um objeto PointerPoint .
String queryPointer(PointerPoint ptrPt)
{
String details = "";
switch (ptrPt.PointerDevice.PointerDeviceType)
{
case Windows.Devices.Input.PointerDeviceType.Mouse:
details += "\nPointer type: mouse";
break;
case Windows.Devices.Input.PointerDeviceType.Pen:
details += "\nPointer type: pen";
if (ptrPt.IsInContact)
{
details += "\nPressure: " + ptrPt.Properties.Pressure;
details += "\nrotation: " + ptrPt.Properties.Orientation;
details += "\nTilt X: " + ptrPt.Properties.XTilt;
details += "\nTilt Y: " + ptrPt.Properties.YTilt;
details += "\nBarrel button pressed: " + ptrPt.Properties.IsBarrelButtonPressed;
}
break;
case Windows.Devices.Input.PointerDeviceType.Touch:
details += "\nPointer type: touch";
details += "\nrotation: " + ptrPt.Properties.Orientation;
details += "\nTilt X: " + ptrPt.Properties.XTilt;
details += "\nTilt Y: " + ptrPt.Properties.YTilt;
break;
default:
details += "\nPointer type: n/a";
break;
}
GeneralTransform gt = Target.TransformToVisual(page);
Point screenPoint;
screenPoint = gt.TransformPoint(new Point(ptrPt.Position.X, ptrPt.Position.Y));
details += "\nPointer Id: " + ptrPt.PointerId.ToString() +
"\nPointer location (parent): " + ptrPt.Position.X + ", " + ptrPt.Position.Y +
"\nPointer location (screen): " + screenPoint.X + ", " + screenPoint.Y;
return details;
}
String queryPointer(PointerPoint ptrPt)
{
String details = "";
switch (ptrPt.PointerDevice.PointerDeviceType)
{
case Windows.Devices.Input.PointerDeviceType.Mouse:
details += "\nPointer type: mouse";
break;
case Windows.Devices.Input.PointerDeviceType.Pen:
details += "\nPointer type: pen";
if (ptrPt.IsInContact)
{
details += "\nPressure: " + ptrPt.Properties.Pressure;
details += "\nrotation: " + ptrPt.Properties.Orientation;
details += "\nTilt X: " + ptrPt.Properties.XTilt;
details += "\nTilt Y: " + ptrPt.Properties.YTilt;
details += "\nBarrel button pressed: " + ptrPt.Properties.IsBarrelButtonPressed;
}
break;
case Windows.Devices.Input.PointerDeviceType.Touch:
details += "\nPointer type: touch";
details += "\nrotation: " + ptrPt.Properties.Orientation;
details += "\nTilt X: " + ptrPt.Properties.XTilt;
details += "\nTilt Y: " + ptrPt.Properties.YTilt;
break;
default:
details += "\nPointer type: n/a";
break;
}
GeneralTransform gt = Target.TransformToVisual(page);
Point screenPoint;
screenPoint = gt.TransformPoint(new Point(ptrPt.Position.X, ptrPt.Position.Y));
details += "\nPointer Id: " + ptrPt.PointerId.ToString() +
"\nPointer location (parent): " + ptrPt.Position.X + ", " + ptrPt.Position.Y +
"\nPointer location (screen): " + screenPoint.X + ", " + screenPoint.Y;
return details;
}
Comentários
A classe PointerPointProperties implementa IPointerPointProperties.
Observação
Essa classe não é ágil, o que significa que você precisa considerar seu modelo de threading e o comportamento de marshaling. Para obter mais informações, consulte Threading and Marshaling (C++/CX) e Using Windows Runtime objects in a multithreaded environment (.NET).
O núcleo da arquitetura de dispositivo de entrada interativa da Microsoft baseia-se na definição de classe de dispositivo padrão USB (Barramento Serial Universal) para DISPOSITIVO de Interface Humana (HID), que é definida pelo Fórum de Implementadores, Inc.
O padrão HID (Dispositivo de Interface Humana) do Barramento Serial Universal (USB) define os protocolos de configuração e comunicação para DISPOSITIVO de Interface Humana (HID), como teclados, dispositivos de mouse, joysticks e dispositivos de realidade virtual, que os humanos usam para inserir dados diretamente em um computador. (Para obter informações detalhadas sobre o padrão HID USB, consulte o site do Fórum de Implementadores USB .)
Embora o núcleo da arquitetura de entrada do Windows seja baseado no padrão HID (Dispositivo de Interface Humana) do Barramento Serial Universal (USB), a arquitetura não se limita a dispositivos USB (Barramento Serial Universal). A arquitetura de entrada também dá suporte a dispositivos de porta serial, dispositivos de porta i8042 e dispositivos de entrada proprietários.
Propriedades
ContactRect |
Obtém o retângulo delimitador da área de contato (normalmente da entrada por toque). |
ContactRectRaw |
Obtém o retângulo delimitador da entrada bruta (normalmente da entrada por toque). |
IsBarrelButtonPressed |
Obtém um valor que indica se o botão de barril do dispositivo de caneta/caneta é pressionado. |
IsCanceled |
Obtém um valor que indica se a entrada foi cancelada pelo dispositivo de ponteiro. |
IsEraser |
Obtém um valor que indica se a entrada é de uma borracha de caneta. |
IsHorizontalMouseWheel |
Obtém um valor que indica se a entrada é de uma roda de inclinação do mouse. |
IsInRange |
Obtém um valor que indica se o dispositivo ponteiro está dentro do intervalo de detecção de um sensor ou digitalizador (o ponteiro continua a existir). |
IsInverted |
Obtém um valor que indica se a caneta digitalizador está invertida. |
IsLeftButtonPressed |
Obtém um valor que indica se a entrada do ponteiro foi disparada pelo modo de ação primário de um dispositivo de entrada. |
IsMiddleButtonPressed |
Obtém um valor que indica se a entrada do ponteiro foi disparada pelo modo de ação terciária de um dispositivo de entrada. |
IsPrimary |
Obtém um valor que indica se a entrada é do ponteiro primário quando vários ponteiros são registrados. |
IsRightButtonPressed |
Obtém um valor que indica se a entrada do ponteiro foi disparada pelo modo de ação secundário (se houver suporte) de um dispositivo de entrada. |
IsXButton1Pressed |
Obtém um valor que indica se a entrada do ponteiro foi disparada pelo primeiro botão estendido do mouse (XButton1). |
IsXButton2Pressed |
Obtém um valor que indica se a entrada do ponteiro foi disparada pelo segundo botão estendido do mouse (XButton2). |
MouseWheelDelta |
Obtém um valor (o valor bruto relatado pelo dispositivo) que indica a alteração na entrada do botão de roda do último evento de ponteiro. |
Orientation |
Obtém o ângulo de rotação no sentido anti-horário ao redor do eixo principal do dispositivo ponteiro (o eixo z, perpendicular à superfície do digitalizador). Um valor de 0,0 graus indica que o dispositivo é orientado para a parte superior do digitalizador. |
PointerUpdateKind |
Obtém o tipo de alteração de estado do ponteiro. |
Pressure |
Obtém um valor que indica a força que o dispositivo de ponteiro (normalmente uma caneta/caneta) exerce na superfície do digitalizador. |
TouchConfidence |
Obtém um valor que indica se o dispositivo ponteiro rejeitou o contato de toque. |
Twist |
Obtém a rotação no sentido horário em graus de um dispositivo de caneta em torno de seu próprio eixo principal (como quando o usuário gira a caneta em seus dedos). |
XTilt |
Obtém o ângulo do plano entre o plano Y-Z e o plano que contém o eixo Y e o eixo do dispositivo de entrada (normalmente uma caneta/caneta). |
YTilt |
Obtém o ângulo do plano entre o plano X-Z e o plano que contém o eixo X e o eixo do dispositivo de entrada (normalmente uma caneta/caneta). |
ZDistance |
Obtém a coordenada z (ou distância) do ponteiro da superfície da tela, em pixels independentes do dispositivo. |
Métodos
GetUsageValue(UInt32, UInt32) |
Obtém o valor de uso do HID (Dispositivo de Interface Humana) da entrada bruta. |
HasUsage(UInt32, UInt32) |
Obtém um valor que indica se os dados de entrada do dispositivo ponteiro contêm as informações de uso do HID (Dispositivo de Interface Humana) especificadas. |
Aplica-se a
Confira também
- Windows.UI.Input
- Properties
- Windows.Devices.Input
- Windows.UI.Core
- Windows.UI.Input.Inking
- Windows.UI.Xaml.Input
- TypedEventHandler<TSender,TResult>
- Interações personalizadas do usuário
- Diretrizes de experiência do usuário para interações personalizadas do usuário
- Diretrizes de design de toque
- Amostra do modo de interação do usuário
- Amostra de visuais de foco
- Entrada: amostra de funcionalidades do dispositivo
- Entrada: amostra de tinta simplificada
- Entrada: amostra de gestos no Windows 8
- Entrada: amostra de eventos de entrada do usuário XAML
- Exemplo de rolagem, movimento panorâmico e zoom de XAML
- Amostra de entrada por toque do DirectX
- Entrada: amostra de manipulações e gestos (C++)
- Entrada: amostra de teste de hit de toque
- Exemplo de identificação de origem de entrada
- Exemplo de injeção de toque
- Exemplo de teste de clique por toque do Win32