Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-winehq
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-winehq
Commits
ed29c905
Commit
ed29c905
authored
Dec 17, 2001
by
Alexandre Julliard
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Changed 16-bit GDI Enum* functions to not use thunks, now that 16-bit
Winelib is no longer supported.
parent
7d155d67
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
61 additions
and
104 deletions
+61
-104
.cvsignore
dlls/gdi/.cvsignore
+4
-3
Makefile.in
dlls/gdi/Makefile.in
+1
-2
gdi.spec
dlls/gdi/gdi.spec
+5
-5
thunk.c
dlls/gdi/thunk.c
+0
-85
font.c
objects/font.c
+8
-3
gdiobj.c
objects/gdiobj.c
+6
-3
linedda.c
objects/linedda.c
+29
-0
metafile.c
objects/metafile.c
+8
-3
No files found.
dlls/gdi/.cvsignore
View file @
ed29c905
*.spec.c
*.spec.glue.s
Makefile
dispdib.spec.c
gdi.spec.c
gdi32.spec.c
printdrv.glue.c
thunk.glue.c
version.res
version16.res
wing.spec.c
dlls/gdi/Makefile.in
View file @
ed29c905
...
...
@@ -15,7 +15,6 @@ C_SRCS = \
freetype.c
\
gdi_main.c
\
printdrv.c
\
thunk.c
\
wing.c
RC_SRCS
=
\
...
...
@@ -24,7 +23,7 @@ RC_SRCS= \
RC_SRCS16
=
\
version16.rc
GLUE
=
printdrv.c
thunk.c
GLUE
=
printdrv.c
EXTRA_OBJS
=
\
$(TOPOBJDIR)
/graphics/graphics.o
\
...
...
dlls/gdi/gdi.spec
View file @
ed29c905
...
...
@@ -80,8 +80,8 @@ rsrc version16.res
67 pascal16 DPtoLP(word ptr s_word) DPtoLP16
68 pascal16 DeleteDC(word) DeleteDC16
69 pascal16 DeleteObject(word) DeleteObject16
70 pascal16 EnumFonts(word str segptr long)
THUNK_
EnumFonts16
71 pascal16 EnumObjects(word word segptr long)
THUNK_
EnumObjects16
70 pascal16 EnumFonts(word str segptr long) EnumFonts16
71 pascal16 EnumObjects(word word segptr long) EnumObjects16
72 pascal16 EqualRgn(word word) EqualRgn16
73 pascal16 ExcludeVisRect(word s_word s_word s_word s_word) ExcludeVisRect16
74 pascal GetBitmapBits(word long ptr) GetBitmapBits16
...
...
@@ -175,7 +175,7 @@ rsrc version16.res
172 pascal16 SetRectRgn(word s_word s_word s_word s_word) SetRectRgn16
173 pascal16 GetClipRgn(word) GetClipRgn16
174 stub BLOAT # W2.0 (only ?) ROTFL ! ;-))
175 pascal16 EnumMetaFile(word word segptr long)
THUNK_
EnumMetaFile16
175 pascal16 EnumMetaFile(word word segptr long) EnumMetaFile16
176 pascal16 PlayMetaFileRecord(word ptr ptr word) PlayMetaFileRecord16
177 stub RCOS # W2.0 (only ?)
178 stub RSIN # W2.0 (only ?)
...
...
@@ -259,7 +259,7 @@ rsrc version16.res
315 pascal EngineRealizeFontExt(long long long long) EngineRealizeFontExt16
316 stub EngineGetCharWidthStr
317 stub EngineGetGlyphBmpExt
330 pascal16 EnumFontFamilies(word str segptr long)
THUNK_
EnumFontFamilies16
330 pascal16 EnumFontFamilies(word str segptr long) EnumFontFamilies16
332 pascal16 GetKerningPairs(word word ptr) GetKerningPairs16
345 pascal16 GetTextAlign(word) GetTextAlign16
346 pascal16 SetTextAlign(word word) SetTextAlign16
...
...
@@ -418,7 +418,7 @@ rsrc version16.res
610 pascal16 GdiSignalProc32(long long long word) GdiSignalProc
611 stub GetRandomRgn
612 pascal16 GetTextCharset(word) GetTextCharset16
613 pascal16 EnumFontFamiliesEx(word ptr segptr long long)
THUNK_
EnumFontFamiliesEx16
613 pascal16 EnumFontFamiliesEx(word ptr segptr long long) EnumFontFamiliesEx16
614 stub AddLpkToGDI
615 stub GetCharacterPlacement
616 pascal GetFontLanguageInfo(word) GetFontLanguageInfo16
...
...
dlls/gdi/thunk.c
deleted
100644 → 0
View file @
7d155d67
/*
* GDI 16-bit thunks
*
* Copyright 1996, 1997 Alexandre Julliard
* Copyright 1998 Ulrich Weigand
*/
#include "windef.h"
#include "wingdi.h"
#include "wine/wingdi16.h"
#include "callback.h"
/* ### start build ### */
extern
WORD
CALLBACK
THUNK_CallTo16_word_ll
(
FARPROC16
,
LONG
,
LONG
);
extern
WORD
CALLBACK
THUNK_CallTo16_word_llwl
(
FARPROC16
,
LONG
,
LONG
,
WORD
,
LONG
);
extern
WORD
CALLBACK
THUNK_CallTo16_word_wllwl
(
FARPROC16
,
WORD
,
LONG
,
LONG
,
WORD
,
LONG
);
extern
WORD
CALLBACK
THUNK_CallTo16_word_wwl
(
FARPROC16
,
WORD
,
WORD
,
LONG
);
/* ### stop build ### */
/***********************************************************************
* EnumObjects (GDI.71)
*/
INT16
WINAPI
THUNK_EnumObjects16
(
HDC16
hdc
,
INT16
nObjType
,
GOBJENUMPROC16
func
,
LPARAM
lParam
)
{
DECL_THUNK
(
thunk
,
func
,
THUNK_CallTo16_word_ll
);
return
EnumObjects16
(
hdc
,
nObjType
,
(
GOBJENUMPROC16
)
&
thunk
,
lParam
);
}
/*************************************************************************
* EnumFonts (GDI.70)
*/
INT16
WINAPI
THUNK_EnumFonts16
(
HDC16
hdc
,
LPCSTR
lpFaceName
,
FONTENUMPROC16
func
,
LPARAM
lParam
)
{
DECL_THUNK
(
thunk
,
func
,
THUNK_CallTo16_word_llwl
);
return
EnumFonts16
(
hdc
,
lpFaceName
,
(
FONTENUMPROC16
)
&
thunk
,
lParam
);
}
/******************************************************************
* EnumMetaFile (GDI.175)
*/
BOOL16
WINAPI
THUNK_EnumMetaFile16
(
HDC16
hdc
,
HMETAFILE16
hmf
,
MFENUMPROC16
func
,
LPARAM
lParam
)
{
DECL_THUNK
(
thunk
,
func
,
THUNK_CallTo16_word_wllwl
);
return
EnumMetaFile16
(
hdc
,
hmf
,
(
MFENUMPROC16
)
&
thunk
,
lParam
);
}
/*************************************************************************
* EnumFontFamilies (GDI.330)
*/
INT16
WINAPI
THUNK_EnumFontFamilies16
(
HDC16
hdc
,
LPCSTR
lpszFamily
,
FONTENUMPROC16
func
,
LPARAM
lParam
)
{
DECL_THUNK
(
thunk
,
func
,
THUNK_CallTo16_word_llwl
);
return
EnumFontFamilies16
(
hdc
,
lpszFamily
,
(
FONTENUMPROC16
)
&
thunk
,
lParam
);
}
/*************************************************************************
* EnumFontFamiliesEx (GDI.613)
*/
INT16
WINAPI
THUNK_EnumFontFamiliesEx16
(
HDC16
hdc
,
LPLOGFONT16
lpLF
,
FONTENUMPROCEX16
func
,
LPARAM
lParam
,
DWORD
reserved
)
{
DECL_THUNK
(
thunk
,
func
,
THUNK_CallTo16_word_llwl
);
return
EnumFontFamiliesEx16
(
hdc
,
lpLF
,
(
FONTENUMPROCEX16
)
&
thunk
,
lParam
,
reserved
);
}
/**********************************************************************
* LineDDA (GDI.100)
*/
void
WINAPI
LineDDA16
(
INT16
nXStart
,
INT16
nYStart
,
INT16
nXEnd
,
INT16
nYEnd
,
LINEDDAPROC16
func
,
LPARAM
lParam
)
{
DECL_THUNK
(
thunk
,
func
,
THUNK_CallTo16_word_wwl
);
LineDDA
(
nXStart
,
nYStart
,
nXEnd
,
nYEnd
,
(
LINEDDAPROC
)
&
thunk
,
lParam
);
}
objects/font.c
View file @
ed29c905
...
...
@@ -87,6 +87,10 @@ static CHARSETINFO FONT_tci[MAXTCIINDEX] = {
{
DEFAULT_CHARSET
,
0
,
FS
(
0
)},
};
/* ### start build ### */
extern
WORD
CALLBACK
FONT_CallTo16_word_llwl
(
FONTENUMPROCEX16
,
LONG
,
LONG
,
WORD
,
LONG
);
/* ### stop build ### */
/***********************************************************************
* LOGFONT conversion functions.
*/
...
...
@@ -630,8 +634,9 @@ static INT FONT_EnumInstance16( LPENUMLOGFONTEXW plf, LPNEWTEXTMETRICEXW ptm,
{
FONT_EnumLogFontExWTo16
(
plf
,
pfe
->
lpLogFont
);
FONT_NewTextMetricExWTo16
(
ptm
,
pfe
->
lpTextMetric
);
return
pfe
->
lpEnumFunc
(
pfe
->
segLogFont
,
pfe
->
segTextMetric
,
(
UINT16
)
fType
,
(
LPARAM
)(
pfe
->
lpData
)
);
return
FONT_CallTo16_word_llwl
(
pfe
->
lpEnumFunc
,
pfe
->
segLogFont
,
pfe
->
segTextMetric
,
(
UINT16
)
fType
,
(
LPARAM
)
pfe
->
lpData
);
}
#undef pfe
return
1
;
...
...
@@ -787,7 +792,7 @@ INT16 WINAPI EnumFontFamilies16( HDC16 hDC, LPCSTR lpFamily,
if
(
lpFamily
)
lstrcpynA
(
lf
.
lfFaceName
,
lpFamily
,
LF_FACESIZE
);
else
lf
.
lfFaceName
[
0
]
=
'\0'
;
return
EnumFontFamiliesEx16
(
hDC
,
&
lf
,
(
FONTENUMPROCEX16
)
efproc
,
lpData
,
0
);
return
EnumFontFamiliesEx16
(
hDC
,
&
lf
,
efproc
,
lpData
,
0
);
}
/***********************************************************************
...
...
objects/gdiobj.c
View file @
ed29c905
...
...
@@ -29,6 +29,9 @@
DEFAULT_DEBUG_CHANNEL
(
gdi
);
/* ### start build ### */
extern
WORD
CALLBACK
GDI_CallTo16_word_ll
(
GOBJENUMPROC16
,
LONG
,
LONG
);
/* ### stop build ### */
/***********************************************************************
* GDI stock objects
...
...
@@ -886,7 +889,7 @@ INT16 WINAPI EnumObjects16( HDC16 hdc, INT16 nObjType,
pen
->
lopnWidth
.
x
=
1
;
pen
->
lopnWidth
.
y
=
0
;
pen
->
lopnColor
=
solid_colors
[
i
];
retval
=
lpEnumFunc
(
SEGPTR_GET
(
pen
),
lParam
);
retval
=
GDI_CallTo16_word_ll
(
lpEnumFunc
,
SEGPTR_GET
(
pen
),
lParam
);
TRACE
(
"solid pen %08lx, ret=%d
\n
"
,
solid_colors
[
i
],
retval
);
if
(
!
retval
)
break
;
...
...
@@ -902,7 +905,7 @@ INT16 WINAPI EnumObjects16( HDC16 hdc, INT16 nObjType,
brush
->
lbStyle
=
BS_SOLID
;
brush
->
lbColor
=
solid_colors
[
i
];
brush
->
lbHatch
=
0
;
retval
=
lpEnumFunc
(
SEGPTR_GET
(
brush
),
lParam
);
retval
=
GDI_CallTo16_word_ll
(
lpEnumFunc
,
SEGPTR_GET
(
brush
),
lParam
);
TRACE
(
"solid brush %08lx, ret=%d
\n
"
,
solid_colors
[
i
],
retval
);
if
(
!
retval
)
break
;
...
...
@@ -914,7 +917,7 @@ INT16 WINAPI EnumObjects16( HDC16 hdc, INT16 nObjType,
brush
->
lbStyle
=
BS_HATCHED
;
brush
->
lbColor
=
RGB
(
0
,
0
,
0
);
brush
->
lbHatch
=
i
;
retval
=
lpEnumFunc
(
SEGPTR_GET
(
brush
),
lParam
);
retval
=
GDI_CallTo16_word_ll
(
lpEnumFunc
,
SEGPTR_GET
(
brush
),
lParam
);
TRACE
(
"hatched brush %d, ret=%d
\n
"
,
i
,
retval
);
if
(
!
retval
)
break
;
...
...
objects/linedda.c
View file @
ed29c905
...
...
@@ -9,6 +9,22 @@
#include "wingdi.h"
#include "wine/wingdi16.h"
/* ### start build ### */
extern
WORD
CALLBACK
DDA_CallTo16_word_wwl
(
LINEDDAPROC16
,
WORD
,
WORD
,
LONG
);
/* ### stop build ### */
struct
linedda16_info
{
LINEDDAPROC16
proc
;
LPARAM
param
;
};
static
void
CALLBACK
DDA_callback
(
INT
x
,
INT
y
,
LPARAM
param
)
{
const
struct
linedda16_info
*
info
=
(
struct
linedda16_info
*
)
param
;
DDA_CallTo16_word_wwl
(
info
->
proc
,
x
,
y
,
info
->
param
);
}
/**********************************************************************
* LineDDA (GDI32.@)
...
...
@@ -55,3 +71,16 @@ BOOL WINAPI LineDDA(INT nXStart, INT nYStart, INT nXEnd, INT nYEnd,
}
return
TRUE
;
}
/**********************************************************************
* LineDDA (GDI.100)
*/
void
WINAPI
LineDDA16
(
INT16
nXStart
,
INT16
nYStart
,
INT16
nXEnd
,
INT16
nYEnd
,
LINEDDAPROC16
proc
,
LPARAM
lParam
)
{
struct
linedda16_info
info
;
info
.
proc
=
proc
;
info
.
param
=
lParam
;
LineDDA
(
nXStart
,
nYStart
,
nXEnd
,
nYEnd
,
DDA_callback
,
(
LPARAM
)
&
info
);
}
objects/metafile.c
View file @
ed29c905
...
...
@@ -58,6 +58,10 @@ typedef struct
#define MFHEADERSIZE (sizeof(METAHEADER))
#define MFVERSION 0x300
/* ### start build ### */
extern
WORD
CALLBACK
MF_CallTo16_word_wllwl
(
MFENUMPROC16
,
WORD
,
LONG
,
LONG
,
WORD
,
LONG
);
/* ### stop build ### */
/******************************************************************
* MF_AddHandle
*
...
...
@@ -614,9 +618,10 @@ BOOL16 WINAPI EnumMetaFile16( HDC16 hdc, HMETAFILE16 hmf,
while
(
offset
<
(
mh
->
mtSize
*
2
))
{
mr
=
(
METARECORD
*
)((
char
*
)
mh
+
offset
);
if
(
!
lpEnumFunc
(
hdc
,
(
HANDLETABLE16
*
)
spht
,
(
METARECORD
*
)
MAKESEGPTR
(
seg
+
(
HIWORD
(
offset
)
<<
__AHSHIFT
),
LOWORD
(
offset
)
),
mh
->
mtNoObjects
,
(
LONG
)
lpData
))
if
(
!
MF_CallTo16_word_wllwl
(
lpEnumFunc
,
hdc
,
spht
,
MAKESEGPTR
(
seg
+
(
HIWORD
(
offset
)
<<
__AHSHIFT
),
LOWORD
(
offset
)
),
mh
->
mtNoObjects
,
(
LONG
)
lpData
))
{
result
=
FALSE
;
break
;
...
...
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