CHDK_DE Vorschauversion  Trunk Rev. 6014
 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 1203 der Datei wrappers.c.

1204 {
1206 }
void ExitFromCompensationEVF ( void  )

Definiert in Zeile 1208 der Datei wrappers.c.

1209 {
1211 }
void gui_draw_debug_vals_osd ( )

Definiert in Zeile 1093 der Datei gui_osd.c.

1094 {
1095 #ifdef OPT_DEBUGGING
1096 
1097 #if defined(OPT_EXMEM_TESTING)
1098  // Only do memory corruption testing if not recording video
1100  {
1101  extern void exmem_testing();
1102  exmem_testing();
1103  }
1104 #endif
1105 
1106 #if defined(OPT_ARAM_TESTING)
1107  extern void aram_testing();
1108  aram_testing();
1109 #endif
1110 
1112 
1113  int DBGMISCVALS_X = ((camera_screen.width/FONT_WIDTH)-17);
1114  int DBGMISCVALS_Y = ((camera_screen.height/FONT_HEIGHT)-6);
1115 
1116  // DEBUG: "Show misc. values"
1117  // change ROW to fit values on screen in draw_txt_string(COLUMN, ROW, ...)
1118  // uncomment call to gui_draw_debug_vals_osd() in gui_redraw() if you want debug values always on top
1119  if (conf.debug_misc_vals_show) {
1120 
1121 #ifdef OPT_VIEWPORT_DEBUG
1122  {
1123  extern char avb_history[32];
1124  extern unsigned char avb_times[32];
1125  unsigned avbtsum = 0;
1126  int n;
1127  for (n=0; n<32; n++) {
1128  avbtsum += avb_times[n];
1129  osd_buf[n] = avb_history[n]+'0';
1130  }
1131  sprintf(osd_buf+24, " FPS x 10: %3u",avbtsum?320000/avbtsum:0);
1132  draw_txt_string(DBGMISCVALS_X-25, DBGMISCVALS_Y-1, osd_buf, col);
1133  }
1134 #endif
1135 
1136  // show value of Memory Address selected with Memory Browser
1137  sprintf(osd_buf, "MEM: %#8x", (void*) (*(int*)conf.mem_view_addr_init)); // show value in Hexadecimal integer
1138  //sprintf(osd_buf, "MEM: %8u", (void*) (*(int*)conf.mem_view_addr_init)); // show value in Decimal integer
1139  draw_txt_string(DBGMISCVALS_X, DBGMISCVALS_Y, osd_buf, col);
1140 
1141  // show Autofocus status (if AF is working)
1142  extern volatile long focus_busy;
1143  sprintf(osd_buf, "FB: %8u", focus_busy);
1144  draw_txt_string(DBGMISCVALS_X, DBGMISCVALS_Y+1, osd_buf, col);
1145 
1146  // show Zoom status (if Lens is moving)
1147  extern volatile long zoom_busy;
1148  sprintf(osd_buf, "ZB: %8u", zoom_busy);
1149  draw_txt_string(DBGMISCVALS_X, DBGMISCVALS_Y+2, osd_buf, col);
1150 
1151  // show USB-Power status to debug remote / sync
1152  sprintf(osd_buf, "USB: %8u", get_usb_power(1));
1153  draw_txt_string(DBGMISCVALS_X, DBGMISCVALS_Y+3, osd_buf, col);
1154 
1155  /*
1156  // some cameras missing zoom_status
1157  sprintf(osd_buf, "ZS: %#8x", zoom_status);
1158  draw_txt_string(DBGMISCVALS_X, DBGMISCVALS_Y+4, osd_buf, col);
1159  */
1160 
1161  /*
1162  sprintf(osd_buf, "VP: %#8x", vid_get_viewport_active_buffer());
1163  draw_txt_string(DBGMISCVALS_X, DBGMISCVALS_Y+5, osd_buf, col);
1164  */
1165 
1166  /*
1167  // debug keymap, KEYS_MASKx, SD_READONLY_FLAG, USB_MASK
1168  extern long physw_status[3];
1169  sprintf(osd_buf, "PS1: %#8x", physw_status[0]);
1170  draw_txt_string(DBGMISCVALS_X, DBGMISCVALS_Y+1, osd_buf, col);
1171 
1172  sprintf(osd_buf, "PS2: %#8x", physw_status[1]);
1173  draw_txt_string(DBGMISCVALS_X, DBGMISCVALS_Y+2, osd_buf, col);
1174 
1175  sprintf(osd_buf, "PS3: %#8x", physw_status[2]);
1176  draw_txt_string(DBGMISCVALS_X, DBGMISCVALS_Y+3, osd_buf, col);
1177  */
1178 
1179  /*
1180  // user friendlier keymap display with separated bits, grouped by hex digits
1181  // comment out the above FB, ZB and USB related lines when using this
1182  extern long physw_status[3];
1183  #define BITDISP(str, val) { unsigned bdi; \
1184  char dig[4] = {'1','2','4','8'}; \
1185  for(bdi=0; bdi<32; bdi++) { \
1186  str[31-bdi] = (val&(1<<bdi))?dig[bdi&3]:'0'; \
1187  } \
1188  str[32] = 0; \
1189  }
1190  draw_txt_string(DBGMISCVALS_X-20, DBGMISCVALS_Y+1, " [ 7][ 6][ 5][ 4][ 3][ 2][ 1][ 0]", col);
1191  strcpy(osd_buf, "PS1: ");
1192  BITDISP((osd_buf+5), physw_status[0])
1193  draw_txt_string(DBGMISCVALS_X-20, DBGMISCVALS_Y+2, osd_buf, col);
1194 
1195  strcpy(osd_buf, "PS2: ");
1196  BITDISP((osd_buf+5), physw_status[1])
1197  draw_txt_string(DBGMISCVALS_X-20, DBGMISCVALS_Y+3, osd_buf, col);
1198 
1199  strcpy(osd_buf, "PS3: ");
1200  BITDISP((osd_buf+5), physw_status[2])
1201  draw_txt_string(DBGMISCVALS_X-20, DBGMISCVALS_Y+4, osd_buf, col);
1202  */
1203 
1204  /*
1205  long v=get_file_counter();
1206  sprintf(osd_buf, "1:%03d-%04d", (v>>18)&0x3FF, (v>>4)&0x3FFF);
1207  sprintf(osd_buf, "1:%d, %08X", xxxx, eeee);
1208  */
1209  }
1210  {
1211  int r,i, p, len;
1213 
1214  for (i=0;i<10;i++){
1215  r = 0;
1216  p = conf.debug_propcase_page*10+i;
1217  get_property_case(p, &r, 4);
1218  sprintf(osd_buf, "%3d: %d ", p, r);
1219  osd_buf[20]=0;
1221  }
1222  }
1223 
1225  char s[30];
1226  int count;
1227 
1228  for (i=0;i<10;i++){
1229  r = 0;
1230  p = conf.debug_propcase_page*10+i;
1231  if (p>=get_flash_params_count()) {
1232  sprintf(osd_buf, "%3d: This parameter does not exists", p);
1233  } else {
1234  len = get_parameter_size(p);
1235  if ((len==1)||(len==2)||(len==4)){
1236  get_parameter_data(p, &r, len);
1237  sprintf(osd_buf, "%3d: %30d :%2d ", p, r,len);
1238  }
1239  else {
1240  if (len>=(int)sizeof(s)) count=sizeof(s)-1; else count=len;
1241  get_parameter_data(p, &s, count);
1242  s[count]=0;
1243  sprintf(osd_buf, "%3d: %30s :%2d ", p, s,len);
1244  }
1245  }
1247  }
1248  }
1250 
1251  for (i=0;i<10;i++){
1252  p = conf.debug_propcase_page*10+i;
1253  if (p>=uiprop_count) {
1254  sprintf(osd_buf, "%3d: Does not exist ", p);
1255  } else {
1256  r = get_uiprop_value(p);
1257  sprintf(osd_buf, "%3d: %hi ", p, r);
1258  }
1259  osd_buf[20]=0;
1261  }
1262  }
1263  }
1264 
1265 #ifndef CAM_DRYOS
1267  gui_debug_draw_tasklist();
1268 #endif
1269 #endif
1270 }
void gui_draw_osd ( )

