Replace some if statements with a switch statement

The switch case statement allows the compiler to optimize code. More
specifically, if the values are densely packed, then the compiler may
generate a jump table. The switch statement also looks cleaner.

As for the if statements in adjustWorkArea(), they were overlooked by
me after LayerSurfaceV1Interface::exclusiveEdge() had been introduced.
icc-effect-master
Vlad Zahorodnii 2020-09-09 11:19:59 +03:00
parent 3805f212ec
commit e5dd5b6a77
1 changed files with 9 additions and 7 deletions

View File

@ -72,17 +72,19 @@ void LayerShellV1Integration::destroyClient(LayerSurfaceV1Interface *shellSurfac
static void adjustWorkArea(const LayerSurfaceV1Interface *shellSurface, QRect *workArea)
{
if (shellSurface->exclusiveEdge() == Qt::LeftEdge) {
switch (shellSurface->exclusiveEdge()) {
case Qt::LeftEdge:
workArea->adjust(shellSurface->leftMargin() + shellSurface->exclusiveZone(), 0, 0, 0);
}
if (shellSurface->exclusiveEdge() == Qt::RightEdge) {
break;
case Qt::RightEdge:
workArea->adjust(0, 0, -shellSurface->rightMargin() - shellSurface->exclusiveZone(), 0);
}
if (shellSurface->exclusiveEdge() == Qt::TopEdge) {
break;
case Qt::TopEdge:
workArea->adjust(0, shellSurface->topMargin() + shellSurface->exclusiveZone(), 0, 0);
}
if (shellSurface->exclusiveEdge() == Qt::BottomEdge) {
break;
case Qt::BottomEdge:
workArea->adjust(0, 0, 0, -shellSurface->bottomMargin() - shellSurface->exclusiveZone());
break;
}
}