ximage.c File Reference

#include "config.h"
#include <sys/time.h>
#include <time.h>
#include <stdarg.h>
#include "afterbase.h"
#include "asvisual.h"
#include "blender.h"
#include "asimage.h"
#include "imencdec.h"
#include "ximage.h"

Go to the source code of this file.

Defines

#define DO_CLOCKING
#define PRINT_BACKGROUND_OP_TIME   do{}while(0)
#define IS_POWER_OF2(i)

Functions

ASImagepicture_ximage2asimage (ASVisual *asv, XImage *xim, XImage *alpha_xim, unsigned int compression)
ASImageximage2asimage (ASVisual *asv, XImage *xim, unsigned int compression)
static int xim_set_component (register CARD32 *src, register CARD32 value, int offset, int len)
Bool subimage2ximage (ASVisual *asv, ASImage *im, int x, int y, XImage *xim)
static XImage * asimage2ximage_ext (ASVisual *asv, ASImage *im, Bool scratch)
XImage * asimage2ximage (ASVisual *asv, ASImage *im)
XImage * asimage2alpha_ximage (ASVisual *asv, ASImage *im, Bool bitmap)
XImage * asimage2mask_ximage (ASVisual *asv, ASImage *im)
ASImagepixmap2ximage (ASVisual *asv, Pixmap p, int x, int y, unsigned int width, unsigned int height, unsigned long plane_mask, unsigned int compression)
ASImagepicture2asimage (ASVisual *asv, Pixmap rgb, Pixmap a, int x, int y, unsigned int width, unsigned int height, unsigned long plane_mask, Bool keep_cache, unsigned int compression)
ASImagepixmap2asimage (ASVisual *asv, Pixmap p, int x, int y, unsigned int width, unsigned int height, unsigned long plane_mask, Bool keep_cache, unsigned int compression)
Bool put_ximage (ASVisual *asv, XImage *xim, Drawable d, GC gc, int src_x, int src_y, int dest_x, int dest_y, unsigned int width, unsigned int height)
Bool asimage2drawable_gl (ASVisual *asv, Drawable d, ASImage *im, int src_x, int src_y, int dest_x, int dest_y, int width, int height, int d_width, int d_height, Bool force_direct)
Bool asimage2drawable (ASVisual *asv, Drawable d, ASImage *im, GC gc, int src_x, int src_y, int dest_x, int dest_y, unsigned int width, unsigned int height, Bool use_cached)
Bool asimage2alpha_drawable (ASVisual *asv, Drawable d, ASImage *im, GC gc, int src_x, int src_y, int dest_x, int dest_y, unsigned int width, unsigned int height, Bool use_cached)
Pixmap asimage2pixmap (ASVisual *asv, Window root, ASImage *im, GC gc, Bool use_cached)
Pixmap asimage2alpha (ASVisual *asv, Window root, ASImage *im, GC gc, Bool use_cached, Bool bitmap)
Pixmap asimage2mask (ASVisual *asv, Window root, ASImage *im, GC gc, Bool use_cached)


Define Documentation

#define DO_CLOCKING

Definition at line 26 of file ximage.c.

#define IS_POWER_OF2 ( i   ) 

Value:

(((((i)>>16)&1)+(((i)>>15)&1)+(((i)>>14)&1)+(((i)>>13)&1)+(((i)>>12)&1)+(((i)>>11)&1)+(((i)>>10)&1)+(((i)>>9)&1)+(((i)>>8)&1) \
                         +(((i)>>7)&1)+(((i)>>6)&1)+(((i)>>5)&1)+(((i)>>4)&1)+(((i)>>3)&1)+(((i)>>2)&1))==1)

Definition at line 506 of file ximage.c.

Referenced by asimage2drawable_gl().

#define PRINT_BACKGROUND_OP_TIME   do{}while(0)


Function Documentation

Pixmap asimage2alpha ( ASVisual asv,
Window  root,
ASImage im,
GC  gc,
Bool  use_cached,
Bool  bitmap 
)

Definition at line 752 of file ximage.c.

References ASImage::alt, asimage2alpha_ximage(), ASPutXImage(), create_visual_pixmap(), ASVisual::dpy, mask, ASImage::ASImageAlternative::mask_ximage, None, NULL, and show_error.

Referenced by asimage2mask().

Bool asimage2alpha_drawable ( ASVisual asv,
Drawable  d,
ASImage im,
GC  gc,
int  src_x,
int  src_y,
int  dest_x,
int  dest_y,
unsigned int  width,
unsigned int  height,
Bool  use_cached 
)

Definition at line 693 of file ximage.c.

References ASImage::alt, asimage2alpha_ximage(), ASVisual::dpy, False, ASImage::ASImageAlternative::mask_ximage, None, NULL, put_ximage(), root, and show_error.

XImage* asimage2alpha_ximage ( ASVisual asv,
ASImage im,
Bool  bitmap 
)

Definition at line 362 of file ximage.c.

