You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
65 lines
1.7 KiB
65 lines
1.7 KiB
#pragma once
|
|
|
|
namespace winrt::RNScreens::implementation {
|
|
|
|
enum class StackPresentation { PUSH, MODAL, TRANSPARENT_MODAL };
|
|
|
|
enum class StackAnimation {
|
|
DEFAULT,
|
|
NONE,
|
|
FADE,
|
|
SIMPLE_FROM_BOTTOM,
|
|
SLIDE_FROM_RIGHT,
|
|
SLIDE_FROM_LEFT
|
|
};
|
|
|
|
enum class ReplaceAnimation { PUSH, POP };
|
|
|
|
enum class ActivityState { INACTIVE, TRANSITIONING_OR_BELOW_TOP, ON_TOP };
|
|
|
|
enum class WindowTraits {
|
|
ORIENTATION,
|
|
COLOR,
|
|
STYLE,
|
|
TRANSLUCENT,
|
|
HIDDEN,
|
|
ANIMATED
|
|
};
|
|
|
|
class Screen : public winrt::Windows::UI::Xaml::Controls::StackPanelT<Screen> {
|
|
public:
|
|
Screen(winrt::Microsoft::ReactNative::IReactContext reactContext);
|
|
~Screen();
|
|
|
|
void addView(winrt::Windows::UI::Xaml::UIElement element);
|
|
void removeAllChildren();
|
|
void removeChildAt(int64_t index);
|
|
void replaceChild(
|
|
winrt::Windows::UI::Xaml::UIElement oldChild,
|
|
winrt::Windows::UI::Xaml::UIElement newChild);
|
|
|
|
winrt::event_token onLoadingRevoker;
|
|
void onLoading(
|
|
winrt::Windows::UI::Xaml::FrameworkElement const &sender,
|
|
winrt::Windows::Foundation::IInspectable const &args);
|
|
|
|
winrt::event_token onLoadedRevoker;
|
|
void onLoaded(
|
|
winrt::Windows::Foundation::IInspectable const &sender,
|
|
winrt::Windows::UI::Xaml::RoutedEventArgs const &args);
|
|
|
|
winrt::event_token onUnloadedRevoker;
|
|
void onUnloaded(
|
|
winrt::Windows::Foundation::IInspectable const &sender,
|
|
winrt::Windows::UI::Xaml::RoutedEventArgs const &args);
|
|
|
|
void dispatchOnAppear();
|
|
void dispatchOnDisappear();
|
|
void dispatchOnWillAppear();
|
|
void dispatchOnWillDisappear();
|
|
|
|
private:
|
|
winrt::Microsoft::ReactNative::IReactContext m_reactContext{nullptr};
|
|
};
|
|
} // namespace winrt::RNScreens::implementation
|