From 5cbabf2d35ff5d93e7d7b0cf310763f305f6a34a Mon Sep 17 00:00:00 2001 From: Thomas Goyne Date: Sat, 1 May 2010 01:45:10 +0000 Subject: [PATCH] Add an option to only display visual typesetting tools when the mouse is over the video. Originally committed to SVN as r4257. --- aegisub/src/dialog_options.cpp | 3 +++ aegisub/src/options.cpp | 1 + aegisub/src/video_display.cpp | 4 +++- aegisub/src/visual_tool_clip.cpp | 1 + aegisub/src/visual_tool_cross.cpp | 1 - 5 files changed, 8 insertions(+), 2 deletions(-) diff --git a/aegisub/src/dialog_options.cpp b/aegisub/src/dialog_options.cpp index 06559dca9..93fbe493c 100644 --- a/aegisub/src/dialog_options.cpp +++ b/aegisub/src/dialog_options.cpp @@ -397,6 +397,9 @@ DialogOptions::DialogOptions(wxWindow *parent) control = new wxCheckBox(videoPage,-1,_("Show keyframes in slider")); Bind(control,_T("Show keyframes on video slider")); videoSizer3->Add(control,0,wxEXPAND); + control = new wxCheckBox(videoPage,-1,_("Always show visual tools")); + Bind(control,_T("Always show visual tools")); + videoSizer3->Add(control,0,wxEXPAND); videoSizer3->AddGrowableCol(1,1); // Second sizer diff --git a/aegisub/src/options.cpp b/aegisub/src/options.cpp index 7dac15c35..b7b8dfe27 100644 --- a/aegisub/src/options.cpp +++ b/aegisub/src/options.cpp @@ -377,6 +377,7 @@ void OptionsManager::LoadDefaults(bool onlyDefaults,bool doOverride) { SetInt(_T("Audio Sample Rate"),0); SetBool(_T("Video Visual Realtime"),true); + SetBool(_T("Always show visual tools"),true); SetBool(_T("Detached video"),false); SetInt(_T("Detached video last x"),-1); SetInt(_T("Detached video last y"),-1); diff --git a/aegisub/src/video_display.cpp b/aegisub/src/video_display.cpp index 7393a93fd..b2d311060 100644 --- a/aegisub/src/video_display.cpp +++ b/aegisub/src/video_display.cpp @@ -291,7 +291,9 @@ void VideoDisplay::Render() try { DrawTVEffects(); if (visualMode == -1) SetVisualMode(0, false); - if (visual) visual->Draw(); + if (visual && (visual->mouseX > INT_MIN || visual->mouseY > INT_MIN || Options.AsBool(L"Always show visual tools"))) { + visual->Draw(); + } glFinish(); SwapBuffers(); diff --git a/aegisub/src/visual_tool_clip.cpp b/aegisub/src/visual_tool_clip.cpp index e1e452478..448daf2dd 100644 --- a/aegisub/src/visual_tool_clip.cpp +++ b/aegisub/src/visual_tool_clip.cpp @@ -80,6 +80,7 @@ void VisualToolClip::Update() { /// @return /// void VisualToolClip::Draw() { + if (mouseX == -1 || mouseY == -1) return; // Get current line AssDialogue *line = GetActiveDialogueLine(); if (!line) return; diff --git a/aegisub/src/visual_tool_cross.cpp b/aegisub/src/visual_tool_cross.cpp index a7762a7bc..fd72b4c44 100644 --- a/aegisub/src/visual_tool_cross.cpp +++ b/aegisub/src/visual_tool_cross.cpp @@ -90,7 +90,6 @@ void VisualToolCross::Update() { /// @brief Draw /// void VisualToolCross::Draw() { - // Is it outside? if (mouseX == -1 || mouseY == -1) return; // Draw cross