void gui_kbd_shortcuts() { static int half_disp_press_old=0; if (camera_info.state.is_shutter_half_press) { if (conf.enable_shortcuts == 1) { kbd_shortcut(SHORTCUT_TOGGLE_ZEBRA, &conf.zebra_draw, 1); kbd_shortcut(SHORTCUT_TOGGLE_HISTO, &conf.show_histo, SHOW_HISTO_HALF); kbd_shortcut(SHORTCUT_TOGGLE_OSD, &conf.show_osd, 1); kbd_shortcut(SHORTCUT_DISABLE_OVERRIDES, &conf.override_disable, 1); } #if !CAM_HAS_MANUAL_FOCUS && CAM_HAS_ZOOM_LEVER // Todo, check for AF and if its running, don't override if (kbd_is_key_pressed(SHORTCUT_SD_SUB)) { if (!(conf.override_disable==1) && shooting_can_focus() && shooting_get_common_focus_mode()) { gui_subj_dist_override_value_enum(-1,0); shooting_set_focus(shooting_get_subject_distance_override_value(),SET_NOW); } } else if (kbd_is_key_pressed(SHORTCUT_SD_ADD)) { if (!(conf.override_disable==1) && shooting_can_focus() && shooting_get_common_focus_mode()) { gui_subj_dist_override_value_enum(1,0); shooting_set_focus(shooting_get_subject_distance_override_value(),SET_NOW); } } #endif } half_disp_press = camera_info.state.mode_photo && camera_info.state.is_shutter_half_press && kbd_is_key_pressed(KEY_DISPLAY); if (half_disp_press && !half_disp_press_old) gui_set_need_restore(); #ifdef CAM_DISP_ALT_TEXT if (half_disp_press) { extern void gui_reset_alt_helper(); gui_reset_alt_helper(); } #endif half_disp_press_old = half_disp_press; }
void gui_osd_draw_dof(int is_osd_edit) { if (conf.show_dof != DOF_DONT_SHOW) shooting_update_dof_values(); if (is_osd_edit || (camera_info.state.mode_rec_or_review && ((conf.show_dof == DOF_SHOW_IN_DOF) || (conf.show_dof == DOF_SHOW_IN_DOF_EX)) && (((camera_info.state.is_shutter_half_press || camera_info.state.state_kbd_script_run || shooting_get_common_focus_mode()) && (camera_info.state.mode_photo || camera_info.state.mode_shooting==MODE_STITCH)) || ((camera_info.state.mode_video || is_video_recording()) && conf.show_values_in_video)))) { twoColors col = user_color(conf.osd_color); twoColors valid_col = MAKE_COLOR(BG_COLOR(col), COLOR_GREEN); int i = 8, j; short f_ex = (conf.show_dof==DOF_SHOW_IN_DOF_EX); draw_osd_string(conf.dof_pos, 0, 0, "S/NL/FL:", col, conf.dof_scale); sprintf_dist(osd_buf, camera_info.dof_values.subject_distance); j = strlen(osd_buf); draw_osd_string(conf.dof_pos, i*FONT_WIDTH, 0, osd_buf, (f_ex && (camera_info.dof_values.distance_valid || shooting_get_focus_mode()))?valid_col:col, conf.dof_scale); i = i+j; draw_osd_string(conf.dof_pos, i*FONT_WIDTH, 0, "/", col, conf.dof_scale); sprintf_dist(osd_buf, camera_info.dof_values.near_limit); j = strlen(osd_buf); draw_osd_string(conf.dof_pos, (++i)*FONT_WIDTH, 0, osd_buf, (f_ex && camera_info.dof_values.distance_valid)?valid_col:col, conf.dof_scale); i = i+j; draw_osd_string(conf.dof_pos, i*FONT_WIDTH, 0, "/", col, conf.dof_scale); sprintf_dist(osd_buf, camera_info.dof_values.far_limit); draw_osd_string(conf.dof_pos, (++i)*FONT_WIDTH, 0, osd_buf, (f_ex && camera_info.dof_values.distance_valid)?valid_col:col, conf.dof_scale); i = 8; draw_osd_string(conf.dof_pos, 0, FONT_HEIGHT, "DOF/HYP:", col, conf.dof_scale); sprintf_dist(osd_buf, camera_info.dof_values.depth_of_field); j = strlen(osd_buf); draw_osd_string(conf.dof_pos, i*FONT_WIDTH, FONT_HEIGHT, osd_buf, (f_ex && camera_info.dof_values.distance_valid)?valid_col:col, conf.dof_scale); i = i+j; draw_osd_string(conf.dof_pos, i*FONT_WIDTH, FONT_HEIGHT, "/", col, conf.dof_scale); sprintf_dist_hyp(osd_buf, camera_info.dof_values.hyperfocal_distance); draw_osd_string(conf.dof_pos, (++i)*FONT_WIDTH, FONT_HEIGHT, osd_buf, (f_ex && camera_info.dof_values.hyperfocal_valid)?valid_col:col, conf.dof_scale); } }
//------------------------------------------------------------------- static void gui_osd_draw_values(int is_osd_edit, int is_zebra) { if (is_osd_edit || (camera_info.state.mode_rec_or_review && conf.show_values)) { // showtype // 1 - show all values // 2 - show DOF values only (for zebra & MF) int showtype = 0; if (!is_zebra && ((conf.show_values==SHOW_MISC_ALWAYS && camera_info.state.mode_photo) || ((camera_info.state.mode_video || is_video_recording()) && conf.show_values_in_video) || ((camera_info.state.is_shutter_half_press || (recreview_hold==1)) && (conf.show_values==SHOW_MISC_SHOOT)))) showtype = 1; else if (is_zebra || (shooting_get_common_focus_mode() && camera_info.state.mode_photo && conf.show_values && !((conf.show_dof==DOF_SHOW_IN_DOF) || (conf.show_dof==DOF_SHOW_IN_DOF_EX)))) showtype = 2; if (conf.values_show_real_iso || conf.values_show_market_iso || conf.values_show_ev_seted || conf.values_show_ev_measured || conf.values_show_bv_measured || conf.values_show_bv_seted || conf.values_show_overexposure || conf.values_show_canon_overexposure || conf.values_show_luminance) gui_osd_calc_expo_param(); m = 0; short f_ex = (conf.show_dof==DOF_SHOW_IN_MISC_EX); if (((conf.show_dof==DOF_SHOW_IN_MISC) || f_ex) && showtype && !is_osd_edit) { if (conf.dof_subj_dist_in_misc) gui_print_osd_dof_string_dist("SD :", camera_info.dof_values.subject_distance, f_ex && (camera_info.dof_values.distance_valid || shooting_get_focus_mode()), 0); if (conf.dof_near_limit_in_misc) gui_print_osd_dof_string_dist("NL :", camera_info.dof_values.near_limit, f_ex && camera_info.dof_values.distance_valid, 0); if (conf.dof_far_limit_in_misc) gui_print_osd_dof_string_dist("FL :", camera_info.dof_values.far_limit, f_ex && camera_info.dof_values.distance_valid, 0); if (conf.dof_depth_in_misc) gui_print_osd_dof_string_dist("DOF:", camera_info.dof_values.depth_of_field, f_ex && camera_info.dof_values.distance_valid, 0); if (conf.dof_hyperfocal_in_misc) gui_print_osd_dof_string_dist("HYP:", camera_info.dof_values.hyperfocal_distance, f_ex && camera_info.dof_values.hyperfocal_valid, 1); } if ((showtype == 1) || is_osd_edit) { if (conf.values_show_zoom || is_osd_edit) { int fl, zp=shooting_get_zoom(), fl1=get_focal_length(zp); switch (conf.zoom_value) { case ZOOM_SHOW_FL: sprintf(osd_buf, "Z:%d.%dmm%8s", fl1/1000, fl1%1000/100, ""); break; case ZOOM_SHOW_EFL: fl=get_effective_focal_length(zp); // scale by users adapter lens eg. Canon Wide .42 or Canon Tele 1.75 fl = fl * conf.zoom_scale / 100; sprintf(osd_buf, "Z:%3dmm%8s", fl/1000, ""); break; case ZOOM_SHOW_X: default: fl=get_zoom_x(zp); sprintf(osd_buf, "Z:%d/%d.%dx%8s", zp, fl/10, fl%10, ""); break; } gui_print_osd_misc_string(); } if (conf.values_show_real_aperture || is_osd_edit) gui_print_osd_misc_string_float("Av :%d.%02d ", 100, shooting_get_real_aperture()/10); int iso_mode = shooting_get_iso_mode(); if ((iso_mode <= 0) || !(conf.values_show_iso_only_in_autoiso_mode)) { if (conf.values_show_real_iso) gui_print_osd_misc_string_int("I-R:", expo.iso); if (conf.values_show_market_iso) gui_print_osd_misc_string_int("I-M:", expo.iso_market); } if (conf.values_show_bv_measured) gui_print_osd_misc_string_canon_values("Bvm:", expo.bv96_measured ); if (conf.values_show_bv_seted) gui_print_osd_misc_string_canon_values("Bvs:", expo.bv96_seted ); if (conf.values_show_ev_measured) gui_print_osd_misc_string_canon_values("Evm:", expo.ev96_measured); if (conf.values_show_ev_seted) gui_print_osd_misc_string_canon_values("Evs:", expo.ev96_seted ); if (conf.values_show_overexposure) gui_print_osd_misc_string_canon_values("dE :", expo.dev96); if (conf.values_show_canon_overexposure) gui_print_osd_misc_string_canon_values("dEc:", expo.dev96_canon); if (conf.values_show_luminance) gui_print_osd_misc_string_float("B :%d.%02d", 100, expo.b); } } }
void gui_osd_draw_state(int is_osd_edit) { n=0; if ((conf.show_state && camera_info.state.mode_rec_or_review) || is_osd_edit) { long t; /////////////////////////// //sprintf(osd_buf,"%s",get_debug()); //draw_string(conf.mode_state_pos.x, conf.mode_state_pos.y+6*FONT_HEIGHT, osd_buf, user_color(conf.osd_color)); //////////////////////////// if (is_tv_override_enabled || is_osd_edit) { if(camera_info.state.is_shutter_half_press) { t=(int)(shooting_get_shutter_speed_from_tv96(shooting_get_tv96())*100000); gui_print_osd_state_string_float("TV:%d.%05d", 100000, t); } else { if (conf.tv_enum_type==TV_OVERRIDE_EV_STEP) gui_print_osd_state_string_chr("TV:",gui_tv_override_value_enum(0,0)); else if (conf.tv_enum_type==TV_OVERRIDE_SHORT_EXP) gui_print_osd_state_string_float("TV:%d.%05d", 100000, conf.tv_override_short_exp); else gui_print_osd_state_string_chr("TV:",gui_hhmss_enum(0,(int)(&conf.tv_override_long_exp))); } } if (is_av_override_enabled || is_osd_edit) gui_print_osd_state_string_float("AV:%d.%02d", 100, shooting_get_aperture_from_av96(shooting_get_av96_override_value())/10); if (camera_info.cam_has_nd_filter) if ((conf.nd_filter_state && !(conf.override_disable==1))|| is_osd_edit) gui_print_osd_state_string_chr("NDFILTER:", ((conf.nd_filter_state==1)?"IN":"OUT")); if ((conf.autoiso_enable && shooting_get_iso_mode()<=0 && !(camera_info.state.mode_shooting==MODE_M || camera_info.state.mode_shooting==MODE_TV) && shooting_get_flash_mode() && (autoiso_and_bracketing_overrides_are_enabled)) || is_osd_edit) gui_print_osd_state_string_chr("AUTOISO:", ((conf.autoiso_enable==1)?"ON":"OFF")); if ((is_sd_override_enabled && shooting_can_focus()) || (camera_info.state.gui_mode_alt && shooting_get_common_focus_mode()) || is_osd_edit) { gui_print_osd_state_string_chr("SD:",gui_subj_dist_override_value_enum(0,0)); if (camera_info.state.gui_mode_alt) { if (conf.subj_dist_override_koef == SD_OVERRIDE_ON) { gui_print_osd_state_string_chr("Adj:",menu_increment_factor_string()); } else gui_print_osd_state_string_chr("Adj:",gui_subj_dist_override_koef_enum(0,0)); } } if (is_iso_override_enabled || is_osd_edit) gui_print_osd_state_string_int("ISO:", shooting_iso_real_to_market(shooting_get_iso_override_value())); // get_iso_override returns "real" units, clamped within camera limits if (is_osd_edit || (shooting_get_drive_mode() && m!=MODE_STITCH && m!=MODE_BEST_IMAGE)) { if (is_tv_bracketing_enabled || is_av_bracketing_enabled || is_iso_bracketing_enabled || is_sd_bracketing_enabled) gui_print_osd_state_string_chr("BRACKET:", shooting_get_bracket_type()); if (is_tv_bracketing_enabled) gui_print_osd_state_string_chr("TV:", shooting_get_tv_bracket_value()); else if (is_av_bracketing_enabled) gui_print_osd_state_string_chr("AV:", shooting_get_av_bracket_value()); else if (is_iso_bracketing_enabled) gui_print_osd_state_string_int("ISO:", conf.iso_bracket_value); else if (is_sd_bracketing_enabled) gui_print_osd_state_string_int("SD:", conf.subj_dist_bracket_value); } #ifdef OPT_CURVES if (conf.curve_enable || is_osd_edit) { if (conf.curve_enable==1) gui_print_osd_state_string_chr("CURVES:", "CSTM"); else if (conf.curve_enable==4) gui_print_osd_state_string_chr("CURVES:", "AUTO"); else if (conf.curve_enable==3) gui_print_osd_state_string_chr("CURVES:", "+2EV"); else if (conf.curve_enable==2) gui_print_osd_state_string_chr("CURVES:", "+1EV"); } #endif if (conf.override_disable == 1) gui_print_osd_state_string_chr("NO ", "OVERRIDES"); if (conf.flash_manual_override) gui_print_osd_state_string_chr("Flash:M ", gui_flash_power_modes_enum(0,0)); if (conf.flash_enable_exp_comp) gui_print_osd_state_string_chr("Flash:A ", gui_flash_exp_comp_modes_enum(0,0)); // edgeoverlay state if (conf.edge_overlay_enable || is_osd_edit) { if (camera_info.state.edge_state_draw==0) gui_print_osd_state_string_chr("EDGE:", "LIVE"); else if (camera_info.state.edge_state_draw==1) gui_print_osd_state_string_chr("EDGE:", ((conf.edge_overlay_pano==0)?"FROZEN":"PANO")); } #ifdef CAM_QUALITY_OVERRIDE // displaying the overriding picture quality if active if (!(conf.fast_image_quality==3) || is_osd_edit) { if (conf.fast_image_quality==0) gui_print_osd_state_string_chr("QUALI:", "super"); else if (conf.fast_image_quality==1) gui_print_osd_state_string_chr("QUALI:", "fine"); else if (conf.fast_image_quality==2) gui_print_osd_state_string_chr("QUALI:", "normal"); } #endif /* draw_string(conf.mode_state_pos.x, conf.mode_state_pos.y+n, get_debug(), user_color(conf.osd_color)); n+=FONT_HEIGHT;*/ } }
long lens_get_focus_pos() { static long v=CAMERA_MAX_DIST; return (kbd_is_key_pressed(KEY_SHOOT_HALF) || camera_info.state.state_kbd_script_run || shooting_get_common_focus_mode())?v=_GetFocusLensSubjectDistance():v; // return _GetFocusLensSubjectDistance(); }
long lens_get_focus_pos() { static long v=65535; return (kbd_is_key_pressed(KEY_SHOOT_HALF) || state_kbd_script_run|| shooting_get_common_focus_mode())?v=_GetFocusLensSubjectDistance():v; // return _GetFocusLensSubjectDistance(); }
long lens_get_target_distance() { static long v=65535; return (kbd_is_key_pressed(KEY_SHOOT_HALF) || state_kbd_script_run|| shooting_get_common_focus_mode())?v=_GetCurrentTargetDistance():v; // return _GetCurrentTargetDistance(); }
long lens_get_focus_pos_from_lense() { static long v=MAX_DIST; return (kbd_is_key_pressed(KEY_SHOOT_HALF) || state_kbd_script_run || shooting_get_common_focus_mode())?v=_GetFocusLensSubjectDistanceFromLens():v; }