Inkscape Brasil

Versão Estável 0.46 Baixe Agora!
Tópicos Pais: Extensões

Como Fazer Extensões

wip em construção

Existem basicamente 3 tipos de extensões para o Inkscape:

Criando Efeitos

Os efeitos são automatizações de processos para transformar ou criar elementos SVG e como qualquer extenção depende de pelo menos 2 arquivos: {efeito}.inx e {efeito}.{ext}

O arquivo {efeito}.inx é o que define a extensão para o Inkscape e deve seguir essa estrutura: Saiba mais sobre arquivos INX

 <inkscape-extension>
   <_name>{Nome Amigável da Extensão}</_name>
   <id>{org.domain.sub-domain.extension-name}</id>
     <dependency type="executable"
                 location="[extensions|{outro local}]">{arqivo dependencia}</dependency>
     <param name="{nome-do-argumeto}" type="[int|string|boolean|...]"
            min="{number}" max="{number}"
            _gui-text="{Nome Amigável do Argumento}">{valor padrão}</param>
   <effect>
     <object-type>[all|{tipo do elemento}]</object-type>
     <effects-menu>
       <submenu _name="{Nome do Grupo da Extensão}"/>
     </effects-menu>
   </effect>
   <script>
     <command reldir="extensions"
              interpreter="[python|perl|bash|{outro}]">{program}.{ext}</command>
   </script>
 </inkscape-extension>

Saiba mais sobre arquivos INX

O arquivo {efeito}.{ext} é um executável escrito em qualquer linguagem e deve implementar as seguintes funcionalides:

Vamos entender isso melhor...

Executando Extencoes do Inkscape Ao iniciar o Inkscape busca por arquivos INX no diretório compartilhado de extensões e no diretórios de extensões do usuário. Cada efeito tem suas dependencias analisadas e se não houver falta, são adicionados na lista de efeitos. (Saiba qual é o diretório compartilhado com o comando inkscape -x e o diretório do usuário fica em {seu home}/.inkscape/extensions/.)

Quando o usuário clica em um efeito o Inkscape cria uma janela de dialogo (seguindo as definições do INX) permitindo que o usuário adicione valores personalizados aos argumentos. Ao clicar em Ok o Inkscape salva o estado atual do SVG em um arquivo temporário para que o executável do efeito possa lê-lo e chama este enviando-lhe os seguintes argumento:

Com essas informações o executavel poderá fazer o seu trabalho independente do inkscape, ou seja, também pode ser usado via linha de comando quando for interessante, ou por outra aplicação qualquer.

Quando completa seu trabalho o executável escreve o SVG modificado na saida padrão, que é lida pelo Inkscape. Se o SVG não contiver erros, ele sobrepõe o estado atual para o usuário continuar seu trabalho.

O que mais eu devo saber?

Além de uma boa noção de programação (não precisa se um expert), é preciso conhecer o padrão SVG na unha, ou seja, mexer no XML mesmo. Você vai se sentir um pouco como o pessoal de Matrix, vendo códigos na tela, mas percebendo círculos, degradês, curvas beizier, ... wink

Onde saber sobre SVG? Vá na fonte. A origem de tudo: http://www.w3.org/TR/SVG/
Não há lugar melhor para conhecer formatos que nas especificações da W3C? , infelizmente nem tudo está no escopo deles nem segue o exemplo deles. Ah! E está em inglês.

Mais sobre extensões:

Codificando em algumas linguagens


create new tag
rev 5 em 30 Mar 2007 por AurelioAHeckert
Editar Anexar Versões Mais...
Todo material do sítio Inkscape Brasil é propriedade do grupo Inkscape Brasil e pode ser reproduzido livremente, desde que permaneça livre e a fonte seja citada, seguindo os termos da licença Creative Commons (by-sa).

Inkscape é um Software Livre, distribuido sobre Termos GNU-GPL.

eXTReMe Tracker
Inkscape - Open Source vector graphics editor SVG - Scalable Vector Graphics TableLess - Coerência, Simplicidade e Acessibilidade no código HTML Esse documento é XHTML 1.0 Valido! Esse documento contém CSS-2 Valido! Debian - GNU/Linux TWiki - Ambiente Web Colaborativo Colivre - Cooperativa de Tecnologias Livres