DEPAN | Flyer | Login | Register

FLTK C++ Gui Toolkit

January 25th, 2006 | KATEGORI : C/C++
Penulis : hameed

Anda butuh toolkit GUI C++ yang cepat, ringan dan lintas platform? cobalah FLTK (Fast Light Toolkit). FLTK dikembangkan dari proyek XForms oleh Bill Spitzak dan saat ini telah mencapai rilis 2.0 (Pengembangannya agak lama). Walapun ringan dan “minimalis” bukan berarti FLTK miskin fitur, hampir semua fitur GUI Toolkit lainnya dimiliki juga oleh FLTK. Salah satu aplikasi yang dikembangkan dengan FLTK adalah ede,

Fitur
Apa saja kelebihan FLTK ini?, Berikut fitur-fitur “plus” yang dimilikinya:

  • Cepat dan ringan.
  • Memungkinkan kita untuk melakukan linking statis (sehingga kita tidak memerlukan library tsb ketika menjalankan hasil kompilasi).
  • Dilengkapi dengan kemampuan OpenGL/Mesa.
  • Kemampuan drawing 2-D, yang membungkus fungsi-fungsi drawing pada library X11 dan Win32 sehingga menjadi lebih mudah digunakan.
  • Dilengkapi sebuah RAD (Rapid Application Development), FLUID. Dengan FLUID, waktu pengerjaan program bisa menjadi lebih singkat.
  • Dokumentasi cukup lengkap.
  • Tersedia binding ke bahasa permrograman lain; perl, python, ruby.

Dan masih banyak fitur-fitur lainnya.

Lisensi
Bagaimana dengan lisensinya? FLTK dirilis menggunakan LGPL (Lesser GNU Public License), jadi kita tidak perlu khawatir jika men-develop aplikasi komersil menggunakan FLTK. Hehe apalagi aplikasi berlisensi GPL…malah dianjurkan :) .

Instalasi
Seperti biasa pada umumnya instalasi di lingkungan GNU/Linux:

    tar jzxvf fltk-x.x.x
  • Masuk ke dalam direktori hasil ekstrak, dan lakukan konfigurasi, kompilasi dan instalasi.
    • ./configure && make && /bin/su -c "make install"

    Hello World
    Tiba saatnya mencoba FLTK yang telah kita install. Buat file HaloJogxer.h, HaloJogxer.cpp, main.cpp dengan editor favorit kita, bisa Vi, Joe, Emacs atau apapun asal text editor.


      // HaloJogxer.h
      #ifndef __HALOJOGXER_H__
      #define __HALOJOGXER_H__

      #include "FL/Fl_Window.h"

      class HaloJogxer : public Fl_Window
      {
      public:
      HaloJogxer(int lebar, int tinggi, const char *judul);

      virtual ~HaloJogxer();
      };

      #endif

      //HaloJogxer.cpp
      #include "FL/Fl_Box.h"
      #include "HaloJogxer.h"

      HaloJogxer::HaloJogxer(int lebar, int tinggi, const char *judul)
      : Fl_Window(lebar, tinggi, judul)
      {
      Fl_Box *box = new Fl_Box(20, 40, 260, 100, "Halo JogXer");
      box->box(FL_UP_BOX);
      box->labelsize(24);
      box->labelfont(FL_BOLD+FL_ITALIC);
      box->labeltype(FL_SHADOW_LABEL);
      }

      HaloJogxer::~HaloJogxer()
      {
      }

      //main.cpp
      #include "FL/Fl.h"
      #include "HaloJogxer.h"

      int main(int argc, char *argv[])
      {
      HaloJogxer *halo = new HaloJogxer(300, 180, "Sapa JogXer");
      halo->show();

      return Fl::run();
      }

    Lakukan Kompilasi:

      g++ -o halo HaloJogxer.cpp main.cpp `fltk-config --cxxflags --libs --ldflags`

    dan coba jalankan:

      ./halo

    Semoga bermanfaat…

    Referensi:

    Introduction to Direct Memory Access

    January 12th, 2006 | KATEGORI : C/C++, Tutorial
    Penulis : slickenside

    Stack Overflows

    February 17th, 2005 | KATEGORI : C/C++
    Penulis : willy

    Fungsi Rekursif dan Selektif dalam Pemrograman Bahasa C [ III ]

    February 12th, 2005 | KATEGORI : C/C++
    Penulis : slickenside

    Fungsi Rekursif dan Selektif dalam Pemrograman Bahasa C [ II ]

    December 19th, 2004 | KATEGORI : C/C++
    Penulis : slickenside

    Little Endian Vs Big Endian (bagian II)

    December 18th, 2004 | KATEGORI : C/C++
    Penulis : slickenside

    Little Endian Vs Big Endian (bagian I)

    December 16th, 2004 | KATEGORI : C/C++
    Penulis : slickenside

    Fungsi Rekursif dan Selektif dalam Pemrograman Bahasa C [ I ]

    December 6th, 2004 | KATEGORI : C/C++
    Penulis : slickenside

    Konsep Overflow Pada Tipe Data Integer

    December 6th, 2004 | KATEGORI : C/C++
    Penulis : slickenside