Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-cw
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-cw
Commits
225d8abe
Commit
225d8abe
authored
Sep 12, 2011
by
Alexandre Julliard
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
winex11: Add bitmap entry points to the XRender driver.
parent
89d8d1d4
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
59 additions
and
46 deletions
+59
-46
bitmap.c
dlls/winex11.drv/bitmap.c
+0
-3
x11drv.h
dlls/winex11.drv/x11drv.h
+0
-1
xrender.c
dlls/winex11.drv/xrender.c
+59
-42
No files found.
dlls/winex11.drv/bitmap.c
View file @
225d8abe
...
...
@@ -95,9 +95,6 @@ HBITMAP X11DRV_SelectBitmap( PHYSDEV dev, HBITMAP hbitmap )
if
(
!
GetObjectW
(
hbitmap
,
sizeof
(
bitmap
),
&
bitmap
))
return
0
;
if
(
physDev
->
xrender
)
X11DRV_XRender_UpdateDrawable
(
physDev
);
if
(
hbitmap
==
BITMAP_stock_phys_bitmap
.
hbitmap
)
physBitmap
=
&
BITMAP_stock_phys_bitmap
;
else
if
(
!
(
physBitmap
=
X11DRV_get_phys_bitmap
(
hbitmap
)))
return
0
;
...
...
dlls/winex11.drv/x11drv.h
View file @
225d8abe
...
...
@@ -313,7 +313,6 @@ extern BOOL X11DRV_XRender_SetPhysBitmapDepth(X_PHYSBITMAP *physBitmap, int bits
BOOL
X11DRV_XRender_GetSrcAreaStretch
(
X11DRV_PDEVICE
*
physDevSrc
,
X11DRV_PDEVICE
*
physDevDst
,
Pixmap
pixmap
,
GC
gc
,
const
struct
bitblt_coords
*
src
,
const
struct
bitblt_coords
*
dst
)
DECLSPEC_HIDDEN
;
extern
void
X11DRV_XRender_UpdateDrawable
(
X11DRV_PDEVICE
*
physDev
)
DECLSPEC_HIDDEN
;
extern
BOOL
XRender_AlphaBlend
(
X11DRV_PDEVICE
*
devDst
,
struct
bitblt_coords
*
dst
,
X11DRV_PDEVICE
*
devSrc
,
struct
bitblt_coords
*
src
,
BLENDFUNCTION
blendfn
)
DECLSPEC_HIDDEN
;
...
...
dlls/winex11.drv/xrender.c
View file @
225d8abe
...
...
@@ -1222,6 +1222,60 @@ static INT xrenderdrv_ExtEscape( PHYSDEV dev, INT escape, INT in_count, LPCVOID
return
dev
->
funcs
->
pExtEscape
(
dev
,
escape
,
in_count
,
in_data
,
out_count
,
out_data
);
}
/****************************************************************************
* xrenderdrv_CreateBitmap
*/
static
BOOL
xrenderdrv_CreateBitmap
(
PHYSDEV
dev
,
HBITMAP
hbitmap
)
{
dev
=
GET_NEXT_PHYSDEV
(
dev
,
pCreateBitmap
);
return
dev
->
funcs
->
pCreateBitmap
(
dev
,
hbitmap
);
}
/****************************************************************************
* xrenderdrv_DeleteBitmap
*/
static
BOOL
xrenderdrv_DeleteBitmap
(
HBITMAP
hbitmap
)
{
return
X11DRV_DeleteBitmap
(
hbitmap
);
}
/***********************************************************************
* xrenderdrv_SelectBitmap
*/
static
HBITMAP
xrenderdrv_SelectBitmap
(
PHYSDEV
dev
,
HBITMAP
hbitmap
)
{
HBITMAP
ret
;
struct
xrender_physdev
*
physdev
=
get_xrender_dev
(
dev
);
dev
=
GET_NEXT_PHYSDEV
(
dev
,
pSelectBitmap
);
ret
=
dev
->
funcs
->
pSelectBitmap
(
dev
,
hbitmap
);
if
(
ret
)
update_xrender_drawable
(
physdev
);
return
ret
;
}
/***********************************************************************
* xrenderdrv_GetImage
*/
static
DWORD
xrenderdrv_GetImage
(
PHYSDEV
dev
,
HBITMAP
hbitmap
,
BITMAPINFO
*
info
,
struct
gdi_image_bits
*
bits
,
struct
bitblt_coords
*
src
)
{
if
(
hbitmap
)
return
X11DRV_GetImage
(
dev
,
hbitmap
,
info
,
bits
,
src
);
dev
=
GET_NEXT_PHYSDEV
(
dev
,
pGetImage
);
return
dev
->
funcs
->
pGetImage
(
dev
,
hbitmap
,
info
,
bits
,
src
);
}
/***********************************************************************
* xrenderdrv_PutImage
*/
static
DWORD
xrenderdrv_PutImage
(
PHYSDEV
dev
,
HBITMAP
hbitmap
,
HRGN
clip
,
BITMAPINFO
*
info
,
const
struct
gdi_image_bits
*
bits
,
struct
bitblt_coords
*
src
,
struct
bitblt_coords
*
dst
,
DWORD
rop
)
{
if
(
hbitmap
)
return
X11DRV_PutImage
(
dev
,
hbitmap
,
clip
,
info
,
bits
,
src
,
dst
,
rop
);
dev
=
GET_NEXT_PHYSDEV
(
dev
,
pPutImage
);
return
dev
->
funcs
->
pPutImage
(
dev
,
hbitmap
,
clip
,
info
,
bits
,
src
,
dst
,
rop
);
}
BOOL
X11DRV_XRender_SetPhysBitmapDepth
(
X_PHYSBITMAP
*
physBitmap
,
int
bits_pixel
,
const
DIBSECTION
*
dib
)
{
const
WineXRenderFormat
*
fmt
;
...
...
@@ -1295,37 +1349,6 @@ BOOL X11DRV_XRender_SetPhysBitmapDepth(X_PHYSBITMAP *physBitmap, int bits_pixel,
return
TRUE
;
}
/***********************************************************************
* X11DRV_XRender_UpdateDrawable
*
* Deletes the pict and tile when the drawable changes.
*/
void
X11DRV_XRender_UpdateDrawable
(
X11DRV_PDEVICE
*
physDev
)
{
struct
xrender_info
*
info
=
physDev
->
xrender
;
if
(
info
->
pict
||
info
->
pict_src
)
{
wine_tsx11_lock
();
XFlush
(
gdi_display
);
if
(
info
->
pict
)
{
TRACE
(
"freeing pict = %lx dc = %p
\n
"
,
info
->
pict
,
physDev
->
dev
.
hdc
);
pXRenderFreePicture
(
gdi_display
,
info
->
pict
);
info
->
pict
=
0
;
}
if
(
info
->
pict_src
)
{
TRACE
(
"freeing pict = %lx dc = %p
\n
"
,
info
->
pict_src
,
physDev
->
dev
.
hdc
);
pXRenderFreePicture
(
gdi_display
,
info
->
pict_src
);
info
->
pict_src
=
0
;
}
wine_tsx11_unlock
();
}
info
->
format
=
NULL
;
}
/************************************************************************
* UploadGlyph
*
...
...
@@ -2516,11 +2539,11 @@ static const struct gdi_dc_funcs xrender_funcs =
NULL
,
/* pChoosePixelFormat */
NULL
,
/* pChord */
NULL
,
/* pCloseFigure */
NULL
,
/* pCreateBitmap */
xrenderdrv_CreateBitmap
,
/* pCreateBitmap */
xrenderdrv_CreateCompatibleDC
,
/* pCreateCompatibleDC */
xrenderdrv_CreateDC
,
/* pCreateDC */
NULL
,
/* pCreateDIBSection */
NULL
,
/* pDeleteBitmap */
xrenderdrv_DeleteBitmap
,
/* pDeleteBitmap */
xrenderdrv_DeleteDC
,
/* pDeleteDC */
NULL
,
/* pDeleteObject */
NULL
,
/* pDescribePixelFormat */
...
...
@@ -2546,7 +2569,7 @@ static const struct gdi_dc_funcs xrender_funcs =
NULL
,
/* pGetDeviceCaps */
NULL
,
/* pGetDeviceGammaRamp */
NULL
,
/* pGetICMProfile */
NULL
,
/* pGetImage */
xrenderdrv_GetImage
,
/* pGetImage */
NULL
,
/* pGetNearestColor */
NULL
,
/* pGetPixel */
NULL
,
/* pGetPixelFormat */
...
...
@@ -2572,7 +2595,7 @@ static const struct gdi_dc_funcs xrender_funcs =
NULL
,
/* pPolygon */
NULL
,
/* pPolyline */
NULL
,
/* pPolylineTo */
NULL
,
/* pPutImage */
xrenderdrv_PutImage
,
/* pPutImage */
NULL
,
/* pRealizeDefaultPalette */
NULL
,
/* pRealizePalette */
NULL
,
/* pRectangle */
...
...
@@ -2582,7 +2605,7 @@ static const struct gdi_dc_funcs xrender_funcs =
NULL
,
/* pSaveDC */
NULL
,
/* pScaleViewportExt */
NULL
,
/* pScaleWindowExt */
NULL
,
/* pSelectBitmap */
xrenderdrv_SelectBitmap
,
/* pSelectBitmap */
NULL
,
/* pSelectBrush */
NULL
,
/* pSelectClipPath */
NULL
,
/* pSelectFont */
...
...
@@ -2659,12 +2682,6 @@ BOOL X11DRV_XRender_ExtTextOut( X11DRV_PDEVICE *physDev, INT x, INT y, UINT flag
return
FALSE
;
}
void
X11DRV_XRender_UpdateDrawable
(
X11DRV_PDEVICE
*
physDev
)
{
assert
(
0
);
return
;
}
BOOL
XRender_AlphaBlend
(
X11DRV_PDEVICE
*
devDst
,
struct
bitblt_coords
*
dst
,
X11DRV_PDEVICE
*
devSrc
,
struct
bitblt_coords
*
src
,
BLENDFUNCTION
blendfn
)
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment