LayerManagerCommand: Add screenID of argument to ScreenSetRenderOrderCommand
authorNobuhiko Tanibata <ntanibata@jp.adit-jv.com>
Wed, 9 Jan 2013 02:13:20 +0000 (11:13 +0900)
committerTimo Lotterbach <timo.lotterbach@bmw-carit.de>
Wed, 9 Jan 2013 12:59:14 +0000 (04:59 -0800)
Signed-off-by: Nobuhiko Tanibata <ntanibata@jp.adit-jv.com>
LayerManagerCommands/include/ScreenSetRenderOrderCommand.h
LayerManagerCommands/src/ScreenSetRenderOrderCommand.cpp

index d51f788..4f9f47c 100644 (file)
@@ -1,6 +1,7 @@
 /***************************************************************************
  *
  * Copyright 2010,2011 BMW Car IT GmbH
+ * Copyright (C) 2012 DENSO CORPORATION and Robert Bosch Car Multimedia Gmbh
  *
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
@@ -29,12 +30,14 @@ public:
      * \action    This command sets the render order of layers within the GENIVI LayerManagement
      * \frequency Called for rearranging graphical contents.
      * \param[in] sender process id of application that sent this command
+     * \param[in] screenID ID of screen
      * \param[in] array array of layer ids
      * \param[in] length length of array provided in parameter array
      * \ingroup Commands
      */
-    ScreenSetRenderOrderCommand(pid_t sender, unsigned int* array, unsigned int length)
+    ScreenSetRenderOrderCommand(pid_t sender, unsigned int screenID, unsigned int* array, unsigned int length)
     : ICommand(ExecuteAsynchronous, sender)
+    , m_screenID(screenID)
     , m_array(array)
     , m_length(length)
     {}
@@ -61,6 +64,7 @@ public:
     virtual const std::string getString();
 
 private:
+    unsigned int m_screenID;
     unsigned int* m_array;
     const unsigned int m_length;
 };
index 2747c44..34c93cd 100644 (file)
@@ -1,6 +1,7 @@
 /***************************************************************************
  *
  * Copyright 2010,2011 BMW Car IT GmbH
+ * Copyright (C) 2012 DENSO CORPORATION and Robert Bosch Car Multimedia Gmbh
  *
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
@@ -49,14 +50,14 @@ ExecutionResult ScreenSetRenderOrderCommand::execute(ICommandExecutor* executor)
     //                return false;
     //        } // TODO insert again later
 
-    if (scene.getCurrentRenderOrder().size() != 0)
+    if (scene.getCurrentRenderOrder(m_screenID).size() != 0)
     {
         IRenderer* renderer = *((executor->getRendererList())->begin());
         renderer->forceCompositionWindowSystem();
         result = ExecutionSuccessRedraw;
     }
 
-    scene.getCurrentRenderOrder().clear();
+    scene.getCurrentRenderOrder(m_screenID).clear();
 
     LOG_DEBUG("ScreenSetRenderOrderCommand", "Length to set: " << m_length);
 
@@ -67,7 +68,7 @@ ExecutionResult ScreenSetRenderOrderCommand::execute(ICommandExecutor* executor)
         if (layer)
         {
             LOG_DEBUG("ScreenSetRenderOrderCommand", "Adding Layer: " << m_array[i] << " to current render order");
-            scene.getCurrentRenderOrder().push_back(layer);
+            scene.getCurrentRenderOrder(m_screenID).push_back(layer);
             result = ExecutionSuccessRedraw;
         }
     }
@@ -79,7 +80,8 @@ const std::string ScreenSetRenderOrderCommand::getString()
 {
     std::stringstream description;
     description << "ScreenSetRenderOrderCommand("
-                << "m_array=[";
+                << "m_screenID=" << m_screenID
+                << ", m_array=[";
 
     for (unsigned int i = 0; i < m_length; ++i)
     {