Refactor cmake file so the main part of the code is a lib.
This commit is contained in:
parent
7f49ef36d6
commit
0a3897f60a
83 changed files with 111 additions and 98 deletions
73
src/jumping/sizenotifiable.cpp
Normal file
73
src/jumping/sizenotifiable.cpp
Normal file
|
@ -0,0 +1,73 @@
|
|||
#include "sizenotifiable.hpp"
|
||||
#include "sizeratio.hpp"
|
||||
#include "sdlmain.hpp"
|
||||
#include <ciso646>
|
||||
#include <exception>
|
||||
|
||||
namespace cloonel {
|
||||
namespace implem {
|
||||
} //namespace implem
|
||||
|
||||
namespace regbehaviours {
|
||||
///----------------------------------------------------------------------
|
||||
///----------------------------------------------------------------------
|
||||
void AutoRegister::Register (SizeNotifiableBase* parNotifiable) {
|
||||
assert(m_sdlmain);
|
||||
#if !defined(NDEBUG)
|
||||
assert(not m_registered);
|
||||
m_registered = true;
|
||||
#endif
|
||||
m_id = m_sdlmain->RegisterForResChange(parNotifiable);
|
||||
}
|
||||
|
||||
///----------------------------------------------------------------------
|
||||
///----------------------------------------------------------------------
|
||||
void AutoRegister::Unregister() noexcept {
|
||||
#if !defined(NDEBUG)
|
||||
assert(m_registered or not m_sdlmain);
|
||||
m_registered = false;
|
||||
#endif
|
||||
if (m_sdlmain) {
|
||||
m_sdlmain->UnregisterForResChange(m_id);
|
||||
}
|
||||
}
|
||||
|
||||
///----------------------------------------------------------------------
|
||||
///----------------------------------------------------------------------
|
||||
AutoRegister::AutoRegister (AutoRegister&& parOther, SizeNotifiableBase* parSwapTo) :
|
||||
m_sdlmain(nullptr),
|
||||
m_id(0)
|
||||
#if !defined(NDEBUG)
|
||||
, m_registered(false)
|
||||
#endif
|
||||
{
|
||||
std::swap(m_sdlmain, parOther.m_sdlmain);
|
||||
std::swap(m_id, parOther.m_id);
|
||||
#if !defined(NDEBUG)
|
||||
std::swap(m_registered, parOther.m_registered);
|
||||
#endif
|
||||
assert(m_sdlmain);
|
||||
m_sdlmain->SwapRegisteredForResChange(m_id, parSwapTo);
|
||||
}
|
||||
} //namespace regbehaviours
|
||||
|
||||
///--------------------------------------------------------------------------
|
||||
///--------------------------------------------------------------------------
|
||||
void SizeNotifiableBase::NotifyResChanged (const SizeRatio& parSize) {
|
||||
m_scaleRatio = parSize.Ratio();
|
||||
this->OnResChanged(parSize);
|
||||
}
|
||||
|
||||
///--------------------------------------------------------------------------
|
||||
///--------------------------------------------------------------------------
|
||||
void SizeNotifiableBase::OnResChanged (const SizeRatio&) {
|
||||
}
|
||||
|
||||
///--------------------------------------------------------------------------
|
||||
///--------------------------------------------------------------------------
|
||||
DeferredRegister::~DeferredRegister() {
|
||||
assert(m_call);
|
||||
if (not std::uncaught_exception())
|
||||
m_call();
|
||||
}
|
||||
} //namespace cloonel
|
Loading…
Add table
Add a link
Reference in a new issue