/* This file is part of Telegram Desktop, the official desktop version of Telegram messaging app, see https://telegram.org Telegram Desktop is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. It is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. In addition, as a special exception, the copyright holders give permission to link the code of portions of this program with the OpenSSL library. Full license: https://github.com/telegramdesktop/tdesktop/blob/master/LICENSE Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org */ using "basic_types.style"; semibold: "Open Sans Semibold"; fsize: 13px; normalFont: font(fsize); semiboldFont: font(fsize semibold); emojiImgSize: 18px; // exceptional value for retina emojiSize: 18px; emojiPadding: 0px; counterBG: #f23c34; counterMuteBG: #888; counterColor: #fff; counterMacInvColor: #ffffff01; lineWidth: 1px; transparent: #fff0; white: #fff; black: #000; color1: #c03d33; // red color2: #4fad2d; // green color3: #d09306; // yellow color4: #348cd4; // blue color5: #8544d6; // purple color6: #cd4073; // pink color7: #2996ad; // sea color8: #ce671b; // orange wndMinWidth: 380px; adaptiveNormalWidth: 640px; adaptiveWideWidth: 1366px; windowBg: #ffffff; // fallback for background: white windowActiveBg: #40ace3; // fallback for blue filled active areas windowTextFg: #000000; // fallback for text color: black windowSubTextFg: #8a8a8a; // fallback for subtext color: gray windowSubTextFgOver: #7c99b2; // fallback for subtext over color: gray over blue bg windowActiveTextFg: #1485c2; // fallback for active color: blue online windowShadowFg: #000000; // fallback for shadow color semiboldButtonBlueText: #2b99d5; wndMinHeight: 480px; wndDefWidth: 800px; wndDefHeight: 600px; wndShadow: sprite(209px, 46px, 19px, 19px); wndShadowShift: 1px; layerAlpha: 0.5; layerBg: black; overBg: #edf2f5; labelDefFlat: flatLabel { font: font(fsize); width: 0px; maxHeight: 0px; align: align(left); textFg: windowTextFg; } boxBg: white; boxVerticalMargin: 10px; boxWidth: 320px; boxWideWidth: 364px; boxPadding: margins(26px, 30px, 34px, 8px); boxMaxListHeight: 600px; boxFontSize: 14px; boxTextFont: font(boxFontSize); boxLittleSkip: 10px; boxMediumSkip: 20px; boxTitleFg: #444444; boxTitleFont: font(boxFontSize bold); boxTitlePosition: point(26px, 28px); boxTitleHeight: 54px; boxBlueTitleBg: #6393b5; boxBlueTitleAdditionalFg: #dae9f5; boxBlueTitleAdditionalSkip: 12px; boxBlueTitlePosition: point(23px, 18px); boxBlueCloseIcon: sprite(120px, 108px, 12px, 12px); boxBlueCloseBg: #c8e1f0; boxBlueCloseDuration: 150; boxBlueShadow: sprite(132px, 108px, 1px, 4px); boxButtonFont: font(boxFontSize semibold); defaultBoxButton: BoxButton { textFg: #2f9fea; textFgOver: #2f9fea; textBg: white; textBgOver: #edf7ff; width: -24px; height: 36px; padding: margins(0px, 0px, 0px, 0px); textTop: 8px; font: boxButtonFont; duration: 200; } cancelBoxButton: BoxButton(defaultBoxButton) { textFg: #aeaeae; } attentionBoxButton: BoxButton(defaultBoxButton) { textFg: #ea4b2f; textFgOver: #ea4b2f; textBgOver: #fff0ed; } boxButtonPadding: margins(12px, 16px, 22px, 16px); defaultBoxLinkButton: linkButton { color: #0080c0; overColor: #0080c0; downColor: #0073ad; font: boxTextFont; overFont: font(boxFontSize underline); } redBoxLinkButton: linkButton(defaultBoxLinkButton) { color: #d15948; overColor: #d15948; downColor: #db6352; } boxLabel: flatLabel(labelDefFlat) { font: font(boxFontSize); align: align(topleft); } defaultLeftOutlineButton: OutlineButton { outlineWidth: 3px; outlineFg: windowBg; outlineFgOver: windowActiveBg; textBg: windowBg; textBgOver: #f2f7fa; textFg: windowActiveTextFg; textFgOver: windowActiveTextFg; font: normalFont; padding: margins(11px, 5px, 11px, 5px); } attentionLeftOutlineButton: OutlineButton(defaultLeftOutlineButton) { outlineFgOver: #e43f3f; textBgOver: #faf2f2; textFg: #d15948; textFgOver: #d15948; } defaultInputArea: InputArea { textFg: black; textMargins: margins(5px, 6px, 5px, 4px); placeholderFg: #999; placeholderFgActive: #aaa; placeholderMargins: margins(2px, 0px, 2px, 0px); placeholderAlign: align(topleft); placeholderShift: 50px; duration: 120; borderFg: #e0e0e0; borderFgActive: #62c0f7; borderFgError: #e48383; border: 1px; borderActive: 2px; borderError: 2px; font: boxTextFont; heightMin: 32px; heightMax: 128px; } defaultInputField: InputField { textFg: black; textMargins: margins(0px, 6px, 0px, 4px); textAlign: align(topleft); placeholderFg: #999; placeholderFgActive: #aaa; placeholderMargins: margins(2px, 0px, 2px, 0px); placeholderAlign: align(topleft); placeholderShift: 50px; duration: 120; borderFg: #e0e0e0; borderFgActive: #62c0f7; borderFgError: #e48383; border: 1px; borderActive: 2px; borderError: 2px; font: boxTextFont; height: 32px; } dialogsSearchField: InputField(defaultInputField) { textMargins: margins(34px, 7px, 34px, 7px); iconSprite: sprite(227px, 21px, 24px, 24px); iconPosition: point(6px, 5px); width: 240px; height: 34px; } defaultCheckbox: Checkbox { textFg: black; textBg: white; checkFg: #b3b3b3; checkFgOver: #b3b3b3; checkFgActive: #40ace3; width: -44px; height: 22px; textPosition: point(32px, 2px); diameter: 22px; thickness: 2px; checkIcon: icon { { "default_checkbox_check", #ffffff, point(4px, 7px) } }; font: normalFont; duration: 120; } defaultBoxCheckbox: Checkbox(defaultCheckbox) { width: -46px; textPosition: point(34px, 1px); font: boxTextFont; } defaultRadiobutton: Radiobutton { textFg: black; textBg: white; checkFg: #b3b3b3; checkFgOver: #bfbfbf; checkFgActive: #4eb3ee; width: -46px; height: 22px; textPosition: point(34px, 0px); diameter: 22px; thickness: 2px; checkSkip: 65px; // * 0.1 font: boxTextFont; duration: 120; } solidScroll: flatScroll { barColor: #3f729734; bgColor: #214f751a; barOverColor: #3f729734; bgOverColor: #214f751a; round: 0px; minHeight: 20px; deltax: 5px; width: 14px; deltat: 6px; deltab: 6px; topsh: 0px; bottomsh: 0px; shColor: rgba(0, 0, 0, 18); duration: 150; hiding: 0; } defaultPopupMenu: PopupMenu { skip: 5px; shadow: sprite(241px, 46px, 6px, 6px); shadowShift: 1px; itemBg: white; itemBgOver: overBg; itemFg: black; itemFgOver: black; itemFgDisabled: #ccc; itemFgShortcut: #999; itemFgShortcutOver: #7c99b2; itemFgShortcutDisabled: #ccc; itemPadding: margins(17px, 8px, 17px, 7px); itemFont: normalFont; separatorPadding: margins(0px, 5px, 0px, 5px); separatorWidth: 1px; separatorFg: #f1f1f1; arrow: sprite(0px, 126px, 4px, 7px); duration: 120; widthMin: 180px; widthMax: 300px; } defaultTooltip: Tooltip { textBg: #eef2f5; textFg: #5d6c80; textFont: normalFont; textBorder: #c9d1db; textPadding: margins(5px, 2px, 5px, 2px); shift: point(-20px, 20px); skip: 10px; widthMax: 800px; linesMax: 12; } almostTransparent: #ffffff0d; boxScroll: flatScroll(solidScroll) { width: 18px; deltax: 6px; } boxScrollSkip: 6px; boxScrollShadowBg: #00000012; boxSearchField: InputField(defaultInputField) { textMargins: margins(41px, 16px, 41px, 0px); placeholderFg: #999; placeholderFgActive: #aaa; placeholderMargins: margins(4px, 0px, 4px, 0px); border: 0px; borderActive: 0px; borderError: 0px; height: 48px; iconSprite: sprite(227px, 21px, 24px, 24px); iconPosition: point(15px, 14px); font: normalFont; } boxSearchCancel: iconedButton { color: white; bgColor: white; overBgColor: white; font: font(fsize); opacity: 0.3; overOpacity: 0.4; textPos: point(0px, 0px); downTextPos: point(0px, 0px); duration: 150; cursor: cursor(pointer); icon: sprite(133px, 108px, 12px, 12px); iconPos: point(8px, 18px); downIcon: sprite(133px, 108px, 12px, 12px); downIconPos: point(8px, 18px); width: 41px; height: 48px; } titleBG: #6389a8; titleColor: #0f8dcc;//rgb(20, 136, 210); titleHeight: 39px; titleIconPos: point(7px, 7px); titleIconImg: sprite(161px, 100px, 26px, 26px); titleFont: font(17px); titlePos: point(44px, 29px); titleMenuOffset: 36px; titleRed: #ee4928; titleGray: #777; titleGreen: #41a903; titleStatusFg: #999; titleStatusActiveFg: #0080c0; titleTypingFg: #0080c0; statusFont: font(fsize); versionColor: #777; shadowColor: rgba(0, 0, 0, 24); shadowToggleDuration: 200; slideDuration: 240; slideShift: 100px; slideFadeOut: 0.3; slideShadow: sprite(348px, 71px, 48px, 1px); slideFunction: transition(easeOutCirc); btnDefIconed: iconedButton { color: white; bgColor: white; overBgColor: white; font: font(fsize); opacity: 0.78; overOpacity: 1.; textPos: point(0px, 0px); downTextPos: point(0px, 0px); duration: 150; cursor: cursor(pointer); } sysBtnDelta: 6px; sysUpd: sysButton { size: size(31px, 39px); img: sprite(184px, 1px, 19px, 19px); color: #c4d8e9; overColor: white; duration: 150; } updateBlinkDuration: 500; sysMin: sysButton(sysUpd) { img: sprite(207px, 1px, 19px, 19px); } sysMax: sysButton(sysUpd) { img: sprite(230px, 1px, 19px, 19px); } sysRes: sysButton(sysUpd) { img: sprite(253px, 1px, 19px, 19px); } sysCls: sysButton(sysUpd) { img: sprite(276px, 1px, 19px, 19px); } sysLock: sysButton(sysUpd) { img: sprite(184px, 22px, 19px, 19px); } sysUnlock: sysButton(sysUpd) { img: sprite(207px, 22px, 19px, 19px); } titleBackButton: iconedButton(btnDefIconed) { icon: sprite(9px, 104px, 13px, 20px); iconPos: point(5px, 9px); downIcon: sprite(9px, 104px, 13px, 20px); downIconPos: point(5px, 10px); bgColor: #c4d8e9; overBgColor: #fff; width: -30px; height: 39px; opacity: 1.; cursor: cursor(default); textPos: point(23px, 10px); downTextPos: point(23px, 11px); } btnWhiteHover: #f5f5f5; btnBoxWhiteHover: #fafafa; btnYesColor: #0080c0; btnYesHover: #0073ad; btnNoColor: #8b8b8b; btnNoHover: #777; titleTextButton: flatButton { color: #d4e3ef; overColor: #fff; downColor: #fff; bgColor: transparent; overBgColor: transparent; downBgColor: transparent; width: -14px; height: 39px; textTop: 10px; overTextTop: 10px; downTextTop: 11px; font: font(fsize); overFont: font(fsize); duration: 150; cursor: cursor(default); } btnDefFlat: flatButton { duration: 200; cursor: cursor(pointer); } btnDefBig: flatButton(btnDefFlat) { textTop: 11px; overTextTop: 11px; downTextTop: 12px; font: font(23px); overFont: font(23px); height: 56px; } btnNextBG: #2fa9e2; btnDefNext: flatButton(btnDefFlat) { color: white; overColor: white; downColor: white; bgColor: btnNextBG; overBgColor: #279ad0; downBgColor: #279ad0; } btnDefBack: flatButton(btnDefFlat) { color: white; overColor: white; downColor: white; bgColor: #c7c7c7; overBgColor: #b9b9b9; downBgColor: #b9b9b9; } linkCropLimit: 360px; linkFont: normalFont; linkOverFont: font(fsize underline); btnDefLink: linkButton { color: btnYesColor; overColor: btnYesColor; downColor: btnYesHover; font: linkFont; overFont: linkOverFont; } cbDefFlat: flatCheckbox { textColor: #000; bgColor: transparent; disColor: #999; height: 22px; textTop: 1px; textLeft: 34px; font: font(fsize); duration: 200; bgFunc: transition(easeOutCirc); cursor: cursor(pointer); disabledCursor: cursor(default); imageRect: sprite(142px, 43px, 22px, 22px); chkImageRect: sprite(120px, 68px, 22px, 22px); overImageRect: sprite(142px, 68px, 22px, 22px); chkOverImageRect: sprite(120px, 68px, 22px, 22px); disImageRect: sprite(142px, 43px, 22px, 22px); chkDisImageRect: sprite(120px, 43px, 22px, 22px); imagePos: point(0px, 0px); } rbDefFlat: flatCheckbox(cbDefFlat) { chkImageRect: sprite(165px, 68px, 22px, 22px); chkOverImageRect: sprite(165px, 68px, 22px, 22px); chkDisImageRect: sprite(165px, 43px, 22px, 22px); } inpDefFont: font(17px); inpDefFlat: flatInput { textColor: #000; bgColor: #FFF; bgActive: #FFF; width: 210px; height: 40px; align: align(left); textMrg: margins(5px, 5px, 5px, 5px); font: inpDefFont; cursor: cursor(text); borderWidth: 0px; borderColor: black; borderActive: black; borderError: black; phColor: #949494; phFocusColor: #AAA; phAlign: align(left); phPos: point(2px, 0px); phShift: 50px; phDuration: 100; phLeftFunc: transition(linear); phAlphaFunc: transition(linear); phColorFunc: transition(linear); } inpDefGray: flatInput(inpDefFlat) { bgColor: #f2f2f2; borderWidth: 2px; borderColor: #f2f2f2; borderActive: #80cff9; borderError: #ed8080; phColor: #808080; } taDefFlat: flatTextarea { textColor: #000; bgColor: #FFF; align: align(left); textMrg: margins(5px, 5px, 5px, 5px); font: inpDefFont; cursor: cursor(text); phColor: #999; phFocusColor: #AAA; phAlign: align(topleft); phPos: point(2px, 0px); phShift: 50px; phDuration: 100; phLeftFunc: transition(linear); phAlphaFunc: transition(linear); phColorFunc: transition(linear); } scrollDef: flatScroll { barColor: rgba(0, 0, 0, 83); bgColor: rgba(0, 0, 0, 26); barOverColor: rgba(0, 0, 0, 122); bgOverColor: rgba(0, 0, 0, 44); round: 0px; width: 10px; minHeight: 20px; deltax: 3px; deltat: 3px; deltab: 3px; topsh: 2px; bottomsh: 2px; shColor: rgba(0, 0, 0, 18); duration: 150; hiding: 1000; } scrollCountries: flatScroll(scrollDef) { topsh: 0px; bottomsh: -2px; } lnkText: #0f7dc7; introBtnTop: 288px; introSkip: 45px; introFinishSkip: 15px; introPhotoSize: 98px; introHeaderFont: font(24px); introHeaderSkip: 14px; introIconSkip: 54px; introFont: font(16px); introLink: linkButton(btnDefLink) { font: introFont; overFont: font(16px underline); } introColor: black; introLabel: flatLabel(labelDefFlat) { font: introFont; align: align(center); } introPointsTop: -30px; // intro steps bottom points introPointWidth: 4px; introPointHeight: 4px; introPointHoverWidth: 10px; introPointHoverHeight: 10px; introPointLeft: 3px; introPointTop: 3px; introPointDelta: 10px; introPointColor: rgb(0, 0, 0); introPointAlpha: 0.5; introPointHoverColor: #86b4e3; introPointStepT: transition(sineInOut); introPointAlphaT: transition(linear); introPointShowStepT: transition(easeOutCirc); introPointHideStepT: transition(easeInCirc); introPointShowAlphaT: transition(easeInCirc); introPointHideAlphaT: transition(easeOutCirc); introStepSize: size(400px, 200px); introSize: size(400px, 400px); introSlideShift: 500px; // intro hiding animation introSlideDuration: 200; introSlideDelta: 0; // between hide start and show start introHideFunc: transition(easeInCirc); introShowFunc: transition(easeOutCirc); introAlphaHideFunc: transition(easeOutCirc); introAlphaShowFunc: transition(easeInCirc); introTextTop: 22px; introTextSize: size(400px, 93px); introCallSkip: 15px; introPwdTextSize: size(400px, 73px); btnIntroSep: 12px; btnIntroNext: flatButton(btnDefNext, btnDefBig) { textTop: 16px; overTextTop: 16px; downTextTop: 17px; font: font(17px); overFont: font(17px); width: 300px; } boxShadow: sprite(363px, 50px, 15px, 15px); boxShadowShift: 2px; introCountry: countryInput { width: 300px; height: 41px; top: 33px; bgColor: #f2f2f2; ptrSize: size(15px, 8px); textMrg: margins(16px, 5px, 16px, 15px); font: inpDefFont; align: align(left); } introPhoneTop: 8px; inpIntroCountryCode: flatInput(inpDefGray) { width: 70px; height: 41px; align: align(center); } inpIntroPhone: flatInput(inpDefGray) { textMrg: margins(12px, 5px, 12px, 6px); width: 225px; height: 41px; } inpIntroCode: flatInput(inpDefGray) { textMrg: margins(12px, 5px, 12px, 6px); width: 106px; height: 41px; align: align(center); phPos: point(0px, 0px); phAlign: align(center); phShift: 0px; } inpIntroName: flatInput(inpIntroPhone) { width: 192px; } inpIntroPassword: flatInput(inpIntroPhone) { width: 300px; } introSelectDelta: 30px; btnSelectSep: #e0e0e0; btnRedLink: linkButton(btnDefLink) { color: #d15948; overColor: #d15948; downColor: #db6352; } countryRowHeight: 36px; countryRowNameFont: semiboldFont; countryRowPadding: margins(22px, 9px, 8px, 0px); countryRowCodeFont: font(fsize); countryRowBgOver: overBg; countryRowCodeFg: #808080; countryRowCodeFgOver: #7c99b2; countriesSkip: 12px; countriesScroll: flatScroll(boxScroll) { deltat: 9px; deltab: 3px; } introErrWidth: 450px; introErrDuration: 200; introErrFunc: transition(linear); introErrColor: black; introErrTop: 15px; introErrHeight: 40px; introErrFont: font(16px); introErrLabel: flatLabel(labelDefFlat) { font: introErrFont; align: align(center); } setWidth: 356px; setTop: 26px; setNameLeft: 3px; setNameTop: 5px; setNameFont: font(18px); setStatusTop: 35px; setStatusLeft: 3px; setStatusFont: font(14px); setPhotoSize: 120px; setHeaderFont: font(17px); setHeaderColor: black; setHeaderSkip: 60px; setHeaderLeft: -1px; setHeaderTop: 26px; setLittleSkip: 9px; setSectionSkip: 25px; setContactInfoLeft: 150px; setVersionHeight: 41px; setVersionLeft: 36px; setVersionTop: 3px; setVersionColor: #999; setBottom: 130px; setScroll: flatScroll(scrollDef) { bottomsh: 0px; topsh: 0px; } setClose: iconedButton(btnDefIconed) { icon: sprite(245px, 221px, 40px, 40px); iconPos: point(0px, 0px); downIcon: sprite(245px, 221px, 40px, 40px); downIconPos: point(0px, 0px); opacity: 0.71; width: 43px; height: 43px; } setClosePos: point(32px, 32px); setPhotoImg: sprite(0px, 218px, 120px, 120px); setOverPhotoImg: sprite(122px, 218px, 120px, 120px); setPhotoDuration: 150; setPadding: 26px; setBG: #FFF; setSh: #000; setTitleFrom: point(20px, 20px); setTitleFont: font(24px); setTitleColor: #000; setNameInput: flatInput(inpDefFlat) { font: font(fsize); height: 25px; width: 170px; textMrg: margins(3px, 3px, 3px, 3px); } setErrBG: #ffa5a5; setErrColor: #d84d4d; setErrHeight: 30px; setErrFont: font(fsize); setGoodColor: #4ab44a; setBackgroundSize: 120px; btnSetUpload: flatButton(btnDefNext, btnDefBig) { width: 206px; height: 42px; font: font(18px); overFont: font(18px); textTop: 9px; overTextTop: 9px; downTextTop: 10px; } btnEditSave: flatButton(btnSetUpload) { width: 115px; } btnEditCancel: flatButton(btnDefFlat, btnDefBig) { color: #666d78; overColor: #666d78; downColor: #50565e; bgColor: rgba(0, 0, 0, 63); overBgColor: rgba(0, 0, 0, 47); downBgColor: rgba(0, 0, 0, 95); width: 115px; height: 40px; textTop: 9px; overTextTop: 9px; downTextTop: 10px; font: font(18px); overFont: font(18px); } btnLogout: flatButton(btnDefFlat, btnDefBig) { color: white; overColor: white; downColor: white; bgColor: #db6352; overBgColor: #d15948; downBgColor: #c74d3b; width: 148px; height: 42px; textTop: 8px; overTextTop: 8px; downTextTop: 9px; font: font(18px); overFont: font(18px); } searchFlatInput: flatInput(inpDefGray) { font: font(fsize); bgColor: #f2f2f2; phColor: #949494; phFocusColor: #a4a4a4; imgRect: sprite(227px, 21px, 24px, 24px); borderWidth: 2px; borderColor: #f2f2f2; borderActive: #80cff9; borderError: #ed8080; } noContactsHeight: 100px; noContactsFont: font(fsize); noContactsColor: #777; dlgDblCheckImg: sprite(302px, 23px, 17px, 11px); dlgCheckImg: sprite(320px, 23px, 17px, 11px); dlgActiveDblCheckImg: sprite(302px, 36px, 17px, 11px); dlgActiveCheckImg: sprite(320px, 36px, 17px, 11px); dlgSendImg: sprite(122px, 25px, 17px, 11px); dlgActiveSendImg: sprite(142px, 25px, 17px, 11px); dlgChatImg: sprite(104px, 26px, 16px, 11px); dlgActiveChatImg: sprite(104px, 37px, 16px, 11px); dlgChannelImg: sprite(105px, 1px, 12px, 11px); dlgActiveChannelImg: sprite(105px, 14px, 12px, 11px); dlgFilter: flatInput(searchFlatInput) { width: 240px; height: 34px; textMrg: margins(34px, 2px, 34px, 4px); imgPos: point(6px, 5px); } topBarHeight: 54px; topBarBG: white; topBarDuration: 200; topBarForwardPadding: margins(17px, 8px, 39px, 8px); topBarForwardAlpha: 0.6; topBarForwardImg: sprite(31px, 104px, 9px, 16px); topBarBackwardImg: sprite(22px, 104px, 9px, 16px); topBarBackPadding: margins(15px, 7px, 9px, 7px); topBarBackAlpha: 0.8; topBarBackImg: sprite(65px, 112px, 9px, 16px); topBarBackColor: #005faf; topBarBackFont: font(16px); topBarSearch: iconedButton(btnDefIconed) { bgColor: transparent; overBgColor: transparent; icon: sprite(84px, 374px, 18px, 18px); iconPos: point(13px, 18px); downIcon: sprite(84px, 374px, 18px, 18px); downIconPos: point(13px, 18px); opacity: 0.22; overOpacity: 0.36; width: 44px; height: topBarHeight; } topBarMinPadding: 5px; topBarButton: BoxButton { textFg: #0084c4; textFgOver: #0084c4; textBg: white; textBgOver: #edf4f7; width: -22px; height: 28px; padding: margins(0px, 14px, 12px, 12px); textTop: 6px; font: font(fsize); duration: 200; } topBarClearButton: BoxButton(topBarButton) { padding: margins(8px, 14px, 8px, 14px); } topBarActionButton: flatButton(btnDefNext, btnDefBig) { textTop: 8px; overTextTop: 8px; downTextTop: 9px; font: font(fsize); overFont: font(fsize); width: 101px; height: 34px; } topBarActionSkip: 13px; activeFadeInDuration: 500; activeFadeOutDuration: 3000; msgRadius: 3px; msgMaxWidth: 430px; msgFont: font(fsize); msgNameFont: semiboldFont; msgServiceFont: semiboldFont; msgServiceNameFont: semiboldFont; msgServicePhotoWidth: 100px; msgDateFont: font(13px); msgMinWidth: 190px; msgPhotoSize: 33px; msgPhotoSkip: 40px; msgPadding: margins(13px, 7px, 13px, 8px); msgMargin: margins(13px, 10px, 53px, 2px); msgMarginTopAttached: 3px; msgLnkPadding: 2px; // for media open / save links msgBorder: #f0f0f0; msgInBg: #fff; msgInBgSelected: #c2dcf2; // #358cd4 with 30% opacity msgOutBg: #effdde; msgOutBgSelected: #b7dbdb; msgSelectOverlay: #358cd44c; msgStickerOverlay: #358cd47f; msgInServiceFg: #0e7acd; msgInServiceFgSelected: #0e7acd; msgOutServiceFg: #3a8e26; msgOutServiceFgSelected: #367570; msgShadow: 2px; msgInShadow: #748ea229; msgInShadowSelected: #548dbb29; msgOutShadow: #3ac34740; msgOutShadowSelected: #37a78e40; msgInDateFg: #a0acb6; msgInDateFgSelected: #6a9cc5; msgOutDateFg: #6cc264; msgOutDateFgSelected: #50a79c; msgReplyPadding: margins(6px, 6px, 11px, 6px); msgReplyBarPos: point(1px, 0px); msgReplyBarSize: size(2px, 36px); msgReplyBarSkip: 10px; msgOutReplyBarColor: #5dc452; msgInReplyBarColor: #2fa9e2; msgOutReplyBarSelColor: #4da79f; msgInReplyBarSelColor: #2fa9e2; msgBotKbDuration: 200; msgBotKbFont: semiboldFont; msgBotKbOverOpacity: 0.1; msgBotKbIconPadding: 2px; msgBotKbUrlIcon: sprite(188px, 338px, 10px, 10px); //msgBotKbRequestPhoneIcon: msgBotKbUrlIcon; //msgBotKbRequestLocationIcon: msgBotKbUrlIcon; msgBotKbSwitchPmIcon: sprite(188px, 348px, 10px, 10px); msgBotKbButton: botKeyboardButton { margin: 5px; padding: 10px; height: 36px; textTop: 8px; downTextTop: 9px; } msgServiceBg: #89a0b47f; msgServiceSelectBg: #bbc8d4a2; msgServiceColor: #FFF; msgServicePadding: margins(12px, 3px, 12px, 4px); msgServiceMargin: margins(10px, 10px, 80px, 2px); msgColor: #000; msgDateColor: #000; msgLinkColor: #2a6dc2; msgPressedLinkColor: #004bad; msgSkip: 40px; msgPtr: 8px; msgBG: ":/gui/art/bg.jpg"; msgBG0: ":/gui/art/bg0.png"; msgCheckPos: point(3px, 1px); msgSendingImg: sprite(260px, 20px, 20px, 20px); msgCheckImg: sprite(320px, 0px, 20px, 20px); msgDblCheckImg: sprite(300px, 0px, 20px, 20px); msgSelectCheckImg: sprite(162px, 0px, 20px, 20px); msgSelectDblCheckImg: sprite(142px, 0px, 20px, 20px); msgViewsPos: point(0px, -4px); msgViewsImg: sprite(104px, 48px, 16px, 11px); msgSelectViewsImg: sprite(104px, 70px, 16px, 11px); msgOutViewsImg: sprite(104px, 81px, 16px, 11px); msgSelectOutViewsImg: sprite(104px, 92px, 16px, 11px); msgSendingViewsImg: sprite(104px, 103px, 16px, 11px); msgSendingOutViewsImg: sprite(104px, 125px, 16px, 11px); msgInvSendingImg: sprite(320px, 65px, 20px, 20px); msgInvCheckImg: sprite(280px, 20px, 20px, 20px); msgInvDblCheckImg: sprite(300px, 65px, 20px, 20px); msgInvViewsImg: sprite(104px, 59px, 16px, 11px); msgInvSendingViewsImg: sprite(104px, 114px, 16px, 11px); msgDateSpace: 19px; msgDateCheckSpace: 4px; msgDateViewsSpace: 11px; msgDateDelta: point(2px, 5px); msgDateImgDelta: 4px; msgDateImgColor: #fff; msgDateImgBg: #00000054; msgDateImgBgOver: #00000074; msgDateImgBgSelected: #1c4a7187; msgDateImgPadding: point(8px, 2px); msgDateImgCheckSpace: 4px; msgDogImg: sprite(216px, 92px, 126px, 126px); historyPadding: 10px; collapseButton: flatButton(btnDefFlat) { font: msgServiceFont; overFont: msgServiceFont; width: -24px; bgColor: transparent; downBgColor: transparent; overBgColor: transparent; color: white; overColor: white; downColor: white; textTop: 3px; overTextTop: 3px; downTextTop: 3px; height: 25px; } collapseHideDuration: 200; collapseShowDuration: 200; defaultTextStyle: textStyle { linkFlags: font(fsize); linkFlagsOver: font(fsize underline); linkFg: btnYesColor; linkFgDown: btnYesHover; monoFg: #777; selectBg: msgInBgSelected; selectOverlay: msgSelectOverlay; lineHeight: 0px; } boxTextStyle: textStyle(defaultTextStyle) { lineHeight: 22px; } serviceTextStyle: textStyle(defaultTextStyle) { linkFlags: msgServiceFont; linkFlagsOver: font(fsize semibold underline); linkFg: msgServiceColor; linkFgDown: msgServiceColor; monoFg: msgServiceColor; selectBg: msgServiceSelectBg; selectOverlay: msgServiceSelectBg; } inTextStyle: textStyle(defaultTextStyle) { monoFg: #4e7391; selectBg: msgInBgSelected; selectOverlay: msgSelectOverlay; } outTextStyle: textStyle(defaultTextStyle) { monoFg: #469165; selectBg: msgOutBgSelected; selectOverlay: msgSelectOverlay; } inFwdTextStyle: textStyle(defaultTextStyle) { linkFlags: semiboldFont; linkFlagsOver: semiboldFont; linkFg: msgInServiceFg; linkFgDown: msgInServiceFg; } outFwdTextStyle: textStyle(inFwdTextStyle) { linkFg: msgOutServiceFg; linkFgDown: msgOutServiceFg; } inFwdTextStyleSelected: textStyle(inFwdTextStyle) { linkFg: msgInServiceFgSelected; linkFgDown: msgInServiceFgSelected; } outFwdTextStyleSelected: textStyle(inFwdTextStyle) { linkFg: msgOutServiceFgSelected; linkFgDown: msgOutServiceFgSelected; } medviewSaveAsTextStyle: textStyle(defaultTextStyle) { linkFg: #91d9ff; linkFgDown: #91d9ff; } introLabelTextStyle: textStyle(defaultTextStyle) { lineHeight: 30px; } introErrLabelTextStyle: textStyle(defaultTextStyle) { lineHeight: 27px; } mediaPadding: margins(0px, 0px, 0px, 0px);//1px, 1px, 1px, 1px);//2px, 2px, 2px, 2px); mediaCaptionSkip: 5px; mediaHeaderSkip: 5px; mediaThumbSize: 48px; mediaNameTop: 3px; mediaDetailsShift: 3px; mediaInFg: msgInDateFg; mediaInFgSelected: msgInDateFgSelected; mediaOutFg: msgOutDateFg; mediaOutFgSelected: msgOutDateFgSelected; mediaInUnreadFg: #999; mediaInUnreadFgSelected: #7b95aa; mediaOutUnreadFg: #6aad60; mediaOutUnreadFgSelected: #5aa382; mediaUnreadSize: 7px; mediaUnreadSkip: 5px; mediaUnreadTop: 6px; mediaInStyle: textStyle(defaultTextStyle) { linkFg: mediaInFg; linkFgDown: mediaInFg; } mediaInStyleSelected: textStyle(defaultTextStyle) { linkFg: mediaInFgSelected; linkFgDown: mediaInFgSelected; } msgFileRedColor: #e47272; msgFileYellowColor: #efc274; msgFileGreenColor: #61b96e; msgFileBlueColor: #72b1df; msgFileRedDark: #cd5b5e; msgFileYellowDark: #e6a561; msgFileGreenDark: #4da859; msgFileBlueDark: #5c9ece; msgFileRedOver: #c35154; msgFileYellowOver: #dc9c5a; msgFileGreenOver: #44a050; msgFileBlueOver: #5294c4; msgFileRedSelected: #9f6a82; msgFileYellowSelected: #b19d84; msgFileGreenSelected: #46a07e; msgFileBlueSelected: #5099d0; msgFileMenuSize: size(36px, 36px); msgFileSize: 44px; msgFilePadding: margins(14px, 12px, 11px, 12px); msgFileThumbSize: 72px; msgFileThumbPadding: margins(10px, 10px, 14px, 10px); msgFileThumbNameTop: 12px; msgFileThumbStatusTop: 32px; msgFileThumbLinkTop: 60px; msgFileThumbLinkInFg: semiboldButtonBlueText; msgFileThumbLinkInFgSelected: semiboldButtonBlueText; msgFileThumbLinkOutFg: #5eba5b; msgFileThumbLinkOutFgSelected: #31a298; msgFileNameTop: 16px; msgFileStatusTop: 37px; msgFileMinWidth: 294px; msgFileInBg: windowActiveBg; msgFileInBgOver: #4eade3; msgFileInBgSelected: #51a3d3; msgFileOutBg: #78c67f; msgFileOutBgOver: #6bc272; msgFileOutBgSelected: #5fb389; msgFileOutImage: sprite(0px, 146px, 18px, 18px); msgFileOutImageSelected: sprite(18px, 146px, 18px, 18px); msgFileInImage: sprite(0px, 164px, 18px, 18px); msgFileInImageSelected: sprite(18px, 164px, 18px, 18px); msgFileOutFile: sprite(36px, 146px, 18px, 18px); msgFileOutFileSelected: sprite(54px, 146px, 18px, 18px); msgFileInFile: sprite(36px, 164px, 18px, 18px); msgFileInFileSelected: sprite(54px, 164px, 18px, 18px); msgFileOutDownload: sprite(72px, 142px, 14px, 20px); msgFileOutDownloadSelected: sprite(86px, 142px, 14px, 20px); msgFileInDownload: sprite(72px, 162px, 14px, 20px); msgFileInDownloadSelected: sprite(86px, 162px, 14px, 20px); msgFileOutCancel: sprite(100px, 147px, 16px, 16px); msgFileOutCancelSelected: sprite(116px, 147px, 16px, 16px); msgFileInCancel: sprite(100px, 165px, 16px, 16px); msgFileInCancelSelected: sprite(116px, 165px, 16px, 16px); msgFileOutPause: sprite(132px, 147px, 14px, 16px); msgFileOutPauseSelected: sprite(146px, 147px, 14px, 16px); msgFileInPause: sprite(132px, 165px, 14px, 16px); msgFileInPauseSelected: sprite(146px, 165px, 14px, 16px); msgFileOutPlay: sprite(160px, 146px, 20px, 18px); msgFileOutPlaySelected: sprite(180px, 146px, 20px, 18px); msgFileInPlay: sprite(160px, 164px, 20px, 18px); msgFileInPlaySelected: sprite(180px, 164px, 20px, 18px); msgFileRed: sprite(0px, 425px, 20px, 20px); msgFileYellow: sprite(20px, 425px, 20px, 20px); msgFileGreen: sprite(40px, 425px, 20px, 20px); msgFileBlue: sprite(60px, 425px, 20px, 20px); msgFileOverDuration: 200; msgFileRadialLine: 3px; msgVideoSize: size(320px, 240px); msgWaveformBar: 2px; msgWaveformSkip: 1px; msgWaveformMin: 2px; msgWaveformMax: 20px; msgWaveformInActive: windowActiveBg; msgWaveformInActiveSelected: #51a3d3; msgWaveformInInactive: #d4dee6; msgWaveformInInactiveSelected: #9cc1e1; msgWaveformOutActive: #78c67f; msgWaveformOutActiveSelected: #6badad; msgWaveformOutInactive: #b3e2b4; msgWaveformOutInactiveSelected: #91c3c3; sendPadding: 9px; btnSend: flatButton(btnDefFlat) { color: btnYesColor; overColor: btnYesHover; downColor: btnYesHover; bgColor: white; overBgColor: btnWhiteHover; downBgColor: btnWhiteHover; width: -32px; height: 46px; textTop: 12px; overTextTop: 12px; downTextTop: 13px; font: font(16px); overFont: font(16px); } btnUnblock: flatButton(btnSend) { color: #d15948; overColor: #d15948; downColor: #db6352; } btnAttachDocument: iconedButton(btnDefIconed) { icon: sprite(218px, 68px, 24px, 24px); iconPos: point(11px, 11px); downIcon: sprite(218px, 68px, 24px, 24px); downIconPos: point(11px, 12px); overBgColor: btnWhiteHover; width: 46px; height: 46px; } btnAttachPhoto: iconedButton(btnAttachDocument) { icon: sprite(118px, 0px, 24px, 24px); downIcon: sprite(118px, 0px, 24px, 24px); } btnAttachEmoji: iconedButton(btnAttachDocument) { overBgColor: white; icon: sprite(374px, 344px, 21px, 22px); iconPos: point(6px, 12px); downIcon: sprite(374px, 344px, 21px, 22px); downIconPos: point(6px, 12px); width: 33px; } emojiCircle: size(19px, 19px); emojiCirclePeriod: 1500; emojiCircleDuration: 500; emojiCircleTop: 13px; emojiCircleLine: 2px; emojiCircleFg: #b9b9b9; emojiCirclePart: 3.5; btnBotKbShow: iconedButton(btnAttachEmoji) { icon: sprite(375px, 74px, 21px, 21px); iconPos: point(6px, 12px); downIcon: sprite(375px, 74px, 21px, 21px); downIconPos: point(6px, 12px); } btnBotCmdStart: iconedButton(btnAttachEmoji) { icon: sprite(354px, 74px, 21px, 21px); iconPos: point(6px, 12px); downIcon: sprite(354px, 74px, 21px, 21px); downIconPos: point(6px, 12px); } btnBotKbHide: iconedButton(btnAttachEmoji) { icon: sprite(373px, 95px, 23px, 14px); iconPos: point(5px, 17px); downIcon: sprite(373px, 95px, 23px, 14px); downIconPos: point(5px, 17px); } broadcastToggle: flatCheckbox { textColor: black; bgColor: white; disColor: black; width: 34px; height: 46px; duration: 200; bgFunc: transition(easeOutCirc); cursor: cursor(pointer); font: normalFont; imageRect: sprite(18px, 125px, 22px, 21px); chkImageRect: sprite(40px, 125px, 22px, 21px); overImageRect: sprite(40px, 104px, 22px, 21px); chkOverImageRect: sprite(40px, 125px, 22px, 21px); disImageRect: sprite(18px, 125px, 22px, 21px); chkDisImageRect: sprite(18px, 125px, 22px, 21px); imagePos: point(6px, 12px); } silentToggle: flatCheckbox(broadcastToggle) { width: 33px; imageRect: sprite(354px, 242px, 21px, 21px); chkImageRect: sprite(354px, 221px, 21px, 21px); overImageRect: sprite(375px, 242px, 21px, 21px); chkOverImageRect: sprite(375px, 221px, 21px, 21px); disImageRect: sprite(354px, 242px, 21px, 21px); chkDisImageRect: sprite(354px, 221px, 21px, 21px); } btnRecordAudio: sprite(379px, 390px, 16px, 24px); btnRecordAudioActive: sprite(379px, 366px, 16px, 24px); recordSignalColor: #f17077; recordSignalMin: 5px; recordSignalMax: 12px; recordCancel: #aaa; recordCancelActive: #ec6466; recordFont: font(13px); recordTextTop: 14px; replySkip: 51px; replyColor: #377aae; replyHeight: 49px; replyTop: 8px; replyBottom: 6px; replyIconPos: point(13px, 13px); replyIcon: sprite(343px, 197px, 24px, 24px); editIcon: sprite(371px, 286px, 24px, 24px); replyCancel: iconedButton(btnDefIconed) { icon: sprite(165px, 24px, 14px, 14px); iconPos: point(17px, 17px); downIcon: sprite(165px, 24px, 14px, 14px); downIconPos: point(17px, 18px); bgColor: white; overBgColor: white; width: 49px; height: 49px; } inlineBotCancel: iconedButton(replyCancel) { height: 46px; iconPos: point(-1px, 16px); // < 0 means draw in the center of the button downIconPos: point(-1px, 17px); } forwardIcon: sprite(368px, 197px, 24px, 24px); historyScroll: flatScroll(scrollDef) { barColor: #89a0b47a; bgColor: #89a0b44c; barOverColor: #89a0b4bc; bgOverColor: #89a0b46b; round: 0px; width: 12px; deltax: 3px; deltat: 3px; deltab: 3px; topsh: 0px; bottomsh: -1px; } textRectMargins: margins(-2px, -1px, -2px, -1px); taMsgField: flatTextarea(taDefFlat) { font: msgFont; } maxFieldHeight: 220px; // historyMinHeight: 56px; reportSpamHide: flatButton(btnDefFlat) { color: btnYesColor; overColor: btnYesHover; downColor: btnYesHover; bgColor: transparent; overBgColor: transparent; downBgColor: transparent; width: -40px; height: 46px; textTop: 15px; overTextTop: 15px; downTextTop: 16px; font: font(fsize); overFont: font(fsize underline); } reportSpamButton: flatButton(reportSpamHide) { textTop: 6px; overTextTop: 6px; downTextTop: 7px; width: -50px; height: 30px; bgColor: #888; overBgColor: #7b7b7b; downBgColor: #7b7b7b; } reportSpamSeparator: 30px; reportSpamBg: #fffffff0; newMsgSound: ":/gui/art/newmsg.wav"; unreadBarHeight: 32px; unreadBarMargin: 8px; unreadBarFont: semiboldFont; unreadBarBG: #fcfbfa; unreadBarBorder: shadowColor; unreadBarColor: #538bb4; searchedBarHeight: unreadBarHeight; searchedBarFont: unreadBarFont; searchedBarBG: #ebeef1; searchedBarBorder: unreadBarBorder; searchedBarColor: #a2aeb7; layerSlideDuration: 200; layerHideDuration: 200; layerPadding: margins(10px, 10px, 10px, 10px); contactPadding: margins(49px, 22px, 0px, 6px); contactSkip: 13px; contactPhoneSkip: 30px; contactUserIcon: sprite(120px, 90px, 18px, 18px); contactPhoneIcon: sprite(138px, 90px, 18px, 18px); contactIconTop: 10px; contactsPhotoSize: 42px; contactsPadding: margins(16px, 7px, 16px, 7px); contactsNameTop: 2px; contactsNameFont: semiboldFont; contactsStatusTop: 23px; contactsStatusFont: font(fsize); contactsStatusFg: #999999; contactsStatusFgOver: #7c99b2; contactsStatusFgOnline: #3b8dcc; contactsBgOver: overBg; contactsBgActive: #6f9cbd; contactsCheckPosition: point(8px, 16px); contactsCheckIcon: sprite(187px, 61px, 18px, 14px); contactsCheckActiveIcon: sprite(187px, 75px, 18px, 14px); contactsNewItemHeight: 53px; contactsNewItemIcon: sprite(307px, 248px, 22px, 16px); contactsNewItemIconPosition: point(29px, 19px); contactsNewItemTop: 18px; contactsNewItemFg: #4b82af; contactsAboutBg: #f7f7f7; contactsAboutShadow: #0000001F; contactsAdminCheckbox: Checkbox(defaultBoxCheckbox) { font: semiboldFont; textBg: #f7f7f7; textPosition: point(34px, 1px); } contactsAboutHeight: 42px; contactsAboutTop: 9px; contactsScroll: flatScroll(boxScroll) { deltab: 0px; } btnAddContact: iconedButton(btnDefIconed) { icon: sprite(188px, 93px, 18px, 18px); iconPos: point(8px, 8px); downIcon: sprite(188px, 93px, 18px, 18px); downIconPos: point(8px, 9px); bgColor: transparent; overBgColor: transparent; width: 36px; height: 36px; } btnCancelSearch: iconedButton(btnAddContact) { icon: sprite(188px, 43px, 18px, 18px); downIcon: sprite(188px, 43px, 18px, 18px); } notifyBG: white; notifyBorder: #f1f1f1; notifyBorderWidth: 1px; notifySlowHide: 4000; notifyPhotoSize: 62px; notifyMacPhotoSize: 64px; notifyPhotoPos: point(9px, 9px); notifyClosePos: point(1px, 2px); notifyClose: iconedButton(btnDefIconed) { icon: sprite(167px, 130px, 10px, 10px); iconPos: point(10px, 10px); downIcon: sprite(167px, 130px, 10px, 10px); downIconPos: point(10px, 11px); width: 30px; height: 30px; } notifyItemTop: 12px; notifyTextLeft: 12px; notifyTextTop: 7px; notifySlowHideFunc: transition(easeInCirc); notifyWaitShortHide: 0; notifyWaitLongHide: 20000; notifyFastAnim: 150; notifyWidth: 316px; notifyHeight: 80px; notifyDeltaX: 6px; notifyDeltaY: 7px; boxPhotoPadding: margins(28px, 28px, 28px, 18px); boxPhotoCompressedPadding: margins(0px, 2px, 0px, 22px); boxPhotoTextFg: #808080; cropPointSize: 10px; cropSkip: 13px; cropMinSize: 20px; confirmCaptionArea: InputArea(defaultInputArea) { textMargins: margins(1px, 6px, 1px, 4px); heightMax: 56px; } confirmBg: #f2f2f2; confirmMaxHeight: 245px; confirmCompressedSkip: 10px; profileMaxWidth: 410px; profilePadding: margins(28px, 30px, 28px, 0px); profileOnlineFg: titleStatusActiveFg; profileOfflineFg: titleStatusFg; membersPadding: margins(0px, 10px, 0px, 10px); forwardMargins: margins(30px, 10px, 30px, 10px); forwardFont: font(16px); forwardBg: rgba(0, 0, 0, 76); newGroupAboutFg: #808080; newGroupPadding: margins(4px, 6px, 4px, 3px); newGroupSkip: 17px; newGroupInfoPadding: margins(0px, -4px, 0px, 1px); newGroupLinkPadding: margins(4px, 27px, 4px, 12px); newGroupLinkTop: 3px; newGroupLinkFont: font(16px); newGroupPhotoSize: 76px; newGroupPhotoBg: #4eb5f0; newGroupPhotoBgOver: #3fa9e7; newGroupPhotoIcon: sprite(74px, 104px, 30px, 27px); newGroupPhotoIconPosition: point(23px, 25px); newGroupNamePosition: point(27px, 20px); newGroupDescriptionPadding: margins(0px, 23px, 0px, 14px); newGroupDescription: InputArea(defaultInputArea) { textMargins: margins(1px, 6px, 1px, 4px); heightMax: 115px; } newGroupPublicLinkPadding: margins(0px, 20px, 0px, 5px); newGroupLinkFadeDuration: 5000; connectionHostInputField: InputField(defaultInputField) { width: 160px; } connectionPortInputField: InputField(defaultInputField) { width: 55px; } connectionUserInputField: InputField(defaultInputField) { width: 95px; } connectionPasswordInputField: InputField(defaultInputField) { width: 120px; } connectionIPv6Skip: 11px; aboutIcon: sprite(0px, 0px, 104px, 104px); aboutWidth: 390px; aboutVersionTop: -3px; aboutVersionLink: linkButton(btnDefLink) { color: #999; overColor: #999; downColor: #999; } aboutTextTop: 34px; aboutSkip: 14px; aboutLabel: flatLabel(labelDefFlat) { font: normalFont; width: 330px; align: align(topleft); } aboutTextStyle: textStyle(defaultTextStyle) { lineHeight: 22px; } emojiTextFont: font(15px); emojiReplaceWidth: 52px; emojiReplaceHeight: 56px; emojiReplaceInnerHeight: 42px; emojiReplacePadding: 14px; connectingBG: #fffe; connectingColor: #777; connectingPadding: margins(5px, 5px, 5px, 5px); dropdownDef: dropdown { border: 1px; borderColor: #ebebeb; padding: margins(10px, 10px, 10px, 10px); shadow: sprite(241px, 46px, 6px, 6px); shadowShift: 1px; duration: 150; width: 0px; } defaultInnerDropdownShadow: icon { { "dropdown_shadow", windowShadowFg }, }; defaultInnerDropdown: InnerDropdown { padding: margins(10px, 10px, 10px, 10px); shadow: defaultInnerDropdownShadow; shadowShift: 1px; duration: 150; } dropdownAttachDocument: iconedButton(btnAttachDocument) { iconPos: point(14px, 13px); downIconPos: point(14px, 14px); width: 172px; height: 49px; color: black; font: font(16px); textPos: point(50px, 13px); downTextPos: point(50px, 14px); } dropdownAttachPhoto: iconedButton(dropdownAttachDocument) { icon: sprite(118px, 0px, 24px, 24px); downIcon: sprite(118px, 0px, 24px, 24px); } dropdownMediaPhotos: iconedButton(dropdownAttachPhoto) { width: 200px; } dropdownMediaVideos: iconedButton(dropdownMediaPhotos) { icon: sprite(92px, 348px, 24px, 24px); downIcon: sprite(92px, 348px, 24px, 24px); } dropdownMediaSongs: iconedButton(dropdownMediaPhotos) { icon: sprite(60px, 374px, 24px, 26px); downIcon: sprite(60px, 374px, 24px, 26px); iconPos: point(12px, 12px); downIconPos: point(12px, 13px); } dropdownMediaDocuments: iconedButton(dropdownAttachDocument) { width: 200px; } dropdownMediaAudios: iconedButton(dropdownMediaDocuments) { icon: sprite(62px, 348px, 24px, 24px); downIcon: sprite(62px, 348px, 24px, 24px); } dropdownMediaLinks: iconedButton(dropdownMediaDocuments) { icon: sprite(372px, 414px, 24px, 24px); downIcon: sprite(372px, 414px, 24px, 24px); } dragFont: font(28px semibold); dragSubfont: font(20px semibold); dragColor: #777; dragDropColor: btnYesColor; dragMargin: margins(0px, 10px, 0px, 10px); dragPadding: margins(20px, 10px, 20px, 10px); dragHeight: 72px; dpiSlider: slider { color: #ccc; thickness: 2px; width: 260px; bar: sprite(0px, 104px, 9px, 22px); } dpiActive: black; dpiInactive: #999; dpiFont1: linkFont; dpiFont2: linkFont; dpiFont3: linkFont; dpiFont4: linkFont; stickersMaxHeight: 440px; stickersPadding: margins(19px, 17px, 19px, 17px); stickersSize: size(64px, 64px); stickersScroll: flatScroll(boxScroll) { deltax: 7px; deltat: 23px; deltab: 9px; } stickersReorderPadding: margins(0px, 12px, 0px, 12px); stickersReorderFg: #777; stickersRowDisabledOpacity: 0.4; stickersRowDuration: 200; emojiScroll: flatScroll(solidScroll) { deltat: 48px; } emojiRecentOver: sprite(0px, 196px, 21px, 22px); emojiRecentActive: sprite(245px, 264px, 21px, 22px); emojiPeopleOver: sprite(21px, 196px, 21px, 22px); emojiPeopleActive: sprite(266px, 264px, 21px, 22px); emojiNatureOver: sprite(42px, 196px, 21px, 22px); emojiNatureActive: sprite(245px, 286px, 21px, 22px); emojiFoodOver: sprite(63px, 196px, 21px, 22px); emojiFoodActive: sprite(266px, 286px, 21px, 22px); emojiActivityOver: sprite(126px, 196px, 21px, 22px); emojiActivityActive: sprite(287px, 264px, 21px, 22px); emojiTravelOver: sprite(105px, 196px, 21px, 22px); emojiTravelActive: sprite(308px, 286px, 21px, 22px); emojiObjectsOver: sprite(147px, 196px, 21px, 22px); emojiObjectsActive: sprite(308px, 264px, 21px, 22px); emojiSymbolsOver: sprite(84px, 196px, 21px, 22px); emojiSymbolsActive: sprite(287px, 286px, 21px, 22px); stickersSettings: sprite(140px, 124px, 21px, 22px); savedGifsOver: sprite(329px, 286px, 21px, 22px); savedGifsActive: sprite(350px, 286px, 21px, 22px); emojiPanCategories: #f7f7f7; rbEmoji: flatCheckbox { textColor: transparent; bgColor: emojiPanCategories; disColor: emojiPanCategories; width: 42px; height: 46px; textTop: 0px; textLeft: 0px; font: font(fsize); duration: 200; bgFunc: transition(easeOutCirc); cursor: cursor(pointer); disabledCursor: cursor(default); imagePos: point(11px, 12px); } rbEmojiRecent: flatCheckbox(rbEmoji) { imageRect: emojiRecentOver; chkImageRect: emojiRecentActive; overImageRect: emojiRecentOver; chkOverImageRect: emojiRecentActive; disImageRect: emojiRecentOver; chkDisImageRect: emojiRecentActive; } rbEmojiPeople: flatCheckbox(rbEmoji) { imageRect: emojiPeopleOver; chkImageRect: emojiPeopleActive; overImageRect: emojiPeopleOver; chkOverImageRect: emojiPeopleActive; disImageRect: emojiPeopleOver; chkDisImageRect: emojiPeopleActive; } rbEmojiNature: flatCheckbox(rbEmoji) { imageRect: emojiNatureOver; chkImageRect: emojiNatureActive; overImageRect: emojiNatureOver; chkOverImageRect: emojiNatureActive; disImageRect: emojiNatureOver; chkDisImageRect: emojiNatureActive; } rbEmojiFood: flatCheckbox(rbEmoji) { imageRect: emojiFoodOver; chkImageRect: emojiFoodActive; overImageRect: emojiFoodOver; chkOverImageRect: emojiFoodActive; disImageRect: emojiFoodOver; chkDisImageRect: emojiFoodActive; } rbEmojiActivity: flatCheckbox(rbEmoji) { imageRect: emojiActivityOver; chkImageRect: emojiActivityActive; overImageRect: emojiActivityOver; chkOverImageRect: emojiActivityActive; disImageRect: emojiActivityOver; chkDisImageRect: emojiActivityActive; } rbEmojiTravel: flatCheckbox(rbEmoji) { imageRect: emojiTravelOver; chkImageRect: emojiTravelActive; overImageRect: emojiTravelOver; chkOverImageRect: emojiTravelActive; disImageRect: emojiTravelOver; chkDisImageRect: emojiTravelActive; } rbEmojiObjects: flatCheckbox(rbEmoji) { imageRect: emojiObjectsOver; chkImageRect: emojiObjectsActive; overImageRect: emojiObjectsOver; chkOverImageRect: emojiObjectsActive; disImageRect: emojiObjectsOver; chkDisImageRect: emojiObjectsActive; } rbEmojiSymbols: flatCheckbox(rbEmoji) { imageRect: emojiSymbolsOver; chkImageRect: emojiSymbolsActive; overImageRect: emojiSymbolsOver; chkOverImageRect: emojiSymbolsActive; disImageRect: emojiSymbolsOver; chkDisImageRect: emojiSymbolsActive; } emojiPanPadding: 12px; emojiPanSize: size(45px, 41px); emojiPanWidth: 345px; emojiPanMaxHeight: 366px; emojiPanDuration: 200; emojiPanHover: #f0f4f7; emojiPanHeader: 42px; emojiPanHeaderFont: semiboldFont; emojiPanHeaderColor: #999; emojiPanHeaderLeft: 22px; emojiPanHeaderTop: 12px; emojiPanHeaderBg: #fffffff2; emojiColorsPadding: 5px; emojiColorsSep: 1px; emojiColorsSepColor: #d5d5d5; emojiSwitchSkip: 27px; emojiSwitchImgSkip: 21px; emojiSwitchStickers: sprite(318px, 328px, 8px, 12px); emojiSwitchEmoji: sprite(310px, 328px, 8px, 12px); emojiSwitchColor: #42a8db; stickerPanSize: size(64px, 64px); stickerPanPadding: 11px; stickerPanDelete: sprite(128px, 132px, 12px, 12px); stickerPanDeleteOpacity: 0.5; stickerIconPadding: 5px; stickerIconOpacity: 0.7; stickerIconSel: 2px; stickerIconSelColor: #58b2ed; stickerIconLeft: sprite(342px, 72px, 40px, 1px); stickerIconRight: sprite(342px, 73px, 40px, 1px); stickerIconMove: 400; stickerPreviewDuration: 150; stickerPreviewBg: #FFFFFFB0; stickerPreviewMin: 0.1; verifiedCheck: sprite(285px, 221px, 14px, 14px); verifiedCheckInv: sprite(299px, 221px, 14px, 14px); verifiedCheckPos: point(4px, 2px); botKbDuration: 200; botKbBg: #edf1f5; botKbOverBg: #d8e2ec; botKbDownBg: #d8e2ec; botKbColor: #4b565f; botKbFont: font(15px semibold); botKbButton: botKeyboardButton { margin: 10px; padding: 10px; height: 38px; textTop: 9px; downTextTop: 9px; } botKbTinyButton: botKeyboardButton { margin: 4px; padding: 3px; height: 25px; textTop: 2px; downTextTop: 2px; } botKbScroll: flatScroll(solidScroll) { deltax: 3px; width: 10px; } switchPmButton: BoxButton(defaultBoxButton) { width: 320px; height: 34px; textTop: 7px; } minPhotoSize: 100px; maxMediaSize: 420px; maxStickerSize: 256px; maxGifSize: 320px; maxSignatureSize: 144px; mvBgColor: #222; mvBgOpacity: 0.92; mvThickFont: semiboldFont; mvFont: font(fsize); mvTextLeft: 16px; mvTextSkip: 10px; mvHeaderTop: 48px; mvTextTop: 24px; mvTextColor: white; mvTextOpacity: 0.5; mvTextOverOpacity: 1; mvIconOpacity: 0.45; mvIconOverOpacity: 1; mvControlBgColor: black; mvControlBgOpacity: 0.3; mvControlMargin: 0px; mvControlSize: 90px; mvIconSize: size(60px, 56px); mvLeft: sprite(320px, 445px, 12px, 22px); mvRight: sprite(332px, 445px, 12px, 22px); mvClose: sprite(344px, 445px, 18px, 18px); mvSave: sprite(362px, 445px, 14px, 19px); mvMore: sprite(376px, 445px, 5px, 21px); mvDropdown: dropdown(dropdownDef) { shadow: sprite(0px, 0px, 0px, 0px); padding: margins(11px, 12px, 11px, 12px); border: 0px; width: 182px; } mvButton: iconedButton(btnDefIconed) { bgColor: #383838; overBgColor: #505050; font: font(fsize); opacity: 1.; overOpacity: 1.; width: -32px; height: 36px; color: white; textPos: point(16px, 9px); downTextPos: point(16px, 10px); duration: 0; } mvPopupMenu: PopupMenu(defaultPopupMenu) { shadow: sprite(0px, 0px, 0px, 0px); itemBg: #383838; itemBgOver: #505050; itemFg: white; itemFgOver: white; itemFgDisabled: #999; itemFgShortcut: #eee; itemFgShortcutOver: #fff; itemFgShortcutDisabled: #999; separatorFg: #484848; } mvContextButton: iconedButton(mvButton) { bgColor: #383838E6; overBgColor: #505050E7; } mvWaitHide: 2000; mvHideDuration: 1000; mvShowDuration: 200; mvFadeDuration: 150; mvDocPadding: 18px; mvDocSize: size(340px, 116px); mvDocBg: white; mvDocNameTop: 4px; mvDocNameFont: font(semibold 14px); mvDocNameColor: black; mvDocSizeTop: 29px; mvDocSizeColor: #808080; mvDocExtTop: 35px; mvDocExtFont: font(semibold 18px); mvDocExtColor: white; mvDocExtPadding: 10px; mvDocLinksTop: 57px; mvDocRed: sprite(0px, 400px, 25px, 25px); mvDocYellow: sprite(25px, 400px, 25px, 25px); mvDocGreen: sprite(50px, 400px, 25px, 25px); mvDocBlue: sprite(75px, 400px, 25px, 25px); mvDocIconSize: 80px; mvDocLink: linkButton(btnDefLink) { color: #4595d3; overColor: #4595d3; downColor: #4595d3; } mvDeltaFromLastAction: 5px; mvSwipeDistance: 80px; mvCaptionPadding: margins(18px, 10px, 18px, 10px); mvCaptionMargin: size(11px, 11px); mvCaptionRadius: 2px; mvCaptionBg: #11111180; mvCaptionFont: font(fsize); medviewSaveMsgCheck: sprite(311px, 309px, 22px, 18px); medviewSaveMsgFont: font(16px); medviewSaveMsgPadding: margins(55px, 19px, 29px, 20px); medviewSaveMsgCheckPos: point(23px, 21px); medviewSaveMsgShowing: 200; medviewSaveMsgShown: 2000; medviewSaveMsgHiding: 2500; medviewSaveMsg: #000000b2; mvTransparentBrush: sprite(9px, 124px, 8px, 8px); // Mac specific macAccessoryWidth: 450.; macAccessoryHeight: 90.; macEnableFilterAdd: 2; macEnableFilterTop: 5; macSelectorTop: 6; macAlwaysThisAppTop: 4; macAppHintTop: 8; macCautionIconSize: 16; btnContext: iconedButton(btnDefIconed) { bgColor: white; overBgColor: btnWhiteHover; font: font(14px); opacity: 1.; overOpacity: 1.; width: -32px; height: 36px; color: black; textPos: point(16px, 7px); downTextPos: point(16px, 8px); } photoLoader: size(52px, 22px); photoLoaderBg: #00000054; photoLoaderCnt: 3; photoLoaderPoint: size(6px, 6px); photoLoaderSkip: 6px; photoLoaderPeriod: 600; // ms full period photoLoaderDelta: 150; // ms between points photoLoaderDuration1: 150; // ms fade in photoLoaderDuration2: 150; // ms fade out photoLoaderAlphaMin: 0.1; // not less than that radialSize: size(50px, 50px); radialLine: 2px; radialDuration: 350; radialPeriod: 3000; radialBgOpacity: 0.4; radialDownload: sprite(346px, 0px, 50px, 50px); radialDownloadOpacity: 0.8; radialCancel: sprite(378px, 50px, 18px, 18px); radialCancelOpacity: 1.0; mediaviewLoader: size(78px, 33px); mediaviewLoaderPoint: size(9px, 9px); mediaviewLoaderSkip: 9px; downloadPathSkip: 10px; usernamePadding: margins(23px, 22px, 21px, 12px); usernameSkip: 49px; usernameTextStyle: textStyle(defaultTextStyle) { lineHeight: 20px; } usernameDefaultFg: #777; youtubeIcon: sprite(116px, 338px, 72px, 50px); videoIcon: sprite(0px, 340px, 60px, 60px); locationSize: size(320px, 240px); boxOptionListPadding: margins(2px, 20px, 2px, 2px); langsWidth: 256px; langsButton: Radiobutton(defaultRadiobutton) { width: 200px; } backgroundPadding: 10px; backgroundSize: size(108px, 193px); backgroundScroll: flatScroll(boxScroll) { width: 10px; deltax: 3px; deltat: 10px; deltab: 0px; } passcodeHeaderFont: font(19px); passcodeHeaderHeight: 80px; passcodeInput: flatInput(inpIntroPhone) { } passcodeSubmit: flatButton(btnIntroNext) { textTop: 15px; overTextTop: 15px; downTextTop: 16px; width: 225px; font: font(19px); overFont: font(19px); } passcodeSubmitSkip: 40px; passcodePadding: margins(0px, 22px, 0px, 3px); passcodeSkip: 31px; mentionHeight: 40px; mentionScroll: flatScroll(scrollDef) { topsh: 0px; bottomsh: 0px; } mentionPadding: margins(8px, 5px, 8px, 5px); mentionTop: 11px; mentionFont: linkFont; mentionPhotoSize: msgPhotoSize; mentionBgOver: #f5f5f5; mentionFg: #777; mentionFgOver: #707070; mentionFgActive: #0080c0; mentionFgOverActive: #0077b3; sessionsScroll: flatScroll(boxScroll) { deltax: 5px; width: 14px; } sessionsHeight: 440px; sessionHeight: 70px; sessionCurrentPadding: margins(0px, 7px, 0px, 4px); sessionCurrentHeight: 118px; sessionPadding: margins(21px, 10px, 21px, 0px); sessionNameFont: msgNameFont; sessionActiveFont: msgDateFont; sessionActiveColor: #aaa; sessionInfoFont: msgFont; sessionInfoColor: #888888; sessionTerminateTop: 30px; sessionTerminateSkip: 18px; sessionTerminate: iconedButton(notifyClose) { iconPos: point(3px, 3px); downIconPos: point(3px, 4px); width: 16px; height: 16px; } webPageLeft: 10px; webPageBar: 2px; webPageTitleFont: semiboldFont; webPageDescriptionFont: normalFont; webPagePhotoSkip: 5px; webPagePhotoSize: 100px; webPagePhotoDelta: 8px; botDescSkip: 8px; suppressAll: 0.2; suppressSong: 0.05; playerHeight: 44px; playerBg: #e4e9ef; playerFg: #54748f; playerTimeFg: #a4afba; playerLineHeight: 3px; playerMoverSize: size(2px, 7px); playerLineActive: #6389a8; playerLineInactive: #bac7d4; playerSkip: 8px; playerNameStyle: textStyle(defaultTextStyle) { linkFg: #6389a8; linkFgDown: #6389a8; linkFlags: semiboldFont; linkFlagsOver: semiboldFont; } playerPlay: sprite(377px, 109px, 19px, 22px); playerPause: sprite(379px, 131px, 17px, 20px); playerNext: sprite(374px, 151px, 22px, 14px); playerPrev: sprite(374px, 165px, 22px, 14px); playerClose: sprite(361px, 97px, 12px, 12px); playerFull: sprite(365px, 109px, 12px, 12px); playerRepeat: sprite(365px, 121px, 12px, 14px); playerVolume: sprite(352px, 179px, 44px, 12px); playerInactiveOpacity: 0.8; playerUnavailableOpacity: 0.3; playerDuration: 200; inlineResultsLeft: 11px; inlineResultsSkip: 3px; inlineMediaHeight: 96px; inlineThumbSize: 64px; inlineThumbSkip: 10px; inlineDescriptionFg: windowSubTextFg; inlineRowMargin: 6px; inlineRowBorder: 1px; inlineRowBorderFg: #eaeaea; inlineRowFileNameTop: 2px; inlineRowFileDescriptionTop: 23px; inlineResultsMinWidth: 64px; inlineDurationMargin: 3px; editTextArea: InputArea(defaultInputArea) { textMargins: margins(1px, 6px, 1px, 4px); heightMax: 256px; } toastFont: normalFont; toastMaxWidth: 480px; toastMinMargin: 13px; toastBg: medviewSaveMsg; toastFg: #FFF; toastPadding: margins(19px, 13px, 19px, 12px); toastFadeInDuration: 200; toastFadeOutDuration: 1000; infoButton: PeerAvatarButton { size: topBarHeight; photoSize: 42px; }