rules/windowRuleApplicator: fix min/max size effects (#12491)
fixes #12412
This commit is contained in:
parent
d7f26038ee
commit
42447a50d6
19 changed files with 171 additions and 93 deletions
|
|
@ -967,7 +967,7 @@ bool CMonitor::applyMonitorRule(SMonitorRule* pMonitorRule, bool force) {
|
|||
|
||||
if (m_createdByUser) {
|
||||
CBox transformedBox = {0, 0, m_transformedSize.x, m_transformedSize.y};
|
||||
transformedBox.transform(wlTransformToHyprutils(invertTransform(m_transform)), m_transformedSize.x, m_transformedSize.y);
|
||||
transformedBox.transform(Math::wlTransformToHyprutils(Math::invertTransform(m_transform)), m_transformedSize.x, m_transformedSize.y);
|
||||
|
||||
m_pixelSize = Vector2D(transformedBox.width, transformedBox.height);
|
||||
}
|
||||
|
|
@ -1487,7 +1487,7 @@ Vector2D CMonitor::middle() {
|
|||
void CMonitor::updateMatrix() {
|
||||
m_projMatrix = Mat3x3::identity();
|
||||
if (m_transform != WL_OUTPUT_TRANSFORM_NORMAL)
|
||||
m_projMatrix.translate(m_pixelSize / 2.0).transform(wlTransformToHyprutils(m_transform)).translate(-m_transformedSize / 2.0);
|
||||
m_projMatrix.translate(m_pixelSize / 2.0).transform(Math::wlTransformToHyprutils(m_transform)).translate(-m_transformedSize / 2.0);
|
||||
}
|
||||
|
||||
WORKSPACEID CMonitor::activeWorkspaceID() {
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
#include "Math.hpp"
|
||||
#include "../memory/Memory.hpp"
|
||||
|
||||
Hyprutils::Math::eTransform wlTransformToHyprutils(wl_output_transform t) {
|
||||
Hyprutils::Math::eTransform Math::wlTransformToHyprutils(wl_output_transform t) {
|
||||
switch (t) {
|
||||
case WL_OUTPUT_TRANSFORM_NORMAL: return Hyprutils::Math::eTransform::HYPRUTILS_TRANSFORM_NORMAL;
|
||||
case WL_OUTPUT_TRANSFORM_180: return Hyprutils::Math::eTransform::HYPRUTILS_TRANSFORM_180;
|
||||
|
|
@ -16,7 +16,7 @@ Hyprutils::Math::eTransform wlTransformToHyprutils(wl_output_transform t) {
|
|||
return Hyprutils::Math::eTransform::HYPRUTILS_TRANSFORM_NORMAL;
|
||||
}
|
||||
|
||||
wl_output_transform invertTransform(wl_output_transform tr) {
|
||||
wl_output_transform Math::invertTransform(wl_output_transform tr) {
|
||||
if ((tr & WL_OUTPUT_TRANSFORM_90) && !(tr & WL_OUTPUT_TRANSFORM_FLIPPED))
|
||||
tr = sc<wl_output_transform>(tr ^ sc<int>(WL_OUTPUT_TRANSFORM_180));
|
||||
|
||||
|
|
|
|||
|
|
@ -9,5 +9,9 @@
|
|||
// NOLINTNEXTLINE
|
||||
using namespace Hyprutils::Math;
|
||||
|
||||
eTransform wlTransformToHyprutils(wl_output_transform t);
|
||||
wl_output_transform invertTransform(wl_output_transform tr);
|
||||
namespace Math {
|
||||
constexpr const Vector2D VECTOR2D_MAX = {std::numeric_limits<double>::max(), std::numeric_limits<double>::max()};
|
||||
|
||||
eTransform wlTransformToHyprutils(wl_output_transform t);
|
||||
wl_output_transform invertTransform(wl_output_transform tr);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue