From: Jeremy Paul Whiting Date: Fri, 26 Oct 2007 21:11:20 +0000 (+0000) Subject: moved fontutils.h from kanagram/src into here so both kanagram and blinken can use... X-Git-Tag: v3.96.0~18 X-Git-Url: https://git.rmz.fi/?a=commitdiff_plain;h=9b01281209177221213105d2130684e2be288e48;p=libqmvoc.git moved fontutils.h from kanagram/src into here so both kanagram and blinken can use the same copy svn path=/trunk/KDE/kdeedu/libkdeedu/; revision=729757 --- diff --git a/kdeeduui/fontutils.cpp b/kdeeduui/fontutils.cpp new file mode 100644 index 0000000..8d4371b --- /dev/null +++ b/kdeeduui/fontutils.cpp @@ -0,0 +1,34 @@ +/*************************************************************************** + * Copyright (C) 2005-2006 by Albert Astals Cid * + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + ***************************************************************************/ + +#include "fontutils.h" + +#include + +int fontUtils::fontSize(QPainter &p, const QString &s1, int w, int h) +{ + int size; + QRect aux1; + bool done = false; + + size = 28; + + while (!done && size > 1) + { + QFont f = p.font(); + f.setPointSize(size); + p.setFont(f); + aux1 = p.boundingRect(QRect(0, 0, w, h), Qt::TextWordWrap | Qt::AlignCenter, s1); + if (aux1.width() == 0 || aux1.height() == 0) return -1; + else if (aux1.width() > w || aux1.height() > h) size = qMin(w * size / aux1.width(), h * size / aux1.height()); + else done = true; + } + + return size; +} diff --git a/kdeeduui/fontutils.h b/kdeeduui/fontutils.h new file mode 100644 index 0000000..a0f8bed --- /dev/null +++ b/kdeeduui/fontutils.h @@ -0,0 +1,24 @@ +/*************************************************************************** + * Copyright (C) 2005 by Albert Astals Cid * + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + ***************************************************************************/ + +#ifndef FONTUTILS_H +#define FONTUTILS_H + +#include "libkdeedu_ui_export.h" + +class QPainter; +class QString; + +namespace fontUtils +{ + int KDEEDUUI_EXPORT fontSize(QPainter &p, const QString &s1, int w, int h); +} + +#endif +