diff options
author | Timo Lotterbach <timo.lotterbach@bmw-carit.de> | 2012-09-10 06:09:47 -0700 |
---|---|---|
committer | Timo Lotterbach <timo.lotterbach@bmw-carit.de> | 2012-10-02 01:19:01 -0700 |
commit | f78fa2463b0148da4b3be6e8042ea2c52f5a00b6 (patch) | |
tree | 637878f62356431d811eb6377965b52e0b5fc11f /LayerManagerCommands | |
parent | 553aaf34ffb9d95761ea3cb874eea8201da12d40 (diff) | |
download | layer_management-f78fa2463b0148da4b3be6e8042ea2c52f5a00b6.tar.gz |
LayerManagerCommands: enabled notifications for surface and layer property changes
Commands that change properties of layers or surfaces now add notifications
to the list of notifications.
Diffstat (limited to 'LayerManagerCommands')
15 files changed, 153 insertions, 32 deletions
diff --git a/LayerManagerCommands/src/LayerSetDestinationRectangleCommand.cpp b/LayerManagerCommands/src/LayerSetDestinationRectangleCommand.cpp index d051278..2af7285 100644 --- a/LayerManagerCommands/src/LayerSetDestinationRectangleCommand.cpp +++ b/LayerManagerCommands/src/LayerSetDestinationRectangleCommand.cpp @@ -42,8 +42,17 @@ ExecutionResult LayerSetDestinationRectangleCommand::execute(ICommandExecutor* e if (layer) { const Rectangle rectangle(m_x, m_y, m_width, m_height); - result = layer->setDestinationRegion(rectangle) ? ExecutionSuccessRedraw : ExecutionSuccess; - layer->applySurfaceTransform(); + if (layer->setDestinationRegion(rectangle)) + { + result = ExecutionSuccessRedraw; + executor->addClientNotification(layer, ILM_NOTIFICATION_DEST_RECT); + } + else + { + result = ExecutionSuccess; + } + + layer->applySurfaceTransform(); } return result; diff --git a/LayerManagerCommands/src/LayerSetDimensionCommand.cpp b/LayerManagerCommands/src/LayerSetDimensionCommand.cpp index 1ef8d49..e7389b7 100644 --- a/LayerManagerCommands/src/LayerSetDimensionCommand.cpp +++ b/LayerManagerCommands/src/LayerSetDimensionCommand.cpp @@ -38,7 +38,15 @@ ExecutionResult LayerSetDimensionCommand::execute(ICommandExecutor* executor) if (layer) { - result = layer->setDimension(m_width, m_height) ? ExecutionSuccessRedraw : ExecutionSuccess; + if (layer->setDimension(m_width, m_height)) + { + result = ExecutionSuccessRedraw; + executor->addClientNotification(layer, ILM_NOTIFICATION_DEST_RECT); + } + else + { + result = ExecutionSuccess; + } layer->applySurfaceTransform(); } diff --git a/LayerManagerCommands/src/LayerSetOpacityCommand.cpp b/LayerManagerCommands/src/LayerSetOpacityCommand.cpp index ca017f2..71bb1bc 100644 --- a/LayerManagerCommands/src/LayerSetOpacityCommand.cpp +++ b/LayerManagerCommands/src/LayerSetOpacityCommand.cpp @@ -38,7 +38,15 @@ ExecutionResult LayerSetOpacityCommand::execute(ICommandExecutor* executor) if (layer) { LOG_DEBUG("LayerSetOpacityCommand","new opacity " << m_opacity << " for id: " << m_id); - result = layer->setOpacity(m_opacity) ? ExecutionSuccessRedraw : ExecutionSuccess; + if (layer->setOpacity(m_opacity)) + { + result = ExecutionSuccessRedraw; + executor->addClientNotification(layer, ILM_NOTIFICATION_OPACITY); + } + else + { + result = ExecutionSuccess; + } } return result; diff --git a/LayerManagerCommands/src/LayerSetOrientationCommand.cpp b/LayerManagerCommands/src/LayerSetOrientationCommand.cpp index 8ad8d66..533e309 100644 --- a/LayerManagerCommands/src/LayerSetOrientationCommand.cpp +++ b/LayerManagerCommands/src/LayerSetOrientationCommand.cpp @@ -37,7 +37,15 @@ ExecutionResult LayerSetOrientationCommand::execute(ICommandExecutor* executor) if (layer) { - result = layer->setOrientation(m_orientation) ? ExecutionSuccessRedraw : ExecutionSuccess; + if (layer->setOrientation(m_orientation)) + { + result = ExecutionSuccessRedraw; + executor->addClientNotification(layer, ILM_NOTIFICATION_ORIENTATION); + } + else + { + result = ExecutionSuccess; + } } return result; diff --git a/LayerManagerCommands/src/LayerSetPositionCommand.cpp b/LayerManagerCommands/src/LayerSetPositionCommand.cpp index cece2f3..a4b2957 100644 --- a/LayerManagerCommands/src/LayerSetPositionCommand.cpp +++ b/LayerManagerCommands/src/LayerSetPositionCommand.cpp @@ -38,8 +38,16 @@ ExecutionResult LayerSetPositionCommand::execute(ICommandExecutor* executor) if (layer) { - result = layer->setPosition(m_x, m_y) ? ExecutionSuccessRedraw : ExecutionSuccess; - layer->applySurfaceTransform(); + if (layer->setPosition(m_x, m_y)) + { + result = ExecutionSuccessRedraw; + executor->addClientNotification(layer, ILM_NOTIFICATION_DEST_RECT); + } + else + { + result = ExecutionSuccess; + } + layer->applySurfaceTransform(); } return result; } diff --git a/LayerManagerCommands/src/LayerSetSourceRectangleCommand.cpp b/LayerManagerCommands/src/LayerSetSourceRectangleCommand.cpp index a81dfe2..7ea3e81 100644 --- a/LayerManagerCommands/src/LayerSetSourceRectangleCommand.cpp +++ b/LayerManagerCommands/src/LayerSetSourceRectangleCommand.cpp @@ -41,7 +41,15 @@ ExecutionResult LayerSetSourceRectangleCommand::execute(ICommandExecutor* execut if (layer) { const Rectangle rectangle(m_x, m_y, m_width, m_height); - result = layer->setSourceRegion(rectangle) ? ExecutionSuccessRedraw : ExecutionSuccess; + if (layer->setSourceRegion(rectangle)) + { + result = ExecutionSuccessRedraw; + executor->addClientNotification(layer, ILM_NOTIFICATION_SOURCE_RECT); + } + else + { + result = ExecutionSuccess; + } layer->applySurfaceTransform(); } diff --git a/LayerManagerCommands/src/LayerSetTypeCommand.cpp b/LayerManagerCommands/src/LayerSetTypeCommand.cpp index 403dd5d..aa6f26c 100644 --- a/LayerManagerCommands/src/LayerSetTypeCommand.cpp +++ b/LayerManagerCommands/src/LayerSetTypeCommand.cpp @@ -40,7 +40,14 @@ ExecutionResult LayerSetTypeCommand::execute(ICommandExecutor* executor) if (layer) { LOG_DEBUG("LayerSetTypeCommand", "setting type: " << m_layerType << " of layer id " << m_idtoSet); - result = layer->setLayerType(m_layerType) ? ExecutionSuccessRedraw : ExecutionSuccess; + if (layer->setLayerType(m_layerType)) + { + result = ExecutionSuccessRedraw; + } + else + { + result = ExecutionSuccess; + } } return result; diff --git a/LayerManagerCommands/src/LayerSetVisibilityCommand.cpp b/LayerManagerCommands/src/LayerSetVisibilityCommand.cpp index 00cf53a..76d164d 100644 --- a/LayerManagerCommands/src/LayerSetVisibilityCommand.cpp +++ b/LayerManagerCommands/src/LayerSetVisibilityCommand.cpp @@ -38,7 +38,15 @@ ExecutionResult LayerSetVisibilityCommand::execute(ICommandExecutor* executor) if (layer) { LOG_DEBUG("LayerSetVisibilityCommand", "setting visibility: " << m_visibility << " of id " << m_idtoSet); - result = layer->setVisibility(m_visibility) ? ExecutionSuccessRedraw : ExecutionSuccess; + if (layer->setVisibility(m_visibility)) + { + executor->addClientNotification(layer, ILM_NOTIFICATION_VISIBILITY); + result = ExecutionSuccessRedraw; + } + else + { + result = ExecutionSuccess; + } } return result; diff --git a/LayerManagerCommands/src/SurfaceSetDestinationRectangleCommand.cpp b/LayerManagerCommands/src/SurfaceSetDestinationRectangleCommand.cpp index bf9c1e9..472ac25 100644 --- a/LayerManagerCommands/src/SurfaceSetDestinationRectangleCommand.cpp +++ b/LayerManagerCommands/src/SurfaceSetDestinationRectangleCommand.cpp @@ -38,15 +38,23 @@ ExecutionResult SurfaceSetDestinationRectangleCommand::execute(ICommandExecutor* ExecutionResult result = ExecutionFailed; Surface* surface = scene.getSurface(m_id); - if (surface) + if (surface) { - unsigned int layerid = surface->getContainingLayerId(); + unsigned int layerid = surface->getContainingLayerId(); const Rectangle rectangle(m_x, m_y, m_width, m_height); - result = surface->setDestinationRegion(rectangle) ? ExecutionSuccessRedraw : ExecutionSuccess; + if (surface->setDestinationRegion(rectangle)) + { + executor->addClientNotification(surface, ILM_NOTIFICATION_DEST_RECT); + result = ExecutionSuccessRedraw; + } + else + { + result = ExecutionSuccess; + } if ( layerid != Surface::INVALID_ID ) - { - surface->calculateTargetDestination(scene.getLayer(layerid)->getSourceRegion(),scene.getLayer(layerid)->getDestinationRegion()); - } + { + surface->calculateTargetDestination(scene.getLayer(layerid)->getSourceRegion(),scene.getLayer(layerid)->getDestinationRegion()); + } } return result; diff --git a/LayerManagerCommands/src/SurfaceSetDimensionCommand.cpp b/LayerManagerCommands/src/SurfaceSetDimensionCommand.cpp index 024bf8b..c636c81 100644 --- a/LayerManagerCommands/src/SurfaceSetDimensionCommand.cpp +++ b/LayerManagerCommands/src/SurfaceSetDimensionCommand.cpp @@ -38,7 +38,16 @@ ExecutionResult SurfaceSetDimensionCommand::execute(ICommandExecutor* executor) if (surface) { unsigned int layerid = surface->getContainingLayerId(); - result = surface->setDimension(m_width, m_height) ? ExecutionSuccessRedraw : ExecutionSuccess; + if(surface->setDimension(m_width, m_height)) + { + executor->addClientNotification(surface, ILM_NOTIFICATION_DEST_RECT); + result = ExecutionSuccessRedraw; + } + else + { + result = ExecutionSuccess; + } + if ( layerid != Surface::INVALID_ID ) { surface->calculateTargetDestination(scene.getLayer(layerid)->getSourceRegion(),scene.getLayer(layerid)->getDestinationRegion()); diff --git a/LayerManagerCommands/src/SurfaceSetOpacityCommand.cpp b/LayerManagerCommands/src/SurfaceSetOpacityCommand.cpp index 76bcb3d..d3ccdae 100644 --- a/LayerManagerCommands/src/SurfaceSetOpacityCommand.cpp +++ b/LayerManagerCommands/src/SurfaceSetOpacityCommand.cpp @@ -38,7 +38,15 @@ ExecutionResult SurfaceSetOpacityCommand::execute(ICommandExecutor* executor) if (surface) { LOG_DEBUG("SurfaceSetOpacityCommand","new opacity " << m_opacity << " for id: " << m_id); - result = surface->setOpacity(m_opacity) ? ExecutionSuccessRedraw : ExecutionSuccess; + if (surface->setOpacity(m_opacity)) + { + executor->addClientNotification(surface, ILM_NOTIFICATION_OPACITY); + result = ExecutionSuccessRedraw; + } + else + { + result = ExecutionSuccess; + } } return result; diff --git a/LayerManagerCommands/src/SurfaceSetOrientationCommand.cpp b/LayerManagerCommands/src/SurfaceSetOrientationCommand.cpp index 4f67f10..091dfa4 100644 --- a/LayerManagerCommands/src/SurfaceSetOrientationCommand.cpp +++ b/LayerManagerCommands/src/SurfaceSetOrientationCommand.cpp @@ -37,7 +37,15 @@ ExecutionResult SurfaceSetOrientationCommand::execute(ICommandExecutor* executor if (surface) { - result = surface->setOrientation(m_orientation) ? ExecutionSuccessRedraw : ExecutionSuccess; + if (surface->setOrientation(m_orientation)) + { + executor->addClientNotification(surface, ILM_NOTIFICATION_ORIENTATION); + result = ExecutionSuccessRedraw; + } + else + { + result = ExecutionSuccess; + } } return result; diff --git a/LayerManagerCommands/src/SurfaceSetPositionCommand.cpp b/LayerManagerCommands/src/SurfaceSetPositionCommand.cpp index 86b8cee..eb52893 100644 --- a/LayerManagerCommands/src/SurfaceSetPositionCommand.cpp +++ b/LayerManagerCommands/src/SurfaceSetPositionCommand.cpp @@ -35,15 +35,23 @@ ExecutionResult SurfaceSetPositionCommand::execute(ICommandExecutor* executor) ExecutionResult result = ExecutionFailed; Surface* surface = scene.getSurface(m_id); - + if (surface) { - unsigned int layerid = surface->getContainingLayerId(); - result = surface->setPosition(m_x, m_y) ? ExecutionSuccessRedraw : ExecutionSuccess; - if ( layerid != Surface::INVALID_ID ) - { - surface->calculateTargetDestination(scene.getLayer(layerid)->getSourceRegion(),scene.getLayer(layerid)->getDestinationRegion()); - } + unsigned int layerid = surface->getContainingLayerId(); + if (surface->setPosition(m_x, m_y)) + { + executor->addClientNotification(surface, ILM_NOTIFICATION_DEST_RECT); + result = ExecutionSuccessRedraw; + } + else + { + result = ExecutionSuccess; + } + if (layerid != Surface::INVALID_ID) + { + surface->calculateTargetDestination(scene.getLayer(layerid)->getSourceRegion(),scene.getLayer(layerid)->getDestinationRegion()); + } } return result; } diff --git a/LayerManagerCommands/src/SurfaceSetSourceRectangleCommand.cpp b/LayerManagerCommands/src/SurfaceSetSourceRectangleCommand.cpp index 11533ee..5bce5a6 100644 --- a/LayerManagerCommands/src/SurfaceSetSourceRectangleCommand.cpp +++ b/LayerManagerCommands/src/SurfaceSetSourceRectangleCommand.cpp @@ -39,13 +39,21 @@ ExecutionResult SurfaceSetSourceRectangleCommand::execute(ICommandExecutor* exec Surface* surface = scene.getSurface(m_id); if (surface) { - unsigned int layerid = surface->getContainingLayerId(); + unsigned int layerid = surface->getContainingLayerId(); const Rectangle rectangle(m_x, m_y, m_width, m_height); - result = surface->setSourceRegion(rectangle) ? ExecutionSuccessRedraw : ExecutionSuccess; + if (surface->setSourceRegion(rectangle)) + { + executor->addClientNotification(surface, ILM_NOTIFICATION_SOURCE_RECT); + result = ExecutionSuccessRedraw; + } + else + { + result = ExecutionSuccess; + } if ( layerid != Surface::INVALID_ID ) - { - surface->calculateTargetDestination(scene.getLayer(layerid)->getSourceRegion(),scene.getLayer(layerid)->getDestinationRegion()); - } + { + surface->calculateTargetDestination(scene.getLayer(layerid)->getSourceRegion(),scene.getLayer(layerid)->getDestinationRegion()); + } } return result; diff --git a/LayerManagerCommands/src/SurfaceSetVisibilityCommand.cpp b/LayerManagerCommands/src/SurfaceSetVisibilityCommand.cpp index 784d95f..be63343 100644 --- a/LayerManagerCommands/src/SurfaceSetVisibilityCommand.cpp +++ b/LayerManagerCommands/src/SurfaceSetVisibilityCommand.cpp @@ -38,7 +38,15 @@ ExecutionResult SurfaceSetVisibilityCommand::execute(ICommandExecutor* executor) if (surface) { LOG_DEBUG("SurfaceSetVisibilityCommand", "setting visibility: " << m_visibility << " of id " << m_idtoSet); - result = surface->setVisibility(m_visibility) ? ExecutionSuccessRedraw : ExecutionSuccess; + if (surface->setVisibility(m_visibility)) + { + executor->addClientNotification(surface, ILM_NOTIFICATION_VISIBILITY); + result = ExecutionSuccessRedraw; + } + else + { + result = ExecutionSuccess; + } } return result; |