% July 1992 %
% %
% %
-% Copyright 1999-2011 ImageMagick Studio LLC, a non-profit organization %
+% Copyright 1999-2012 ImageMagick Studio LLC, a non-profit organization %
% dedicated to making software imaging solutions freely available. %
% %
% You may not use this file except in compliance with the License. You may %
#include "MagickCore/color.h"
#include "MagickCore/color-private.h"
#include "MagickCore/colorspace.h"
+#include "MagickCore/colorspace-private.h"
#include "MagickCore/constitute.h"
#include "MagickCore/delegate.h"
#include "MagickCore/exception.h"
#include "MagickCore/string-private.h"
#include "MagickCore/transform.h"
#include "MagickCore/utility.h"
+#include "MagickCore/utility-private.h"
#include "MagickCore/version.h"
#include "MagickCore/widget.h"
+#include "MagickCore/widget-private.h"
+#include "MagickCore/xwindow.h"
#include "MagickCore/xwindow-private.h"
\f
#if defined(MAGICKCORE_X11_DELEGATE)
if (display == (Display *) NULL)
{
(void) ThrowMagickException(exception,GetMagickModule(),XServerError,
- "UnableToOpenXServer","`%s'",XDisplayName(image_info->server_name));
+ "UnableToOpenXServer","'%s'",XDisplayName(image_info->server_name));
return(MagickFalse);
}
if (exception->severity != UndefinedException)
resource_info.immutable=MagickTrue;
argv[0]=AcquireString(GetClientName());
(void) XAnimateImages(display,&resource_info,argv,1,images,exception);
+ (void) SetErrorHandler((ErrorHandler) NULL);
+ (void) SetWarningHandler((WarningHandler) NULL);
argv[0]=DestroyString(argv[0]);
(void) XCloseDisplay(display);
XDestroyResourceInfo(&resource_info);
*title;
title=InterpretImageProperties(resource_info->image_info,*image,
- resource_info->title);
+ resource_info->title,exception);
(void) CopyMagickString(windows->image.name,title,MaxTextExtent);
title=DestroyString(title);
}
status=XSaveImage(display,resource_info,windows,*image,exception);
if (status == MagickFalse)
{
- XNoticeWidget(display,windows,"Unable to write X image:",
- (*image)->filename);
+ char
+ message[MaxTextExtent];
+
+ (void) FormatLocaleString(message,MaxTextExtent,"%s:%s",
+ exception->reason != (char *) NULL ? exception->reason : "",
+ exception->description != (char *) NULL ? exception->description :
+ "");
+ XNoticeWidget(display,windows,"Unable to save file:",message);
break;
}
break;
}
case InfoCommand:
{
- XDisplayImageInfo(display,resource_info,windows,(Image *) NULL,*image);
+ XDisplayImageInfo(display,resource_info,windows,(Image *) NULL,*image,
+ exception);
break;
}
case HelpCommand:
(next->colors > (size_t) visual_info->colormap_size))
break;
for (i=0; i < (ssize_t) images->colors; i++)
- if (IsPixelPacketEquivalent(next->colormap+i,images->colormap+i) == MagickFalse)
+ if (IsPixelInfoEquivalent(next->colormap+i,images->colormap+i) == MagickFalse)
break;
if (i < (ssize_t) images->colors)
break;
next=GetNextImageInList(next);
}
if (next != (Image *) NULL)
- (void) RemapImages(resources.quantize_info,images,(Image *) NULL);
+ (void) RemapImages(resources.quantize_info,images,(Image *) NULL,
+ exception);
}
/*
Sort images by increasing scene number.
(visual_info->klass == TrueColor) ||
(visual_info->klass == DirectColor))
(void) SetImageType(image_list[scene],image_list[scene]->matte ==
- MagickFalse ? TrueColorType : TrueColorMatteType);
+ MagickFalse ? TrueColorType : TrueColorMatteType,exception);
if ((display_image->columns < image_list[scene]->columns) &&
(display_image->rows < image_list[scene]->rows))
display_image=image_list[scene];
if ((resource_info->map_type != (char *) NULL) ||
(visual_info->klass == TrueColor) || (visual_info->klass == DirectColor))
(void) SetImageType(display_image,display_image->matte == MagickFalse ?
- TrueColorType : TrueColorMatteType);
+ TrueColorType : TrueColorMatteType,exception);
XMakeStandardColormap(display,visual_info,&resources,display_image,map_info,
- &pixel);
+ &pixel,exception);
/*
Graphic context superclass.
*/
(next->colors > (size_t) visual_info->colormap_size))
break;
for (i=0; i < (ssize_t) images->colors; i++)
- if (IsPixelPacketEquivalent(next->colormap+i,images->colormap+i) == MagickFalse)
+ if (IsPixelInfoEquivalent(next->colormap+i,images->colormap+i) == MagickFalse)
break;
if (i < (ssize_t) images->colors)
break;
}
if (next != (Image *) NULL)
(void) RemapImages(resource_info->quantize_info,images,
- (Image *) NULL);
+ (Image *) NULL,exception);
}
/*
Sort images by increasing scene number.
(visual_info->klass == TrueColor) ||
(visual_info->klass == DirectColor))
(void) SetImageType(image_list[scene],image_list[scene]->matte ==
- MagickFalse ? TrueColorType : TrueColorMatteType);
+ MagickFalse ? TrueColorType : TrueColorMatteType,exception);
if ((display_image->columns < image_list[scene]->columns) &&
(display_image->rows < image_list[scene]->rows))
display_image=image_list[scene];
display_image->magick);
}
XMakeStandardColormap(display,visual_info,resource_info,display_image,
- map_info,pixel);
+ map_info,pixel,exception);
/*
Initialize graphic context.
*/
*title;
title=InterpretImageProperties(resource_info->image_info,display_image,
- resource_info->title);
+ resource_info->title,exception);
(void) CopyMagickString(windows->image.name,title,MaxTextExtent);
(void) CopyMagickString(windows->image.icon_name,title,MaxTextExtent);
title=DestroyString(title);
/*
Create X image.
*/
- (void) TransformImageColorspace(image_list[scene],RGBColorspace);
+ if (IssRGBColorspace(image_list[scene]->colorspace) == MagickFalse)
+ (void) TransformImageColorspace(image_list[scene],sRGBColorspace,
+ exception);
windows->image.pixmap=(Pixmap) NULL;
windows->image.matte_pixmap=(Pixmap) NULL;
if ((resource_info->map_type != (char *) NULL) ||
*title;
title=InterpretImageProperties(resource_info->image_info,
- image_list[scene],resource_info->title);
+ image_list[scene],resource_info->title,exception);
(void) CopyMagickString(windows->image.name,title,MaxTextExtent);
title=DestroyString(title);
}
*title;
title=InterpretImageProperties(resource_info->image_info,
- image,resource_info->title);
+ image,resource_info->title,exception);
(void) CopyMagickString(windows->image.name,title,
MaxTextExtent);
title=DestroyString(title);
Create an icon image.
*/
XMakeStandardColormap(display,icon_visual,icon_resources,
- display_image,icon_map,icon_pixel);
+ display_image,icon_map,icon_pixel,exception);
(void) XMakeImage(display,icon_resources,&windows->icon,
display_image,windows->icon.width,windows->icon.height,
exception);
{
if (map_info->colormap == icon_map->colormap)
XConfigureImageColormap(display,resource_info,windows,
- display_image);
+ display_image,exception);
(void) XFreeStandardColormap(display,icon_visual,icon_map,
icon_pixel);
windows->icon.mapped=MagickFalse;
if (image->debug != MagickFalse)
(void) LogMagickEvent(TraceEvent,GetMagickModule(),"%s",image->filename);
(void) ThrowMagickException(exception,GetMagickModule(),MissingDelegateError,
- "DelegateLibrarySupportNotBuiltIn","`%s' (X11)",image->filename);
+ "DelegateLibrarySupportNotBuiltIn","'%s' (X11)",image->filename);
return(MagickFalse);
}
#endif