Ejemplo n.º 1
0
        public void SetBlockLocation(double locationX, double alignmentCenterY, double rowY)
        {
            double moleculeY = 0;

            if (null != Molecule)
            {
                var maxMoleculeCenter = Molecule.GetVerticalAlignmentCenter();
                var locationY         = alignmentCenterY - Molecule.GetSize().Height - FontManager.Instance.FontSize * 0.2;
                Location          = new Point(locationX, locationY);
                Molecule.Location = new Point(locationX, locationY);
                Molecule.SetBlockLocation(locationX, locationY + maxMoleculeCenter, rowY);
                moleculeY = locationY;
            }
            else
            {
                var locationY = alignmentCenterY - FontManager.Instance.FontSize * 1.2;
                Location  = new Point(locationX, locationY);
                moleculeY = locationY;
            }
            if (null != Denominator)
            {
                var maxDenominatorCenter = Denominator.GetVerticalAlignmentCenter();
                Denominator.Location = new Point(locationX, alignmentCenterY + FontManager.Instance.FontSize * 0.2);
                Denominator.SetBlockLocation(locationX, Denominator.Location.Y + maxDenominatorCenter, rowY);
            }
        }