void DisplayGroupManager::addContentWindowManager(ContentWindowManagerPtr contentWindowManager, DisplayGroupInterface * source) { DisplayGroupInterface::addContentWindowManager(contentWindowManager, source); if(source != this) { // set display group in content window manager object contentWindowManager->setDisplayGroupManager(shared_from_this()); sendDisplayGroup(); if (contentWindowManager->getContent()->getType() != CONTENT_TYPE_PIXEL_STREAM) { // TODO initialize all content dimensions on creation so we can remove this procedure // make sure we have its dimensions so we can constrain its aspect ratio sendContentsDimensionsRequest(); } } }
void DisplayGroupManager::removeContentWindowManager(ContentWindowManagerPtr contentWindowManager, DisplayGroupInterface * source) { DisplayGroupInterface::removeContentWindowManager(contentWindowManager, source); if(source != this) { // Notify the (local) pixel stream source of the deletion of the window so the source can be removed too if (contentWindowManager->getContent()->getType() == CONTENT_TYPE_PIXEL_STREAM) { const QString& uri = contentWindowManager->getContent()->getURI(); closePixelStream(uri); emit(pixelStreamViewClosed(uri)); } // set null display group in content window manager object contentWindowManager->setDisplayGroupManager(DisplayGroupManagerPtr()); sendDisplayGroup(); } }