Commit Graph

62 Commits (1bed910d23c3591e1c5999d26abaf64b200412bc)

Author SHA1 Message Date
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
Freddie Witherden 8895e7efba Add experimental support for masks in betawidget. This allows for non-rectangular widgets.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5413 4a71c877-e1ca-e34f-864e-861f7616d084
2008-07-07 19:10:23 +00:00
Freddie Witherden 84be0c975d Use eventMisc for FOCUS and BLUR events.
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5382 4a71c877-e1ca-e34f-864e-861f7616d084
2008-07-04 13:09:23 +00:00
Freddie Witherden fc935ca02b Fix indentation (tabs => spaces).
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5355 4a71c877-e1ca-e34f-864e-861f7616d084
2008-07-02 23:23:23 +00:00
Freddie Witherden 1661c61ac0 Major redesign; widgets now use compositing (rendering off-screen).
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5354 4a71c877-e1ca-e34f-864e-861f7616d084
2008-07-02 23:18:32 +00:00
Freddie Witherden 2b0bd03914 Updates to the betawidget library; being to document vector.[ch], fix a bug in vectorAdd, const correctness for the widget type system, remove a rouge newline in geom.h
git-svn-id: svn+ssh://svn.gna.org/svn/warzone/trunk@5315 4a71c877-e1ca-e34f-864e-861f7616d084
2008-06-24 10:11:03 +00:00