int ScopeGUI::resize_event(int w, int h) { clear_box(0, 0, w, h); this->w = w; this->h = h; calculate_sizes(w, h); if(waveform) { waveform->reposition_window(wave_x, wave_y, wave_w, wave_h); waveform->clear_box(0, 0, wave_w, wave_h); } if(histogram) { histogram->reposition_window(hist_x, hist_y, hist_w, hist_h); histogram->clear_box(0, 0, hist_w, hist_h); } if(vectorscope) { vectorscope->reposition_window(vector_x, vector_y, vector_w, vector_h); vectorscope->clear_box(0, 0, vector_w, vector_h); } allocate_bitmaps(); clear_points(0); draw_overlays(1, 1, 1); return 1; }
void viewport_draw(viewport_t *viewport) { // usleep(14000); clear_viewport(); //printf("viewport_draw 2\n"); draw_thing(viewport); //printf("viewport_draw 3\n"); draw_overlays(); //printf("viewport_draw 4\n"); texture_iterate(viewport); viewport->status.frames++; update_status(&viewport->status); if(!viewport->button_down) viewport->xrot += 0.1; };
void ScopeGUI::process(VFrame *output_frame) { lock_window("ScopeGUI::process"); this->output_frame = output_frame; frame_w = output_frame->get_w(); //float radius = MIN(vector_w / 2, vector_h / 2); bzero(waveform_bitmap->get_data(), waveform_bitmap->get_data_size()); bzero(vector_bitmap->get_data(), vector_bitmap->get_data_size()); engine->process(); if(histogram) { histogram->draw(0, 0); } if(waveform) { waveform->draw_bitmap(waveform_bitmap, 1, 0, 0); } if(vectorscope) { vectorscope->draw_bitmap(vector_bitmap, 1, 0, 0); } draw_overlays(1, 0, 1); unlock_window(); }
void VWindowCanvas::draw_refresh(int flush) { EDL *edl = gui->vwindow->get_edl(); if(!get_canvas()->get_video_on()) get_canvas()->clear_box(0, 0, get_canvas()->get_w(), get_canvas()->get_h()); if(!get_canvas()->get_video_on() && refresh_frame && edl) { float in_x1, in_y1, in_x2, in_y2; float out_x1, out_y1, out_x2, out_y2; get_transfers(edl, in_x1, in_y1, in_x2, in_y2, out_x1, out_y1, out_x2, out_y2); get_canvas()->draw_vframe(refresh_frame, (int)out_x1, (int)out_y1, (int)(out_x2 - out_x1), (int)(out_y2 - out_y1), (int)in_x1, (int)in_y1, (int)(in_x2 - in_x1), (int)(in_y2 - in_y1), 0); } if(!get_canvas()->get_video_on()) { draw_overlays(); get_canvas()->flash(flush); } }
void ScopeGUI::create_panels() { calculate_sizes(get_w(), get_h()); if((use_wave || use_wave_parade)) { if(!waveform) { add_subwindow(waveform = new ScopeWaveform(this, wave_x, wave_y, wave_w, wave_h)); waveform->create_objects(); } else { waveform->reposition_window(wave_x, wave_y, wave_w, wave_h); waveform->clear_box(0, 0, wave_w, wave_h); } } else if(!(use_wave || use_wave_parade) && waveform) { delete waveform; waveform = 0; } if(use_vector) { if(!vectorscope) { add_subwindow(vectorscope = new ScopeVectorscope(this, vector_x, vector_y, vector_w, vector_h)); vectorscope->create_objects(); } else { vectorscope->reposition_window(vector_x, vector_y, vector_w, vector_h); vectorscope->clear_box(0, 0, vector_w, vector_h); } } else if(!use_vector && vectorscope) { delete vectorscope; vectorscope = 0; } if((use_hist || use_hist_parade)) { if(!histogram) { // printf("ScopeGUI::create_panels %d %d %d %d %d\n", __LINE__, hist_x, // hist_y, // hist_w, // hist_h); add_subwindow(histogram = new ScopeHistogram(this, hist_x, hist_y, hist_w, hist_h)); histogram->create_objects(); } else { histogram->reposition_window(hist_x, hist_y, hist_w, hist_h); histogram->clear_box(0, 0, hist_w, hist_h); } } else if(!(use_hist || use_hist_parade)) { delete histogram; histogram = 0; } allocate_bitmaps(); clear_points(0); draw_overlays(1, 1, 0); }