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

gehe zum Quellcode dieser Datei

Makrodefinitionen

#define ZOOM_SHOW_X   0
 
#define ZOOM_SHOW_FL   1
 
#define ZOOM_SHOW_EFL   2
 
#define DOF_DONT_SHOW   0
 
#define DOF_SHOW_IN_DOF   1
 
#define DOF_SHOW_IN_DOF_EX   2
 
#define DOF_SHOW_IN_MISC   3
 
#define DOF_SHOW_IN_MISC_EX   4
 
#define SHOW_MISC_ALWAYS   1
 
#define SHOW_MISC_SHOOT   2
 
#define DEBUG_DISPLAY_NONE   0
 
#define DEBUG_DISPLAY_PROPS   1
 
#define DEBUG_DISPLAY_PARAMS   2
 
#define DEBUG_DISPLAY_TASKS   3
 
#define DEBUG_DISPLAY_UIPROPS   4
 

Funktionen

void gui_draw_osd_elements (int is_osd_edit, int is_zebra)
 
void gui_osd_draw_clock (int x, int y, twoColors cl, int is_osd_edit)
 
void gui_draw_debug_vals_osd ()
 
void gui_update_debug_page ()
 
void gui_draw_osd ()
 
void gui_kbd_shortcuts ()
 
void MakeAFScan (void)
 
void EnterToCompensationEVF (void)
 
void ExitFromCompensationEVF (void)
 

Variablen

gui_handler defaultGuiHandler
 
int canon_menu_active
 
char canon_shoot_menu_active
 

Makro-Dokumentation

#define DEBUG_DISPLAY_NONE   0

Definiert in Zeile 36 der Datei gui_osd.h.

#define DEBUG_DISPLAY_PARAMS   2

Definiert in Zeile 38 der Datei gui_osd.h.

#define DEBUG_DISPLAY_PROPS   1

Definiert in Zeile 37 der Datei gui_osd.h.

#define DEBUG_DISPLAY_TASKS   3

Definiert in Zeile 39 der Datei gui_osd.h.

#define DEBUG_DISPLAY_UIPROPS   4

Definiert in Zeile 40 der Datei gui_osd.h.

#define DOF_DONT_SHOW   0

Definiert in Zeile 14 der Datei gui_osd.h.

#define DOF_SHOW_IN_DOF   1

Definiert in Zeile 15 der Datei gui_osd.h.

#define DOF_SHOW_IN_DOF_EX   2

Definiert in Zeile 16 der Datei gui_osd.h.

#define DOF_SHOW_IN_MISC   3

Definiert in Zeile 17 der Datei gui_osd.h.

#define DOF_SHOW_IN_MISC_EX   4

Definiert in Zeile 18 der Datei gui_osd.h.

#define SHOW_MISC_ALWAYS   1

Definiert in Zeile 20 der Datei gui_osd.h.

#define SHOW_MISC_SHOOT   2

Definiert in Zeile 21 der Datei gui_osd.h.

#define ZOOM_SHOW_EFL   2

Definiert in Zeile 12 der Datei gui_osd.h.

#define ZOOM_SHOW_FL   1

Definiert in Zeile 11 der Datei gui_osd.h.

#define ZOOM_SHOW_X   0

Definiert in Zeile 10 der Datei gui_osd.h.

Dokumentation der Funktionen

void EnterToCompensationEVF ( void  )

Definiert in Zeile 1090 der Datei wrappers.c.

1091 {
1093 }
void ExitFromCompensationEVF ( void  )

Definiert in Zeile 1095 der Datei wrappers.c.

1096 {
1098 }
void gui_draw_debug_vals_osd ( )

Definiert in Zeile 1108 der Datei gui_osd.c.

