//../histogram ~~497~~ } else { if (histo_magnification>105) // :) draw_rectangle(conf.histo_pos.x, conf.histo_pos.y-FONT_HEIGHT, conf.histo_pos.x+8*FONT_WIDTH, conf.histo_pos.y-1, MAKE_COLOR(COLOR_TRANSPARENT, COLOR_TRANSPARENT), RECT_BORDER0|DRAW_FILLED); }
One if more to avoid some flicker ... Code: [Select]//../histogram ~~497~~ } else { if (histo_magnification>105) // draw_rectangle(conf.histo_pos.x, conf.histo_pos.y-FONT_HEIGHT, conf.histo_pos.x+8*FONT_WIDTH, conf.histo_pos.y-1, MAKE_COLOR(COLOR_TRANSPARENT, COLOR_TRANSPARENT), RECT_BORDER0|DRAW_FILLED); }
//../histogram ~~497~~ } else { if (histo_magnification>105) // draw_rectangle(conf.histo_pos.x, conf.histo_pos.y-FONT_HEIGHT, conf.histo_pos.x+8*FONT_WIDTH, conf.histo_pos.y-1, MAKE_COLOR(COLOR_TRANSPARENT, COLOR_TRANSPARENT), RECT_BORDER0|DRAW_FILLED); }
Quote from: Caefix on 15 / January / 2022, 16:01:02One if more to avoid some flicker ...
One if more to avoid some flicker ...
// ~~60~~static long histo_mag_delete=0;// ~~491~~ if (conf.histo_auto_ajust){ if (histo_magnification>110) { // :) histo_mag_delete=1; char osd_buf[64]; sprintf(osd_buf, " %d.%02dx ", histo_magnification/100, histo_magnification%100); draw_string(conf.histo_pos.x, conf.histo_pos.y-FONT_HEIGHT, osd_buf, hc); } else if (is_osd_edit){ draw_string(conf.histo_pos.x, conf.histo_pos.y-FONT_HEIGHT, " 9.99x ", hc); } else { if (histo_mag_delete) // :) draw_rectangle(conf.histo_pos.x, conf.histo_pos.y-FONT_HEIGHT, conf.histo_pos.x+8*FONT_WIDTH, conf.histo_pos.y-1, MAKE_COLOR(COLOR_TRANSPARENT, COLOR_TRANSPARENT), RECT_BORDER0|DRAW_FILLED); histo_mag_delete=0; } }
//Vertical lines // if (conf.histo_show_ev_grid) for (i=1;i<=4;i++) draw_line(x+(1+HISTO_WIDTH)*i/5, y, x+(1+HISTO_WIDTH)*i/5, y+HISTO_HEIGHT, FG_COLOR(hc2)); if (conf.histo_show_ev_grid) for (i=1;i<=4;i++) draw_vline(x+(1+HISTO_WIDTH)*i/5, y, y+HISTO_HEIGHT, FG_COLOR(hc2));
if (!camera_info.state.mode_play) draw_hline(HISTO_WIDTH-10, conf.histo_pos.y+HISTO_HEIGHT-(shooting_get_tv96()/16+20), 12, COLOR_WHITE); }}// ========= MODULE INIT =================
/platform/generic/wrappers.c ~~1638// Y multiplier for cameras with 480 pixel high viewports (CHDK code assumes 240)int __attribute__((weak)) vid_get_viewport_yscale() { return 1; // For most cameras viewport is 240 pixels high}
#ifndef THUMB_FW return 1; // For most cameras viewport is 240 pixels high#else return 2;#endif
Had expected both lines drawing same, but the shorter draws the longer ... Code: [Select] //Vertical lines // if (conf.histo_show_ev_grid) for (i=1;i<=4;i++) draw_line(x+(1+HISTO_WIDTH)*i/5, y, x+(1+HISTO_WIDTH)*i/5, y+HISTO_HEIGHT, FG_COLOR(hc2)); if (conf.histo_show_ev_grid) for (i=1;i<=4;i++) draw_vline(x+(1+HISTO_WIDTH)*i/5, y, y+HISTO_HEIGHT, FG_COLOR(hc2));
&& another fine line ... Code: [Select] if (!camera_info.state.mode_play) draw_hline(HISTO_WIDTH-10, conf.histo_pos.y+HISTO_HEIGHT-(shooting_get_tv96()/16+20), 12, COLOR_WHITE); }}// ========= MODULE INIT =================
&& ptp & LV not quite congruent... (compression)Code: [Select]/platform/generic/wrappers.c ~~1638// Y multiplier for cameras with 480 pixel high viewports (CHDK code assumes 240)int __attribute__((weak)) vid_get_viewport_yscale() { return 1; // For most cameras viewport is 240 pixels high}Digic6 defaults to 1, maybe some code expects 480 & return 2; together ?
Edit2: Compiled same 6055 with Quote#ifndef THUMB_FW return 1; // For most cameras viewport is 240 pixels high#else return 2;#endif, now the draw_vline() is not too long any more ....
Try using the edge overlay on a Digic6 camera with this change.
Started by Barney Fife Fingalo's Builds
Started by leo Hello, I'm a NEWBIE - HELP!! (Newbies assistance, User Guides and thank you notes)
Started by pigeonhill Feature Requests
Started by reyalp Feature Requests
Started by pigeonhill « 1 2 » General Help and Assistance on using CHDK stable releases