References ASScanline::alpha, ASImage::alt, ARGB32_ALPHA8, ASA_MaskXImage, ASIM_XIMAGE_8BIT_MASK, asimage_decode_line(), ASIMAGE_QUALITY_POOR, ASImage::back_color, ASVisual::BGR_mode, clear_flags, flag, ASScanline::flags, ASImage::flags, free_scanline(), ASImage::height, i, IC_ALPHA, int, ASImage::ASImageAlternative::mask_ximage, NULL, ASImageOutput::output_image_scanline, prepare_scanline(), SCL_DO_ALPHA, set_flags, start_image_output(), stop_image_output(), True, ASScanline::width, and xim_set_component().

Referenced by asimage2alpha(), asimage2alpha_drawable(), and asimage2mask_ximage().

Bool asimage2drawable ( ASVisual asv,
Drawable  d,
ASImage im,
GC  gc,
int  src_x,
int  src_y,
int  dest_x,
int  dest_y,
unsigned int  width,
unsigned int  height,
Bool  use_cached 
)

Definition at line 657 of file ximage.c.

References ASImage::alt, asimage2ximage_ext(), False, None, NULL, put_ximage(), show_error, True, and ASImage::ASImageAlternative::ximage.

Referenced by asimage2pixmap(), copyshade_drawable_area(), cut_pixmap(), fill_with_darkened_background(), fill_with_pixmapped_background(), and TASImage::Image2Drawable().

Bool asimage2drawable_gl ( ASVisual asv,
Drawable  d,
ASImage im,
int  src_x,
int  src_y,
int  dest_x,
int  dest_y,
int  width,
int  height,
int  d_width,
int  d_height,
Bool  force_direct 
)

Definition at line 510 of file ximage.c.

References ASGLX_Available, ASGLX_DoubleBuffer, ASGLX_RGBA, ASImageDecoder::decode_image_scanline, ASVisual::dpy, False, free(), get_flags, GL_BLEND, GL_DEPTH_TEST, GL_DITHER, GL_FOG, GL_FRONT, GL_LIGHTING, GL_LINEAR, GL_MODELVIEW, GL_PROJECTION, GL_QUADS, GL_RGB, GL_RGBA, GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_TEXTURE_MIN_FILTER, GL_UNSIGNED_BYTE, glBegin(), glBindTexture(), glDisable(), glDrawBuffer(), glDrawPixels(), glEnable(), glEnd(), glFinish(), glGenTextures(), glGetError(), glLoadIdentity(), glMatrixMode(), glRasterPos2i(), glTexCoord2d(), glTexImage2D(), glTexParameteri(), glTranslatef(), glVertex2i(), glViewport(), ASVisual::glx_scratch_gc_direct, ASVisual::glx_scratch_gc_indirect, ASVisual::glx_support, glXCreateGLXPixmap(), glXDestroyGLXPixmap(), glXMakeCurrent(), i, int, IS_POWER_OF2, k, l, None, NULL, safemalloc, SCL_DO_ALL, SCL_DO_COLOR, show_warning, start_image_decoding(), stop_image_decoding(), True, and ASVisual::visual_info.

Pixmap asimage2mask ( ASVisual asv,
Window  root,
ASImage im,
GC  gc,
Bool  use_cached 
)

Definition at line 789 of file ximage.c.

References asimage2alpha(), and True.

Referenced by file2pixmap().

XImage* asimage2mask_ximage ( ASVisual asv,
ASImage im 
)

Definition at line 404 of file ximage.c.

References asimage2alpha_ximage(), and True.

Pixmap asimage2pixmap ( ASVisual asv,
Window  root,
ASImage im,
GC  gc,
Bool  use_cached 
)

Definition at line 731 of file ximage.c.

References asimage2drawable(), create_visual_pixmap(), ASVisual::dpy, ASImage::height, None, p, and ASImage::width.

Referenced by file2pixmap(), TASImage::GetPixmap(), scale_pixmap(), and show_asimage().

XImage* asimage2ximage ( ASVisual asv,
ASImage im 
)

Definition at line 356 of file ximage.c.

References asimage2ximage_ext(), and False.

static XImage* asimage2ximage_ext ( ASVisual asv,
ASImage im,
Bool  scratch 
) [static]

Definition at line 285 of file ximage.c.

References ASScanline::alpha, ASImage::alt, ARGB32_ALPHA8, ARGB32_BLUE8, ARGB32_GREEN8, ARGB32_RED8, ASA_ScratchXImage, ASA_XImage, ASIM_XIMAGE_NOT_USEFUL, asimage_decode_line(), ASIMAGE_QUALITY_DEFAULT, ASVisual::BGR_mode, ASScanline::blue, ASImageDecoder::buffer, clear_flags, ASImageDecoder::decode_image_scanline, ASScanline::flags, ASImage::flags, free_scanline(), ASScanline::green, ASImage::height, i, IC_ALPHA, IC_BLUE, IC_GREEN, IC_RED, int, LOCAL_DEBUG_OUT, NULL, ASImageOutput::output_image_scanline, prepare_scanline(), ASScanline::red, SCL_DO_ALL, SCL_DO_COLOR, set_flags, start_image_decoding(), start_image_output(), stop_image_decoding(), stop_image_output(), True, ASScanline::width, ASImage::width, xim_set_component(), and ASImage::ASImageAlternative::ximage.

