Compartilhar via


PointerPointProperties Classe

Definição

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
Object Platform::Object IInspectable PointerPointProperties
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