package com.xenoage.zong.android.renderer.symbols; import android.graphics.Canvas; import android.graphics.Paint; import android.graphics.Path; import android.util.Log; import com.xenoage.utils.android.color.AndroidColorUtils; import com.xenoage.utils.color.Color; import com.xenoage.utils.math.geom.Point2f; import com.xenoage.zong.android.renderer.canvas.AndroidCanvas; import com.xenoage.zong.android.renderer.path.AndroidPath; import com.xenoage.zong.renderer.symbol.SymbolsRenderer; import com.xenoage.zong.symbols.PathSymbol; import com.xenoage.zong.symbols.Symbol; import com.xenoage.zong.symbols.WarningSymbol; /** * Android renderer for {@link Symbol}s. * * TODO: needed? Code is trivial, integrate it into {@link AndroidCanvas} * * @author Andreas Wenger */ public class AndroidSymbolsRenderer { public static final AndroidSymbolsRenderer androidSymbolsRenderer = new AndroidSymbolsRenderer(); /** * Draws the given {@link PathSymbol} on the given {@link Canvas} * with the given color at the given position and the given scaling. */ public void draw(PathSymbol symbol, Canvas canvas, Color color, Point2f position, Point2f scaling) { canvas.save(); canvas.translate(position.x, position.y); canvas.scale(scaling.x, scaling.y); Paint paint = AndroidColorUtils.createPaintFill(color); Path path = AndroidPath.createPath(symbol.path); canvas.drawPath(path, paint); canvas.restore(); } /** * Draws the given {@link WarningSymbol} on the given {@link Canvas} * with the given color at the given position and the given scaling. */ public void draw(WarningSymbol symbol, Canvas canvas, Color color, Point2f position, Point2f scaling) { //the warning symbol is not supported yet } }