overview_layout_delegate.h 843 B

12345678910111213141516171819202122232425262728293031
  1. /*
  2. This file is part of Telegram Desktop,
  3. the official desktop application for the Telegram messaging service.
  4. For license and copyright information please follow this link:
  5. https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
  6. */
  7. #pragma once
  8. namespace Overview {
  9. namespace Layout {
  10. class ItemBase;
  11. class Delegate {
  12. public:
  13. virtual void registerHeavyItem(not_null<const ItemBase*> item) = 0;
  14. virtual void unregisterHeavyItem(not_null<const ItemBase*> item) = 0;
  15. virtual void repaintItem(not_null<const ItemBase*> item) = 0;
  16. virtual bool itemVisible(not_null<const ItemBase*> item) = 0;
  17. virtual void openPhoto(not_null<PhotoData*> photo, FullMsgId id) = 0;
  18. virtual void openDocument(
  19. not_null<DocumentData*> document,
  20. FullMsgId id,
  21. bool showInMediaView = false) = 0;
  22. };
  23. } // namespace Layout
  24. } // namespace Overview