Lines 43-52
Link Here
|
43 |
#include "magick/describe.h" |
43 |
#include "magick/describe.h" |
44 |
#include "magick/log.h" |
44 |
#include "magick/log.h" |
45 |
#include "magick/magick.h" |
45 |
#include "magick/magick.h" |
|
|
46 |
#include "magick/monitor.h" |
46 |
#include "magick/pixel_cache.h" |
47 |
#include "magick/pixel_cache.h" |
47 |
#include "magick/resize.h" |
48 |
#include "magick/resize.h" |
48 |
#include "magick/shear.h" |
49 |
#include "magick/shear.h" |
49 |
#include "magick/tempfile.h" |
50 |
#include "magick/tempfile.h" |
|
|
51 |
#include "magick/texture.h" |
50 |
#include "magick/transform.h" |
52 |
#include "magick/transform.h" |
51 |
#include "magick/utility.h" |
53 |
#include "magick/utility.h" |
52 |
#include "magick/version.h" |
54 |
#include "magick/version.h" |
Lines 2937-2943
MagickExport void MagickXGetImportInfo(M
Link Here
|
2937 |
% % |
2939 |
% % |
2938 |
% % |
2940 |
% % |
2939 |
% % |
2941 |
% % |
2940 |
% M a g i c k X G e t P i x e l I n f o % |
2942 |
% M a g i c k X G e t P i x e l P a c k e t % |
2941 |
% % |
2943 |
% % |
2942 |
% % |
2944 |
% % |
2943 |
% % |
2945 |
% % |
Lines 5376-5381
MagickExport Cursor MagickXMakeCursor(Di
Link Here
|
5376 |
% |
5378 |
% |
5377 |
% |
5379 |
% |
5378 |
*/ |
5380 |
*/ |
|
|
5381 |
static const char * |
5382 |
MagickXImageFormatToString(int xformat) |
5383 |
{ |
5384 |
static const char |
5385 |
*formats[] = |
5386 |
{ |
5387 |
"XYBitmap", |
5388 |
"XYPixmap", |
5389 |
"ZPixmap" |
5390 |
}; |
5391 |
|
5392 |
const char |
5393 |
*format = "Unknown"; |
5394 |
|
5395 |
if ((size_t) xformat < sizeof(formats)/sizeof(formats[0])) |
5396 |
format=formats[xformat]; |
5397 |
|
5398 |
return format; |
5399 |
} |
5400 |
static const char * |
5401 |
MagickXByteOrderToString(int xbyte_order) |
5402 |
{ |
5403 |
static const char |
5404 |
*byte_orders[] = |
5405 |
{ |
5406 |
"LSBFirst", |
5407 |
"MSBFirst" |
5408 |
}; |
5409 |
|
5410 |
const char |
5411 |
*byte_order = "Unknown"; |
5412 |
|
5413 |
if ((size_t) xbyte_order < sizeof(byte_orders)/sizeof(byte_orders[0])) |
5414 |
byte_order=byte_orders[xbyte_order]; |
5415 |
|
5416 |
return byte_order; |
5417 |
} |
5379 |
MagickExport unsigned int |
5418 |
MagickExport unsigned int |
5380 |
MagickXMakeImage(Display *display, |
5419 |
MagickXMakeImage(Display *display, |
5381 |
const MagickXResourceInfo *resource_info, |
5420 |
const MagickXResourceInfo *resource_info, |
Lines 5413-5418
MagickXMakeImage(Display *display,
Link Here
|
5413 |
window->destroy=False; |
5452 |
window->destroy=False; |
5414 |
if (window->image != (Image *) NULL) |
5453 |
if (window->image != (Image *) NULL) |
5415 |
{ |
5454 |
{ |
|
|
5455 |
MonitorHandler |
5456 |
handler=(MonitorHandler) NULL; |
5457 |
|
5458 |
handler=SetMonitorHandler((MonitorHandler) NULL); |
5416 |
if (window->crop_geometry) |
5459 |
if (window->crop_geometry) |
5417 |
{ |
5460 |
{ |
5418 |
Image |
5461 |
Image |
Lines 5462-5507
MagickXMakeImage(Display *display,
Link Here
|
5462 |
window->destroy=MagickTrue; |
5505 |
window->destroy=MagickTrue; |
5463 |
} |
5506 |
} |
5464 |
} |
5507 |
} |
5465 |
#if 0 |
5508 |
if ((window->image->matte != MagickFalse) && |
5466 |
if ((window->immutable == MagickFalse) && |
5509 |
(window->pixel_info->colors == 0) |
5467 |
(window->image->matte != MagickFalse) && |
5510 |
/* && (window->immutable == MagickFalse) */) |
5468 |
(window->pixel_info->colors == 0)) |
|
|
5469 |
{ |
5511 |
{ |
5470 |
Image |
5512 |
Image |
5471 |
*texture; |
5513 |
*texture; |
5472 |
|
5514 |
|
5473 |
/* |
5515 |
/* |
5474 |
Tile background with texture. |
5516 |
Tile background with texture according to opacity |
5475 |
*/ |
5517 |
*/ |
5476 |
strlcpy(resource_info->image_info->filename,"image:checkerboard",MaxTextExtent); |
5518 |
strlcpy(resource_info->image_info->filename,"image:checkerboard", |
|
|
5519 |
sizeof(resource_info->image_info->filename)); |
5477 |
texture=ReadImage(resource_info->image_info,&window->image->exception); |
5520 |
texture=ReadImage(resource_info->image_info,&window->image->exception); |
5478 |
if (texture != (Image *) NULL) |
5521 |
if (texture != (Image *) NULL) |
5479 |
{ |
5522 |
{ |
5480 |
Image |
5523 |
Image |
5481 |
*textured_image; |
5524 |
*textured_image; |
5482 |
|
5525 |
|
5483 |
textured_image=CloneImage(window->image,window->image->columns, |
5526 |
textured_image=CloneImage(window->image,0,0,MagickTrue, |
5484 |
window->image->rows,MagickTrue,&window->image->exception); |
5527 |
&window->image->exception); |
5485 |
if (textured_image != (Image *) NULL) |
5528 |
if (textured_image != (Image *) NULL) |
5486 |
{ |
5529 |
{ |
5487 |
/* strlcpy(window->image->filename,"textured_image.miff", MaxTextExtent); */ |
5530 |
if (TextureImage(textured_image,texture) != MagickFail) |
5488 |
/* WriteImage(resource_info->image_info,window->image); */ |
5531 |
{ |
5489 |
TextureImage(textured_image,texture); |
5532 |
if (window->image != image) |
5490 |
textured_image->matte=MagickFalse; |
5533 |
DestroyImage(window->image); |
5491 |
if (window->image != image) |
5534 |
window->image=textured_image; |
5492 |
DestroyImage(window->image); |
5535 |
window->destroy=MagickTrue; |
5493 |
window->image=textured_image; |
5536 |
} |
5494 |
window->destroy=MagickTrue; |
5537 |
else |
|
|
5538 |
{ |
5539 |
DestroyImage(textured_image); |
5540 |
} |
5495 |
} |
5541 |
} |
5496 |
DestroyImage(texture); |
5542 |
DestroyImage(texture); |
5497 |
texture=(Image *) NULL; |
5543 |
texture=(Image *) NULL; |
5498 |
} |
5544 |
} |
5499 |
} |
5545 |
} |
5500 |
#endif |
|
|
5501 |
width=(unsigned int) window->image->columns; |
5546 |
width=(unsigned int) window->image->columns; |
5502 |
assert(width == window->image->columns); |
5547 |
assert(width == window->image->columns); |
5503 |
height=(unsigned int) window->image->rows; |
5548 |
height=(unsigned int) window->image->rows; |
5504 |
assert(height == window->image->rows); |
5549 |
assert(height == window->image->rows); |
|
|
5550 |
(void) SetMonitorHandler(handler); |
5505 |
} |
5551 |
} |
5506 |
/* |
5552 |
/* |
5507 |
Create X image. |
5553 |
Create X image. |
Lines 5617-5628
MagickXMakeImage(Display *display,
Link Here
|
5617 |
if (IsEventLogging()) |
5663 |
if (IsEventLogging()) |
5618 |
{ |
5664 |
{ |
5619 |
(void) LogMagickEvent(X11Event,GetMagickModule(),"XImage:"); |
5665 |
(void) LogMagickEvent(X11Event,GetMagickModule(),"XImage:"); |
5620 |
(void) LogMagickEvent(X11Event,GetMagickModule()," width, height: %dx%d", |
5666 |
(void) LogMagickEvent(X11Event,GetMagickModule()," width x height: %dx%d", |
5621 |
ximage->width,ximage->height); |
5667 |
ximage->width,ximage->height); |
5622 |
(void) LogMagickEvent(X11Event,GetMagickModule()," format: %d", |
5668 |
(void) LogMagickEvent(X11Event,GetMagickModule()," format: %s", |
5623 |
ximage->format); |
5669 |
MagickXImageFormatToString(ximage->format)); |
5624 |
(void) LogMagickEvent(X11Event,GetMagickModule()," byte order: %d", |
5670 |
(void) LogMagickEvent(X11Event,GetMagickModule()," byte order: %s", |
5625 |
ximage->byte_order); |
5671 |
MagickXByteOrderToString(ximage->byte_order)); |
5626 |
(void) LogMagickEvent(X11Event,GetMagickModule(), |
5672 |
(void) LogMagickEvent(X11Event,GetMagickModule(), |
5627 |
" bitmap unit, bit order, pad: %d %d %d",ximage->bitmap_unit, |
5673 |
" bitmap unit, bit order, pad: %d %d %d",ximage->bitmap_unit, |
5628 |
ximage->bitmap_bit_order,ximage->bitmap_pad); |
5674 |
ximage->bitmap_bit_order,ximage->bitmap_pad); |
Lines 5639-5649
MagickXMakeImage(Display *display,
Link Here
|
5639 |
if (!window->shared_memory) |
5685 |
if (!window->shared_memory) |
5640 |
{ |
5686 |
{ |
5641 |
if (ximage->format == XYBitmap) |
5687 |
if (ximage->format == XYBitmap) |
5642 |
ximage->data=MagickAllocateArray(char *, |
5688 |
ximage->data= |
5643 |
ximage->height*ximage->depth,ximage->bytes_per_line); |
5689 |
MagickAllocateArray(char *, |
|
|
5690 |
MagickArraySize(ximage->height,ximage->bytes_per_line), |
5691 |
ximage->depth); |
5644 |
else |
5692 |
else |
5645 |
ximage->data=MagickAllocateArray(char *, |
5693 |
ximage->data= |
5646 |
ximage->height,ximage->bytes_per_line); |
5694 |
MagickAllocateArray(char *,ximage->height,ximage->bytes_per_line); |
5647 |
} |
5695 |
} |
5648 |
if (ximage->data == (char *) NULL) |
5696 |
if (ximage->data == (char *) NULL) |
5649 |
{ |
5697 |
{ |
Lines 5719-5726
MagickXMakeImage(Display *display,
Link Here
|
5719 |
/* |
5767 |
/* |
5720 |
Allocate matte image pixel data. |
5768 |
Allocate matte image pixel data. |
5721 |
*/ |
5769 |
*/ |
5722 |
length=matte_image->bytes_per_line* |
5770 |
length=MagickArraySize(MagickArraySize(matte_image->bytes_per_line, |
5723 |
matte_image->height*matte_image->depth; |
5771 |
matte_image->height), |
|
|
5772 |
matte_image->depth); |
5724 |
matte_image->data=MagickAllocateMemory(char *,length); |
5773 |
matte_image->data=MagickAllocateMemory(char *,length); |
5725 |
if (matte_image->data == (char *) NULL) |
5774 |
if (matte_image->data == (char *) NULL) |
5726 |
{ |
5775 |
{ |
Lines 7381-7389
MagickExport void MagickXMakeMagnifyImag
Link Here
|
7381 |
% |
7430 |
% |
7382 |
% The format of the MagickXMakePixmap method is: |
7431 |
% The format of the MagickXMakePixmap method is: |
7383 |
% |
7432 |
% |
7384 |
% void MagickXMakeStandardColormap(Display *display,XVisualInfo *visual_info, |
7433 |
% unsigned int MagickXMakePixmap(Display *display, |
7385 |
% MagickXResourceInfo *resource_info,Image *image,XStandardColormap *map_info, |
7434 |
% const MagickXResourceInfo *resource_info, |
7386 |
% MagickXPixelInfo *pixel) |
7435 |
% MagickXWindowInfo *window) |
7387 |
% |
7436 |
% |
7388 |
% A description of each parameter follows: |
7437 |
% A description of each parameter follows: |
7389 |
% |
7438 |
% |