Bug 9031 fixed: Misalignment when using xstring with a matrix
[scilab.git] / scilab / modules / console / src / java / org / scilab / modules / console / utils / ScilabSpecialTextUtilities.java
index 064c825..8373955 100644 (file)
@@ -63,13 +63,13 @@ public final class ScilabSpecialTextUtilities {
                 icon = compileMathMLExpression(text, component.getFont().getSize());
             }
         }
-        
+
         if (icon == null) {
             // Shortcut when we are sure text is
             // neither Latex nor MathML
             return false;
         }
-        
+
         try {
             setIcon(component, icon);
         } catch (InvocationTargetException e) {
@@ -258,16 +258,17 @@ public final class ScilabSpecialTextUtilities {
             jev.draw(g2d, 0, ascent);
             g2d.dispose();
 
-            return new SpecialIcon(new ImageIcon(bimg));
+            return new SpecialIcon(new ImageIcon(bimg), (int) Math.ceil(jev.getDescentHeight()));
         }
     }
 
     /**
      * Inner class to distinguish normal icons and icons coming from a LaTeX or a MathML compilation
      */
-    private static class SpecialIcon implements Icon {
+    public static class SpecialIcon implements Icon {
 
         Icon icon;
+        int depth;
 
         /**
          * @param icon the Icon to wrap
@@ -277,6 +278,14 @@ public final class ScilabSpecialTextUtilities {
         }
 
         /**
+         * @param icon the Icon to wrap
+         */
+        SpecialIcon(Icon icon, int depth) {
+            this.icon = icon;
+            this.depth = depth;
+        }
+
+        /**
          * {@inheritedDoc}
          */
         public int getIconHeight() {
@@ -290,6 +299,10 @@ public final class ScilabSpecialTextUtilities {
             return icon.getIconWidth();
         }
 
+        public int getIconDepth() {
+            return depth;
+        }
+
         /**
          * {@inheritedDoc}
          */