4#ifndef _Stroika_Frameworks_Led_TextInteractorMixins_h_
5#define _Stroika_Frameworks_Led_TextInteractorMixins_h_ 1
7#include "Stroika/Frameworks/StroikaPreComp.h"
16#include "Stroika/Frameworks/Led/TextInteractor.h"
18namespace Stroika::Frameworks::Led {
20#if qStroika_Frameworks_Led_SupportGDI
21 DISABLE_COMPILER_MSC_WARNING_START (4250)
32 template <typename IMAGER>
33 class InteractorImagerMixinHelper : public virtual TextInteractor, public IMAGER {
35 using inherited =
void*;
38 InteractorImagerMixinHelper () =
default;
44 virtual void Draw (
const Led_Rect& subsetToDraw,
bool printing)
override;
45 virtual void AboutToUpdateText (
const MarkerOwner::UpdateInfo& updateInfo)
override;
46 virtual void DidUpdateText (
const UpdateInfo& updateInfo)
noexcept override;
49 virtual void HookLosingTextStore ()
override;
50 virtual void HookGainedNewTextStore ()
override;
56 using TextInteractor::ScrollByIfRoom;
57 using TextInteractor::ScrollSoShowing;
58 using TextInteractor::SetWindowRect;
68 template <
typename INTERACTOR1,
typename INTERACTOR2>
69 class InteractorInteractorMixinHelper :
public INTERACTOR1,
public INTERACTOR2 {
71 using inherited =
void*;
74 InteractorInteractorMixinHelper ();
77 virtual void HookLosingTextStore ()
override;
78 virtual void HookGainedNewTextStore ()
override;
81 using INTERACTOR1::SetWindowRect;
83 nonvirtual
void Invariant ()
85 INTERACTOR1::Invariant ();
86 INTERACTOR2::Invariant ();
90 virtual void DidUpdateText (
const MarkerOwner::UpdateInfo& updateInfo)
noexcept override;
92 DISABLE_COMPILER_MSC_WARNING_END (4250)
102#include "TextInteractorMixIns.inl"