
org.pushingpixels.photon.api.transcoder.kotlin.SvgTranscoderTemplateNeon.templ Maven / Gradle / Ivy
The newest version!
TOKEN_PACKAGE
import java.awt.*
import java.awt.geom.*
import java.awt.image.BufferedImage
import java.io.*
import java.lang.ref.WeakReference
import java.util.Base64
import java.util.Stack
import javax.imageio.ImageIO
import javax.swing.plaf.UIResource
import org.pushingpixels.neon.api.icon.NeonIcon
import org.pushingpixels.neon.api.icon.NeonIcon.Factory
import org.pushingpixels.neon.api.icon.NeonIconUIResource
/**
* This class has been automatically generated using Photon SVG transcoder.
*/
class TOKEN_CLASSNAME private constructor(private var width: Int, private var height: Int)
: NeonIcon {
@Suppress("UNUSED_VARIABLE") private var shape: Shape? = null
@Suppress("UNUSED_VARIABLE") private var generalPath: GeneralPath? = null
@Suppress("UNUSED_VARIABLE") private var paint: Paint? = null
@Suppress("UNUSED_VARIABLE") private var stroke: Stroke? = null
@Suppress("UNUSED_VARIABLE") private var clip: Shape? = null
private var colorFilter: NeonIcon.ColorFilter? = null
private val transformsStack = Stack()
TOKEN_RASTER_CODE
TOKEN_PAINTING_CODE
private fun innerPaint(g : Graphics2D) {
var origAlpha = 1.0f
val origComposite = g.composite
if (origComposite is AlphaComposite) {
if (origComposite.rule == AlphaComposite.SRC_OVER) {
origAlpha = origComposite.alpha
}
}
TOKEN_PAINTING_INVOCATIONS
shape = null
generalPath = null
paint = null
stroke = null
clip = null
}
companion object {
/**
* Returns the X of the bounding box of the original SVG image.
*
* @return The X of the bounding box of the original SVG image.
*/
fun getOrigX(): Double {
return TOKEN_ORIG_X
}
/**
* Returns the Y of the bounding box of the original SVG image.
*
* @return The Y of the bounding box of the original SVG image.
*/
fun getOrigY(): Double {
return TOKEN_ORIG_Y
}
/**
* Returns the width of the bounding box of the original SVG image.
*
* @return The width of the bounding box of the original SVG image.
*/
fun getOrigWidth(): Double {
return TOKEN_ORIG_WIDTH
}
/**
* Returns the height of the bounding box of the original SVG image.
*
* @return The height of the bounding box of the original SVG image.
*/
fun getOrigHeight(): Double {
return TOKEN_ORIG_HEIGHT
}
/**
* Returns a new instance of this icon with specified dimensions.
*
* @param width Required width of the icon
* @param height Required height of the icon
* @return A new instance of this icon with specified dimensions.
*/
fun of(width: Int, height: Int): NeonIcon {
return TOKEN_CLASSNAME(width, height)
}
/**
* Returns a new [UIResource] instance of this icon with specified dimensions.
*
* @param width Required width of the icon
* @param height Required height of the icon
* @return A new [UIResource] instance of this icon with specified dimensions.
*/
fun uiResourceOf(width: Int, height: Int): NeonIconUIResource {
return NeonIconUIResource(TOKEN_CLASSNAME(width, height))
}
/**
* Returns a factory that returns instances of this icon on demand.
*
* @return Factory that returns instances of this icon on demand.
*/
fun factory(): Factory {
return Factory { TOKEN_CLASSNAME(getOrigWidth().toInt(), getOrigHeight().toInt()) }
}
}
override fun getIconHeight(): Int {
return width
}
override fun getIconWidth(): Int {
return height
}
override @Synchronized fun setDimension(newDimension: Dimension) {
width = newDimension.width
height = newDimension.height
}
override fun supportsColorFilter(): Boolean {
return TOKEN_SUPPORTS_COLOR_FILTER
}
override fun setColorFilter(colorFilter: NeonIcon.ColorFilter?) {
TOKEN_SET_COLOR_FILTER
}
override @Synchronized fun paintIcon(c: Component?, g: Graphics, x: Int, y: Int) {
val g2d = g.create() as Graphics2D
g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
RenderingHints.VALUE_ANTIALIAS_ON)
g2d.setRenderingHint(RenderingHints.KEY_INTERPOLATION,
RenderingHints.VALUE_INTERPOLATION_BICUBIC)
g2d.translate(x, y)
val coef1 = this.width.toDouble() / getOrigWidth()
val coef2 = this.height.toDouble() / getOrigHeight()
val coef = Math.min(coef1, coef2)
g2d.clipRect(0, 0, this.width, this.height)
g2d.scale(coef, coef)
g2d.translate(-getOrigX(), -getOrigY())
if (coef1 != coef2) {
if (coef1 < coef2) {
val extraDy = ((getOrigWidth() - getOrigHeight()) / 2.0).toInt()
g2d.translate(0, extraDy)
} else {
val extraDx = ((getOrigHeight() - getOrigWidth()) / 2.0).toInt()
g2d.translate(extraDx, 0)
}
}
val g2ForInner = g2d.create() as Graphics2D
innerPaint(g2ForInner)
g2ForInner.dispose()
g2d.dispose()
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy