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
e879b9db
Commit
e879b9db
authored
Mar 23, 2023
by
Piotr Caban
Committed by
Alexandre Julliard
Mar 23, 2023
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
wineps: Create fake PSDRV_PDEVICE OpenPrintProcessor.
parent
e5c7e364
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
29 additions
and
2 deletions
+29
-2
init.c
dlls/wineps.drv/init.c
+2
-2
printproc.c
dlls/wineps.drv/printproc.c
+24
-0
psdrv.h
dlls/wineps.drv/psdrv.h
+3
-0
No files found.
dlls/wineps.drv/init.c
View file @
e879b9db
...
...
@@ -338,8 +338,8 @@ static void PSDRV_UpdateDevCaps( PSDRV_PDEVICE *physDev )
physDev
->
horzRes
,
physDev
->
vertRes
);
}
static
PSDRV_PDEVICE
*
create_psdrv_physdev
(
HDC
hdc
,
const
WCHAR
*
device
,
const
PSDRV_DEVMODE
*
devmode
)
PSDRV_PDEVICE
*
create_psdrv_physdev
(
HDC
hdc
,
const
WCHAR
*
device
,
const
PSDRV_DEVMODE
*
devmode
)
{
PRINTERINFO
*
pi
=
PSDRV_FindPrinterInfo
(
device
);
PSDRV_PDEVICE
*
pdev
;
...
...
dlls/wineps.drv/printproc.c
View file @
e879b9db
...
...
@@ -24,6 +24,8 @@
#include <winspool.h>
#include <ddk/winsplp.h>
#include "psdrv.h"
#include "wine/debug.h"
WINE_DEFAULT_DEBUG_CHANNEL
(
psdrv
);
...
...
@@ -37,6 +39,7 @@ struct pp_data
HANDLE
hport
;
WCHAR
*
doc_name
;
WCHAR
*
out_file
;
PSDRV_PDEVICE
*
pdev
;
};
typedef
enum
...
...
@@ -215,6 +218,7 @@ HANDLE WINAPI OpenPrintProcessor(WCHAR *port, PRINTPROCESSOROPENDATA *open_data)
{
struct
pp_data
*
data
;
HANDLE
hport
;
HDC
hdc
;
TRACE
(
"%s, %p
\n
"
,
debugstr_w
(
port
),
open_data
);
...
...
@@ -239,6 +243,23 @@ HANDLE WINAPI OpenPrintProcessor(WCHAR *port, PRINTPROCESSOROPENDATA *open_data)
data
->
hport
=
hport
;
data
->
doc_name
=
wcsdup
(
open_data
->
pDocumentName
);
data
->
out_file
=
wcsdup
(
open_data
->
pOutputFile
);
hdc
=
CreateCompatibleDC
(
NULL
);
if
(
!
hdc
)
{
LocalFree
(
data
);
return
NULL
;
}
SetGraphicsMode
(
hdc
,
GM_ADVANCED
);
data
->
pdev
=
create_psdrv_physdev
(
hdc
,
open_data
->
pPrinterName
,
(
const
PSDRV_DEVMODE
*
)
open_data
->
pDevMode
);
if
(
!
data
->
pdev
)
{
DeleteDC
(
hdc
);
LocalFree
(
data
);
return
NULL
;
}
data
->
pdev
->
dev
.
hdc
=
hdc
;
return
(
HANDLE
)
data
;
}
...
...
@@ -368,6 +389,9 @@ BOOL WINAPI ClosePrintProcessor(HANDLE pp)
ClosePrinter
(
data
->
hport
);
free
(
data
->
doc_name
);
free
(
data
->
out_file
);
DeleteDC
(
data
->
pdev
->
dev
.
hdc
);
HeapFree
(
GetProcessHeap
(),
0
,
data
->
pdev
->
Devmode
);
HeapFree
(
GetProcessHeap
(),
0
,
data
->
pdev
);
memset
(
data
,
0
,
sizeof
(
*
data
));
LocalFree
(
data
);
...
...
dlls/wineps.drv/psdrv.h
View file @
e879b9db
...
...
@@ -393,6 +393,9 @@ static inline PSDRV_PDEVICE *get_psdrv_dev( PHYSDEV dev )
return
(
PSDRV_PDEVICE
*
)
dev
;
}
extern
PSDRV_PDEVICE
*
create_psdrv_physdev
(
HDC
hdc
,
const
WCHAR
*
device
,
const
PSDRV_DEVMODE
*
devmode
)
DECLSPEC_HIDDEN
;
/*
* Every glyph name in the Adobe Glyph List and the 35 core PostScript fonts
*/
...
...
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