54 lines
1.2 KiB
C++
54 lines
1.2 KiB
C++
/////////////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// FILE : uiPageLink.cpp
|
|
// PURPOSE : Info of how a page is linked when transitioning
|
|
//
|
|
// AUTHOR : james.strain
|
|
// STARTED : December 2020
|
|
//
|
|
/////////////////////////////////////////////////////////////////////////////////
|
|
#include "uiPageLink.h"
|
|
#if UI_PAGE_DECK_ENABLED
|
|
#include "uiPageLink_parser.h"
|
|
|
|
FRONTEND_OPTIMISATIONS();
|
|
|
|
namespace
|
|
{
|
|
const uiPageInfo nullPageInfo;
|
|
}
|
|
|
|
uiPageLink::uiPageLink( uiPageId const pageId )
|
|
{
|
|
uiPageInfo targetPage( pageId );
|
|
m_transitionSteps.PushAndGrow( targetPage );
|
|
}
|
|
|
|
uiPageInfo const& uiPageLink::GetTarget() const
|
|
{
|
|
return IsValid() ? m_transitionSteps[m_transitionSteps.GetCount() - 1] : nullPageInfo;
|
|
}
|
|
|
|
bool uiPageLink::operator ==( const class uiPageLink& op ) const
|
|
{
|
|
bool areEqual = true;
|
|
|
|
int const c_transitionStepsCount = m_transitionSteps.GetCount();
|
|
if( areEqual && c_transitionStepsCount != op.m_transitionSteps.GetCount() )
|
|
{
|
|
areEqual = false;
|
|
}
|
|
|
|
for( int i = 0; areEqual && i < c_transitionStepsCount; ++i )
|
|
{
|
|
if ( !( op.m_transitionSteps[i] == m_transitionSteps[i] ) )
|
|
{
|
|
areEqual = false;
|
|
}
|
|
}
|
|
|
|
return areEqual;
|
|
}
|
|
|
|
#endif // UI_PAGE_DECK_ENABLED
|