diff options
Diffstat (limited to 'src/kernel/qtaddons_x11.cpp')
-rw-r--r-- | src/kernel/qtaddons_x11.cpp | 144 |
1 files changed, 0 insertions, 144 deletions
diff --git a/src/kernel/qtaddons_x11.cpp b/src/kernel/qtaddons_x11.cpp deleted file mode 100644 index c1d83e805..000000000 --- a/src/kernel/qtaddons_x11.cpp +++ /dev/null @@ -1,144 +0,0 @@ -/* - * $XFree86: xc/lib/Xft/xftname.c,v 1.10 2001/03/30 18:50:18 keithp Exp $ - * - * Copyright � 2000 Keith Packard, member of The XFree86 Project, Inc. - * - * Permission to use, copy, modify, distribute, and sell this software and its - * documentation for any purpose is hereby granted without fee, provided that - * the above copyright notice appear in all copies and that both that - * copyright notice and this permission notice appear in supporting - * documentation, and that the name of Keith Packard not be used in - * advertising or publicity pertaining to distribution of the software without - * specific, written prior permission. Keith Packard makes no - * representations about the suitability of this software for any purpose. It - * is provided "as is" without express or implied warranty. - * - * KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, - * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO - * EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR - * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, - * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER - * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR - * PERFORMANCE OF THIS SOFTWARE. - */ - -#include "tqt_x11_p.h" - -#if !defined(TQT_NO_XFTFREETYPE) && !defined(QT_XFT2) - -#include <X11/Xft/Xft.h> - -#include <stdio.h> -#include <string.h> -#include <stdlib.h> - -extern bool tqt_use_xrender; // defined in tqapplication_x11.cpp - -extern "C" { - -#define XFT_DRAW_N_SRC 2 - -struct _XftDraw { - Display *dpy; - Drawable drawable; - Visual *visual; - Colormap colormap; - Region clip; - Bool core_set; - Bool render_set; - Bool render_able; - struct { - Picture pict; - struct { - Picture pict; - XRenderColor color; - } src[XFT_DRAW_N_SRC]; - } render; - struct { - GC draw_gc; - unsigned long fg; - Font font; - } core; -}; - -Picture XftDrawPicture( XftDraw *draw ) -{ - if ( ! draw ) return 0; - if ( ! draw->render_set ) { - // force the RENDER Picture to be created... - XftColor color; - color.color.red = color.color.green = color.color.blue = color.color.alpha = - color.pixel = 0; - XftDrawRect( draw, &color, -100, -100, 1, 1 ); - } - return draw->render.pict; -} - -XftDraw *XftDrawCreateAlpha( Display *display, - Pixmap pixmap, - int depth ) -{ - // taken from Xft 1 sources, see copyright above - XftDraw *draw; - - draw = (XftDraw *) malloc (sizeof (XftDraw)); - if (!draw) - return 0; - draw->dpy = display; - draw->drawable = pixmap; - draw->visual = 0; - draw->colormap = 0; - draw->core_set = False; - draw->clip = 0; - - // TQt addition - go ahead and create the render picture now - draw->render_set = True; - draw->render_able = False; - - if ( tqt_use_xrender ) { - draw->render_able = True; - - XRenderPictFormat *format = 0; - XRenderPictFormat req; - unsigned long mask = PictFormatType | PictFormatDepth | PictFormatAlphaMask; - req.type = PictTypeDirect; - req.depth = depth; - req.direct.alphaMask = 0xff; - format = XRenderFindFormat(draw->dpy, mask, &req, 0); - if (format) { - draw->render.pict = - XRenderCreatePicture(draw->dpy, draw->drawable, format, 0, 0); - } - - // to keep Xft from trying to free zero pixmaps/pictures, we need to create - // 2 more pictures (that are identical to draw->render.pict) :/ - draw->render.src[0].pict = - XRenderCreatePicture( draw->dpy, draw->drawable, format, 0, 0 ); - draw->render.src[1].pict = - XRenderCreatePicture( draw->dpy, draw->drawable, format, 0, 0 ); - } - - return draw; -} - -void XftDrawSetClipRectangles(XftDraw *draw, int xoff, int yoff, XRectangle *rects, int count) -{ - if (!draw) return; - - Picture pict = XftDrawPicture(draw); - XRenderSetPictureClipRectangles(draw->dpy, pict, xoff, yoff, rects, count); -} - -void XftDrawSetSubwindowMode(XftDraw *draw, int mode) -{ - if (!draw) return; - - Picture pict = XftDrawPicture(draw); - XRenderPictureAttributes pattr; - pattr.subwindow_mode = mode; - XRenderChangePicture(draw->dpy, pict, CPSubwindowMode, &pattr); -} - -} // extern "C" - -#endif // !TQT_NO_XFTFREETYPE && !QT_XFT2 |