void MarkerWidget::paintEvent( QPaintEvent * ) { buffer.fill( backgroundColor() ); QTextParagraph *p = ( (Editor*)viewManager->currentView() )->document()->firstParagraph(); QPainter painter( &buffer ); int yOffset = ( (Editor*)viewManager->currentView() )->contentsY(); while ( p ) { if ( !p->isVisible() ) { p = p->next(); continue; } if ( p->rect().y() + p->rect().height() - yOffset < 0 ) { p = p->next(); continue; } if ( p->rect().y() - yOffset > height() ) break; if ( !((p->paragId() + 1) % 10) ) { painter.save(); painter.setPen( colorGroup().dark() ); painter.drawText( 0, p->rect().y() - yOffset, width() - 20, p->rect().height(), Qt::AlignRight | Qt::AlignTop, QString::number( p->paragId() + 1 ) ); painter.restore(); } ParagData *paragData = (ParagData*)p->extraData(); if ( paragData ) { switch ( paragData->marker ) { case ParagData::Error: painter.drawPixmap( 3, p->rect().y() + ( p->rect().height() - errorPixmap->height() ) / 2 - yOffset, *errorPixmap ); break; case ParagData::Breakpoint: painter.drawPixmap( 3, p->rect().y() + ( p->rect().height() - breakpointPixmap->height() ) / 2 - yOffset, *breakpointPixmap ); break; default: break; } switch ( paragData->lineState ) { case ParagData::FunctionStart: painter.setPen( colorGroup().foreground() ); painter.setBrush( colorGroup().base() ); painter.drawLine( width() - 11, p->rect().y() - yOffset, width() - 11, p->rect().y() + p->rect().height() - yOffset ); painter.drawRect( width() - 15, p->rect().y() + ( p->rect().height() - 9 ) / 2 - yOffset, 9, 9 ); painter.drawLine( width() - 13, p->rect().y() + ( p->rect().height() - 9 ) / 2 - yOffset + 4, width() - 9, p->rect().y() + ( p->rect().height() - 9 ) / 2 - yOffset + 4 ); if ( !paragData->functionOpen ) painter.drawLine( width() - 11, p->rect().y() + ( p->rect().height() - 9 ) / 2 - yOffset + 2, width() - 11, p->rect().y() + ( p->rect().height() - 9 ) / 2 - yOffset + 6 ); break; case ParagData::InFunction: painter.setPen( colorGroup().foreground() ); painter.drawLine( width() - 11, p->rect().y() - yOffset, width() - 11, p->rect().y() + p->rect().height() - yOffset ); break; case ParagData::FunctionEnd: painter.setPen( colorGroup().foreground() ); painter.drawLine( width() - 11, p->rect().y() - yOffset, width() - 11, p->rect().y() + p->rect().height() - yOffset ); painter.drawLine( width() - 11, p->rect().y() + p->rect().height() - yOffset, width() - 7, p->rect().y() + p->rect().height() - yOffset ); break; default: break; } if ( paragData->step ) painter.drawPixmap( 3, p->rect().y() + ( p->rect().height() - stepPixmap->height() ) / 2 - yOffset, *stepPixmap ); if ( paragData->stackFrame ) painter.drawPixmap( 3, p->rect().y() + ( p->rect().height() - stackFrame->height() ) / 2 - yOffset, *stackFrame ); } p = p->next(); } painter.end(); bitBlt( this, 0, 0, &buffer ); }
void KJNullScope::paint(QPainter *p, const QRect &) { // just redraw the background bitBlt ( p->device(), rect().topLeft(), mBack, QRect(0,0,-1,-1), Qt::CopyROP ); }
void KdmClock::paintEvent( QPaintEvent * ) { if (!isVisible()) return; QPainter p( this ); drawFrame( &p ); QPixmap pm( contentsRect().size() ); QPainter paint; paint.begin( &pm ); paint.fillRect( contentsRect(), mBackgroundBrush ); // get current time QTime time = QTime::currentTime(); /* if (mDigital) { QString buf; if (mSecond) buf.sprintf( "%02d:%02d:%02d", time.hour(), time.minute(), time.second() ); else buf.sprintf( "%02d:%02d", time.hour(), time.minute() ); mFont.setPointSize( QMIN( (int)(width()/buf.length()*1.5),height() ) ); paint.setFont( mFont ); paint.setPen( backgroundColor() ); paint.drawText( contentsRect(),AlignHCenter|AlignVCenter, buf,-1,0,0 ); } else { */ QPointArray pts; QPoint cp = contentsRect().center() - QPoint( 2,2 ); int d = QMIN( contentsRect().width()-15,contentsRect().height()-15 ); paint.setPen( foregroundColor() ); paint.setBrush( foregroundColor() ); QWMatrix matrix; matrix.translate( cp.x(), cp.y() ); matrix.scale( d/1000.0F, d/1000.0F ); // Hour float h_angle = 30*(time.hour()%12-3) + time.minute()/2; matrix.rotate( h_angle ); paint.setWorldMatrix( matrix ); pts.setPoints( 4, -20,0, 0,-20, 300,0, 0,20 ); paint.drawPolygon( pts ); matrix.rotate( -h_angle ); // Minute float m_angle = (time.minute()-15)*6; matrix.rotate( m_angle ); paint.setWorldMatrix( matrix ); pts.setPoints( 4, -10,0, 0,-10, 400,0, 0,10 ); paint.drawPolygon( pts ); matrix.rotate( -m_angle ); // Second float s_angle = (time.second()-15)*6; matrix.rotate( s_angle ); paint.setWorldMatrix( matrix ); pts.setPoints( 4,0,0,0,0,400,0,0,0 ); if (mSecond) paint.drawPolygon( pts ); matrix.rotate( -s_angle ); // quadrante for (int i=0 ; i < 60 ; i++) { paint.setWorldMatrix( matrix ); if ((i % 5) == 0) paint.drawLine( 450,0, 500,0 ); // draw hour lines else paint.drawPoint( 480,0 ); // draw second lines matrix.rotate( 6 ); } // } // if (mDigital) paint.end(); // flicker free code by Remi Guyomarch <*****@*****.**> bitBlt( this, contentsRect().topLeft(), &pm ); }
void ScalePlot::paintEvent (QPaintEvent *) { bitBlt(this, 0, 0, &buffer); }
void KJStereoFFT::paint(QPainter *p, const QRect &) { // put that thing on screen if ( !napp->player()->isStopped() ) bitBlt ( p->device(), rect().topLeft(), mAnalyzer, QRect(0,0,-1,-1), Qt::CopyROP ); }
void paintEvent(QPaintEvent*) { bitBlt(this,0,0,&pixmap); }
void SizePreview::paintEvent( QPaintEvent * ) { int displayedWidth, displayedHeight; // Figure the width and height of the displayed page. Tricky. if (orientation == 0) { displayedWidth = (int)(height() * (_width/_height) + 0.5); displayedHeight = (int)(width() * (_height/_width) + 0.5); } else { displayedHeight = (int)(height() * (_width/_height) + 0.5); displayedWidth = (int)(width() * (_height/_width) + 0.5); } if (displayedWidth <= width()) displayedHeight = height(); else displayedWidth = width(); int hOffset = (width()-displayedWidth)/2; int vOffset = (height()-displayedHeight)/2; // Now draw the graphics pixmap.resize(width(), height()); QPainter p(&pixmap); p.fillRect(rect(), colorGroup().background()); p.setPen(Qt::black); p.setBrush(Qt::white); p.drawRect(hOffset, vOffset, displayedWidth, displayedHeight); // mark the textbox; we assume 25mm margin int margin = (int)(25.0*displayedWidth/_width + 0.5); QRect textBox(hOffset+margin, vOffset+margin, displayedWidth-2*margin, displayedHeight-2*margin); p.setPen(Qt::lightGray); p.drawRect(textBox); // Draw some dummy "text", represented by black lines int lineSpacing = (int)(7.0*displayedWidth/_width + 0.5); // equiv. 7 mm if (lineSpacing <= 3) lineSpacing = 3; int interWordSpace = (int)(4.0*displayedWidth/_width + 0.5); // equiv. 4 mm if (interWordSpace <= 1) interWordSpace = 2; KRandomSequence rnd(1); // to generate word widths p.setClipRect(textBox); p.setPen(Qt::black); int count = 1; // Counts lines for (int y = vOffset+margin+lineSpacing; y <= vOffset+displayedHeight-margin; y += lineSpacing) { // We start each line with its own seed. // This means that the random sequence for each line is always the same, and this // results in a more steady picture when the widget is resized. rnd.setSeed(count); // Every 10th line the end of a paragraph int endParagraph; if (count++ % 10 == 0) endParagraph = (int)(50.0*displayedWidth/_width + 0.5); else endParagraph = 0; for(int x = hOffset+margin; x <= hOffset+displayedWidth-margin-endParagraph; ) { double wordWidthMM = rnd.getDouble()*30.0+10.0; int wordWidth = (int)(wordWidthMM*displayedWidth/_width + 0.5); p.drawLine(x, y, x+wordWidth, y); x += wordWidth+interWordSpace+1; } } p.end(); // Copy the pixmap onto the widget bitBlt(this, rect().topLeft(), &pixmap, rect(), CopyROP); return; }
void kpok::paintEvent( QPaintEvent *) { /* This was shamelessy stolen from the "hello world" example coming with Qt Thanks to the Qt-Guys for doing such a cool example 8-) */ QString t; if (!waveActive) { return; } t = wonLabel->text(); static int sin_tbl[16] = { 0, 38, 71, 92, 100, 92, 71, 38, 0, -38, -71, -92, -100, -92, -71, -38}; if ( t.isEmpty() ) return; QFont wonFont("Helvetica", 18, QFont::Bold); QFontMetrics fm = QFontMetrics(wonFont); int w = fm.width(t) + 20; int h = fm.height() * 2; int pmx = this->width() / 2 - w / 2; int pmy = wonLabelVDist - h / 4; QPixmap pm( w, h ); pm.fill( this, pmx, pmy ); if (fCount == -1) { /* clear area */ bitBlt( this, pmx, pmy, &pm ); return; } QPainter p; int x = 10; int y = h/2 + fm.descent(); int i = 0; p.begin( &pm ); p.setFont( wonFont ); p.setPen( QColor(0,0,0) ); while ( t[i] ) { int i16 = (fCount+i) & 15; p.drawText( x, y-sin_tbl[i16]*h/800, &t[i], 1 ); x += fm.width( t[i] ); i++; } p.end(); // 4: Copy the pixmap to the Hello widget bitBlt( this, pmx, pmy, &pm ); }
void kpok::paintEvent( QPaintEvent *) { /* NOTE: This was shamelessy stolen from the "hello world" example * coming with Qt Thanks to the Qt-Guys for doing such a cool * example 8-) */ if (!waveActive) { return; } QString txt = wonLabel->text(); wonLabel->hide(); static int sin_tbl[16] = { 0, 38, 71, 92, 100, 92, 71, 38, 0, -38, -71, -92, -100, -92, -71, -38}; if ( txt.isEmpty() ) { return; } QFont wonFont; wonFont.setPointSize(18); wonFont.setBold(true); QFontMetrics fm = QFontMetrics(wonFont); int w = fm.width(txt) + 20; int h = fm.height() * 2; while (w > mWonWidget->width() && wonFont.pointSize() > 6) {// > 6 for emergency abort... wonFont.setPointSize(wonFont.pointSize() - 1); fm = QFontMetrics(wonFont); w = fm.width(txt) + 20; h = fm.height() * 2; } int pmx = mWonWidget->width() / 2 - w / 2; int pmy = 0; // int pmy = (playerBox[0]->x() + playerBox[0]->height() + 10) - h / 4; QPixmap pm( w, h ); pm.fill( mWonWidget, pmx, pmy ); if (fCount == -1) { /* clear area */ bitBlt( mWonWidget, pmx, pmy, &pm ); return; } QPainter p; int x = 10; int y = h/2 + fm.descent(); unsigned int i = 0; p.begin( &pm ); p.setFont( wonFont ); p.setPen( QColor(0,0,0) ); while ( i < txt.length() ) { int i16 = (fCount+i) & 15; p.drawText( x, y-sin_tbl[i16]*h/800, QString(txt[i]), 1 ); x += fm.width( txt[i] ); i++; } p.end(); // 4: Copy the pixmap to the Hello widget bitBlt( mWonWidget, pmx, pmy, &pm ); }
void NDbufferWidget::flip() { bitBlt(this, 0, 0, backpixmap_[showpixmap_]); }
void NDbufferWidget::paintEvent ( QPaintEvent * ) { bitBlt(this, 0, 0, backpixmap_[showpixmap_]); }
void Feld::paintEvent( QPaintEvent * ) { int i, j, x, y; QPainter paint ( this ); paint.setPen (black); // spielfeld gleich zeichnen for (i = 0; i < FIELD_SIZE; i++) { for (j = 0; j < FIELD_SIZE; j++) { if(moving && i == xpos && j == ypos) continue; x = i * 30; y = j * 30; // zeichnet Randstücke if (feld [i] [j] == 254) { putNonAtom(i, j, Feld::None, true); continue; } if (feld[i][j] == 150) { putNonAtom(i, j, Feld::MoveUp); continue; } if (feld[i][j] == 151) { putNonAtom(i, j, Feld::MoveLeft); continue; } if (feld[i][j] == 152) { putNonAtom(i, j, Feld::MoveDown); continue; } if (feld[i][j] == 153) { putNonAtom(i, j, Feld::MoveRight); continue; } // zeichnet Atome if (getAtom(feld [i] [j]).obj <= '9' && getAtom(feld [i] [j]).obj > '0') { bitBlt (this, x, y, &data, (getAtom(feld [i] [j]).obj - '1') * 31, 0, 30, 30, CopyROP); } // zeichnet Kristalle if (getAtom(feld [i] [j]).obj == 'o') { bitBlt (this, x, y, &data, 31, 93, 30, 30, CopyROP); } // verbindungen zeichnen if (getAtom(feld [i] [j]).obj <= '9' || getAtom(feld [i] [j]).obj == 'o') for (int c = 0; c < MAX_CONNS_PER_ATOM; c++) { char conn = getAtom(feld [i] [j]).conn[c]; if (!conn) break; if (conn >= 'a' && conn <= 'a' + 8) bitBlt (this, x, y, &data, (conn - 'a') * 31, 31, 30, 30, XorROP); else bitBlt (this, x, y, &data, (conn - 'A') * 31, 62, 30, 30, XorROP); } // zeichnet Verbindungsstäbe if (getAtom(feld [i] [j]).obj >= 'A' && getAtom(feld [i] [j]).obj <= 'F') bitBlt (this, x, y, &data, (getAtom(feld [i] [j]).obj - 'A' + 2) * 31 , 93, 30, 30, CopyROP); } } }
void Feld::startAnimation (Direction d) { // if animation is already started, return if (moving || !chosen) return; switch (d) { case MoveUp: if (ypos == 0 || feld [xpos] [ypos-1] != 150) return; break; case MoveDown: if (ypos == FIELD_SIZE-1 || feld [xpos] [ypos+1] != 152) return; break; case MoveLeft: if (xpos == 0 || feld [xpos-1] [ypos] != 151) return; break; case MoveRight: if (xpos == FIELD_SIZE-1 || feld [xpos+1] [ypos] != 153) return; break; default: break; } // reset validDirs now so that arrows don't get drawn resetValidDirs(); int x = 0, y = 0; moves++; emit sendMoves(moves); dir = d; switch (dir) { case MoveUp : for (x = xpos, y = ypos-1, anz = 0; y >= 0 && feld [x] [y] == 0; anz++, y--); if (anz != 0) { feld [x] [++y] = feld [xpos] [ypos]; } break; case MoveDown : for (x = xpos, y = ypos+1, anz = 0; y <= FIELD_SIZE-1 && feld [x] [y] == 0; anz++, y++); if (anz != 0) { feld [x] [--y] = feld [xpos] [ypos]; } break; case MoveRight : for (x = xpos+1, y = ypos, anz = 0; x <= FIELD_SIZE-1 && feld [x] [y] == 0; anz++, x++); if (anz != 0) { feld [--x] [y] = feld [xpos] [ypos]; } break; case MoveLeft : for (x = xpos-1, y = ypos, anz = 0; x >= 0 && feld [x] [y] == 0; anz++, x--); if (anz != 0) { feld [++x] [y] = feld [xpos] [ypos]; } break; default: return; } if (anz != 0) { moving = true; // BEGIN: Insert undo informations uint undoChunk = (undoBegin + undoSize) % MAX_UNDO; undo[undoChunk].atom = feld[xpos][ypos]; undo[undoChunk].oldxpos = xpos; undo[undoChunk].oldypos = ypos; undo[undoChunk].xpos = x; undo[undoChunk].ypos = y; undo[undoChunk].dir = dir; if (undoSize == MAX_UNDO) undoBegin = (undoBegin + 1) % MAX_UNDO; else ++undoSize; redoSize = undoSize; emit enableUndo(true); emit enableRedo(false); // END: Insert undo informations feld [xpos] [ypos] = 0; // absolutkoordinaten des zu verschiebenden bildes cx = xpos * 30; cy = ypos * 30; xpos = x; ypos = y; // 30 animationsstufen framesbak = frames = anz * 30; // 10 mal pro sek startTimer (10); bitBlt (&sprite, 0, 0, this, cx, cy, 30, 30, CopyROP); } }
void LapsusOSD::paintEvent( QPaintEvent* ) { bitBlt( this, 0, 0, &_osdBuffer ); }
void doubleslider::paintEvent(QPaintEvent*){ bitBlt(this, 0, 0, buffer); }
void MyZKbMain::paintEvent(QPaintEvent * pe) { ZConfig Num(QString("numeros.cfg"), true); ZConfig ini(QString("skin.ini"), false); /*************/ int X1 = ini.readNumEntry(QString("UBICACION"), QString("1_X"), 2); int X2 = ini.readNumEntry(QString("UBICACION"), QString("2_X"), 2); int X3 = ini.readNumEntry(QString("UBICACION"), QString("3_X"), 2); int X4 = ini.readNumEntry(QString("UBICACION"), QString("4_X"), 2); int X5 = ini.readNumEntry(QString("UBICACION"), QString("5_X"), 2); int X6 = ini.readNumEntry(QString("UBICACION"), QString("6_X"), 2); int X7 = ini.readNumEntry(QString("UBICACION"), QString("7_X"), 2); int X8 = ini.readNumEntry(QString("UBICACION"), QString("8_X"), 2); int X9 = ini.readNumEntry(QString("UBICACION"), QString("9_X"), 2); int X10 = ini.readNumEntry(QString("UBICACION"), QString("10_X"), 2); int X11 = ini.readNumEntry(QString("UBICACION"), QString("11_X"), 2); int X12 = ini.readNumEntry(QString("UBICACION"), QString("12_X"), 2); int X13 = ini.readNumEntry(QString("UBICACION"), QString("13_X"), 2); int X14 = ini.readNumEntry(QString("UBICACION"), QString("14_X"), 2); int X15 = ini.readNumEntry(QString("UBICACION"), QString("15_X"), 2); int X16 = ini.readNumEntry(QString("UBICACION"), QString("16_X"), 2); int X17 = ini.readNumEntry(QString("UBICACION"), QString("17_X"), 2); int X18 = ini.readNumEntry(QString("UBICACION"), QString("18_X"), 2); int X19 = ini.readNumEntry(QString("UBICACION"), QString("19_X"), 2); int X20 = ini.readNumEntry(QString("UBICACION"), QString("20_X"), 2); int X21 = ini.readNumEntry(QString("UBICACION"), QString("21_X"), 2); int X22 = ini.readNumEntry(QString("UBICACION"), QString("22_X"), 2); int X23 = ini.readNumEntry(QString("UBICACION"), QString("23_X"), 2); int X24 = ini.readNumEntry(QString("UBICACION"), QString("24_X"), 2); int X25 = ini.readNumEntry(QString("UBICACION"), QString("25_X"), 2); int X26 = ini.readNumEntry(QString("UBICACION"), QString("26_X"), 2); int X27 = ini.readNumEntry(QString("UBICACION"), QString("27_X"), 2); int X28 = ini.readNumEntry(QString("UBICACION"), QString("28_X"), 2); int X29 = ini.readNumEntry(QString("UBICACION"), QString("29_X"), 2); int X30 = ini.readNumEntry(QString("UBICACION"), QString("30_X"), 2); int X31 = ini.readNumEntry(QString("UBICACION"), QString("31_X"), 2); int X32 = ini.readNumEntry(QString("UBICACION"), QString("32_X"), 2); int X33 = ini.readNumEntry(QString("UBICACION"), QString("33_X"), 2); int X34 = ini.readNumEntry(QString("UBICACION"), QString("34_X"), 2); int X35 = ini.readNumEntry(QString("UBICACION"), QString("35_X"), 2); int X36 = ini.readNumEntry(QString("UBICACION"), QString("36_X"), 2); /*************/ int Y1 = ini.readNumEntry(QString("UBICACION"), QString("1_Y"), 2); int Y2 = ini.readNumEntry(QString("UBICACION"), QString("2_Y"), 2); int Y3 = ini.readNumEntry(QString("UBICACION"), QString("3_Y"), 2); int Y4 = ini.readNumEntry(QString("UBICACION"), QString("4_Y"), 2); int Y5 = ini.readNumEntry(QString("UBICACION"), QString("5_Y"), 2); int Y6 = ini.readNumEntry(QString("UBICACION"), QString("6_Y"), 2); int Y7 = ini.readNumEntry(QString("UBICACION"), QString("7_Y"), 2); int Y8 = ini.readNumEntry(QString("UBICACION"), QString("8_Y"), 2); int Y9 = ini.readNumEntry(QString("UBICACION"), QString("9_Y"), 2); int Y10 = ini.readNumEntry(QString("UBICACION"), QString("10_Y"), 2); int Y11 = ini.readNumEntry(QString("UBICACION"), QString("11_Y"), 2); int Y12 = ini.readNumEntry(QString("UBICACION"), QString("12_Y"), 2); int Y13 = ini.readNumEntry(QString("UBICACION"), QString("13_Y"), 2); int Y14 = ini.readNumEntry(QString("UBICACION"), QString("14_Y"), 2); int Y15 = ini.readNumEntry(QString("UBICACION"), QString("15_Y"), 2); int Y16 = ini.readNumEntry(QString("UBICACION"), QString("16_Y"), 2); int Y17 = ini.readNumEntry(QString("UBICACION"), QString("17_Y"), 2); int Y18 = ini.readNumEntry(QString("UBICACION"), QString("18_Y"), 2); int Y19 = ini.readNumEntry(QString("UBICACION"), QString("19_Y"), 2); int Y20 = ini.readNumEntry(QString("UBICACION"), QString("20_Y"), 2); int Y21 = ini.readNumEntry(QString("UBICACION"), QString("21_Y"), 2); int Y22 = ini.readNumEntry(QString("UBICACION"), QString("22_Y"), 2); int Y23 = ini.readNumEntry(QString("UBICACION"), QString("23_Y"), 2); int Y24 = ini.readNumEntry(QString("UBICACION"), QString("24_Y"), 2); int Y25 = ini.readNumEntry(QString("UBICACION"), QString("25_Y"), 2); int Y26 = ini.readNumEntry(QString("UBICACION"), QString("26_Y"), 2); int Y27 = ini.readNumEntry(QString("UBICACION"), QString("27_Y"), 2); int Y28 = ini.readNumEntry(QString("UBICACION"), QString("28_Y"), 2); int Y29 = ini.readNumEntry(QString("UBICACION"), QString("29_Y"), 2); int Y30 = ini.readNumEntry(QString("UBICACION"), QString("30_Y"), 2); int Y31 = ini.readNumEntry(QString("UBICACION"), QString("31_Y"), 2); int Y32 = ini.readNumEntry(QString("UBICACION"), QString("32_Y"), 2); int Y33 = ini.readNumEntry(QString("UBICACION"), QString("33_Y"), 2); int Y34 = ini.readNumEntry(QString("UBICACION"), QString("34_Y"), 2); int Y35 = ini.readNumEntry(QString("UBICACION"), QString("35_Y"), 2); int Y36 = ini.readNumEntry(QString("UBICACION"), QString("36_Y"), 2); /*************/ if(!flag_loading) { QPixmap pix; pix=myimg; QRect ur(0,0,240,320); ur=pe->rect(); QPainter p(&pix); p.begin(&pix); QPainter p2(&pix); p2.begin(&pix); QPen pen(QColor(255,0,0) ); p.setPen(pen); QPen pen2(QColor(255,255,255) ); p2.setPen(pen2); if ( current == 1 ) { p.drawRect(X1, Y1, 40, 27); } if ( current == 2 ) { p.drawRect(X2, Y2, 40, 27); } if ( current == 3 ) { p.drawRect(X3, Y3, 40, 27); } if ( current == 4 ) { p.drawRect(X4, Y4, 40, 27); } if ( current == 5 ) { p.drawRect(X5, Y5, 40, 27); } if ( current == 6 ) { p.drawRect(X6, Y6, 40, 27); } if ( current == 7 ) { p.drawRect(X7, Y7, 40, 27); } if ( current == 8 ) { p.drawRect(X8, Y8, 40, 27); } if ( current == 9 ) { p.drawRect(X9, Y9, 40, 27); } if ( current == 10 ) { p.drawRect(X10, Y10, 40, 27); } if ( current == 11 ) { p.drawRect(X11, Y11, 40, 27); } if ( current == 12 ) { p.drawRect(X12, Y12, 40, 27); } if ( current == 13 ) { p.drawRect(X13, Y13, 40, 27); } if ( current == 14 ) { p.drawRect(X14, Y14, 40, 27); } if ( current == 15 ) { p.drawRect(X15, Y15, 40, 27); } if ( current == 16 ) { p.drawRect(X16, Y16, 40, 27); } if ( current == 17 ) { p.drawRect(X17, Y17, 40, 27); } if ( current == 18 ) { p.drawRect(X18, Y18, 40, 27); } if ( current == 19 ) { p.drawRect(X19, Y19, 40, 27); } if ( current == 20 ) { p.drawRect(X20, Y20, 40, 27); } if ( current == 21 ) { p.drawRect(X21, Y21, 40, 27); } if ( current == 22 ) { p.drawRect(X22, Y22, 40, 27); } if ( current == 23 ) { p.drawRect(X23, Y23, 40, 27); } if ( current == 24 ) { p.drawRect(X24, Y24, 40, 27); } if ( current == 25 ) { p.drawRect(X25, Y25, 40, 27); } if ( current == 26 ) { p.drawRect(X26, Y26, 40, 27); } if ( current == 27 ) { p.drawRect(X27, Y27, 40, 27); } if ( current == 28 ) { p.drawRect(X28, Y28, 40, 27); } if ( current == 29 ) { p.drawRect(X29, Y29, 40, 27); } if ( current == 30 ) { p.drawRect(X30, Y30, 40, 27); } if ( current == 31 ) { p.drawRect(X31, Y31, 40, 27); } if ( current == 32 ) { p.drawRect(X32, Y32, 40, 27); } if ( current == 33 ) { p.drawRect(X33, Y33, 40, 27); } if ( current == 34 ) { p.drawRect(X34, Y34, 40, 27); } if ( current == 35 ) { p.drawRect(X35, Y35, 40, 27); } if ( current == 36 ) { p.drawRect(X36, Y36, 40, 27); } if ( calcular==1 ) { int valx; lista.clear(); valx=1; Probabilidad(valx); valx=2; Probabilidad(valx); valx=4; Probabilidad(valx); valx=5; Probabilidad(valx); valx=7; Probabilidad(valx); valx=8; Probabilidad(valx); valx=10; Probabilidad(valx); valx=11; Probabilidad(valx); valx=13; Probabilidad(valx); valx=14; Probabilidad(valx); valx=16; Probabilidad(valx); valx=17; Probabilidad(valx); valx=19; Probabilidad(valx); valx=20; Probabilidad(valx); valx=22; Probabilidad(valx); valx=23; Probabilidad(valx); valx=25; Probabilidad(valx); valx=26; Probabilidad(valx); valx=28; Probabilidad(valx); valx=29; Probabilidad(valx); valx=31; Probabilidad(valx); valx=32; Probabilidad(valx); calcular=0; } int i=1; int j=1; QString stop="NO"; QString numero; while ( j<36 ) { update(); int number = Num.readNumEntry(QString("NUMEROS"), QString("%1").arg(j), 0 ); numero=""; for(int k=0;k<number;++k) { numero+=QString("."); } if ( number != 0 ) { p2.drawText(22, (25*i)+i*2/3+3, QString("%1").arg(numero), 50, QPainter::NONE); } j++; number = Num.readNumEntry(QString("NUMEROS"), QString("%1").arg(j), 0 ); numero=""; for(int k=0;k<number;++k) { numero+=QString("."); } if ( number != 0 ) { p2.drawText(61, (25*i)+i*2/3+3, QString("%1").arg(numero), 50, QPainter::NONE); } j++; number = Num.readNumEntry(QString("NUMEROS"), QString("%1").arg(j), 0 ); numero=""; for(int k=0;k<number;++k) { numero+=QString("."); } if ( number != 0 ) { p2.drawText(99, (25*i)+i*2/3+3, QString("%1").arg(numero), 50, QPainter::NONE); } i++; j++; if ( j==36 ) { stop="YES"; } } QString pr1,pr2,pr3,pr4; int cp=1; for ( int j=0 ; j < lista.count(); ++j ) { if ( cp <= 4 ) { pr1 += QString("%1 ").arg(lista[j]); } else if ( (cp>=5) && (cp<=8) ) { pr2 += QString("%1 ").arg(lista[j]); } else if ( (cp>=9) && (cp<=12) ) { pr3 += QString("%1 ").arg(lista[j]); } else if ( (cp>=13) && (cp<=16) ) { pr4 += QString("%1 ").arg(lista[j]); } ++cp; } p2.drawText(136, 240, QString("%1").arg(pr1), 50, QPainter::NONE); p2.drawText(136, 265, QString("%1").arg(pr2), 50, QPainter::NONE); p2.drawText(136, 290, QString("%1").arg(pr3), 50, QPainter::NONE); p2.drawText(136, 315, QString("%1").arg(pr4), 50, QPainter::NONE); jugadas=0; for ( int k=1 ; k < 37; ++k ) { int number = Num.readNumEntry(QString("NUMEROS"), QString("%1").arg(k), 0 ); jugadas +=number; } p2.drawText(136, 165, QString("%1").arg(jugadas), 50, QPainter::NONE); p.end(); p2.end(); setWFlags(getWFlags() | Qt::WRepaintNoErase); bitBlt( this, start_x , start_y , &pix, 0, 0, -1, -1 ); } QWidget::paintEvent( pe); }
void QGraph::paintEvent( QPaintEvent * ){ if(!valid) pintafunc(NULL); front = buffer; finestra.begin(&front, this); QPen pfunc; QPen ccursor; QPoint ultim; pfunc.setColor(QColor(0,150,0)); pfunc.setCapStyle(Qt::RoundCap); pfunc.setWidth(2); if(this->hasMouseTracking() && this->cursor().shape() != Qt::PointingHandCursor) { ccursor.setColor(QColor(0xc0,0,0)); ccursor.setStyle(Qt::SolidLine); finestra.setPen(ccursor); finestra.drawLine(toWidget(viewport.left(),mark.y()), QPoint(this->width(), toWidget(viewport.right()+1, mark.y()).y())); finestra.drawLine(QPoint(toWidget(mark.x(),viewport.top()).x(), this->height()), QPoint( toWidget(mark.x(),viewport.bottom()+1).x(), 0)); int w=110, h=13; ultim = toWidget(mark.x(), mark.y(), NULL); if(ultim.x()+w+10 > this->width()) ultim.setX(this->width()-w-10); if(ultim.y()+h+10 > this->height()) ultim.setY(this->height()-h-10); if(ultim.y() < 0) ultim.setY(-10); finestra.setPen(QPen(QColor(0,0,0))); finestra.drawText(ultim.x()+15, ultim.y()+15, QString("x=%1 y=%2") .arg(mark.x(),3,'f',2).arg(mark.y(),3,'f',2)); #if 0 ultim = toWidget(mark.x(), mark.y(), NULL); //micepos->setText(QString("<qt>x=<b>%1</b> y=<b>%1</b></qt>") .arg(mark.x(),3,'f',2).arg(mark.y(),3,'f',2)); if(ultim.x()+micepos->width()+10 > this->width()) ultim.setX(this->width()-micepos->width()-10); if(ultim.y()+micepos->height()+10 > this->height()) ultim.setY(this->height()-micepos->height()-10); else if(ultim.y() < 0) ultim.setY(-10); micepos->setGeometry(ultim.x()+10, ultim.y()+10, 160, 23); #endif } else if(this->hasMouseTracking() && pushed==Qt::LeftButton) { QBrush rectbr(yellow); rectbr.setStyle(Dense6Pattern); ccursor.setColor(QColor(0xc0,0,0)); ccursor.setStyle(Qt::SolidLine); finestra.setPen(ccursor); finestra.setBrush(rectbr); // micepos->hide(); QPoint p=last; QPoint p1=press; finestra.drawRect(QRect(p1,p)); /*QPoint p=toViewport(last)+viewport.topLeft(); //REAL mode QPoint p1=toViewport(press)+viewport.topLeft(); p=toWidget((double)p.x(), (double)p.y(), NULL); p1=toWidget((double)p1.x(), (double)p1.y(), NULL); finestra.drawRect(QRect(p1,p));*/ } //else micepos->hide(); // qDebug("<%d>", pushed); finestra.end(); /////////////////////////////// //bitBlt(this,0,0,&buffer,0,0,this->width(),this->height()); bitBlt(this,0,0,&front,0,0,this->width(),this->height()); }
bool TextCreator::create(const QString &path, int width, int height, QImage &img) { // Filter out unwanted mimetypes KMimeType::Ptr mimeType = KMimeType::findByPath(path); if(mimeType->is("text/rtf")) return false; if(!m_splitter) { m_splitter = new KPixmapSplitter; QString pixmap = locate("data", "konqueror/pics/thumbnailfont_7x4.png"); if(!pixmap.isEmpty()) { // FIXME: make font/glyphsize configurable... m_splitter->setPixmap(QPixmap(pixmap)); m_splitter->setItemSize(QSize(4, 7)); } } bool ok = false; // determine some sizes... // example: width: 60, height: 64 QSize pixmapSize(width, height); if(height * 3 > width * 4) pixmapSize.setHeight(width * 4 / 3); else pixmapSize.setWidth(height * 3 / 4); if(pixmapSize != m_pixmap.size()) m_pixmap.resize(pixmapSize); // one pixel for the rectangle, the rest. whitespace int xborder = 1 + pixmapSize.width() / 16; // minimum x-border int yborder = 1 + pixmapSize.height() / 16; // minimum y-border QSize chSize = m_splitter->itemSize(); // the size of one char int xOffset = chSize.width(); int yOffset = chSize.height(); // calculate a better border so that the text is centered int canvasWidth = pixmapSize.width() - 2 * xborder; int canvasHeight = pixmapSize.height() - 2 * yborder; int numCharsPerLine = (int)(canvasWidth / chSize.width()); int numLines = (int)(canvasHeight / chSize.height()); // assumes an average line length of <= 120 chars const int bytesToRead = 120 * numLines; // create text-preview QFile file(path); if(file.open(IO_ReadOnly)) { if(!m_data || m_dataSize < bytesToRead + 1) { delete[] m_data; m_data = new char[bytesToRead + 1]; m_dataSize = bytesToRead + 1; } int read = file.readBlock(m_data, bytesToRead); if(read > 0) { ok = true; m_data[read] = '\0'; QString text = QString::fromLocal8Bit(m_data); // FIXME: maybe strip whitespace and read more? m_pixmap.fill(QColor(245, 245, 245)); // light-grey background QRect rect; int rest = m_pixmap.width() - (numCharsPerLine * chSize.width()); xborder = QMAX(xborder, rest / 2); // center horizontally rest = m_pixmap.height() - (numLines * chSize.height()); yborder = QMAX(yborder, rest / 2); // center vertically // end centering int x = xborder, y = yborder; // where to paint the characters int posNewLine = m_pixmap.width() - (chSize.width() + xborder); int posLastLine = m_pixmap.height() - (chSize.height() + yborder); bool newLine = false; Q_ASSERT(posNewLine > 0); const QPixmap *fontPixmap = &(m_splitter->pixmap()); for(uint i = 0; i < text.length(); i++) { if(x > posNewLine || newLine) // start a new line? { x = xborder; y += yOffset; if(y > posLastLine) // more text than space break; // after starting a new line, we also jump to the next // physical newline in the file if we don't come from one if(!newLine) { int pos = text.find('\n', i); if(pos == -1) break; i = pos + 1; } newLine = false; } // check for newlines in the text (unix,dos) QChar ch = text.at(i); if(ch == '\n') { newLine = true; continue; } else if(ch == '\r' && text.at(i + 1) == '\n') { newLine = true; i++; // skip the next character (\n) as well continue; } rect = m_splitter->coordinates(ch); if(!rect.isEmpty()) { bitBlt(&m_pixmap, QPoint(x, y), fontPixmap, rect, Qt::CopyROP); } x += xOffset; // next character } if(ok) img = m_pixmap.convertToImage(); } file.close(); } return ok; }
void KGridWidget::finished() { bitBlt(m_parent, 0, 0, m_doubleBuffer); cleanBuffer(); }
void Editor::drawTiles(QPixmap *dest) { QPainter p(dest); QString tile1 = Prefs::tileSet(); tiles.loadTileset(tile1); int xOffset = tiles.width()/2; int yOffset = tiles.height()/2; short tile = 0; // we iterate over the depth stacking order. Each successive level is // drawn one indent up and to the right. The indent is the width // of the 3d relief on the tile left (tile shadow width) for (int z=0; z<BoardLayout::depth; z++) { // we draw down the board so the tile below over rights our border for (int y = 0; y < BoardLayout::height; y++) { // drawing right to left to prevent border overwrite for (int x=BoardLayout::width-1; x>=0; x--) { int sx = x*(tiles.qWidth() )+xOffset; int sy = y*(tiles.qHeight() )+yOffset; if (theBoard.getBoardData(z, y, x) != '1') { continue; } QPixmap *t; tile=(z*BoardLayout::depth)+ (y*BoardLayout::height)+ (x*BoardLayout::width); // if (mode==remove && currPos.x==x && currPos.y==y && currPos.e==z) { // t = tiles.selectedPixmaps(44)); // } else { t = tiles.unselectedPixmaps(43); // } // Only one compilcation. Since we render top to bottom , left // to right situations arise where...: // there exists a tile one q height above and to the left // in this situation we would draw our top left border over it // we simply split the tile draw so the top half is drawn // minus border if ((x>1) && (y>0) && theBoard.getBoardData(z,y-1,x-2)=='1'){ bitBlt( dest, sx+tiles.shadowSize(), sy, t, tiles.shadowSize() ,0, t->width()-tiles.shadowSize(), t->height()/2, CopyROP ); bitBlt( dest, sx, sy+t->height()/2, t, 0,t->height()/2,t->width(),t->height()/2,CopyROP); } else { bitBlt( dest, sx, sy, t, 0,0, t->width(), t->height(), CopyROP ); } tile++; tile = tile % 143; } } xOffset +=tiles.shadowSize(); yOffset -=tiles.shadowSize(); } }
void DockWidget::paintIcon () { bitBlt(this, 0, 0, &pixmap); }
void MiniMap::paintEvent( QPaintEvent * event ) { QWidget::paintEvent( event ); bitBlt( this, 0, 0, _qp ); }
void KJStereoFFT::scopeEvent(float *left, float *right, int len) { if ( !napp->player()->isPlaying() ) // don't draw if we aren't playing (either paused or stopped) { if ( napp->player()->isStopped() ) // clear vis-window if playing has been stopped parent()->repaint(rect(), false); return; } unsigned int h = rect().height(); int hh = (int)(rect().height()/2); QBitmap mGradientMask ( rect().width(), h, true ); QPainter mask( &mGradientMask ); float *start = left; float *end = left + len; float n = 0.0; int amp = 0; int x = 0; // loop creating the mask for vis-gradient for ( ; start < end; ++start ) { n = log((*start)+1) * (float)hh * 5; amp = (int)n; // range check if ( amp < 0 ) amp = 0; else if ( amp > hh ) amp = hh; // make a part of the analyzer-gradient visible mask.fillRect ( x, (h-amp), mMultiples, amp, Qt::color1 ); x += mMultiples; } // done creating our mask start = right; end = right + len; x = 0; // loop creating the mask for vis-gradient for ( ; start < end; ++start ) { n = log((*start)+1) * (float)hh * 5; amp = (int)n; // range check if ( amp < 0 ) amp = 0; else if ( amp > hh ) amp = hh; // make a part of the analyzer-gradient visible mask.fillRect ( x, 0, mMultiples, amp, Qt::color1 ); x += mMultiples; } // draw background of vis into it bitBlt ( mAnalyzer, 0, 0, mBack, 0, 0, -1, -1, Qt::CopyROP ); // draw the analyzer mGradient->setMask(mGradientMask); bitBlt ( mAnalyzer, 0, 0, mGradient, 0, 0, -1, -1, Qt::CopyROP ); repaint(); }
void QLineEdit::paintEvent( QPaintEvent *e ) { if ( !d->pm || d->pmDirty ) { if ( !d->pm ) d->pm = new QPixmap( size() ); QPainter p( d->pm, this ); QColorGroup g = colorGroup(); QColor bg = isEnabled() ? g.base() : g.background(); QFontMetrics fm = fontMetrics(); int markBegin = minMark(); int markEnd = maxMark(); int margin = frame() ? 2 : 0; if ( frame() ) { QBrush fill( bg ); qDrawWinPanel( &p, 0, 0, width(), height(), g, TRUE, &fill ); } else { p.fillRect( 0, 0, width(), height(), bg ); } QString displayText; switch( echoMode() ) { case Normal: displayText = tbuf.mid( offset, tbuf.length() ); break; case NoEcho: displayText = ""; break; case Password: displayText.fill( '*', tbuf.length() - offset ); break; } int ypos = height() - margin - fm.descent() - 1 - (height() - 2*margin - fm.height())/2; if ( !displayText.isEmpty() ) { int charsVisible = lastCharVisible() - offset; if ( displayText[ charsVisible ] != '\0' ) charsVisible++; int mark1,mark2; if ( markBegin > offset ) { if ( markBegin < offset + charsVisible ) mark1 = markBegin - offset; else mark1 = charsVisible; } else { mark1 = 0; } if ( markEnd > offset ) { if ( markEnd < offset + charsVisible ) mark2 = markEnd - offset; else mark2 = charsVisible; } else { mark2 = 0; } // display code comes here - a bit yucky but it works if ( mark1 != mark2 ) { QString marked( displayText.mid( mark1, mark2 - mark1 ) ); int xpos1 = margin + 2 + fm.width( displayText, mark1 ); int xpos2 = xpos1 + fm.width( marked ) - 1; p.fillRect( xpos1, ypos - fm.ascent(), xpos2 - xpos1, fm.height(), style() == WindowsStyle ? QApplication::winStyleHighlightColor() : g.text() ); p.setPen( style() == WindowsStyle ? white : g.base() ); p.drawText( xpos1, ypos, marked ); } p.setPen( g.text() ); if ( mark1 != 0 ) p.drawText( margin + 2, ypos, displayText, mark1 ); if ( mark2 != charsVisible ) { QString rest( displayText.mid( mark2, charsVisible - mark2 ) ); p.drawText( margin + 2 + fm.width( displayText.left( mark2) ), ypos, rest ); } } p.setPen( g.foreground() ); int curXPos = margin + 2; if ( echoMode() != NoEcho ) curXPos += offset > cursorPos ? -1 : // ?: for scrolling case fm.width( displayText, cursorPos - offset ) - 1; int curYPos = ypos - fm.ascent(); d->cursorRepaintRect.setRect( curXPos-2, curYPos, 5, fm.height() ); d->pmDirty = FALSE; } bitBlt( this, e->rect().topLeft(), d->pm, e->rect() ); if ( hasFocus() ) { if ( cursorOn && d->cursorRepaintRect.intersects( e->rect() ) ) { QPainter p( this ); int curYTop = d->cursorRepaintRect.y(); int curYBot = d->cursorRepaintRect.bottom(); int curXPos = d->cursorRepaintRect.x() + 2; p.drawLine( curXPos, curYTop, curXPos, curYBot ); if ( style() != WindowsStyle ) { p.drawLine( curXPos - 2, curYTop, curXPos + 2, curYTop ); p.drawLine( curXPos - 2, curYBot, curXPos + 2, curYBot ); } } } else { delete d->pm; d->pm = 0; } }
void KJScope::paint(QPainter *p, const QRect &) { // put that thing on screen bitBlt ( p->device(), rect().topLeft(), mOsci, QRect(0,0,-1,-1), Qt::CopyROP ); }
void DrawWidget::drawToScreen() { #ifndef SINGLE_DRAWING_BUFFER bitBlt(this, 0, 0, _buffer, 0, 0, width(), height()); #endif }
void mailbox::paint_mailbox(void) { bitBlt(this, 0, (height()/2)-(envelope.height()/2), &envelope); }
void CardWidget::paintEvent( QPaintEvent *) { bitBlt(this, 0, 0, pm, 0, 0, pm->size().width(), pm->size().height()); }
void ZLQtImageData::copyFrom(const ZLImageData &source, unsigned int targetX, unsigned int targetY) { bitBlt(this, targetX, targetY, (const ZLQtImageData*)&source, 0, 0); }
void TabbedWidget::paintEvent(QPaintEvent*) { bitBlt(this, 0, 0, &buffer_image); }