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

1194 {
1196 }
void ExitFromCompensationEVF ( void  )

Definiert in Zeile 1198 der Datei wrappers.c.

1199 {
1201 }
void gui_draw_debug_vals_osd ( )

Definiert in Zeile 1092 der Datei gui_osd.c.

1093 {
1094 #ifdef OPT_DEBUGGING
1095 
1096 #if defined(OPT_EXMEM_TESTING)
1097  // Only do memory corruption testing if not recording video
1099  {
1100  extern void exmem_testing();
1101  exmem_testing();
1102  }
1103 #endif
1104 
1105 #if defined(OPT_ARAM_TESTING)
1106  extern void aram_testing();
1107  aram_testing();
1108 #endif
1109 
1111 
1112  int DBGMISCVALS_X = ((camera_screen.width/FONT_WIDTH)-17);
1113  int DBGMISCVALS_Y = ((camera_screen.height/FONT_HEIGHT)-6);
1114 
1115  // DEBUG: "Show misc. values"
1116  // change ROW to fit values on screen in draw_txt_string(COLUMN, ROW, ...)
1117  // uncomment call to gui_draw_debug_vals_osd() in gui_redraw() if you want debug values always on top
1118  if (conf.debug_misc_vals_show) {
1119 
1120 #ifdef OPT_VIEWPORT_DEBUG
1121  {
1122  extern char avb_history[32];
1123  extern unsigned char avb_times[32];
1124  unsigned avbtsum = 0;
1125  int n;
1126  for (n=0; n<32; n++) {
1127  avbtsum += avb_times[n];
1128  osd_buf[n] = avb_history[n]+'0';
1129  }
1130  sprintf(osd_buf+24, " FPS x 10: %3u",avbtsum?320000/avbtsum:0);
1131  draw_txt_string(DBGMISCVALS_X-25, DBGMISCVALS_Y-1, osd_buf, col);
1132  }
1133 #endif
1134 
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  // user friendlier keymap display with separated bits, grouped by hex digits
1180  // comment out the above FB, ZB and USB related lines when using this
1181  extern long physw_status[3];
1182  #define BITDISP(str, val) { unsigned bdi; \
1183  char dig[4] = {'1','2','4','8'}; \
1184  for(bdi=0; bdi<32; bdi++) { \
1185  str[31-bdi] = (val&(1<<bdi))?dig[bdi&3]:'0'; \
1186  } \
1187  str[32] = 0; \
1188  }
1189  draw_txt_string(DBGMISCVALS_X-20, DBGMISCVALS_Y+1, " [ 7][ 6][ 5][ 4][ 3][ 2][ 1][ 0]", col);
1190  strcpy(osd_buf, "PS1: ");
1191  BITDISP((osd_buf+5), physw_status[0])
1192  draw_txt_string(DBGMISCVALS_X-20, DBGMISCVALS_Y+2, osd_buf, col);
1193 
1194  strcpy(osd_buf, "PS2: ");
1195  BITDISP((osd_buf+5), physw_status[1])
1196  draw_txt_string(DBGMISCVALS_X-20, DBGMISCVALS_Y+3, osd_buf, col);
1197 
1198  strcpy(osd_buf, "PS3: ");
1199  BITDISP((osd_buf+5), physw_status[2])
1200  draw_txt_string(DBGMISCVALS_X-20, DBGMISCVALS_Y+4, osd_buf, col);
1201  */
1202 
1203  /*
1204  long v=get_file_counter();
1205  sprintf(osd_buf, "1:%03d-%04d", (v>>18)&0x3FF, (v>>4)&0x3FFF);
1206  sprintf(osd_buf, "1:%d, %08X", xxxx, eeee);
1207  */
1208  }
1209  {
1210  int r,i, p, len;
1212 
1213  for (i=0;i<10;i++){
1214  r = 0;
1215  p = conf.debug_propcase_page*10+i;
1216  get_property_case(p, &r, 4);
1217  sprintf(osd_buf, "%3d: %d ", p, r);
1218  osd_buf[20]=0;
1220  }
1221  }
1222 
1224  char s[30];
1225  int count;
1226 
1227  for (i=0;i<10;i++){
1228  r = 0;
1229  p = conf.debug_propcase_page*10+i;
1230  if (p>=get_flash_params_count()) {
1231  sprintf(osd_buf, "%3d: This parameter does not exists", p);
1232  } else {
1233  len = get_parameter_size(p);
1234  if ((len==1)||(len==2)||(len==4)){
1235  get_parameter_data(p, &r, len);
1236  sprintf(osd_buf, "%3d: %30d :%2d ", p, r,len);
1237  }
1238  else {
1239  if (len>=sizeof(s)) count=sizeof(s)-1; else count=len;
1240  get_parameter_data(p, &s, count);
1241  s[count]=0;
1242  sprintf(osd_buf, "%3d: %30s :%2d ", p, s,len);
1243  }
1244  }
1246  }
1247  }
1249 
1250  for (i=0;i<10;i++){
1251  p = conf.debug_propcase_page*10+i;
1252  if (p>=uiprop_count) {
1253  sprintf(osd_buf, "%3d: Does not exist ", p);
1254  } else {
1255  r = get_uiprop_value(p);
1256  sprintf(osd_buf, "%3d: %hi ", p, r);
1257  }
1258  osd_buf[20]=0;
1260  }
1261  }
1262  }
1263 
1264 #ifndef CAM_DRYOS
1266  gui_debug_draw_tasklist();
1267 #endif
1268 #endif
1269 }
void gui_draw_osd ( )

Definiert in Zeile 1325 der Datei gui_osd.c.

1326 {
1327  if (half_disp_press)
1328  return;
1329 
1331  gui_draw_osd_elements(0,0);
1332 
1334 
1336 }
void gui_draw_osd_elements ( int  is_osd_edit,
int  is_zebra 
)

Definiert in Zeile 1298 der Datei gui_osd.c.

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

Definiert in Zeile 873 der Datei gui_osd.c.

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

Definiert in Zeile 443 der Datei gui_osd.c.

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