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

1174 {
1176 }
void ExitFromCompensationEVF ( void  )

Definiert in Zeile 1178 der Datei wrappers.c.

1179 {
1181 }
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  // show value of Memory Address selected with Memory Browser
1120  sprintf(osd_buf, "MEM: %#8x", (void*) (*(int*)conf.mem_view_addr_init)); // show value in Hexadecimal integer
1121  //sprintf(osd_buf, "MEM: %8u", (void*) (*(int*)conf.mem_view_addr_init)); // show value in Decimal integer
1122  draw_txt_string(DBGMISCVALS_X, DBGMISCVALS_Y, osd_buf, col);
1123 
1124  // show Autofocus status (if AF is working)
1125  extern volatile long focus_busy;
1126  sprintf(osd_buf, "FB: %8u", focus_busy);
1127  draw_txt_string(DBGMISCVALS_X, DBGMISCVALS_Y+1, osd_buf, col);
1128 
1129  // show Zoom status (if Lens is moving)
1130  extern volatile long zoom_busy;
1131  sprintf(osd_buf, "ZB: %8u", zoom_busy);
1132  draw_txt_string(DBGMISCVALS_X, DBGMISCVALS_Y+2, osd_buf, col);
1133 
1134  // show USB-Power status to debug remote / sync
1135  sprintf(osd_buf, "USB: %8u", get_usb_power(1));
1136  draw_txt_string(DBGMISCVALS_X, DBGMISCVALS_Y+3, osd_buf, col);
1137 
1138  /*
1139  // some cameras missing zoom_status
1140  sprintf(osd_buf, "ZS: %#8x", zoom_status);
1141  draw_txt_string(DBGMISCVALS_X, DBGMISCVALS_Y+4, osd_buf, col);
1142  */
1143 
1144  /*
1145  sprintf(osd_buf, "VP: %#8x", vid_get_viewport_active_buffer());
1146  draw_txt_string(DBGMISCVALS_X, DBGMISCVALS_Y+5, osd_buf, col);
1147  */
1148 
1149  /*
1150  // debug keymap, KEYS_MASKx, SD_READONLY_FLAG, USB_MASK
1151  extern long physw_status[3];
1152  sprintf(osd_buf, "PS1: %#8x", physw_status[0]);
1153  draw_txt_string(DBGMISCVALS_X, DBGMISCVALS_Y+1, osd_buf, col);
1154 
1155  sprintf(osd_buf, "PS2: %#8x", physw_status[1]);
1156  draw_txt_string(DBGMISCVALS_X, DBGMISCVALS_Y+2, osd_buf, col);
1157 
1158  sprintf(osd_buf, "PS3: %#8x", physw_status[2]);
1159  draw_txt_string(DBGMISCVALS_X, DBGMISCVALS_Y+3, osd_buf, col);
1160  */
1161 
1162  /*
1163  // user friendlier keymap display with separated bits, grouped by hex digits
1164  // comment out the above FB, ZB and USB related lines when using this
1165  extern long physw_status[3];
1166  #define BITDISP(str, val) { unsigned bdi; \
1167  char dig[4] = {'1','2','4','8'}; \
1168  for(bdi=0; bdi<32; bdi++) { \
1169  str[31-bdi] = (val&(1<<bdi))?dig[bdi&3]:'0'; \
1170  } \
1171  str[32] = 0; \
1172  }
1173  draw_txt_string(DBGMISCVALS_X-20, DBGMISCVALS_Y+1, " [ 7][ 6][ 5][ 4][ 3][ 2][ 1][ 0]", col);
1174  strcpy(osd_buf, "PS1: ");
1175  BITDISP((osd_buf+5), physw_status[0])
1176  draw_txt_string(DBGMISCVALS_X-20, DBGMISCVALS_Y+2, osd_buf, col);
1177 
1178  strcpy(osd_buf, "PS2: ");
1179  BITDISP((osd_buf+5), physw_status[1])
1180  draw_txt_string(DBGMISCVALS_X-20, DBGMISCVALS_Y+3, osd_buf, col);
1181 
1182  strcpy(osd_buf, "PS3: ");
1183  BITDISP((osd_buf+5), physw_status[2])
1184  draw_txt_string(DBGMISCVALS_X-20, DBGMISCVALS_Y+4, osd_buf, col);
1185  */
1186 
1187  /*
1188  long v=get_file_counter();
1189  sprintf(osd_buf, "1:%03d-%04d", (v>>18)&0x3FF, (v>>4)&0x3FFF);
1190  sprintf(osd_buf, "1:%d, %08X", xxxx, eeee);
1191  */
1192  }
1193  {
1194  int r,i, p, len;
1196 
1197  for (i=0;i<10;i++){
1198  r = 0;
1199  p = conf.debug_propcase_page*10+i;
1200  get_property_case(p, &r, 4);
1201  sprintf(osd_buf, "%3d: %d ", p, r);
1202  osd_buf[20]=0;
1204  }
1205  }
1206 
1208  char s[30];
1209  int count;
1210 
1211  for (i=0;i<10;i++){
1212  r = 0;
1213  p = conf.debug_propcase_page*10+i;
1214  if (p>=get_flash_params_count()) {
1215  sprintf(osd_buf, "%3d: This parameter does not exists", p);
1216  } else {
1217  len = get_parameter_size(p);
1218  if ((len==1)||(len==2)||(len==4)){
1219  get_parameter_data(p, &r, len);
1220  sprintf(osd_buf, "%3d: %30d :%2d ", p, r,len);
1221  }
1222  else {
1223  if (len>=sizeof(s)) count=sizeof(s)-1; else count=len;
1224  get_parameter_data(p, &s, count);
1225  s[count]=0;
1226  sprintf(osd_buf, "%3d: %30s :%2d ", p, s,len);
1227  }
1228  }
1230  }
1231  }
1233 
1234  for (i=0;i<10;i++){
1235  p = conf.debug_propcase_page*10+i;
1236  if (p>=uiprop_count) {
1237  sprintf(osd_buf, "%3d: Does not exist ", p);
1238  } else {
1239  r = get_uiprop_value(p);
1240  sprintf(osd_buf, "%3d: %hi ", p, r);
1241  }
1242  osd_buf[20]=0;
1244  }
1245  }
1246  }
1247 
1248 #ifndef CAM_DRYOS
1250  gui_debug_draw_tasklist();
1251 #endif
1252 #endif
1253 }
void gui_draw_osd ( )

