svgalib/es

From Free Pascal wiki

English (en) | | español (es) |

Descripción

   Bajo Linux/BSD, podemos utilizar libvga para acceder a la pantalla gráfica desde el modo consola. Free Pascal tiene una unidad que hace posible el enlazado de la librería libvga. Se puede encontrar la unidad, además del makefile y algunos programas de prueba dentro de la instalación de Free Pascal. Es necesario compilarlo, poner la referencia dentro del programa (o unidad) que estemos creando y listo. Hay dos unidades en este paquete:

   Ubicación de estos ficheros a modo orientativo con la versión de FreePascal 2.6.4 es:


./usr/share/fpcsrc/2.6.4/packages/svgalib

./usr/lib/fpc/2.6.4/units/x86_64-linux/svgalib

svgalib.o (svgalib.pp) vgamouse.o (vgamouse.pp)

   Esto es para 64 bits pero lo encontráis con la variante de 32 sin problema.

  • svgalib la interfaz actual libvha.
  • vgamouse extensiones del ratón para poder manejar el ratón bajo svgalib.

./usr/share/fpcsrc/2.6.4/packages/svgalib/examples/makefile.fpc

./usr/share/fpcsrc/2.6.4/packages/svgalib/examples/vgatest.pp

./usr/share/fpcsrc/2.6.4/packages/svgalib/examples/testvga.pp

   La información sobre la librería una vez esté instalada en el sistema se puede consultar con:

 man svgalib

Requisitos

   Para utilizar esta unidad se necesita al menos:

  • Free Pascal 0.99.5 o superior.
  • libsvga 1.2.10 o superior.

Instalación

   La unidad svga viene con los paquetes de Free Pascal. Contiene un subdirectorio svgalib al que una vez accedido podemos realizar lo siguiente:

  • Editar el fichero makefile para adaptarlo a nuestra configuración (compilador, opciones, donde queremos que se instale).
  • A continuación tecleamos:
 make

con lo cual todas las unidades necesarias se compilan. Finalmente tecleamos:

 make install
  • Con esto lo que hacemos es instalar las unidades citadas.

Probando

   Se incorporan dos pequeños programas también en la instalación de Free Pascal:


  • vgatest : Se trata del programa svgalib que es el equivalente portado de C a Free Pascal.
  • testvga : Un pequeño programa creado para demostrar como dibujar líneas en cualquiera de los modos gráficos soportados.

   Para compilarlos teclear lo siguiente:

 make test

   En mi caso al compilar me ha mostrado errores al enlazar:


/usr/bin/ld: warning: ./link.res contains output sections; did you forget -T? /usr/bin/ld: cannot find -lvga /usr/bin/ld: cannot find -lvgagl testvga.pp(24,1) Error while linking. testvga.pp(24,1) Fatal: There were 1 error compiling module, stopping

   Posiblemente en vuestro sistema no de este error, cuando encuentre donde están tanto lvga o lvgagl lo describiré aquí.

Advertencias

   Es posible que sea necesario el acceso como root para arrancar estos programas (para tener el máximo nivel de privilegio en el sistema), los documentos de SVGALib que he leido no lo dejan claro, es posible que arranquen también con otro usuario estableciendo privilegios de root. Los test se han realizado como root, y el funcionamiento ha sido fluido, pero claro el resultado de cada uno puede variar.

Planes futuros

   Sería estupendo tener una unidad del estilo de GRAPH de Borland que sirviera de envoltura de svglib; ideal para gente que comienza o gente que desea portar código DOS antiguo.

Enlaces adicionales

   Sitios con información sobre SVGALIB:

   Volver a Lista de Paquetes