package com.xenoage.zong.renderer.stamping;
import com.xenoage.utils.math.geom.Point2f;
import com.xenoage.zong.core.text.FormattedText;
import com.xenoage.zong.io.selection.text.TextSelection;
import com.xenoage.zong.musiclayout.stampings.Stamping;
import com.xenoage.zong.musiclayout.stampings.TextStamping;
import com.xenoage.zong.renderer.RendererArgs;
import com.xenoage.zong.renderer.canvas.Canvas;
/**
* Renderer for a {@link TextStamping}.
*
* @author Andreas Wenger
*/
public class TextRenderer
extends StampingRenderer {
public static final boolean yIsBaseline = true;
public static final float frameWidth = 0;
/**
* Draws the given {@link TextStamping} on the given {@link Canvas},
* using the given {@link RendererArgs}.
*/
@Override public void draw(Stamping stamping, Canvas canvas, RendererArgs args) {
TextStamping s = (TextStamping) stamping;
drawWith(s.getText(), null, s.getPositionMm(), canvas);
}
/**
* Paints the given formatted text using the given information and rendering parameters.
*/
public static void drawWith(FormattedText text, TextSelection selection, Point2f position,
Canvas canvas) {
canvas.drawText(text, selection, position, yIsBaseline, frameWidth);
}
}