Programando em NCL 3.0.pdf - Telemidia - PUC-Rio

Programando em NCL 3.0.pdf - Telemidia - PUC-Rio Programando em NCL 3.0.pdf - Telemidia - PUC-Rio

telemidia.puc.rio.br
from telemidia.puc.rio.br More from this publisher
11.07.2015 Views

No entanto, devemos ressaltar: Não existe zIndex para os mapas de memória/amostras de áudio. Todossão exibidos com zIndex=0 nos dispositivos filhos. Se vários mapas dememória/amostras de áudio forem recebidos, apenas o último recebidoserá exibido. Toda exibição de objetos recebidos em uma classe ativa sesuperpõe aos mapas de memória/amostras de áudio recebidos.15.5 Formatador DistribuídoUm formatador NCL pode, por meio da análise do seu grafo temporal(veja Apêndice G), descobrir que parte de uma cadeia temporal será exibidaem uma classe ativa de dispositivos de exibição e que os dispositivos dessaclasse são capazes de exibir documentos NCL. Nesse caso, em vez de oformatador instanciar a exibição de cada objeto de mídia no dispositivo dedestino, ele pode tirar proveito da situação e passar toda a cadeia para oformatador NCL desse dispositivo, que então se encarregará de instanciarcada exibidor de mídia da cadeia.Para o leitor interessado nessa opção recomendamos uma leitura atentado Apêndice G.15.6 Adaptando Múltiplos Dispositivos para umAmbiente com um Único DispositivoTrabalhar com classes de dispositivos libera o autor de uma aplicaçãoNCL da preocupação de quantos e quais dispositivos estão registrados nasclasses, número que pode variar com o tempo de exibição de uma aplicação.Entretanto, quando o número de dispositivos registrados em uma classe é“zero”, nenhum objeto de mídia endereçado a essa classe será apresentado.Nesse caso, seria bem conveniente permitir ao autor especificar umaapresentação alternativa, e isso é possível.Conforme vimos no Capítulo 7, o posicionamento inicial daapresentação de um objeto de mídia é determinado em NCL pelo elemento referido pelo objeto. Esse elemento associa o objeto de mídia auma região de apresentação que, por sua vez, está associada a uma classe dedispositivos. Uma variável global system.devNumber(i) do nó settings() mantém o número dedispositivos registrados em uma classe systemScreen(i). Assim, peloteste do valor dessa variável, um elemento é capaz deselecionar uma região dessa classe, caso haja algum dispositivo nelaregistrado ou uma apresentação alternativa.338

O exemplo da Listagem 15.7 ilustra a definição de uma regra que ésatisfeita quando o número de dispositivos registrados na classesystemScreen(2) é zero. Se substituirmos o elemento do exemplo daListagem 15.6 pelo elemento da Listagem 15.7 e, se não houver nenhumdispositivo registrado na classe ativa systemScreen(2), a propagandadefinida pelo elemento será exibida no aparelho de TV da classe-base, como ilustra a Figura 15.5..........Listagem 15.7 Apresentação alternativa à exibição em uma classe sem dispositivosregistrados.339

O ex<strong>em</strong>plo da Listag<strong>em</strong> 15.7 ilustra a definição de uma regra que ésatisfeita quando o número de dispositivos registrados na classesyst<strong>em</strong>Screen(2) é zero. Se substituirmos o el<strong>em</strong>ento do ex<strong>em</strong>plo daListag<strong>em</strong> 15.6 pelo el<strong>em</strong>ento da Listag<strong>em</strong> 15.7 e, se não houver nenhumdispositivo registrado na classe ativa syst<strong>em</strong>Screen(2), a propagandadefinida pelo el<strong>em</strong>ento será exibida no aparelho de TV da classe-base, como ilustra a Figura 15.5..........Listag<strong>em</strong> 15.7 Apresentação alternativa à exibição <strong>em</strong> uma classe s<strong>em</strong> dispositivosregistrados.339

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!