Referenced by asimage2drawable(), and asimage2ximage().

ASImage* picture2asimage ( ASVisual asv,
Pixmap  rgb,
Pixmap  a,
int  x,
int  y,
unsigned int  width,
unsigned int  height,
unsigned long  plane_mask,
Bool  keep_cache,
unsigned int  compression 
)

Definition at line 429 of file ximage.c.

References ASImage::alt, ASGetXImage(), ASIM_XIMAGE_8BIT_MASK, ASImage::flags, ASImage::ASImageAlternative::mask_ximage, None, NULL, picture_ximage2asimage(), set_flags, and ASImage::ASImageAlternative::ximage.

Referenced by pixmap2asimage(), and TASImage::SetImage().

ASImage* picture_ximage2asimage ( ASVisual asv,
XImage *  xim,
XImage *  alpha_xim,
unsigned int  compression 
)

Definition at line 68 of file ximage.c.

References ASScanline::alpha, asimage_add_line(), asimage_add_line_bgra(), asimage_compare_line(), ASVisual::BGR_mode, ASScanline::blue, create_asimage(), for(), GET_SCANLINE, gettimeofday(), ASScanline::green, height, i, IC_ALPHA, IC_BLUE, IC_GREEN, IC_RED, ASVisual::msb_first, NULL, prepare_scanline(), PRINT_BACKGROUND_OP_TIME, ASScanline::red, safemalloc, True, ASVisual::true_depth, width, and x.

Referenced by picture2asimage(), and ximage2asimage().

ASImage* pixmap2asimage ( ASVisual asv,
Pixmap  p,
int  x,
int  y,
unsigned int  width,
unsigned int  height,
unsigned long  plane_mask,
Bool  keep_cache,
unsigned int  compression 
)

Definition at line 462 of file ximage.c.

References None, and picture2asimage().

Referenced by TASImage::FromPad(), TASImage::FromWindow(), and handle_asxml_tag_img().

ASImage* pixmap2ximage ( ASVisual asv,
Pixmap  p,
int  x,
int  y,
unsigned int  width,
unsigned int  height,
unsigned long  plane_mask,
unsigned int  compression 
)

Definition at line 410 of file ximage.c.

References ASImage::alt, ASGetXImage(), ASIM_DATA_NOT_USEFUL, create_asimage(), ASImage::flags, NULL, and ASImage::ASImageAlternative::ximage.

Referenced by copyshade_drawable_area(), cut_pixmap(), fill_with_darkened_background(), fill_with_pixmapped_background(), and scale_pixmap().

Bool put_ximage ( ASVisual asv,
XImage *  xim,
Drawable  d,
GC  gc,
int  src_x,
int  src_y,
int  dest_x,
int  dest_y,
unsigned int  width,
unsigned int  height 
)

Definition at line 468 of file ximage.c.

References ASPutXImage(), ASVisual::dpy, False, NULL, and True.

Referenced by asimage2alpha_drawable(), and asimage2drawable().

Bool subimage2ximage ( ASVisual asv,
ASImage im,
int  x,
int  y,
XImage *  xim 
)

Definition at line 215 of file ximage.c.

References ASScanline::alpha, ASImage::alt, ARGB32_ALPHA8, ARGB32_BLUE8, ARGB32_GREEN8, ARGB32_RED8, ASA_ScratchXImage, asimage_decode_line(), ASIMAGE_QUALITY_DEFAULT, ASVisual::BGR_mode, ASScanline::blue, create_asimage(), destroy_asimage(), False, ASScanline::flags, free_scanline(), ASScanline::green, ASImage::height, i, IC_ALPHA, IC_BLUE, IC_GREEN, IC_RED, int, LOCAL_DEBUG_OUT, NULL, ASImageOutput::output_image_scanline, prepare_scanline(), ASScanline::red, SCL_DO_ALL, set_flags, start_image_output(), stop_image_output(), True, ASScanline::width, ASImage::width, width, xim_set_component(), and ASImage::ASImageAlternative::ximage.

static int xim_set_component ( register CARD32 *  src,
register CARD32  value,
int  offset,
int  len 
) [inline, static]

Definition at line 206 of file ximage.c.

References i.

Referenced by asimage2alpha_ximage(), asimage2ximage_ext(), and subimage2ximage().

ASImage* ximage2asimage ( ASVisual asv,
XImage *  xim,
unsigned int  compression 
)

Definition at line 200 of file ximage.c.

References NULL, and picture_ximage2asimage().


Generated on Tue Jul 5 15:58:18 2011 for ROOT_528-00b_version by  doxygen 1.5.1