- executor_.begin_invoke([this]\r
- { \r
- SetThreadPriority(GetCurrentThread(), BELOW_NORMAL_PRIORITY_CLASS);\r
- window_.Create(sf::VideoMode(600, 1000), "CasparCG Diagnostics");\r
- window_.SetPosition(0, 0);\r
- window_.SetActive();\r
- glEnable(GL_BLEND);\r
- glEnable(GL_LINE_SMOOTH);\r
- glHint(GL_LINE_SMOOTH_HINT, GL_NICEST);\r
- glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);\r
- tick();\r
- });\r
+ }\r
+\r
+ void do_show(bool value)\r
+ {\r
+ if(value)\r
+ {\r
+ if(!window_)\r
+ {\r
+ SetThreadPriority(GetCurrentThread(), BELOW_NORMAL_PRIORITY_CLASS);\r
+ window_.reset(new sf::RenderWindow(sf::VideoMode(600, 1000), "CasparCG Diagnostics"));\r
+ window_->SetPosition(0, 0);\r
+ window_->SetActive();\r
+ glEnable(GL_BLEND);\r
+ glEnable(GL_LINE_SMOOTH);\r
+ glHint(GL_LINE_SMOOTH_HINT, GL_NICEST);\r
+ glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);\r
+ tick();\r
+ }\r
+ }\r
+ else\r
+ window_.reset();\r