亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? celsplashscreen.cpp

?? celestia源代碼
?? CPP
字號:
/***************************************************************************                          celsplashscreen.cpp  -  description                             -------------------    begin                : Tue Jan 03 23:27:30 CET 2006    copyright            : (C) 2006 by Christophe Teyssier    email                : chris@teyssier.org ***************************************************************************//*************************************************************************** *                                                                         * *   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 <qapplication.h>#include <qpainter.h>#include <qrect.h>#include <klocale.h>#include <kglobal.h>#include <kglobalsettings.h>#include <celsplashscreen.h>#include <X11/Xlib.h>CelSplashScreen::CelSplashScreen(const QString& filename, QWidget* _parent):    QWidget(0, 0, WStyle_Customize | WX11BypassWM),     parent(_parent){    setPixmap(filename);    show();}void CelSplashScreen::mousePressEvent( QMouseEvent * ){    hide();}void CelSplashScreen::repaint(){    drawContents();    QWidget::repaint();    QApplication::flush();}void CelSplashScreen::drawContents(){    QPixmap textPix = pixmap;    QPainter painter( &textPix, this );    drawContents( &painter );    setErasePixmap( textPix );}void CelSplashScreen::drawContents(QPainter *painter) {    status.draw(painter);}void CelSplashScreen::update(const string& _message) {    status.setContent(_message);    repaint();}void CelSplashScreen::finish( QWidget *mainWin ){    if ( mainWin ) {	extern void qt_wait_for_window_manager( QWidget *mainWin );	qt_wait_for_window_manager( mainWin );    }    close();}void CelSplashScreen::setPixmap( const QString &filename ){    QPixmap _pixmap(filename);    resize( _pixmap.size() );    //  Set default values for status and version fields    status.getRect().setX(20);    status.getRect().setY(height() - 40);    status.getRect().setWidth(width() - 200);    status.getRect().setHeight(20);    status.setFlags(Qt::AlignLeft | Qt::AlignTop);    version.getRect().setX(width() - 180);    version.getRect().setY(height() - 40);    version.getRect().setWidth(150);    version.getRect().setHeight(20);    version.setFlags(Qt::AlignRight | Qt::AlignTop);    version.setContent(VERSION);    KFileMetaInfo info(filename);    KFileMetaInfoGroup comments = info.group("Comment");    if (comments.isValid()) {        status.set("status", comments);        version.set("version", comments);        int i = 0;        char extraName[10];        sprintf(extraName, "extra%02d", i);        while (i< 100 && comments.item(QString(extraName) + "_insert_before").isValid()) {            TextItem extra;            extra.set(extraName, comments);            extraText.push_back(extra);            i++;            sprintf(extraName, "extra%02d", i);        }    }    QRect desk = KGlobalSettings::splashScreenDesktopGeometry();    setGeometry( ( desk.width() / 2 ) - ( width() / 2 ) + desk.left(),       ( desk.height() / 2 ) - ( height() / 2 ) + desk.top(),         width(), height() );    if (_pixmap.hasAlphaChannel()) {        QPixmap bg = QPixmap::grabWindow( qt_xrootwin(), x(), y(), width(), height() );        QPainter painter(&bg);        painter.drawPixmap(0, 0, _pixmap);        pixmap = bg;    } else {        pixmap = _pixmap;    }        QPainter painter( &pixmap, this );    version.draw(&painter);    for(std::vector<TextItem>::const_iterator i = extraText.begin(); i != extraText.end();  ++i)        (*i).draw(&painter);    repaint();}TextItem::TextItem():    disable(false),    color(QColor("white")),    font(QFont("Arial")),    showBox(false) {    font.setPixelSize(11);}void TextItem::draw(QPainter *painter) const {    if (disable) return;    painter->setPen(color);    painter->setFont(font);    painter->drawText(rect, flags, insertBefore + content);    if (showBox) painter->drawRect(rect);}void TextItem::setColor(const QString& rgb) {    bool okr, okg, okb;    int r, g, b;    r = rgb.mid(0, 2).toInt(&okr, 16);    g = rgb.mid(2, 2).toInt(&okg, 16);    b = rgb.mid(4, 2).toInt(&okb, 16);    if (okr && okg && okb) color.setRgb(r, g, b);}void TextItem::set(const QString& prefix, const KFileMetaInfoGroup& comments) {    bool ok;    int intVal;    intVal = comments.value(prefix + "_disable").toInt(&ok);    if (ok) disable = intVal;    intVal = comments.value(prefix + "_x").toInt(&ok);    if (ok) rect.setX(intVal);    intVal = comments.value(prefix + "_y").toInt(&ok);    if (ok) rect.setY(intVal);    intVal = comments.value(prefix + "_width").toInt(&ok);    if (ok) rect.setWidth(intVal);    intVal = comments.value(prefix+ "_height").toInt(&ok);    if (ok) rect.setHeight(intVal);    QString sVal = comments.value(prefix + "_halign").toString();    int _flags = -1;    if (sVal == "left") {        _flags = Qt::AlignLeft;    } else if (sVal == "center") {        _flags = Qt::AlignHCenter;    } else if (sVal == "right") {        _flags = Qt::AlignRight;    }    sVal = comments.value(prefix + "_valign").toString();    if (sVal == "top") {        if (_flags < 0) _flags = Qt::AlignTop;        else _flags |= Qt::AlignTop;    } else if (sVal == "center") {        if (_flags < 0) _flags = Qt::AlignVCenter;        else _flags |= Qt::AlignVCenter;    } else if (sVal == "bottom") {        if (_flags < 0) _flags = Qt::AlignBottom;        else _flags |= Qt::AlignBottom;    }    if (_flags >= 0) flags = _flags;    sVal = comments.value(prefix + "_font_family").toString();    if (sVal != "") font.setFamily(sVal);    intVal = comments.value(prefix + "_font_size").toInt(&ok);    if (ok) font.setPixelSize(intVal);    intVal = comments.value(prefix + "_font_is_bold").toInt(&ok);    if (ok) font.setBold(intVal);    sVal = comments.value(prefix + "_color").toString();    if (sVal != "") setColor(sVal);    intVal = comments.value(prefix + "_show_box").toInt(&ok);    if (ok) showBox = intVal;    sVal = comments.value(prefix + "_insert_before").toString();    if (sVal != "") insertBefore = sVal;}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美久久久久久久久久| 欧美日韩国产精品自在自线| 久久99九九99精品| 日日摸夜夜添夜夜添精品视频| 悠悠色在线精品| 亚洲在线成人精品| 午夜精品影院在线观看| 亚洲福利一区二区三区| 日韩电影免费一区| 韩国成人在线视频| jvid福利写真一区二区三区| 99在线精品免费| 在线观看一区不卡| 69久久夜色精品国产69蝌蚪网| 欧美一区二区视频网站| 精品国产免费视频| 欧美高清在线视频| 亚洲激情欧美激情| 欧美aa在线视频| 国产高清一区日本| 91福利国产精品| 欧美成人一区二区三区片免费| 26uuu亚洲| 亚洲色图欧美激情| 日本午夜精品视频在线观看| 国产精品一区二区在线播放| 色综合一区二区| 欧美精三区欧美精三区| 欧美激情一区二区三区在线| 免费成人小视频| 成人动漫一区二区| 欧美一级黄色片| 国产片一区二区| 日韩激情在线观看| 国产成人亚洲综合a∨婷婷图片| 色哟哟日韩精品| 精品国精品国产尤物美女| 亚洲婷婷综合久久一本伊一区| 日本中文字幕一区二区有限公司| 国产成人午夜精品5599| 91激情五月电影| 久久久久久一二三区| 亚洲综合成人网| 国产风韵犹存在线视精品| 欧美日韩精品二区第二页| 久久久久国产精品厨房| 婷婷夜色潮精品综合在线| 99精品1区2区| 精品国产欧美一区二区| 五月婷婷欧美视频| 99久久777色| 欧美国产一区二区| 看电视剧不卡顿的网站| 欧美日本乱大交xxxxx| 亚洲欧洲成人精品av97| 久久成人综合网| 日韩一区二区在线看片| 一区二区三区国产精品| 97久久精品人人澡人人爽| 欧美精品一区二区三区四区| 亚洲成人综合视频| 色狠狠色噜噜噜综合网| 中文字幕中文在线不卡住| 国产美女在线精品| 26uuu精品一区二区| 成人午夜电影小说| 国产日韩一级二级三级| 国产一区二区三区高清播放| 日韩精品一区在线观看| 青青国产91久久久久久| 制服视频三区第一页精品| 午夜视频一区在线观看| 欧美女孩性生活视频| 午夜精品福利在线| 欧美一卡二卡三卡四卡| 日韩av电影免费观看高清完整版在线观看| 色网站国产精品| 亚洲色图都市小说| 在线观看日韩av先锋影音电影院| 亚洲少妇30p| 欧美在线免费播放| 五月婷婷欧美视频| 欧美大尺度电影在线| 韩日欧美一区二区三区| 久久久777精品电影网影网| 国产福利91精品一区二区三区| 国产日韩欧美一区二区三区乱码| 粉嫩久久99精品久久久久久夜| 国产精品久久一卡二卡| 一道本成人在线| 日韩电影在线观看一区| 精品欧美乱码久久久久久 | 欧美一区2区视频在线观看| 蜜臀av国产精品久久久久| 精品久久久久久久久久久久久久久| 麻豆精品蜜桃视频网站| 中文字幕精品综合| 色域天天综合网| 久久国产乱子精品免费女| 国产欧美精品日韩区二区麻豆天美| 91在线观看一区二区| 五月天久久比比资源色| 久久精品视频一区二区三区| 94-欧美-setu| 奇米影视一区二区三区小说| 亚洲国产精品高清| 欧美美女网站色| 国产成人三级在线观看| 亚洲国产一区二区三区| 国产情人综合久久777777| 欧美性猛片aaaaaaa做受| 激情丁香综合五月| 亚洲最色的网站| 久久婷婷一区二区三区| 欧美午夜精品理论片a级按摩| 久久精品国产亚洲5555| 亚洲精品乱码久久久久久日本蜜臀| 欧美成人精品福利| 欧美色国产精品| caoporn国产精品| 激情文学综合丁香| 天天综合天天做天天综合| 日韩一区在线看| 精品国产一区二区三区久久久蜜月| 99久久免费精品高清特色大片| 久久精品国产一区二区三| 亚洲一区在线视频| 国产精品国模大尺度视频| 26uuu精品一区二区| 91精品国产91久久久久久最新毛片| 一本久道久久综合中文字幕| 国产91丝袜在线播放九色| 日韩福利视频导航| 婷婷综合久久一区二区三区| 国产精品沙发午睡系列990531| 日韩一级高清毛片| 欧美色窝79yyyycom| 99re视频这里只有精品| 成人一区二区在线观看| 激情亚洲综合在线| 免费成人性网站| 免费高清成人在线| 久久99在线观看| 九一九一国产精品| 9l国产精品久久久久麻豆| 国产一区二区三区精品欧美日韩一区二区三区| 曰韩精品一区二区| 亚洲自拍偷拍欧美| 亚洲国产婷婷综合在线精品| 亚洲综合男人的天堂| 亚洲永久精品大片| 午夜一区二区三区在线观看| 午夜精品影院在线观看| 偷窥少妇高潮呻吟av久久免费| 亚洲一区二区四区蜜桃| 午夜亚洲福利老司机| 丝袜国产日韩另类美女| 日韩在线卡一卡二| 精品一区二区三区在线观看国产| 久久精品国产一区二区三区免费看| 奇米影视一区二区三区| 久88久久88久久久| 国产乱码精品1区2区3区| 成人99免费视频| 色天天综合久久久久综合片| 色偷偷久久一区二区三区| 欧美日韩免费观看一区三区| 日韩一区二区在线播放| 亚洲精品一区二区三区四区高清| 久久综合国产精品| 中文字幕亚洲不卡| 亚欧色一区w666天堂| 狠狠色丁香久久婷婷综合丁香| 懂色中文一区二区在线播放| 色综合天天综合色综合av| 欧美三片在线视频观看| 精品国产自在久精品国产| 日韩一区在线播放| 日韩1区2区日韩1区2区| 国产一区二区三区四区五区入口 | 午夜精品福利一区二区蜜股av| 亚洲午夜久久久久久久久电影网| 日韩电影在线免费| 成人a免费在线看| 久久先锋资源网| 亚洲色大成网站www久久九九| 日本不卡视频一二三区| 成人中文字幕电影| 6080午夜不卡| 中文字幕在线观看不卡视频| 日韩精品国产欧美| av不卡在线观看| 精品少妇一区二区三区在线视频| 国产精品电影院| 蜜桃一区二区三区四区| 成人精品在线视频观看| 日韩一级免费观看| 亚洲一区二区在线播放相泽| 国产成人免费视频网站| 日韩精品自拍偷拍|