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

📄 desktop-desktop-cpp.html

📁 qtopiaphone英文帮助,用于初学者和开发人员,初学者可以用来学习,开发人员可以用来资料查询.
💻 HTML
📖 第 1 页 / 共 2 页
字号:
    for( int i = 0 ; i &lt; pm-&gt;<a name="width"></a><a href="qpixmap.html#86dbc5">width</a>() ; i++ )        for( int j = 0 ; j &lt; pm-&gt;<a name="height"></a><a href="qpixmap.html#d5bb33">height</a>() ; j++ ) {            int r = kindaRand();            if ( r &lt; KINDA_RAND_MAX / 3 )                p.<a name="setPen"></a><a href="qpainter.html#0183e4">setPen</a>( p1 );            else if ( r &lt; KINDA_RAND_MAX / 3 * 2 )                p.<a href="qpainter.html#0183e4">setPen</a>( p2 );            else                p.<a href="qpainter.html#0183e4">setPen</a>( p3 );            p.<a name="drawPoint"></a><a href="qpainter.html#8e172b">drawPoint</a>( i,j );        }    p.<a href="qpainter.html#365784">end</a>();}void drawShadeText( <a href="qpainter.html">QPainter</a> *p, int x, int y, const char *text,                    const QColor &amp;topColor, const QColor &amp;bottomColor,                    int sw = 2 ){    if ( !p-&gt;<a name="isActive"></a><a href="qpainter.html#08ba62">isActive</a>() )        return;    p-&gt;<a href="qpainter.html#0183e4">setPen</a>( bottomColor );    p-&gt;<a name="drawText"></a><a href="qpainter.html#0f088f">drawText</a>( x+sw, y+sw, text );    p-&gt;<a href="qpainter.html#0183e4">setPen</a>( topColor );    p-&gt;<a href="qpainter.html#0f088f">drawText</a>( x, y, text );}// NOTE: desktop drag/drop is experimentalclass DesktopWidget : public QWidget, private QDropSite{public:    DesktopWidget( const char *s, QWidget *parent=0, const char *name=0 );   ~DesktopWidget();    void paintEvent( <a name="QPaintEvent"></a><a href="qpaintevent.html">QPaintEvent</a> * );    void dragEnterEvent( <a name="QDragEnterEvent"></a><a href="qdragenterevent.html">QDragEnterEvent</a> *e )    {        if ( <a name="QImageDrag::canDecode"></a><a href="qimagedrag.html#c35128">QImageDrag::canDecode</a>(e) )            e-&gt;<a name="accept"></a><a href="qdropevent.html#da0c5a">accept</a>();    }    void dragLeaveEvent( <a name="QDragLeaveEvent"></a><a href="qdragleaveevent.html">QDragLeaveEvent</a> * )    {    }    void dragMoveEvent( <a name="QDragMoveEvent"></a><a href="qdragmoveevent.html">QDragMoveEvent</a> *e )    {        e-&gt;<a href="qdropevent.html#da0c5a">accept</a>();    }    void dropEvent( <a name="QDropEvent"></a><a href="qdropevent.html">QDropEvent</a> * e )    {        <a href="qpixmap.html">QPixmap</a> pmp;        if ( <a name="QImageDrag::decode"></a><a href="qimagedrag.html#037fd2">QImageDrag::decode</a>( e, pmp ) ) {            setBackgroundPixmap( pmp );            update();        }    }private:    <a href="qpixmap.html">QPixmap</a> *pm;    <a name="QString"></a><a href="qstring.html">QString</a> text;};DesktopWidget::DesktopWidget( const char *s, QWidget *parent, const char *name )    : <a href="qwidget.html">QWidget</a>( parent, name, WType_Desktop | WPaintDesktop),        <a name="QDropSite"></a><a href="qdropsite.html">QDropSite</a>(this){    text = s;    pm   = 0;}DesktopWidget::~DesktopWidget(){    delete pm;}void <a name="468"></a>DesktopWidget::paintEvent( <a href="qpaintevent.html">QPaintEvent</a> * ){    <a href="qcolor.html">QColor</a> c1 = backgroundColor();    <a href="qcolor.html">QColor</a> c2 = c1.<a name="light"></a><a href="qcolor.html#b8743e">light</a>(104);    <a href="qcolor.html">QColor</a> c3 = c1.<a name="dark"></a><a href="qcolor.html#b8dbb6">dark</a>(106);    if ( !pm ) {        pm = new <a href="qpixmap.html">QPixmap</a>( 64, 64 );        generateStone( pm, c1, c2, c3 );        <a href="qwidget.html#7e417f">setBackgroundPixmap</a>( *pm );        <a href="qwidget.html#a66a88">update</a>();    }    <a href="qrect.html">QRect</a> br = fontMetrics().boundingRect( text );    <a href="qpixmap.html">QPixmap</a> offscreen( br.<a href="qrect.html#45fe95">width</a>(), br.<a href="qrect.html#581ab8">height</a>() );    int x = width()/2  - br.<a href="qrect.html#45fe95">width</a>()/2;    int y = height()/2 - br.<a href="qrect.html#581ab8">height</a>()/2;    offscreen.<a name="fill"></a><a href="qpixmap.html#6910a0">fill</a>( this, x, y );    <a href="qpainter.html">QPainter</a> p;    p.<a href="qpainter.html#02ed5d">begin</a>( &amp;offscreen );    drawShadeText( &amp;p, -br.<a name="x"></a><a href="qrect.html#fccae7">x</a>(), -br.<a name="y"></a><a href="qrect.html#f448f7">y</a>(), text, c2, c3, 3 );    p.<a href="qpainter.html#365784">end</a>();    <a name="bitBlt"></a><a href="qpaintdevice.html#35ae2e">bitBlt</a>( this, x, y, &amp;offscreen );}void desktopWidget( const char *s = "Trolltech" ){    DesktopWidget *t = new DesktopWidget(s);    t-&gt;<a href="qwidget.html#a66a88">update</a>();    qApp-&gt;exec();    delete t;}void desktopText( const char *s = "Trolltech" ){    const int border = 20;    <a href="qcolor.html">QColor</a> c1 =  qApp-&gt;palette().normal().background();    <a href="qcolor.html">QColor</a> c2 = c1.<a href="qcolor.html#b8743e">light</a>(104);    <a href="qcolor.html">QColor</a> c3 = c1.<a href="qcolor.html#b8dbb6">dark</a>(106);    <a href="qpixmap.html">QPixmap</a> pm(10,10);    <a href="qpainter.html">QPainter</a> p;    p.<a href="qpainter.html#02ed5d">begin</a>( &amp;pm );    <a href="qrect.html">QRect</a> r = p.<a name="fontMetrics"></a><a href="qpainter.html#73b2e5">fontMetrics</a>().boundingRect( s );    p.<a href="qpainter.html#365784">end</a>();    int appWidth  =  qApp-&gt;desktop()-&gt;width();    int appHeight =  qApp-&gt;desktop()-&gt;height();    if ( r.<a href="qrect.html#45fe95">width</a>() &gt; appWidth - border*2 )        r.<a name="setWidth"></a><a href="qrect.html#5b765c">setWidth</a>( appWidth - border*2 );    if ( r.<a href="qrect.html#581ab8">height</a>() &gt; appHeight - border*2 )        r.<a name="setHeight"></a><a href="qrect.html#324bcf">setHeight</a>( appHeight - border*2 );    pm.<a name="resize"></a><a href="qpixmap.html#b4f156">resize</a>( r.<a name="size"></a><a href="qrect.html#507cd9">size</a>() + QSize( border*2, border*2 ) );    generateStone( &amp;pm, c1, c2, c3 );    p.<a href="qpainter.html#02ed5d">begin</a>( &amp;pm );    drawShadeText( &amp;p, -r.<a href="qrect.html#fccae7">x</a>() + border, -r.<a href="qrect.html#f448f7">y</a>() + border, s, c2, c3 );    p.<a href="qpainter.html#365784">end</a>();    qApp-&gt;desktop()-&gt;setBackgroundPixmap( pm );}//// The program starts here.//int main( int argc, char **argv ){    <a name="QApplication"></a><a href="qapplication.html">QApplication</a> app( argc, argv );    if ( argc &gt; 1 ) {        <a name="QFont"></a><a href="qfont.html">QFont</a> f( "charter", 96, QFont::Black );        f.<a name="setStyleHint"></a><a href="qfont.html#7beece">setStyleHint</a>( QFont::Times );        app.<a name="setFont"></a><a href="qapplication.html#3d926a">setFont</a>( f );    }    bool validOptions = FALSE;    if ( argc == 2 ) {        validOptions = TRUE;        if ( strcmp(argv[1],"-poly") == 0 )            poly();        else if ( strcmp(argv[1],"-rotate") == 0 )            rotate();        else if ( strcmp(argv[1],"-troll") == 0 )            desktopText();        else if ( strcmp(argv[1],"-trollwidget") == 0 )            desktopWidget();        else            validOptions = FALSE;    }    if ( argc == 3 ) {        validOptions = TRUE;        if ( strcmp(argv[1],"-shadetext") == 0 )            desktopText( argv[2] );        else if ( strcmp(argv[1],"-shadewidget") == 0 )            desktopWidget( argv[2] );        else            validOptions = FALSE;    }    if ( !validOptions ) {        fprintf( stderr, "Usage:\n\tdesktop -poly"                               "\n\tdesktop -rotate"                               "\n\tdesktop -troll"                               "\n\tdesktop -trollwidget"                               "\n\tdesktop -shadetext &lt;text&gt;"                               "\n\tdesktop -shadewidget &lt;text&gt;\n" );        rotate();    }    return 0;}</pre><p><address><hr><div align="center"><table width="100%" cellspacing="0" border="0"><tr><td>Copyright 

⌨️ 快捷键说明

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