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
Giel van Schijndel
d40084dadc
Take care of #including utf.h and the content of <stdbool.h> and <stdint.h>
...
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5943 4a71c877-e1ca-e34f-864e-861f7616d084
2008-09-06 17:20:34 +00:00
Giel van Schijndel
330d599916
Apparently betawidget depends on GLee and utf.[ch], so make sure to compile those along
...
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5941 4a71c877-e1ca-e34f-864e-861f7616d084
2008-09-06 16:11:30 +00:00
Giel van Schijndel
e9ea1df8d9
* Move the addition of SDL's stuff to CPPFLAGS and LIBS to the "platform selection" part
...
* Make sure to also check for and link against OpenGL
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5939 4a71c877-e1ca-e34f-864e-861f7616d084
2008-09-06 15:50:48 +00:00
Giel van Schijndel
6150e58b45
* Make sure that we only have a compile and link time dependency on Cairo when compiling and linking betawidget, not when using it
...
* When only compiling and linking against betawidget just forward declare cairo_t
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5938 4a71c877-e1ca-e34f-864e-861f7616d084
2008-09-06 15:38:31 +00:00
Giel van Schijndel
a8aa84dec4
Use libtool for compiling and linking of betawidget
...
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5937 4a71c877-e1ca-e34f-864e-861f7616d084
2008-09-06 15:05:55 +00:00
Giel van Schijndel
5ce8de3abe
Add a perliminary buildsystem for betawidget (autotools buildsystem)
...
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5936 4a71c877-e1ca-e34f-864e-861f7616d084
2008-09-06 13:26:03 +00:00
Freddie Witherden
2547bdcf29
Revert the changes to window.[ch] which were committed by accident in r5931.
...
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5933 4a71c877-e1ca-e34f-864e-861f7616d084
2008-09-06 12:31:44 +00:00
Freddie Witherden
04e2f5f82b
Update the widget animation callback to use widgetReposition as opposed to setting the position directly.
...
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5932 4a71c877-e1ca-e34f-864e-861f7616d084
2008-09-06 12:26:27 +00:00