tdesktop/Telegram/SourceFiles/layout/layout_item_base.h

34 lines
829 B
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
#include "layout/abstract_layout_item.h"
namespace HistoryView {
struct TextState;
struct StateRequest;
} // namespace HistoryView
class LayoutItemBase : public AbstractLayoutItem {
public:
using TextState = HistoryView::TextState;
using StateRequest = HistoryView::StateRequest;
using AbstractLayoutItem::AbstractLayoutItem;
virtual void initDimensions() = 0;
[[nodiscard]] virtual TextState getState(
QPoint point,
StateRequest request) const;
[[nodiscard]] virtual TextSelection adjustSelection(
TextSelection selection,
TextSelectType type) const;
};