Revision: 56199
http://sourceforge.net/p/brlcad/code/56199
Author: vladbogo
Date: 2013-07-24 11:06:50 +0000 (Wed, 24 Jul 2013)
Log Message:
-----------
Set font size according to window size.
Modified Paths:
--------------
brlcad/trunk/include/dm-qt.h
brlcad/trunk/src/libdm/dm-qt.cpp
Modified: brlcad/trunk/include/dm-qt.h
===================================================================
--- brlcad/trunk/include/dm-qt.h 2013-07-24 10:04:43 UTC (rev 56198)
+++ brlcad/trunk/include/dm-qt.h 2013-07-24 11:06:50 UTC (rev 56199)
@@ -50,6 +50,7 @@
QColor fg, bg;
QPixmap *pix;
QPainter *painter;
+ QFont *font;
};
#endif /* DM_QT */
Modified: brlcad/trunk/src/libdm/dm-qt.cpp
===================================================================
--- brlcad/trunk/src/libdm/dm-qt.cpp 2013-07-24 10:04:43 UTC (rev 56198)
+++ brlcad/trunk/src/libdm/dm-qt.cpp 2013-07-24 11:06:50 UTC (rev 56199)
@@ -51,6 +51,7 @@
struct dm_xvars *pubvars = (struct dm_xvars *)dmp->dm_vars.pub_vars;
struct qt_vars *privars = (struct qt_vars *)dmp->dm_vars.priv_vars;
+ delete privars->font;
privars->win->close();
delete privars->win;
@@ -78,6 +79,9 @@
privars->pix->fill(privars->bg);
privars->painter = new QPainter(privars->pix);
+ privars->painter->setPen(privars->fg);
+ privars->painter->setFont(*privars->font);
+
return TCL_OK;
}
@@ -88,8 +92,9 @@
struct qt_vars *privars = (struct qt_vars *)dmp->dm_vars.priv_vars;
privars->painter->end();
delete privars->painter;
+ privars->painter = NULL;
+ dmp->dm_processEvents(dmp);
- dmp->dm_processEvents(dmp);
return TCL_OK;
}
@@ -144,7 +149,6 @@
sy2 = dm_Normal2Xy(dmp, y_2, 0);
privars->painter->drawLine(sx1, sy1, sx2, sy2);
-
return TCL_OK;
}
@@ -232,8 +236,9 @@
privars->fg.setRgb(r, g, b);
- privars->painter->setPen(privars->fg);
-
+ if (privars->painter != NULL) {
+ privars->painter->setPen(privars->fg);
+ }
return TCL_OK;
}
@@ -309,12 +314,37 @@
*privars->pix = privars->pix->scaled(width, height);
if (dmp->dm_debugLevel) {
- bu_log("qt_configureWin_guts()\n");
+ bu_log("qt_configureWin()\n");
bu_log("width = %d, height = %d\n", dmp->dm_width, dmp->dm_height);
}
- /* TODO select font */
+ /* set font according to window size */
+ if (privars->font == NULL) {
+ privars->font = new QFont(QString(FONTBACK));
+ }
+ if (dmp->dm_width < 582) {
+ if (privars->font->pointSize() != 5) {
+ privars->font->setPointSize(5);
+ }
+ } else if (dmp->dm_width < 679) {
+ if (privars->font->pointSize() != 6) {
+ privars->font->setPointSize(6);
+ }
+ } else if (dmp->dm_width < 776) {
+ if (privars->font->pointSize() != 7) {
+ privars->font->setPointSize(7);
+ }
+ } else if (dmp->dm_width < 874) {
+ if (privars->font->pointSize() != 8) {
+ privars->font->setPointSize(8);
+ }
+ } else {
+ if (privars->font->pointSize() != 9) {
+ privars->font->setPointSize(9);
+ }
+ }
+
return TCL_OK;
}
@@ -672,15 +702,17 @@
privars->win->setAutoFillBackground(true);
+ privars->font = NULL;
qt_configureWin(dmp, 1);
+ privars->painter = NULL;
+ qt_setFGColor(dmp, 1, 0, 0, 0, 0);
qt_setBGColor(dmp, 0, 0, 0);
privars->win->show();
Tk_SetWindowBackground(pubvars->xtkwin, 0);
Tk_MapWindow(pubvars->xtkwin);
-
- bu_log("Tk: %ld Qt: %ld\n", pubvars->win, privars->win->winId());
+
bu_log("qt_open called\n");
return dmp;
}
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
------------------------------------------------------------------------------
See everything from the browser to the database with AppDynamics
Get end-to-end visibility with application monitoring from AppDynamics
Isolate bottlenecks and diagnose root cause in seconds.
Start your free trial of AppDynamics Pro today!
http://pubads.g.doubleclick.net/gampad/clk?id=48808831&iu=/4140/ostg.clktrk
_______________________________________________
BRL-CAD Source Commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/brlcad-commits