Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
F
fwatch
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
8
Issues
8
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
Wiki
Wiki
image/svg+xml
Discourse
Discourse
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Commits
Issue Boards
Open sidebar
Projects
fwatch
Commits
2457fd5b
Commit
2457fd5b
authored
Sep 24, 2014
by
Theodor-Adrian Stana
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Implemented menu wrap-around
parent
6e997732
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
14 additions
and
4 deletions
+14
-4
menu.c
sw/freertos/src/apps/menu.c
+14
-4
No files found.
sw/freertos/src/apps/menu.c
View file @
2457fd5b
...
@@ -41,6 +41,10 @@ static int menu_size = 0;
...
@@ -41,6 +41,10 @@ static int menu_size = 0;
static
menu_list
*
menu_stack
[
8
]
=
{
&
main_menu
,
NULL
,
};
static
menu_list
*
menu_stack
[
8
]
=
{
&
main_menu
,
NULL
,
};
static
menu_list
**
current_menu
=
&
menu_stack
[
0
];
static
menu_list
**
current_menu
=
&
menu_stack
[
0
];
// init function proto
static
void
menu_ui_init
();
static
void
menu_screen_redraw
(
struct
ui_widget
*
w
)
static
void
menu_screen_redraw
(
struct
ui_widget
*
w
)
{
{
int
i
;
int
i
;
...
@@ -88,18 +92,24 @@ static void menu_screen_event(struct ui_widget *w, const struct event *evt)
...
@@ -88,18 +92,24 @@ static void menu_screen_event(struct ui_widget *w, const struct event *evt)
if
(
selected_item
>=
MAX_ENTRIES
)
if
(
selected_item
>=
MAX_ENTRIES
)
offset
=
selected_item
-
MAX_ENTRIES
+
1
;
offset
=
selected_item
-
MAX_ENTRIES
+
1
;
}
else
{
w
->
flags
|=
WF_DIRTY
;
selected_item
=
0
;
offset
=
0
;
}
}
w
->
flags
|=
WF_DIRTY
;
}
else
if
(
evt
->
data
.
button
==
BUT_BL
)
{
}
else
if
(
evt
->
data
.
button
==
BUT_BL
)
{
if
(
selected_item
>
0
)
{
if
(
selected_item
>
0
)
{
--
selected_item
;
--
selected_item
;
if
(
selected_item
<
offset
)
if
(
selected_item
<
offset
)
offset
=
selected_item
;
offset
=
selected_item
;
}
else
{
w
->
flags
|=
WF_DIRTY
;
selected_item
=
menu_size
-
1
;
offset
=
selected_item
-
MAX_ENTRIES
+
1
;
}
}
w
->
flags
|=
WF_DIRTY
;
}
}
}
}
}
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment