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

Reply via email to