95 lines
		
	
	
	
		
			1.7 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			95 lines
		
	
	
	
		
			1.7 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
/*
 | 
						|
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
 | 
						|
*/
 | 
						|
#pragma once
 | 
						|
 | 
						|
namespace Dialogs {
 | 
						|
 | 
						|
class Row;
 | 
						|
class FakeRow;
 | 
						|
class BasicRow;
 | 
						|
 | 
						|
namespace Layout {
 | 
						|
 | 
						|
const style::icon *ChatTypeIcon(
 | 
						|
	not_null<PeerData*> peer,
 | 
						|
	bool active,
 | 
						|
	bool selected);
 | 
						|
//const style::icon *FeedTypeIcon( // #feed
 | 
						|
//	not_null<Data::Feed*> feed,
 | 
						|
//	bool active,
 | 
						|
//	bool selected);
 | 
						|
 | 
						|
class RowPainter {
 | 
						|
public:
 | 
						|
	static void paint(
 | 
						|
		Painter &p,
 | 
						|
		not_null<const Row*> row,
 | 
						|
		int fullWidth,
 | 
						|
		bool active,
 | 
						|
		bool selected,
 | 
						|
		crl::time ms);
 | 
						|
	static void paint(
 | 
						|
		Painter &p,
 | 
						|
		not_null<const FakeRow*> row,
 | 
						|
		int fullWidth,
 | 
						|
		bool active,
 | 
						|
		bool selected,
 | 
						|
		crl::time ms,
 | 
						|
		bool displayUnreadInfo);
 | 
						|
	static QRect sendActionAnimationRect(
 | 
						|
		int animationWidth,
 | 
						|
		int animationHeight,
 | 
						|
		int fullWidth,
 | 
						|
		bool textUpdated);
 | 
						|
 | 
						|
};
 | 
						|
 | 
						|
void PaintCollapsedRow(
 | 
						|
	Painter &p,
 | 
						|
	const BasicRow &row,
 | 
						|
	Data::Folder *folder,
 | 
						|
	const QString &text,
 | 
						|
	int unread,
 | 
						|
	int fullWidth,
 | 
						|
	bool selected);
 | 
						|
 | 
						|
enum UnreadBadgeSize {
 | 
						|
	UnreadBadgeInDialogs = 0,
 | 
						|
	UnreadBadgeInHistoryToDown,
 | 
						|
	UnreadBadgeInStickersPanel,
 | 
						|
	UnreadBadgeInStickersBox,
 | 
						|
	UnreadBadgeInTouchBar,
 | 
						|
 | 
						|
	UnreadBadgeSizesCount
 | 
						|
};
 | 
						|
struct UnreadBadgeStyle {
 | 
						|
	UnreadBadgeStyle();
 | 
						|
 | 
						|
	style::align align;
 | 
						|
	bool active;
 | 
						|
	bool selected;
 | 
						|
	bool muted;
 | 
						|
	int textTop = 0;
 | 
						|
	int size;
 | 
						|
	int padding;
 | 
						|
	UnreadBadgeSize sizeId;
 | 
						|
	style::font font;
 | 
						|
};
 | 
						|
void paintUnreadCount(
 | 
						|
	Painter &p,
 | 
						|
	const QString &t,
 | 
						|
	int x,
 | 
						|
	int y,
 | 
						|
	const UnreadBadgeStyle &st,
 | 
						|
	int *outUnreadWidth = nullptr,
 | 
						|
	int allowDigits = 0);
 | 
						|
 | 
						|
void clearUnreadBadgesCache();
 | 
						|
 | 
						|
} // namespace Layout
 | 
						|
} // namespace Dialogs
 |