Commit Graph

67 Commits (b278bbb4ee98486340472066411ce253d07461b1)

Author SHA1 Message Date
Freddie Witherden b278bbb4ee Add the concept of a NUL size to betawidget which is needed to allow widgets to be added to a parent-less container.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@6356 4a71c877-e1ca-e34f-864e-861f7616d084
2008-11-21 17:52:21 +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
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
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 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
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 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
Freddie Witherden 548c43e6e3 Add support for resize and reposition events to betawidget.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5929 4a71c877-e1ca-e34f-864e-861f7616d084
2008-09-05 17:05:56 +00:00
Freddie Witherden 9deaad010d Simplify event creation by adding a helper function to generate the base structure.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5927 4a71c877-e1ca-e34f-864e-861f7616d084
2008-09-05 15:03:21 +00:00
Freddie Witherden de59586edf Fix compilation of betawidget on OS X; ensure we correctly restore the layout if a child could not be added.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5905 4a71c877-e1ca-e34f-864e-861f7616d084
2008-08-31 10:17:09 +00:00
Freddie Witherden 0d58106de3 Make tool-tip events irrelevant for child widgets.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5894 4a71c877-e1ca-e34f-864e-861f7616d084
2008-08-30 10:36:52 +00:00
Freddie Witherden e48b37f6c0 Add tool-tip support to betawidget.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5869 4a71c877-e1ca-e34f-864e-861f7616d084
2008-08-25 15:56:58 +00:00
Freddie Witherden cc94bc2818 Allow for event handlers to have separate (optional) destructors.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5868 4a71c877-e1ca-e34f-864e-861f7616d084
2008-08-24 16:58:27 +00:00
Freddie Witherden 30712505f1 Add the ability to check if an id is a valid event handler or not.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5844 4a71c877-e1ca-e34f-864e-861f7616d084
2008-08-21 16:19:51 +00:00
Freddie Witherden 45ba680eb6 Convert a warning in betawidget to an assert; ensure that when adding a child that it has no parent.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5843 4a71c877-e1ca-e34f-864e-861f7616d084
2008-08-21 13:46:12 +00:00
Freddie Witherden 34e4246bd4 Fix a couple of typos and a compiler warning in betawidget.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5840 4a71c877-e1ca-e34f-864e-861f7616d084
2008-08-20 13:05:44 +00:00
Freddie Witherden 077cfee020 Add widgetGetCurrentlyMousedOver to return the widget that currently has the mouse over it.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5834 4a71c877-e1ca-e34f-864e-861f7616d084
2008-08-17 18:22:38 +00:00
Freddie Witherden d8aca5b13f Add animation support to betawidget (#27), improvements to follow.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5817 4a71c877-e1ca-e34f-864e-861f7616d084
2008-08-15 09:59:11 +00:00
Freddie Witherden d6da0800f9 Redo the layout for the entire window when a child widget is added or removed.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5808 4a71c877-e1ca-e34f-864e-861f7616d084
2008-08-13 22:19:44 +00:00
Freddie Witherden 96e327b46c Add GPLv2 or above licensing cruft to betawidget.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5807 4a71c877-e1ca-e34f-864e-861f7616d084
2008-08-13 22:00:17 +00:00
Freddie Witherden ab0ba130de Use a triangle strip as opposed to quads for widget compositing.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5802 4a71c877-e1ca-e34f-864e-861f7616d084
2008-08-13 16:25:36 +00:00
Freddie Witherden a0384da56a Do not allow setting of widget->offset directly, instead use a setter method.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5801 4a71c877-e1ca-e34f-864e-861f7616d084
2008-08-13 11:21:58 +00:00
Freddie Witherden f66a96b560 Add drag support to betawidget. This closes ticket #30.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5800 4a71c877-e1ca-e34f-864e-861f7616d084
2008-08-12 13:00:40 +00:00
Freddie Witherden fb6b8d30b6 Clean up the mouse motion event handling code somewhat.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5799 4a71c877-e1ca-e34f-864e-861f7616d084
2008-08-12 11:27:54 +00:00
Freddie Witherden dd3944c26c More const-correctness for betawidget.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5792 4a71c877-e1ca-e34f-864e-861f7616d084
2008-08-11 10:27:11 +00:00
Freddie Witherden 421335008a Improve const-correctness in betawidget.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5791 4a71c877-e1ca-e34f-864e-861f7616d084
2008-08-10 22:51:12 +00:00
Freddie Witherden b752595aae Add the implementation-defined widgetGetTime() function (which returns the current time in ms).
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5789 4a71c877-e1ca-e34f-864e-861f7616d084
2008-08-10 12:43:45 +00:00
Freddie Witherden 7403707e37 Ensure that we set the event type correctly for timer events.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5787 4a71c877-e1ca-e34f-864e-861f7616d084
2008-08-09 20:52:51 +00:00
Freddie Witherden 0440da3f48 Make it possible to get and set the user-data of event handlers.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5786 4a71c877-e1ca-e34f-864e-861f7616d084
2008-08-08 18:15:50 +00:00
Freddie Witherden 54df5e1b9e Add a special EVT_DESTRUCT event to give event handlers a chance to clean-up/free any resources they have allocated.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5757 4a71c877-e1ca-e34f-864e-861f7616d084
2008-08-02 22:56:14 +00:00
Freddie Witherden 81ba4bec25 Switch to a floating point co-ordinate system which better reflects the underlying APIs (Cairo and OpenGL).
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5736 4a71c877-e1ca-e34f-864e-861f7616d084
2008-08-02 14:47:12 +00:00
Freddie Witherden 977bc5e327 Add support for showing and hiding widgets; update how events are handled when a widget is hidden or disabled.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5731 4a71c877-e1ca-e34f-864e-861f7616d084
2008-08-01 21:24:19 +00:00
Freddie Witherden f7f5d309a7 Move the glTranslatef calls in the widgetCompositeImpl function to outside of the for loop,
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5729 4a71c877-e1ca-e34f-864e-861f7616d084
2008-08-01 18:55:42 +00:00
Freddie Witherden 2c20b8e0e7 Fix a minor indentation issue in widget.c
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5727 4a71c877-e1ca-e34f-864e-861f7616d084
2008-08-01 17:51:07 +00:00
Freddie Witherden 415f4555dc Remove some empty doc-blocks from betawidget.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5722 4a71c877-e1ca-e34f-864e-861f7616d084
2008-08-01 11:31:12 +00:00
Freddie Witherden 4c2fedaff6 Save the current state of the cairo context before drawing and restore once finished.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5588 4a71c877-e1ca-e34f-864e-861f7616d084
2008-07-19 19:34:51 +00:00
Freddie Witherden 36a4191818 Switch to an OpenGL compositing mode; some clean-up still required.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5578 4a71c877-e1ca-e34f-864e-861f7616d084
2008-07-18 22:21:54 +00:00
Freddie Witherden 7458d5b499 Fix some more compiler warnings.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5571 4a71c877-e1ca-e34f-864e-861f7616d084
2008-07-16 21:19:33 +00:00
Freddie Witherden 2f254ade34 Make sure variables are defined before anything else.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5570 4a71c877-e1ca-e34f-864e-861f7616d084
2008-07-16 19:14:35 +00:00
Freddie Witherden b48b8058e8 Add support for timer events and fix a bug in event id generation.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5557 4a71c877-e1ca-e34f-864e-861f7616d084
2008-07-15 10:12:03 +00:00
Freddie Witherden 355d0c0760 Make it so that the event-removal system in betawidget actually works.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5555 4a71c877-e1ca-e34f-864e-861f7616d084
2008-07-14 23:41:53 +00:00
Freddie Witherden 86dd924881 Minor cosmetic improvements to betawidget.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5554 4a71c877-e1ca-e34f-864e-861f7616d084
2008-07-14 23:19:51 +00:00
Freddie Witherden 89523ccf9f Make sure we zero a widgets user data when we initialise it.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5540 4a71c877-e1ca-e34f-864e-861f7616d084
2008-07-14 08:51:55 +00:00
Freddie Witherden d4168f712c Make it possible for an event handler to remove itself.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5527 4a71c877-e1ca-e34f-864e-861f7616d084
2008-07-13 15:40:58 +00:00
Freddie Witherden 631ff7879b Add a dedicated text input event. Switch to our own custom keycode enum rather than depending on SDLs.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5445 4a71c877-e1ca-e34f-864e-861f7616d084
2008-07-09 15:46:46 +00:00
Freddie Witherden f99660d986 Fix a bug in the resize asserts; fix another bug in the hBox implementation causing sizing and positioning of child widgets to fail.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5423 4a71c877-e1ca-e34f-864e-861f7616d084
2008-07-08 16:46:53 +00:00
Freddie Witherden 0160a3e859 Make sure that we clear the cairo context before we begin drawing to it.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5417 4a71c877-e1ca-e34f-864e-861f7616d084
2008-07-08 10:15:52 +00:00
Freddie Witherden f2b30f27c8 Update some function prototypes for betawidget.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5416 4a71c877-e1ca-e34f-864e-861f7616d084
2008-07-08 09:15:13 +00:00
Freddie Witherden 2dc1063859 Allow widgetResizeImpl to work with containers (by re-laying them out).
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5415 4a71c877-e1ca-e34f-864e-861f7616d084
2008-07-07 22:39:52 +00:00
Freddie Witherden 20d7cc06be Add support for masking mouse click events as well as mouse movement events.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5414 4a71c877-e1ca-e34f-864e-861f7616d084
2008-07-07 21:19:58 +00:00