1
0
mirror of https://github.com/vcmi/vcmi.git synced 2025-11-06 09:09:40 +02:00

optimize videowindow (black bg)

This commit is contained in:
Laserlicht
2024-09-22 17:03:20 +02:00
parent 43666ec987
commit 6a74b3d26c
2 changed files with 9 additions and 2 deletions

View File

@@ -34,6 +34,7 @@
#include "../widgets/TextControls.h"
#include "../widgets/ObjectLists.h"
#include "../widgets/VideoWidget.h"
#include "../widgets/GraphicalPrimitiveCanvas.h"
#include "../render/Canvas.h"
#include "../render/IRenderHandler.h"
@@ -1618,6 +1619,7 @@ VideoWindow::VideoWindow(VideoPath video, ImagePath rim, bool showBackground, fl
if(!rim.empty())
{
setBackground(rim);
videoPlayer = std::make_shared<VideoWidgetOnce>(Point(80, 186), video, true, [this](){ exit(false); });
pos = center(Rect(0, 0, 800, 600));
}
@@ -1630,8 +1632,11 @@ VideoWindow::VideoWindow(VideoPath video, ImagePath rim, bool showBackground, fl
if(showBackground)
backgroundAroundWindow = std::make_shared<CFilledTexture>(ImagePath::builtin("DIBOXBCK"), Rect(-pos.x, -pos.y, GH.screenDimensions().x, GH.screenDimensions().y));
if(!rim.empty())
setBackground(rim);
if(rim.empty())
{
blackBackground = std::make_shared<GraphicalPrimitiveCanvas>(Rect(0, 0, pos.w, pos.h));
blackBackground->addBox(Point(0, 0), Point(pos.w, pos.h), Colors::BLACK);
}
}
void VideoWindow::exit(bool skipped)

View File

@@ -44,6 +44,7 @@ class CFilledTexture;
class IImage;
class VideoWidget;
class VideoWidgetOnce;
class GraphicalPrimitiveCanvas;
enum class EUserEvent;
@@ -506,6 +507,7 @@ class VideoWindow : public CWindowObject
{
std::shared_ptr<VideoWidgetOnce> videoPlayer;
std::shared_ptr<CFilledTexture> backgroundAroundWindow;
std::shared_ptr<GraphicalPrimitiveCanvas> blackBackground;
std::function<void(bool)> closeCb;