diff options
author | Timo Lotterbach <timo.lotterbach@bmw-carit.de> | 2012-08-08 00:31:22 -0700 |
---|---|---|
committer | Michael Schuldt <michael.schuldt@bmw.de> | 2012-09-12 11:34:35 +0200 |
commit | b041a6d1e080946bde9ad89e700626c960b27c5b (patch) | |
tree | 2eef2c16b78778c5489992afd04c409b887610ac | |
parent | 8c275285f6871b540500a00103f268693275b246 (diff) | |
download | layer_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.cpp | 51 | ||||
-rw-r--r-- | LayerManagerExamples/LayerManagerControl/src/helper.cpp | 8 |
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"; |