1 /********************************************************************/ 2 /* */ 3 /* x11_rend.h X11 xRender extension interfaces used by Seed7. */ 4 /* Copyright (C) 1989 - 2021 Thomas Mertes */ 5 /* */ 6 /* This file is part of the Seed7 Runtime Library. */ 7 /* */ 8 /* The Seed7 Runtime Library is free software; you can */ 9 /* redistribute it and/or modify it under the terms of the GNU */ 10 /* Lesser General Public License as published by the Free Software */ 11 /* Foundation; either version 2.1 of the License, or (at your */ 12 /* option) any later version. */ 13 /* */ 14 /* The Seed7 Runtime Library is distributed in the hope that it */ 15 /* will be useful, but WITHOUT ANY WARRANTY; without even the */ 16 /* implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR */ 17 /* PURPOSE. See the GNU Lesser General Public License for more */ 18 /* details. */ 19 /* */ 20 /* You should have received a copy of the GNU Lesser General */ 21 /* Public License along with this program; if not, write to the */ 22 /* Free Software Foundation, Inc., 51 Franklin Street, */ 23 /* Fifth Floor, Boston, MA 02110-1301, USA. */ 24 /* */ 25 /* Module: Seed7 Runtime Library */ 26 /* File: seed7/src/x11_x.h */ 27 /* Changes: 2019 Thomas Mertes */ 28 /* Content: X11 interfaces used by Seed7. */ 29 /* */ 30 /********************************************************************/ 31 32 #define PictOpOver 3 33 34 #define CPSubwindowMode (1 << 8) 35 36 #define XDoubleToFixed(f) ((XFixed) ((f) * 65536)) 37 38 typedef struct { int dumme; } XRenderPictFormat; 39 40 typedef XID Picture; 41 42 typedef int XFixed; 43 44 typedef struct { 45 XFixed matrix[3][3]; 46 } XTransform; 47 48 typedef struct { 49 int repeat; 50 Picture alpha_map; 51 int alpha_x_origin; 52 int alpha_y_origin; 53 int clip_x_origin; 54 int clip_y_origin; 55 Pixmap clip_mask; 56 Bool graphics_exposures; 57 int subwindow_mode; 58 int poly_edge; 59 int poly_mode; 60 Atom dither; 61 Bool component_alpha; 62 } XRenderPictureAttributes; 63 64 65 extern void XRenderComposite (Display *display, int op, Picture src, 66 Picture mask, Picture dst, int src_x, int src_y, 67 int mask_x, int mask_y, int dst_x, int dst_y, 68 unsigned int width, unsigned int height); 69 extern Picture XRenderCreatePicture (Display *display, 70 Drawable drawable, 71 const XRenderPictFormat *format, 72 unsigned long valuemask, 73 const XRenderPictureAttributes *attributes); 74 extern XRenderPictFormat *XRenderFindVisualFormat (Display *display, 75 const Visual *visual); 76 extern void XRenderFreePicture (Display *display, Picture picture); 77 extern void XRenderSetPictureTransform (Display *display, 78 Picture picture, 79 XTransform *transform); 80