public bool InsertRenderer(ICairoRenderer renderer) { var cairoRenderer = renderer; if (cairoRenderer == null) { return(false); } renderers.Add(cairoRenderer); return(true); }
public Node InputNodeAt(Node root, double x, double y) { if (root.InputTransparent) { return(null); } var children = root.Children; if (children != null) { // Manual loop to avoid excessive creation of iterators for (int i = children.Count - 1; i >= 0; i--) { var result = InputNodeAt(children[i], x, y); if (result != null) { return(result); } } } ICairoRenderer renderer = root.Renderer as ICairoRenderer; if (renderer == null) { return(null); } using (var context = contextInitializer()) { context.Save(); renderer.LayoutOutline(root, context); var point = TransformPoint(root, x, y); if (context.InFill(point.X, point.Y)) { context.NewPath(); context.Restore(); return(root); } context.NewPath(); context.Restore(); } return(null); }
public bool InsertRenderer(ICairoRenderer renderer) { var cairoRenderer = renderer; if (cairoRenderer == null) return false; renderers.Add (cairoRenderer); return true; }