#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)
{
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);
}
}
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);
}
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;
}
}
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 )
(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;
}
(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;
}