1458 lines
41 KiB
Plaintext
1458 lines
41 KiB
Plaintext
/*
|
|
This file is part of Telegram Desktop,
|
|
the official desktop application for the Telegram messaging service.
|
|
|
|
For license and copyright information please follow this link:
|
|
https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
|
*/
|
|
using "ui/basic.style";
|
|
|
|
using "ui/widgets/widgets.style";
|
|
using "ui/layers/layers.style";
|
|
using "ui/chat/chat.style"; // GroupCallUserpics
|
|
using "info/info.style"; // ShortInfoCover
|
|
using "window/window.style";
|
|
using "settings/settings.style"; // settingsSubsectionTitle
|
|
|
|
CallSignalBars {
|
|
width: pixels;
|
|
radius: pixels;
|
|
skip: pixels;
|
|
min: pixels;
|
|
max: pixels;
|
|
color: color;
|
|
inactiveOpacity: double;
|
|
}
|
|
|
|
callWidthMin: 300px;
|
|
callHeightMin: 440px;
|
|
callWidth: 720px;
|
|
callHeight: 540px;
|
|
|
|
callBottomControlsHeight: 87px;
|
|
|
|
CallBodyLayout {
|
|
height: pixels;
|
|
photoTop: pixels;
|
|
photoSize: pixels;
|
|
nameTop: pixels;
|
|
statusTop: pixels;
|
|
muteStroke: pixels;
|
|
muteSize: pixels;
|
|
mutePosition: point;
|
|
}
|
|
|
|
callBodyLayout: CallBodyLayout {
|
|
height: 284px;
|
|
photoTop: 21px;
|
|
photoSize: 160px;
|
|
nameTop: 221px;
|
|
statusTop: 254px;
|
|
muteStroke: 3px;
|
|
muteSize: 36px;
|
|
mutePosition: point(142px, 135px);
|
|
}
|
|
callBodyWithPreview: CallBodyLayout {
|
|
height: 185px;
|
|
photoTop: 21px;
|
|
photoSize: 100px;
|
|
nameTop: 132px;
|
|
statusTop: 163px;
|
|
muteStroke: 3px;
|
|
muteSize: 0px;
|
|
mutePosition: point(90px, 84px);
|
|
}
|
|
callMutedPeerIcon: icon {{ "calls/calls_mute_userpic", callIconFg }};
|
|
|
|
callOutgoingPreviewMin: size(360px, 120px);
|
|
callOutgoingPreview: size(540px, 180px); // default, for height == callHeight.
|
|
callOutgoingPreviewMax: size(1620px, 540px);
|
|
callOutgoingDefaultSize: size(160px, 110px);
|
|
|
|
callInnerPadding: 12px;
|
|
|
|
callFingerprintPadding: margins(10px, 4px, 8px, 5px);
|
|
callFingerprintSkip: 4px;
|
|
callFingerprintSignalBarsSkip: 2px;
|
|
callSignalBarsPadding: margins(8px, 9px, 11px, 5px);
|
|
|
|
callFingerprintTop: 8px;
|
|
callFingerprintBottom: -16px;
|
|
|
|
callTooltipMutedIcon: icon{{ "calls/calls_mute_tooltip", videoPlayIconFg }};
|
|
callTooltipMutedIconPosition: point(10px, 5px);
|
|
callTooltipPadding: margins(41px, 7px, 15px, 8px);
|
|
|
|
callButton: IconButton {
|
|
width: 68px;
|
|
height: 79px;
|
|
|
|
iconPosition: point(-1px, 16px);
|
|
|
|
rippleAreaPosition: point(12px, 12px);
|
|
rippleAreaSize: 44px;
|
|
ripple: defaultRippleAnimation;
|
|
}
|
|
callButtonLabel: FlatLabel(defaultFlatLabel) {
|
|
textFg: callNameFg;
|
|
style: TextStyle(defaultTextStyle) {
|
|
font: font(11px);
|
|
linkFont: font(11px);
|
|
linkFontOver: font(11px underline);
|
|
}
|
|
}
|
|
|
|
callAnswer: CallButton {
|
|
button: IconButton(callButton) {
|
|
icon: icon {{ "calls/call_answer", callIconFg }};
|
|
ripple: RippleAnimation(defaultRippleAnimation) {
|
|
color: callAnswerRipple;
|
|
}
|
|
}
|
|
bg: callAnswerBg;
|
|
bgSize: 44px;
|
|
bgPosition: point(12px, 12px);
|
|
angle: 135.;
|
|
outerRadius: 12px;
|
|
outerBg: callAnswerBgOuter;
|
|
label: callButtonLabel;
|
|
}
|
|
callHangup: CallButton(callAnswer) {
|
|
button: IconButton(callButton) {
|
|
icon: icon {{ "calls/call_discard", callIconFg }};
|
|
ripple: RippleAnimation(defaultRippleAnimation) {
|
|
color: callHangupRipple;
|
|
}
|
|
}
|
|
bg: callHangupBg;
|
|
outerBg: callHangupBg;
|
|
label: callButtonLabel;
|
|
}
|
|
callCancel: CallButton(callAnswer) {
|
|
button: IconButton(callButton) {
|
|
icon: icon {{ "calls/call_cancel", callIconFgActive }};
|
|
ripple: RippleAnimation(defaultRippleAnimation) {
|
|
color: callIconActiveRipple;
|
|
}
|
|
}
|
|
bg: callIconBgActive;
|
|
outerBg: callIconBgActive;
|
|
label: callButtonLabel;
|
|
}
|
|
callMicrophoneMute: CallButton(callAnswer) {
|
|
button: IconButton(callButton) {
|
|
icon: icon {{ "calls/call_record_active", callIconFg }};
|
|
ripple: RippleAnimation(defaultRippleAnimation) {
|
|
color: callMuteRipple;
|
|
}
|
|
}
|
|
bg: callIconBg;
|
|
outerBg: callMuteRipple;
|
|
label: callButtonLabel;
|
|
}
|
|
callMicrophoneUnmute: CallButton(callMicrophoneMute) {
|
|
button: IconButton(callButton) {
|
|
icon: icon {{ "calls/call_record_muted", callIconFgActive }};
|
|
ripple: RippleAnimation(defaultRippleAnimation) {
|
|
color: callIconActiveRipple;
|
|
}
|
|
}
|
|
bg: callIconBgActive;
|
|
}
|
|
callCameraMute: CallButton(callMicrophoneMute) {
|
|
button: IconButton(callButton) {
|
|
icon: icon {{ "calls/call_camera_active", callIconFg }};
|
|
ripple: RippleAnimation(defaultRippleAnimation) {
|
|
color: callMuteRipple;
|
|
}
|
|
}
|
|
}
|
|
callCameraUnmute: CallButton(callMicrophoneUnmute) {
|
|
button: IconButton(callButton) {
|
|
icon: icon {{ "calls/call_camera_muted", callIconFgActive }};
|
|
ripple: RippleAnimation(defaultRippleAnimation) {
|
|
color: callIconActiveRipple;
|
|
}
|
|
}
|
|
}
|
|
callScreencastOn: CallButton(callMicrophoneMute) {
|
|
button: IconButton(callButton) {
|
|
icon: icon {{ "calls/calls_present", callIconFg }};
|
|
iconPosition: point(-1px, 22px);
|
|
ripple: RippleAnimation(defaultRippleAnimation) {
|
|
color: callMuteRipple;
|
|
}
|
|
}
|
|
}
|
|
callScreencastOff: CallButton(callMicrophoneUnmute) {
|
|
button: IconButton(callButton) {
|
|
icon: icon {{ "calls/calls_present", callIconFgActive }};
|
|
iconPosition: point(-1px, 22px);
|
|
ripple: RippleAnimation(defaultRippleAnimation) {
|
|
color: callIconActiveRipple;
|
|
}
|
|
}
|
|
}
|
|
callBottomShadowSize: 124px;
|
|
|
|
CallMuteButton {
|
|
active: CallButton;
|
|
muted: CallButton;
|
|
labelAdditional: pixels;
|
|
sublabel: FlatLabel;
|
|
labelsSkip: pixels;
|
|
sublabelSkip: pixels;
|
|
lottieSize: size;
|
|
lottieTop: pixels;
|
|
}
|
|
|
|
callMuteButtonLabel: FlatLabel(defaultFlatLabel) {
|
|
textFg: groupCallMembersFg;
|
|
style: TextStyle(defaultTextStyle) {
|
|
font: font(14px);
|
|
linkFont: font(14px);
|
|
linkFontOver: font(14px underline);
|
|
}
|
|
}
|
|
callMuteButtonActiveInner: IconButton {
|
|
width: 112px;
|
|
height: 138px;
|
|
}
|
|
callMuteButtonSmallActiveInner: IconButton {
|
|
width: 68px;
|
|
height: 68px;
|
|
}
|
|
callMuteButtonActive: CallButton {
|
|
button: callMuteButtonActiveInner;
|
|
bg: groupCallLive1;
|
|
bgSize: 77px;
|
|
bgPosition: point(18px, 18px);
|
|
outerRadius: 18px;
|
|
outerBg: callAnswerBgOuter;
|
|
label: callMuteButtonLabel;
|
|
}
|
|
callMuteButton: CallMuteButton {
|
|
active: callMuteButtonActive;
|
|
muted: CallButton(callMuteButtonActive) {
|
|
bg: groupCallMuted1;
|
|
label: callMuteButtonLabel;
|
|
}
|
|
labelAdditional: 5px;
|
|
sublabel: FlatLabel(defaultFlatLabel) {
|
|
textFg: groupCallMemberNotJoinedStatus;
|
|
}
|
|
labelsSkip: 8px;
|
|
sublabelSkip: 14px;
|
|
lottieSize: size(54px, 54px);
|
|
lottieTop: 31px;
|
|
}
|
|
callMuteButtonSmallActive: CallButton(callMuteButtonActive) {
|
|
button: callMuteButtonSmallActiveInner;
|
|
bgSize: 42px;
|
|
bgPosition: point(13px, 13px);
|
|
outerRadius: 13px;
|
|
label: callButtonLabel;
|
|
}
|
|
callMuteButtonSmall: CallMuteButton(callMuteButton) {
|
|
active: callMuteButtonSmallActive;
|
|
muted: CallButton(callMuteButtonSmallActive) {
|
|
bg: groupCallMuted1;
|
|
label: callButtonLabel;
|
|
}
|
|
labelsSkip: 0px;
|
|
sublabelSkip: 0px;
|
|
lottieSize: size(36px, 36px);
|
|
lottieTop: 17px;
|
|
}
|
|
|
|
callMuteMinorBlobMinRadius: 64px;
|
|
callMuteMinorBlobMaxRadius: 74px;
|
|
callMuteMajorBlobMinRadius: 67px;
|
|
callMuteMajorBlobMaxRadius: 77px;
|
|
callMuteBlobRadiusForDiameter: 100px;
|
|
|
|
callMuteToFullScreen: icon {{ "player/player_fullscreen", groupCallIconFg }};
|
|
callMuteFromFullScreen: icon {{ "player/player_minimize", groupCallIconFg }};
|
|
|
|
callConnectingRadial: InfiniteRadialAnimation(defaultInfiniteRadialAnimation) {
|
|
color: lightButtonFg;
|
|
thickness: 4px;
|
|
}
|
|
|
|
callName: FlatLabel(defaultFlatLabel) {
|
|
minWidth: 260px;
|
|
maxHeight: 30px;
|
|
textFg: callNameFg;
|
|
align: align(top);
|
|
style: TextStyle(defaultTextStyle) {
|
|
font: font(21px semibold);
|
|
linkFont: font(21px semibold);
|
|
linkFontOver: font(21px semibold underline);
|
|
}
|
|
}
|
|
callStatus: FlatLabel(defaultFlatLabel) {
|
|
minWidth: 260px;
|
|
maxHeight: 20px;
|
|
textFg: callStatusFg;
|
|
align: align(top);
|
|
style: TextStyle(defaultTextStyle) {
|
|
font: font(14px);
|
|
linkFont: font(14px);
|
|
linkFontOver: font(14px underline);
|
|
}
|
|
}
|
|
callRemoteAudioMute: FlatLabel(callStatus) {
|
|
minWidth: 0px;
|
|
textFg: videoPlayIconFg;
|
|
style: TextStyle(defaultTextStyle) {
|
|
font: font(12px);
|
|
linkFont: font(12px);
|
|
linkFontOver: font(12px underline);
|
|
}
|
|
}
|
|
callRemoteAudioMuteSkip: 12px;
|
|
|
|
callBarHeight: 38px;
|
|
callBarMuteToggle: IconButton {
|
|
width: 41px;
|
|
height: 38px;
|
|
|
|
icon: icon {{ "calls/call_record_active", callBarFg }};
|
|
iconPosition: point(3px, 2px);
|
|
|
|
ripple: RippleAnimation(defaultRippleAnimation) {
|
|
color: callBarMuteRipple;
|
|
}
|
|
rippleAreaPosition: point(5px, 3px);
|
|
rippleAreaSize: 32px;
|
|
}
|
|
callBarUnmuteIcon: icon {{ "calls/call_record_muted", callBarFg }};
|
|
callBarRightSkip: 12px;
|
|
callBarSkip: 10px;
|
|
callBarHangup: IconButton(callBarMuteToggle) {
|
|
icon: icon {{ "calls/call_discard", callBarFg }};
|
|
iconPosition: point(3px, 1px);
|
|
}
|
|
callBarLabel: LabelSimple(defaultLabelSimple) {
|
|
font: semiboldFont;
|
|
textFg: callBarFg;
|
|
}
|
|
callBarInfoLabel: FlatLabel(defaultFlatLabel) {
|
|
maxHeight: 28px;
|
|
align: align(top);
|
|
textFg: callBarFg;
|
|
style: TextStyle(defaultTextStyle) {
|
|
font: semiboldFont;
|
|
}
|
|
}
|
|
callBarLabelTop: 10px;
|
|
|
|
callArrowPosition: point(-2px, 1px);
|
|
callArrowIn: icon {{ "calls/call_arrow_in", callArrowFg }};
|
|
callArrowOut: icon {{ "calls/call_arrow_out", callArrowFg }};
|
|
callArrowMissed: icon {{ "calls/call_arrow_in", callArrowMissedFg }};
|
|
callArrowSkip: 4px;
|
|
callReDial: IconButton {
|
|
width: 40px;
|
|
height: 56px;
|
|
|
|
icon: icon {{ "calls/call_answer", menuIconFg }};
|
|
iconOver: icon {{ "calls/call_answer", menuIconFgOver }};
|
|
iconPosition: point(-1px, -1px);
|
|
|
|
ripple: defaultRippleAnimation;
|
|
rippleAreaPosition: point(0px, 8px);
|
|
rippleAreaSize: 40px;
|
|
}
|
|
|
|
callCameraReDial: IconButton(callReDial) {
|
|
icon: icon {{ "calls/call_camera_active", menuIconFg }};
|
|
iconOver: icon {{ "calls/call_camera_active", menuIconFgOver }};
|
|
}
|
|
|
|
callRatingPadding: margins(24px, 12px, 24px, 0px);
|
|
callRatingStar: IconButton {
|
|
width: 36px;
|
|
height: 36px;
|
|
|
|
icon: icon {{ "calls/call_rating", windowSubTextFg }};
|
|
iconPosition: point(-1px, -1px);
|
|
|
|
ripple: RippleAnimation(defaultRippleAnimation) {
|
|
color: windowBgOver;
|
|
}
|
|
rippleAreaPosition: point(0px, 0px);
|
|
rippleAreaSize: 36px;
|
|
}
|
|
callRatingStarFilled: icon {{ "calls/call_rating_filled", lightButtonFg }};
|
|
callRatingStarTop: 4px;
|
|
callRatingComment: InputField(defaultInputField) {
|
|
textMargins: margins(1px, 26px, 1px, 4px);
|
|
heightMax: 135px;
|
|
}
|
|
callRatingCommentTop: 8px;
|
|
|
|
callDebugPadding: margins(24px, 0px, 24px, 0px);
|
|
callDebugLabel: FlatLabel(defaultFlatLabel) {
|
|
margin: callDebugPadding;
|
|
}
|
|
callPanelDuration: 150;
|
|
|
|
callPanelSignalBars: CallSignalBars {
|
|
width: 2px;
|
|
radius: 1px;
|
|
skip: 2px;
|
|
min: 4px;
|
|
max: 10px;
|
|
color: callNameFg;
|
|
inactiveOpacity: 0.5;
|
|
}
|
|
callBarSignalBars: CallSignalBars(callPanelSignalBars) {
|
|
width: 3px;
|
|
skip: 1px;
|
|
min: 3px;
|
|
max: 12px;
|
|
color: callBarFg;
|
|
}
|
|
|
|
callTitleButton: windowTitleButton;
|
|
callTitleMinimizeIcon: icon {
|
|
{ "title_shadow_minimize", windowShadowFg },
|
|
{ "title_button_minimize", callNameFg },
|
|
};
|
|
callTitleMinimizeIconOver: icon {
|
|
{ windowTitleButtonSize, callBgButton },
|
|
{ windowTitleButtonSize, callMuteRipple },
|
|
{ "title_shadow_minimize", windowShadowFg },
|
|
{ "title_button_minimize", callNameFg },
|
|
};
|
|
callTitleMaximizeIcon: icon {
|
|
{ "title_shadow_maximize", windowShadowFg },
|
|
{ "title_button_maximize", callNameFg },
|
|
};
|
|
callTitleMaximizeIconOver: icon {
|
|
{ windowTitleButtonSize, callBgButton },
|
|
{ windowTitleButtonSize, callMuteRipple },
|
|
{ "title_shadow_maximize", windowShadowFg },
|
|
{ "title_button_maximize", callNameFg },
|
|
};
|
|
callTitleRestoreIcon: icon {
|
|
{ "title_shadow_restore", windowShadowFg },
|
|
{ "title_button_restore", callNameFg },
|
|
};
|
|
callTitleRestoreIconOver: icon {
|
|
{ windowTitleButtonSize, callBgButton },
|
|
{ windowTitleButtonSize, callMuteRipple },
|
|
{ "title_shadow_restore", windowShadowFg },
|
|
{ "title_button_restore", callNameFg },
|
|
};
|
|
callTitleCloseIcon: icon {
|
|
{ "title_shadow_close", windowShadowFg },
|
|
{ "title_button_close", callNameFg },
|
|
};
|
|
callTitleCloseIconOver: icon {
|
|
{ windowTitleButtonSize, titleButtonCloseBgOver },
|
|
{ "title_shadow_close", windowShadowFg },
|
|
{ "title_button_close", titleButtonCloseFgOver },
|
|
};
|
|
callTitle: WindowTitle(defaultWindowTitle) {
|
|
height: 0px;
|
|
bg: callBgOpaque;
|
|
bgActive: callBgOpaque;
|
|
fg: transparent;
|
|
fgActive: transparent;
|
|
minimize: IconButton(callTitleButton) {
|
|
icon: callTitleMinimizeIcon;
|
|
iconOver: callTitleMinimizeIconOver;
|
|
}
|
|
minimizeIconActive: callTitleMinimizeIcon;
|
|
minimizeIconActiveOver: callTitleMinimizeIconOver;
|
|
maximize: IconButton(callTitleButton) {
|
|
icon: callTitleMaximizeIcon;
|
|
iconOver: callTitleMaximizeIconOver;
|
|
}
|
|
maximizeIconActive: callTitleMaximizeIcon;
|
|
maximizeIconActiveOver: callTitleMaximizeIconOver;
|
|
restoreIcon: callTitleRestoreIcon;
|
|
restoreIconOver: callTitleRestoreIconOver;
|
|
restoreIconActive: callTitleRestoreIcon;
|
|
restoreIconActiveOver: callTitleRestoreIconOver;
|
|
close: IconButton(callTitleButton) {
|
|
icon: callTitleCloseIcon;
|
|
iconOver: callTitleCloseIconOver;
|
|
}
|
|
closeIconActive: callTitleCloseIcon;
|
|
closeIconActiveOver: callTitleCloseIconOver;
|
|
}
|
|
callTitleShadowRight: icon {{ "calls/calls_shadow_controls", windowShadowFg }};
|
|
callTitleShadowLeft: icon {{ "calls/calls_shadow_controls-flip_horizontal", windowShadowFg }};
|
|
|
|
callErrorToast: Toast(defaultToast) {
|
|
minWidth: 240px;
|
|
}
|
|
|
|
groupCallWidth: 380px;
|
|
groupCallHeight: 580px;
|
|
groupCallWidthRtmp: 720px;
|
|
groupCallWidthRtmpMin: 240px;
|
|
groupCallHeightRtmp: 580px;
|
|
groupCallHeightRtmpMin: 160px;
|
|
|
|
groupCallRipple: RippleAnimation(defaultRippleAnimation) {
|
|
color: groupCallMembersBgRipple;
|
|
}
|
|
|
|
groupCallMenu: Menu(defaultMenu) {
|
|
itemBg: groupCallMenuBg;
|
|
itemBgOver: groupCallMenuBgOver;
|
|
itemFg: groupCallMembersFg;
|
|
itemFgOver: groupCallMembersFg;
|
|
itemFgDisabled: groupCallMemberNotJoinedStatus;
|
|
itemFgShortcut: groupCallMemberNotJoinedStatus;
|
|
itemFgShortcutOver: groupCallMemberNotJoinedStatus;
|
|
itemFgShortcutDisabled: groupCallMemberNotJoinedStatus;
|
|
|
|
separatorFg: groupCallMenuBgOver;
|
|
separatorPadding: margins(0px, 4px, 0px, 4px);
|
|
|
|
arrow: icon {{ "dropdown_submenu_arrow", groupCallMemberNotJoinedStatus }};
|
|
|
|
ripple: RippleAnimation(defaultRippleAnimation) {
|
|
color: groupCallMenuBgRipple;
|
|
}
|
|
}
|
|
groupCallFinishMenu: Menu(groupCallMenu) {
|
|
itemFg: groupCallMemberMutedIcon;
|
|
itemFgOver: groupCallMemberMutedIcon;
|
|
}
|
|
groupCallMenuShadow: Shadow(defaultEmptyShadow) {
|
|
fallback: groupCallMenuBg;
|
|
}
|
|
groupCallPanelAnimation: PanelAnimation(defaultPanelAnimation) {
|
|
fadeBg: groupCallMenuBg;
|
|
shadow: groupCallMenuShadow;
|
|
}
|
|
groupCallPopupMenu: PopupMenu(defaultPopupMenu) {
|
|
shadow: groupCallMenuShadow;
|
|
menu: groupCallMenu;
|
|
animation: groupCallPanelAnimation;
|
|
}
|
|
groupCallPopupMenuWithVolume: PopupMenu(groupCallPopupMenu) {
|
|
scrollPadding: margins(0px, 3px, 0px, 8px);
|
|
menu: Menu(groupCallMenu) {
|
|
widthMin: 210px;
|
|
}
|
|
}
|
|
groupCallPopupVolumeMenu: Menu(groupCallMenu) {
|
|
widthMin: 210px;
|
|
itemBgOver: groupCallMenuBg;
|
|
}
|
|
groupCallMenuCoverSize: 240px;
|
|
groupCallPopupCoverMenu: Menu(groupCallMenu) {
|
|
widthMin: groupCallMenuCoverSize;
|
|
widthMax: groupCallMenuCoverSize;
|
|
itemBgOver: groupCallMenuBg;
|
|
}
|
|
groupCallPopupMenuWithCover: PopupMenu(groupCallPopupMenu) {
|
|
scrollPadding: margins(0px, 0px, 0px, 8px);
|
|
menu: Menu(groupCallMenu) {
|
|
widthMin: groupCallMenuCoverSize;
|
|
widthMax: groupCallMenuCoverSize;
|
|
}
|
|
}
|
|
groupCallMenuCover: ShortInfoCover(shortInfoCover) {
|
|
radius: roundRadiusSmall;
|
|
size: groupCallMenuCoverSize;
|
|
namePosition: point(17px, 28px);
|
|
statusPosition: point(17px, 8px);
|
|
}
|
|
groupCallMenuAbout: FlatLabel(defaultFlatLabel) {
|
|
textFg: groupCallMemberNotJoinedStatus;
|
|
palette: TextPalette(defaultTextPalette) {
|
|
linkFg: groupCallActiveFg;
|
|
}
|
|
minWidth: 200px;
|
|
maxHeight: 92px;
|
|
}
|
|
|
|
groupCallRecordingTimerPadding: margins(0px, 4px, 0px, 4px);
|
|
groupCallRecordingTimerFont: font(12px);
|
|
|
|
groupCallInnerDropdown: InnerDropdown(defaultInnerDropdown) {
|
|
shadow: groupCallMenuShadow;
|
|
animation: groupCallPanelAnimation;
|
|
bg: groupCallMenuBg;
|
|
scroll: defaultSolidScroll;
|
|
scrollPadding: margins(0px, 4px, 0px, 4px);
|
|
}
|
|
groupCallDropdownMenu: DropdownMenu(defaultDropdownMenu) {
|
|
wrap: groupCallInnerDropdown;
|
|
menu: groupCallMenu;
|
|
}
|
|
groupCallMembersListCheck: RoundCheckbox(defaultPeerListCheck) {
|
|
border: groupCallMembersBg;
|
|
bgActive: groupCallActiveFg;
|
|
check: icon {{ "default_checkbox_check", groupCallMembersFg, point(3px, 6px) }};
|
|
}
|
|
groupCallMembersListCheckbox: RoundImageCheckbox(defaultPeerListCheckbox) {
|
|
selectFg: groupCallActiveFg;
|
|
check: groupCallMembersListCheck;
|
|
}
|
|
groupCallMembersListItem: PeerListItem(defaultPeerListItem) {
|
|
button: OutlineButton(defaultPeerListButton) {
|
|
textBg: groupCallMembersBg;
|
|
textBgOver: groupCallMembersBgOver;
|
|
|
|
textFg: groupCallMemberInactiveStatus;
|
|
textFgOver: groupCallMemberInactiveStatus;
|
|
|
|
font: normalFont;
|
|
padding: margins(11px, 5px, 11px, 5px);
|
|
|
|
ripple: groupCallRipple;
|
|
}
|
|
disabledCheckFg: groupCallMemberNotJoinedStatus;
|
|
checkbox: groupCallMembersListCheckbox;
|
|
height: 52px;
|
|
photoPosition: point(12px, 6px);
|
|
namePosition: point(63px, 7px);
|
|
statusPosition: point(63px, 26px);
|
|
photoSize: 40px;
|
|
nameFg: groupCallMembersFg;
|
|
nameFgChecked: groupCallMembersFg;
|
|
statusFg: groupCallMemberInactiveStatus;
|
|
statusFgOver: groupCallMemberInactiveStatus;
|
|
statusFgActive: groupCallMemberActiveStatus;
|
|
}
|
|
groupCallNarrowMembersListItem: PeerListItem(groupCallMembersListItem) {
|
|
statusFg: groupCallMemberNotJoinedStatus;
|
|
statusFgOver: groupCallMemberNotJoinedStatus;
|
|
statusFgActive: groupCallMemberActiveStatus;
|
|
}
|
|
groupCallMembersList: PeerList(defaultPeerList) {
|
|
bg: groupCallMembersBg;
|
|
about: FlatLabel(defaultPeerListAbout) {
|
|
textFg: groupCallMemberNotJoinedStatus;
|
|
}
|
|
item: groupCallMembersListItem;
|
|
}
|
|
groupCallInviteDividerLabel: FlatLabel(defaultFlatLabel) {
|
|
textFg: groupCallMemberNotJoinedStatus;
|
|
}
|
|
groupCallInviteDividerPadding: margins(17px, 7px, 17px, 7px);
|
|
groupCallInviteMembersListItem: PeerListItem(groupCallMembersListItem) {
|
|
statusFg: groupCallMemberNotJoinedStatus;
|
|
statusFgOver: groupCallMemberNotJoinedStatus;
|
|
statusFgActive: groupCallMemberInactiveStatus;
|
|
}
|
|
groupCallInviteMembersList: PeerList(groupCallMembersList) {
|
|
padding: margins(0px, 10px, 0px, 10px);
|
|
item: groupCallInviteMembersListItem;
|
|
}
|
|
groupCallJoinAsList: PeerList(groupCallInviteMembersList) {
|
|
item: PeerListItem(groupCallInviteMembersListItem) {
|
|
height: 56px;
|
|
checkbox: RoundImageCheckbox(groupCallMembersListCheckbox) {
|
|
check: RoundCheckbox(groupCallMembersListCheck) {
|
|
size: 0px;
|
|
}
|
|
imageRadius: 19px;
|
|
imageSmallRadius: 15px;
|
|
selectFg: groupCallMemberInactiveStatus;
|
|
}
|
|
photoSize: 38px;
|
|
photoPosition: point(24px, 9px);
|
|
namePosition: point(73px, 9px);
|
|
statusPosition: point(73px, 28px);
|
|
}
|
|
}
|
|
peerListJoinAsList: PeerList(peerListBox) {
|
|
item: PeerListItem(peerListBoxItem) {
|
|
height: 56px;
|
|
checkbox: RoundImageCheckbox(defaultPeerListCheckbox) {
|
|
check: RoundCheckbox(defaultRoundCheckbox) {
|
|
size: 0px;
|
|
}
|
|
imageRadius: 19px;
|
|
imageSmallRadius: 15px;
|
|
}
|
|
photoSize: 38px;
|
|
photoPosition: point(24px, 9px);
|
|
namePosition: point(73px, 9px);
|
|
statusPosition: point(73px, 28px);
|
|
}
|
|
}
|
|
groupCallMultiSelect: MultiSelect(defaultMultiSelect) {
|
|
bg: groupCallMembersBg;
|
|
item: MultiSelectItem(defaultMultiSelectItem) {
|
|
textBg: groupCallMembersBgRipple;
|
|
textFg: groupCallMembersFg;
|
|
textActiveBg: groupCallActiveFg;
|
|
textActiveFg: groupCallMembersFg;
|
|
deleteFg: groupCallMembersFg;
|
|
}
|
|
field: InputField(defaultMultiSelectSearchField) {
|
|
textFg: groupCallMembersFg;
|
|
placeholderFg: groupCallMemberNotJoinedStatus;
|
|
placeholderFgActive: groupCallMemberNotJoinedStatus;
|
|
placeholderFgError: groupCallMemberNotJoinedStatus;
|
|
menu: groupCallPopupMenu;
|
|
}
|
|
fieldIcon: icon {{ "box_search", groupCallMemberNotJoinedStatus, point(10px, 9px) }};
|
|
fieldCancel: CrossButton(defaultMultiSelectSearchCancel) {
|
|
crossFg: groupCallMemberNotJoinedStatus;
|
|
crossFgOver: groupCallMemberNotJoinedStatus;
|
|
ripple: groupCallRipple;
|
|
}
|
|
}
|
|
groupCallField: InputField(defaultInputField) {
|
|
textMargins: margins(2px, 7px, 2px, 0px);
|
|
|
|
textBg: transparent;
|
|
textFg: groupCallMembersFg;
|
|
|
|
placeholderFg: groupCallMemberNotJoinedStatus;
|
|
placeholderFgActive: groupCallMemberNotJoinedStatus;
|
|
placeholderFgError: groupCallMemberNotJoinedStatus;
|
|
placeholderMargins: margins(0px, 0px, 0px, 0px);
|
|
placeholderScale: 0.;
|
|
placeholderFont: normalFont;
|
|
heightMin: 32px;
|
|
|
|
borderFg: inputBorderFg;
|
|
borderFgActive: groupCallMemberInactiveStatus;
|
|
borderFgError: activeLineFgError;
|
|
|
|
menu: groupCallPopupMenu;
|
|
}
|
|
groupCallShareBoxComment: InputField(groupCallField) {
|
|
textMargins: margins(8px, 8px, 8px, 6px);
|
|
heightMin: 36px;
|
|
heightMax: 72px;
|
|
placeholderMargins: margins(2px, 0px, 2px, 0px);
|
|
border: 0px;
|
|
borderActive: 0px;
|
|
}
|
|
groupCallShareBoxList: PeerList(groupCallMembersList) {
|
|
item: PeerListItem(groupCallMembersListItem) {
|
|
checkbox: RoundImageCheckbox(groupCallMembersListCheckbox) {
|
|
imageRadius: 28px;
|
|
imageSmallRadius: 24px;
|
|
}
|
|
}
|
|
}
|
|
|
|
groupCallMembersTop: 51px;
|
|
groupCallTitleTop: 8px;
|
|
groupCallSubtitleTop: 26px;
|
|
groupCallWideVideoTop: 24px;
|
|
|
|
groupCallAddMember: SettingsButton(defaultSettingsButton) {
|
|
textFg: groupCallMemberNotJoinedStatus;
|
|
textFgOver: groupCallMemberNotJoinedStatus;
|
|
textBg: groupCallMembersBg;
|
|
textBgOver: groupCallMembersBgOver;
|
|
|
|
style: semiboldTextStyle;
|
|
|
|
height: 22px;
|
|
padding: margins(63px, 17px, 22px, 11px);
|
|
iconLeft: 16px;
|
|
|
|
ripple: groupCallRipple;
|
|
}
|
|
groupCallAddMemberIcon: icon {{ "info/info_add_member", groupCallMemberInactiveIcon, point(0px, 3px) }};
|
|
groupCallSubtitleLabel: FlatLabel(defaultFlatLabel) {
|
|
maxHeight: 18px;
|
|
textFg: groupCallMemberNotJoinedStatus;
|
|
}
|
|
groupCallTitleLabel: FlatLabel(groupCallSubtitleLabel) {
|
|
textFg: groupCallMembersFg;
|
|
style: TextStyle(defaultTextStyle) {
|
|
font: font(semibold 14px);
|
|
linkFont: font(semibold 14px);
|
|
linkFontOver: font(semibold 14px);
|
|
}
|
|
}
|
|
groupCallTitleSeparator: 4px;
|
|
groupCallVideoLimitLabel: FlatLabel(defaultFlatLabel) {
|
|
align: align(top);
|
|
textFg: groupCallMemberNotJoinedStatus;
|
|
style: semiboldTextStyle;
|
|
minWidth: 96px;
|
|
}
|
|
groupCallAddButtonPosition: point(10px, 7px);
|
|
groupCallMembersWidthMax: 480px;
|
|
groupCallRecordingMark: 6px;
|
|
groupCallRecordingMarkSkip: 4px;
|
|
groupCallRecordingMarkTop: 8px;
|
|
|
|
groupCallMenuTogglePosition: point(13px, 8px);
|
|
groupCallMenuToggle: IconButton {
|
|
width: 36px;
|
|
height: 36px;
|
|
|
|
icon: icon {{ "info/edit/dotsmini", groupCallMemberInactiveIcon }};
|
|
iconOver: icon {{ "info/edit/dotsmini", groupCallMemberInactiveIcon }};
|
|
iconPosition: point(2px, 2px);
|
|
|
|
rippleAreaPosition: point(3px, 3px);
|
|
rippleAreaSize: 30px;
|
|
ripple: RippleAnimation(defaultRippleAnimation) {
|
|
color: groupCallMembersBg;
|
|
}
|
|
}
|
|
groupCallJoinAsToggle: UserpicButton(defaultUserpicButton) {
|
|
size: size(36px, 36px);
|
|
photoSize: 30px;
|
|
photoPosition: point(3px, 3px);
|
|
}
|
|
groupCallMenuPosition: point(-1px, 29px);
|
|
groupCallWideMenuPosition: point(-2px, 28px);
|
|
|
|
groupCallActiveButton: IconButton {
|
|
width: 36px;
|
|
height: 52px;
|
|
|
|
icon: icon {{ "calls/group_calls_unmuted", groupCallMemberInactiveIcon }};
|
|
iconOver: icon {{ "calls/group_calls_unmuted", groupCallMemberInactiveIcon }};
|
|
iconPosition: point(-1px, -1px);
|
|
|
|
ripple: groupCallRipple;
|
|
rippleAreaPosition: point(0px, 8px);
|
|
rippleAreaSize: 36px;
|
|
}
|
|
groupCallMemberButtonSkip: 10px;
|
|
|
|
groupCallMemberInactiveCrossLine: CrossLineAnimation {
|
|
fg: groupCallMemberInactiveIcon;
|
|
icon: icon {{ "calls/group_calls_unmuted", groupCallMemberInactiveIcon }};
|
|
startPosition: point(5px, 2px);
|
|
endPosition: point(20px, 17px);
|
|
stroke: 2px;
|
|
}
|
|
groupCallMemberColoredCrossLine: CrossLineAnimation(groupCallMemberInactiveCrossLine) {
|
|
fg: groupCallMemberMutedIcon;
|
|
icon: icon {{ "calls/group_calls_unmuted", groupCallMemberActiveIcon }};
|
|
}
|
|
groupCallMemberInvited: icon {{ "calls/group_calls_invited", groupCallMemberInactiveIcon }};
|
|
groupCallMemberInvitedPosition: point(2px, 12px);
|
|
groupCallMemberRaisedHand: icon {{ "calls/group_calls_raised_hand", groupCallMemberInactiveStatus }};
|
|
|
|
groupCallSettingsInner: IconButton(callButton) {
|
|
iconPosition: point(-1px, 22px);
|
|
icon: icon {{ "calls/calls_settings", groupCallIconFg }};
|
|
ripple: RippleAnimation(defaultRippleAnimation) {
|
|
color: callMuteRipple;
|
|
}
|
|
}
|
|
groupCallShareInner: IconButton(groupCallSettingsInner) {
|
|
icon: icon {{ "calls/group_calls_share", groupCallIconFg }};
|
|
}
|
|
groupCallVideoInner: IconButton(groupCallSettingsInner) {
|
|
icon: icon {{ "calls/call_camera_muted", groupCallIconFg }};
|
|
iconPosition: point(-1px, 16px);
|
|
}
|
|
groupCallHangupInner: IconButton(callButton) {
|
|
icon: icon {{ "calls/call_discard", groupCallIconFg }};
|
|
ripple: RippleAnimation(defaultRippleAnimation) {
|
|
color: groupCallLeaveBgRipple;
|
|
}
|
|
}
|
|
groupCallSettings: CallButton(callMicrophoneMute) {
|
|
button: groupCallSettingsInner;
|
|
}
|
|
groupCallShare: CallButton(groupCallSettings) {
|
|
button: groupCallShareInner;
|
|
}
|
|
groupCallVideo: CallButton(groupCallSettings) {
|
|
button: groupCallVideoInner;
|
|
}
|
|
groupCallVideoInnerActive: IconButton(groupCallVideoInner) {
|
|
icon: icon {{ "calls/call_camera_active", groupCallIconFg }};
|
|
}
|
|
groupCallVideoActive: CallButton(groupCallVideo) {
|
|
button: groupCallVideoInnerActive;
|
|
}
|
|
groupCallHangup: CallButton(callHangup) {
|
|
button: groupCallHangupInner;
|
|
bg: groupCallLeaveBg;
|
|
outerBg: groupCallLeaveBg;
|
|
label: callButtonLabel;
|
|
}
|
|
groupCallSettingsSmall: CallButton(groupCallSettings) {
|
|
button: IconButton(groupCallSettingsInner) {
|
|
width: 60px;
|
|
height: 68px;
|
|
rippleAreaPosition: point(8px, 12px);
|
|
}
|
|
bgPosition: point(8px, 12px);
|
|
}
|
|
groupCallHangupSmall: CallButton(groupCallHangup) {
|
|
button: IconButton(groupCallHangupInner) {
|
|
width: 60px;
|
|
height: 68px;
|
|
rippleAreaPosition: point(8px, 12px);
|
|
}
|
|
bgPosition: point(8px, 12px);
|
|
}
|
|
groupCallVideoSmall: CallButton(groupCallSettingsSmall) {
|
|
button: IconButton(groupCallVideoInner) {
|
|
width: 60px;
|
|
height: 68px;
|
|
rippleAreaPosition: point(8px, 12px);
|
|
}
|
|
}
|
|
groupCallVideoActiveSmall: CallButton(groupCallVideoSmall) {
|
|
button: IconButton(groupCallVideoInnerActive) {
|
|
width: 60px;
|
|
height: 68px;
|
|
rippleAreaPosition: point(8px, 12px);
|
|
}
|
|
}
|
|
groupCallScreenShareSmall: CallButton(groupCallSettingsSmall) {
|
|
button: IconButton(groupCallSettingsInner) {
|
|
icon: icon {{ "calls/calls_present", groupCallIconFg }};
|
|
width: 60px;
|
|
height: 68px;
|
|
rippleAreaPosition: point(8px, 12px);
|
|
}
|
|
}
|
|
groupCallMenuToggleSmall: CallButton(groupCallSettingsSmall) {
|
|
button: IconButton(groupCallSettingsInner) {
|
|
icon: icon {{ "calls/calls_more", groupCallIconFg }};
|
|
width: 60px;
|
|
height: 68px;
|
|
rippleAreaPosition: point(8px, 12px);
|
|
}
|
|
}
|
|
groupCallButtonSkip: 40px;
|
|
groupCallButtonSkipSmall: 5px;
|
|
groupCallButtonBottomSkip: 113px;
|
|
groupCallButtonBottomSkipSmall: 95px;
|
|
groupCallButtonBottomSkipWide: 108px;
|
|
groupCallControlsBackMargin: margins(10px, 0px, 10px, 0px);
|
|
groupCallControlsBackRadius: 12px;
|
|
groupCallMuteBottomSkip: 116px;
|
|
|
|
groupCallMembersMargin: margins(16px, 16px, 16px, 60px);
|
|
groupCallMembersTopSkip: 6px;
|
|
groupCallMembersBottomSkip: 80px;
|
|
groupCallMembersShadowHeight: 160px;
|
|
groupCallMembersFadeSkip: 10px;
|
|
groupCallMembersFadeHeight: 100px;
|
|
|
|
groupCallTopBarUserpics: GroupCallUserpics {
|
|
size: 28px;
|
|
shift: 8px;
|
|
stroke: 2px;
|
|
align: align(left);
|
|
}
|
|
groupCallTopBarJoin: RoundButton(defaultActiveButton) {
|
|
width: -26px;
|
|
height: 26px;
|
|
textTop: 4px;
|
|
}
|
|
groupCallTopBarOpen: RoundButton(groupCallTopBarJoin) {
|
|
ripple: RippleAnimation(defaultRippleAnimation) {
|
|
color: shadowFg;
|
|
}
|
|
}
|
|
groupCallBoxButton: RoundButton(defaultBoxButton) {
|
|
textFg: groupCallActiveFg;
|
|
textFgOver: groupCallActiveFg;
|
|
numbersTextFg: groupCallActiveFg;
|
|
numbersTextFgOver: groupCallActiveFg;
|
|
textBg: groupCallMembersBg;
|
|
textBgOver: groupCallMembersBgOver;
|
|
|
|
ripple: groupCallRipple;
|
|
}
|
|
groupCallBox: Box(defaultBox) {
|
|
button: groupCallBoxButton;
|
|
margin: margins(0px, 56px, 0px, 10px);
|
|
bg: groupCallMembersBg;
|
|
title: FlatLabel(boxTitle) {
|
|
textFg: groupCallMembersFg;
|
|
}
|
|
titleAdditionalFg: groupCallMemberNotJoinedStatus;
|
|
}
|
|
groupCallLayerBox: Box(groupCallBox) {
|
|
buttonPadding: margins(8px, 8px, 8px, 8px);
|
|
}
|
|
groupCallLevelMeter: LevelMeter(defaultLevelMeter) {
|
|
height: 18px;
|
|
lineWidth: 3px;
|
|
lineSpacing: 5px;
|
|
lineCount: 44;
|
|
activeFg: groupCallActiveFg;
|
|
inactiveFg: groupCallMembersBgRipple;
|
|
}
|
|
groupCallCheckboxIcon: icon {{ "default_checkbox_check", groupCallMembersFg, point(4px, 7px) }};
|
|
groupCallCheck: Check(defaultCheck) {
|
|
untoggledFg: groupCallMemberNotJoinedStatus;
|
|
toggledFg: groupCallActiveFg;
|
|
icon: groupCallCheckboxIcon;
|
|
}
|
|
groupCallRadio: Radio(defaultRadio) {
|
|
untoggledFg: groupCallMemberNotJoinedStatus;
|
|
toggledFg: groupCallActiveFg;
|
|
}
|
|
groupCallCheckbox: Checkbox(defaultBoxCheckbox) {
|
|
textFg: groupCallMembersFg;
|
|
textFgActive: groupCallMembersFg;
|
|
rippleBg: groupCallMembersBgRipple;
|
|
rippleBgActive: groupCallMembersBgRipple;
|
|
}
|
|
|
|
groupCallSettingsToggle: Toggle(defaultToggle) {
|
|
toggledBg: groupCallMembersBg;
|
|
toggledFg: groupCallActiveFg;
|
|
untoggledBg: groupCallMembersBg;
|
|
untoggledFg: groupCallMemberNotJoinedStatus;
|
|
}
|
|
groupCallSettingsButton: SettingsButton(defaultSettingsButton) {
|
|
padding: margins(24px, 10px, 24px, 8px);
|
|
textFg: groupCallMembersFg;
|
|
textFgOver: groupCallMembersFg;
|
|
textBg: groupCallMembersBg;
|
|
textBgOver: groupCallMembersBgOver;
|
|
rightLabel: FlatLabel(defaultSettingsRightLabel) {
|
|
textFg: groupCallActiveFg;
|
|
}
|
|
toggle: groupCallSettingsToggle;
|
|
toggleOver: groupCallSettingsToggle;
|
|
ripple: groupCallRipple;
|
|
}
|
|
groupCallSettingsAttentionButton: SettingsButton(groupCallSettingsButton) {
|
|
textFg: attentionButtonFg;
|
|
textFgOver: attentionButtonFgOver;
|
|
}
|
|
groupCallBoxLabel: FlatLabel(boxLabel) {
|
|
minWidth: 200px;
|
|
textFg: groupCallMembersFg;
|
|
}
|
|
groupCallJoinAsLabel: FlatLabel(defaultFlatLabel) {
|
|
minWidth: 272px;
|
|
textFg: groupCallMembersFg;
|
|
}
|
|
groupCallJoinAsWidth: 330px;
|
|
groupCallJoinAsTextTop: 4px;
|
|
groupCallJoinAsNameTop: 23px;
|
|
groupCallJoinAsPadding: margins(12px, 8px, 12px, 7px);
|
|
groupCallJoinAsPhotoSize: 30px;
|
|
|
|
groupCallRowBlobMinRadius: 27px;
|
|
groupCallRowBlobMaxRadius: 29px;
|
|
|
|
groupCallDelayLabel: LabelSimple(defaultLabelSimple) {
|
|
textFg: groupCallMembersFg;
|
|
font: boxTextFont;
|
|
}
|
|
groupCallDelayLabelMargin: margins(22px, 10px, 20px, 5px);
|
|
groupCallDelaySlider: MediaSlider(defaultContinuousSlider) {
|
|
seekSize: size(15px, 15px);
|
|
activeFg: groupCallActiveFg;
|
|
inactiveFg: groupCallMemberNotJoinedStatus;
|
|
activeFgOver: groupCallActiveFg;
|
|
inactiveFgOver: groupCallMemberNotJoinedStatus;
|
|
activeFgDisabled: groupCallActiveFg;
|
|
inactiveFgDisabled: groupCallMemberNotJoinedStatus;
|
|
receivedTillFg: groupCallMemberNotJoinedStatus;
|
|
}
|
|
groupCallDelayMargin: margins(22px, 5px, 20px, 10px);
|
|
|
|
groupCallTitleButton: IconButton {
|
|
width: windowTitleButtonWidth;
|
|
height: windowTitleHeight;
|
|
iconPosition: point(0px, 0px);
|
|
}
|
|
groupCallTitleMinimizeIcon: icon {
|
|
{ "title_button_minimize", groupCallMemberNotJoinedStatus },
|
|
};
|
|
groupCallTitleMinimizeIconOver: icon {
|
|
{ windowTitleButtonSize, groupCallMembersBgOver },
|
|
{ "title_button_minimize", groupCallMembersFg },
|
|
};
|
|
groupCallTitleMaximizeIcon: icon {
|
|
{ "title_button_maximize", groupCallMemberNotJoinedStatus },
|
|
};
|
|
groupCallTitleMaximizeIconOver: icon {
|
|
{ windowTitleButtonSize, groupCallMembersBgOver },
|
|
{ "title_button_maximize", groupCallMembersFg },
|
|
};
|
|
groupCallTitleRestoreIcon: icon {
|
|
{ "title_button_restore", groupCallMemberNotJoinedStatus },
|
|
};
|
|
groupCallTitleRestoreIconOver: icon {
|
|
{ windowTitleButtonSize, groupCallMembersBgOver },
|
|
{ "title_button_restore", groupCallMembersFg },
|
|
};
|
|
groupCallTitleCloseIcon: icon {
|
|
{ "title_button_close", groupCallMemberNotJoinedStatus },
|
|
};
|
|
groupCallTitleCloseIconOver: icon {
|
|
{ windowTitleButtonSize, titleButtonCloseBgOver },
|
|
{ "title_button_close", titleButtonCloseFgOver },
|
|
};
|
|
groupCallTitle: WindowTitle(defaultWindowTitle) {
|
|
height: 0px;
|
|
bg: groupCallBg;
|
|
bgActive: groupCallBg;
|
|
fg: transparent;
|
|
fgActive: transparent;
|
|
minimize: IconButton(groupCallTitleButton) {
|
|
icon: groupCallTitleMinimizeIcon;
|
|
iconOver: groupCallTitleMinimizeIconOver;
|
|
}
|
|
minimizeIconActive: groupCallTitleMinimizeIcon;
|
|
minimizeIconActiveOver: groupCallTitleMinimizeIconOver;
|
|
maximize: IconButton(groupCallTitleButton) {
|
|
icon: groupCallTitleMaximizeIcon;
|
|
iconOver: groupCallTitleMaximizeIconOver;
|
|
}
|
|
maximizeIconActive: groupCallTitleMaximizeIcon;
|
|
maximizeIconActiveOver: groupCallTitleMaximizeIconOver;
|
|
restoreIcon: groupCallTitleRestoreIcon;
|
|
restoreIconOver: groupCallTitleRestoreIconOver;
|
|
restoreIconActive: groupCallTitleRestoreIcon;
|
|
restoreIconActiveOver: groupCallTitleRestoreIconOver;
|
|
close: IconButton(groupCallTitleButton) {
|
|
icon: groupCallTitleCloseIcon;
|
|
iconOver: groupCallTitleCloseIconOver;
|
|
}
|
|
closeIconActive: groupCallTitleCloseIcon;
|
|
closeIconActiveOver: groupCallTitleCloseIconOver;
|
|
}
|
|
groupCallPinOnTop: IconButton(groupCallTitleButton) {
|
|
icon: icon{{ "calls/navbar_pin", groupCallMemberNotJoinedStatus }};
|
|
iconOver: icon{{ "calls/navbar_pin", groupCallMembersFg }};
|
|
iconPosition: point(0px, 2px);
|
|
}
|
|
groupCallPinnedOnTop: icon{{ "calls/navbar_pin_filled", groupCallMembersFg }};
|
|
|
|
groupCallMajorBlobIdleRadius: 2px;
|
|
groupCallMajorBlobMaxRadius: 4px;
|
|
|
|
groupCallMinorBlobIdleRadius: 3px;
|
|
groupCallMinorBlobMaxRadius: 12px;
|
|
|
|
groupCallMuteCrossLine: CrossLineAnimation {
|
|
fg: groupCallIconFg;
|
|
icon: icon {{ "calls/volume/speaker", groupCallIconFg }};
|
|
startPosition: point(2px, 5px);
|
|
endPosition: point(16px, 19px);
|
|
stroke: 2px;
|
|
}
|
|
|
|
groupCallMenuSpeakerArcsSkip: 1px;
|
|
groupCallMenuVolumeSkip: 5px;
|
|
groupCallMenuVolumePadding: margins(17px, 6px, 17px, 5px);
|
|
groupCallMenuVolumeMargin: margins(55px, 0px, 15px, 0px);
|
|
groupCallMenuVolumeSlider: MediaSlider(defaultContinuousSlider) {
|
|
activeFg: groupCallMembersFg;
|
|
inactiveFg: groupCallMembersBgOver;
|
|
activeFgOver: groupCallMembersFg;
|
|
inactiveFgOver: groupCallMembersBgOver;
|
|
activeFgDisabled: groupCallMembersBgOver;
|
|
receivedTillFg: groupCallMembersBgOver;
|
|
width: 7px;
|
|
seekSize: size(7px, 7px);
|
|
}
|
|
|
|
groupCallSpeakerArcsAnimation: ArcsAnimation {
|
|
fg: groupCallIconFg;
|
|
stroke: 2px;
|
|
space: 4px;
|
|
duration: 200;
|
|
deltaAngle: 60;
|
|
deltaHeight: 6px;
|
|
deltaWidth: 7px;
|
|
startHeight: 3px;
|
|
startWidth: 0px;
|
|
}
|
|
|
|
groupCallStatusSpeakerIcon: icon {{ "calls/volume/speaker_small", groupCallIconFg }};
|
|
groupCallStatusSpeakerArcsSkip: 3px;
|
|
groupCallStatusSpeakerArcsAnimation: ArcsAnimation(groupCallSpeakerArcsAnimation) {
|
|
deltaAngle: 68;
|
|
space: 3px;
|
|
deltaHeight: 5px;
|
|
deltaWidth: 4px;
|
|
startHeight: 1px;
|
|
}
|
|
|
|
groupCallShareMutedMargin: margins(16px, 16px, 16px, 8px);
|
|
|
|
callTopBarMuteCrossLine: CrossLineAnimation {
|
|
fg: callBarFg;
|
|
icon: icon {{ "calls/call_record_active", callBarFg }};
|
|
startPosition: point(11px, 8px);
|
|
endPosition: point(26px, 23px);
|
|
stroke: 2px;
|
|
}
|
|
|
|
groupCallStartsIn: FlatLabel(defaultFlatLabel) {
|
|
style: TextStyle(defaultTextStyle) {
|
|
font: font(20px semibold);
|
|
linkFont: font(20px semibold);
|
|
linkFontOver: font(20px semibold underline);
|
|
}
|
|
textFg: groupCallMembersFg;
|
|
}
|
|
groupCallScheduledBodyHeight: 200px;
|
|
groupCallStartsWhen: groupCallStartsIn;
|
|
groupCallStartsInTop: 10px;
|
|
groupCallStartsWhenTop: 160px;
|
|
groupCallCountdownFont: font(64px semibold);
|
|
groupCallCountdownTop: 52px;
|
|
|
|
desktopCaptureMargins: margins(12px, 8px, 12px, 6px);
|
|
desktopCaptureSourceSize: size(235px, 165px);
|
|
desktopCaptureSourceSkips: size(2px, 10px);
|
|
desktopCaptureSourceTitle: WindowTitle(groupCallTitle) {
|
|
bg: groupCallMembersBgOver;
|
|
bgActive: groupCallMembersBgOver;
|
|
height: windowTitleHeight;
|
|
}
|
|
desktopCapturePadding: margins(7px, 7px, 7px, 33px);
|
|
desktopCaptureLabelBottom: 7px;
|
|
desktopCaptureLabel: FlatLabel(defaultFlatLabel) {
|
|
minWidth: 200px;
|
|
maxHeight: 20px;
|
|
textFg: groupCallMembersFg;
|
|
style: semiboldTextStyle;
|
|
}
|
|
desktopCaptureCancel: RoundButton(defaultBoxButton) {
|
|
textFg: groupCallActiveFg;
|
|
textFgOver: groupCallActiveFg;
|
|
numbersTextFg: groupCallActiveFg;
|
|
numbersTextFgOver: groupCallActiveFg;
|
|
textBg: groupCallMembersBg;
|
|
textBgOver: groupCallMembersBgOver;
|
|
|
|
ripple: groupCallRipple;
|
|
}
|
|
desktopCaptureFinish: RoundButton(desktopCaptureCancel) {
|
|
textFg: groupCallMemberMutedIcon;
|
|
textFgOver: groupCallMemberMutedIcon;
|
|
}
|
|
desktopCaptureSubmit: RoundButton(desktopCaptureCancel) {
|
|
textFg: groupCallIconFg;
|
|
textFgOver: groupCallIconFg;
|
|
numbersTextFg: groupCallIconFg;
|
|
numbersTextFgOver: groupCallIconFg;
|
|
textBg: groupCallMuted1;
|
|
textBgOver: groupCallMuted1;
|
|
|
|
ripple: RippleAnimation(groupCallRipple) {
|
|
color: shadowFg;
|
|
}
|
|
}
|
|
desktopCaptureWithAudio: Checkbox(defaultCheckbox) {
|
|
textFg: groupCallMembersFg;
|
|
textFgActive: groupCallMembersFg;
|
|
rippleBg: groupCallMembersBgRipple;
|
|
rippleBgActive: groupCallMembersBgRipple;
|
|
style: semiboldTextStyle;
|
|
}
|
|
desktopCaptureWithAudioCheck: Check(defaultCheck) {
|
|
untoggledFg: groupCallActiveFg;
|
|
}
|
|
|
|
groupCallNarrowSkip: 9px;
|
|
groupCallNarrowMembersWidth: 204px;
|
|
groupCallNarrowVideoHeight: 120px;
|
|
groupCallWideModeWidthMin: 600px;
|
|
groupCallWideModeSize: size(960px, 580px);
|
|
groupCallNarrowInactiveCrossLine: CrossLineAnimation {
|
|
fg: groupCallMemberNotJoinedStatus;
|
|
icon: icon {{ "calls/video_mini_mute", groupCallMemberNotJoinedStatus }};
|
|
startPosition: point(3px, 0px);
|
|
endPosition: point(13px, 12px);
|
|
stroke: 3px;
|
|
strokeDenominator: 2;
|
|
}
|
|
groupCallNarrowColoredCrossLine: CrossLineAnimation(groupCallNarrowInactiveCrossLine) {
|
|
fg: groupCallMemberNotJoinedStatus;
|
|
icon: icon {{ "calls/video_mini_mute", groupCallMemberActiveStatus }};
|
|
}
|
|
groupCallNarrowRaisedHand: icon {{ "calls/video_mini_speak", groupCallMemberInactiveStatus }};
|
|
groupCallNarrowCameraIcon: icon {{ "calls/video_mini_video", groupCallMemberNotJoinedStatus }};
|
|
groupCallNarrowScreenIcon: icon {{ "calls/video_mini_screencast", groupCallMemberNotJoinedStatus }};
|
|
groupCallNarrowInvitedIcon: icon {{ "calls/video_mini_invited", groupCallMemberNotJoinedStatus }};
|
|
groupCallNarrowIconPosition: point(-4px, 2px);
|
|
groupCallNarrowIconSkip: 15px;
|
|
groupCallOutline: 2px;
|
|
groupCallVideoCrossLine: CrossLineAnimation(groupCallMemberColoredCrossLine) {
|
|
fg: groupCallVideoTextFg;
|
|
icon: icon {{ "calls/video_over_mute", groupCallVideoTextFg }};
|
|
}
|
|
|
|
GroupCallVideoTile {
|
|
shadowHeight: pixels;
|
|
namePosition: point;
|
|
pin: CrossLineAnimation;
|
|
pinPosition: point;
|
|
pinPadding: margins;
|
|
pinTextPosition: point;
|
|
back: icon;
|
|
iconPosition: point;
|
|
}
|
|
|
|
groupCallVideoTile: GroupCallVideoTile {
|
|
shadowHeight: 40px;
|
|
namePosition: point(15px, 8px);
|
|
pin: CrossLineAnimation {
|
|
fg: groupCallVideoTextFg;
|
|
icon: icon {{ "calls/video_over_pin", groupCallVideoTextFg }};
|
|
startPosition: point(7px, 4px);
|
|
endPosition: point(17px, 14px);
|
|
stroke: 3px;
|
|
strokeDenominator: 2;
|
|
}
|
|
pinPosition: point(18px, 18px);
|
|
pinPadding: margins(6px, 2px, 12px, 1px);
|
|
pinTextPosition: point(1px, 3px);
|
|
back: icon {{ "calls/video_back", groupCallVideoTextFg }};
|
|
iconPosition: point(10px, 5px);
|
|
}
|
|
|
|
groupCallVideoSmallSkip: 4px;
|
|
groupCallVideoLargeSkip: 6px;
|
|
groupCallVideoPlaceholderHeight: 212px;
|
|
groupCallVideoPlaceholderIconTop: 50px;
|
|
groupCallVideoPlaceholderTextTop: 120px;
|
|
|
|
groupCallTooltip: Tooltip(defaultTooltip) {
|
|
textBg: groupCallMembersBg;
|
|
textFg: groupCallMembersFg;
|
|
textBorder: groupCallMembersBgOver;
|
|
}
|
|
groupCallNiceTooltip: ImportantTooltip(defaultImportantTooltip) {
|
|
bg: importantTooltipBg;
|
|
padding: margins(10px, 3px, 10px, 5px);
|
|
radius: 4px;
|
|
arrow: 4px;
|
|
}
|
|
groupCallNiceTooltipLabel: FlatLabel(defaultImportantTooltipLabel) {
|
|
style: TextStyle(defaultTextStyle) {
|
|
font: font(11px);
|
|
linkFont: font(11px);
|
|
linkFontOver: font(11px underline);
|
|
}
|
|
}
|
|
groupCallStickedTooltip: ImportantTooltip(groupCallNiceTooltip) {
|
|
padding: margins(10px, 1px, 6px, 3px);
|
|
}
|
|
groupCallStickedTooltipClose: IconButton(defaultIconButton) {
|
|
width: 20px;
|
|
height: 20px;
|
|
iconPosition: point(4px, 3px);
|
|
icon: icon {{ "calls/video_tooltip", importantTooltipFg }};
|
|
iconOver: icon {{ "calls/video_tooltip", importantTooltipFg }};
|
|
ripple: emptyRippleAnimation;
|
|
}
|
|
groupCallNiceTooltipTop: 4px;
|
|
groupCallPaused: icon {{ "calls/video_large_paused", groupCallVideoTextFg }};
|
|
|
|
groupCallRecordingSubLabel: FlatLabel(boxDividerLabel) {
|
|
margin: margins(0px, 0px, 0px, 0px);
|
|
textFg: groupCallMemberNotJoinedStatus;
|
|
align: align(top);
|
|
}
|
|
groupCallRecordingInfoMargins: margins(0px, 22px, 0px, 22px);
|
|
groupCallRecordingSubLabelMargins: margins(8px, 22px, 8px, 22px);
|
|
groupCallRecordingAudioSkip: 23px;
|
|
groupCallRecordingSelectWidth: 2px;
|
|
groupCallRecordingInfoHeight: 204px;
|
|
|
|
groupCallRtmpCopyButton: RoundButton(defaultActiveButton) {
|
|
height: 32px;
|
|
width: -26px;
|
|
|
|
textTop: 7px;
|
|
}
|
|
groupCallRtmpCopyButtonTopSkip: 12px;
|
|
groupCallRtmpCopyButtonBottomSkip: 15px;
|
|
|
|
groupCallRtmpShowButton: IconButton(defaultIconButton) {
|
|
width: 32px;
|
|
height: 32px;
|
|
|
|
icon: icon {{ "menu/show_in_chat", menuIconFg }};
|
|
iconOver: icon {{ "menu/show_in_chat", menuIconFgOver }};
|
|
iconPosition: point(4px, 4px);
|
|
|
|
rippleAreaPosition: point(0px, 0px);
|
|
rippleAreaSize: 32px;
|
|
ripple: RippleAnimation(defaultRippleAnimation) {
|
|
color: windowBgOver;
|
|
}
|
|
}
|
|
groupCallSettingsRtmpShowButton: IconButton(groupCallRtmpShowButton) {
|
|
ripple: groupCallRipple;
|
|
}
|
|
groupCallSubsectionTitle: FlatLabel(settingsSubsectionTitle) {
|
|
textFg: groupCallActiveFg;
|
|
}
|
|
groupCallAttentionBoxButton: RoundButton(groupCallBoxButton) {
|
|
textFg: attentionButtonFg;
|
|
textFgOver: attentionButtonFgOver;
|
|
}
|
|
|
|
groupCallRtmpUrlSkip: 1px;
|
|
groupCallRtmpKeySubsectionTitleSkip: 8px;
|
|
groupCallRtmpSubsectionTitleAddPadding: margins(0px, -1px, 0px, -4px);
|
|
groupCallRtmpShowButtonPosition: point(21px, -5px);
|
|
groupCallRtmpKeyLabel: FlatLabel(boxLabel) {
|
|
minWidth: 230px;
|
|
}
|
|
groupCallDividerBg: groupCallMembersBgRipple;
|
|
|
|
groupCallScheduleDateField: InputField(groupCallField) {
|
|
textMargins: margins(2px, 0px, 2px, 0px);
|
|
placeholderScale: 0.;
|
|
heightMin: 30px;
|
|
textAlign: align(top);
|
|
font: font(14px);
|
|
}
|
|
groupCallScheduleTimeField: InputField(groupCallScheduleDateField) {
|
|
textBg: groupCallMembersBg;
|
|
border: 0px;
|
|
borderActive: 0px;
|
|
heightMin: 28px;
|
|
placeholderFont: font(14px);
|
|
}
|
|
|
|
//
|
|
groupCallCalendarPreviousDisabled: icon {{ "calendar_down-flip_vertical", groupCallMemberNotJoinedStatus }};
|
|
groupCallCalendarNextDisabled: icon {{ "calendar_down", groupCallMemberNotJoinedStatus }};
|
|
groupCallCalendarPrevious: IconButton(calendarPrevious) {
|
|
icon: icon {{ "calendar_down-flip_vertical", groupCallMembersFg }};
|
|
ripple: RippleAnimation(defaultRippleAnimation) {
|
|
color: groupCallMembersBgRipple;
|
|
}
|
|
}
|
|
groupCallCalendarNext: IconButton(groupCallCalendarPrevious) {
|
|
icon: icon {{ "calendar_down", groupCallMembersFg }};
|
|
}
|
|
groupCallCalendarColors: CalendarColors {
|
|
dayTextColor: groupCallMembersFg;
|
|
dayTextGrayedOutColor: groupCallMemberNotJoinedStatus;
|
|
|
|
iconButtonNext: groupCallCalendarNext;
|
|
iconButtonNextDisabled: groupCallCalendarNextDisabled;
|
|
iconButtonPrevious: groupCallCalendarPrevious;
|
|
iconButtonPreviousDisabled: groupCallCalendarPreviousDisabled;
|
|
|
|
iconButtonRippleColorDisabled: groupCallMembersBgRipple;
|
|
|
|
rippleColor: groupCallMembersBgRipple;
|
|
rippleColorHighlighted: groupCallMembersBgRipple;
|
|
rippleGrayedOutColor: groupCallMembersBgRipple;
|
|
|
|
titleTextColor: groupCallMembersFg;
|
|
}
|
|
//
|