quinta-feira, 31 de janeiro de 2013

MyPaint 1.1 devel e o cursor Crosshair

Há alguns meses atrás quando escrevi aquela matéria sobre a integração entre Gimp e Mypaint, já tinha falado sobre a questão dos atuais cursores redimensionáveis do MyPaint... eu e talvez muita gente também enfrentassem problemas para enxerga-lo durante sessões de pintura ou desenho em detalhes, com zooms e até em condições meio adversas, como aquelas de pintar em fundos chapados com linhas muito finas.
Desenhando com o atual cursor de mão-livre do MyPaint... e as dificuldades para enxerga-lo...
Desenhando com o atual cursor de mão-livre do MyPaint... e as dificuldades para enxerga-lo...
Neste mês pedi ao David Revoy se podia me ajudar na questão [http://forum.intilinux.com/mypaint-development-and-suggestions/new-cursor-from-git/15/] dos cursores e depois de mostrar a dificuldade através de algum material visivo e um vídeo o Andrew Chadwick, um dos principais desenvolvedores do programa, se propôs a resolver a questão. Agora ele inseriu três opções de escolha para o cursor de desenho a mão-livre, por enquanto está somente na versão de desenvolvimento do git... mas acredito que em breve estará também na versão via ppa.
Painel das Preferências do MyPaint com escolha do tipo de cursor para desenho a mão-livre.
Painel das Preferências do MyPaint com escolha do
tipo de cursor para desenho a mão-livre.
Freehand cursors: add presets, add crosshair style. Add prefs UI on the View tab for cursor presets, and set thin, medium, and thick styles of circle. For the circle styles, "light outline" is the default, a white circle inside a black one with some alpha. It suffers
from a hardware rendering bug on some systems, so add "medium" and "heavy" outline options with black borders to all sides at a couple of extra weights. Good compromises, hopefully.
Add a simple crosshair style for those who just want to know where the nib of their pen is. It uses icons to show the fancier brush blend modes. [Commit text from Mypaint Git - Andrew Chadwick]
Ficou ainda sem definição a questão dos canhotos, mas como escreve o Andrew a questão vai bem alem daquela de colocar a icon do tool à direita ou à esquerda do crosshair.
"MyPaint doesn't know whether the user is right or left handed. Does it matter for left handed users that the mode icon is to the bottom-right? (We could infer user handedness from pen angle, but that would impose some large programming challenges! Left handed users sometimes use right-handed mouse button arrangements, sometimes not. I know righties who use lefty button arrangements). I don't think this is worth chasing, if left-handed users of *all software ever* haven't demanded left-handed cursors elsewhere."

Instalando o Mypaint de desenvolvimento

Para quem tem pressa e usa Gnu-Linux o jeito vai ser clonar o MyPaint do repositório Git [https://gitorious.org/mypaint/] e compila-lo através do scons.
Para compilar o MyPaint a partir do Git você tem que seguir basicamente três passos:

Primeiro  (1:) precisa instalar ambiente de desenvolvimento do MyPaint e o pacote para clonar o Git, para isto serve este comando no terminal:
sudo apt-get build-dep mypaint

este comando instala todo o necessário para realizar a clonagem do repositório git do MyPaint e a sua compilação.

Depois (2) é necessário clonar o repositório master do MyPaint, é simples e sempre do terminal aberto você escreve o seguinte comando:
git clone git://gitorious.org/mypaint/mypaint.git 'nome-da-pasta-que-voce-prefere'

Importante: normalmente eu abro um terminal dentro de uma pasta que chamei 'installs', que está na minha home. Ao dar o comando vai ser criada uma pasta, com o nome que você deu, com todo o ambiente de desenvolvimento da master do MyPaint, eu uso chamar a pasta do comando como 'mypaint-git-master'. Ao terminar a clonagem dos arquivos você vai ter justamente uma pasta nova com todos os arquivos de desenvolvimento.

A seguir (3) você faz:
cd 'nome-da-pasta-que-voce-prefere'

isto leva o terminal para dentro da pasta de compilação e lá você escreve o comando:
scons

O comando 'scons' vai compilar o MyPaint e terminado você poderá até instalar o MyPaint com o uso do prefix no scons, mas como vire-e-mexe ele muda e justamente é assim para um pacote em desenvolvimento, não é prático instala-lo... a seguir descrevo a solução que adoto normalmente.

Errata et Corrige*
Criando um atalho do master do MyPaint no Main Menu

Antes de criar o atalho é necessário criar um script e torna-lo um executável nas propriedades do próprio. O script é bem simples:

#!/bin/sh
cd ~/installs/mypaint-master && ./mypaint

Abrir o gedit e escrever estas duas linhas... conforme a path que e os nomes que você criou para o ambiente do MyPaint Git (ver passos anteriores), e dê um nome, p.e., mypaint-git-master.sh. Depois não se esqueça de torna-lo um executável. Para isto é ir somente nas propriedades/permissões do arquivo e clicar na opção executável.

No meu caso 'installs' está na home e 'mypaint-master' é a pasta aonde irão estar todos os arquivos originais de desenvolvimento mais os de compilação  ('nome-da-pasta-que-voce-prefere'), anteriormente realizados com o 'scons'. No meu ambiente também coloco todos os scripts dentro de uma pasta de 'installs' pra ficar mais fácil a procura e a organização dos mesmos.

Abrindo o programa 'main menu' você escolhe uma categoria, p.e., Graphics e insere um novo item.
Main Menu para inserimento de novos itens nos menus de aplicações.
Main Menu para inserimento de novos itens nos menus de aplicações.
No novo item você pode dar o nome, o comando e o comentário. O comando é bem simples, e neste caso é só procurar o script que você criou para aviar o Mypaint Git Master.
Realizando o atalho no novo item da categoria Graphics.
Realizando o atalho no novo item da categoria Graphics.

Errata et corrige*

Eu tentei criar um método mais fácil mas no final ao testa-lo acabei me atrapalhando com vários clones do mypaint instalados no meu box... parecia que funcionasse o comando diretamente no atalho... mas não funciona! Desculpem-me... agora o jeito é usar mesmo um script, o bom é que o script fica sempre o mesmo, mesmo atualizando o clone... mas este vai ser assunto para um próximo post.
Related Posts Plugin for WordPress, Blogger...