Mercurial > octave-nkf
diff src/DLD-FUNCTIONS/__magick_read__.cc @ 10947:dc74ce93cfc4
initialize GraphicsMagick in all __magick_* functions
author | Jaroslav Hajek <highegg@gmail.com> |
---|---|
date | Tue, 07 Sep 2010 12:38:35 +0200 |
parents | 89f4d7e294cc |
children | 71ad9c8f20f5 |
line wrap: on
line diff
--- a/src/DLD-FUNCTIONS/__magick_read__.cc Tue Sep 07 12:23:01 2010 +0200 +++ b/src/DLD-FUNCTIONS/__magick_read__.cc Tue Sep 07 12:38:35 2010 +0200 @@ -371,18 +371,9 @@ #endif -DEFUN_DLD (__magick_read__, args, nargout, - "-*- texinfo -*-\n\ -@deftypefn {Function File} {@var{m} =} __magick_read__(@var{fname}, @var{index})\n\ -@deftypefnx {Function File} {[@var{m}, @var{colormap}] =} __magick_read__(@var{fname}, @var{index})\n\ -@deftypefnx {Function File} {[@var{m}, @var{colormap}, @var{alpha}] =} __magick_read__(@var{fname}, @var{index})\n\ -Read images with ImageMagick++. In general you should not be using this\n\ -function. Instead you should use @code{imread}.\n\ -@seealso{imread}\n\ -@end deftypefn") +static void +maybe_initialize_magick (void) { - octave_value_list output; - #ifdef HAVE_MAGICK static bool initialized = false; @@ -402,6 +393,24 @@ initialized = true; } +#endif +} + +DEFUN_DLD (__magick_read__, args, nargout, + "-*- texinfo -*-\n\ +@deftypefn {Function File} {@var{m} =} __magick_read__(@var{fname}, @var{index})\n\ +@deftypefnx {Function File} {[@var{m}, @var{colormap}] =} __magick_read__(@var{fname}, @var{index})\n\ +@deftypefnx {Function File} {[@var{m}, @var{colormap}, @var{alpha}] =} __magick_read__(@var{fname}, @var{index})\n\ +Read images with ImageMagick++. In general you should not be using this\n\ +function. Instead you should use @code{imread}.\n\ +@seealso{imread}\n\ +@end deftypefn") +{ + octave_value_list output; + +#ifdef HAVE_MAGICK + + maybe_initialize_magick (); if (args.length () > 3 || args.length () < 1 || ! args(0).is_string () || nargout > 3) @@ -832,6 +841,8 @@ octave_value_list retval; #ifdef HAVE_MAGICK + maybe_initialize_magick (); + int nargin = args.length (); if (nargin > 2) @@ -961,6 +972,8 @@ #ifdef HAVE_MAGICK + maybe_initialize_magick (); + if (args.length () < 1 || ! args (0).is_string ()) { print_usage ();