]> git.llucax.com Git - z.facultad/75.42/figuras.git/commitdiff
Se termina la parte mía del informe. Falta la parte común sobre GTK.
authorLeandro Lucarella <llucax@gmail.com>
Tue, 7 Oct 2003 05:23:10 +0000 (05:23 +0000)
committerLeandro Lucarella <llucax@gmail.com>
Tue, 7 Oct 2003 05:23:10 +0000 (05:23 +0000)
Makefile
caratula.rtf [new file with mode: 0644]
documentacion.h

index 63dd15b32fbfbbaff12415a12ab38f618c1b2719..a7360d695df14017afbaddab277ab17c922b9bdd 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -16,8 +16,8 @@
 # Opciones para el compilador.
 CXXFLAGS=`pkg-config --cflags gtk+-2.0`
 #CXXFLAGS+=-ansi -pedantic -Wall -O3
-#CXXFLAGS+=-ansi -pedantic -Wall -g3
-CXXFLAGS+=-ansi -pedantic -Wall -g3 -DDEBUG
+CXXFLAGS+=-ansi -pedantic -Wall -g3
+#CXXFLAGS+=-ansi -pedantic -Wall -g3 -DDEBUG
 
 LDFLAGS=`pkg-config --libs gtk+-2.0`
 
@@ -62,12 +62,12 @@ clean:
        @rm -fR $(TARGETS) *.o core corrida.txt html latex* *.ps
 
 # Preety-printing del código fuente.
-FUENTES=dllist.h dllist.cpp punto.h figura.h figura.cpp rectangulo.h \
-       rectangulo.cpp cuadrado.h cuadrado.cpp linea.h linea.cpp circulo.h \
-       circulo.cpp dibujo.h dibujo.cpp callbacks.h callbacks.cpp \
-       tp5window.h tp5window.cpp tp5.cpp
+FUENTES=figura.h figura.cpp rectangulo.h rectangulo.cpp cuadrado.h \
+       cuadrado.cpp linea.h linea.cpp circulo.h circulo.cpp dibujo.h \
+       dibujo.cpp callbacks.h callbacks.cpp tp5window.h tp5window.cpp \
+       tp5.cpp
 code.ps: $(FUENTES)
-       @enscript -j -Ecpp -U2 -C --fancy-header=squeeze --color -pcode.ps \
+       @enscript -H0 -j -Ecpp -U2 -C --fancy-header=squeeze --color -pcode.ps \
        $(FUENTES)
 
 # Informe.
diff --git a/caratula.rtf b/caratula.rtf
new file mode 100644 (file)
index 0000000..eaa0df6
--- /dev/null
@@ -0,0 +1,76 @@
+{\rtf0\ansi\r
+\ansicpg1252\r
+{\fonttbl\r
+{\f0\froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}\r
+{\f142\froman\fcharset238\fprq2 Times New Roman CE;}\r
+{\f143\froman\fcharset204\fprq2 Times New Roman Cyr;}\r
+{\f145\froman\fcharset161\fprq2 Times New Roman Greek;}\r
+{\f146\froman\fcharset162\fprq2 Times New Roman Tur;}\r
+{\f147\froman\fcharset177\fprq2 Times New Roman (Hebrew);}\r
+{\f148\froman\fcharset178\fprq2 Times New Roman (Arabic);}\r
+{\f149\froman\fcharset186\fprq2 Times New Roman Baltic;}\r
+{\f150\froman\fcharset163\fprq2 Times New Roman (Vietnamese);}}\r
+{\colortbl\r
+;\r
+\red0\green0\blue0;\r
+\red0\green0\blue255;\r
+\red0\green255\blue255;\r
+\red0\green255\blue0;\r
+\red255\green0\blue255;\r
+\red255\green0\blue0;\r
+\red255\green255\blue0;\r
+\red255\green255\blue255;\r
+\red0\green0\blue128;\r
+\red0\green128\blue128;\r
+\red0\green128\blue0;\r
+\red128\green0\blue128;\r
+\red128\green0\blue0;\r
+\red128\green128\blue0;\r
+\red128\green128\blue128;\r
+\red192\green192\blue192;\r
+}\r
+{\stylesheet\r
+{\widctlpar\li0\ri0\ql\fs24\snext0 Normal;}\r
+{\*\cs10\additive Default Paragraph Font;}\r
+}\r
+{\info\r
+{\title (75}\r
+{\author Ga}\r
+{\creatim \yr2003\mo8\dy22\hr1\min35\sec0}\r
+{\revtim \yr2003\mo10\dy7\hr2\min17\sec28}\r
+{\printim \yr2003\mo8\dy22\hr1\min43\sec0}\r
+}\r
+\paperw11908\paperh16847\margl1701\margr1701\margt1417\margb1417\r
+\widowctrl\deftab708\r
+\ftnbj\aenddoc\ftnrstcont\aftnrstcont\ftnnar\aftnnrlc\r
+\sectd\headery708\footery708\colsx708\r
+{\*\pnseclvl1\pnucrm\pnstart1\pnhang\pnindent720{\pntxta .}}\r
+{\*\pnseclvl2\pnucltr\pnstart1\pnhang\pnindent720{\pntxta .}}\r
+{\*\pnseclvl3\pndec\pnstart1\pnhang\pnindent720{\pntxta .}}\r
+{\*\pnseclvl4\pnlcltr\pnstart1\pnhang\pnindent720{\pntxta )}}\r
+{\*\pnseclvl5\pndec\pnstart1\pnhang\pnindent720{\pntxtb (}{\pntxta )}}\r
+{\*\pnseclvl6\pnlcltr\pnstart1\pnhang\pnindent720{\pntxtb (}{\pntxta )}}\r
+{\*\pnseclvl7\pnlcrm\pnstart1\pnhang\pnindent720{\pntxtb (}{\pntxta )}}\r
+{\*\pnseclvl8\pnlcltr\pnstart1\pnhang\pnindent720{\pntxtb (}{\pntxta )}}\r
+{\*\pnseclvl9\pnlcrm\pnstart1\pnhang\pnindent720{\pntxtb (}{\pntxta )}}\r
+\pard\widctlpar\qc\plain\f0\fs36\b (75.42) - Taller de Programaci\'f3n I\r
+\par\r
+\par\r
+\pard\widctlpar\plain\f0 \par\r
+\pard\widctlpar\sl360\slmult1\tx2880\plain\f0\fs28\b Cuatrimestre\tab\b0\r
+2\super do\nosupersub  - 2003\par\r
+\b Trabajo pr\'e1ctico Nro\tab\b0 5\par\r
+\b Entrega n\'famero\tab\b0 1\par\r
+\b Fecha de entrega\tab 07/10/2003\par\r
+\par\r
+Padr\'f3n\tab\b0 77.891\par\r
+\b Apellidos\tab\b0 Lucarella\par\r
+\b Nombres\tab\b0 Leandro M.\par\r
+\par\r
+\b Fecha de devoluci\'f3n\tab\par\r
+Corrector\tab\par\r
+Calificaci\'f3n\tab\par\r
+\b0 \par\r
+\b Notas\tab\par\r
+\pard\widctlpar\plain\f0 \par\r
+}\r
index effcacd7677ba8e93fb09f509cda84656cdb51ec..213b8e3c5ba6ee74a288f7c7f0355b37e7bdef7a 100644 (file)
@@ -130,7 +130,7 @@ Tambi
 
     \subsection callbacks Funciones callbacks.
         Cada evento recibido por un widget GTK (y en general cualquier señal que
-        pueda manejar la GLib) de ser \conectado a una función callback que se
+        pueda manejar la GLib) de ser \conectado a una función callback que se
         encargue de menejarlo. Todas las funciones callback se agruparon en el
         archivo callbacks.h y callbacks.cpp. Se implementaron callbacks para los
         siguientes eventos:
