mirror of
https://github.com/UpsilonNumworks/Upsilon.git
synced 2026-01-20 01:08:15 +01:00
31 lines
1.1 KiB
C++
31 lines
1.1 KiB
C++
#include "function_title_cell.h"
|
|
#include "../function.h"
|
|
|
|
namespace Graph {
|
|
|
|
void FunctionTitleCell::setColor(KDColor color) {
|
|
m_functionColor = color;
|
|
}
|
|
|
|
void FunctionTitleCell::setDerivative(bool derivative) {
|
|
m_derivative = derivative;
|
|
}
|
|
|
|
void FunctionTitleCell::drawRect(KDContext * ctx, KDRect rect) const {
|
|
EvenOddCell::drawRect(ctx, rect);
|
|
// Write the "(x)"
|
|
KDColor background = backgroundColor();
|
|
KDSize textSize = KDText::stringSize("f");
|
|
KDPoint origin(0.5f*(m_frame.width() - textSize.width()), 0.5f*(m_frame.height() - textSize.height()));
|
|
if (m_derivative) {
|
|
ctx->drawString("'", origin.translatedBy(KDPoint(textSize.width(), 0)), m_functionColor , background);
|
|
ctx->drawString(Function::Parameter, origin.translatedBy(KDPoint(2*textSize.width(), 0)), m_functionColor , background);
|
|
} else {
|
|
ctx->drawString(Function::Parameter, origin.translatedBy(KDPoint(textSize.width(), 0)), m_functionColor , background);
|
|
}
|
|
// Color the color indicator
|
|
ctx->fillRect(KDRect(0, 0, bounds().width(), k_colorIndicatorThickness), m_functionColor);
|
|
}
|
|
|
|
}
|