From b6ca1969785782cf4d6e58f78563804e6812b3e6 Mon Sep 17 00:00:00 2001 From: mrwastl Date: Wed, 11 May 2011 21:08:15 +0200 Subject: showpic: experimental support for imagemagick-supported formats --- tools/showpic/showpic.c | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) (limited to 'tools') diff --git a/tools/showpic/showpic.c b/tools/showpic/showpic.c index 53e5c0e..173e9ea 100644 --- a/tools/showpic/showpic.c +++ b/tools/showpic/showpic.c @@ -31,6 +31,7 @@ #include #include #include +#include static const char *prgname = "showpic"; static const char *version = "0.1.2"; @@ -201,7 +202,7 @@ int main(int argc, char *argv[]) delete lcd; return 7; } - lcd->SetBrightness(GLCD::Config.driverConfigs[displayNumber].brightness); + lcd->SetBrightness(GLCD::Config.driverConfigs[displayNumber].brightness); signal(SIGINT, sighandler); signal(SIGQUIT, sighandler); @@ -211,6 +212,8 @@ int main(int argc, char *argv[]) const GLCD::cBitmap * bitmap; GLCD::cImage image; GLCD::cGLCDFile glcd; + GLCD::cExtFormatFile extformat; + int optFile; std::string picFile; @@ -218,20 +221,22 @@ int main(int argc, char *argv[]) while (optFile < argc && !stopProgramm) { picFile = argv[optFile++]; - if (glcd.Load(image, picFile) == false) - { - fprintf(stderr, "ERROR: Failed loading file %s\n", picFile.c_str()); - return 8; + if (glcd.Load(image, picFile) == false) { + if (extformat.Load(image, picFile) == false) { + fprintf(stderr, "ERROR: Failed loading file %s\n", picFile.c_str()); + return 8; + } } if (delay) image.SetDelay(sleepMs); + lcd->Refresh(true); while ((bitmap = image.GetBitmap()) != NULL && !stopProgramm) { // lcd->SetScreen(bitmap->Data(), bitmap->Width(), bitmap->Height(), bitmap->LineSize()); lcd->SetScreen(bitmap->Data(), bitmap->Width(), bitmap->Height()); - lcd->Refresh(true); + lcd->Refresh(false); if (image.Next(0)) // Select next image { -- cgit v1.2.3