KT-32366: Extract text styling variables to outputStylingUtils
This commit is contained in:
committed by
Roman Golyshev
parent
358ec2b8bd
commit
d0cd4967a7
+3
-32
@@ -21,7 +21,7 @@ class InlayScratchFileRenderer(val text: String, private val outputType: Scratch
|
|||||||
private fun getFontInfo(editor: Editor): FontInfo {
|
private fun getFontInfo(editor: Editor): FontInfo {
|
||||||
val colorsScheme = editor.colorsScheme
|
val colorsScheme = editor.colorsScheme
|
||||||
val fontPreferences = colorsScheme.fontPreferences
|
val fontPreferences = colorsScheme.fontPreferences
|
||||||
val attributes = getAttributes()
|
val attributes = getAttributesForOutputType(outputType)
|
||||||
val fontStyle = attributes.fontType
|
val fontStyle = attributes.fontType
|
||||||
return ComplementaryFontsRegistry.getFontAbleToDisplay(
|
return ComplementaryFontsRegistry.getFontAbleToDisplay(
|
||||||
'a'.toInt(), fontStyle, fontPreferences, FontInfo.getFontRenderContext(editor.contentComponent)
|
'a'.toInt(), fontStyle, fontPreferences, FontInfo.getFontRenderContext(editor.contentComponent)
|
||||||
@@ -34,7 +34,7 @@ class InlayScratchFileRenderer(val text: String, private val outputType: Scratch
|
|||||||
}
|
}
|
||||||
|
|
||||||
override fun paint(editor: Editor, g: Graphics, r: Rectangle, textAttributes: TextAttributes) {
|
override fun paint(editor: Editor, g: Graphics, r: Rectangle, textAttributes: TextAttributes) {
|
||||||
val attributes = getAttributes()
|
val attributes = getAttributesForOutputType(outputType)
|
||||||
val fgColor = attributes.foregroundColor ?: return
|
val fgColor = attributes.foregroundColor ?: return
|
||||||
g.color = fgColor
|
g.color = fgColor
|
||||||
val fontInfo = getFontInfo(editor)
|
val fontInfo = getFontInfo(editor)
|
||||||
@@ -43,36 +43,7 @@ class InlayScratchFileRenderer(val text: String, private val outputType: Scratch
|
|||||||
g.drawString(text, r.x, r.y + metrics.ascent)
|
g.drawString(text, r.x, r.y + metrics.ascent)
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun getAttributes(): TextAttributes {
|
|
||||||
return when (outputType) {
|
|
||||||
ScratchOutputType.OUTPUT -> userOutputAttributes
|
|
||||||
ScratchOutputType.RESULT -> normalAttributes
|
|
||||||
ScratchOutputType.ERROR -> errorAttributes
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun toString(): String {
|
override fun toString(): String {
|
||||||
return "${text.takeWhile { it.isWhitespace() }}${outputType.name}: ${text.trim()}"
|
return "${text.takeWhile { it.isWhitespace() }}${outputType.name}: ${text.trim()}"
|
||||||
}
|
}
|
||||||
|
}
|
||||||
companion object {
|
|
||||||
private val normalAttributes = TextAttributes(
|
|
||||||
JBColor.GRAY,
|
|
||||||
null, null, null,
|
|
||||||
Font.ITALIC
|
|
||||||
)
|
|
||||||
|
|
||||||
private val errorAttributes = TextAttributes(
|
|
||||||
JBColor(Colors.DARK_RED, Colors.DARK_RED),
|
|
||||||
null, null, null,
|
|
||||||
Font.ITALIC
|
|
||||||
)
|
|
||||||
|
|
||||||
private val userOutputColor = Color(0x5C5CFF)
|
|
||||||
private val userOutputAttributes = TextAttributes(
|
|
||||||
JBColor(userOutputColor, userOutputColor),
|
|
||||||
null, null, null,
|
|
||||||
Font.ITALIC
|
|
||||||
)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|||||||
@@ -0,0 +1,37 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2010-2019 JetBrains s.r.o. and Kotlin Programming Language contributors.
|
||||||
|
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package org.jetbrains.kotlin.idea.scratch.output
|
||||||
|
|
||||||
|
import com.intellij.openapi.editor.markup.TextAttributes
|
||||||
|
import com.intellij.ui.Colors
|
||||||
|
import com.intellij.ui.JBColor
|
||||||
|
import java.awt.Color
|
||||||
|
import java.awt.Font
|
||||||
|
|
||||||
|
fun getAttributesForOutputType(outputType: ScratchOutputType): TextAttributes {
|
||||||
|
return when (outputType) {
|
||||||
|
ScratchOutputType.OUTPUT -> userOutputAttributes
|
||||||
|
ScratchOutputType.RESULT -> normalAttributes
|
||||||
|
ScratchOutputType.ERROR -> errorAttributes
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private val userOutputColor = Color(0x5C5CFF)
|
||||||
|
|
||||||
|
private val normalAttributes = TextAttributes().apply {
|
||||||
|
foregroundColor = JBColor.GRAY
|
||||||
|
fontType = Font.ITALIC
|
||||||
|
}
|
||||||
|
|
||||||
|
private val errorAttributes = TextAttributes().apply {
|
||||||
|
foregroundColor = JBColor(Colors.DARK_RED, Colors.DARK_RED)
|
||||||
|
fontType = Font.ITALIC
|
||||||
|
}
|
||||||
|
|
||||||
|
private val userOutputAttributes = TextAttributes().apply {
|
||||||
|
foregroundColor = JBColor(userOutputColor, userOutputColor)
|
||||||
|
fontType = Font.ITALIC
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user