Olá a todos.
Eu queria redimensionar uma região Lua através do formatador NCL, para que o canvas do Lua fosse redimensionado "on the fly".
Tentei explicitar uma property "bounds" na mídia Lua e atualizá-la através de links no documento NCL, mas nada aconteceu.
Também tentei setar esta property através de eventos disparados da mídia Lua, mas também nada acontece.
Alguém pode me dizer como fazer isso, se é que é possível?
Todas as property criadas em uma mídia imperativa são interpretadas como sendo uma variável da mesma?
Obrigado,
Alexandre Lemos
Autor: Alexandre Faria Lemos
66 comentários
evt = {
class="ncl",
type="attribution",
name="flagToRedimImg",
value="1" --valor arbitrário
} --A atribuição deve ser iniciada e parada
evt.action = "start"
event.post(evt)
evt.action = "stop"
event.post(evt)
end function handler(evt)
print(evt.class, evt.type, evt.action)
--Ao iniciar o NCl, registra um timer q após 5s
--chama a função flagToRedimImg que seta um valor arbitrário
--na propriedade de mesmo no nó de mídia lua no doc NCL
if evt.class=="ncl" and evt.type=="presentation" and evt.action=="start" then
event.timer(5000, flagToRedimImg)
end
end event.register(handler) --código do <body> do main.ncl
--considera-se que você possui os conectores definidos <port id="pImg" component="img"/>
<media id="img" src="image.jpg" descriptor="dsImg">
<!-- define a propriedade bounds para permitir
que a imagem seja redimensionada e reposicionada
a partir de um elo ncl-->
<property name="bounds" />
</media>
<media id="lua" src="main.lua" descriptor="dsLua">
<!--define uma propriedade que será setada
a partir de uma função de mesmo nome no
código lua.-->
<property name="flagToRedimImg"/>
</media>
<link xconnector="onBeginStart">
<bind component="img" role="onBegin" />
<bind component="lua" role="start" />
</link>
<link xconnector="onEndAttributionSet">
<!--quando for finalizada a atribuição da propriedade
flagToRedimImg no nó lua a partir do script lua,
altera a propriedade bounds da imagem-->
<bind component="lua" role="onEndAttribution" interface="flagToRedimImg" />
<bind component="img" role="set" interface="bounds">
<bindParam name="var" value="0,0,100%,100%" />
</bind>
</link>