bool CWinSystemBase::UseLimitedColor() { #if defined(HAS_GL) || defined(HAS_DX) static std::shared_ptr<CSettingBool> setting = std::static_pointer_cast<CSettingBool>(CServiceBroker::GetSettings().GetSetting(CSettings::SETTING_VIDEOSCREEN_LIMITEDRANGE)); return setting->GetValue(); #else return false; #endif }
bool CSettingsOperations::SerializeSettingBool(std::shared_ptr<const CSettingBool> setting, CVariant &obj) { if (setting == NULL) return false; obj["value"] = setting->GetValue(); obj["default"] = setting->GetDefault(); return true; }
std::shared_ptr<Expression> ArrayType::PrimitiveAccessMember(std::shared_ptr<Expression> self, unsigned num) { assert(num < count); auto result_ty = IsLvalueType(self->GetType()) ? t->analyzer.GetLvalueType(t) : IsRvalueType(self->GetType()) ? t->analyzer.GetRvalueType(t) : t; return CreatePrimGlobal(Range::Elements(self), result_ty, [=](CodegenContext& con) { auto val = self->GetValue(con); return con.CreateStructGEP(val, num); }); }
bool CSettingsOperations::SerializeSettingNumber(std::shared_ptr<const CSettingNumber> setting, CVariant &obj) { if (setting == NULL) return false; obj["value"] = setting->GetValue(); obj["default"] = setting->GetDefault(); obj["minimum"] = setting->GetMinimum(); obj["step"] = setting->GetStep(); obj["maximum"] = setting->GetMaximum(); return true; }
void TMQTTGpioHandler::UpdateValue(const TGpioDesc& gpio_desc, std::shared_ptr<TSysfsGpio> gpio_handler) { // look at previous value and compare it with current int cached = gpio_handler->GetCachedValue(); int value = gpio_handler->GetValue(); if (value >= 0) { // Buggy GPIO driver may yield any non-zero number instead of 1, // so make sure it's either 1 or 0 here. // See https://github.com/torvalds/linux/commit/25b35da7f4cce82271859f1b6eabd9f3bd41a2bb value = !!value; if ((cached < 0) || (cached != value)){ gpio_handler->SetCachedValue(cached); PublishValue(gpio_desc, gpio_handler); } } }
void CGraphicContext::GetGUIScaling(const RESOLUTION_INFO &res, float &scaleX, float &scaleY, TransformMatrix *matrix /* = NULL */) { if (m_Resolution != RES_INVALID) { // calculate necessary scalings RESOLUTION_INFO info = GetResInfo(); float fFromWidth = (float)res.iWidth; float fFromHeight = (float)res.iHeight; float fToPosX = (float)info.Overscan.left; float fToPosY = (float)info.Overscan.top; float fToWidth = (float)info.Overscan.right - fToPosX; float fToHeight = (float)info.Overscan.bottom - fToPosY; if(!g_guiSkinzoom) // lookup gui setting if we didn't have it already g_guiSkinzoom = std::static_pointer_cast<CSettingInt>(CServiceBroker::GetSettings().GetSetting(CSettings::SETTING_LOOKANDFEEL_SKINZOOM)); float fZoom = 1.0f; if(g_guiSkinzoom) fZoom *= (100 + g_guiSkinzoom->GetValue()) * 0.01f; fZoom -= 1.0f; fToPosX -= fToWidth * fZoom * 0.5f; fToWidth *= fZoom + 1.0f; // adjust for aspect ratio as zoom is given in the vertical direction and we don't // do aspect ratio corrections in the gui code fZoom = fZoom / info.fPixelRatio; fToPosY -= fToHeight * fZoom * 0.5f; fToHeight *= fZoom + 1.0f; scaleX = fFromWidth / fToWidth; scaleY = fFromHeight / fToHeight; if (matrix) { TransformMatrix guiScaler = TransformMatrix::CreateScaler(fToWidth / fFromWidth, fToHeight / fFromHeight, fToHeight / fFromHeight); TransformMatrix guiOffset = TransformMatrix::CreateTranslation(fToPosX, fToPosY); *matrix = guiOffset * guiScaler; } } else { scaleX = scaleY = 1.0f; if (matrix) matrix->Reset(); } }
void Renderer::UpdateConfigValue( const std::shared_ptr< ConfigItem > &item ) { if ( !item->HasChanged() ) return; SDL_Rect r = item->GetValueRect(); std::stringstream ss(""); if ( item->IsBool() ) ss << std::boolalpha << item->GetBool(); else ss << item->GetValue(); item->SetValueTexture ( RenderHelpers::RenderTextTexture_Blended( tinyFont, ss.str(), colorConfig.GetTextColor(), r, renderer, 0 ) ); item->SetValueRect( r ); }
bool PersistentAlias::SaveObject(std::shared_ptr<Alias> pAlias, String &sErrorMessage, PersistenceMode mode) { if (!PreSaveLimitationsCheck::CheckLimitations(mode, pAlias, sErrorMessage)) return false; SQLStatement oStatement; oStatement.SetTable("hm_aliases"); oStatement.AddColumnInt64("aliasdomainid", pAlias->GetDomainID()); oStatement.AddColumn("aliasname", pAlias->GetName()); oStatement.AddColumn("aliasvalue", pAlias->GetValue()); oStatement.AddColumn("aliasactive", pAlias->GetIsActive()); if (pAlias->GetID() == 0) { oStatement.SetStatementType(SQLStatement::STInsert); oStatement.SetIdentityColumn("aliasid"); } else { oStatement.SetStatementType(SQLStatement::STUpdate); String sWhere; sWhere.Format(_T("aliasid = %I64d"), pAlias->GetID()); oStatement.SetWhereClause(sWhere); } bool bNewObject = pAlias->GetID() == 0; // Save and fetch ID __int64 iDBID = 0; bool bRetVal = Application::Instance()->GetDBManager()->Execute(oStatement, bNewObject ? &iDBID : 0); if (bRetVal && bNewObject) pAlias->SetID((int) iDBID); Cache<Alias>::Instance()->RemoveObject(pAlias); return bRetVal; }
bool CSettingsOperations::SerializeSettingString(std::shared_ptr<const CSettingString> setting, CVariant &obj) { if (setting == NULL) return false; obj["value"] = setting->GetValue(); obj["default"] = setting->GetDefault(); obj["allowempty"] = setting->AllowEmpty(); switch (setting->GetOptionsType()) { case SettingOptionsTypeStaticTranslatable: { obj["options"] = CVariant(CVariant::VariantTypeArray); const TranslatableStringSettingOptions& options = setting->GetTranslatableOptions(); for (TranslatableStringSettingOptions::const_iterator itOption = options.begin(); itOption != options.end(); ++itOption) { CVariant varOption(CVariant::VariantTypeObject); varOption["label"] = g_localizeStrings.Get(itOption->first); varOption["value"] = itOption->second; obj["options"].push_back(varOption); } break; } case SettingOptionsTypeStatic: { obj["options"] = CVariant(CVariant::VariantTypeArray); const StringSettingOptions& options = setting->GetOptions(); for (StringSettingOptions::const_iterator itOption = options.begin(); itOption != options.end(); ++itOption) { CVariant varOption(CVariant::VariantTypeObject); varOption["label"] = itOption->first; varOption["value"] = itOption->second; obj["options"].push_back(varOption); } break; } case SettingOptionsTypeDynamic: { obj["options"] = CVariant(CVariant::VariantTypeArray); StringSettingOptions options = std::const_pointer_cast<CSettingString>(setting)->UpdateDynamicOptions(); for (StringSettingOptions::const_iterator itOption = options.begin(); itOption != options.end(); ++itOption) { CVariant varOption(CVariant::VariantTypeObject); varOption["label"] = itOption->first; varOption["value"] = itOption->second; obj["options"].push_back(varOption); } break; } case SettingOptionsTypeNone: default: break; } std::shared_ptr<const ISettingControl> control = setting->GetControl(); if (control->GetFormat() == "path") { if (!SerializeSettingPath(std::static_pointer_cast<const CSettingPath>(setting), obj)) return false; } if (control->GetFormat() == "addon") { if (!SerializeSettingAddon(std::static_pointer_cast<const CSettingAddon>(setting), obj)) return false; } if (control->GetFormat() == "date") { if (!SerializeSettingDate(std::static_pointer_cast<const CSettingDate>(setting), obj)) return false; } if (control->GetFormat() == "time") { if (!SerializeSettingTime(std::static_pointer_cast<const CSettingTime>(setting), obj)) return false; } return true; }
bool CSettingsOperations::SerializeSettingInt(std::shared_ptr<const CSettingInt> setting, CVariant &obj) { if (setting == NULL) return false; obj["value"] = setting->GetValue(); obj["default"] = setting->GetDefault(); switch (setting->GetOptionsType()) { case SettingOptionsTypeStaticTranslatable: { obj["options"] = CVariant(CVariant::VariantTypeArray); const TranslatableIntegerSettingOptions& options = setting->GetTranslatableOptions(); for (TranslatableIntegerSettingOptions::const_iterator itOption = options.begin(); itOption != options.end(); ++itOption) { CVariant varOption(CVariant::VariantTypeObject); varOption["label"] = g_localizeStrings.Get(itOption->first); varOption["value"] = itOption->second; obj["options"].push_back(varOption); } break; } case SettingOptionsTypeStatic: { obj["options"] = CVariant(CVariant::VariantTypeArray); const IntegerSettingOptions& options = setting->GetOptions(); for (IntegerSettingOptions::const_iterator itOption = options.begin(); itOption != options.end(); ++itOption) { CVariant varOption(CVariant::VariantTypeObject); varOption["label"] = itOption->first; varOption["value"] = itOption->second; obj["options"].push_back(varOption); } break; } case SettingOptionsTypeDynamic: { obj["options"] = CVariant(CVariant::VariantTypeArray); IntegerSettingOptions options = std::const_pointer_cast<CSettingInt>(setting)->UpdateDynamicOptions(); for (IntegerSettingOptions::const_iterator itOption = options.begin(); itOption != options.end(); ++itOption) { CVariant varOption(CVariant::VariantTypeObject); varOption["label"] = itOption->first; varOption["value"] = itOption->second; obj["options"].push_back(varOption); } break; } case SettingOptionsTypeNone: default: obj["minimum"] = setting->GetMinimum(); obj["step"] = setting->GetStep(); obj["maximum"] = setting->GetMaximum(); break; } return true; }