/* -*-c-*- */ /* Copyright (C) 2002 Olivier Chapuis */ #ifndef F_PICTURE_GRAPHICS_H #define F_PICTURE_GRAPHICS_H /* * * dpy: Specifies the connection to the X server. * pixmap: Source pixmap. * mask: Source mask (can be None). * alpha: Source alpha chanel (can be None). * depth: depth of the pixmap (1 or Pdepth). * d: Destination drawable which should be of depth Pdepth. * GC gc: Specifies the a visual GC. * src_x,src_y: Specify the x and y coordinates, which are relative to the * origin of the source pixmap, mask and alpha of the rectangle * which is copied. * src_w,src_h: Width and height of the source rectangle relatively to the * src_x and src_y. * dest_x,dest_y: Specify the x and y coordinates of the destination rectangle, * which are relative to the origin of the drawable d. * */ /* return a pixmap of depth depth which is the copy of the src pixmap of depth * 1 using the gc for the bg and fg colors */ Pixmap PictureBitmapToPixmap( Display *dpy, Window win, Pixmap src, int depth, GC gc, int src_x, int src_y, int src_w, int src_h); /* * PGraphicsRenderPixmaps * * PGraphicsRenderPixmaps copies a rectangle, the src, constituted by a pixmap * with its mask, alpha channel, and rendering attributes to a drawable at a * given position. * */ void PGraphicsRenderPixmaps( Display *dpy, Window win, Pixmap pixmap, Pixmap mask, Pixmap alpha, int depth, FvwmRenderAttributes *fra, Drawable d, GC gc, GC mono_gc, GC alpha_gc, int src_x, int src_y, int src_w, int src_h, int dest_x, int dest_y, int dest_w, int dest_h, int do_repeat); /* * PGraphicsRenderPicture * * PGraphicsRenderPicture copies a rectangle, the src, constituted by a picture * and its rendering attributes to a drawable at a given position. * * */ void PGraphicsRenderPicture( Display *dpy, Window win, FvwmPicture *p, FvwmRenderAttributes *fra, Drawable d, GC gc, GC mono_gc, GC alpha_gc, int src_x, int src_y, int src_w, int src_h, int dest_x, int dest_y, int dest_w, int dest_h, int do_repeat); /* * PGraphicsCopyPixmaps * * PGraphicsCopyPixmaps copies a rectangle constituted by a pixmap with its * mask and alpha channel to a drawable at a given position. * * * The clip_mask, clip_x_origin and clip_y_origin value of the gc are * modified in this function: the clip_mask is set to mask and reseted to None, * clip_x_origin and clip_y_origin are set to src_x and src_y. * The background and foreground value of the gc is important when you render * a bitmap. If the gc is set to None the function create and destroy a gc for * its use. * */ void PGraphicsCopyPixmaps( Display *dpy, Pixmap pixmap, Pixmap mask, Pixmap alpha, int depth, Drawable d, GC gc, int src_x, int src_y, int src_w, int src_h, int dest_x, int dest_y); /* * PGraphicsCopyFvwmPicture * * PGraphicsCopyFvwmPicture copies a rectangle constituted by an FvwmPicture * to a drawable at a given position. It is similar to PGraphicsCopyPixmaps * and the same remarks are valids. The only difference is that the source * rectangle is given by the FvwmPicture p (which contains the pixmap, the * mask, the alpha and the depth). * */ void PGraphicsCopyFvwmPicture( Display *dpy, FvwmPicture *p, Drawable d, GC gc, int src_x, int src_y, int src_w, int src_h, int dest_x, int dest_y); /* * PGraphicsTileRectangle * * This function is similar to PGraphicsCopyPixmaps. It tiles the rectangle of * the drawable d defined with coordinates dest_x, dest_y, dest_w, dest_h with * the rectangle composed by the pixmap, its mask and its alpha channel. * */ void PGraphicsTileRectangle( Display *dpy, Window win, Pixmap pixmap, Pixmap shape, Pixmap alpha, int depth, Drawable d, GC gc, GC mono_gc, int src_x, int src_y, int src_w, int src_h, int dest_x, int dest_y, int dest_w, int dest_h); FvwmPicture *PGraphicsCreateStretchPicture( Display *dpy, Window win, FvwmPicture *src, int dest_width, int dest_height, GC gc, GC mono_gc, GC alpha_gc); FvwmPicture *PGraphicsCreateTiledPicture( Display *dpy, Window win, FvwmPicture *src, int dest_width, int dest_height, GC gc, GC mono_gc, GC alpha_gc); Pixmap PGraphicsCreateTransparency( Display *dpy, Window win, FvwmRenderAttributes *fra, GC gc, int x, int y, int width, int height, Bool parent_relative); void PGraphicsTintRectangle( Display *dpy, Window win, Pixel tint, int tint_percent, Drawable dest, Bool dest_is_a_window, GC gc, GC mono_gc, GC alpha_gc, int dest_x, int dest_y, int dest_w, int dest_h); /* never used ! */ Pixmap PGraphicsCreateDitherPixmap( Display *dpy, Window win, Drawable src, Pixmap mask, int depth, GC gc, int in_width, int in_height, int out_width, int out_height); #endif