JBoolean JXWidget::ScrollToRectCentered ( const JRect& origRect, const JBoolean forceScroll ) { const JRect ap = GetAperture(); if (!forceScroll && ap.Contains(origRect)) { return kJFalse; } JRect r = origRect; const JCoordinate dw = ap.width() - r.width(); if (dw > 0) { r.Shrink(-dw/2, 0); } const JCoordinate dh = ap.height() - r.height(); if (dh > 0) { r.Shrink(0, -dh/2); } return ScrollToRect(r); }
void JXTabGroup::PlaceCardFile() { const JSize h = kSelMargin + kBorderWidth + 2*kTextMargin + (GetFontManager())->GetLineHeight(itsFontName, itsFontSize, itsFontStyle); JRect r = GetAperture(); if (itsEdge == kTop) { r.top += h; } else if (itsEdge == kLeft) { r.left += h; } else if (itsEdge == kBottom) { r.bottom -= h; } else if (itsEdge == kRight) { r.right -= h; } else { assert( 0 ); } r.Shrink(kBorderWidth, kBorderWidth); itsCardFile->Place(r.left, r.top); itsCardFile->SetSize(r.width(), r.height()); }
void JXStyleMenuTable::TableDrawCell ( JPainter& p, const JPoint& cell, const JRect& origRect ) { if (cell.x == kTextColumnIndex && cell.y >= JXStyleMenu::kFirstColorCmd) { JRect rect = AdjustRectForSeparator(cell.y, origRect); JRect colorRect = rect; colorRect.Shrink(0, kHilightBorderWidth); colorRect.right = colorRect.left + colorRect.height(); const JBoolean origFill = p.IsFilling(); p.SetFilling(kJTrue); p.SetPenColor(itsStyleMenu->IndexToColor(cell.y)); p.Rect(colorRect); p.SetFilling(origFill); rect = origRect; rect.left += colorRect.width() + kHMarginWidth; JXTextMenuTable::TableDrawCell(p, cell, rect); } else { JXTextMenuTable::TableDrawCell(p, cell, origRect); } }
void JXButton::DrawBorder ( JXWindowPainter& p, const JRect& origFrame ) { JSize borderWidth = GetBorderWidth(); if (borderWidth > 0 && IsActive()) { JRect frame = origFrame; if (itsIsReturnButtonFlag) { p.JPainter::Rect(frame); frame.Shrink(1,1); borderWidth--; } if (itsIsPushedFlag) { JXDrawDownFrame(p, frame, borderWidth); } else { JXDrawUpFrame(p, frame, borderWidth); } } else if (borderWidth > 0) { p.SetLineWidth(borderWidth); p.SetPenColor((GetColormap())->GetInactiveLabelColor()); p.RectInside(origFrame); } }
JRect JXWidget::GetApertureGlobal() const { JRect apG = itsFrameG; apG.Shrink(itsBorderWidth, itsBorderWidth); return apG; }
void CMLineIndexTable::DrawBreakpoints ( JPainter& p, const JPoint& cell, const JRect& rect ) { // check for breakpoint(s) on this line JBoolean hasMultiple; if (!FindNextBreakpoint(cell.y, &hasMultiple)) { return; } // draw breakpoint(s) JRect r = rect; r.Shrink(kMarginWidth, kMarginWidth); if (hasMultiple) { if (r.height() < 9) // to allow concentric circles to be distinguished { r.top = rect.ycenter() - 4; r.bottom = r.top + 9; r.left = rect.xcenter() - 4; r.right = r.left + 9; } p.Ellipse(r); r.Shrink(3, 3); p.Ellipse(r); } else { DrawBreakpoint(itsBPList->NthElement(itsBPDrawIndex), p, GetColormap(), r); } }