codeDraw: Editor WYSIWYG vectorial basado en Flex

 

Hola comunidad de madeInFlex, este es mi primer post y lo hago para presentarles un pequeño proyecto OpenSource que comencé a inicios de este año. Su nombre es codeDraw y no es más que un editor visual para crear gráficos vectoriales para aplicaciones Flash, Flex, MTASC y haXe. Con él podemos “crear MovieClips” gráficamente y luego exportar su código a una clase AS2.0/3.0 y utilizarlo en nuestros proyectos, de ahí su nombre. Está desarrollado completamente sobre Flex y AIR, por lo que, en esencia, utiliza ActionScript para generar ActionScript.

Quisiera orientar este post a exponer, de manera resumida, aspectos técnicos del mismo y así compartir algunas ideas:
codeDraw no fue desarrollado sobre ninguno de los frameworks populares de MVC para Flex (Cairngorm, Swiz, PureMVC, etc.). Puede parecer algo alocado, pero se le desarrolló uno propio bastante sencillo. De igual forma, los tradicionales son mucho más robustos y el objetivo no es recomendar hacer uno, pero si aclarar el detalle para mejor entendimiento del código de la solución.

codeDraw incorpora un pequeño núcleo para la gestión de los objetos gráficos en tiempo de ejecución. Sucede que, históricamente, los desarrolladores de ActionScript que necesitan construir gráficos utilizando los clásicos métodos “lineTo” y “curveTo”, deben crear sus propios métodos de control de la información de los trazos. De esta forma, crearlos nuevamente, con las características o posiciones actualizadas, resulta mucho más factible.

codeDraw core packagge

Los paneles fueron desarrollados en módulos Flex e incorporados al principal utilizando el MVC. Actualmente codeDraw cuenta con 4: herramientas de dibujo y selección, panel de propiedades, capas y filtros.

Los documentos se almacenan en unos ficheros XML de extensión (codeDraw XML).

A continuación les dejo algunos screenshots, generalmente ilustran más que muchos parrafos …  :smile:

 

 

 

 

codeDraw aún se encuentra en un estado de desarrollo bastante joven. Faltan muchos bugs por revisar, balance y énfasis en la usabilidad del mismo, pero otras prioridades me han obligado a posponer su desarrollo por un tiempo. Por lo pronto, tengo pensado concluir la documentación del código y finalmente publicarlo a todos aquellos que lo puedan necesitar o estén interesados en contribuir.

Comparte:



2votos  Vota!!

Acerca de esta entrada