<html>
    <head>
      <base href="https://bugs.freedesktop.org/" />
    </head>
    <body>
      <p>
        <div>
            <b><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW --- - Add support for printing to a Windows printer from pdftocairo"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=79936#c39">Comment # 39</a>
              on <a class="bz_bug_link 
          bz_status_NEW "
   title="NEW --- - Add support for printing to a Windows printer from pdftocairo"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=79936">bug 79936</a>
              from <span class="vcard"><a class="email" href="mailto:ajohnson@redneon.com" title="Adrian Johnson <ajohnson@redneon.com>"> <span class="fn">Adrian Johnson</span></a>
</span></b>
        <pre>(In reply to <a href="show_bug.cgi?id=79936#c36">comment #36</a>)
<span class="quote">> Comment on <span class=""><a href="attachment.cgi?id=106269" name="attach_106269" title="fix page size selection">attachment 106269</a> <a href="attachment.cgi?id=106269&action=edit" title="fix page size selection">[details]</a></span> <a href='page.cgi?id=splinter.html&bug=79936&attachment=106269'>[review]</a> [review]
> fix page size selection

> Review of <span class=""><a href="attachment.cgi?id=106269" name="attach_106269" title="fix page size selection">attachment 106269</a> <a href="attachment.cgi?id=106269&action=edit" title="fix page size selection">[details]</a></span> <a href='page.cgi?id=splinter.html&bug=79936&attachment=106269'>[review]</a> [review]:
> -----------------------------------------------------------------

> ::: utils/pdftocairo-win32.cc
> @@ +227,5 @@
> > +    *h = GetDeviceCaps (hdc, PHYSICALHEIGHT)*72.0/y_dpi;
> > +  } else {
> > +    *w = GetDeviceCaps (hdc, HORZRES)*72.0/x_dpi;
> > +    *h = GetDeviceCaps (hdc, VERTRES)*72.0/y_dpi;
> > +  }

> Could we move all this to a separate function that returns the width/height
> to be called before beginPage only for win32? That way we don't need to
> change beginPage in pdftocairo.cc</span >

We don't know the actual width/height until the new size is selected.

In win32BeginPage((), fillPagePrinterOptions() sets the requested page size.
Then ResetDCA() resets the device context to the requested size. Then we get
the actual paper size from the device context which may be different to the
requested size. The actual size is returned to pdftocairo.cc to ensure the
transformations in getFitToPageTransform() are correct.</pre>
        </div>
      </p>
      <hr>
      <span>You are receiving this mail because:</span>
      
      <ul>
          <li>You are the assignee for the bug.</li>
      </ul>
    </body>
</html>