]> git.lyx.org Git - lyx.git/blobdiff - src/mathed/math_parinset.C
cleanup indent
[lyx.git] / src / mathed / math_parinset.C
index 1a0e01b25dd4cc1cbd0ad11881747762ef445bc7..ae43ae750f15dc9641ea2f0641e91bcca957c7d3 100644 (file)
@@ -1,5 +1,9 @@
 #include <config.h>
 
+#ifdef __GNUG__
+#pragma implementation
+#endif
+
 #include "math_parinset.h"
 #include "math_iter.h"
 #include "array.h"
@@ -35,11 +39,6 @@ MathParInset::MathParInset(short st, string const & nm, short ot)
 }
 
 
-MathParInset::~MathParInset()
-{
-}
-
-
 MathedInset * MathParInset::Clone()
 {
        return new MathParInset(*this);
@@ -72,81 +71,85 @@ MathParInset::draw(Painter & pain, int x, int y)
        bool limits = false;
        
        xo_ = x;
-       yo_ = y; 
+       yo_ = y;
+       MathedXIter data(this);
        if (array.empty()) {
-               MathedXIter data(this);
+               //MathedXIter data(this);
                data.GetPos(x, y);
-               pain.rectangle(x, y - df_asc, df_width, df_asc, LColor::mathline);
+               pain.rectangle(x, y - df_asc, df_width, df_asc,
+                              LColor::mathline);
                return;
-       }  
-       MathedXIter data(this);
+       }
+       //MathedXIter data(this);
        data.GoBegin();
        while (data.OK()) {
                data.GetPos(x, y);
-               byte cx = data.GetChar();
+               byte const cx = data.GetChar();
                if (cx >= ' ') {
-                       string s = data.GetString();
+                       string const s = data.GetString();
                        drawStr(pain, data.fcode(), size(), x, y, s);
                        mathed_char_height(LM_TC_CONST, size(), 'y', asc, des);
                        limits = false;
-               }
-               else {
-                       if (cx == 0)
-                               break;
-                       if (MathIsInset(cx)) {
-                               int yy = y;
-                               MathedInset * p = data.GetInset();
-                               if (cx == LM_TC_UP) {
-                                       if (limits) {
-                                               x -= (xp>p->Width()) ? p->Width()+(xp-p->Width())/2: xp;  
-                                               yy -= (asc + p->Descent()+4);
-                                       }       
-                                       else
-                                               yy -= (p->Descent()>asc) ? p->Descent()+4: asc;
-                               }
-                               else if (cx == LM_TC_DOWN) {
-                                       if (limits) {
-                                               x -= (xp>p->Width()) ? p->Width()+(xp-p->Width())/2: xp;
-                                               yy += des + p->Ascent() + 2;
-                                       } else
-                                               yy += des + p->Ascent()/2;
-                               }
-                               else {
-                                       asc = p->Ascent();
-                                       des = p->Descent();
-                               }
-                               p->draw(pain, x, yy);
-                               if (cx!= LM_TC_UP && cx!= LM_TC_DOWN) {
-                                       limits = p->GetLimits();
-                                       if (limits)
-                                               xp = p->Width();
-                               }
-                               data.Next();
+               } else if (cx == 0) {
+                       break;
+               } else if (MathIsInset(cx)) {
+                       int yy = y;
+                       MathedInset * p = data.GetInset();
+                       if (cx == LM_TC_UP) {
+                               if (limits) {
+                                       x -= (xp > p->Width()) ?
+                                               p->Width() + (xp - p->Width()) / 2 : xp;  
+                                       yy -= (asc + p->Descent() + 4);
+                               } else
+                                       yy -= (p->Descent() > asc) ?
+                                               p->Descent() + 4 : asc;
+                       } else if (cx == LM_TC_DOWN) {
+                               if (limits) {
+                                       x -= (xp > p->Width()) ?
+                                               p->Width() + (xp - p->Width()) / 2 : xp;
+                                       yy += des + p->Ascent() + 2;
+                               } else
+                                       yy += des + p->Ascent() / 2;
+                       } else {
+                               asc = p->Ascent();
+                               des = p->Descent();
                        }
-                       else if (cx == LM_TC_TAB) {
-                               if (cxp == cx || cxp == LM_TC_CR || data.IsFirst()) {
-                                       pain.rectangle(x, y - df_asc, df_width, df_asc, LColor::mathline);
-                               }
-                               data.Next();
-                               limits = false;
+                       p->draw(pain, x, yy);
+                       if (cx != LM_TC_UP && cx != LM_TC_DOWN) {
+                               limits = p->GetLimits();
+                               if (limits)
+                                       xp = p->Width();
                        }
-                       else if (cx == LM_TC_CR) {
-                               if (cxp == LM_TC_TAB || cxp == LM_TC_CR || data.IsFirst()) {
-                                       pain.rectangle(x, y - df_asc, df_width, df_asc, LColor::mathline);
-                               }
-                               data.Next();
-                               limits = false;
+                       data.Next();
+               } else if (cx == LM_TC_TAB) {
+                       if (cxp == cx
+                           || cxp == LM_TC_CR || data.IsFirst()) {
+                               pain.rectangle(x, y - df_asc,
+                                              df_width, df_asc,
+                                              LColor::mathline);
                        }
-                       else {   
-                               lyxerr << "GMathed Error: Unrecognized code[" << cx << "]" << endl;
-                               break;
+                       data.Next();
+                       limits = false;
+               } else if (cx == LM_TC_CR) {
+                       if (cxp == LM_TC_TAB
+                           || cxp == LM_TC_CR || data.IsFirst()) {
+                               pain.rectangle(x, y - df_asc,
+                                              df_width, df_asc,
+                                              LColor::mathline);
                        }
+                       data.Next();
+                       limits = false;
+               } else {         
+                       lyxerr << "GMathed Error: Unrecognized code[" << cx << "]" << endl;
+                       break;
                }
+       
                cxp = cx;
        }
        if (cxp == LM_TC_TAB || cxp == LM_TC_CR) { 
                data.GetPos(x, y);
-               pain.rectangle(x, y - df_asc, df_width, df_asc, LColor::mathline);
+               pain.rectangle(x, y - df_asc, df_width, df_asc,
+                              LColor::mathline);
        }
 }
 
@@ -175,73 +178,72 @@ MathParInset::Metrics()
        while (data.OK()) {
                cx = data.GetChar();      
                if (cx >= ' ') {
-                       string s = data.GetString();
+                       string const s = data.GetString();
                        mathed_string_height(data.fcode(),
                                             size(), s, asc, des);
                        if (asc > ascent) ascent = asc;
                        if (des > descent) descent = des;
                        limits = false;
                        mathed_char_height(LM_TC_CONST, size(), 'y', asc, des);
-               } else
-                       if (MathIsInset(cx)) {
-                               MathedInset * p = data.GetInset();
-                               p->SetStyle(size());   
-                               p->Metrics();
-                               if (cx == LM_TC_UP) {
-                                       asc += (limits) ? p->Height() + 4: p->Ascent() + 
-                                               ((p->Descent()>asc) ? p->Descent() - asc + 4: 0);
-                               } else
-                                       if (cx == LM_TC_DOWN) {
-                                               des += ((limits) ? p->Height() + 4: p->Height() - p->Ascent() / 2);
-                                       } else {
-                                               asc = p->Ascent();
-                                               des = p->Descent();
-                                       }
-                               if (asc > ascent) ascent = asc;
-                               if (des > descent) descent = des;
-                               if (cx!= LM_TC_UP && cx!= LM_TC_DOWN)
-                                       limits = p->GetLimits();
-                               data.Next();
-                       } else 
-                               if (cx == LM_TC_TAB) {
-                                       int x, y;
-                                       data.GetIncPos(x, y);
-                                       if (data.IsFirst() || cxp == LM_TC_TAB || cxp == LM_TC_CR) {
-                                               if (ascent<df_asc) ascent = df_asc;
-                                               tb = x;
-                                       }
-                                       data.setTab(x-tb, tab);
+               } else if (MathIsInset(cx)) {
+                       MathedInset * p = data.GetInset();
+                       p->SetStyle(size());   
+                       p->Metrics();
+                       if (cx == LM_TC_UP) {
+                               asc += (limits) ? p->Height() + 4: p->Ascent() + 
+                                       ((p->Descent()>asc) ? p->Descent() - asc + 4: 0);
+                       } else if (cx == LM_TC_DOWN) {
+                               des += (limits ? p->Height() + 4 : p->Height() - p->Ascent() / 2);
+                       } else {
+                               asc = p->Ascent();
+                               des = p->Descent();
+                       }
+                       if (asc > ascent) ascent = asc;
+                       if (des > descent) descent = des;
+                       if (cx!= LM_TC_UP && cx!= LM_TC_DOWN)
+                               limits = p->GetLimits();
+                       data.Next();
+               } else  if (cx == LM_TC_TAB) {
+                       int x;
+                       int y;
+                       data.GetIncPos(x, y);
+                       if (data.IsFirst() || cxp == LM_TC_TAB || cxp == LM_TC_CR) {
+                               if (ascent < df_asc) ascent = df_asc;
+                               tb = x;
+                       }
+                       data.setTab(x - tb, tab);
+                       tb = x;
+                       ++tab;
+                       limits = false;                   
+                       data.Next();
+               } else if (cx == LM_TC_CR) {
+                       if (tb > 0) {
+                               int x;
+                               int y;
+                               data.GetIncPos(x, y);
+                               if (data.IsFirst() || cxp == LM_TC_TAB || cxp == LM_TC_CR) {
+                                       if (ascent < df_asc) ascent = df_asc;
                                        tb = x;
-                                       ++tab;
-                                       limits = false;                   
-                                       data.Next();
-                               } else
-                                       if (cx == LM_TC_CR) {
-                                               if (tb > 0) {
-                                                       int x, y;
-                                                       data.GetIncPos(x, y);
-                                                       if (data.IsFirst() || cxp == LM_TC_TAB || cxp == LM_TC_CR) {
-                                                               if (ascent<df_asc) ascent = df_asc;
-                                                               tb = x;
-                                                       } 
-                                                       data.setTab(x - tb, tab);
-                                               } else //if (GetColumns() == 1) 
-                                                       {
-                                                               int x, y;
-                                                               data.GetIncPos(x, y);
-                                                               data.setTab(x, tab);
-                                                               if (ascent<df_asc) ascent = df_asc;
-                                                       } 
-                                               tb = tab = 0;
-                                               data.subMetrics(ascent, descent);
-                                               ascent = df_asc;   
-                                               descent = 0;
-                                               data.Next();
-                                       } else {
-                                               lyxerr << "Mathed Error: Unrecognized code[" << cx
-                                                      << "]" << endl;
-                                               break;
-                                       }       
+                               } 
+                               data.setTab(x - tb, tab);
+                       } else //if (GetColumns() == 1) 
+                               {
+                                       int x;
+                                       int y;
+                                       data.GetIncPos(x, y);
+                                       data.setTab(x, tab);
+                                       if (ascent < df_asc) ascent = df_asc;
+                               } 
+                       tb = tab = 0;
+                       data.subMetrics(ascent, descent);
+                       ascent = df_asc;
+                       descent = 0;
+                       data.Next();
+               } else {
+                       lyxerr << "Mathed Error: Unrecognized code[" << cx
+                              << "]" << endl;
+                       break;
+               }       
                cxp = cx;
        }
        data.GetIncPos(width, ls);
@@ -430,6 +432,12 @@ MathedArray & MathParInset::GetData()
 }
 
 
+MathedArray const & MathParInset::GetData() const
+{
+       return array;
+}
+
+
 void MathParInset::setXY(int x, int y)
 {
        xo_ = x;