]> 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
 # 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`
 
 
 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.
        @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)
 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.
        $(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
 
     \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:
         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
         - \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
             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,
         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.
         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.
 
 */
 
 */