void LLPreviewTexture::draw() { if (mUpdateDimensions) { updateDimensions(); } LLPreview::draw(); if (!isMinimized()) { LLGLSUIDefault gls_ui; gGL.getTexUnit(0)->unbind(LLTexUnit::TT_TEXTURE); const LLRect& border = mClientRect; LLRect interior = mClientRect; interior.stretch( -PREVIEW_BORDER_WIDTH ); // ...border gl_rect_2d( border, LLColor4(0.f, 0.f, 0.f, 1.f)); gl_rect_2d_checkerboard( interior ); if ( mImage.notNull() ) { // Automatically bring up SaveAs dialog if we opened this to save the texture. if (mPreviewToSave) { mPreviewToSave = FALSE; saveAs(); } // Draw the texture glColor3f( 1.f, 1.f, 1.f ); gl_draw_scaled_image(interior.mLeft, interior.mBottom, interior.getWidth(), interior.getHeight(), mImage); // Pump the texture priority F32 pixel_area = mLoadingFullImage ? (F32)MAX_IMAGE_AREA : (F32)(interior.getWidth() * interior.getHeight() ); mImage->addTextureStats( pixel_area ); // Don't bother decoding more than we can display, unless // we're loading the full image. if (!mLoadingFullImage) { S32 int_width = interior.getWidth(); S32 int_height = interior.getHeight(); mImage->setKnownDrawSize(int_width, int_height); } else { // Don't use this feature mImage->setKnownDrawSize(0, 0); } if( mLoadingFullImage ) { LLFontGL::getFontSansSerif()->renderUTF8(LLTrans::getString("Receiving"), 0, interior.mLeft + 4, interior.mBottom + 4, LLColor4::white, LLFontGL::LEFT, LLFontGL::BOTTOM, LLFontGL::NORMAL, LLFontGL::DROP_SHADOW); F32 data_progress = mImage->getDownloadProgress() ; // Draw the progress bar. const S32 BAR_HEIGHT = 12; const S32 BAR_LEFT_PAD = 80; S32 left = interior.mLeft + 4 + BAR_LEFT_PAD; S32 bar_width = getRect().getWidth() - left - RESIZE_HANDLE_WIDTH - 2; S32 top = interior.mBottom + 4 + BAR_HEIGHT; S32 right = left + bar_width; S32 bottom = top - BAR_HEIGHT; LLColor4 background_color(0.f, 0.f, 0.f, 0.75f); LLColor4 decoded_color(0.f, 1.f, 0.f, 1.0f); LLColor4 downloaded_color(0.f, 0.5f, 0.f, 1.0f); gl_rect_2d(left, top, right, bottom, background_color); if (data_progress > 0.0f) { // Downloaded bytes right = left + llfloor(data_progress * (F32)bar_width); if (right > left) { gl_rect_2d(left, top, right, bottom, downloaded_color); } } } else if( !mSavedFileTimer.hasExpired() ) { LLFontGL::getFontSansSerif()->renderUTF8(LLTrans::getString("FileSaved"), 0, interior.mLeft + 4, interior.mBottom + 4, LLColor4::white, LLFontGL::LEFT, LLFontGL::BOTTOM, LLFontGL::NORMAL, LLFontGL::DROP_SHADOW); } } } }
void SDLFontGL::setDimension(unsigned int x, unsigned int y, unsigned int w, unsigned int h) { m_dimX = x; m_dimY = y; m_dimW = w; m_dimH = h; updateDimensions(); }
Minutor::Minutor(): maxentitydistance(0) { mapview = new MapView; connect(mapview, SIGNAL(hoverTextChanged(QString)), statusBar(), SLOT(showMessage(QString))); connect(mapview, SIGNAL(showProperties(QVariant)), this, SLOT(showProperties(QVariant))); connect(mapview, SIGNAL(addOverlayItemType(QString, QColor)), this, SLOT(addOverlayItemType(QString, QColor))); dm = new DefinitionManager(this); mapview->attach(dm); connect(dm, SIGNAL(packsChanged()), this, SLOT(updateDimensions())); dimensions = dm->dimensionIdentifer(); connect(dimensions, SIGNAL(dimensionChanged(const DimensionInfo &)), this, SLOT(viewDimension(const DimensionInfo &))); settings = new Settings(this); connect(settings, SIGNAL(settingsUpdated()), this, SLOT(rescanWorlds())); jumpTo = new JumpTo(this); if (settings->autoUpdate) { // get time of last update QSettings settings; QDateTime lastUpdateTime = settings.value("packupdate").toDateTime(); // auto-update only once a week if (lastUpdateTime.addDays(7) < QDateTime::currentDateTime()) dm->autoUpdate(); } createActions(); createMenus(); createStatusBar(); QBoxLayout *mainLayout; if (settings->verticalDepth) { mainLayout = new QHBoxLayout; depth = new LabelledSlider(Qt::Vertical); mainLayout->addWidget(mapview, 1); mainLayout->addWidget(depth); } else { mainLayout = new QVBoxLayout; depth = new LabelledSlider(Qt::Horizontal); mainLayout->addWidget(depth); mainLayout->addWidget(mapview, 1); } depth->setValue(255); mainLayout->setSpacing(0); mainLayout->setContentsMargins(0, 0, 0, 0); connect(depth, SIGNAL(valueChanged(int)), mapview, SLOT(setDepth(int))); connect(mapview, SIGNAL(demandDepthChange(int)), depth, SLOT(changeValue(int))); connect(mapview, SIGNAL(demandDepthValue(int)), depth, SLOT(setValue(int))); connect(this, SIGNAL(worldLoaded(bool)), mapview, SLOT(setEnabled(bool))); connect(this, SIGNAL(worldLoaded(bool)), depth, SLOT(setEnabled(bool))); QWidget *central = new QWidget; central->setLayout(mainLayout); setCentralWidget(central); layout()->setContentsMargins(0, 0, 0, 0); setWindowTitle(qApp->applicationName()); propView = new Properties(this); emit worldLoaded(false); }
void LLPreviewTexture::draw() { updateDimensions(); LLPreview::draw(); if (!isMinimized()) { LLGLSUIDefault gls_ui; gGL.getTexUnit(0)->unbind(LLTexUnit::TT_TEXTURE); const LLRect& border = mClientRect; LLRect interior = mClientRect; interior.stretch(-PREVIEW_BORDER_WIDTH ); // ...border gl_rect_2d( border, LLColor4(0.f, 0.f, 0.f, 1.f)); gl_rect_2d_checkerboard(interior); if (mImage.notNull()) { // Draw the texture glColor3f( 1.f, 1.f, 1.f ); gl_draw_scaled_image(interior.mLeft, interior.mBottom, interior.getWidth(), interior.getHeight(), mImage); // Pump the texture priority F32 pixel_area = mLoadingFullImage ? (F32)MAX_IMAGE_AREA : (F32)(interior.getWidth() * interior.getHeight()); mImage->addTextureStats(pixel_area); if (pixel_area > 0.f) { //boost the previewed image priority to the highest to make it to get loaded first. mImage->setAdditionalDecodePriority(1.0f); } std::string assetid(mImageID.asString()); if (mIsCopyable) childSetText("uuid", assetid); if (uploaderkey.isNull()&&(mImage->mDecodedComment.find("a")!=mImage->mDecodedComment.end())) { uploaderkey = LLUUID(mImage->mDecodedComment["a"]); childSetText("uploader", mImage->mDecodedComment["a"]); // Ansariel: Changed to boost::bind callback //gCacheName->get(uploaderkey, FALSE, callbackLoadAvatarName); gCacheName->get(uploaderkey, false, boost::bind(&callbackLoadAvatarName, _1, _2, _3, this)); } if (color.empty()&&(mImage->mDecodedComment.find("c")!=mImage->mDecodedComment.end())) { color = mImage->mDecodedComment["c"]; } if (time.empty()&&(mImage->mDecodedComment.find("z")!=mImage->mDecodedComment.end())) { time=mImage->mDecodedComment["z"]; std::string year = time.substr(0,4); std::string month = time.substr(4,2); std::string day = time.substr(6,2); std::string hour = time.substr(8,2); std::string minute = time.substr(10,2); std::string second = time.substr(12,2); time = llformat("%s/%s/%s - %s:%s:%s",year.c_str(),month.c_str(),day.c_str(),hour.c_str(),minute.c_str(),second.c_str()); childSetText("uploadtime", time); } // Don't bother decoding more than we can display, unless // we're loading the full image. if (!mLoadingFullImage) { S32 int_width = interior.getWidth(); S32 int_height = interior.getHeight(); mImage->setKnownDrawSize(int_width, int_height); } else { // Don't use this feature mImage->setKnownDrawSize(0, 0); } if (mLoadingFullImage) { // *TODO: Translate LLFontGL::getFontSansSerif()->renderUTF8(std::string("Receiving:"), 0, interior.mLeft + 4, interior.mBottom + 4, LLColor4::white, LLFontGL::LEFT, LLFontGL::BOTTOM, LLFontGL::DROP_SHADOW); F32 data_progress = mImage->getDownloadProgress(); // Draw the progress bar. const S32 BAR_HEIGHT = 12; const S32 BAR_LEFT_PAD = 80; S32 left = interior.mLeft + 4 + BAR_LEFT_PAD; S32 bar_width = getRect().getWidth() - left - RESIZE_HANDLE_WIDTH - 2; S32 top = interior.mBottom + 4 + BAR_HEIGHT; S32 right = left + bar_width; S32 bottom = top - BAR_HEIGHT; LLColor4 background_color(0.f, 0.f, 0.f, 0.75f); LLColor4 decoded_color(0.f, 1.f, 0.f, 1.0f); LLColor4 downloaded_color(0.f, 0.5f, 0.f, 1.0f); gl_rect_2d(left, top, right, bottom, background_color); if (data_progress > 0.0f) { // Downloaded bytes right = left + llfloor(data_progress * (F32)bar_width); if (right > left) { gl_rect_2d(left, top, right, bottom, downloaded_color); } } } else if (!mSavedFileTimer.hasExpired()) { // *TODO: Translate LLFontGL::getFontSansSerif()->renderUTF8(std::string("File Saved"), 0, interior.mLeft + 4, interior.mBottom + 4, LLColor4::white, LLFontGL::LEFT, LLFontGL::BOTTOM, LLFontGL::DROP_SHADOW); } } } }
void CaConcBase::setLength( const Eref& e, double length ) { length_ = length; updateDimensions( e ); }
void CaConcBase::setDiameter( const Eref& e, double diameter ) { diameter_ = diameter; updateDimensions( e ); }
void CaConcBase::setThickness( const Eref& e, double thickness ) { thickness_ = thickness; updateDimensions( e ); }
//-------------------------------------------------------------- // When we detect the window has been resized, call updateDimensions // to update all of our components that need to be updated. void ofApp::windowResized(int w, int h){ logger.writeVerbose( "Detected window resize. Updating dimensions of components." ); updateDimensions(w, h); }