diff options
| author | vaxerski <43317083+vaxerski@users.noreply.github.com> | 2022-09-30 17:03:06 +0100 |
|---|---|---|
| committer | vaxerski <43317083+vaxerski@users.noreply.github.com> | 2022-09-30 17:03:14 +0100 |
| commit | 3c27d1ab130409c2e320aaaacaf0939ebef1bee9 (patch) | |
| tree | d2af05f4b16f13f8215719533650fe3fafea86d7 /src/render/decorations | |
| parent | 59a3c43913b0536112f3700251aea28768c6882e (diff) | |
optimize vector config value setting
Diffstat (limited to 'src/render/decorations')
| -rw-r--r-- | src/render/decorations/CHyprDropShadowDecoration.cpp | 19 |
1 files changed, 2 insertions, 17 deletions
diff --git a/src/render/decorations/CHyprDropShadowDecoration.cpp b/src/render/decorations/CHyprDropShadowDecoration.cpp index 38de306d..3f56977b 100644 --- a/src/render/decorations/CHyprDropShadowDecoration.cpp +++ b/src/render/decorations/CHyprDropShadowDecoration.cpp @@ -63,30 +63,15 @@ void CHyprDropShadowDecoration::draw(CMonitor* pMonitor, float a) { static auto *const PSHADOWSIZE = &g_pConfigManager->getConfigValuePtr("decoration:shadow_range")->intValue; static auto *const PROUNDING = &g_pConfigManager->getConfigValuePtr("decoration:rounding")->intValue; static auto *const PSHADOWIGNOREWINDOW = &g_pConfigManager->getConfigValuePtr("decoration:shadow_ignore_window")->intValue; - static auto *const PSHADOWOFFSET = &g_pConfigManager->getConfigValuePtr("decoration:shadow_offset")->strValue; + static auto *const PSHADOWOFFSET = &g_pConfigManager->getConfigValuePtr("decoration:shadow_offset")->vecValue; if (*PSHADOWS != 1) return; // disabled - // get the real offset - Vector2D offset; - try { - if (const auto SPACEPOS = PSHADOWOFFSET->find(' '); SPACEPOS != std::string::npos) { - const auto X = PSHADOWOFFSET->substr(0, SPACEPOS); - const auto Y = PSHADOWOFFSET->substr(SPACEPOS + 1); - - if (isNumber(X, true) && isNumber(Y, true)) { - offset = Vector2D(std::stof(X), std::stof(Y)); - } - } - } catch (std::exception& e) { - return; // cannot parse - } - const auto ROUNDING = !m_pWindow->m_sSpecialRenderData.rounding ? 0 : (m_pWindow->m_sAdditionalConfigData.rounding == -1 ? *PROUNDING : m_pWindow->m_sAdditionalConfigData.rounding); // update the extents - m_seExtents = {{*PSHADOWSIZE + 2 - offset.x, *PSHADOWSIZE + 2 - offset.y}, {*PSHADOWSIZE + 2 + offset.x, *PSHADOWSIZE + 2 + offset.y}}; + m_seExtents = {{*PSHADOWSIZE + 2 - PSHADOWOFFSET->x, *PSHADOWSIZE + 2 - PSHADOWOFFSET->y}, {*PSHADOWSIZE + 2 + PSHADOWOFFSET->x, *PSHADOWSIZE + 2 + PSHADOWOFFSET->y}}; // draw the shadow wlr_box fullBox = {m_vLastWindowPos.x - m_seExtents.topLeft.x + 2, m_vLastWindowPos.y - m_seExtents.topLeft.y + 2, m_vLastWindowSize.x + m_seExtents.topLeft.x + m_seExtents.bottomRight.x - 4, m_vLastWindowSize.y + m_seExtents.topLeft.y + m_seExtents.bottomRight.y - 4}; |