Definiert in Zeile 1328 der Datei gui_osd.c.

1329 {
1330  if (half_disp_press)
1331  return;
1332 
1334  gui_draw_osd_elements(0,0);
1335 
1337 
1339 }
void gui_draw_osd_elements ( int  is_osd_edit,
int  is_zebra 
)

Definiert in Zeile 1299 der Datei gui_osd.c.

1300 {
1301  if (!is_osd_edit)
1302  libgrids->gui_grid_draw_osd(is_zebra);
1303 
1304  gui_osd_draw_dof(is_osd_edit);
1305  gui_osd_draw_values(is_osd_edit,is_zebra);
1306 
1307  if (is_osd_edit || is_zebra || osd_visible())
1308  {
1309  gui_osd_draw_state(is_osd_edit);
1310  gui_osd_draw_raw_info(is_osd_edit);
1311  gui_batt_draw_osd(is_osd_edit);
1312  gui_space_draw_osd(is_osd_edit);
1313  gui_osd_draw_temp(is_osd_edit);
1314  gui_osd_draw_clock(0,0,MAKE_COLOR(0,0),is_osd_edit);
1315  if (!is_zebra)
1316  {
1317  gui_usb_draw_osd(is_osd_edit);
1318  gui_osd_draw_ev(is_osd_edit);
1319  }
1320  }
1321 
1322 #if CAM_EV_IN_VIDEO
1323  if (!is_zebra)
1324  gui_osd_draw_ev_video(is_osd_edit);
1325 #endif
1326 }
void gui_kbd_shortcuts ( )

