private void VisitDynamic(ShapeDynamicTextBase dynamicText)
        {
            try
            {
                if (dynamicText.IsChanged)
                {
                    dynamicText.BeginEdit();
                    dynamicText.DrawString(false);
                    dynamicText.EndEdit();

                    dynamicText.Font.FontFileName = dynamicText.FontMgr.FontFileName;
                    if (dynamicText.FixedMode == SizeFixedMode.Frame)
                    {
                        dynamicText.Font.Size = dynamicText.FontMgr.FontHeight / Zoom;
                    }

                    if (dynamicText.FontMgr.Bold)
                    {
                        dynamicText.Font.Style = dynamicText.Font.Style | FontStyle.Bold;
                    }
                    else
                    {
                        dynamicText.Font.Style = dynamicText.Font.Style & ((FontStyle.Bold | FontStyle.Italic | FontStyle.Strikeout | FontStyle.Underline) ^ FontStyle.Bold);
                    }

                    if (dynamicText.FontMgr.Italic)
                    {
                        dynamicText.Font.Style = FontStyle.Italic;
                    }
                    else
                    {
                        dynamicText.Font.Style = dynamicText.Font.Style & ((FontStyle.Bold | FontStyle.Italic | FontStyle.Strikeout | FontStyle.Underline) ^ FontStyle.Italic);
                    }
                    dynamicText.IsChanged = false;
                }
                if (dynamicText.BitmapOverlay == null)
                {
                    dynamicText.DrawString(false);
                }
                else
                {
                    Graphics.DrawImage(dynamicText.BitmapOverlay, dynamicText.VirtualBounds);
                }
            }
            catch (Exception ex)
            {
                Log.Error(ex.Message, ex);
            }
        }