Commit Graph

162 Commits (0269d11d16f008816cbf90dde182e263464b8b63)

Author SHA1 Message Date
Freddie Witherden 19f1175c04 Making padding a const int, as opposed to accessing it directly, in the hBox class.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@6175 4a71c877-e1ca-e34f-864e-861f7616d084
2008-10-16 12:34:19 +00:00
Freddie Witherden c12227b453 Simplify the fitting algorithm for the hBox class.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@6174 4a71c877-e1ca-e34f-864e-861f7616d084
2008-10-16 11:36:38 +00:00
Freddie Witherden f42ce71599 Fix a nasty typo in the hBox class which caused hBoxGetMinSize to be called for widgetGetMaxSize.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@6173 4a71c877-e1ca-e34f-864e-861f7616d084
2008-10-16 11:33:49 +00:00
Freddie Witherden 3a4b246ff7 Add padding support to the hBox class; also, ensure that we set the default alignment/padding in the constructor; finally, improve the Doxygen documentation.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@6172 4a71c877-e1ca-e34f-864e-861f7616d084
2008-10-16 10:38:50 +00:00
Freddie Witherden 96509127b1 Add table.[ch] which is a partially completed table container implementation.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@6171 4a71c877-e1ca-e34f-864e-861f7616d084
2008-10-15 20:06:18 +00:00
Freddie Witherden ec00337b6c Use alloca as opposed to malloc for allocating temporary storage in hBox.c.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@6163 4a71c877-e1ca-e34f-864e-861f7616d084
2008-10-15 11:38:09 +00:00
Giel van Schijndel 810fac209b * Wrap all file lists in the automake and win32 makefiles across lines such that there's only one file on each line
* Alphabetically sort the file lists

git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@6144 4a71c877-e1ca-e34f-864e-861f7616d084
2008-10-13 13:04:37 +00:00
Freddie Witherden 784b40d2a0 Slight cosmetic improvement to the window alignment code (factoring out a / 2).
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@6049 4a71c877-e1ca-e34f-864e-861f7616d084
2008-09-18 22:56:36 +00:00
Freddie Witherden ba9c453857 Make sure we correctly enable double buffering for SDL.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@6048 4a71c877-e1ca-e34f-864e-861f7616d084
2008-09-18 22:21:08 +00:00
Freddie Witherden 6e3ff77160 Vsync for the win, also enable double-buffering.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@6047 4a71c877-e1ca-e34f-864e-861f7616d084
2008-09-18 22:10:40 +00:00
Freddie Witherden f499f08a49 Use glPushMatrix and glPopMatrix when compositing as opposed to manually restoring it.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@6046 4a71c877-e1ca-e34f-864e-861f7616d084
2008-09-18 21:56:02 +00:00
Freddie Witherden dc878823c2 Fix the inclusion of GLEE in betawidget; this fixes the blending problems under nVidia Linux. Plus some minor indentation fixes.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@6037 4a71c877-e1ca-e34f-864e-861f7616d084
2008-09-18 11:24:36 +00:00
Freddie Witherden 26444e8e07 Switch from a virtal method to an event handler for re-generating the window's pattern.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@6020 4a71c877-e1ca-e34f-864e-861f7616d084
2008-09-14 13:49:37 +00:00
Giel van Schijndel e2fa071a02 Replace the custom crafted Lua interface code for the addEventHandler and addTimerEventHandler methods of class widget with a SWIG typemap
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@6017 4a71c877-e1ca-e34f-864e-861f7616d084
2008-09-14 13:27:03 +00:00
Giel van Schijndel 4d79c24838 * Add Lua support for widget animations
* These can be defined using Lua tables; see the example code in sdl-testapp.lua

