Nothing like askig a question to help figure out the answer....
I created a sprite subclass that created an empty canvas and got reference to the flambe canvas. The sprite's canvas context is public. I draw on the context, then copy the sprites canvas to the main canvas on the draw operation.
class CanvasSprite extends Sprite
{
private var _stageCanvas:Dynamic;
private var _drawCanvas:Dynamic;
private var _ctx:Dynamic;
@:keep public function new()
{
super();
#if html
_stageCanvas = Browser.document.getElementById("flambeCanvasName");
_drawCanvas = HtmlUtil.createEmptyCanvas(Std.int(Main.DEFAULT_WIDTH), Std.int(Main.DEFAULT_HEIGHT));
_ctx = _drawCanvas.getContext('2d');
#end
}
override public function draw(g:Graphics)
{
super.draw(g);
_stageCanvas.getContext('2d').drawImage(_drawCanvas, 0,0);
}
private function get_ctx():Dynamic
{
return _ctx;
}
public var ctx(get_ctx, null):Dynamic;