File indexing completed on 2023-05-30 10:40:03
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 }