화요일, 2월 10, 2015

GTK+ Examples: GtkDrawingArea, Cairo, Pango Text, Font, Image, ...

GTK+ Examples: GtkDrawingArea, Cairo, Pango Text, Font, Image, ...

GTK+ Examples
https://github.com/godmode2k/gtk_examples

GTK+ Font dialog(gtk_font_selection_dialog), Color Dialog(gtk_color_selection_dialog),
Popup Dialog(gtk_menu_shell), GtkDrawingArea, Cairo/Pango image, text, font handling,
image load, scaling, rotation, client region capture, etc.

Summary
----------
> The sources show you how to use a GtkDrawingArea,
> make a custom View and how to use Cairo/Pango font glyph.


Environment
----------
> build all and tested on GNU/Linux X-Window

    GNU/Linux: Ubuntu 11.10 (Unity 3D, 2D)
    GTK+ version: 2.x, 3.x
    Cairo version: 1.xx
    Pango version: 1.0


Build
----------
> as following or you should make whatever you want

    ./atp3/
     - build.sh                // for build all
-
     - atp3.cpp                // Main Class
-
- CBaseView.cpp           // Abstract Base View Class
- CKeyEvent.cpp           // Key, Mouse Event Base Class
-
- CViewMain.cpp           // Main View Class
- CViewAttach.cpp         // Attachment (Text, Image) Class
-
- incl_g_func.cxx                   // Global functions
- incl_g_func_signal_handler.cxx    // Gtk+ Widget Signal Handler
- incl_progress_dlg.cxx             // Progress Dialog Implements
- incl_toastmsg_dlg.cxx             // Toast Message Dialog Implements
-
- ui_gtk2.glade           // Glade UI(XML) for GTK+2.x
- ui_gtk3.glade           // Glade UI(XML) for GTK+3.x
- ui_glade.h              // Glade UI(XML) to C-Style include file, AUTO-GENERATED at build


./libs/util
 - CMutexSemaphore.h      // Mutex, Semaphore Class (Abstract)
 - CNetSockLib.cpp        // Network Class
 -
 - CDialog.cpp            // Gtk+ Widget Dialog Class (Custom)
 - CThreadTask.cpp        // PThread Class, like AsyncTask method in Android
 - CProgressDlg.cpp       // Progress Dialog Class
 - CToastMsgDlg.cpp       // Message Dialog Class, like Toast method in Android
 -
 - CUtil.cpp              // Useful system functions (utility)


    $ sh build.sh atp3 atp3.cpp
    $ ./atp3


Screenshots
----------

> Image & Text


> Popup menu


> Text Dialog


> Text Dialog: Font


> Text Dialog: Color


> Toast Message Dialog (Ubuntu Unity 2D, No Alpha effect)


> Toast Message Dialog (Ubuntu Unity 3D, Alpha effect applied)


> Progress Dialog


> Capture region


> Rotation
















-----
Cheers,
June