예제 #1
0
void HandServer::Release(SDLKey k)
{
    Vertex* lm = _Screen->Vertex::get(LAYERMANAGER);
    // Gets the device
    Vertex* all_dev = get("Devices");
    Device* dev;
    uint i = 0;
    while((dev=dynamic_cast<Device*>(all_dev->get(++i))) != NULL)
    {
        if(dev->Release(k))
        {
            if(DeleteDeviceIfEmpty
               && dev->IsUnused()
               && (lm->size() > 1))
            {
                // Exit last layer
                delete(lm->get(lm->size()));
            }
            return;
        }
    }
}