[squeak-dev] The Inbox: Morphic-ct.1714.mcz

Thiede, Christoph Christoph.Thiede at student.hpi.uni-potsdam.de
Mon Nov 16 15:26:08 UTC 2020


Hm, #screenScaled etc. could improve the readability a bit, but they do not answer the question of which layers one should touch to configure dpi-sensitivity. Conceptionally, I would expect this to happen in the Canvas/drawing and the event-handling parts only, but unfortunately, Morphic and Point/Rectangle do not support sub-pixels for whatever reason ...


Best,

Christoph

________________________________
Von: Squeak-dev <squeak-dev-bounces at lists.squeakfoundation.org> im Auftrag von Taeumel, Marcel
Gesendet: Donnerstag, 12. November 2020 09:40:47
An: squeak-dev
Betreff: Re: [squeak-dev] The Inbox: Morphic-ct.1714.mcz

Well, I think that #screenUnscaled is a more elegant solution for the things happening in UserInterfaceTheme >> #fixFontsAndScaleAound: :-)

Best,
Marcel

Am 12.11.2020 09:36:24 schrieb Marcel Taeumel <marcel.taeumel at hpi.de>:

In Vivide, I added #scaleValueToDisplay on Integer and Point besides the already existing #scaleIconToDisplay on Form. Tobias (topa) suggested a different approach for DPI-awareness, that is, #screenScaled and #screenUnscaled -- which I did not fully understand yet.

Best,
Marcel

Am 11.11.2020 18:33:54 schrieb commits at source.squeak.org <commits at source.squeak.org>:

A new version of Morphic was added to project The Inbox:
http://source.squeak.org/inbox/Morphic-ct.1714.mcz

==================== Summary ====================

Name: Morphic-ct.1714
Author: ct
Time: 11 November 2020, 6:33:33.254952 pm
UUID: ffa0dcf6-075e-f04b-876f-fdee1186c309
Ancestors: Morphic-mt.1710

Honor hi-dpi settings for halo, window, and keyboard-focus indication borders.

Argh, this makes all these methods harder to read ... Did I patch the methods at the right abstraction level? Please review!

=============== Diff against Morphic-mt.1710 ===============

Item was changed:
----- Method: Morph>>keyboardFocusWidth (in category 'drawing') -----
keyboardFocusWidth

+ ^ ((self userInterfaceTheme keyboardFocusWidth ifNil: [3]) * RealEstateAgent scaleFactor) rounded!
- ^ self userInterfaceTheme keyboardFocusWidth ifNil: [3]!

Item was changed:
----- Method: SimpleHaloMorph>>drawOn: (in category 'drawing') -----
drawOn: aCanvas
"Draw this morph only if it has no target."

(Preferences showBoundsInHalo and: [self target isWorldMorph not])
ifTrue: [
aCanvas
frameAndFillRectangle: self bounds
fillColor: Color transparent
+ borderWidth: (2 * RealEstateAgent scaleFactor) rounded
- borderWidth: 2
borderColor: (self userInterfaceTheme borderColor ifNil: [Color blue alpha: 0.8])]!

Item was changed:
----- Method: SystemWindow>>setDefaultParameters (in category 'initialization') -----
setDefaultParameters

Preferences menuAppearance3d
ifFalse: [self hasDropShadow: false]
ifTrue: [
self addDropShadow.
self hasDropShadow: self isKeyWindow. "maybe turn off again"].

+ self borderWidth: ((self userInterfaceTheme borderWidth ifNil: [1]) * RealEstateAgent scaleFactor) rounded.
- self borderWidth: (self userInterfaceTheme borderWidth ifNil: [1]).
label font: (self userInterfaceTheme titleFont ifNil: [TextStyle defaultFont]).!


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20201116/cf702816/attachment.html>


More information about the Squeak-dev mailing list