Mercurial > hg > octave-thorsten
changeset 10947:dc74ce93cfc4
initialize GraphicsMagick in all __magick_* functions
author | Jaroslav Hajek <highegg@gmail.com> |
---|---|
date | Tue, 07 Sep 2010 12:38:35 +0200 |
parents | 1094868ca10d |
children | 6b50fd2d4ca6 |
files | src/ChangeLog src/DLD-FUNCTIONS/__magick_read__.cc |
diffstat | 2 files changed, 31 insertions(+), 11 deletions(-) [+] |
line wrap: on
line diff
--- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,10 @@ +2010-09-07 Jaroslav Hajek <highegg@gmail.com> + + * DLD-FUNCTIONS/__magick_read__.cc (maybe_initialize_magick): New + helper function. Move initialization code & static variable here. + (F__magick_read__, F__magick_write__, F__magick_finfo__): Call it + here. + 2010-09-03 Jaroslav Hajek <highegg@gmail.com> * DLD-FUNCTIONS/cquad.cc: New source, courtesy by Pedro Gonnet.
--- a/src/DLD-FUNCTIONS/__magick_read__.cc +++ b/src/DLD-FUNCTIONS/__magick_read__.cc @@ -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 ();