1109 {
1110 #ifdef OPT_DEBUGGING
1111 
1112 #if defined(OPT_EXMEM_TESTING)
1113  // Only do memory corruption testing if not recording video
1115  {
1116  extern void exmem_testing();
1117  exmem_testing();
1118  }
1119 #endif
1120 
1121 #if defined(OPT_ARAM_TESTING)
1122  extern void aram_testing();
1123  aram_testing();
1124 #endif
1125 
1127 
1128 #define DBGMISCVALS_X ((CAM_SCREEN_WIDTH/FONT_WIDTH)-17)
1129 #define DBGMISCVALS_Y ((CAM_SCREEN_HEIGHT/FONT_HEIGHT)-6)
1130 
1131  // DEBUG: "Show misc. values"
1132  // change ROW to fit values on screen in draw_txt_string(COLUMN, ROW, ...)
1133  // uncomment call to gui_draw_debug_vals_osd() in gui_redraw() if you want debug values always on top
1134  if (conf.debug_misc_vals_show) {
1135  // show value of Memory Address selected with Memory Browser
1136  sprintf(osd_buf, "MEM: %#8x", (void*) (*(int*)conf.mem_view_addr_init)); // show value in Hexadecimal integer
1137  //sprintf(osd_buf, "MEM: %8u", (void*) (*(int*)conf.mem_view_addr_init)); // show value in Decimal integer
1138  draw_txt_string(DBGMISCVALS_X, DBGMISCVALS_Y, osd_buf, col);
1139 
1140  // show Autofocus status (if AF is working)
1141  extern volatile long focus_busy;
1142  sprintf(osd_buf, "FB: %8u", focus_busy);
1143  draw_txt_string(DBGMISCVALS_X, DBGMISCVALS_Y+1, osd_buf, col);
1144 
1145  // show Zoom status (if Lens is moving)
1146  extern volatile long zoom_busy;
1147  sprintf(osd_buf, "ZB: %8u", zoom_busy);
1148  draw_txt_string(DBGMISCVALS_X, DBGMISCVALS_Y+2, osd_buf, col);
1149 
1150  // show USB-Power status to debug remote / sync
1151  sprintf(osd_buf, "USB: %8u", get_usb_power(1));
1152  draw_txt_string(DBGMISCVALS_X, DBGMISCVALS_Y+3, osd_buf, col);
1153 
1154  /*
1155  // some cameras missing zoom_status
1156  sprintf(osd_buf, "ZS: %#8x", zoom_status);
1157  draw_txt_string(DBGMISCVALS_X, DBGMISCVALS_Y+4, osd_buf, col);
1158  */
1159 
1160  /*
1161  sprintf(osd_buf, "VP: %#8x", vid_get_viewport_active_buffer());
1162  draw_txt_string(DBGMISCVALS_X, DBGMISCVALS_Y+5, osd_buf, col);
1163  */
1164 
1165  /*
1166  // debug keymap, KEYS_MASKx, SD_READONLY_FLAG, USB_MASK
1167  extern long physw_status[3];
1168  sprintf(osd_buf, "PS1: %#8x", physw_status[0]);
1169  draw_txt_string(DBGMISCVALS_X, DBGMISCVALS_Y+1, osd_buf, col);
1170 
1171  sprintf(osd_buf, "PS2: %#8x", physw_status[1]);
1172  draw_txt_string(DBGMISCVALS_X, DBGMISCVALS_Y+2, osd_buf, col);
1173 
1174  sprintf(osd_buf, "PS3: %#8x", physw_status[2]);
1175  draw_txt_string(DBGMISCVALS_X, DBGMISCVALS_Y+3, osd_buf, col);
1176  */
1177 
1178  /*
1179  long v=get_file_counter();
1180  sprintf(osd_buf, "1:%03d-%04d", (v>>18)&0x3FF, (v>>4)&0x3FFF);
1181  sprintf(osd_buf, "1:%d, %08X", xxxx, eeee);
1182  */
1183  }
1184  {
1185  int r,i, p, len;
1187 
1188  for (i=0;i<10;i++){
1189  r = 0;
1190  p = conf.debug_propcase_page*10+i;
1191  get_property_case(p, &r, 4);
1192  sprintf(osd_buf, "%3d: %d ", p, r);
1193  osd_buf[20]=0;
1195  }
1196  }
1197 
1199  char s[30];
1200  int count;
1201 
1202  for (i=0;i<10;i++){
1203  r = 0;
1204  p = conf.debug_propcase_page*10+i;
1205  if (p>=get_flash_params_count()) {
1206  sprintf(osd_buf, "%3d: This parameter does not exists", p);
1207  } else {
1208  len = get_parameter_size(p);
1209  if ((len==1)||(len==2)||(len==4)){
1210  get_parameter_data(p, &r, len);
1211  sprintf(osd_buf, "%3d: %30d :%2d ", p, r,len);
1212  }
1213  else {
1214  if (len>=sizeof(s)) count=sizeof(s)-1; else count=len;
1215  get_parameter_data(p, &s, count);
1216  s[count]=0;
1217  sprintf(osd_buf, "%3d: %30s :%2d ", p, s,len);
1218  }
1219  }
1221  }
1222  }
1224 
1225  for (i=0;i<10;i++){
1226  p = conf.debug_propcase_page*10+i;
1227  if (p>=uiprop_count) {
1228  sprintf(osd_buf, "%3d: Does not exist ", p);
1229  } else {
1230  r = get_uiprop_value(p);
1231  sprintf(osd_buf, "%3d: %hi ", p, r);
1232  }
1233  osd_buf[20]=0;
1235  }
1236  }
1237  }
1238 
1239 #ifndef CAM_DRYOS
1241  gui_debug_draw_tasklist();
1242 #endif
1243 #endif
1244 }
void gui_draw_osd ( )

