Lines 5350-5357
MagickExport Cursor MagickXMakeCursor(Di
Link Here
|
5350 |
% The format of the MagickXMakeImage method is: |
5350 |
% The format of the MagickXMakeImage method is: |
5351 |
% |
5351 |
% |
5352 |
% unsigned int MagickXMakeImage(Display *display, |
5352 |
% unsigned int MagickXMakeImage(Display *display, |
5353 |
% const MagickXResourceInfo *resource_info,MagickXWindowInfo *window,Image *image, |
5353 |
% const MagickXResourceInfo *resource_info,MagickXWindowInfo *window, |
5354 |
% unsigned int width,unsigned int height) |
5354 |
% Image *image,unsigned int width,unsigned int height) |
5355 |
% |
5355 |
% |
5356 |
% A description of each parameter follows: |
5356 |
% A description of each parameter follows: |
5357 |
% |
5357 |
% |
Lines 5376-5384
MagickExport Cursor MagickXMakeCursor(Di
Link Here
|
5376 |
% |
5376 |
% |
5377 |
% |
5377 |
% |
5378 |
*/ |
5378 |
*/ |
5379 |
MagickExport unsigned int MagickXMakeImage(Display *display, |
5379 |
MagickExport unsigned int |
5380 |
const MagickXResourceInfo *resource_info,MagickXWindowInfo *window,Image *image, |
5380 |
MagickXMakeImage(Display *display, |
5381 |
unsigned int width,unsigned int height) |
5381 |
const MagickXResourceInfo *resource_info, |
|
|
5382 |
MagickXWindowInfo *window, |
5383 |
Image *image, |
5384 |
unsigned int width,unsigned int height) |
5382 |
{ |
5385 |
{ |
5383 |
int |
5386 |
int |
5384 |
depth, |
5387 |
depth, |
Lines 5496-5502
MagickExport unsigned int MagickXMakeIma
Link Here
|
5496 |
} |
5499 |
} |
5497 |
#endif |
5500 |
#endif |
5498 |
width=(unsigned int) window->image->columns; |
5501 |
width=(unsigned int) window->image->columns; |
|
|
5502 |
assert(width == window->image->columns); |
5499 |
height=(unsigned int) window->image->rows; |
5503 |
height=(unsigned int) window->image->rows; |
|
|
5504 |
assert(height == window->image->rows); |
5500 |
} |
5505 |
} |
5501 |
/* |
5506 |
/* |
5502 |
Create X image. |
5507 |
Create X image. |
Lines 5504-5530
MagickExport unsigned int MagickXMakeIma
Link Here
|
5504 |
ximage=(XImage *) NULL; |
5509 |
ximage=(XImage *) NULL; |
5505 |
format=(depth == 1) ? XYBitmap : ZPixmap; |
5510 |
format=(depth == 1) ? XYBitmap : ZPixmap; |
5506 |
#if defined(HasSharedMemory) |
5511 |
#if defined(HasSharedMemory) |
5507 |
window->shared_memory&=XShmQueryExtension(display); |
5512 |
window->shared_memory &= XShmQueryExtension(display); |
5508 |
if (window->shared_memory) |
5513 |
if (window->shared_memory) |
5509 |
{ |
5514 |
{ |
5510 |
XShmSegmentInfo |
5515 |
XShmSegmentInfo |
5511 |
*segment_info; |
5516 |
*segment_info; |
5512 |
|
5517 |
|
|
|
5518 |
size_t |
5519 |
shm_extent; |
5520 |
|
5513 |
segment_info=(XShmSegmentInfo *) window->segment_info; |
5521 |
segment_info=(XShmSegmentInfo *) window->segment_info; |
5514 |
segment_info[1].shmid=(-1); |
5522 |
segment_info[1].shmid=(-1); |
5515 |
segment_info[1].shmaddr=NULL; |
5523 |
segment_info[1].shmaddr=NULL; |
5516 |
ximage=XShmCreateImage(display,window->visual,depth,format,(char *) NULL, |
5524 |
ximage=XShmCreateImage(display,window->visual,depth,format,(char *) NULL, |
5517 |
&segment_info[1],width,height); |
5525 |
&segment_info[1],width,height); |
5518 |
window->shared_memory&=(ximage != (XImage *) NULL); |
5526 |
window->shared_memory &= (ximage != (XImage *) NULL); |
|
|
5527 |
|
5528 |
shm_extent=MagickArraySize(ximage->height,ximage->bytes_per_line); |
5529 |
window->shared_memory &= (shm_extent != 0); |
5519 |
|
5530 |
|
5520 |
if (window->shared_memory) |
5531 |
if (window->shared_memory) |
5521 |
segment_info[1].shmid=shmget(IPC_PRIVATE,(size_t) |
5532 |
segment_info[1].shmid=shmget(IPC_PRIVATE,shm_extent,IPC_CREAT | 0777); |
5522 |
(ximage->bytes_per_line*ximage->height),IPC_CREAT | 0777); |
5533 |
window->shared_memory &= (segment_info[1].shmid >= 0); |
5523 |
window->shared_memory&=(segment_info[1].shmid >= 0); |
|
|
5524 |
|
5534 |
|
5525 |
if (window->shared_memory) |
5535 |
if (window->shared_memory) |
5526 |
segment_info[1].shmaddr=(char *) MagickShmAt(segment_info[1].shmid,0,0); |
5536 |
segment_info[1].shmaddr=(char *) MagickShmAt(segment_info[1].shmid,0,0); |
5527 |
window->shared_memory&=(segment_info[1].shmaddr != NULL); |
5537 |
window->shared_memory &= (segment_info[1].shmaddr != NULL); |
5528 |
|
5538 |
|
5529 |
if (!window->shared_memory) |
5539 |
if (!window->shared_memory) |
5530 |
{ |
5540 |
{ |