Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Ao usar vários visores, de teste de acerto determina quais visores são afetados pela entrada do usuário, pegando o local da tela de um contato e determinando qual retângulo do visor o contato atinge.
Um cenário comum no Direct Manipulation é colocar uma janela de visualização dentro de outra, também conhecido como aninhamento de janelas de visualização. Se o contacto atingir mais de um viewport, a ordem das chamadas de SetContact pelo WndProc da janela determina a relação pai-filho dos viewports aninhados.
Regra: O elemento filho deve chamar SetContactantes de chamar o elemento pai.
de testes de acerto
Um contato desce em um visor. SetContact deve primeiro ser chamado no visor laranja (filho) e, em seguida, no visor verde (pai) para estabelecer a hierarquia correta.
Direcionando a janela de visualização correta
Um contato pode ser associado a qualquer número de viewports e cada contato pode ser atribuído a um conjunto diferente de viewports.
Cada viewport pode ser configurado para suportar interações específicas, conforme necessário.
Com base nessas definições, Manipulação Direta identifica qual janela de visualização processa a entrada. O visor mais filho na hierarquia de testes de acertos tem a primeira chance de lidar com a entrada. No entanto, tanto o encadeamento quanto a promoção pai podem alterar qual viewport manipula a entrada.
Encadeamento
Quando o fim do conteúdo é atingido durante uma manipulação, Manipulação Direta aplica um efeito de limite para indicar que o conteúdo não pode ir mais longe. No entanto, se um visor filho estiver encadeado a um visor pai, esse efeito será suprimido. Em vez disso, o elemento de visualização ancestral mais próximo na hierarquia de teste de colisão que suporta a manipulação lida com a entrada. Se a direção da manipulação for invertida de tal forma que o antecessor retorna ao ponto onde o encadeamento foi acionado, a manipulação desencadeia-se e o controle é transferido de volta para a área de visualização filha.
Quando o utilizador desloca a área de visualização secundária até à extremidade do conteúdo, a manipulação transfere-se para a área de visualização principal, e o utilizador começa a mover o conteúdo principal.
Observação
Os eixos X e Y encadeiam independentemente um do outro, portanto, se uma bandeja diagonal atingir o limite x antes do limite y, a manipulação move o pai na direção x enquanto continua a mover a criança na direção y. Para habilitar ou desabilitar o encadeamento, chame a API SetChaining no painel filho.
Trilhos
A especificação de rails na configuração de uma viewport afeta a forma como a entrada é encadeada a partir da viewport. Especificamente, a entrada não pode ser encadeada de um visor filho com trilhos para seu pai no modo de movimento panorâmico "não trilhado" dos trilhos. Para encadear a entrada quando os trilhos estão definidos, o utilizador deve ter deslizado verticalmente ou horizontalmente e estar bloqueado aos trilhos.
Zoom
Se uma janela de visualização filho estiver aninhada dentro de um pai, e ambos estiverem configurados para zoom, uma manipulação de zoom poderá ser encadeada de filho para pai. No entanto, se a manipulação continuar, ela funciona apenas no pai e não pode ser transmitida para a criança. Se o usuário encadear um zoom de filho para pai, de Manipulação Direta suspenderá a criança até que todos os contatos associados à manipulação sejam removidos da tela. Neste ponto, a criança é liberada da suspensão e o usuário pode mover o visor da criança.
Segmentação por gestos: promoção para pais
Segmentação por gestos é o processo pelo qual a Manipulação Direta agrupa contatos e determina qual viewport processa a entrada. Promoção dos pais refere-se aos casos em que a entrada é transferida da criança para o progenitor. Por exemplo, quando um usuário coloca dois contatos e pinça dentro de uma janela de visualização filho configurada apenas para rolagem, a entrada é promovida para o pai para que o zoom ocorra. A promoção pai ocorre independentemente de o encadeamento estar habilitado no visor filho.
Ao contrário do encadeamento, a promoção dos pais não é revertida. O viewport pai continua a processar a entrada de interação até que todos os contatos sejam retirados (viewports filhos param de processar a entrada).