mirror of https://github.com/axmolengine/axmol.git
67 lines
1.1 KiB
C++
67 lines
1.1 KiB
C++
#include "GearDisplay.h"
|
|
#include "Controller.h"
|
|
#include "utils/ByteBuffer.h"
|
|
|
|
NS_FGUI_BEGIN
|
|
USING_NS_AX;
|
|
|
|
GearDisplay::GearDisplay(GObject* owner)
|
|
: GearBase(owner),
|
|
_visible(0),
|
|
_displayLockToken(1)
|
|
{
|
|
}
|
|
|
|
GearDisplay::~GearDisplay()
|
|
{
|
|
}
|
|
|
|
void GearDisplay::apply()
|
|
{
|
|
_displayLockToken++;
|
|
if (_displayLockToken == 0)
|
|
_displayLockToken = 1;
|
|
|
|
if (pages.size() == 0)
|
|
_visible = 1;
|
|
else
|
|
{
|
|
auto iter = std::find(pages.begin(), pages.end(), _controller->getSelectedPageId());
|
|
if (iter != pages.end())
|
|
_visible = 1;
|
|
else
|
|
_visible = 0;
|
|
}
|
|
}
|
|
|
|
void GearDisplay::updateState()
|
|
{
|
|
}
|
|
|
|
void GearDisplay::addStatus(const std::string& pageId, ByteBuffer* buffer)
|
|
{
|
|
}
|
|
|
|
void GearDisplay::init()
|
|
{
|
|
pages.clear();
|
|
}
|
|
|
|
uint32_t GearDisplay::addLock()
|
|
{
|
|
_visible++;
|
|
return _displayLockToken;
|
|
}
|
|
|
|
void GearDisplay::releaseLock(uint32_t token)
|
|
{
|
|
if (token == _displayLockToken)
|
|
_visible--;
|
|
}
|
|
|
|
bool GearDisplay::isConnected()
|
|
{
|
|
return _controller == nullptr || _visible > 0;
|
|
}
|
|
|
|
NS_FGUI_END |