Lines 85-91
struct tagXRENDERINFO
Link Here
|
85 |
int cache_index; |
85 |
int cache_index; |
86 |
Picture pict; |
86 |
Picture pict; |
87 |
Picture tile_pict; |
87 |
Picture tile_pict; |
88 |
Pixmap tile_xpm; |
|
|
89 |
COLORREF lastTextColor; |
88 |
COLORREF lastTextColor; |
90 |
}; |
89 |
}; |
Lines 596-602
void X11DRV_XRender_UpdateDrawable(X11DRV_PDEVICE *physDev)
Link Here
|
596 |
if(physDev->xrender->pict) |
595 |
if(physDev->xrender->pict) |
597 |
{ |
596 |
{ |
598 |
TRACE("freeing pict = %lx dc = %p\n", physDev->xrender->pict, physDev->hdc); |
597 |
TRACE("freeing pict = %lx dc = %p\n", physDev->xrender->pict, physDev->hdc); |
599 |
XFlush(gdi_display); |
|
|
600 |
pXRenderFreePicture(gdi_display, physDev->xrender->pict); |
598 |
pXRenderFreePicture(gdi_display, physDev->xrender->pict); |
601 |
physDev->xrender->pict = 0; |
599 |
physDev->xrender->pict = 0; |
602 |
} |
600 |
} |
Lines 605-615
void X11DRV_XRender_UpdateDrawable(X11DRV_PDEVICE *physDev)
Link Here
|
605 |
pXRenderFreePicture(gdi_display, physDev->xrender->tile_pict); |
603 |
pXRenderFreePicture(gdi_display, physDev->xrender->tile_pict); |
606 |
physDev->xrender->tile_pict = 0; |
604 |
physDev->xrender->tile_pict = 0; |
607 |
} |
605 |
} |
608 |
if(physDev->xrender->tile_xpm) |
|
|
609 |
{ |
610 |
XFreePixmap(gdi_display, physDev->xrender->tile_xpm); |
611 |
physDev->xrender->tile_xpm = 0; |
612 |
} |
613 |
wine_tsx11_unlock(); |
606 |
wine_tsx11_unlock(); |
Lines 1186-1203
BOOL X11DRV_XRender_ExtTextOut( X11DRV_PDEVICE *physDev, INT x, INT y, UINT flag
Link Here
|
1186 |
if(X11DRV_XRender_Installed) { |
1179 |
if(X11DRV_XRender_Installed) { |
1187 |
/* Create a 1x1 pixmap to tile over the font mask */ |
1180 |
/* Create a 1x1 pixmap to tile over the font mask */ |
1188 |
if(!physDev->xrender->tile_xpm) { |
1181 |
if(!physDev->xrender->tile_pict) { |
1189 |
XRenderPictureAttributes pa; |
1182 |
XRenderPictureAttributes pa; |
|
|
1183 |
Pixmap xpm; |
1190 |
XRenderPictFormat *format = (physDev->depth == 1) ? mono_format : screen_format; |
1184 |
XRenderPictFormat *format = (physDev->depth == 1) ? mono_format : screen_format; |
1191 |
wine_tsx11_lock(); |
1185 |
wine_tsx11_lock(); |
1192 |
physDev->xrender->tile_xpm = XCreatePixmap(gdi_display, |
1186 |
|
1193 |
physDev->drawable, |
1187 |
/* The pixmap will be freed with XRenderFreePicture */ |
1194 |
1, 1, |
1188 |
xpm = XCreatePixmap(gdi_display, |
1195 |
format->depth); |
1189 |
physDev->drawable, |
|
|
1190 |
1, 1, |
1191 |
format->depth); |
1196 |
pa.repeat = True; |
1192 |
pa.repeat = True; |
1197 |
physDev->xrender->tile_pict = pXRenderCreatePicture(gdi_display, |
1193 |
physDev->xrender->tile_pict = pXRenderCreatePicture(gdi_display, |
1198 |
physDev->xrender->tile_xpm, |
1194 |
xpm, |
1199 |
format, |
1195 |
format, |
1200 |
CPRepeat, &pa); |
1196 |
CPRepeat, &pa); |
1201 |
wine_tsx11_unlock(); |
1197 |
wine_tsx11_unlock(); |
1202 |
- |
|
|