private static void PaintImage(Context context, CairoRenderObject ro) { throw new NotImplementedException(); }
private static Rectangle AdjustForLabel(Context context, CairoRenderObject ro) { throw new NotImplementedException(); }
private void RenderObject(CairoRenderObject ro, Context g) { if (ro.State == RenderState.Unknown) { return; } CreatePath(g, ro.Path); switch (ro.State) { case RenderState.Normal: if (ro.Path != null) { if (ro.Line != null) { if (ro.Outline != null) { StrokePath(g, ro.Outline); } StrokePath(g, ro.Line); } else if (ro.Fill != null) { FillPath(g, ro.Fill); if (ro.Outline != null) { StrokePath(g, ro.Outline); } } } if (ro.Text != null) { Rectangle newBounds = AdjustForLabel(g, ro); DrawText(g, ro.Text, ro.Font, ro.Fill, newBounds); //g.DrawString(ro.Text, ro.Font, ro.Fill, newBounds); } break; case RenderState.Highlighted: if (ro.Path != null) { if (ro.HighlightLine != null) { if (ro.HighlightOutline != null) { StrokePath(g, ro.HighlightOutline); } StrokePath(g, ro.HighlightLine); } else if (ro.HighlightFill != null) { FillPath(g, ro.HighlightFill); if (ro.HighlightOutline != null) { StrokePath(g, ro.HighlightOutline); } } } if (ro.Text != null) { Rectangle newBounds = AdjustForLabel(g, ro); DrawText(g, ro.Text, ro.Font, ro.HighlightFill, newBounds); //g.DrawString(ro.Text, ro.Font, ro.HighlightFill, newBounds); } break; case RenderState.Selected: if (ro.Path != null) { if (ro.SelectLine != null) { if (ro.SelectOutline != null) { StrokePath(g, ro.SelectOutline); } StrokePath(g, ro.SelectLine); } else if (ro.SelectFill != null) { FillPath(g, ro.SelectFill); if (ro.SelectOutline != null) { StrokePath(g, ro.SelectOutline); } } } if (ro.Text != null) { Rectangle newBounds = AdjustForLabel(g, ro); DrawText(g, ro.Text, ro.Font, ro.SelectFill, newBounds); //g.DrawString(ro.Text, ro.Font, ro.SelectFill, newBounds); } break; default: break; } if (ro.Image == null) { return; } PaintImage(g, ro); //g.DrawImage(ro.Image, // GetPoints(ro.Bounds), // GetSourceRegion(ro.Image.Size), // GraphicsUnit.Pixel, // imageAttributes); }