Definiert in Zeile 1309 der Datei gui_osd.c.

1310 {
1311  if (half_disp_press)
1312  return;
1313 
1315  gui_draw_osd_elements(0,0);
1316 
1318 
1320 }
void gui_draw_osd_elements ( int  is_osd_edit,
int  is_zebra 
)

Definiert in Zeile 1282 der Datei gui_osd.c.

1283 {
1284  if (!is_osd_edit)
1285  libgrids->gui_grid_draw_osd(is_zebra);
1286 
1287  gui_osd_draw_dof(is_osd_edit);
1288  gui_osd_draw_values(is_osd_edit,is_zebra);
1289 
1290  if (is_osd_edit || is_zebra || osd_visible())
1291  {
1292  gui_osd_draw_state(is_osd_edit);
1293  gui_osd_draw_raw_info(is_osd_edit);
1294  gui_batt_draw_osd(is_osd_edit);
1295  gui_space_draw_osd(is_osd_edit);
1296  gui_osd_draw_temp(is_osd_edit);
1297  gui_osd_draw_clock(0,0,MAKE_COLOR(0,0),is_osd_edit);
1298  if (!is_zebra)
1299  {
1300  gui_usb_draw_osd(is_osd_edit);
1301  gui_osd_draw_ev(is_osd_edit);
1302  }
1303  }
1304 
1305  if (!is_zebra)
1306  gui_osd_draw_ev_video(is_osd_edit);
1307 }
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 1376 der Datei gui_osd.c.