
Stefan Seefeld wrote:
Then I don't understand what you said before. You said you expect that printing of portion of screen should preserve dimenstions. Do you mean dimensions in millmeters or in what unit? And why do you expect for them to be preserved on paper?
Yes, I'm talking about physical dimensions (millimeters, whatever). Why should I *not* expect it to preserve its size ?
Whenever I print a web page, the width of paper is different from the browser window width.
These sizes are typically determined by the GUI designer.
Who is, or what is "GUI designer". A human designing program, and human writing library, or a tool for designing GUIs? In which OS, or GUI library, the width of scrollbar is easily configurable?
The person designing a new GUI ('toolkit') is the one who sets 'style' attributes such as this one. I'v never said that it is (or should be) easily configurable.
Ok, agreed.
The GUI library sets the size of main windows, and the size may in any unit it likes. The application will then adjust all child windows in due *proportion* to the main window size and draw content. The display on monitor is done by GUI library, so it scales content as it likes.
Let me rephrase that a bit: the application asks the display server for a region of suitable size, such that all it wants to draw will fit in. This size requirement will be a fuction of the size of the graphical elements they lay inside (and, I reiterate, which generally should have physical dimensions).
Say, scrollbar is 5mm on my screen. Will that be good on a handheld computer? I doubt that. And how do you determine preferred physical size of scrollbar? Should it be 10cm or 5mm? You can't answer this question without knows the size of the drawing surface, so maybe scrollbar width should drawing_surface_width*some_fraction
Device coordinates are not ok to determine object size, because that means that objects have differing sizes on different output devices (multiple screens, printers, etc.) and so users wrongly tweak resolution to get back their wanted object sizes.
You should never specify object size at all. The size of main window should be set the GUI library, or set as proportion of screen size.
The size of a composite graphic should be determined by negotiating the required size (range) necessary to draw the content with the size the screen (or generally, parent graphic) provides.
Yes, that's how layout works in Qt.
See http://fresco.org/docs/papers/blending.pdf for a description of this process.
I'll read this paper.
I believe that scaling a text viewer such as in a pdf viewer when you resize the main window is the exception, not the rule. It is much more common to reflow the text, or to restrict the possible size of the main window.
Yes, but what does that prove? The preferred size of text is set by the user, who certainly cares only about physical size, but on a specific monitor. If he buys a different monitor with different size and resolution, it's not at all clear he'll want to retain the same physical size of the text. He might want to make it large, or smaller, depending on preferences. Going back to scrollbar -- I think it's width should also be customisable by the user vis some config tool. And if user hasn't specified anything, percentage of screen width looks better to me than any "natural" 5mm. Any constant you'll hardcode will be just that -- hardcoded constant. - Volodya