diff --git a/Telegram/SourceFiles/calls/calls.style b/Telegram/SourceFiles/calls/calls.style index d16acedb9..239abc416 100644 --- a/Telegram/SourceFiles/calls/calls.style +++ b/Telegram/SourceFiles/calls/calls.style @@ -1170,29 +1170,8 @@ desktopCaptureSubmit: RoundButton(desktopCaptureCancel) { groupCallNarrowSkip: 9px; groupCallNarrowMembersWidth: 204px; groupCallNarrowVideoHeight: 120px; -//groupCallNarrowRowSkip: 4px; -//groupCallNarrowSize: size(144px, 90px); -//groupCallNarrowUserpicTop: 13px; -//groupCallNarrowNameTop: 65px; -//groupCallNarrowIconTop: 62px; -//groupCallNarrowIconLess: 5px; groupCallWideModeWidthMin: 600px; groupCallWideModeSize: size(960px, 580px); -//groupCallNarrowAddMemberHeight: 32px; -//groupCallNarrowOutline: 2px; -//groupCallNarrowShadowHeight: 36px; - -//groupCallNarrowAddMember: RoundButton(defaultActiveButton) { -// textFg: groupCallMemberNotJoinedStatus; -// textFgOver: groupCallMemberNotJoinedStatus; -// textBg: groupCallMembersBg; -// textBgOver: groupCallMembersBgOver; -// -// height: 32px; -// radius: roundRadiusLarge; -// -// ripple: groupCallRipple; -//} groupCallNarrowInactiveCrossLine: CrossLineAnimation { fg: groupCallMemberNotJoinedStatus; icon: icon {{ "calls/video_mini_mute", groupCallMemberNotJoinedStatus }}; @@ -1210,17 +1189,13 @@ groupCallNarrowCameraIcon: icon {{ "calls/video_mini_video", groupCallMemberNotJ groupCallNarrowScreenIcon: icon {{ "calls/video_mini_screencast", groupCallMemberNotJoinedStatus }}; groupCallNarrowIconPosition: point(-4px, 2px); groupCallNarrowIconSkip: 15px; -//groupCallVideoCrossLine: CrossLineAnimation(groupCallNarrowInactiveCrossLine) { -// fg: groupCallVideoTextFg; -// icon: icon {{ "calls/voice_mute_mini", groupCallVideoTextFg }}; -//} groupCallOutline: 2px; -groupCallLargeVideoCrossLine: CrossLineAnimation(groupCallMemberColoredCrossLine) { +groupCallVideoCrossLine: CrossLineAnimation(groupCallMemberColoredCrossLine) { fg: groupCallVideoTextFg; icon: icon {{ "calls/video_over_mute", groupCallVideoTextFg }}; } -GroupCallLargeVideo { +GroupCallVideoTile { shadowHeight: pixels; namePosition: point; pin: CrossLineAnimation; @@ -1230,7 +1205,7 @@ GroupCallLargeVideo { iconPosition: point; } -groupCallLargeVideo: GroupCallLargeVideo { +groupCallVideoTile: GroupCallVideoTile { shadowHeight: 40px; namePosition: point(15px, 8px); pin: CrossLineAnimation { @@ -1246,13 +1221,6 @@ groupCallLargeVideo: GroupCallLargeVideo { pinTextPosition: point(1px, 3px); iconPosition: point(10px, 5px); } -//groupCallLargeVideoListItem: PeerListItem(groupCallMembersListItem) { -// nameFg: groupCallVideoTextFg; -// nameFgChecked: groupCallVideoTextFg; -// statusFg: groupCallVideoSubTextFg; -// statusFgOver: groupCallVideoSubTextFg; -// statusFgActive: groupCallVideoSubTextFg; -//} groupCallVideoSmallSkip: 4px; groupCallVideoLargeSkip: 6px; diff --git a/Telegram/SourceFiles/calls/group/calls_group_members.cpp b/Telegram/SourceFiles/calls/group/calls_group_members.cpp index 0abc5d948..3443d56ca 100644 --- a/Telegram/SourceFiles/calls/group/calls_group_members.cpp +++ b/Telegram/SourceFiles/calls/group/calls_group_members.cpp @@ -182,7 +182,7 @@ private: Ui::CrossLineAnimation _coloredCrossLine; Ui::CrossLineAnimation _inactiveNarrowCrossLine; Ui::CrossLineAnimation _coloredNarrowCrossLine; - Ui::CrossLineAnimation _videoLargeCrossLine; + Ui::CrossLineAnimation _videoCrossLine; Ui::RoundRect _narrowRoundRectSelected; Ui::RoundRect _narrowRoundRect; QImage _narrowShadow; @@ -204,7 +204,7 @@ Members::Controller::Controller( , _coloredCrossLine(st::groupCallMemberColoredCrossLine) , _inactiveNarrowCrossLine(st::groupCallNarrowInactiveCrossLine) , _coloredNarrowCrossLine(st::groupCallNarrowColoredCrossLine) -, _videoLargeCrossLine(st::groupCallLargeVideoCrossLine) +, _videoCrossLine(st::groupCallVideoCrossLine) , _narrowRoundRectSelected( ImageRoundRadius::Large, st::groupCallMembersBgOver) @@ -894,7 +894,8 @@ void Members::Controller::rowPaintIcon( Painter &p, QRect rect, const IconState &state) { - if (_mode == PanelMode::Wide && state.style == MembersRowStyle::None) { + if (_mode == PanelMode::Wide + && state.style == MembersRowStyle::Default) { return; } const auto narrow = (state.style == MembersRowStyle::Narrow); @@ -906,9 +907,9 @@ void Members::Controller::rowPaintIcon( st::groupCallMemberInvited.size())); return; } - const auto largeVideo = (state.style == MembersRowStyle::LargeVideo); - const auto &greenIcon = largeVideo - ? st::groupCallLargeVideoCrossLine.icon + const auto video = (state.style == MembersRowStyle::Video); + const auto &greenIcon = video + ? st::groupCallVideoCrossLine.icon : narrow ? st::groupCallNarrowColoredCrossLine.icon : st::groupCallMemberColoredCrossLine.icon; @@ -921,8 +922,8 @@ void Members::Controller::rowPaintIcon( } else if (state.speaking == 0. && (!narrow || !state.mutedByMe)) { if (state.active == 1.) { // Just gray icon, no cross, no coloring. - const auto &grayIcon = largeVideo - ? st::groupCallLargeVideoCrossLine.icon + const auto &grayIcon = video + ? st::groupCallVideoCrossLine.icon : narrow ? st::groupCallNarrowInactiveCrossLine.icon : st::groupCallMemberInactiveCrossLine.icon; @@ -937,12 +938,12 @@ void Members::Controller::rowPaintIcon( return; } // Red crossed icon, colorized once, cached as last frame. - auto &line = largeVideo - ? _videoLargeCrossLine + auto &line = video + ? _videoCrossLine : narrow ? _coloredNarrowCrossLine : _coloredCrossLine; - const auto color = largeVideo + const auto color = video ? std::nullopt : std::make_optional(narrow ? st::groupCallMemberNotJoinedStatus->c @@ -956,8 +957,8 @@ void Members::Controller::rowPaintIcon( return; } else if (state.muted == 0.) { // Gray crossed icon, no coloring, cached as last frame. - auto &line = largeVideo - ? _videoLargeCrossLine + auto &line = video + ? _videoCrossLine : narrow ? _inactiveNarrowCrossLine : _inactiveCrossLine; @@ -982,7 +983,7 @@ void Members::Controller::rowPaintIcon( ? st::groupCallMemberNotJoinedStatus : st::groupCallMemberMutedIcon), state.muted); - const auto color = largeVideo + const auto color = video ? std::nullopt : std::make_optional((narrow && state.mutedByMe) ? st::groupCallMemberMutedIcon->c @@ -993,8 +994,8 @@ void Members::Controller::rowPaintIcon( // Don't use caching of the last frame, // because 'muted' may animate color. const auto crossProgress = std::min(1. - state.active, 0.9999); - auto &line = largeVideo - ? _videoLargeCrossLine + auto &line = video + ? _videoCrossLine : narrow ? _inactiveNarrowCrossLine : _inactiveCrossLine; @@ -1410,13 +1411,6 @@ std::unique_ptr Members::Controller::createRow( const Data::GroupCallParticipant &participant) { auto result = std::make_unique(this, participant.peer); updateRow(result.get(), &participant); - //const auto &camera = computeCameraEndpoint(&participant); - //const auto &screen = computeScreenEndpoint(&participant); - //if (!screen.empty() && _largeEndpoint != screen) { - // setRowVideoEndpoint(result.get(), screen); - //} else if (!camera.empty() && _largeEndpoint != camera) { - // setRowVideoEndpoint(result.get(), camera); - //} return result; } @@ -1559,10 +1553,6 @@ void Members::setupAddMember(not_null call) { updateControlsGeometry(); } -rpl::producer<> Members::enlargeVideo() const { - return _enlargeVideoClicks.events(); -} - Row *Members::lookupRow(not_null peer) const { return _listController->findRow(peer); } diff --git a/Telegram/SourceFiles/calls/group/calls_group_members.h b/Telegram/SourceFiles/calls/group/calls_group_members.h index af85f7525..c6c7d3f55 100644 --- a/Telegram/SourceFiles/calls/group/calls_group_members.h +++ b/Telegram/SourceFiles/calls/group/calls_group_members.h @@ -55,7 +55,6 @@ public: [[nodiscard]] rpl::producer<> addMembersRequests() const { return _addMemberRequests.events(); } - [[nodiscard]] rpl::producer<> enlargeVideo() const; [[nodiscard]] MembersRow *lookupRow(not_null peer) const; @@ -99,7 +98,6 @@ private: not_null _layout; const not_null _videoWrap; std::unique_ptr _viewport; - rpl::event_stream<> _enlargeVideoClicks; rpl::variable _addMemberButton = nullptr; RpWidget *_topSkip = nullptr; RpWidget *_bottomSkip = nullptr; diff --git a/Telegram/SourceFiles/calls/group/calls_group_members_row.cpp b/Telegram/SourceFiles/calls/group/calls_group_members_row.cpp index 01051a576..e947ae973 100644 --- a/Telegram/SourceFiles/calls/group/calls_group_members_row.cpp +++ b/Telegram/SourceFiles/calls/group/calls_group_members_row.cpp @@ -581,7 +581,7 @@ void MembersRow::paintStatusText( availableWidth, outerWidth, selected, - MembersRowStyle::None); + MembersRowStyle::Default); } void MembersRow::paintComplexStatusText( @@ -593,7 +593,7 @@ void MembersRow::paintComplexStatusText( int outerWidth, bool selected, MembersRowStyle style) { - const auto skip = (style == MembersRowStyle::None) + const auto skip = (style == MembersRowStyle::Default) ? _delegate->rowPaintStatusIcon( p, x, @@ -606,7 +606,7 @@ void MembersRow::paintComplexStatusText( x += skip; availableWidth -= skip; const auto &font = st::normalFont; - const auto about = (style == MembersRowStyle::LargeVideo) + const auto about = (style == MembersRowStyle::Video) ? QString() : ((_state == State::RaisedHand && !_raisedHandStatus) || (_state != State::Active && _state != State::RaisedHand)) @@ -638,7 +638,7 @@ void MembersRow::paintComplexStatusText( return; } p.setFont(font); - if (style == MembersRowStyle::LargeVideo) { + if (style == MembersRowStyle::Video) { p.setPen(st::groupCallVideoSubTextFg); } else if (_state == State::MutedByMe) { p.setPen(st::groupCallMemberMutedIcon); diff --git a/Telegram/SourceFiles/calls/group/calls_group_members_row.h b/Telegram/SourceFiles/calls/group/calls_group_members_row.h index 4db68448f..7efd7ab39 100644 --- a/Telegram/SourceFiles/calls/group/calls_group_members_row.h +++ b/Telegram/SourceFiles/calls/group/calls_group_members_row.h @@ -24,9 +24,9 @@ class RippleAnimation; namespace Calls::Group { enum class MembersRowStyle { - None, + Default, Narrow, - LargeVideo, + Video, }; class MembersRow; @@ -39,7 +39,7 @@ public: bool mutedByMe = false; bool raisedHand = false; bool invited = false; - MembersRowStyle style = MembersRowStyle::None; + MembersRowStyle style = MembersRowStyle::Default; }; virtual bool rowIsMe(not_null participantPeer) = 0; virtual bool rowCanMuteMembers() = 0; @@ -152,9 +152,9 @@ public: void paintMuteIcon( Painter &p, QRect iconRect, - MembersRowStyle style = MembersRowStyle::None); + MembersRowStyle style = MembersRowStyle::Default); [[nodiscard]] MembersRowDelegate::IconState computeIconState( - MembersRowStyle style = MembersRowStyle::None) const; + MembersRowStyle style = MembersRowStyle::Default) const; void showContextMenu(); diff --git a/Telegram/SourceFiles/calls/group/calls_group_panel.cpp b/Telegram/SourceFiles/calls/group/calls_group_panel.cpp index 9e0a4aeac..d9a222b55 100644 --- a/Telegram/SourceFiles/calls/group/calls_group_panel.cpp +++ b/Telegram/SourceFiles/calls/group/calls_group_panel.cpp @@ -1023,11 +1023,6 @@ void Panel::setupMembers() { } }, _callLifetime); - _members->enlargeVideo( - ) | rpl::start_with_next([=] { - enlargeVideo(); - }, _callLifetime); - _call->videoEndpointPinnedValue( ) | rpl::start_with_next([=](const VideoEndpoint &pinned) { if (pinned && mode() != PanelMode::Wide) { @@ -1134,7 +1129,7 @@ void Panel::setupVideo(not_null viewport) { Assert(row != nullptr); viewport->add( endpoint, - LargeVideoTrack{ track.track.get(), row }, + VideoTileTrack{ track.track.get(), row }, _call->videoEndpointPinnedValue() | rpl::map(_1 == endpoint)); }; for (const auto &[endpoint, track] : _call->activeVideoTracks()) { @@ -1167,8 +1162,8 @@ void Panel::setupVideo(not_null viewport) { viewport->clicks( ) | rpl::filter([=] { return (_mode.current() == PanelMode::Default); - }) | rpl::start_with_next([=] { - enlargeVideo(); + }) | rpl::start_with_next([=](VideoEndpoint &&endpoint) { + _call->pinVideoEndpoint(std::move(endpoint)); }, viewport->lifetime()); viewport->qualityRequests( diff --git a/Telegram/SourceFiles/calls/group/calls_group_viewport.cpp b/Telegram/SourceFiles/calls/group/calls_group_viewport.cpp index b0c8eb9ca..0c5199ce1 100644 --- a/Telegram/SourceFiles/calls/group/calls_group_viewport.cpp +++ b/Telegram/SourceFiles/calls/group/calls_group_viewport.cpp @@ -203,7 +203,7 @@ void Viewport::setControlsShown(float64 shown) { void Viewport::add( const VideoEndpoint &endpoint, - LargeVideoTrack track, + VideoTileTrack track, rpl::producer pinned) { _tiles.push_back(std::make_unique( endpoint, diff --git a/Telegram/SourceFiles/calls/group/calls_group_viewport.h b/Telegram/SourceFiles/calls/group/calls_group_viewport.h index 9ae603210..d94eae43e 100644 --- a/Telegram/SourceFiles/calls/group/calls_group_viewport.h +++ b/Telegram/SourceFiles/calls/group/calls_group_viewport.h @@ -9,10 +9,6 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL #include "ui/rp_widget.h" -namespace style { -struct GroupCallLargeVideo; -} // namespace style - namespace Ui { class AbstractButton; class RpWidgetWrap; @@ -39,7 +35,7 @@ class MembersRow; enum class PanelMode; enum class VideoQuality; -struct LargeVideoTrack { +struct VideoTileTrack { Webrtc::VideoTrack *track = nullptr; MembersRow *row = nullptr; @@ -49,14 +45,14 @@ struct LargeVideoTrack { }; [[nodiscard]] inline bool operator==( - LargeVideoTrack a, - LargeVideoTrack b) noexcept { + VideoTileTrack a, + VideoTileTrack b) noexcept { return (a.track == b.track) && (a.row == b.row); } [[nodiscard]] inline bool operator!=( - LargeVideoTrack a, - LargeVideoTrack b) noexcept { + VideoTileTrack a, + VideoTileTrack b) noexcept { return !(a == b); } @@ -76,7 +72,7 @@ public: void add( const VideoEndpoint &endpoint, - LargeVideoTrack track, + VideoTileTrack track, rpl::producer pinned); void remove(const VideoEndpoint &endpoint); void showLarge(const VideoEndpoint &endpoint); diff --git a/Telegram/SourceFiles/calls/group/calls_group_viewport_opengl.cpp b/Telegram/SourceFiles/calls/group/calls_group_viewport_opengl.cpp index e71541208..55ee974a4 100644 --- a/Telegram/SourceFiles/calls/group/calls_group_viewport_opengl.cpp +++ b/Telegram/SourceFiles/calls/group/calls_group_viewport_opengl.cpp @@ -240,12 +240,12 @@ void FillTexturedRectangle( Viewport::RendererGL::RendererGL(not_null owner) : _owner(owner) -, _pinIcon(st::groupCallLargeVideo.pin) -, _muteIcon(st::groupCallLargeVideoCrossLine) +, _pinIcon(st::groupCallVideoTile.pin) +, _muteIcon(st::groupCallVideoCrossLine) , _pinBackground( - (st::groupCallLargeVideo.pinPadding.top() - + st::groupCallLargeVideo.pin.icon.height() - + st::groupCallLargeVideo.pinPadding.bottom()) / 2, + (st::groupCallVideoTile.pinPadding.top() + + st::groupCallVideoTile.pin.icon.height() + + st::groupCallVideoTile.pinPadding.bottom()) / 2, st::radialBg) { style::PaletteChanged( @@ -437,12 +437,12 @@ void Viewport::RendererGL::paintTile( const auto y = geometry.y(); const auto width = geometry.width(); const auto height = geometry.height(); - const auto &st = st::groupCallLargeVideo; + const auto &st = st::groupCallVideoTile; const auto shown = _owner->_controlsShownRatio; const auto fullNameShift = st.namePosition.y() + st::normalFont->height; const auto nameShift = anim::interpolate(fullNameShift, 0, shown); const auto row = tile->row(); - const auto style = row->computeIconState(MembersRowStyle::LargeVideo); + const auto style = row->computeIconState(MembersRowStyle::Video); validateOutlineAnimation(tile, tileData); const auto outline = tileData.outlined.value(tileData.outline ? 1. : 0.); @@ -487,7 +487,7 @@ void Viewport::RendererGL::paintTile( const auto pinRect = transformRect(pin.geometry); // Mute. - const auto &icon = st::groupCallLargeVideoCrossLine.icon; + const auto &icon = st::groupCallVideoCrossLine.icon; const auto iconLeft = x + width - st.iconPosition.x() - icon.width(); const auto iconTop = y + (height - st.iconPosition.y() @@ -905,7 +905,7 @@ void Viewport::RendererGL::ensureButtonsImage() { const auto factor = cIntRetinaFactor(); const auto pinOnSize = VideoTile::PinInnerSize(true); const auto pinOffSize = VideoTile::PinInnerSize(false); - const auto muteSize = st::groupCallLargeVideoCrossLine.icon.size(); + const auto muteSize = st::groupCallVideoCrossLine.icon.size(); const auto fullSize = QSize( std::max({ @@ -961,7 +961,7 @@ void Viewport::RendererGL::ensureButtonsImage() { void Viewport::RendererGL::validateDatas() { const auto &tiles = _owner->_tiles; - const auto &st = st::groupCallLargeVideo; + const auto &st = st::groupCallVideoTile; const auto count = int(tiles.size()); const auto factor = cIntRetinaFactor(); const auto nameHeight = st::semiboldFont->height * factor; @@ -979,7 +979,7 @@ void Viewport::RendererGL::validateDatas() { const auto row = tiles[i]->row(); const auto hasWidth = tiles[i]->geometry().width() - st.iconPosition.x() - - st::groupCallLargeVideoCrossLine.icon.width() + - st::groupCallVideoCrossLine.icon.width() - st.namePosition.x(); return std::clamp(row->name().maxWidth(), 1, hasWidth) * factor; }; diff --git a/Telegram/SourceFiles/calls/group/calls_group_viewport_raster.cpp b/Telegram/SourceFiles/calls/group/calls_group_viewport_raster.cpp index 8860bcadc..02b8d9aa9 100644 --- a/Telegram/SourceFiles/calls/group/calls_group_viewport_raster.cpp +++ b/Telegram/SourceFiles/calls/group/calls_group_viewport_raster.cpp @@ -20,11 +20,11 @@ namespace Calls::Group { Viewport::Renderer::Renderer(not_null owner) : _owner(owner) -, _pinIcon(st::groupCallLargeVideo.pin) +, _pinIcon(st::groupCallVideoTile.pin) , _pinBackground( - (st::groupCallLargeVideo.pinPadding.top() - + st::groupCallLargeVideo.pin.icon.height() - + st::groupCallLargeVideo.pinPadding.bottom()) / 2, + (st::groupCallVideoTile.pinPadding.top() + + st::groupCallVideoTile.pin.icon.height() + + st::groupCallVideoTile.pinPadding.bottom()) / 2, st::radialBg) { } @@ -141,7 +141,7 @@ void Viewport::Renderer::paintTileControls( return; } - const auto &st = st::groupCallLargeVideo; + const auto &st = st::groupCallVideoTile; const auto fullShift = st.namePosition.y() + st::normalFont->height; const auto shift = anim::interpolate(fullShift, 0, shown); @@ -171,7 +171,7 @@ void Viewport::Renderer::paintTileControls( row->lazyInitialize(st::groupCallMembersListItem); // Mute. - const auto &icon = st::groupCallLargeVideoCrossLine.icon; + const auto &icon = st::groupCallVideoCrossLine.icon; const auto iconLeft = x + width - st.iconPosition.x() - icon.width(); const auto iconTop = y + (height - st.iconPosition.y() @@ -180,7 +180,7 @@ void Viewport::Renderer::paintTileControls( row->paintMuteIcon( p, { iconLeft, iconTop, icon.width(), icon.height() }, - MembersRowStyle::LargeVideo); + MembersRowStyle::Video); // Name. p.setPen(st::groupCallVideoTextFg); diff --git a/Telegram/SourceFiles/calls/group/calls_group_viewport_tile.cpp b/Telegram/SourceFiles/calls/group/calls_group_viewport_tile.cpp index ee3445184..c601c2a75 100644 --- a/Telegram/SourceFiles/calls/group/calls_group_viewport_tile.cpp +++ b/Telegram/SourceFiles/calls/group/calls_group_viewport_tile.cpp @@ -19,7 +19,7 @@ namespace Calls::Group { Viewport::VideoTile::VideoTile( const VideoEndpoint &endpoint, - LargeVideoTrack track, + VideoTileTrack track, rpl::producer pinned, Fn update) : _endpoint(endpoint) @@ -41,7 +41,7 @@ QRect Viewport::VideoTile::pinOuter() const { int Viewport::VideoTile::pinSlide() const { return anim::interpolate( - st::groupCallLargeVideo.pinPosition.y() + _pinInner.height(), + st::groupCallVideoTile.pinPosition.y() + _pinInner.height(), 0, _pinShownAnimation.value(_pinShown ? 1. : 0.)); } @@ -68,7 +68,10 @@ void Viewport::VideoTile::togglePinShown(bool shown) { } bool Viewport::VideoTile::updateRequestedQuality(VideoQuality quality) { - if (_quality && *_quality == quality) { + if (_geometry.isEmpty()) { + _quality = std::nullopt; + return false; + } else if (_quality && *_quality == quality) { return false; } _quality = quality; @@ -76,8 +79,8 @@ bool Viewport::VideoTile::updateRequestedQuality(VideoQuality quality) { } QSize Viewport::VideoTile::PinInnerSize(bool pinned) { - const auto &st = st::groupCallLargeVideo; - const auto &icon = st::groupCallLargeVideo.pin.icon; + const auto &st = st::groupCallVideoTile; + const auto &icon = st::groupCallVideoTile.pin.icon; const auto innerWidth = icon.width() + st.pinTextPosition.x() + st::semiboldFont->width(pinned @@ -101,7 +104,7 @@ void Viewport::VideoTile::PaintPinButton( int outerWidth, not_null background, not_null icon) { - const auto &st = st::groupCallLargeVideo; + const auto &st = st::groupCallVideoTile; const auto rect = QRect(QPoint(x, y), PinInnerSize(pinned)); background->paint(p, rect); icon->paint( @@ -113,7 +116,7 @@ void Viewport::VideoTile::PaintPinButton( p.drawTextLeft( (x + st.pinPadding.left() - + st::groupCallLargeVideo.pin.icon.width() + + st::groupCallVideoTile.pin.icon.width() + st.pinTextPosition.x()), (y + st.pinPadding.top() @@ -126,7 +129,7 @@ void Viewport::VideoTile::PaintPinButton( } void Viewport::VideoTile::updatePinnedGeometry() { - const auto &st = st::groupCallLargeVideo; + const auto &st = st::groupCallVideoTile; const auto buttonSize = PinInnerSize(_pinned); const auto fullWidth = st.pinPosition.x() * 2 + buttonSize.width(); const auto fullHeight = st.pinPosition.y() * 2 + buttonSize.height(); diff --git a/Telegram/SourceFiles/calls/group/calls_group_viewport_tile.h b/Telegram/SourceFiles/calls/group/calls_group_viewport_tile.h index 502edeef2..703ef3e82 100644 --- a/Telegram/SourceFiles/calls/group/calls_group_viewport_tile.h +++ b/Telegram/SourceFiles/calls/group/calls_group_viewport_tile.h @@ -25,7 +25,7 @@ class Viewport::VideoTile final { public: VideoTile( const VideoEndpoint &endpoint, - LargeVideoTrack track, + VideoTileTrack track, rpl::producer pinned, Fn update); @@ -80,7 +80,7 @@ private: const VideoEndpoint _endpoint; const Fn _update; - LargeVideoTrack _track; + VideoTileTrack _track; QRect _geometry; rpl::variable _trackSize; QRect _pinOuter;