Definiert in Zeile 874 der Datei gui_osd.c.

875 {
876  static int half_disp_press_old=0;
877 
879  {
880  if (conf.enable_shortcuts == 1)
881  {
886  }
887 #if !CAM_HAS_MANUAL_FOCUS && CAM_HAS_ZOOM_LEVER
888  // Todo, check for AF and if its running, don't override
893  }
894  } else if (kbd_is_key_pressed(SHORTCUT_SD_ADD)) {
898  }
899  }
900 #endif
901  }
902 
904  if (half_disp_press && !half_disp_press_old)
906 #ifdef CAM_DISP_ALT_TEXT
907  if (half_disp_press)
908  {
909  extern void gui_reset_alt_helper();
911  }
912 #endif
913  half_disp_press_old = half_disp_press;
914 }
void gui_osd_draw_clock ( int  x,
int  y,
twoColors  cl,
int  is_osd_edit 
)

Definiert in Zeile 442 der Datei gui_osd.c.

443 {
444  if (conf.show_clock || is_osd_edit)
445  {
446  static char *ampm[2][3] = { { " AM", "A", " "}, { " PM", "P", "." } };
447 
448  struct tm *ttm = get_localtime();
449 
450  int w = 0; // Extra width from AM/PM indicator and seconds (if displayed)
451 
452  if ((FG_COLOR(cl) == 0) && (BG_COLOR(cl) == 0)) cl = user_color(conf.osd_color);
453 
454  if ((camera_info.state.is_shutter_half_press == 0) || (conf.clock_halfpress == 0) || is_osd_edit)
455  {
456  unsigned int hour = (ttm->tm_hour);
457  char *ampm_ind = ""; // AM / PM indicator
458 
460  {
461  ampm_ind = ampm[hour/12][conf.clock_indicator]; //(hour >= 12) ? pm : am;
462  w = strlen(ampm_ind);
463  if (hour == 0)
464  hour = 12;
465  else if (hour > 12)
466  hour = hour - 12;
467  }
468 
469  if ((conf.show_clock != CLOCK_WITHOUT_SEC) || is_osd_edit)
470  {
471  sprintf(osd_buf, "%2u:%02u:%02u%s", hour, ttm->tm_min, ttm->tm_sec, ampm_ind);
472  w += 3;
473  }
474  else
475  {
476  sprintf(osd_buf, "%2u:%02u%s", hour, ttm->tm_min, ampm_ind);
477  }
478 
479  if (x) // for gui_4wins.c
480  draw_string(x, y, osd_buf, cl);
481  else
483  }
485  {
486  sprintf(osd_buf, "%02u", ttm->tm_sec);
487  if (conf.clock_pos.x >= 4*FONT_WIDTH) w = 3;
489  }
490  }
491 }
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 1395 der Datei gui_osd.c.