lock xft, plugin index builder lock, clear clip thumbnails, clear vwin clock, setpoin...
[goodguy/history.git] / cinelerra-5.1 / guicast / bcwindowdraw.C
index 6a8412dedc0c06c6a5afcdbdfc19b1fc02ae8ced..5f0bb48cb1a5e2b45ff1da0a40712dd861a05551 100644 (file)
@@ -35,6 +35,7 @@
 #include <string.h>
 #include <wchar.h>
 #include <ft2build.h>
+#include "workarounds.h"
 
 void BC_WindowBase::copy_area(int x1, int y1, int x2, int y2, int w, int h, BC_Pixmap *pixmap)
 {
@@ -259,25 +260,25 @@ void BC_WindowBase::xft_draw_string(XftColor *xft_color, XftFont *xft_font,
        if( values.function != GXcopy ) {
                XSetFunction(top_level->display, top_level->gc, GXcopy);
                XGlyphInfo info;
-               XftTextExtents32(top_level->display, xft_font, fc, len, &info);
+               xftTextExtents32(top_level->display, xft_font, fc, len, &info);
                src_w = info.width;  src_h = info.height;
                draw_pixmap = XCreatePixmap(top_level->display, top_level->win,
                         src_w, src_h, top_level->default_depth);
                int color = get_color(); set_color(0);
                XFillRectangle(top_level->display, draw_pixmap, top_level->gc, 0, 0, src_w, src_h);
                set_color(color);
-               xft_draw = XftDrawCreate(top_level->display, draw_pixmap,
+               xft_draw = xftDrawCreate(top_level->display, draw_pixmap,
                            top_level->vis, top_level->cmap);
                src_x = info.x;  src_y = info.y;
        }
-       XftDrawString32(xft_draw, xft_color, xft_font, src_x, src_y, fc, len);
+       xftDrawString32(xft_draw, xft_color, xft_font, src_x, src_y, fc, len);
        if( values.function != GXcopy ) {
                XSetFunction(top_level->display, top_level->gc, values.function);
                Pixmap xpixmap = pixmap ? pixmap->opaque_pixmap : this->pixmap->opaque_pixmap;
                XCopyArea(top_level->display, draw_pixmap, xpixmap,
                         top_level->gc, 0, 0, src_w, src_h, x, y);
                XFreePixmap(top_level->display, draw_pixmap);
-               XftDrawDestroy(xft_draw);
+               xftDrawDestroy(xft_draw);
        }
 }
 
@@ -320,7 +321,7 @@ int BC_WindowBase::draw_single_text(int draw, int font,
                color.blue |= color.blue << 8;
                color.alpha = 0xffff;
 
-               XftColorAllocValue(top_level->display, top_level->vis, top_level->cmap,
+               xftColorAllocValue(top_level->display, top_level->vis, top_level->cmap,
                        &color, &xft_color);
        }
 
@@ -331,13 +332,13 @@ int BC_WindowBase::draw_single_text(int draw, int font,
 
        while( up < uep ) {
                XftFont *xft_font = 0;
-               if( XftCharExists(top_level->display, basefont, *up) )
+               if( xftCharExists(top_level->display, basefont, *up) )
                        xft_font = basefont;
                else if( altfont ) {
-                       if( XftCharExists(top_level->display, altfont, *up))
+                       if( xftCharExists(top_level->display, altfont, *up))
                                xft_font = altfont;
                        else {
-                               XftFontClose(top_level->display, altfont);
+                               xftFontClose(top_level->display, altfont);
                                altfont = 0;
                        }
                }
@@ -345,10 +346,10 @@ int BC_WindowBase::draw_single_text(int draw, int font,
                        FcPattern *pattern = BC_Resources::find_similar_font(*up, basefont->pattern);
                        if( pattern != 0 ) {
                                double psize = 0;
-                               FcPatternGetDouble(basefont->pattern, FC_PIXEL_SIZE, 0, &psize);
-                               FcPatternAddDouble(pattern, FC_PIXEL_SIZE, psize);
-                               FcPatternDel(pattern, FC_SCALABLE);
-                               xft_font = altfont = XftFontOpenPattern(top_level->display, pattern);
+                               fcPatternGetDouble(basefont->pattern, FC_PIXEL_SIZE, 0, &psize);
+                               fcPatternAddDouble(pattern, FC_PIXEL_SIZE, psize);
+                               fcPatternDel(pattern, FC_SCALABLE);
+                               xft_font = altfont = xftFontOpenPattern(top_level->display, pattern);
                        }
                }
                if( !xft_font )
@@ -360,7 +361,7 @@ int BC_WindowBase::draw_single_text(int draw, int font,
                                                (const FcChar32*)ubp, up-ubp, pixmap);
                                }
                                XGlyphInfo extents;
-                               XftTextExtents32(top_level->display, curfont,
+                               xftTextExtents32(top_level->display, curfont,
                                        (const FcChar32*)ubp, up-ubp, &extents);
                                x += extents.xOff;
                        }
@@ -375,15 +376,15 @@ int BC_WindowBase::draw_single_text(int draw, int font,
                                (const FcChar32*)ubp, up-ubp, pixmap);
                }
                XGlyphInfo extents;
-               XftTextExtents32(top_level->display, curfont,
+               xftTextExtents32(top_level->display, curfont,
                        (const FcChar32*)ubp, up-ubp, &extents);
                x += extents.xOff;
        }
 
        if( altfont )
-               XftFontClose(top_level->display, altfont);
+               xftFontClose(top_level->display, altfont);
 
-       XftColorFree(top_level->display, top_level->vis, top_level->cmap, &xft_color);
+       xftColorFree(top_level->display, top_level->vis, top_level->cmap, &xft_color);
 #endif
        return x - x0;
 }