# HG changeset patch # User Santeri Piippo # Date 1394545467 -7200 # Node ID 8e3058cb92810bd765e35afe3e3b1594865b54b4 # Parent 25b7b4aa99162738119a4c56dbe41924c121892a - subfile coloring now works again diff -r 25b7b4aa9916 -r 8e3058cb9281 src/Colors.cc --- a/src/Colors.cc Tue Mar 11 14:35:21 2014 +0200 +++ b/src/Colors.cc Tue Mar 11 15:44:27 2014 +0200 @@ -74,7 +74,7 @@ // ============================================================================= // ============================================================================= -int luma (QColor& col) +int luma (const QColor& col) { return (0.2126f * col.red()) + (0.7152f * col.green()) + diff -r 25b7b4aa9916 -r 8e3058cb9281 src/Colors.h --- a/src/Colors.h Tue Mar 11 14:35:21 2014 +0200 +++ b/src/Colors.h Tue Mar 11 15:44:27 2014 +0200 @@ -31,7 +31,7 @@ }; void initColors(); -int luma (QColor& col); +int luma (const QColor& col); // Safely gets a color with the given number or null if no such color. LDColor* getColor (int colnum); diff -r 25b7b4aa9916 -r 8e3058cb9281 src/GLCompiler.cc --- a/src/GLCompiler.cc Tue Mar 11 14:35:21 2014 +0200 +++ b/src/GLCompiler.cc Tue Mar 11 15:44:27 2014 +0200 @@ -46,6 +46,7 @@ #define DEBUG_PRINT(...) fprint (stdout, __VA_ARGS__) extern_cfg (Bool, gl_blackedges); +extern_cfg (String, gl_bgcolor); static QList g_warnedColors; static const QColor g_BFCFrontColor (40, 192, 40); static const QColor g_BFCBackColor (224, 40, 40); @@ -127,7 +128,16 @@ QColor qcol; if (poly.color == maincolor) - qcol = GLRenderer::getMainColor(); + { + if (topobj->color() == maincolor) + qcol = GLRenderer::getMainColor(); + else + qcol = getColor (topobj->color())->faceColor; + } + elif (poly.color == edgecolor) + { + qcol = luma (QColor (gl_bgcolor)) > 40 ? Qt::black : Qt::white; + } else { LDColor* col = getColor (poly.color); @@ -136,16 +146,6 @@ qcol = col->faceColor; } - if (poly.color == edgecolor) - { - qcol = QColor (32, 32, 32); // luma (m_bgcolor) < 40 ? QColor (64, 64, 64) : Qt::black; - - /* - if (!gl_blackedges && poly.obj->getParent() && (col = getColor (poly.obj->getParent()->getColor()))) - qcol = col->edgeColor; - */ - } - if (qcol.isValid() == false) { // The color was unknown. Use main color to make the poly.object at least