Blob Blame Raw
commit 4001478a343b9631ade6be4192b2b12e1b8508b9
Author: Andreas Mair <amair.sob@googlemail.com>
Date:   Sat May 5 12:49:11 2012 +0200

    Add support for building with GraphicsMagick instead of ImageMagick. (Patch by Ville Skyttä)

diff --git a/Makefile b/Makefile
index bcf316c..5efa340 100644
--- a/Makefile
+++ b/Makefile
@@ -10,8 +10,8 @@
 # Debugging on/off 
 #SKINENIGMA_DEBUG = 1
 
-# If you have installed ImageMagick and want to use
-# images in event's and recording's details.
+# If you have installed ImageMagick and want to use images in events'
+# and recordings' details.  Set to GRAPHICS to use GraphicsMagick.
 #HAVE_IMAGEMAGICK = 1
 
 # If you are using the epgsearch plugin and want to see the number of
@@ -129,8 +129,13 @@ OBJS = $(PLUGIN).o enigma.o config.o logo.o tools.o status.o texteffects.o setup
 
 ifdef HAVE_IMAGEMAGICK
 OBJS += bitmap.o
+ifneq ($(HAVE_IMAGEMAGICK), GRAPHICS)
 LIBS += -lMagick++
 INCLUDES += -I/usr/include/ImageMagick -I/usr/local/include/ImageMagick
+else
+LIBS += $(shell pkg-config --libs GraphicsMagick++)
+INCLUDES += $(shell pkg-config --cflags GraphicsMagick++)
+endif
 endif
 
 ifneq ($(shell which freetype-config),)
diff --git a/README b/README
index c4de521..10526bd 100644
--- a/README
+++ b/README
@@ -46,8 +46,8 @@ This turns usage of logos in the main menu completely off. This might
 also improve the performance of the menus. EXPERIMENTAL!!!
 
 HAVE_IMAGEMAGICK = 1
-If you have installed ImageMagick and want to use images in event's
-and recording's details.
+If you have installed ImageMagick and want to use images in events'
+and recordings' details.  Set to GRAPHICS to use GraphicsMagick.
 
 SKINENIGMA_DISABLE_SIGNALINFO = 1
 Do not include code to show signal strength and signal-to-noise ratio.
diff --git a/bitmap.c b/bitmap.c
index 536c700..ff3e7aa 100644
--- a/bitmap.c
+++ b/bitmap.c
@@ -15,6 +15,11 @@ using namespace Magick;
 #include <vector>
 
 #include <vdr/themes.h>
+
+void cOSDImageBitmap::Init(void)
+{
+  InitializeMagick(NULL);
+}
  
 cOSDImageBitmap::cOSDImageBitmap()
 {}
diff --git a/bitmap.h b/bitmap.h
index 507d7f7..63644cb 100644
--- a/bitmap.h
+++ b/bitmap.h
@@ -18,6 +18,7 @@ public:
   cOSDImageBitmap();
   ~cOSDImageBitmap();
   bool DrawImage(const char *fileNameP, int x, int y, int w, int h, int colors, cBitmap *bmp);
+  static void Init(void);
 
 private:
   bool DrawMagick(const char *Filename, int x, int y, int height, int width, int colors, cBitmap *bmp);
diff --git a/logo.c b/logo.c
index 470c5b1..3eb2a24 100644
--- a/logo.c
+++ b/logo.c
@@ -18,6 +18,7 @@ cEnigmaLogoCache::cEnigmaLogoCache(unsigned int cacheSizeP) :cacheSizeM(cacheSiz
 {
 #ifdef HAVE_IMAGEMAGICK
   bmpImage = new cBitmap(8, 8, 1);
+  cOSDImageBitmap::Init();
 #endif
 }