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