On Sun, May 26, 2002 at 11:32:49PM +0200, Hubert Figuiere wrote:
>
>
> There is an outstanding issue with the Windows version of AbiWord that
> I'd really want to be fixed quickly in STABLE: printing is utterly
> broken as it does not work with a lot of printer drivers....
I don't know anything about Windows, but I did take a peek at the
Windows code.
Here's the startPrint method.
>bool GR_Win32Graphics::startPrint(void)
>{
> UT_ASSERT(m_bPrint);
> UT_ASSERT(!m_bStartPrint);
> m_bStartPrint = ( StartDoc(m_hdc,m_pDocInfo) > 0 );
>
> return m_bStartPrint;
>}
It has a corresponding endPrint() method which calls EndDoc.
I browsed some Windows API documentation online and it would
seem that you actually need to pass a printer hDC, not a screen
hDC (which is what GR_Win32Graphics would have on hand). Perhaps
someone could look into that?
At some point in ap_Win32DlgPrint, we do actually create a
printer hDC, but it doesn't escape. Apparently it's just used
for querying properties. Perhaps we should have such an hDC
for StartDoc as well.
pat