1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86
|
#ifndef FVWMLIB_GRAPHICS_H
#define FVWMLIB_GRAPHICS_H
#include "fvwm_x11.h"
void do_relieve_rectangle(
Display *dpy, Drawable d, int x, int y, int w, int h,
GC ReliefGC, GC ShadowGC, int line_width, Bool use_alternate_shading);
void do_relieve_rectangle_with_rotation(
Display *dpy, Drawable d, int x, int y, int w, int h,
GC ReliefGC, GC ShadowGC, int line_width, Bool use_alternate_shading,
int rotation);
#define RelieveRectangle(dpy, d, x, y, w, h, ReliefGC, ShadowGC, line_width) \
do_relieve_rectangle( \
dpy, d, x, y, w, h, ReliefGC, ShadowGC, line_width, False)
#define RelieveRectangle2(dpy, d, x, y, w, h, ReliefGC, ShadowGC, line_width) \
do_relieve_rectangle( \
dpy, d, x, y, w, h, ReliefGC, ShadowGC, line_width, True)
Pixmap CreateStretchXPixmap(
Display *dpy, Pixmap src, int src_width, int src_height, int src_depth,
int dest_width, GC gc);
Pixmap CreateStretchYPixmap(
Display *dpy, Pixmap src, int src_width, int src_height, int src_depth,
int dest_height, GC gc);
Pixmap CreateStretchPixmap(
Display *dpy, Pixmap src, int src_width, int src_height, int src_depth,
int dest_width, int dest_height, GC gc);
Pixmap CreateTiledPixmap(
Display *dpy, Pixmap src, int src_width, int src_height,
int dest_width, int dest_height, int depth, GC gc);
Pixmap CreateRotatedPixmap(
Display *dpy, Pixmap src, int src_width, int src_height, int depth,
GC gc, int rotation);
GC fvwmlib_XCreateGC(
Display *display, Drawable drawable, unsigned long valuemask,
XGCValues *values);
/**** gradient stuff ****/
/* gradient types */
#define H_GRADIENT 'H'
#define V_GRADIENT 'V'
#define D_GRADIENT 'D'
#define B_GRADIENT 'B'
#define S_GRADIENT 'S'
#define C_GRADIENT 'C'
#define R_GRADIENT 'R'
#define Y_GRADIENT 'Y'
Bool IsGradientTypeSupported(char type);
/* Convenience function. Calls AllocNonLinearGradient to fetch all colors and
* then frees the color names and the perc and color_name arrays. */
XColor *AllocAllGradientColors(
char *color_names[], int perc[], int nsegs, int ncolors, int dither);
int ParseGradient(char *gradient, char **rest, char ***colors_return,
int **perc_return, int *nsegs_return);
Bool CalculateGradientDimensions(Display *dpy, Drawable d, int ncolors,
char type, int dither, int *width_ret,
int *height_ret);
Drawable CreateGradientPixmap(
Display *dpy, Drawable d, GC gc, int type, int g_width,
int g_height, int ncolors, XColor *xcs, int dither, Pixel **d_pixels,
int *d_npixels, Drawable in_drawable, int d_x, int d_y,
int d_width, int d_height, XRectangle *rclip);
Pixmap CreateGradientPixmapFromString(
Display *dpy, Drawable d, GC gc, int type, char *action,
int *width_return, int *height_return,
Pixel **alloc_pixels, int *nalloc_pixels, int dither);
void DrawTrianglePattern(
Display *dpy, Drawable d, GC ReliefGC, GC ShadowGC, GC FillGC,
int x, int y, int width, int height, int bw, char orientation,
Bool draw_relief, Bool do_fill, Bool is_pressed);
#endif /* FVWMLIB_GRAPHICS_H */
|