CHDK_DE Vorschauversion  Trunk Rev. 6014
 Alle Datenstrukturen Dateien Funktionen Variablen Typdefinitionen Aufzählungen Aufzählungswerte Makrodefinitionen
gui.h-Dateireferenz
+ Dieser Graph zeigt, welche Datei direkt oder indirekt diese Datei enthält:

gehe zum Quellcode dieser Datei

Datenstrukturen

struct  gui_handler
 

Makrodefinitionen

#define GUI_MODE_MAGICNUM   0xd36c1559
 
#define GUI_MODE_FLAG_NODRAWRESTORE   1
 
#define GUI_MODE_FLAG_NORESTORE_ON_SWITCH   2
 

Typdefinitionen

typedef unsigned int gui_mode_t
 

Aufzählungen

enum  Gui_Mode_ {
  GUI_MODE_STARTUP = -1, GUI_MODE_NONE = 0, GUI_MODE_ALT, GUI_MODE_MENU,
  GUI_MODE_SCRIPT, GUI_MODE_MBOX, GUI_MODE_OSD, GUI_MODE_PALETTE,
  GUI_MODE_FSELECT, GUI_MODE_MPOPUP, GUI_MODE_MODULE
}
 
enum  ALT_Mode_State { ALT_MODE_NORMAL = 0, ALT_MODE_ENTER, ALT_MODE_ENTER_SCRIPT, ALT_MODE_LEAVE }
 

Funktionen

void gui_set_alt_mode_state (int)
 
void gui_activate_alt_mode ()
 
int gui_kbd_process ()
 
void gui_default_kbd_process_menu_btn ()
 
int gui_touch_process (int x, int y)
 
void gui_redraw ()
 
void gui_set_need_restore ()
 
void gui_cancel_need_restore ()
 
gui_handlergui_set_mode (gui_handler *mode)
 
void gui_reset_alt_helper ()
 
void gui_enum_value_change (int *value, int change, unsigned num_items)
 
const char * gui_subj_dist_override_value_enum (int change, int arg)
 
const char * gui_subj_dist_override_koef_enum (int change, int arg)
 
const char * gui_tv_override_value_enum (int change, int arg)
 
const char * gui_hhmss_enum (int change, int arg)
 
const char * gui_flash_power_modes_enum (int change, int arg)
 
const char * gui_flash_exp_comp_modes_enum (int change, int arg)
 

Variablen

int script_run_on_alt_flag
 
gui_handler altGuiHandler
 

Makro-Dokumentation

#define GUI_MODE_FLAG_NODRAWRESTORE   1

Definiert in Zeile 44 der Datei gui.h.

#define GUI_MODE_FLAG_NORESTORE_ON_SWITCH   2

Definiert in Zeile 45 der Datei gui.h.

#define GUI_MODE_MAGICNUM   0xd36c1559

Definiert in Zeile 41 der Datei gui.h.

Dokumentation der benutzerdefinierten Typen

typedef unsigned int gui_mode_t

Definiert in Zeile 25 der Datei gui.h.

Dokumentation der Aufzählungstypen

Aufzählungswerte
ALT_MODE_NORMAL 
ALT_MODE_ENTER 
ALT_MODE_ENTER_SCRIPT 
ALT_MODE_LEAVE 

Definiert in Zeile 31 der Datei gui.h.

31  {
32  ALT_MODE_NORMAL = 0, // don't change ALT mode
33  ALT_MODE_ENTER, // enter ALT mode
34  ALT_MODE_ENTER_SCRIPT, // enter SCRIPT mode
35  ALT_MODE_LEAVE, // leave ALT mode
36 };
enum Gui_Mode_
Aufzählungswerte
GUI_MODE_STARTUP 
GUI_MODE_NONE 
GUI_MODE_ALT 
GUI_MODE_MENU 
GUI_MODE_SCRIPT 
GUI_MODE_MBOX 
GUI_MODE_OSD 
GUI_MODE_PALETTE 
GUI_MODE_FSELECT 
GUI_MODE_MPOPUP 
GUI_MODE_MODULE 

Definiert in Zeile 11 der Datei gui.h.

11  {
12  GUI_MODE_STARTUP = -1,
13  GUI_MODE_NONE = 0,
18  GUI_MODE_OSD, // OSD editor
22  GUI_MODE_MODULE, // generic module
23 };

Dokumentation der Funktionen

void gui_activate_alt_mode ( )

Definiert in Zeile 3068 der Datei gui.c.

3069 {
3071 
3072  switch (gui_current_alt_state)
3073  {
3074  case ALT_MODE_ENTER:
3075  case ALT_MODE_ENTER_SCRIPT:
3076 
3078 
3080 
3082 
3083  // If user menu set to start automatically when <ALT> mode entered
3084  // then enter user menu mode, unless a script was paused by exiting
3085  // <ALT> mode when the script was running.
3086  gui_user_menu_flag = 0;
3090  gui_user_menu_flag = 1;
3091  }
3092  break;
3093 
3094  case ALT_MODE_LEAVE:
3095  conf_save();
3096 
3097  // Unload all modules which are marked as safe to unload, or loaded for menus
3098  module_exit_alt();
3099 
3103 
3105  break;
3106  }
3107 
3108  // Reset to stable state
3110 }
void gui_cancel_need_restore ( )

Definiert in Zeile 2435 der Datei gui.c.

2436 {
2439 }
void gui_default_kbd_process_menu_btn ( )

Definiert in Zeile 2736 der Datei gui.c.

2737 {
2739 }
void gui_enum_value_change ( int *  value,
int  change,
unsigned  num_items 
)

Definiert in Zeile 72 der Datei gui.c.