Definiert in Zeile 1300 der Datei gui_osd.c.

1301 {
1302  if (half_disp_press)
1303  return;
1304 
1306  gui_draw_osd_elements(0,0);
1307 
1309 
1311 }
void gui_draw_osd_elements ( int  is_osd_edit,
int  is_zebra 
)

Definiert in Zeile 1273 der Datei gui_osd.c.

1274 {
1275  if (!is_osd_edit)
1276  libgrids->gui_grid_draw_osd(is_zebra);
1277 
1278  gui_osd_draw_dof(is_osd_edit);
1279  gui_osd_draw_values(is_osd_edit,is_zebra);
1280 
1281  if (is_osd_edit || is_zebra || osd_visible())
1282  {
1283  gui_osd_draw_state(is_osd_edit);
1284  gui_osd_draw_raw_info(is_osd_edit);
1285  gui_batt_draw_osd(is_osd_edit);
1286  gui_space_draw_osd(is_osd_edit);
1287  gui_osd_draw_temp(is_osd_edit);
1288  gui_osd_draw_clock(0,0,MAKE_COLOR(0,0),is_osd_edit);
1289  if (!is_zebra)
1290  {
1291  gui_usb_draw_osd(is_osd_edit);
1292  gui_osd_draw_ev(is_osd_edit);
1293  }
1294  }
1295 
1296  if (!is_zebra)
1297  gui_osd_draw_ev_video(is_osd_edit);
1298 }
void gui_kbd_shortcuts ( )

Definiert in Zeile 889 der Datei gui_osd.c.

890 {
891  static int half_disp_press_old=0;
892 
894  {
895  if (conf.enable_shortcuts == 1)
896  {
901  }
902 #if !CAM_HAS_MANUAL_FOCUS && CAM_HAS_ZOOM_LEVER
903  // Todo, check for AF and if its running, don't override
908  }
909  } else if (kbd_is_key_pressed(SHORTCUT_SD_ADD)) {
913  }
914  }
915 #endif
916  }
917 
919  if (half_disp_press && !half_disp_press_old)
921 #ifdef CAM_DISP_ALT_TEXT
922  if (half_disp_press)
923  {
924  extern void gui_reset_alt_helper();
926  }
927 #endif
928  half_disp_press_old = half_disp_press;
929 }
void gui_osd_draw_clock ( int  x,
int  y,
twoColors  cl,
int  is_osd_edit 
)

Definiert in Zeile 458 der Datei gui_osd.c.

459 {
460  if (conf.show_clock || is_osd_edit)
461  {
462  static char *ampm[2][3] = { { " AM", "A", " "}, { " PM", "P", "." } };
463 
464  struct tm *ttm = get_localtime();
465 
466  int w = 0; // Extra width from AM/PM indicator and seconds (if displayed)
467 
468  if ((FG_COLOR(cl) == 0) && (BG_COLOR(cl) == 0)) cl = user_color(conf.osd_color);
469 
470  if ((camera_info.state.is_shutter_half_press == 0) || (conf.clock_halfpress == 0) || is_osd_edit)
471  {
472  unsigned int hour = (ttm->tm_hour);
473  char *ampm_ind = ""; // AM / PM indicator
474 
476  {
477  ampm_ind = ampm[hour/12][conf.clock_indicator]; //(hour >= 12) ? pm : am;
478  w = strlen(ampm_ind);
479  if (hour == 0)
480  hour = 12;
481  else if (hour > 12)
482  hour = hour - 12;
483  }
484 
485  if ((conf.show_clock != CLOCK_WITHOUT_SEC) || is_osd_edit)
486  {
487  sprintf(osd_buf, "%2u:%02u:%02u%s", hour, ttm->tm_min, ttm->tm_sec, ampm_ind);
488  w += 3;
489  }
490  else
491  {
492  sprintf(osd_buf, "%2u:%02u%s", hour, ttm->tm_min, ampm_ind);
493  }
494 
495  if (x) // for gui_4wins.c
496  draw_string(x, y, osd_buf, cl);
497  else
499  }
501  {
502  sprintf(osd_buf, "%02u", ttm->tm_sec);
503  if (conf.clock_pos.x >= 4*FONT_WIDTH) w = 3;
505  }
506  }
507 }
void gui_update_debug_page ( )
void MakeAFScan ( void  )

Variablen-Dokumentation

int canon_menu_active
char canon_shoot_menu_active
gui_handler defaultGuiHandler

Definiert in Zeile 1367 der Datei gui_osd.c.