Just guessing, I didn't test it or did before, so I could be wrong :
// p0 vs p1/p2
ang01 = Math.atan2(p0.y-p1.y, p0.x-p1.x);
ang02 = Math.atan2(p0.y-p1.y, p0.x-p1.x);
draw the OPPOSITE arc between those angles, like cutting that portion from a full circle.
For circle drawing logic, check Canvas class
- repeat for the rest of the triangle corners (p1 and p2).
p1 vs p0/p2
p2 vs p0/p1
The rest is just plugging the vertices list array in a polygon to resolve/triangulate the vertexData/indexData... check Starling's Canvas class or MeshRoundRect for reference.
That mesh initialization code is pretty generic:
var vdata:VertexData = new VertexData();
var idata:IndexData = new IndexData();
var poly:Polygon = new Polygon(verticesList);
var mesh:Mesh=new Mesh(vdata,idata);
verticesList is just an array of coordinates like [x,y,x,y,x,y]...