72  {
73  *value+=change;
74  if (*value<0)
75  *value = num_items-1;
76  else if (*value>=(int)num_items)
77  *value = 0;
78 }
const char* gui_flash_exp_comp_modes_enum ( int  change,
int  arg 
)
const char* gui_flash_power_modes_enum ( int  change,
int  arg 
)
const char* gui_hhmss_enum ( int  change,
int  arg 
)

Definiert in Zeile 1412 der Datei gui.c.

1413 {
1414  int *v = (int*)arg;
1415 
1416  int h, m, s;
1417  h = *v / 3600;
1418  m = (*v % 3600) / 60;
1419  s = *v % 60;
1420 
1421  switch (change)
1422  {
1423  case 1:
1424  case -1:
1425  s += change;
1426  if (s < 0) s = 59;
1427  if (s > 59) s = 0;
1428  break;
1429  case 10:
1430  case -10:
1431  m += change / 10;
1432  if (m < 0) m = 59;
1433  if (m > 59) m = 0;
1434  break;
1435  default:
1436  h += change /100;
1437  if (h < 0) h = 1;
1438  if (h > 1) h = 0;
1439  break;
1440  }
1441  *v = (h * 3600) + (m * 60) + s;
1442 
1443  sprintf(buf, "%1d:%02d:%02d", h, m, s);
1444 
1445  return buf;
1446 }
int gui_kbd_process ( )

Definiert in Zeile 3030 der Datei gui.c.

3031 {
3032  if (gui_mode)
3033  {
3034  // Call menu button handler if menu button pressed
3036  {
3038  {
3040  return 0;
3041  }
3042  }
3043 
3044  // Call mode handler for other buttons
3045  if (gui_mode->kbd_process) return gui_mode->kbd_process();
3046  }
3047  return 0;
3048 }
void gui_redraw ( )

Definiert in Zeile 2975 der Datei gui.c.

2976 {
2977  int flag_gui_enforce_redraw = 0;
2978 
2979  if (!draw_test_guard() && (!camera_info.state.gui_mode_none || gui_splash)) // Attempt to detect screen erase in <Alt> mode, redraw if needed
2980  {
2981  draw_set_guard();
2982  flag_gui_enforce_redraw = 1;
2983 #ifdef CAM_TOUCHSCREEN_UI
2984  redraw_buttons = 1;
2985 #endif
2986  }
2987 
2988 #ifdef CAM_TOUCHSCREEN_UI
2989  extern void virtual_buttons();
2990  virtual_buttons();
2991 #endif
2992 
2993  // Erase screen if needed
2995  {
2996  draw_restore();
2998  flag_gui_enforce_redraw = 1;
2999  }
3000 
3001  // Force mode redraw if needed
3003  {
3005  flag_gui_enforce_redraw = 1;
3006  }
3007 
3008 #ifdef OPT_EXPIRE_TEST
3009  do_expire_check();
3010 #endif
3011 
3012  gui_handle_splash(flag_gui_enforce_redraw);
3013 
3014  // visible warning if modules missing
3016 
3017 // DEBUG: uncomment if you want debug values always on top
3018 //gui_draw_debug_vals_osd();
3019 
3020  // Call redraw handler
3021  if (gui_mode->redraw)
3022  gui_mode->redraw(flag_gui_enforce_redraw);
3023 }
void gui_reset_alt_helper ( )
void gui_set_alt_mode_state ( int  )

Definiert in Zeile 3062 der Datei gui.c.

3063 {
3064  gui_current_alt_state = new_state;
3065 }
gui_handler* gui_set_mode ( gui_handler mode)

Definiert in Zeile 2465 der Datei gui.c.

2466 {
2467  // Set up gui mode & state variables
2468  camera_info.state.gui_mode = mode->mode;
2471 
2472  if ( gui_mode == mode )
2473  return gui_mode;
2474 
2475 #ifdef CAM_TOUCHSCREEN_UI
2476  if (((gui_mode->mode == GUI_MODE_NONE) != (mode->mode == GUI_MODE_NONE)) || // Change from GUI_MODE_NONE to any other or vice-versa
2477  ((gui_mode->mode > GUI_MODE_MENU) != (mode->mode > GUI_MODE_MENU))) // Switch in & out of menu mode
2478  redraw_buttons = 1;
2479 #endif
2480 
2482 
2484  gui_mode = mode;
2485 
2487 
2488  // Flag for screen erase/redraw unless mode is marked not to (e.g. menu box popup)
2490  ((old_mode->flags & GUI_MODE_FLAG_NORESTORE_ON_SWITCH) == 0))
2492  // If old mode did not erase screen on exit then force current mode to redraw itself (e.g. exit menu popup back to file select)
2493  if ((old_mode->flags & (GUI_MODE_FLAG_NORESTORE_ON_SWITCH)) != 0)
2495 
2496 #ifdef CAM_DISP_ALT_TEXT
2499 #endif
2500 
2501  return old_mode;
2502 }
void gui_set_need_restore ( )

Definiert in Zeile 2430 der Datei gui.c.

2431 {
2433 }
const char* gui_subj_dist_override_koef_enum ( int  change,
int  arg 
)
const char* gui_subj_dist_override_value_enum ( int  change,
int  arg 
)
int gui_touch_process ( int  x,
int  y 
)

Definiert in Zeile 3051 der Datei gui.c.

3052 {
3054  return gui_mode->touch_handler(x, y);
3055  return 0;
3056 }
const char* gui_tv_override_value_enum ( int  change,
int  arg 
)

Variablen-Dokumentation

gui_handler altGuiHandler

Definiert in Zeile 2971 der Datei gui.c.

int script_run_on_alt_flag

Definiert in Zeile 55 der Datei gui.c.