From 136e930362c657dab51d2cae6b215c7a554da6cc Mon Sep 17 00:00:00 2001 From: John Preston Date: Mon, 31 May 2021 08:05:22 +0400 Subject: [PATCH] Paint outline in raster mode. --- .../group/calls_group_viewport_raster.cpp | 25 +++++++++++++++++++ .../calls/group/calls_group_viewport_raster.h | 7 ++++++ 2 files changed, 32 insertions(+) diff --git a/Telegram/SourceFiles/calls/group/calls_group_viewport_raster.cpp b/Telegram/SourceFiles/calls/group/calls_group_viewport_raster.cpp index f2dfabd91..92b318019 100644 --- a/Telegram/SourceFiles/calls/group/calls_group_viewport_raster.cpp +++ b/Telegram/SourceFiles/calls/group/calls_group_viewport_raster.cpp @@ -110,6 +110,31 @@ void Viewport::Renderer::paintTile( } paintTileControls(p, x, y, width, height, tile); + paintTileOutline(p, x, y, width, height, tile); +} + +void Viewport::Renderer::paintTileOutline( + Painter &p, + int x, + int y, + int width, + int height, + not_null tile) { + if (!tile->row()->speaking()) { + return; + } + const auto outline = st::groupCallOutline; + const auto &color = st::groupCallMemberActiveIcon; + p.setPen(Qt::NoPen); + p.fillRect(x, y, outline, height - outline, color); + p.fillRect(x + outline, y, width - outline, outline, color); + p.fillRect( + x + width - outline, + y + outline, + outline, + height - outline, + color); + p.fillRect(x, y + height - outline, width - outline, outline, color); } void Viewport::Renderer::paintTileControls( diff --git a/Telegram/SourceFiles/calls/group/calls_group_viewport_raster.h b/Telegram/SourceFiles/calls/group/calls_group_viewport_raster.h index 2066eef56..269a85f8f 100644 --- a/Telegram/SourceFiles/calls/group/calls_group_viewport_raster.h +++ b/Telegram/SourceFiles/calls/group/calls_group_viewport_raster.h @@ -31,6 +31,13 @@ private: const QRect &clip, bool opengl, QRegion &bg); + void paintTileOutline( + Painter &p, + int x, + int y, + int width, + int height, + not_null tile); void paintTileControls( Painter &p, int x,