Why invert the colors?
Because lines are black?
Hi,since I wanted to use DarkTheme I played around with TRMorph (since seeing giant white rectangle in dark theme is not very nice).What I have done is moved the background color setting to `surface clear:` (instead of the original aCanvas fillRectangle).And then if theme background luminance is dark (>0.5), I invert all the colors in the visualization.For dark theme the background is black, and not the theme background - at least to me it seems that black is much clearer.Is this something that could be incorporated?
And the modified code:~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"protocol: drawing"TRMorph>>drawOn: aCanvas"aCanvas is a FormCanvas"self checkSession."aCanvas fillRectangle: bounds color: trachelCanvas color."trachelCanvas playAnimations."The drawing has to be done when a change in the shapes occured or when there is an animation."surface drawDuring: [:cs |surface clear: trachelCanvas color."We display the elements that are subject to the camera"cs pathTransformtranslateBy: (self extent / 2) asFloatPoint;scaleBy: trachelCanvas camera scale asFloat;translateBy: trachelCanvas camera position negated asFloatPoint.trachelCanvas shapes do: [ :trachelShape |trachelShape drawOn: cs.]."We display the elements that are _NOT_ subject to the camera"cs pathTransform loadIdentity scaleBy: 1.001.trachelCanvas fixedShapes do: [ :trachelShape |trachelShape drawOn: cs.].].self theme backgroundColor luminance < 0.5 ifTrue: [surface drawDuring: [ :cs |cs paintMode restoreAfter: [cs setPaint: Color white.cs paintMode difference.cs drawShape: (0 @ 0 extent: surface extent)]]]."aCanvas translucentImage: surface asForm at: self bounds origin.""asForm creates a new Form, which is likely to be expensive. This can be cached"aCanvas image: surface asForm at: self bounds origin sourceRect: (0 @ 0 extent: surface extent) rule: 34.~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Moose-dev mailing list