@@ -389,9 +389,13 @@ BitmapRenderer::draw (const db::Shape &shape, const db::CplxTrans &trans,
389389 db::DCoord h = trans.mag () * m_default_text_size;
390390 db::Font font = shape.text_font () == db::NoFont ? m_font : shape.text_font ();
391391
392- if (m_apply_text_trans && font != db::NoFont && font != db::DefaultFont) {
393- fp = db::DFTrans (trans.fp_trans () * shape.text_trans ());
394- h = trans.mag () * (shape.text_size () > 0 ? shape.text_size () : m_default_text_size);
392+ if (font != db::NoFont && font != db::DefaultFont) {
393+ if ((m_apply_text_trans_mode & 2 ) != 0 ) {
394+ fp = db::DFTrans (trans.fp_trans () * shape.text_trans ());
395+ }
396+ if ((m_apply_text_trans_mode & 1 ) != 0 ) {
397+ h = trans.mag () * (shape.text_size () > 0 ? shape.text_size () : m_default_text_size);
398+ }
395399 }
396400
397401 db::HAlign halign = shape.text_halign ();
@@ -1090,9 +1094,13 @@ BitmapRenderer::draw (const db::Text &txt, const db::CplxTrans &trans,
10901094 db::DCoord h = trans.mag () * m_default_text_size;
10911095 db::Font font = txt.font () == db::NoFont ? m_font : txt.font ();
10921096
1093- if (m_apply_text_trans && font != db::NoFont && font != db::DefaultFont) {
1094- fp = db::DFTrans (trans.fp_trans () * txt.trans ());
1095- h = trans.mag () * (txt.size () > 0 ? txt.size () : m_default_text_size);
1097+ if (font != db::NoFont && font != db::DefaultFont) {
1098+ if ((m_apply_text_trans_mode & 2 ) != 0 ) {
1099+ fp = db::DFTrans (trans.fp_trans () * txt.trans ());
1100+ }
1101+ if ((m_apply_text_trans_mode & 1 ) != 0 ) {
1102+ h = trans.mag () * (txt.size () > 0 ? txt.size () : m_default_text_size);
1103+ }
10961104 }
10971105
10981106 double fy = 0.0 ;
@@ -1161,9 +1169,13 @@ BitmapRenderer::draw (const db::DText &txt, const db::DCplxTrans &trans,
11611169 db::DCoord h = trans.ctrans (m_default_text_size_dbl);
11621170 db::Font font = txt.font () == db::NoFont ? m_font : txt.font ();
11631171
1164- if (m_apply_text_trans && font != db::NoFont && font != db::DefaultFont) {
1165- fp = trans.fp_trans () * db::DFTrans (txt.trans ());
1166- h = trans.ctrans (txt.size () > 0 ? txt.size () : m_default_text_size_dbl);
1172+ if (font != db::NoFont && font != db::DefaultFont) {
1173+ if ((m_apply_text_trans_mode & 2 ) != 0 ) {
1174+ fp = trans.fp_trans () * db::DFTrans (txt.trans ());
1175+ }
1176+ if ((m_apply_text_trans_mode & 1 ) != 0 ) {
1177+ h = trans.ctrans (txt.size () > 0 ? txt.size () : m_default_text_size_dbl);
1178+ }
11671179 }
11681180
11691181 double fy = 0.0 ;
0 commit comments