Added history view LambdaGenericPart.

This commit is contained in:
23rd
2026-02-01 09:48:23 +03:00
parent e672041a79
commit 42f38b042f
2 changed files with 58 additions and 0 deletions
@@ -391,6 +391,35 @@ QSize TextDelimeterPart::countCurrentSize(int newWidth) {
return { newWidth, minHeight() };
}
LambdaGenericPart::LambdaGenericPart(
QSize size,
Fn<void(
Painter &p,
not_null<const MediaGeneric*> owner,
const PaintContext &context,
int outerWidth)> draw)
: _size(size)
, _draw(std::move(draw)) {
}
void LambdaGenericPart::draw(
Painter &p,
not_null<const MediaGeneric*> owner,
const PaintContext &context,
int outerWidth) const {
if (_draw) {
_draw(p, owner, context, outerWidth);
}
}
QSize LambdaGenericPart::countOptimalSize() {
return _size;
}
QSize LambdaGenericPart::countCurrentSize(int newWidth) {
return { newWidth, _size.height() };
}
StickerInBubblePart::StickerInBubblePart(
not_null<Element*> parent,
Element *replacing,
@@ -194,6 +194,35 @@ private:
};
class LambdaGenericPart final : public MediaGenericPart {
public:
LambdaGenericPart(
QSize size,
Fn<void(
Painter &p,
not_null<const MediaGeneric*> owner,
const PaintContext &context,
int outerWidth)> draw);
void draw(
Painter &p,
not_null<const MediaGeneric*> owner,
const PaintContext &context,
int outerWidth) const override;
QSize countOptimalSize() override;
QSize countCurrentSize(int newWidth) override;
private:
QSize _size;
Fn<void(
Painter &p,
not_null<const MediaGeneric*> owner,
const PaintContext &context,
int outerWidth)> _draw;
};
class StickerInBubblePart final : public MediaGenericPart {
public:
struct Data {