本文整理汇总了C++中QMAX函数的典型用法代码示例。如果您正苦于以下问题:C++ QMAX函数的具体用法?C++ QMAX怎么用?C++ QMAX使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了QMAX函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: switch
QwtDoubleRect VectorCurve::boundingRect() const
{
QwtDoubleRect rect = QwtPlotCurve::boundingRect();
QwtDoubleRect vrect = vectorEnd->boundingRect();
if (d_style == XYXY){
rect.setTop(QMIN((double)rect.top(), (double)vrect.top()));
rect.setBottom(QMAX((double)rect.bottom(), (double)vrect.bottom()));
rect.setLeft(QMIN((double)rect.left(), (double)vrect.left()));
rect.setRight(QMAX((double)rect.right(), (double)vrect.right()));
} else {
const double angle = vectorEnd->x(0);
double mag = vectorEnd->y(0);
switch(d_position)
{
case Tail:
rect.setTop(QMIN((double)rect.top(), (double)(rect.top()+mag*sin(angle))));
rect.setBottom(QMAX((double)rect.bottom(), (double)(rect.bottom()+mag*sin(angle))));
rect.setLeft(QMIN((double)rect.left(), (double)(rect.left()+mag*cos(angle))));
rect.setRight(QMAX((double)rect.right(), (double)(rect.right()+mag*cos(angle))));
break;
case Middle:
{
mag *= 0.5;
rect.setTop(QMIN((double)rect.top(), (double)(rect.top() - fabs(mag*sin(angle)))));
rect.setBottom(QMAX((double)rect.bottom(), (double)(rect.bottom() + fabs(mag*sin(angle)))));
rect.setLeft(QMIN((double)rect.left(), (double)(rect.left() - fabs(mag*cos(angle)))));
rect.setRight(QMAX((double)rect.right(), (double)(rect.right() + fabs(mag*cos(angle)))));
}
break;
case Head:
rect.setTop(QMIN((double)rect.top(), (double)(rect.top() - mag*sin(angle))));
rect.setBottom(QMAX((double)rect.bottom(), (double)(rect.bottom() - mag*sin(angle))));
rect.setLeft(QMIN((double)rect.left(), (double)(rect.left() - mag*cos(angle))));
rect.setRight(QMAX((double)rect.right(), (double)(rect.right() - mag*cos(angle))));
break;
}
}
return rect;
}
示例2: it
/** Executes the simulation of this component */
void FloatMax::calculate()
{
FloatXIn1Out::calculate();
QPtrListIterator<ConnectorBase> it(*getInputConnectorPack()->getConnList());
// Hint: Gate has min 2 inputs !!! No check is required.
double result = ((ConnectorFloatIn*)it.current())->getInput();
++it;
while (it.current())
{
result = QMAX(result, ((ConnectorFloatIn*)it.current())->getInput());
++it;
}
setValue(result);
}
示例3: ASSERT
QSize KWQFileButton::sizeForCharacterWidth(int characters) const
{
ASSERT(characters > 0);
GtkWidget *w;
GtkRequisition req, req2;
// get the size from input
w = getGtkEntryWidget();
gtk_entry_set_width_chars( GTK_ENTRY(w), characters );
gtk_widget_size_request( w, &req );
// get the size from button
w = getGtkButtonWidget();
gtk_widget_size_request( w, &req2 );
return QSize( req.width + req2.width + 10, QMAX(req.height, req2.height) );
}
示例4: initGlobals
void Matrix::initImage(const QImage& image)
{
initGlobals();
d_view_type = ImageView;
d_matrix_model = new MatrixModel(image, this);
initImageView();
int w = image.width();
int h = image.height();
if (w <= 500 && h <= 400){
int size = QMAX(w, h);
imageLabel->resize(size, size);
} else
imageLabel->resize(500, 500);
displayImage(image);
}
示例5: b
void KateFileListItem::paintCell(QPainter *painter, const QColorGroup &cg, int column, int width, int align)
{
KateFileList *fl = (KateFileList *)listView();
if(!fl)
return;
if(column == 0)
{
QColorGroup cgNew = cg;
// replace the base color with a different shading if necessary...
if(fl->shadingEnabled() && m_viewhistpos > 1)
{
QColor b(cg.base());
QColor shade = fl->viewShade();
QColor eshade = fl->editShade();
int hc = fl->histCount();
// If this file is in the edit history, blend in the eshade
// color. The blend is weighted by the position in the editing history
if(fl->shadingEnabled() && m_edithistpos > 0)
{
int ec = fl->editHistCount();
int v = hc - m_viewhistpos;
int e = ec - m_edithistpos + 1;
e = e * e;
int n = QMAX(v + e, 1);
shade.setRgb(((shade.red() * v) + (eshade.red() * e)) / n, ((shade.green() * v) + (eshade.green() * e)) / n,
((shade.blue() * v) + (eshade.blue() * e)) / n);
}
// blend in the shade color.
// max transperancy < .5, latest is most colored.
float t = (0.5 / hc) * (hc - m_viewhistpos + 1);
b.setRgb((int)((b.red() * (1 - t)) + (shade.red() * t)), (int)((b.green() * (1 - t)) + (shade.green() * t)),
(int)((b.blue() * (1 - t)) + (shade.blue() * t)));
cgNew.setColor(QColorGroup::Base, b);
}
QListViewItem::paintCell(painter, cgNew, column, width, align);
}
else
QListViewItem::paintCell(painter, cg, column, width, align);
}
示例6: p1
/*!
Draw a needle looking like a ray
*/
void QwtDialSimpleNeedle::drawRayNeedle(
QPainter *painter, const QColorGroup &cg,
const QPoint ¢er, int length, int width, double direction,
bool hasKnob)
{
if ( width <= 0 )
width = 5;
direction *= M_PI / 180.0;
painter->save();
const QPoint p1(center.x() + 1, center.y() + 2);
const QPoint p2 = qwtPolar2Pos(p1, length, direction);
if ( width == 1 )
{
painter->setPen(QPen(cg.mid(), 1));
painter->drawLine(p1, p2);
}
else
{
QPointArray pa(4);
pa.setPoint(0, qwtPolar2Pos(p1, width / 2, direction + M_PI_2));
pa.setPoint(1, qwtPolar2Pos(p2, width / 2, direction + M_PI_2));
pa.setPoint(2, qwtPolar2Pos(p2, width / 2, direction - M_PI_2));
pa.setPoint(3, qwtPolar2Pos(p1, width / 2, direction - M_PI_2));
painter->setPen(Qt::NoPen);
painter->setBrush(cg.brush(QColorGroup::Mid));
painter->drawPolygon(pa);
}
if ( hasKnob )
{
int knobWidth = QMAX(qRound(width * 0.7), 5);
if ( knobWidth % 2 == 0 )
knobWidth++;
drawKnob(painter, center, knobWidth,
cg.brush(QColorGroup::Base), FALSE);
}
painter->restore();
}
示例7: QMAX
void ScheduleDialog::initCanvas()
{
DrawProperties p;
p.canvas = canvas;
p.nameWidth = 0; // name labels are on other canvas
p.x = WIDGET_SPACING;
p.y = 0;
p.width = canvas->width();
p.height = canvas->height();
// calculate pix per ns (find block with highest clock to draw it
// BLOCKS_PER_CANVAS times.
unsigned int max_clock = 0;
QValueList<BlockNode*>::Iterator it;
for (it = blocks_.begin(); it != blocks_.end(); ++it) {
max_clock = QMAX(max_clock, (*it)->clock());
}
p.pixPerNs = (max_clock > 0)
? (double)p.width / (max_clock * BLOCKS_PER_CANVAS)
: 1.0;
drawRuler(&p);
for (it = blocks_.begin(); it != blocks_.end(); ++it) {
drawTimings(&p, *it);
}
// create highlighter
highlightCanvasRectangle = new QCanvasRectangle(canvas);
highlightCanvasRectangle->setSize(canvas->width(),
BOX_HEIGHT + BOX_YSPACING);
highlightCanvasRectangle->setBrush(QBrush(qApp->palette().active().highlight()));
highlightCanvasRectangle->setPen(QPen(white));
highlightCanvasRectangle->move(0, RULER_HEIGHT - BOX_YSPACING / 2);
highlightCanvasRectangle->setZ(0);
highlightCanvasRectangle->show();
connect(timingTable, SIGNAL(currentChanged(int, int)),
this, SLOT(updateHighlighter(int, int)));
canvas->update();
labelCanvas->update();
}
示例8: activateCurve
void fitDialog::activateCurve(int index)
{
QwtPlotCurve *c = graph->curve(index);
if (!c)
return;
if (graph->selectorsEnabled() && graph->selectedCurveID() == graph->curveKey(index))
{
double start = graph->selectedXStartValue();
double end = graph->selectedXEndValue();
boxFrom->setText(QString::number(QMIN(start, end), 'g', 15));
boxTo->setText(QString::number(QMAX(start, end), 'g', 15));
}
else
{
boxFrom->setText(QString::number(c->minXValue(), 'g', 15));
boxTo->setText(QString::number(c->maxXValue(), 'g', 15));
}
};
示例9: QMAX
int NADDirectSource::frameCount(const QString& field) const {
if (!_valid) {
return 0;
}
if (field.isEmpty() || _fieldList.contains(field)) {
int maxLen = 0;
for (QStringList::ConstIterator i = _fieldList.begin(); i != _fieldList.end(); ++i) {
// assert(!(*i).isEmpty());
QSize sz = _conn->range(*i);
maxLen = QMAX(sz.height() - sz.width() + 1, maxLen);
}
kstdDebug() << "NAD::frameCount(" << field << ") = maxLen = " << maxLen << endl;
return maxLen;
}
QSize sz = _conn->range(field);
kstdDebug() << "NAD::frameCount(" << field << ") = " << sz.height() - sz.width() + 1 << endl;
return sz.height() - sz.width() + 1;
}
示例10: QMAX
void QCompletionEdit::placeListBox()
{
if ( listbox->count() == 0 ) {
popup->close();
return;
}
popup->resize( QMAX( listbox->sizeHint().width() + listbox->verticalScrollBar()->width() + 4, width() ),
listbox->sizeHint().height() + listbox->horizontalScrollBar()->height() + 4 );
QPoint p( mapToGlobal( QPoint( 0, 0 ) ) );
if ( p.y() + height() + popup->height() <= QApplication::desktop()->height() )
popup->move( p.x(), p.y() + height() );
else
popup->move( p.x(), p.y() - listbox->height() );
popup->show();
listbox->setCurrentItem( 0 );
listbox->setSelected( 0, TRUE );
setFocus();
}
示例11: if
void QSplitter::getRange( int id, int *min, int *max )
{
int minB = 0; //before
int maxB = 0;
int minA = 0;
int maxA = 0; //after
int n = data->list.count();
if ( id < 0 || id >= n )
return;
int i;
for ( i = 0; i < id; i++ ) {
QSplitterLayoutStruct *s = data->list.at(i);
if ( s->wid->isHidden() ) {
//ignore
} else if ( s->isSplitter ) {
minB += s->sizer;
maxB += s->sizer;
} else {
minB += pick( minSize(s->wid) );
maxB += pick( s->wid->maximumSize() );
}
}
for ( i = id; i < n; i++ ) {
QSplitterLayoutStruct *s = data->list.at(i);
if ( s->wid->isHidden() ) {
//ignore
} else if ( s->isSplitter ) {
minA += s->sizer;
maxA += s->sizer;
} else {
minA += pick( minSize(s->wid) );
maxA += pick( s->wid->maximumSize() );
}
}
QRect r = contentsRect();
if ( min )
*min = pick(r.topLeft()) + QMAX( minB, pick(r.size())-maxA );
if ( max )
*max = pick(r.topLeft()) + QMIN( maxB, pick(r.size())-minA );
}
示例12: return
int QFontMetrics::charWidth( const QString &str, int pos ) const
{
if ( pos < 0 || pos > (int)str.length() )
return 0;
const QChar &ch = str.unicode()[ pos ];
if ( ch.unicode() < QFontEngineData::widthCacheSize &&
d->engineData && d->engineData->widthCache[ ch.unicode() ] )
return (d->engineData->widthCache[ ch.unicode() ]*d->engineData->engine->scale)>>8;
QFont::Script script;
SCRIPT_FOR_CHAR( script, ch );
int width;
if ( script >= QFont::Arabic && script <= QFont::Khmer ) {
// complex script shaping. Have to do some hard work
int from = QMAX( 0, pos - 8 );
int to = QMIN( (int)str.length(), pos + 8 );
QConstString cstr( str.unicode()+from, to-from);
QTextEngine layout( cstr.string(), d );
layout.itemize( QTextEngine::WidthOnly );
width = layout.width( pos-from, 1 );
} else if ( ::category( ch ) == QChar::Mark_NonSpacing || qIsZeroWidthChar(ch.unicode())) {
width = 0;
} else {
QFontEngine *engine = d->engineForScript( script );
#ifdef QT_CHECK_STATE
Q_ASSERT( engine != 0 );
#endif // QT_CHECK_STATE
glyph_t glyphs[8];
advance_t advances[8];
int nglyphs = 7;
engine->stringToCMap( &ch, 1, glyphs, advances, &nglyphs, FALSE );
width = advances[0];
}
if ( ch.unicode() < QFontEngineData::widthCacheSize && width > 0 && width < 0x100 )
d->engineData->widthCache[ ch.unicode() ] = width;
return width;
}
示例13: curveRange
int Filter::curveRange(QwtPlotCurve *c, double start, double end, int *iStart, int *iEnd)
{
if (!c)
return 0;
int n = c->dataSize();
int i_start = 0, i_end = n;
if (c->x(0) < c->x(n-1)){
for (int i = 0; i < n; i++){
if (c->x(i) >= start){
i_start = i;
break;
}
}
for (int i = n-1; i >= 0; i--){
if (c->x(i) <= end){
i_end = i;
break;
}
}
} else {
for (int i = 0; i < n; i++){
if (c->x(i) <= end){
i_start = i;
break;
}
}
for (int i = n-1; i >= 0; i--){
if (c->x(i) >= start){
i_end = i;
break;
}
}
}
*iStart = QMIN(i_start, i_end);
*iEnd = QMAX(i_start, i_end);
n = abs(i_end - i_start) + 1;
return n;
}
示例14: setMinimumSize
void SetTabFret::stringChanged(int n)
{
if (oldst == n)
return;
if (defaultByString[n - 1] != 0)
for (int i = 0; i < n; i++)
tuner[i]->setValue(lib_tuning[defaultByString[n - 1]].shift[i]);
if (oldst < n) { // Need to add
for (int i = oldst; i < n; i++)
tuner[i]->show();
} else { // Need to delete
for (int i = n; i < oldst; i++)
tuner[i]->hide();
}
oldst = n;
setMinimumSize(QMAX(330, 20 + RADTUNER_W * n), 90+RADTUNER_H);
reposTuners();
}
示例15: QMAX
/*!
Draw a compass needle
*/
void QwtCompassMagnetNeedle::drawThinNeedle(
QPainter *painter, const QColorGroup &cg,
const QPoint ¢er, int length, double direction)
{
const int colorOffset = 10;
const int width = QMAX(qRound(length / 6.0), 3);
painter->save();
const QPoint arrowCenter(center.x() + 1, center.y() + 1);
drawPointer(painter, cg.brush(QColorGroup::Dark), colorOffset,
arrowCenter, length, width, direction);
drawPointer(painter, cg.brush(QColorGroup::Light), -colorOffset,
arrowCenter, length, width, direction + 180.0);
drawKnob(painter, arrowCenter, width,
cg.brush(QColorGroup::Base), TRUE);
painter->restore();
}