LeviLamina
Loading...
Searching...
No Matches
GridComponent.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/client/gui/OrientationType.h"
7#include "mc/client/gui/controls/UIComponent.h"
8#include "mc/deps/core/utility/pub_sub/Publisher.h"
9
10// auto generated forward declare list
11// clang-format off
12class UIControl;
14namespace Bedrock::PubSub::ThreadModel { struct MultiThreaded; }
15// clang-format on
16
17class GridComponent : public ::UIComponent {
18public:
19 // member variables
20 // NOLINTBEGIN
21 ::ll::TypedStorage<4, 8, ::glm::ivec2> mDimensions;
22 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::UIControl>> mGridItemTemplate;
23 ::ll::TypedStorage<8, 16, ::std::weak_ptr<::UIControlFactory>> mControlFactory;
24 ::ll::TypedStorage<8, 32, ::std::string> mGridDimensionBinding;
25 ::ll::TypedStorage<8, 32, ::std::string> mCollectionName;
26 ::ll::TypedStorage<1, 1, ::ui::OrientationType> mGridRescalingType;
27 ::ll::TypedStorage<1, 1, ::ui::OrientationType> mGridFillDirection;
28 ::ll::TypedStorage<4, 4, int> mMaximumGridItems;
29 ::ll::TypedStorage<8, 24, ::std::vector<::std::shared_ptr<::UIControl>>> mCachedControls;
30 ::ll::TypedStorage<1, 1, bool> mLowMemoryMode;
31 ::ll::TypedStorage<4, 4, int> mPartialCreationStartIndex;
32 ::ll::TypedStorage<4, 4, int> mPartialCreationEndIndex;
33 ::ll::TypedStorage<
34 8,
35 128,
36 ::Bedrock::PubSub::Publisher<void(uint64), ::Bedrock::PubSub::ThreadModel::MultiThreaded, 0>>
37 mPublisher;
38 // NOLINTEND
39
40public:
41 // prevent constructor by default
42 GridComponent();
43
44public:
45 // virtual functions
46 // NOLINTBEGIN
47 virtual ::std::unique_ptr<::UIComponent> clone(::UIControl& cloneOwner) const /*override*/;
48
49 virtual void reset() /*override*/;
50
51 virtual void onNotifyChildAdded() /*override*/;
52
53 virtual void onNotifyChildRemoved() /*override*/;
54
55 virtual ~GridComponent() /*override*/;
56 // NOLINTEND
57
58public:
59 // member functions
60 // NOLINTBEGIN
61 MCAPI GridComponent(::UIControl& owner, ::std::weak_ptr<::UIControlFactory> factoryPtr);
62
63 MCAPI void _createGridItemAt(int index);
64
65 MCAPI bool partiallyCreateGridItems(int startIndex, int endIndex);
66
67 MCAPI void reassignGridPositions();
68
69 MCAPI void refreshGridItems();
70 // NOLINTEND
71
72public:
73 // constructor thunks
74 // NOLINTBEGIN
75 MCAPI void* $ctor(::UIControl& owner, ::std::weak_ptr<::UIControlFactory> factoryPtr);
76 // NOLINTEND
77
78public:
79 // destructor thunk
80 // NOLINTBEGIN
81 MCAPI void $dtor();
82 // NOLINTEND
83
84public:
85 // virtual function thunks
86 // NOLINTBEGIN
87 MCAPI ::std::unique_ptr<::UIComponent> $clone(::UIControl& cloneOwner) const;
88
89 MCFOLD void $reset();
90
91 MCFOLD void $onNotifyChildAdded();
92
93 MCFOLD void $onNotifyChildRemoved();
94 // NOLINTEND
95
96public:
97 // vftables
98 // NOLINTBEGIN
99 MCNAPI static void** $vftable();
100 // NOLINTEND
101};
Definition GridComponent.h:5
static MCAPI void ** $vftable()
Definition UIComponent.h:5
Definition UIControlFactory.h:5
Definition UIControl.h:5
Definition MultiThreaded.h:12