コード例 #1
0
 public override void OnRenderItem(ElementRenderEventArgs e)
 {
     if (Input != null)
     {
         e.Graphics.DrawString($"Value: {Value}", SystemFonts.DefaultFont, Brushes.White, Bounds.X + 10, Bounds.Y + 8);
     }
     else
     {
         e.Graphics.DrawString($"Value: {Value}", SystemFonts.DefaultFont, Brushes.White, (Bounds.X + Bounds.Width) - 65, Bounds.Y + 8);
     }
 }
コード例 #2
0
ファイル: OutputNode.cs プロジェクト: wwwK/FlowGraph
 public override void OnRenderItem(ElementRenderEventArgs e)
 {
 }
コード例 #3
0
        /// <summary>
        /// Handle paint
        /// </summary>
        protected override void OnPaint(PaintEventArgs e)
        {
            long d_renderStart = DateTime.UtcNow.Ticks;

            base.OnPaint(e);

            if (e.Graphics == null)
            {
                return;
            }

            e.Graphics.PageUnit           = GraphicsUnit.Pixel;
            e.Graphics.CompositingQuality = CompositingQuality.GammaCorrected;
            e.Graphics.TextRenderingHint  = TextRenderingHint.ClearTypeGridFit;
            e.Graphics.PixelOffsetMode    = PixelOffsetMode.HighQuality;
            e.Graphics.InterpolationMode  = InterpolationMode.HighQualityBicubic;

            UpdateMatrices();

            e.Graphics.Transform = Transformation;

            OnDrawBackground(e);

            e.Graphics.SmoothingMode = SmoothingMode.HighQuality;

            if (m_graphElements.Count > 0)
            {
                ElementRenderEventArgs renderEvent = new ElementRenderEventArgs(e.Graphics, GetTransformedLocation());
                m_debugElementsRenderTime = DateTime.UtcNow.Ticks;
                foreach (IElement element in VisibleElements)
                {
                    element.OnRender(renderEvent);
                }
                m_debugElementsRenderTime = (DateTime.UtcNow.Ticks - m_debugElementsRenderTime);
            }

            switch (EditMode)
            {
            case EGraphEditMode.SelectingBox:
            {
                Rectangle selectionRectangle = GetSelectionRectangle();
                if (FillSelectionRectangle)
                {
                    e.Graphics.FillRectangle(m_selectionColor.Brush, selectionRectangle);
                }
                e.Graphics.DrawRectangle(m_outlineSelectionColor.Pen, selectionRectangle);
            }
            break;

            case EGraphEditMode.Linking:
            {
                NodeConnector from = SelectedElement as NodeConnector;
                if (from != null)
                {
                    e.Graphics.DrawLine(Pens.Yellow, from.Bounds.X, from.Bounds.Y, m_transformed_location.X, m_transformed_location.Y);
                }
            }
            break;
            }

            e.Graphics.SmoothingMode = SmoothingMode.None;

            if (ShowDebugInfos)
            {
                DebugCall();  //we should call the framerate at the end of a rendering method, but here we want to ignore the debug render time
                OnDrawDebug(e);
            }
        }
コード例 #4
0
 /// <summary>
 /// Render item
 /// </summary>
 public override void OnRenderItem(ElementRenderEventArgs e)
 {
     //e.Graphics.DrawRectangle(Pens.Red, Bounds);
     e.Graphics.DrawString("Node Item", SystemFonts.DefaultFont, Brushes.White, Location.X + 10, Location.Y + 8);
 }