Qual problema esse recurso resolve?
Descreva a solução que você gostaria
A capacidade de definir um limite de panorâmica para objetos sendo movidos
ie:
limiteRatioVertical = {0,8}
limiteRatioHorizontal = {0,8}
Descreva as alternativas que você considerou
O contain: 'inside'
tem um estilo semelhante, mas preciso ser capaz de alternar entre os níveis de zoom enquanto mantenho o limite da proporção de preenchimento
Obrigado por abrir um problema. Perdoe-me se entendi mal o recurso, mas isso não poderia ser feito adicionando um elemento de invólucro e usando contain: 'inside'
?
Obrigado por voltar para mim tão rapidamente.
Talvez eu não esteja entendendo contain: inside
completamente. Tanto quanto eu entendo sua implementação: o nó panzoom não será mais capaz de fazer zoom além da caixa de retângulo de seu pai, mas eu quero que o usuário seja capaz de aumentar o zoom, contain: inside
não está permitindo que meu objeto zoom além da janela de visualização.
Meu caso de uso: eu tenho um mapa histórico de grande resolução - que eu quero que o usuário seja capaz de se movimentar, é muito grande para ver todo o objeto, mas não quero que o usuário "perca o mapa" empurrando-o muito longe para um lado, que soa como contain: outside
mas eu gostaria que eles tivessem controle total do zoom, para diminuir o zoom totalmente, mas para explorar mais aumentando o zoom.
Acho que o problema são as limitações que estou encontrando entre inside
e outside
inside
assume que a imagem é pequena o suficiente para caber na janela de visualização e tem alguns efeitos estranhos, caso contráriooutside
assume que a imagem deve PELO MENOS ocupar toda a janela de visualizaçãoonde eu poderia imaginar um contain: 'bounds'
que permitiria o zoom e a panorâmica da imagem, e quando a imagem for maior que a janela de visualização e você chegar à borda ou canto, ela voltaria à respectiva borda
Isso soa como um comportamento único e não tenho certeza de como incluí-lo na biblioteca. Acho que você poderia vincular ao evento panzoomzoom
e alterar a opção de contenção para 'fora' quando um limite for atingido. Eu costumava ter uma opção 'auto' para contain
que alternava entre inside
e outside
dependendo do tamanho do elemento em relação ao contêiner. Quando menor do que o contêiner, seria definido como 'inside'
, quando maior, 'outside'
. Isso garantiria que a imagem pudesse ser ampliada, mas sempre visível. De qualquer forma, vou deixar isso na etiqueta de votos por enquanto.
@timmywil nos últimos dois dias, eu automaticamente tive essa ideia, alternar entre inside
e outside
, mas isso parece não funcionar como esperado, passando de {contain: outside}
para {contain: inside}
parece bloquear a imagem em uma posição e parece que zoomIn()
e zoomOut
estão vinculados à configuração de conteúdo, então eu não posso nem mesmo acionar um zoomOut
a menos que eu mesmo o desencadeie. Avise-me se houver configurações que estou esquecendo.
Acho que são muitas palavras para dizer que contain: auto
parece exatamente o que estou procurando hah
se houver uma votação para o recurso automático, ficarei feliz em apoiar isso :)
Comentários muito úteis
Obrigado por voltar para mim tão rapidamente.
Talvez eu não esteja entendendo
contain: inside
completamente. Tanto quanto eu entendo sua implementação: o nó panzoom não será mais capaz de fazer zoom além da caixa de retângulo de seu pai, mas eu quero que o usuário seja capaz de aumentar o zoom,contain: inside
não está permitindo que meu objeto zoom além da janela de visualização.Meu caso de uso: eu tenho um mapa histórico de grande resolução - que eu quero que o usuário seja capaz de se movimentar, é muito grande para ver todo o objeto, mas não quero que o usuário "perca o mapa" empurrando-o muito longe para um lado, que soa como
contain: outside
mas eu gostaria que eles tivessem controle total do zoom, para diminuir o zoom totalmente, mas para explorar mais aumentando o zoom.Acho que o problema são as limitações que estou encontrando entre
inside
eoutside
inside
assume que a imagem é pequena o suficiente para caber na janela de visualização e tem alguns efeitos estranhos, caso contráriooutside
assume que a imagem deve PELO MENOS ocupar toda a janela de visualizaçãoonde eu poderia imaginar um
contain: 'bounds'
que permitiria o zoom e a panorâmica da imagem, e quando a imagem for maior que a janela de visualização e você chegar à borda ou canto, ela voltaria à respectiva borda