1 /* Copyright (c) 2015  Gerald Knizia
2  *
3  * This file is part of the IboView program (see: http://www.iboview.org)
4  *
5  * IboView is free software: you can redistribute it and/or modify
6  * it under the terms of the GNU General Public License as published by
7  * the Free Software Foundation, version 3.
8  *
9  * IboView is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12  * GNU General Public License for details.
13  *
14  * You should have received a copy of the GNU General Public License
15  * along with bfint (LICENSE). If not, see http://www.gnu.org/licenses/
16  *
17  * Please see IboView documentation in README.txt for:
18  * -- A list of included external software and their licenses. The included
19  *    external software's copyright is not touched by this agreement.
20  * -- Notes on re-distribution and contributions to/further development of
21  *    the IboView software
22  */
23 
24 #include <QSizePolicy>
25 #include "IvFixedAspectSvg.h"
26 // #include "Iv.h"
27 
FFixedAspectSvg(QWidget * parent_)28 FFixedAspectSvg::FFixedAspectSvg(QWidget *parent_)
29    : QSvgWidget(parent_)
30 {
31    QSizePolicy p = sizePolicy();
32    p.setHeightForWidth(true);
33    setSizePolicy(p);
34 //    IvEmit("Entered FFixedAspectSvg::FFixedAspectSvg.");
35 //    IvEmit("this->sizePolicy().hasHeightForWidth(): %1", this->sizePolicy().hasHeightForWidth());
36 }
37 
heightForWidth(int w) const38 int FFixedAspectSvg::heightForWidth(int w) const
39 {
40 //    IvEmit("Entered FFixedAspectSvg::heightForWidth. w = %1", w);
41    QSize svgSize = sizeHint();
42 //    QSize svgSize(930,360);
43    return int(double(w)/double(svgSize.width())*double(svgSize.height()));
44    // ^- wheee...works. That was more annoying than expected...
45 }
46