changeset 71:1aec066bcdae

core: allow quick message with MESSAGE_QUICK
author David Demelier <markand@malikania.fr>
date Tue, 28 Jan 2020 13:05:22 +0100
parents 53b217afe122
children 6203e1ac9b18
files src/core/message.c src/core/message.h
diffstat 2 files changed, 5 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/src/core/message.c	Mon Jan 27 14:13:49 2020 +0100
+++ b/src/core/message.c	Tue Jan 28 13:05:22 2020 +0100
@@ -131,7 +131,7 @@
 	assert(msg);
 
 	msg->elapsed = 0;
-	msg->state = MESSAGE_OPENING;
+	msg->state = msg->flags & MESSAGE_QUICK ? MESSAGE_SHOWING : MESSAGE_OPENING;
 	msg->height[0] = texture_height(msg->frame);
 	msg->height[1] = 0;
 
@@ -157,7 +157,7 @@
 			msg->index++;
 		break;
 	case KEY_ENTER:
-		msg->state = MESSAGE_HIDING;
+		msg->state = msg->flags & MESSAGE_QUICK ? MESSAGE_HIDING : MESSAGE_NONE;
 		msg->elapsed = 0;
 		break;
 	default:
@@ -189,7 +189,7 @@
 	case MESSAGE_SHOWING:
 		/* Do automatically switch state if requested by the user. */
 		if (msg->flags & MESSAGE_AUTOMATIC && msg->elapsed >= MESSAGE_TIMEOUT) {
-			msg->state = MESSAGE_HIDING;
+			msg->state = msg->flags & MESSAGE_QUICK ? MESSAGE_NONE : MESSAGE_HIDING;
 			msg->elapsed = 0;
 		}
 
--- a/src/core/message.h	Mon Jan 27 14:13:49 2020 +0100
+++ b/src/core/message.h	Tue Jan 28 13:05:22 2020 +0100
@@ -75,7 +75,8 @@
  */
 enum message_flags {
 	MESSAGE_AUTOMATIC       = (1 << 0),     /*!< Will automatically change state by itself. */
-	MESSAGE_QUESTION        = (1 << 1)      /*!< The message is a question. */
+	MESSAGE_QUESTION        = (1 << 1),     /*!< The message is a question. */
+	MESSAGE_QUICK           = (1 << 2),     /*!< Avoid animations. */
 };
 
 /**