3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/client/gui/controls/ComponentReceiveActionType.h"
7#include "mc/client/gui/controls/UIComponent.h"
8#include "mc/deps/core/utility/pub_sub/Publisher.h"
9#include "mc/deps/input/InputMode.h"
19namespace Bedrock::PubSub::ThreadModel {
struct MultiThreaded; }
25 enum class PageIndicatorDirection : uchar {
33 ::ll::TypedStorage<8, 16, ::std::weak_ptr<::UIControl>> mControlWithManagerToCompare;
34 ::ll::TypedStorage<8, 8, uint64> mSubPage;
35 ::ll::TypedStorage<8, 8, uint64> mNumPages;
36 ::ll::TypedStorage<4, 4, uint> mNextSubPageBinding;
37 ::ll::TypedStorage<4, 4, uint> mPrevSubPageBinding;
38 ::ll::TypedStorage<4, 4, ::InputMode> mInputMode;
42 ::Bedrock::PubSub::Publisher<void(uint64), ::Bedrock::PubSub::ThreadModel::MultiThreaded, 0>>
44 ::ll::TypedStorage<1, 1, bool> mConsumeEvents;
49 PageIndicatorManagerComponent();
54 virtual ~PageIndicatorManagerComponent() =
default;
56 virtual ::std::unique_ptr<::UIComponent> clone(::UIControl& cloneOwner)
const ;
58 virtual void reload(::UIComponent
const& rhs) ;
60 virtual void reset() ;
62 virtual ::ComponentReceiveActionType receive(
63 ::VisualTree& context,
64 ::ScreenInputContext& screenEvent,
65 ::UIAnimationController&,
73 MCAPI
explicit PageIndicatorManagerComponent(::UIControl& owner);
75 MCAPI
void _broadcastNewHoverSliceButtonEvent(
76 ::ScreenInputContext& context,
82 MCFOLD ::Bedrock::PubSub::Subscription registerListener(::std::function<
void(uint64)> callback);
84 MCAPI ::Bedrock::PubSub::Subscription
85 registerListenerWithExpectedPageCount(uint64 expectedPageCount, ::std::function<
void(uint64)> callback);
87 MCAPI
void setNextSubPageBinding(uint binding);
89 MCFOLD
void setPrevSubPageBinding(uint binding);
91 MCAPI
void setTargetManagerToCompare(::std::shared_ptr<::UIControl> targetControlWithManagerToCompare);
97 MCAPI
void* $ctor(::UIControl& owner);
103 MCAPI ::std::unique_ptr<::UIComponent> $clone(::UIControl& cloneOwner)
const;
105 MCAPI
void $reload(::UIComponent
const& rhs);
109 MCAPI ::ComponentReceiveActionType
110 $receive(::VisualTree& context, ::ScreenInputContext& screenEvent, ::UIAnimationController&, ::ScreenEvent
const&);
Definition Subscription.h:10
Definition PageIndicatorManagerComponent.h:5
static MCAPI void ** $vftable()
Definition ScreenInputContext.h:5
Definition UIAnimationController.h:5
Definition UIComponent.h:5
Definition VisualTree.h:5
Definition MultiThreaded.h:7
Definition ScreenEvent.h:5