//shadow direction void SettingDlg::OnShadowDirCheck(wxCommandEvent &event) { if (m_shadow_dir_chk->GetValue()) { m_shadow_dir_sldr->Enable(); m_shadow_dir_text->Enable(); wxString str; str = m_shadow_dir_text->GetValue(); double deg; str.ToDouble(°); SetShadowDir(deg); m_shadow_dir = true; } else { m_shadow_dir_sldr->Disable(); m_shadow_dir_text->Disable(); m_shadow_dir_x = 0.0; m_shadow_dir_y = 0.0; m_shadow_dir = false; } VRenderFrame* vr_frame = (VRenderFrame*)m_frame; if (vr_frame) { for (int i=0 ; i<(int)vr_frame->GetViewList()->size() ; i++) { VRenderView* vrv = (*vr_frame->GetViewList())[i]; if (vrv) vrv->RefreshGL(); } } }
void KeyListCtrl::OnAct(wxListEvent &event) { long item = GetNextItem(-1, wxLIST_NEXT_ALL, wxLIST_STATE_SELECTED); if (item == -1) return; wxString str = GetItemText(item); long id; str.ToLong(&id); VRenderFrame* vr_frame = (VRenderFrame*)m_frame; if (!vr_frame) return; Interpolator* interpolator = vr_frame->GetInterpolator(); if (!interpolator) return; int index = interpolator->GetKeyIndex(int(id)); double time = interpolator->GetKeyTime(index); VRenderView* view = vr_frame->GetRecorderDlg()->GetView(); if (!view) view = vr_frame->GetView(0); if (view) { view->m_glview->SetParams(time); view->RefreshGL(); } }
//font void SettingDlg::OnFontChange(wxCommandEvent &event) { wxString str = m_font_cmb->GetValue(); if (str != "") { m_font_file = str + ".ttf"; std::string exePath = wxStandardPaths::Get().GetExecutablePath().ToStdString(); exePath = exePath.substr(0,exePath.find_last_of(std::string()+GETSLASH())); std::string loc = exePath + GETSLASH() + wxString("Fonts") + GETSLASH() + str.ToStdString() + ".ttf"; VRenderFrame* vr_frame = (VRenderFrame*)m_frame; if (vr_frame) { vr_frame->GetTextRenderer()->LoadNewFace(loc); vr_frame->GetTextRenderer()->SetSize(m_text_size); for (int i=0 ; i<(int)vr_frame->GetViewList()->size() ; i++) { VRenderView* vrv = (*vr_frame->GetViewList())[i]; if (vrv) vrv->RefreshGL(); } } } }
void SettingDlg::OnShadowDirEdit(wxCommandEvent &event) { wxString str = m_shadow_dir_text->GetValue(); double deg; str.ToDouble(°); m_shadow_dir_sldr->SetValue(int(deg)); SetShadowDir(deg); VRenderFrame* vr_frame = (VRenderFrame*)m_frame; if (vr_frame) { for (int i=0 ; i<(int)vr_frame->GetViewList()->size() ; i++) { VRenderView* vrv = (*vr_frame->GetViewList())[i]; if (vrv) vrv->RefreshGL(); } } }
void SettingDlg::OnFontSizeChange(wxCommandEvent &event) { wxString str = m_font_size_cmb->GetValue(); long size; if (str.ToLong(&size)) { m_text_size = size; VRenderFrame* vr_frame = (VRenderFrame*)m_frame; if (vr_frame) { vr_frame->GetTextRenderer()->SetSize(m_text_size); for (int i=0 ; i<(int)vr_frame->GetViewList()->size() ; i++) { VRenderView* vrv = (*vr_frame->GetViewList())[i]; if (vrv) vrv->RefreshGL(); } } } }
//gradient background void SettingDlg::OnGradBgCheck(wxCommandEvent &event) { if (m_grad_bg_chk->GetValue()) m_grad_bg = true; else m_grad_bg = false; VRenderFrame* vr_frame = (VRenderFrame*)m_frame; if (vr_frame) { for (int i=0 ; i<(int)vr_frame->GetViewList()->size() ; i++) { VRenderView* vrv = (*vr_frame->GetViewList())[i]; if (vrv) { vrv->SetGradBg(m_grad_bg); vrv->RefreshGL(); } } } }
void SettingDlg::OnMicroBlendCheck(wxCommandEvent &event) { if (m_micro_blend_chk->GetValue()) m_micro_blend = true; else m_micro_blend = false; VRenderFrame* vr_frame = (VRenderFrame*)m_frame; if (vr_frame) { for (int i=0 ; i<(int)vr_frame->GetViewList()->size() ; i++) { VRenderView* vrv = (*vr_frame->GetViewList())[i]; if (vrv) { vrv->SetBlendSlices(m_micro_blend); vrv->RefreshGL(); } } } }
void SettingDlg::OnMouseIntCheck(wxCommandEvent &event) { if (m_mouse_int_chk->GetValue()) m_mouse_int = true; else m_mouse_int = false; VRenderFrame* vr_frame = (VRenderFrame*)m_frame; if (vr_frame) { for (int i=0 ; i<(int)vr_frame->GetViewList()->size() ; i++) { VRenderView* vrv = (*vr_frame->GetViewList())[i]; if (vrv) { vrv->SetAdaptive(m_mouse_int); vrv->RefreshGL(); } } } }
void SettingDlg::OnPeelingLayersEdit(wxCommandEvent &event) { wxString str = m_peeling_layers_text->GetValue(); long ival; str.ToLong(&ival); if (ival<=0) return; m_peeling_layers_sldr->SetValue(ival); m_peeling_layers = ival; VRenderFrame* vr_frame = (VRenderFrame*)m_frame; if (vr_frame) { for (int i=0 ; i<(int)vr_frame->GetViewList()->size() ; i++) { VRenderView* vrv = (*vr_frame->GetViewList())[i]; if (vrv) { vrv->SetPeelingLayers(ival); vrv->RefreshGL(); } } } }