summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTimo Lotterbach <timo.lotterbach@bmw-carit.de>2012-08-08 00:31:22 -0700
committerMichael Schuldt <michael.schuldt@bmw.de>2012-09-12 11:34:35 +0200
commitb041a6d1e080946bde9ad89e700626c960b27c5b (patch)
tree2eef2c16b78778c5489992afd04c409b887610ac
parent8c275285f6871b540500a00103f268693275b246 (diff)
downloadlayer_management-b041a6d1e080946bde9ad89e700626c960b27c5b.tar.gz
LayerManagerControl: added chromakey support
- set chromakey value for surface and layer - disable chromakey for surface and layer
-rw-r--r--LayerManagerExamples/LayerManagerControl/src/commands.cpp51
-rw-r--r--LayerManagerExamples/LayerManagerControl/src/helper.cpp8
2 files changed, 59 insertions, 0 deletions
diff --git a/LayerManagerExamples/LayerManagerControl/src/commands.cpp b/LayerManagerExamples/LayerManagerControl/src/commands.cpp
index 5835854..4ec3235 100644
--- a/LayerManagerExamples/LayerManagerControl/src/commands.cpp
+++ b/LayerManagerExamples/LayerManagerControl/src/commands.cpp
@@ -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();
+}
+
+
diff --git a/LayerManagerExamples/LayerManagerControl/src/helper.cpp b/LayerManagerExamples/LayerManagerControl/src/helper.cpp
index 597a89b..04b45bc 100644
--- a/LayerManagerExamples/LayerManagerControl/src/helper.cpp
+++ b/LayerManagerExamples/LayerManagerControl/src/helper.cpp
@@ -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";