package com.danitheskunk.skunkworks.gfx;

import com.danitheskunk.skunkworks.Recti;
import com.danitheskunk.skunkworks.Vec2i;
import com.danitheskunk.skunkworks.gfx.font.IFont;
import com.danitheskunk.skunkworks.gfx.vt.Terminal;

public interface IRenderContext {
	void drawNineSlice(NineSlice slice, Recti rect); //todo: add rounding mode

	void drawRectangle(Recti rect, Color color);

	void drawString(Vec2i pos, String string, IFont font);

	void drawString(Vec2i pos, String string, IFont font, Color color);

	void drawTerminal(Terminal terminal);

	void drawTerminal(Terminal terminal, Vec2i pos);

	void drawTexture(Vec2i pos, ITexture texture);

	void drawTexture(Vec2i pos, ITexture texture, Color color);

	void drawTextureRectangle(Recti rect, ITexture texture, boolean repeat);

	void drawTextureRectangle(
		Recti rect, ITexture texture, Color color, boolean repeat
	);
	//todo: drawTextureRectangleRepeat
}
