sdl2_guitk - C/C++ GUI toolkit designed for SDL2 environnements (GTK-style). Copyright (C) 2003-2015 Trave Roman sdl_guitk is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - Trave Roman <roman.trave@abadcafe.org> GOALS OF SDL_GuiTK ------------------ * Providing a "light" but extended GUI for the great SDL library. To be fully implemented on SDL, using SDL_ttf for text layout. http://www.libsdl.org * Providing a powerfull and lisible interface: dynamics of widgets and name-spacing copied from Gtk. (so for docs, see gtk-doc and substitutes gtk_ by SDLGuiTK_) http://www.gtk.org * Providing two drawing contexts: - SELF_MODE, "a la Gtk" ou "a la paragui" - SLAVE_MODE, initialized on a external surface (integration) DEVEL PLAN ---------- 0.3.0 * Structures and relevant attributes must be OK: widgets: TextView. 0.2.0 * Structures and relevant attributes must be OK: infrastructures: Cursor, Timer, Theme, threated Context. widgets: Bitmap, DockedWin, Entry. DEVEL STATUS ------------ 0.1.0 (cvs tag: rel-0-1-0) * Structures and relevant attributes must be OK: infrastructures: Object, Widget, Signal, List. containers: Container, Misc, Bin. widgets: Window, Alignment, Box, Label, Button. * SELF_MODE and SLAVE_MODE context modes are OK. * Alpha blending OK for Linux and Win32. * Internal structures attributes proposed: Context, Theme, WM(WindowManager layer). OPENGL INTEGRATION ------------------ Note: SDL2 portage only support GL context for now. GL context must be determinated in run-time. If no GL found, SDLGuiTK uses 2D-Blit functions on the main surface. For this purpose, concerned functions are layed by a (*function)(). They are setted in mysdl.c, when GL detection is done. They are: MySDL_MainSurface_clean() _GL() / _noGL() MySDL_SwapBuffers() _GL() / _noGL() MyWM_blit2Dsurface() _GL() / _noGL() THREADED USE ------------ Like in GTK, a unique mutex protect internal structures. Locked an unlocked by: SDLGuiTK_threads_enter() SDLGuiTK_threads_leave()