Boost logo

Boost :

From: Vladimir Prus (ghost_at_[hidden])
Date: 2005-10-05 09:12:24


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


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk