void GraphicsLayerChromium::setupContentsLayer(LayerChromium* contentsLayer) { if (contentsLayer == m_contentsLayer) return; if (m_contentsLayer) { m_contentsLayer->removeFromParent(); m_contentsLayer = 0; } if (contentsLayer) { m_contentsLayer = contentsLayer; m_contentsLayer->setAnchorPoint(FloatPoint(0, 0)); // It is necessary to update setIsDrawable as soon as we receive the new contentsLayer, for // the correctness of early exit conditions in setDrawsContent() and setContentsVisible(). m_contentsLayer->setIsDrawable(m_contentsVisible); // Insert the content layer first. Video elements require this, because they have // shadow content that must display in front of the video. m_layer->insertChild(m_contentsLayer.get(), 0); if (showDebugBorders()) { m_contentsLayer->setDebugBorderColor(Color(0, 0, 128, 180)); m_contentsLayer->setDebugBorderWidth(1); } } updateDebugIndicators(); updateNames(); }
void GraphicsLayerChromium::setName(const String& inName) { m_nameBase = inName; String name = String::format("GraphicsLayerChromium(%p) GraphicsLayer(%p) ", m_layer.get(), this) + inName; GraphicsLayer::setName(name); updateNames(); }
void GraphicsLayerChromium::setupContentsLayer(WebLayer* contentsLayer) { m_contentsLayer = contentsLayer; m_contentsLayerId = m_contentsLayer->id(); if (m_contentsLayer) { m_contentsLayer->setAnchorPoint(FloatPoint(0, 0)); m_contentsLayer->setUseParentBackfaceVisibility(true); // It is necessary to call setDrawsContent as soon as we receive the new contentsLayer, for // the correctness of early exit conditions in setDrawsContent() and setContentsVisible(). m_contentsLayer->setDrawsContent(m_contentsVisible); // Insert the content layer first. Video elements require this, because they have // shadow content that must display in front of the video. m_layer->layer()->insertChild(m_contentsLayer, 0); if (isShowingDebugBorder()) { m_contentsLayer->setDebugBorderColor(Color(0, 0, 128, 180).rgb()); m_contentsLayer->setDebugBorderWidth(1); } } updateDebugIndicators(); updateNames(); }
void GraphicsLayerChromium::setupContentsLayer(LayerChromium* contentsLayer) { if (contentsLayer == m_contentsLayer) return; if (m_contentsLayer) { m_contentsLayer->removeFromSuperlayer(); m_contentsLayer = 0; } if (contentsLayer) { m_contentsLayer = contentsLayer; m_contentsLayer->setAnchorPoint(FloatPoint(0, 0)); // Insert the content layer first. Video elements require this, because they have // shadow content that must display in front of the video. m_layer->insertSublayer(m_contentsLayer.get(), 0); updateContentsRect(); if (showDebugBorders()) { setLayerBorderColor(*m_contentsLayer, Color(0, 0, 128, 180)); m_contentsLayer->setBorderWidth(1); } } updateDebugIndicators(); updateNames(); }
void GraphicsLayerChromium::updateLayerPreserves3D() { if (m_preserves3D && m_transformLayer.isNull()) { // Create the transform layer. m_transformLayer = WebLayer::create(); m_transformLayer.setPreserves3D(true); m_transformLayer.setAnimationDelegate(this); m_layer.transferAnimationsTo(&m_transformLayer); // Copy the position from this layer. updateLayerPosition(); updateLayerSize(); updateAnchorPoint(); updateTransform(); updateChildrenTransform(); m_layer.setPosition(FloatPoint::zero()); m_layer.setAnchorPoint(FloatPoint(0.5f, 0.5f)); m_layer.setTransform(SkMatrix44()); // Set the old layer to opacity of 1. Further down we will set the opacity on the transform layer. m_layer.setOpacity(1); m_layer.setContentsScale(contentsScale()); // Move this layer to be a child of the transform layer. if (!m_layer.parent().isNull()) m_layer.parent().replaceChild(m_layer, m_transformLayer); m_transformLayer.addChild(m_layer); updateChildList(); } else if (!m_preserves3D && !m_transformLayer.isNull()) { // Relace the transformLayer in the parent with this layer. m_layer.removeFromParent(); if (!m_transformLayer.parent().isNull()) m_transformLayer.parent().replaceChild(m_transformLayer, m_layer); m_layer.setAnimationDelegate(this); m_transformLayer.transferAnimationsTo(&m_layer); // Release the transform layer. m_transformLayer.setAnimationDelegate(0); m_transformLayer.reset(); updateLayerPosition(); updateLayerSize(); updateAnchorPoint(); updateTransform(); updateChildrenTransform(); updateChildList(); } m_layer.setPreserves3D(m_preserves3D); primaryLayer().setOpacity(m_opacity); updateNames(); }
void GraphicsLayerChromium::updateLayerPreserves3D() { if (m_preserves3D && !m_transformLayer) { // Create the transform layer. m_transformLayer = LayerChromium::create(); m_transformLayer->setPreserves3D(true); m_transformLayer->setLayerAnimationDelegate(this); // Copy the position from this layer. updateLayerPosition(); updateLayerSize(); updateAnchorPoint(); updateTransform(); updateChildrenTransform(); m_layer->setPosition(FloatPoint(m_size.width() / 2.0f, m_size.height() / 2.0f)); m_layer->setAnchorPoint(FloatPoint(0.5f, 0.5f)); TransformationMatrix identity; m_layer->setTransform(identity); // Set the old layer to opacity of 1. Further down we will set the opacity on the transform layer. m_layer->setOpacity(1); m_layer->setContentsScale(contentsScale()); // Move this layer to be a child of the transform layer. if (m_layer->parent()) m_layer->parent()->replaceChild(m_layer.get(), m_transformLayer.get()); m_transformLayer->addChild(m_layer.get()); updateChildList(); } else if (!m_preserves3D && m_transformLayer) { // Relace the transformLayer in the parent with this layer. m_layer->removeFromParent(); if (m_transformLayer->parent()) m_transformLayer->parent()->replaceChild(m_transformLayer.get(), m_layer.get()); // Release the transform layer. m_transformLayer->setLayerAnimationDelegate(0); m_transformLayer = 0; updateLayerPosition(); updateLayerSize(); updateAnchorPoint(); updateTransform(); updateChildrenTransform(); updateChildList(); } m_layer->setPreserves3D(m_preserves3D); primaryLayer()->setOpacity(m_opacity); updateNames(); }
void GraphicsLayerChromium::updateLayerPreserves3D() { if (m_preserves3D && !m_transformLayer) { m_transformLayer = adoptPtr(Platform::current()->compositorSupport()->createLayer()); m_transformLayer->setPreserves3D(true); m_transformLayer->setAnimationDelegate(this); m_layer->layer()->transferAnimationsTo(m_transformLayer.get()); // Copy the position from this layer. updateLayerPosition(); updateLayerSize(); updateAnchorPoint(); updateTransform(); updateChildrenTransform(); m_layer->layer()->setPosition(FloatPoint::zero()); m_layer->layer()->setAnchorPoint(FloatPoint(0.5f, 0.5f)); m_layer->layer()->setTransform(SkMatrix44()); // Set the old layer to opacity of 1. Further down we will set the opacity on the transform layer. m_layer->layer()->setOpacity(1); // Move this layer to be a child of the transform layer. if (parent()) parent()->platformLayer()->replaceChild(m_layer->layer(), m_transformLayer.get()); m_transformLayer->addChild(m_layer->layer()); updateChildList(); } else if (!m_preserves3D && m_transformLayer) { // Replace the transformLayer in the parent with this layer. m_layer->layer()->removeFromParent(); if (parent()) parent()->platformLayer()->replaceChild(m_transformLayer.get(), m_layer->layer()); m_layer->layer()->setAnimationDelegate(this); m_transformLayer->transferAnimationsTo(m_layer->layer()); // Release the transform layer. m_transformLayer->setAnimationDelegate(0); m_transformLayer.clear(); updateLayerPosition(); updateLayerSize(); updateAnchorPoint(); updateTransform(); updateChildrenTransform(); updateChildList(); } m_layer->layer()->setPreserves3D(m_preserves3D); platformLayer()->setOpacity(m_opacity); updateNames(); }
void LLFloaterBuyLandUI::updateParcelInfo() { LLParcel* parcel = mParcel->getParcel(); mParcelValid = parcel && mRegion; mParcelIsForSale = false; mParcelIsGroupLand = false; mParcelGroupContribution = 0; mParcelPrice = 0; mParcelActualArea = 0; mParcelBillableArea = 0; mParcelSupportedObjects = 0; mParcelSoldWithObjects = false; mParcelLocation = ""; mParcelSnapshot.setNull(); mParcelSellerName = ""; mCanBuy = false; mCannotBuyIsError = false; if (!mParcelValid) { mCannotBuyReason = getString("no_land_selected"); return; } if (mParcel->getMultipleOwners()) { mCannotBuyReason = getString("multiple_parcels_selected"); return; } const LLUUID& parcelOwner = parcel->getOwnerID(); mIsClaim = parcel->isPublic(); if (!mIsClaim) { mParcelActualArea = parcel->getArea(); mParcelIsForSale = parcel->getForSale(); mParcelIsGroupLand = parcel->getIsGroupOwned(); mParcelPrice = mParcelIsForSale ? parcel->getSalePrice() : 0; if (mParcelIsGroupLand) { LLUUID group_id = parcel->getGroupID(); mParcelGroupContribution = gAgent.getGroupContribution(group_id); } } else { mParcelActualArea = mParcel->getClaimableArea(); mParcelIsForSale = true; mParcelPrice = mParcelActualArea * parcel->getClaimPricePerMeter(); } mParcelBillableArea = llround(mRegion->getBillableFactor() * mParcelActualArea); mParcelSupportedObjects = llround( parcel->getMaxPrimCapacity() * parcel->getParcelPrimBonus()); // Can't have more than region max tasks, regardless of parcel // object bonus factor. LLViewerRegion* region = LLViewerParcelMgr::getInstance()->getSelectionRegion(); if(region) { S32 max_tasks_per_region = (S32)region->getMaxTasks(); mParcelSupportedObjects = llmin( mParcelSupportedObjects, max_tasks_per_region); } mParcelSoldWithObjects = parcel->getSellWithObjects(); LLVector3 center = parcel->getCenterpoint(); mParcelLocation = llformat("%s %d,%d", mRegion->getName().c_str(), (int)center[VX], (int)center[VY] ); mParcelSnapshot = parcel->getSnapshotID(); updateNames(); bool haveEnoughCash = mParcelPrice <= mAgentCashBalance; S32 cashBuy = haveEnoughCash ? 0 : (mParcelPrice - mAgentCashBalance); mCurrency.setAmount(cashBuy, true); mCurrency.setZeroMessage(haveEnoughCash ? getString("none_needed") : LLStringUtil::null); // checks that we can buy the land if(mIsForGroup && !gAgent.hasPowerInActiveGroup(GP_LAND_DEED)) { mCannotBuyReason = getString("cant_buy_for_group"); return; } if (!mIsClaim) { const LLUUID& authorizedBuyer = parcel->getAuthorizedBuyerID(); const LLUUID buyer = gAgent.getID(); const LLUUID newOwner = mIsForGroup ? gAgent.getGroupID() : buyer; if (!mParcelIsForSale || (mParcelPrice == 0 && authorizedBuyer.isNull())) { mCannotBuyReason = getString("parcel_not_for_sale"); return; } if (parcelOwner == newOwner) { if (mIsForGroup) { mCannotBuyReason = getString("group_already_owns"); } else { mCannotBuyReason = getString("you_already_own"); } return; } if (!authorizedBuyer.isNull() && buyer != authorizedBuyer) { // Maybe the parcel is set for sale to a group we are in. bool authorized_group = gAgent.hasPowerInGroup(authorizedBuyer,GP_LAND_DEED) && gAgent.hasPowerInGroup(authorizedBuyer,GP_LAND_SET_SALE_INFO); if (!authorized_group) { mCannotBuyReason = getString("set_to_sell_to_other"); return; } } } else { if (mParcelActualArea == 0) { mCannotBuyReason = getString("no_public_land"); return; } if (mParcel->hasOthersSelected()) { // Policy: Must not have someone else's land selected mCannotBuyReason = getString("not_owned_by_you"); return; } } mCanBuy = true; }
void MaraSettingsDialog::loadSettings() { // Fonts/Colors QPalette lineEditPalette; QColor test = getSetting<QColor>(MaraClientSettings::Color::Background); lineEditPalette.setColor(QPalette::Base, getSetting<QColor>(MaraClientSettings::Color::Background)); lineEditPalette.setColor(QPalette::Background, getSetting<QColor>(MaraClientSettings::Color::Background)); lineEditPalette.setColor(QPalette::Text, getSetting<QColor>(MaraClientSettings::Color::User)); qleUserExample->setPalette(lineEditPalette); qleUserExample->setFont(getSetting<QFont>(MaraClientSettings::Font::User)); qleUserExample->setCursorPosition(0); lineEditPalette.setColor(QPalette::Text, getSetting<QColor>(MaraClientSettings::Color::Default)); qleDefaultExample->setPalette(lineEditPalette); qleDefaultExample->setFont(getSetting<QFont>(MaraClientSettings::Font::Default)); qleDefaultExample->setCursorPosition(0); lineEditPalette.setColor(QPalette::Text, getSetting<QColor>(MaraClientSettings::Color::Message)); qleMessageExample->setPalette(lineEditPalette); qleMessageExample->setFont(getSetting<QFont>(MaraClientSettings::Font::Message)); qleMessageExample->setCursorPosition(0); lineEditPalette.setColor(QPalette::Text, getSetting<QColor>(MaraClientSettings::Color::System)); qleSystemExample->setPalette(lineEditPalette); qleSystemExample->setFont(getSetting<QFont>(MaraClientSettings::Font::System)); qleSystemExample->setCursorPosition(0); lineEditPalette.setColor(QPalette::Text, getSetting<QColor>(MaraClientSettings::Color::Link)); qleLinkExample->setPalette(lineEditPalette); QFont linkFont = getSetting<QFont>(MaraClientSettings::Font::Default); linkFont.setUnderline(true); qleLinkExample->setFont(linkFont); qleLinkExample->setCursorPosition(0); updateNames(qleUserName->text()); _defaultStyle.setColor(getSetting<QColor>(MaraClientSettings::Color::Default)); _systemStyle.setColor(getSetting<QColor>(MaraClientSettings::Color::System)); _userStyle.setColor(getSetting<QColor>(MaraClientSettings::Color::User)); _messageStyle.setColor(getSetting<QColor>(MaraClientSettings::Color::Message)); _defaultStyle.setFont(getSetting<QFont>(MaraClientSettings::Font::Default)); _systemStyle.setFont(getSetting<QFont>(MaraClientSettings::Font::System)); _userStyle.setFont(getSetting<QFont>(MaraClientSettings::Font::User)); _messageStyle.setFont(getSetting<QFont>(MaraClientSettings::Font::Message)); QString styleSheet = _defaultStyle.toCss() + _systemStyle.toCss() + _userStyle.toCss() + _messageStyle.toCss(); QPalette templatePalette; templatePalette.setColor(QPalette::Base, getSetting<QColor>(MaraClientSettings::Color::Background)); templatePalette.setColor(QPalette::Text, getSetting<QColor>(MaraClientSettings::Color::Default)); mtbChatTemplate->setPalette(templatePalette); mtbChatTemplate->setFont(getSetting<QFont>(MaraClientSettings::Font::Default)); mtbChatTemplate->document()->setDefaultStyleSheet(styleSheet); mtbEmoteTemplate->setPalette(templatePalette); mtbEmoteTemplate->setFont(getSetting<QFont>(MaraClientSettings::Font::Default)); mtbEmoteTemplate->document()->setDefaultStyleSheet(styleSheet); mtbMessageTemplate->setPalette(templatePalette); mtbMessageTemplate->setFont(getSetting<QFont>(MaraClientSettings::Font::Default)); mtbMessageTemplate->document()->setDefaultStyleSheet(styleSheet); mtbPlainTemplate->setPalette(templatePalette); mtbPlainTemplate->setFont(getSetting<QFont>(MaraClientSettings::Font::Default)); mtbPlainTemplate->document()->setDefaultStyleSheet(styleSheet); }
void MaraSettingsDialog::showEvent(QShowEvent *pEvent) { updateNames(qleUserName->text()); QDialog::showEvent(pEvent); }