@@ -156,7 +156,7 @@ Tambi
         - \c delete_event:
             Este evento se \e dispara cuando se solicita \e borrar una ventana.
             Esto pasa cuando se le pide a un manejador de ventanas que \e borre
-            o \cierre esa ventana (ya sea por la típica X en la decoración de la
+            o \cierre esa ventana (ya sea por la típica X en la decoración de la
             ventana o un menú contextual, por ejemplo).
 
         Una clara diferencia entre estos es que los dos primeros son \e internos
@@ -191,12 +191,30 @@ Tambi
         librerías para desarrollo de GTK instalados (esto incluye también
         librerías de desarrollo de Xlib, Glib y GDK). En el caso de Debian
         GNU/Linux sid basta con instalar los paquetes: \c make, \c xlibs-dev,
-        \c libglib2.0-dev, \c libgtk2.0-dev.
+        \c libglib2\c .0-dev, \c libgtk2\c .0-dev.
         Teniendo estos paquetes, basta ejecutar \c make para compilar el
         programa.
 
 
 \section conclusiones Conclusiones.
-    TODO
+    Este trabajo me sirvió para profundizar sobre algunos aspectos de
+    programación de aplicaciones gráficas que no manejaba. También me sirvió
+    para saldar una cuenta que tenía hace tiempo, que era aprender sobre GTK y
+    en general Xlib (para conocer el sistema X Window a más bajo nivel) ya que
+    hasta ahora, en cuanto a aplicaciones gráficas, sólo había programado en
+    Delphi y Java, dos lenguajes (y/o API) de mucho más alto nivel.
+    Un problema con el que me encontré, a modo de anécdota, fue el manejo de
+    colores. En un principio había programado el método
+    Figura::traducir_color() pensando en mi configuración de 24 bits. Todas las
+    operaciones las realizaba operando con máscaras de bits presuponiendo 8 bits
+    por color RGB, escribiendo en pantalla \e directamente el píxel resultante.
+    Al querer probar el programa en mi trabajo, con una configuración de 16 bits
+    por píxel, por supuesto que sucedieron cosas extrañas. Fue en ese momento
+    que tuve que reescribir dicho método, utilizando las propiedades \c red,
+    \c green y \c blue de la estructura GdkColor y las funciones de la API para
+    \e preguntarle al X si el color estaba disponible y buscar un color similar
+    de no estarlo, en vez de poner directamente el color en la propiedad \c
+    pixel que almacena el valor real del píxel que se usara para poner en la
+    memoria de video.
 
 */