⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 qscreentransformed_qws.cpp

📁 奇趣公司比较新的qt/emd版本
💻 CPP
📖 第 1 页 / 共 2 页
字号:
    QRegion tr = mapToDevice(region, QSize(w,h));    Q_ASSERT(tr.boundingRect() == mapToDevice(region.boundingRect(), QSize(w,h)));#ifdef QT_REGION_DEBUG    qDebug() << "QTransformedScreen::solidFill region" << region << "transformed" << tr;#endif    d_ptr->subscreen->solidFill(color, tr);}/*!    \reimp*/QSize QTransformedScreen::mapToDevice(const QSize &s) const{    switch (d_ptr->transformation) {    case None:    case Rot180:        break;    case Rot90:    case Rot270:        return QSize(s.height(), s.width());        break;    }    return s;}/*!    \reimp*/QSize QTransformedScreen::mapFromDevice(const QSize &s) const{    switch (d_ptr->transformation) {    case None:    case Rot180:        break;    case Rot90:    case Rot270:        return QSize(s.height(), s.width());        break;    }        return s;}/*!    \reimp*/QPoint QTransformedScreen::mapToDevice(const QPoint &p, const QSize &s) const{    QPoint rp(p);    switch (d_ptr->transformation) {    case None:        break;    case Rot90:        rp.setX(p.y());        rp.setY(s.width() - p.x() - 1);        break;    case Rot180:        rp.setX(s.width() - p.x() - 1);        rp.setY(s.height() - p.y() - 1);        break;    case Rot270:        rp.setX(s.height() - p.y() - 1);        rp.setY(p.x());        break;    }    return rp;}/*!    \reimp*/QPoint QTransformedScreen::mapFromDevice(const QPoint &p, const QSize &s) const{    QPoint rp(p);    switch (d_ptr->transformation) {    case None:        break;    case Rot90:        rp.setX(s.height() - p.y() - 1);        rp.setY(p.x());        break;    case Rot180:        rp.setX(s.width() - p.x() - 1);        rp.setY(s.height() - p.y() - 1);        break;    case Rot270:        rp.setX(p.y());        rp.setY(s.width() - p.x() - 1);        break;    }    return rp;}/*!    \reimp*/QRect QTransformedScreen::mapToDevice(const QRect &r, const QSize &s) const{    if (r.isNull())        return QRect();    QRect tr;    switch (d_ptr->transformation) {    case None:        tr = r;        break;    case Rot90:        tr.setCoords(r.y(), s.width() - r.x() - 1,                     r.bottom(), s.width() - r.right() - 1);        break;    case Rot180:        tr.setCoords(s.width() - r.x() - 1, s.height() - r.y() - 1,                     s.width() - r.right() - 1, s.height() - r.bottom() - 1);        break;    case Rot270:        tr.setCoords(s.height() - r.y() - 1, r.x(),                     s.height() - r.bottom() - 1, r.right());        break;    }    return correctNormalized(tr);}/*!    \reimp*/QRect QTransformedScreen::mapFromDevice(const QRect &r, const QSize &s) const{    if (r.isNull())        return QRect();    QRect tr;    switch (d_ptr->transformation) {    case None:        tr = r;        break;    case Rot90:        tr.setCoords(s.height() - r.y() - 1, r.x(),                     s.height() - r.bottom() - 1, r.right());        break;    case Rot180:        tr.setCoords(s.width() - r.x() - 1, s.height() - r.y() - 1,                     s.width() - r.right() - 1, s.height() - r.bottom() - 1);        break;    case Rot270:        tr.setCoords(r.y(), s.width() - r.x() - 1,                     r.bottom(), s.width() - r.right() - 1);        break;    }    return correctNormalized(tr);}/*!    \reimp*/QRegion QTransformedScreen::mapToDevice(const QRegion &rgn, const QSize &s) const{    if (d_ptr->transformation == None)        return rgn;#ifdef QT_REGION_DEBUG    qDebug() << "mapToDevice size" << s << "rgn:  " << rgn;#endif    QRect tr;    QRegion trgn;    QVector<QRect> a = rgn.rects();    const QRect *r = a.data();    int w = s.width();    int h = s.height();    int size = a.size();    switch (d_ptr->transformation) {    case None:        break;    case Rot90:        for (int i = 0; i < size; i++, r++) {            tr.setCoords(r->y(), w - r->x() - 1,                         r->bottom(), w - r->right() - 1);            trgn |= correctNormalized(tr);        }        break;    case Rot180:        for (int i = 0; i < size; i++, r++) {            tr.setCoords(w - r->x() - 1, h - r->y() - 1,                         w - r->right() - 1, h - r->bottom() - 1);            trgn |= correctNormalized(tr);        }        break;    case Rot270:        for (int i = 0; i < size; i++, r++) {            tr.setCoords(h - r->y() - 1, r->x(),                         h - r->bottom() - 1, r->right());            trgn |= correctNormalized(tr);        }        break;    }#ifdef QT_REGION_DEBUG    qDebug() << "mapToDevice trgn:  " << trgn;#endif    return trgn;}/*!    \reimp*/QRegion QTransformedScreen::mapFromDevice(const QRegion &rgn, const QSize &s) const{    if (d_ptr->transformation == None)        return rgn;#ifdef QT_REGION_DEBUG    qDebug() << "fromDevice: realRegion count:  " << rgn.rects().size() << " isEmpty? " << rgn.isEmpty() << "  bounds:" << rgn.boundingRect();#endif    QRect tr;    QRegion trgn;    QVector<QRect> a = rgn.rects();    const QRect *r = a.data();    int w = s.width();    int h = s.height();    int size = a.size();    switch (d_ptr->transformation) {    case None:        break;    case Rot90:        for (int i = 0; i < size; i++, r++) {            tr.setCoords(h - r->y() - 1, r->x(),                         h - r->bottom() - 1, r->right());            trgn |= correctNormalized(tr);        }        break;    case Rot180:        for (int i = 0; i < size; i++, r++) {            tr.setCoords(w - r->x() - 1, h - r->y() - 1,                         w - r->right() - 1, h - r->bottom() - 1);            trgn |= correctNormalized(tr);        }        break;    case Rot270:        for (int i = 0; i < size; i++, r++) {            tr.setCoords(r->y(), w - r->x() - 1,                         r->bottom(), w - r->right() - 1);            trgn |= correctNormalized(tr);        }        break;    }#ifdef QT_REGION_DEBUG    qDebug() << "fromDevice: transRegion count: " << trgn.rects().size() << " isEmpty? " << trgn.isEmpty() << "  bounds:" << trgn.boundingRect();#endif    return trgn;}/*!    \reimp*/void QTransformedScreen::disconnect(){    if (d_ptr->subscreen) {        d_ptr->subscreen->disconnect();        delete d_ptr->subscreen;        d_ptr->subscreen = 0;    }}/*!    \reimp*/bool QTransformedScreen::initDevice(){    if (d_ptr->subscreen)        return d_ptr->subscreen->initDevice();    return false;}/*!    \reimp*/void QTransformedScreen::shutdownDevice(){    if (d_ptr->subscreen)        d_ptr->subscreen->shutdownDevice();}/*!    \reimp*/void QTransformedScreen::setMode(int w,int h, int d){    if (d_ptr->subscreen) {        d_ptr->subscreen->setMode(w, h, d);        d_ptr->configure();        exposeRegion(region(), 0);    }}/*!    \reimp*/bool QTransformedScreen::supportsDepth(int depth) const{    if (d_ptr->subscreen)        return d_ptr->subscreen->supportsDepth(depth);    return false;}/*!    \reimp*/void QTransformedScreen::save(){    if (d_ptr->subscreen)        d_ptr->subscreen->save();    QScreen::save();}/*!    \reimp*/void QTransformedScreen::restore(){    if (d_ptr->subscreen)        d_ptr->subscreen->restore();    QScreen::restore();}/*!    \reimp*/void QTransformedScreen::blank(bool on){    if (d_ptr->subscreen)        d_ptr->subscreen->blank(on);}/*!    \reimp*/bool QTransformedScreen::onCard(const unsigned char *ptr) const{    if (d_ptr->subscreen)        return d_ptr->subscreen->onCard(ptr);    return false;}/*!    \reimp*/bool QTransformedScreen::onCard(const unsigned char *ptr, ulong &offset) const{    if (d_ptr->subscreen)        return d_ptr->subscreen->onCard(ptr, offset);    return false;}/*!    \reimp*/bool QTransformedScreen::isInterlaced() const{    if (d_ptr->subscreen)        return d_ptr->subscreen->isInterlaced();    return false;}/*!    \reimp*/int QTransformedScreen::memoryNeeded(const QString &str){    if (d_ptr->subscreen)        return d_ptr->subscreen->memoryNeeded(str);    else        return QScreen::memoryNeeded(str);}/*!    \reimp*/int QTransformedScreen::sharedRamSize(void *ptr){    if (d_ptr->subscreen)        return d_ptr->subscreen->sharedRamSize(ptr);    else        return QScreen::sharedRamSize(ptr);}/*!    \reimp*/void QTransformedScreen::haltUpdates(){    if (d_ptr->subscreen)        d_ptr->subscreen->haltUpdates();}/*!    \reimp*/void QTransformedScreen::resumeUpdates(){    if (d_ptr->subscreen)        d_ptr->subscreen->resumeUpdates();}/*!    \reimp*/void QTransformedScreen::setDirty(const QRect& rect){    if (!d_ptr->subscreen)        return;    const QRect r = mapToDevice(rect, QSize(width(), height()));    d_ptr->subscreen->setDirty(r);}/*!    \reimp*/QWSWindowSurface* QTransformedScreen::createSurface(QWidget *widget) const{    if (d_ptr->subscreen)        return d_ptr->subscreen->createSurface(widget);    return QScreen::createSurface(widget);}/*!    \reimp*/QList<QScreen*> QTransformedScreen::subScreens() const{    if (d_ptr->subscreen)        return d_ptr->subscreen->subScreens();    return QScreen::subScreens();}/*!    \reimp*/QRegion QTransformedScreen::region() const{    QRegion deviceRegion;    if (d_ptr->subscreen)        deviceRegion = d_ptr->subscreen->region();    else        deviceRegion = QScreen::region();    const QSize size(deviceWidth(), deviceHeight());    return mapFromDevice(deviceRegion, size);}#endif // QT_NO_QWS_TRANSFORMED

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -