added event actions (by simulating keyboard input) for global animations
[rocksndiamonds.git] / src / anim.c
index 81441829e8694ef2b0fb8f44b27cb8443fe45e9e..0a278aa35cb36a97983be9ea1cc7b62934bb3799 100644 (file)
@@ -14,6 +14,8 @@
 #include "anim.h"
 #include "main.h"
 #include "tools.h"
+#include "events.h"
+#include "screens.h"
 
 
 /* values for global toon animation definition */
@@ -1451,7 +1453,8 @@ static boolean DoGlobalAnim_EventAction(struct GlobalAnimPartControlInfo *part)
     return FALSE;
 
   boolean action_executed = (DoGadgetAction(anim_event_action) ||
-                            DoScreenAction(anim_event_action));
+                            DoScreenAction(anim_event_action) ||
+                            DoKeysymAction(anim_event_action));
 
   // check if further actions are allowed to be executed
   if (part->control_info.style & STYLE_MULTIPLE_ACTIONS)
@@ -1543,7 +1546,8 @@ static boolean InitGlobalAnim_Clicked(int mx, int my, boolean clicked)
          if (!any_event_action && DoGlobalAnim_EventAction(part))
            any_event_action = TRUE;
 
-         any_part_clicked = TRUE;
+         // determine if mouse clicks should be blocked from other animations
+         any_part_clicked = clickConsumed(part);
 
          if (isClickablePart(part, ANIM_EVENT_SELF))
          {