diff --git a/test/dispmanx2png/dispmanx2png.cpp b/test/dispmanx2png/dispmanx2png.cpp index 6464a1f9..f4237e25 100644 --- a/test/dispmanx2png/dispmanx2png.cpp +++ b/test/dispmanx2png/dispmanx2png.cpp @@ -27,6 +27,7 @@ int main(int argc, char** argv) signal(SIGINT, signal_handler); int grabFlags = 0; + int grabCount = -1; try { // create the option parser and initialize all parameters @@ -35,6 +36,8 @@ int main(int argc, char** argv) QString flagDescr = QString("Set the grab flags of the dispmanx frame grabber [default: 0x%1]").arg(grabFlags, 8, 16, QChar('0')); StringParameter & argFlags = parameters.add ('f', "flags", flagDescr.toAscii().constData()); + IntParameter & argCount = parameters.add ('n', "count", "Number of images to capture (default infinite)"); + argCount.setDefault(grabCount); SwitchParameter<> & argList = parameters.add >('l', "list", "List the possible flags"); SwitchParameter<> & argHelp = parameters.add >('h', "help", "Show this help message and exit"); @@ -90,6 +93,8 @@ int main(int argc, char** argv) return -1; } } + + grabCount = argCount.getValue(); } catch (const std::runtime_error & e) { @@ -106,7 +111,7 @@ int main(int argc, char** argv) QImage qImage(64, 64, QImage::Format_ARGB32); Image imageRgba(64, 64); - while(running) + for (int i=0; i