Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Learning notes and better forced refreshing of menus
- Add learning notes |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | origin/master | trunk |
Files: | files | file ages | folders |
SHA3-256: |
dd2fc74444d301def5f9d3abad291abc |
User & Date: | base@atomicules.co.uk 2013-09-02 14:32:56 |
Context
2013-09-03
| ||
12:38 |
Add in EV menu, doesn't function yet though
- Add in free memory bits, also missed some for the other menus check-in: 6c315c3200 user: base@atomicules.co.uk tags: origin/master, trunk | |
2013-09-02
| ||
14:32 |
Learning notes and better forced refreshing of menus
- Add learning notes | |
13:27 | Enable exit key, change help text to suit check-in: 2dc1212485 user: base@atomicules.co.uk tags: origin/master, trunk | |
Changes
Changes to exposurses.c.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | /* This file based on menu_scroll.c from: http://tldp.org/HOWTO/NCURSES-Programming-HOWTO/intro.html */ #include <curses.h> #include <menu.h> #include <math.h> #include <stdlib.h> #define ARRAY_SIZE(a) (sizeof(a) / sizeof(a[0])) char *iso_array[] = { "50", "100", "200", "400", | > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /* This file based on menu_scroll.c from: http://tldp.org/HOWTO/NCURSES-Programming-HOWTO/intro.html */ #include <curses.h> #include <menu.h> #include <math.h> #include <stdlib.h> /* Learning notes - This is a macro that is expanded (text substitution) before compiling */ #define ARRAY_SIZE(a) (sizeof(a) / sizeof(a[0])) char *iso_array[] = { "50", "100", "200", "400", |
︙ | ︙ | |||
168 169 170 171 172 173 174 | attroff(COLOR_PAIR(2)); refresh(); /* set default menu */ menu = &iso_menu; win = &iso_win; | | | 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 | attroff(COLOR_PAIR(2)); refresh(); /* set default menu */ menu = &iso_menu; win = &iso_win; while((c = getch()) != 81) { /* 81 is Q */ switch(c) { case KEY_LEFT: if (menu_counter > 1) menu_counter -= 1; switch(menu_counter) { case 1: menu = &iso_menu; |
︙ | ︙ | |||
218 219 220 221 222 223 224 225 | break; case 10: { /* ENTER */ ITEM *cur; void (*p)(char *); cur = current_item(*menu); p = item_userptr(cur); p((char *)item_name(cur)); | > < < > > > > > | 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 | break; case 10: { /* ENTER */ ITEM *cur; void (*p)(char *); cur = current_item(*menu); p = item_userptr(cur); /* Learning notes - Don't understand this bit */ p((char *)item_name(cur)); if (selection_counter == 0) { menu_sel_last = menu_counter; selection_counter += 1; } if (menu_counter != menu_sel_last) selection_counter += 1; if (selection_counter == 2) { /* calculate the other menu */ /* how to get missing menu? */ if (strcmp("", iso_sel) == 0) { /* Test searching for item in menu */ set_menu_pattern(iso_menu, "200"); menu_driver(iso_menu, REQ_DOWN_ITEM); menu_driver(iso_menu, REQ_UP_ITEM); wrefresh(iso_win); } if (strcmp("", shutter_sel) == 0) { char aperture_sel_[4] = ""; strncpy(aperture_sel_, aperture_sel+2, 3); /* Using menu_driver to go up/down to force refresh and correct highlighting */ menu_driver(shutter_menu, REQ_SCR_UPAGE); menu_driver(shutter_menu, REQ_SCR_DPAGE); /* There is probably a nicer way to format the below */ set_menu_pattern( shutter_menu, shutter_array[nearest_match( shutter(exposure(atoi(iso_sel)), strtod(aperture_sel_, NULL)), 2 )] ); menu_driver(shutter_menu, REQ_DOWN_ITEM); menu_driver(shutter_menu, REQ_UP_ITEM); wrefresh(shutter_win); } if (strcmp("", aperture_sel) == 0) { menu_driver(aperture_menu, REQ_SCR_UPAGE); menu_driver(aperture_menu, REQ_SCR_DPAGE); set_menu_pattern( aperture_menu, aperture_array[nearest_match( aperture(exposure(atoi(iso_sel)), fraction_to_double(shutter_sel)), 3 )] ); |
︙ | ︙ |