File indexing completed on 2024-04-14 03:39:25

0001 /*
0002     SPDX-FileCopyrightText: 2005-2006 Albert Astals Cid <aacid@kde.org>
0003 
0004     SPDX-License-Identifier: GPL-2.0-or-later
0005 */
0006 
0007 #include "number.h"
0008 
0009 #include <QPainter>
0010 #include <QSvgRenderer>
0011 
0012 number::number(int n)
0013 {
0014     m_number = n;
0015 }
0016 
0017 void number::paint(QPainter &p, int digits, QSvgRenderer *renderer) const
0018 {
0019     int nDigits, digit, number;
0020     nDigits = 0;
0021     number = m_number;
0022     
0023     while(nDigits < digits || number != 0)
0024     {
0025         digit = number % 10;
0026         number /= 10;
0027         paintDigit(p, digit, renderer);
0028         nDigits++;
0029         p.translate(-30, 0);
0030     }
0031     p.translate(30 * nDigits, 0);
0032 }
0033 
0034 void number::paintDigit(QPainter &p, int number, QSvgRenderer *renderer) const
0035 {
0036     // make gcc  happy
0037     QString n = QStringLiteral("zero");
0038     
0039     switch (number)
0040     {
0041         case 1:
0042             n = QStringLiteral("one");
0043         break;
0044         
0045         case 2:
0046             n = QStringLiteral("two");
0047         break;
0048         
0049         case 3:
0050             n = QStringLiteral("three");
0051         break;
0052         
0053         case 4:
0054             n = QStringLiteral("four");
0055         break;
0056         
0057         case 5:
0058             n = QStringLiteral("five");
0059         break;
0060         
0061         case 6:
0062             n = QStringLiteral("six");
0063         break;
0064         
0065         case 7:
0066             n = QStringLiteral("seven");
0067         break;
0068         
0069         case 8:
0070             n = QStringLiteral("eight");
0071         break;
0072         
0073         case 9:
0074             n = QStringLiteral("nine");
0075         break;
0076     }
0077     
0078     renderer->render(&p, n, QRect(0, 0, 24, 30));
0079 }