summaryrefslogtreecommitdiff
path: root/apps/misc.c
diff options
context:
space:
mode:
authorJonathan Gordon <rockbox@jdgordon.info>2011-06-01 14:41:49 +0000
committerJonathan Gordon <rockbox@jdgordon.info>2011-06-01 14:41:49 +0000
commitb58d3656d79e5f9752a22d55c139294412084e4f (patch)
treebd98c9d2ab0db1e0df432814bb398cdb49739fe1 /apps/misc.c
parentc54f4b34400ea96bd3e2d86ba919a0ae509a56a9 (diff)
downloadrockbox-b58d3656d79e5f9752a22d55c139294412084e4f.zip
rockbox-b58d3656d79e5f9752a22d55c139294412084e4f.tar.gz
rockbox-b58d3656d79e5f9752a22d55c139294412084e4f.tar.bz2
rockbox-b58d3656d79e5f9752a22d55c139294412084e4f.tar.xz
FS#11925 - Add a proper system to keep track of the current screen/activity to make %cs far more useful
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29944 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/misc.c')
-rw-r--r--apps/misc.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/apps/misc.c b/apps/misc.c
index b027215..5a99db2 100644
--- a/apps/misc.c
+++ b/apps/misc.c
@@ -1021,3 +1021,20 @@ int clamp_value_wrap(int value, int max, int min)
}
#endif
#endif
+#define MAX_ACTIVITY_DEPTH 12
+static enum current_activity
+ current_activity[MAX_ACTIVITY_DEPTH] = {ACTIVITY_UNKNOWN};
+static int current_activity_top = 0;
+void push_current_activity(enum current_activity screen)
+{
+ current_activity[current_activity_top++] = screen;
+}
+void pop_current_activity(void)
+{
+ current_activity_top--;
+}
+enum current_activity get_current_activity(void)
+{
+ return current_activity[current_activity_top?current_activity_top-1:0];
+}
+