2016-04-18 20:33:43 +00:00
|
|
|
/*
|
|
|
|
This file is part of Telegram Desktop,
|
2018-01-03 10:23:14 +00:00
|
|
|
the official desktop application for the Telegram messaging service.
|
2016-04-18 20:33:43 +00:00
|
|
|
|
2018-01-03 10:23:14 +00:00
|
|
|
For license and copyright information please follow this link:
|
|
|
|
https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
2016-04-18 20:33:43 +00:00
|
|
|
*/
|
2016-12-23 13:21:01 +00:00
|
|
|
#pragma once
|
2016-04-18 20:33:43 +00:00
|
|
|
|
2017-02-03 20:07:26 +00:00
|
|
|
#include "window/themes/window_theme.h"
|
2016-12-23 13:21:01 +00:00
|
|
|
|
2019-09-03 18:04:38 +00:00
|
|
|
namespace Data {
|
|
|
|
struct CloudTheme;
|
|
|
|
} // namespace Data
|
|
|
|
|
2016-12-23 13:21:01 +00:00
|
|
|
namespace Window {
|
|
|
|
namespace Theme {
|
|
|
|
|
|
|
|
struct CurrentData {
|
2019-09-09 11:56:05 +00:00
|
|
|
WallPaperId backgroundId = 0;
|
2018-01-02 19:10:49 +00:00
|
|
|
QImage backgroundImage;
|
2016-12-23 13:21:01 +00:00
|
|
|
bool backgroundTiled = false;
|
|
|
|
};
|
|
|
|
|
2019-09-09 11:56:05 +00:00
|
|
|
enum class PreviewType {
|
|
|
|
Normal,
|
|
|
|
Extended,
|
|
|
|
};
|
|
|
|
|
2019-09-08 16:29:43 +00:00
|
|
|
[[nodiscard]] QString CachedThemePath(uint64 documentId);
|
|
|
|
|
2019-09-03 18:04:38 +00:00
|
|
|
std::unique_ptr<Preview> PreviewFromFile(
|
|
|
|
const QByteArray &bytes,
|
2019-09-05 07:42:06 +00:00
|
|
|
const QString &filepath,
|
2019-09-03 18:04:38 +00:00
|
|
|
const Data::CloudTheme &cloud);
|
2018-01-02 19:10:49 +00:00
|
|
|
std::unique_ptr<Preview> GeneratePreview(
|
2019-09-03 18:04:38 +00:00
|
|
|
const QByteArray &bytes,
|
2019-09-05 07:42:06 +00:00
|
|
|
const QString &filepath,
|
2019-09-03 18:04:38 +00:00
|
|
|
const Data::CloudTheme &cloud,
|
2019-09-09 11:56:05 +00:00
|
|
|
CurrentData &&data,
|
|
|
|
PreviewType type);
|
|
|
|
QImage GeneratePreview(
|
|
|
|
const QByteArray &bytes,
|
|
|
|
const QString &filepath);
|
2016-12-23 13:21:01 +00:00
|
|
|
|
2017-02-28 10:51:00 +00:00
|
|
|
int DefaultPreviewTitleHeight();
|
2018-01-02 19:10:49 +00:00
|
|
|
void DefaultPreviewWindowFramePaint(
|
|
|
|
QImage &preview,
|
|
|
|
const style::palette &palette,
|
|
|
|
QRect body,
|
|
|
|
int outerWidth);
|
2017-02-28 10:51:00 +00:00
|
|
|
|
2016-12-23 13:21:01 +00:00
|
|
|
} // namespace Theme
|
|
|
|
} // namespace Window
|