Login  Register

Re: drawing text issue

Posted by dxli on May 23, 2013; 11:09am
URL: https://forum.librecad.org/drawing-text-issue-tp5708110p5708111.html

Hi Johnson,

You can draw text efficiently(see the patch).

CAD uses stick fonts because all fonts are drawn as lines(polylines) and can be converted to CAD entities.

I'm wondering if it's okay to support ordinary fonts, and only revert back to stick fonts when converting is needed. This means efficiency and easy support for all languages.

For the time being, let's fix bugs in 2.0 for a stable release. After that, we implement new features in 2.1.

Thanks,

dxli


diff --git a/librecad/src/lib/gui/rs_graphicview.cpp b/librecad/src/lib/gui/rs_graphicview.cpp
index 726286d..4ee6364 100644
--- a/librecad/src/lib/gui/rs_graphicview.cpp
+++ b/librecad/src/lib/gui/rs_graphicview.cpp
@@ -28,6 +28,7 @@
 #include <limits.h>
 #include "qc_applicationwindow.h"
 #include "rs_graphicview.h"
+#include "rs_painterqt.h"
 
 #include "rs_linetypepattern.h"
 #include "rs_eventhandler.h"
@@ -1094,6 +1095,13 @@ void RS_GraphicView::drawLayer2(RS_Painter *painter)
     // ----------------------------------------------------------
     if (!isPrintPreview())
         drawAbsoluteZero(painter);
+    RS_PainterQt* p0=dynamic_cast<RS_PainterQt*>(painter);
+    if(p0) {
+        DEBUG_HEADER();
+       p0->setPen(0,0,255);
+       p0->setFont(QFont("Times", 20, QFont::Bold));
+       p0->drawText(100, 100, 100, 100, Qt::AlignHCenter, "ABCD");
+    }
 }