Created attachment 268474 [details] screenshot The rest of the window draws in the canvas correctly, but the buttons are massive.
Summary: What drawing to a scaled canvas with drawWindow, native buttons are enormous → When drawing to a scaled canvas with drawWindow, native buttons are enormous
this is a dupe of some other bug whose number I forgot --- basically, Cocoa native theming needs to do what Linux and Windows do, if a non-trivial transform is in effect, render via a temporary surface.
This is an artifact of us using the compositeToPoint: method instead of drawAtPoint:. I'll come up with a fix for this next week.
I think we should fix this by: 1) removing our use of an offscreen buffer to draw scaled buttons 2) instead do something like: gSave SetScale(scaleFactor /* we already compute this */) Draw gRestore This would also make my patch for bug 397209 unneeded.
I tried this idea out the other day and HITheme barfed. D'oh :( Good news is that NSCell works fine.
Created attachment 291794 [details] testcase (save locally to run) This is a testcase to demonstrate the issue. Since it uses the drawWindow call you must run it from a local disk and it will ask for elevated privileges on load. It contains a 400x400 area at the top of the page with some text and buttons. Below is a 200x200 canvas. The top area is scaled down and drawn onto the canvas. The button widgets draw as if there was no scaling at all, the text (including the text labels of the buttons) are correctly scaled.
fixed by 407093
Status: NEW → RESOLVED
Last Resolved: 10 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.