-
Notifications
You must be signed in to change notification settings - Fork 42
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support IDE zoom and presentation mode #234
Conversation
devkanro
commented
Nov 1, 2023
ide-laf-bridge/src/main/kotlin/org/jetbrains/jewel/bridge/BridgeUtils.kt
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great job! Only one question
ide-laf-bridge/src/main/kotlin/org/jetbrains/jewel/bridge/BridgeUtils.kt
Outdated
Show resolved
Hide resolved
|
||
internal fun retrieveDensity(): Density { | ||
val ideaScale = UISettingsUtils.getInstance().currentIdeScale | ||
val scale = GraphicsEnvironment.getLocalGraphicsEnvironment() |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's better to use com.intellij.ui.scale.JBUIScale#pixScale
here using Component provided as LocalComponent, and not to use defaultScreenDevice, since there are can be issues with different monitors
CompositionLocalProvider(LocalPainterHintsProvider provides BridgePainterHintsProvider(themeData.themeDefinition.isDark)) { | ||
CompositionLocalProvider( | ||
LocalPainterHintsProvider provides BridgePainterHintsProvider(themeData.themeDefinition.isDark), | ||
LocalDensity provides themeData.density, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Also, in the future we need to subscribe on changes in user scale, idea scale and sysScale changes
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fwiw this already works following zoom changes; haven't checked what happens when changing screens/system scale
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Also works with presentation mode
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
When ide scale changed the look and feel changing event will be fired too. I'll check the system scale event tomorrow.
OK, I'll check it |