LayerManagerControl: added chromakey support
authorTimo Lotterbach <timo.lotterbach@bmw-carit.de>
Wed, 8 Aug 2012 07:31:22 +0000 (00:31 -0700)
committerMichael Schuldt <michael.schuldt@bmw.de>
Wed, 12 Sep 2012 09:34:35 +0000 (11:34 +0200)
- set chromakey value for surface and layer
- disable chromakey for surface and layer

LayerManagerExamples/LayerManagerControl/src/commands.cpp
LayerManagerExamples/LayerManagerControl/src/helper.cpp

index 5835854..4ec3235 100644 (file)
@@ -542,3 +542,54 @@ COMMAND("set surface <surfaceid> accept <acceptance> input events from devices <
     ilm_commitChanges();
 }
 
+//=============================================================================
+COMMAND("set surface <surfaceid> chromakey <red> <green> <blue>")
+//=============================================================================
+{
+    t_ilm_surface surface = input->getUint("surfaceid");
+    t_ilm_int color[3] =
+    {
+        input->getInt("red"),
+        input->getInt("green"),
+        input->getInt("blue")
+    };
+
+    ilm_surfaceSetChromaKey(surface, color);
+    ilm_commitChanges();
+}
+
+//=============================================================================
+COMMAND("set surface <surfaceid> chromakey disabled")
+//=============================================================================
+{
+    t_ilm_surface surface = input->getUint("surfaceid");
+    ilm_surfaceSetChromaKey(surface, NULL);
+    ilm_commitChanges();
+}
+
+//=============================================================================
+COMMAND("set layer <layerid> chromakey <red> <green> <blue>")
+//=============================================================================
+{
+    t_ilm_surface surface = input->getUint("layerid");
+    t_ilm_int color[3] =
+    {
+        input->getInt("red"),
+        input->getInt("green"),
+        input->getInt("blue")
+    };
+
+    ilm_layerSetChromaKey(surface, color);
+    ilm_commitChanges();
+}
+
+//=============================================================================
+COMMAND("set layer <layerid> chromakey disabled")
+//=============================================================================
+{
+    t_ilm_surface surface = input->getUint("layerid");
+    ilm_layerSetChromaKey(surface, NULL);
+    ilm_commitChanges();
+}
+
+
index 597a89b..04b45bc 100644 (file)
@@ -116,6 +116,10 @@ void printLayerProperties(unsigned int layerid, const char* prefix = "")
         break;
     }
 
+    cout << prefix << "- chromakey:            "
+         << (p.chromaKeyEnabled ? "enabled " : "disabled ")
+         << "(r=" << p.chromaKeyRed << ", g=" << p.chromaKeyGreen << ", b=" << p.chromaKeyBlue << ")\n";
+
     cout << prefix << "- surface render order: ";
     int surfaceCount = 0;
     unsigned int* surfaceArray = NULL;
@@ -229,6 +233,10 @@ void printSurfaceProperties(unsigned int surfaceid, const char* prefix = "")
          << (keyboardFocusSurfaceId == surfaceid ? "true" : "false")
          << "\n";
 
+    cout << prefix << "- chromakey:          "
+         << (p.chromaKeyEnabled ? "enabled " : "disabled ")
+         << "(r=" << p.chromaKeyRed << ", g=" << p.chromaKeyGreen << ", b=" << p.chromaKeyBlue << ")\n";
+
     cout << prefix << "- counters:           frame=" << p.frameCounter
                                        << ", draw=" << p.drawCounter
                                        << ", update=" << p.updateCounter << "\n";