git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@6016 4a71c877-e1ca-e34f-864e-861f7616d084
2008-09-14 13:26:48 +00:00
Giel van Schijndel 8681483c7d Make sure to translate before scaling in widgetCompositeImpl as that yields in-place scaling as opposed to scaled translating
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@6015 4a71c877-e1ca-e34f-864e-861f7616d084
2008-09-14 13:16:49 +00:00
Giel van Schijndel e3c884a249 When resizing windows make sure to resize their gradient as well
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@6011 4a71c877-e1ca-e34f-864e-861f7616d084
2008-09-14 01:34:16 +00:00
Giel van Schijndel e766b2f605 Allow Lua event handlers to remove themselves (i.e. don't segfault in that case)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@6010 4a71c877-e1ca-e34f-864e-861f7616d084
2008-09-14 01:32:59 +00:00
Giel van Schijndel 41e74888ef Make sure to use "destroy" as the method name in lua_widget_destroy for error message generation
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@6009 4a71c877-e1ca-e34f-864e-861f7616d084
2008-09-14 00:48:29 +00:00
Giel van Schijndel ee7cfc1ac5 * Add enum spacerDirection and its contents to the Lua betawidget module
* Add method `destroy` to the Lua class `widget` and its children in the betawidget module
 * Add some code that demonstrates the usage of widget:destroy() and its current flaws (i.e. segfaults ''will'' occur when using widget after calling the destroy() method on it, garbage collection is included in "using")


git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@6008 4a71c877-e1ca-e34f-864e-861f7616d084
2008-09-14 00:37:20 +00:00
Giel van Schijndel c661cb9bc4 * Don't use a single cairo_pattern to store the window gradient for ''all'' windows
* Use a separate cairo_pattern for each window to store the window gradient in


git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@6007 4a71c877-e1ca-e34f-864e-861f7616d084
2008-09-13 23:15:44 +00:00
Giel van Schijndel a2a22b3804 Check both the `lua5.1` and `lua` pkg-config package in betawidget's ./configure script
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@6006 4a71c877-e1ca-e34f-864e-861f7616d084
2008-09-13 22:36:47 +00:00
Giel van Schijndel 07e8a802f9 Remove the last remnants from platform selection in betawidget/Makefile.am
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@6003 4a71c877-e1ca-e34f-864e-861f7616d084
2008-09-13 18:36:33 +00:00
Giel van Schijndel ea446b8653 * Use recursive make (through SUBDIRS) to build the `platform` portion of betawidget
* Compile the utility part we use from Warzone (framework/utf.c and ivis_opengl/GLee.c) separately


git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@6002 4a71c877-e1ca-e34f-864e-861f7616d084
2008-09-13 18:35:26 +00:00
Elio Gubser 2395064bc8 outsourced the pathing function from windowDoDrawMaskImpl and windowDoDrawImpl, corrected some obvious nasty bugs
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5998 4a71c877-e1ca-e34f-864e-861f7616d084
2008-09-12 18:58:18 +00:00
Elio Gubser 413cc540a9 outsourced the pathing function from windowDoDrawMaskImpl and windowDoDrawImpl, corrected some obvious nasty bugs
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5997 4a71c877-e1ca-e34f-864e-861f7616d084
2008-09-12 18:52:23 +00:00
Elio Gubser 426f09cf9b nicer window design implemented
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5996 4a71c877-e1ca-e34f-864e-861f7616d084
2008-09-12 18:05:28 +00:00
Giel van Schijndel 50c974f74b Install all betawidget headers into $(pkgincludedir)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5988 4a71c877-e1ca-e34f-864e-861f7616d084
2008-09-11 07:56:28 +00:00
Freddie Witherden 4bb879d64c Make sure we fill out the event structure for EVT_DESTRUCT events.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5983 4a71c877-e1ca-e34f-864e-861f7616d084
2008-09-09 18:10:06 +00:00
Giel van Schijndel 6061eb40d9 Add an example of window/widget destruction by means of employing the garbage collector (this should be improved to something like widget:destroy())
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5980 4a71c877-e1ca-e34f-864e-861f7616d084
2008-09-09 11:33:40 +00:00
Giel van Schijndel 9177d9cf2f * Register widgetGetTime() as betawidget.getTime() in Lua
* In the Lua test app use betawidget.getTime() to determine the *true* amount of time passed since registering of the timer event


git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5979 4a71c877-e1ca-e34f-864e-861f7616d084
2008-09-09 11:17:38 +00:00
Giel van Schijndel 0d3b868de7 * After calling the Lua event handler function make sure to pop the return value from the stack
* If the Lua event handler function didn't return a value, assume it was successful (and leave the stack as is)


git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5978 4a71c877-e1ca-e34f-864e-861f7616d084
2008-09-09 11:04:56 +00:00
Freddie Witherden 75d615d134 Update the Doxygen documentation for clipboardX11.c.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5977 4a71c877-e1ca-e34f-864e-861f7616d084
2008-09-09 10:18:15 +00:00
Giel van Schijndel ce8d315645 Fix a bug where we would fire timer events `interval` milli-seconds since program start up instead of `interval` milli-seconds since registering the event
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5976 4a71c877-e1ca-e34f-864e-861f7616d084
2008-09-09 09:35:59 +00:00
Giel van Schijndel 4ca3f73cbb Print an empty string when the clipboard contains nothing (i.e. betawidget.getClipboardText() returned nil)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5973 4a71c877-e1ca-e34f-864e-861f7616d084
2008-09-08 21:34:31 +00:00
Giel van Schijndel 5184c015e4 * Don't store a Lua reference to the widget itself in the callback struct
- This struct is only destroyed when the callback is destroyed, which (by default) only happens when the widget is destroyed.
  - Keeping a reference to the widget prevents Lua's garbage collector from ever destroying the widget
  - Thus store a reference to the widget in a Lua "weak table"
  - Also store the callback function in this table
 * Thus we now only keep a reference to a Lua table referring to the widget (weakly) and the function (normally/strongly)

git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5972 4a71c877-e1ca-e34f-864e-861f7616d084
2008-09-08 21:34:17 +00:00
Freddie Witherden 5bdf883268 Add GPLv2 or above licensing cruft to the SDL betawidget test application; remove the erroneous call to SDL_Quit which was added in r5964.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5970 4a71c877-e1ca-e34f-864e-861f7616d084
2008-09-08 17:45:51 +00:00
Giel van Schijndel 574a74ab35 Extend the betawidget Lua testapp:
* Be more interesting when clicking the first window
 * Add a timer event handler
 * Add a clipboard usage example


git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5968 4a71c877-e1ca-e34f-864e-861f7616d084
2008-09-08 00:32:22 +00:00
Giel van Schijndel 966e1bfedc Add an example of how to use a closure in Lua in order to bind user data to an event handler
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5966 4a71c877-e1ca-e34f-864e-861f7616d084
2008-09-08 00:06:04 +00:00
Giel van Schijndel f81ac77f91 Rewrite the SDL betawidget testapp to set up its GUI using Lua and betawidget's Lua bindings
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5965 4a71c877-e1ca-e34f-864e-861f7616d084
2008-09-07 23:56:00 +00:00
Giel van Schijndel 75b4e523bd Fix a memory leak which resulted from neglecting to call SDL_Quit()
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5964 4a71c877-e1ca-e34f-864e-861f7616d084
2008-09-07 23:51:21 +00:00
Giel van Schijndel b033817fc4 * Add a Lua interface to (parts of) betawidget
* Partially generated by SWIG
  * Partially handcrafted
 * Already supports registering Lua functions as event handlers of `widget` derivatives
 * Slight change in betawidget headers because the struct typedef's somehow confused the compiler
 * Use libtool for linking with Lua


git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5963 4a71c877-e1ca-e34f-864e-861f7616d084
2008-09-07 23:47:53 +00:00
Giel van Schijndel 5802bba3ae Add a small SDL test application for betawidget (committed for EvilGuru)
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5962 4a71c877-e1ca-e34f-864e-861f7616d084
2008-09-07 22:50:25 +00:00
Freddie Witherden c174efd0c7 Fix a typo in the doxygen documentation for widget.h.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5959 4a71c877-e1ca-e34f-864e-861f7616d084
2008-09-07 21:10:31 +00:00
Freddie Witherden a7eee1378d Pass the ID of an event handler to destruct events the same way as we would to regular events.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5953 4a71c877-e1ca-e34f-864e-861f7616d084
2008-09-07 16:58:46 +00:00
Freddie Witherden 50747b6e53 Fix compilation of betawidget/platform/sdl/event.c.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5952 4a71c877-e1ca-e34f-864e-861f7616d084
2008-09-07 15:31:34 +00:00
Freddie Witherden b827f0b7d6 Add support for text events to betawidget.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5951 4a71c877-e1ca-e34f-864e-861f7616d084
2008-09-07 14:05:55 +00:00
Freddie Witherden c670477709 Fix the include paths for clipboardWin32.c
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5950 4a71c877-e1ca-e34f-864e-861f7616d084
2008-09-07 13:57:01 +00:00
Freddie Witherden 19345a8d2e Fix the X11 clipboard code so that it now waits for a response before attempting to fetch the data; also make it request a UFT-8 string.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5949 4a71c877-e1ca-e34f-864e-861f7616d084
2008-09-07 13:35:39 +00:00
Giel van Schijndel d4923de07a Conditionally compile in one of platform/sdl/clipboard* depending on the host platform we're compiling for
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5946 4a71c877-e1ca-e34f-864e-861f7616d084
2008-09-06 22:39:43 +00:00