void GLImageDrawable::reloadImage() { if(!m_imageFile.isEmpty()) { //qDebug() << "GLImageDrawable::reloadImage(): "<<(QObject*)this<<" Reloading image from disk:"<<m_imageFile; setImageFile(m_imageFile); } // else // qDebug() << "GLImageDrawable::reloadImage(): "<<(QObject*)this<<" No image file, unable to reload image."; }
GLImageDrawable::GLImageDrawable(QString file, QObject *parent) : GLVideoDrawable(parent) , m_releasedImage(false) , m_allowAutoRotate(true) // Border attributes , m_borderColor(Qt::black) , m_borderWidth(0.0) // start off disabled // Shadow attributes , m_shadowEnabled(false) , m_shadowBlurRadius(16.0) , m_shadowOffset(3.0,3.0) , m_shadowColor(Qt::black) , m_shadowOpacity(1.0) , m_shadowDrawable(0) , m_hqXfadeEnabled(false) , m_hqXfadeActive(false) , m_fadeValue(0.) , m_fadeTimeStarted(false) { //setImage(QImage("dot.gif")); setCrossFadeMode(GLVideoDrawable::FrontAndBack); if(!file.isEmpty()) setImageFile(file); connect(&m_shadowDirtyBatchTimer, SIGNAL(timeout()), this, SLOT(updateShadow())); m_shadowDirtyBatchTimer.setSingleShot(true); m_shadowDirtyBatchTimer.setInterval(50); connect(&m_borderDirtyBatchTimer, SIGNAL(timeout()), this, SLOT(reapplyBorder())); m_borderDirtyBatchTimer.setSingleShot(true); m_borderDirtyBatchTimer.setInterval(50); connect(&m_fadeTick, SIGNAL(timeout()), this, SLOT(hqXfadeTick())); m_fadeTick.setInterval(1000/25); // TODO just for testing - future it should only be for overlays setHqXfadeEnabled(false); //setCrossFadeMode(GLVideoDrawable::JustFront); }
bool ossimGeneralRasterInfo::open( const ossimFilename& imageFile ) { static const char MODULE[] = "ossimGeneralRasterInfo::open"; if ( traceDebug() ) { ossimNotify(ossimNotifyLevel_DEBUG) << MODULE << " entered..." << "\nimageFile: " << imageFile << std::endl; } bool result = false; // Wipe any previous state slick. clear(); ossimFilename copyFile = imageFile; if ( !imageFile.exists() ) { copyFile = imageFile.expand(); } // Look for the headrer of omd file as they are written out by img2rr. ossimFilename hdr = copyFile; hdr.setExtension("hdr"); // image.hdr if ( !hdr.exists() ) { hdr = imageFile; hdr.string() += ".hdr"; // image.ras.hdr if ( ! hdr.exists() ) { hdr = imageFile; hdr.setExtension("xml"); // image.xml } } if ( hdr.exists() ) { if ( traceDebug() ) { ossimNotify(ossimNotifyLevel_DEBUG) << "header file: " << hdr << std::endl; } ossimString ext = hdr.ext().downcase(); if ( ext == "hdr" ) { if ( ossimEnviHeader::isEnviHeader( hdr ) ) { result = initializeFromEnviHdr( hdr ); } else { result = initializeFromHdr( imageFile, hdr ); } if ( !result ) { // Could be an ossim meta data file: ossimKeywordlist kwl( hdr ); result = loadState( kwl, 0 ); } } else if ( ext == "xml" ) { result = initializeFromXml( imageFile, hdr ); } } //--- // Set the file name. Needed for ossimGeneralRasterTileSource::open. // Note set here above loadState call to stop loadState from returning // false if no image file found. //--- if ( theImageFileList.empty() ) { setImageFile( imageFile ); } ossimFilename omd = imageFile; omd.setExtension("omd"); // image.omd if ( !omd.exists() ) { omd.setExtension("kwl"); // image.kwl } if ( omd.exists() ) { if ( traceDebug() ) { ossimNotify(ossimNotifyLevel_DEBUG) << "omd file: " << omd << std::endl; } ossimKeywordlist kwl( omd ); if ( result && theMetaData.getNumberOfBands() ) { //--- // Just update the band info in case it has min/max values from // a compute min/max scan. //--- theMetaData.updateMetaData( kwl, std::string("") ); } else { // We're not initialized yet so do a loadState: result = loadState( kwl, 0 ); } } if ( traceDebug() ) { ossimNotify(ossimNotifyLevel_DEBUG) << MODULE << " Exit status: " << (result?"true":"false") << std::endl; } return result; }