<< home >>
Nesúvislé fragmenty z objavovania OS Linux
<<- ->>


  • OpenGUI

OpenGUI

Po grafickej knižnici SVGAlib, nie veľmi vhodnej pre prácu žiakov (bezpečnosť - SUID root atribút a stabilita  - priamy prístup k HW) je možno stiahnuť OpenGUI, ktorá o i. vyžaduje i SVGAlib, napríklad z http://www.tutok.sk/fastgl/download/. V marci 2003 to bola verzia 3.6.0. Ku knižnici je pekný manuál aj v slovenskom jazyku s referenčnou príručkou funkcií knižnice. Keďže som však už onehdá stiahol verziu 3.5.2, bude tu reč práve o verzii 3.5.2.

Downloadnuté súbory

  • OpenGUI-3.5.2-core.tgz     (asi 391 kB)
  • OpenGUI-libs.tgz     (asi 1.5 MB)
  • OpenGUI-fonts.tgz     (asi 218 kB) nie je nutne potrebný
  • OpenGUI-examples.tgz     (asi 408 kB) nie je nutne potrebný
  • OpenGUI-install.pdf     (asi 22 kB) toto isto stiahnuť
  • OpenGUI-SK.pdf     (asi 496 kB) detto
Súbory skopírujeme niekde do domovského adresára, prečítame si pédéefká a paklíky rozbalíme.

$ tar xfz meno_paklika.tgz

Vojdeme do podadresára OpenGUI/src a upravíme súbor config.mak (odkomentujeme, zrušíme hash #, viď. install.pdf).

$ cd OpenGUI

$ vi config.mak

Zmeníme identitu na roota, vojdeme do podadresára OpenGUI/src a spustíme inštalačný skript.

$ su -

# cd /home/.../OpenGUI/src

# ./linux.sh

Vojdeme do podadresára OpenGUI/examples a zmakeujeme (stále ako root).

# cd ../examples

# make -f makefile.lin

Podobne aj v podadresári OpenGUI/rad.

# cd ../rad

# make

# exit

A tak sme si vytvorili aj jednoduchý grafický editor objektov formulára s automatickým jenerovaním zdrojového kódu (spustiteľný súbor rad v podadresári OpenGUI/rad).

Použitie OpenGUI

/*
 * Priklad_1.cpp s pouzitim
 * OpenGUI kniznice
*/

#include <fastgl/fastgl.h>

int main(int argc, char *argv[])
{
  App MyApp(2, argc, argv, CDARK, APP_ALL);
  Window okno(0, 0, 0, 400, 200, "OpenGUI okno");
  okno.AddPushButton(275,120,80,24,"Quit",'Q',Control::Quit);
  MyApp.Run();
  return(0);
}

$ gcc -fPIC -o Priklad_1 Priklad_1.cpp -lfgl

Pri práci s knižnicou OpenGUI už nebudeme tak často meniť identitu (root), ale keďže priamo pracuje s SVGALIB, niekedy sa tomu nevyhneme.

Je vhodné prezrieť si hlavičkáre v adresári /usr/include/fastgl/ pred includnutím.

<fastgl/base.h>
<fastgl/callback.h>
<fastgl/fastgl.h>
<fastgl/fglist.h>
<fastgl/fglmesa.h>
<fastgl/fgstring.h>
<fastgl/listbox.h>
<fastgl/widgets.h>

<<- ->>