void Manager::paintEvent(TQPaintEvent *e) { TQPainter p(widget()); TQRect r(e->rect()); bool intersectsLeft = r.intersects(TQRect(0, 0, 1, height())); bool intersectsRight = r.intersects(TQRect(width() - 1, 0, width(), height())); if (intersectsLeft || intersectsRight) { p.setPen(TQt::black); if (intersectsLeft) p.drawLine(0, r.top(), 0, r.bottom()); if (intersectsRight) p.drawLine(width() - 1, r.top(), width() - 1, r.bottom()); } Static * s = Static::instance(); bool active = isActive(); // Title bar. TQRect tr = titleSpacer_->tqgeometry(); bitBlt(widget(), tr.topLeft(), &titleBuf_); // Resize bar. if (isResizable()) { int rbt = height() - Static::instance()->resizeHeight(); // Resize bar top bitBlt(widget(), 0, rbt, &(s->resize(active))); bitBlt(widget(), 30, rbt, &(s->resizeMidLeft(active))); p.drawTiledPixmap(32, rbt, width() - 34, Static::instance()->resizeHeight(), s->resizeMidMid(active)); bitBlt(widget(), width() - 32, rbt, &(s->resizeMidRight(active))); bitBlt(widget(), width() - 30, rbt, &(s->resize(active))); } else p.drawLine(1, height() - 1, width() - 2, height() - 1); }
TQWidget *KWMapEditor::beginEdit(int row, int col, bool replace) { //kdDebug(2300) << "EDIT COLUMN " << col << endl; if (col != 2) { return TQTable::beginEdit(row, col, replace); } TQRect geo = cellGeometry(row, col); TQTextEdit *e = new InlineEditor(this, row, col); e->setText(text(row, col)); e->move(mapToGlobal(geo.topLeft())); e->resize(geo.width() * 2, geo.height() * 3); e->show(); return e; }
void NextClient::menuButtonPressed() { // Probably don't need this null check, but we might as well. if (button[MENU_IDX]) { TQRect menuRect = button[MENU_IDX]->rect(); TQPoint menuTop = button[MENU_IDX]->mapToGlobal(menuRect.topLeft()); TQPoint menuBottom = button[MENU_IDX]->mapToGlobal(menuRect.bottomRight()); menuTop += TQPoint(1, 1); menuBottom += TQPoint(1, 1); KDecorationFactory* f = factory(); showWindowMenu(TQRect(menuTop, menuBottom)); if( !f->exists( this )) // 'this' was deleted return; button[MENU_IDX]->setDown(false); } }
bool Manager::animateMinimize(bool iconify) { int style = Static::instance()->animationStyle(); switch (style) { case 1: { // Double twisting double back, with pike ;) if (!iconify) // No animation for restore. return true; // Go away quick. helperShowHide(false); tqApp->syncX(); TQRect r = iconGeometry(); if (!r.isValid()) return true; // Algorithm taken from Window Maker (http://www.windowmaker.org) int sx = geometry().x(); int sy = geometry().y(); int sw = width(); int sh = height(); int dx = r.x(); int dy = r.y(); int dw = r.width(); int dh = r.height(); double steps = 12; double xstep = double((dx-sx)/steps); double ystep = double((dy-sy)/steps); double wstep = double((dw-sw)/steps); double hstep = double((dh-sh)/steps); double cx = sx; double cy = sy; double cw = sw; double ch = sh; double finalAngle = 3.14159265358979323846; double delta = finalAngle / steps; TQPainter p(workspaceWidget()); p.setRasterOp(TQt::NotROP); for (double angle = 0; ; angle += delta) { if (angle > finalAngle) angle = finalAngle; double dx = (cw / 10) - ((cw / 5) * sin(angle)); double dch = (ch / 2) * cos(angle); double midy = cy + (ch / 2); TQPoint p1(int(cx + dx), int(midy - dch)); TQPoint p2(int(cx + cw - dx), p1.y()); TQPoint p3(int(cx + dw + dx), int(midy + dch)); TQPoint p4(int(cx - dx), p3.y()); grabXServer(); p.drawLine(p1, p2); p.drawLine(p2, p3); p.drawLine(p3, p4); p.drawLine(p4, p1); p.flush(); usleep(500); p.drawLine(p1, p2); p.drawLine(p2, p3); p.drawLine(p3, p4); p.drawLine(p4, p1); ungrabXServer(); cx += xstep; cy += ystep; cw += wstep; ch += hstep; if (angle >= finalAngle) break; } } break; case 2: { // KVirc style ? Maybe. For qwertz. if (!iconify) // No animation for restore. return true; // Go away quick. helperShowHide(false); tqApp->syncX(); int stepCount = 12; TQRect r(geometry()); int dx = r.width() / (stepCount * 2); int dy = r.height() / (stepCount * 2); TQPainter p(workspaceWidget()); p.setRasterOp(TQt::NotROP); for (int step = 0; step < stepCount; step++) { r.moveBy(dx, dy); r.setWidth(r.width() - 2 * dx); r.setHeight(r.height() - 2 * dy); grabXServer(); p.drawRect(r); p.flush(); usleep(200); p.drawRect(r); ungrabXServer(); } } break; default: { TQRect icongeom = iconGeometry(); if (!icongeom.isValid()) return true; TQRect wingeom = geometry(); TQPainter p(workspaceWidget()); p.setRasterOp(TQt::NotROP); #if 0 if (iconify) p.setClipRegion(TQRegion(workspaceWidget()->rect()) - wingeom); #endif grabXServer(); p.drawLine(wingeom.bottomRight(), icongeom.bottomRight()); p.drawLine(wingeom.bottomLeft(), icongeom.bottomLeft()); p.drawLine(wingeom.topLeft(), icongeom.topLeft()); p.drawLine(wingeom.topRight(), icongeom.topRight()); p.flush(); tqApp->syncX(); usleep(30000); p.drawLine(wingeom.bottomRight(), icongeom.bottomRight()); p.drawLine(wingeom.bottomLeft(), icongeom.bottomLeft()); p.drawLine(wingeom.topLeft(), icongeom.topLeft()); p.drawLine(wingeom.topRight(), icongeom.topRight()); ungrabXServer(); } break; } return true; }