コード例 #1
0
ファイル: utils.cpp プロジェクト: elFarto/qBittorrent
QPixmap Utils::Gui::scaledPixmapSvg(const QString &path, const QWidget *widget, const int baseHeight)
{
    const int scaledHeight = baseHeight * Utils::Gui::screenScalingFactor(widget);
    const QString normalizedKey = path + '@' + QString::number(scaledHeight);

    QPixmap pm;
    QPixmapCache cache;
    if (!cache.find(normalizedKey, &pm)) {
        pm = QIcon(path).pixmap(scaledHeight);
        cache.insert(normalizedKey, pm);
    }
    return pm;
}
コード例 #2
0
ファイル: drawer.cpp プロジェクト: elcerdo/box2d
Drawer::Drawer(GameData& data,QWidget *parent)
: QGLWidget(parent), world(NULL),
  panning(false), fullscreen(false), panningPosition(0,0), panningPositionStart(0,0), panningPositionCurrent(0,0), scale(0.), debugdraw(false),
  cursorMovedTime(0),
  data(data),
  ballImage(":/images/ball.png"), leftPlayerImage(":/images/left_blob.png"), rightPlayerImage(":/images/right_blob.png"),
  arrowImage(":/images/arrow.png"),
  trajectoryImage(200,150), birdImage(":/images/bird.png"),
  //win00(":/images/win00.png"),win01(":/images/win01.png"),
  //lose00(":/images/lose00.png"),lose01(":/images/lose01.png"),
  frame(":/images/tv_frame.png")
{
    resize(800,600);
    setCursor(QCursor(Qt::BlankCursor));
    setMouseTracking(true);
  
    { // load settings
	QSettings settings;
	scale = settings.value("drawer/scale",40.).toFloat();
	panningPosition = settings.value("drawer/panningPosition",0.).toPointF();
	debugdraw = settings.value("drawer/debugdraw",false).toBool();
	fullscreen = settings.value("drawer/fullscreen",false).toBool();
	if (fullscreen) setWindowState(windowState()|Qt::WindowFullScreen);
    }

    { // background noise
	noise_current = 0;
	QPixmapCache cache;
	for (int kk=0; kk<GameManager::numberOfNoiseBackground(); kk++) {
	    QString name = QString("noise%1").arg(kk);
	    bool ok = cache.find(name,&noises[kk]);
	    Q_ASSERT(ok);
	}
    }

    { // setup graphic stuff
	drawingPen.setColor("white");
	drawingPen.setWidthF(.25);
	drawingPen.setCapStyle(Qt::RoundCap);
	//drawingFont.setFamily("04b03");
	drawingFont.setFamily("PixelSplitter");
	drawingFont.setPixelSize(22);

	debugPen.setColor("red");
	debugFont.setBold(true);
	debugFont.setPixelSize(20);
    }

    time.start();
}