本文整理汇总了C++中JRect::topLeft方法的典型用法代码示例。如果您正苦于以下问题:C++ JRect::topLeft方法的具体用法?C++ JRect::topLeft怎么用?C++ JRect::topLeft使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类JRect
的用法示例。
在下文中一共展示了JRect::topLeft方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: GetFrame
void
JXWidget::FitToEnclosure
(
const JBoolean fitHoriz,
const JBoolean fitVert
)
{
const JRect frame = GetFrame();
const JPoint oldPt = frame.topLeft();
const JRect enclBounds = (GetEnclosure())->GetBounds();
JCoordinate dx=0, dy=0, dw=0, dh=0;
if (fitHoriz)
{
dx = enclBounds.left - oldPt.x;
dw = enclBounds.width() - frame.width();
}
if (fitVert)
{
dy = enclBounds.top - oldPt.y;
dh = enclBounds.height() - frame.height();
}
Move(dx,dy);
AdjustSize(dw,dh);
}
示例2: r
void
JXTabGroup::DrawTabBorder
(
JXWindowPainter& p,
const JRect& rect,
const JBoolean isSelected
)
{
JXDrawUpFrame(p, rect, kBorderWidth);
const JColormap* cmap = p.GetColormap();
if (itsEdge == kTop)
{
p.SetPenColor(cmap->GetDefaultBackColor());
p.JPainter::Point(rect.topLeft());
p.JPainter::Point(rect.topRight() + JPoint(-1,0));
p.JPainter::Point(rect.topRight() + JPoint(-2,0));
p.JPainter::Point(rect.topRight() + JPoint(-1,1));
p.JPainter::Point(rect.topRight() + JPoint(-1,2));
p.SetPenColor(cmap->Get3DLightColor());
p.JPainter::Point(rect.topLeft() + JPoint(kBorderWidth, kBorderWidth));
p.SetPenColor(cmap->Get3DShadeColor());
p.JPainter::Point(rect.topRight() + JPoint(-kBorderWidth-1, kBorderWidth));
if (isSelected)
{
JRect r(rect.bottom - kBorderWidth, rect.left + kBorderWidth,
rect.bottom, rect.right - kBorderWidth);
p.SetPenColor(cmap->GetGrayColor(kSelGrayPercentage));
p.JPainter::Rect(r);
p.JPainter::Point(rect.topLeft() + JPoint(-1,kSelMargin+kBorderWidth));
p.SetPenColor(cmap->Get3DLightColor());
p.JPainter::Point(rect.bottomLeft() + JPoint(1,-1));
p.JPainter::Point(rect.bottomRight() + JPoint(-2,-1));
p.JPainter::Point(rect.bottomRight() + JPoint(-1,-2));
p.JPainter::Point(rect.bottomRight() + JPoint(-1,-1));
}
}
else if (itsEdge == kLeft)
{
p.SetPenColor(cmap->GetDefaultBackColor());
p.JPainter::Point(rect.topLeft());
p.JPainter::Point(rect.bottomLeft() + JPoint(0,-1));
p.JPainter::Point(rect.bottomLeft() + JPoint(0,-2));
p.JPainter::Point(rect.bottomLeft() + JPoint(1,-1));
p.JPainter::Point(rect.bottomLeft() + JPoint(2,-1));
p.SetPenColor(cmap->Get3DLightColor());
p.JPainter::Point(rect.topLeft() + JPoint(kBorderWidth, kBorderWidth));
p.SetPenColor(cmap->Get3DShadeColor());
p.JPainter::Point(rect.bottomLeft() + JPoint(kBorderWidth, -kBorderWidth-1));
if (isSelected)
{
JRect r(rect.top + kBorderWidth, rect.right - kBorderWidth,
rect.bottom - kBorderWidth, rect.right);
p.SetPenColor(cmap->GetGrayColor(kSelGrayPercentage));
p.JPainter::Rect(r);
p.JPainter::Point(rect.topLeft() + JPoint(kSelMargin+kBorderWidth,-1));
p.SetPenColor(cmap->Get3DLightColor());
p.JPainter::Point(rect.topRight() + JPoint(-1,1));
if (rect.bottom < (GetAperture()).bottom)
{
p.JPainter::Point(rect.bottomRight() + JPoint(-1,-1));
p.JPainter::Point(rect.bottomRight() + JPoint(-2,-1));
p.JPainter::Point(rect.bottomRight() + JPoint(-1,-2));
}
}
}
else if (itsEdge == kBottom)
{
p.SetPenColor(cmap->GetDefaultBackColor());
p.JPainter::Point(rect.bottomLeft() + JPoint(0,-1));
p.JPainter::Point(rect.bottomLeft() + JPoint(0,-2));
p.JPainter::Point(rect.bottomLeft() + JPoint(1,-1));
p.JPainter::Point(rect.bottomLeft() + JPoint(2,-1));
p.JPainter::Point(rect.bottomRight() + JPoint(-1,-1));
p.SetPenColor(cmap->Get3DLightColor());
p.JPainter::Point(rect.bottomLeft() + JPoint(kBorderWidth, -kBorderWidth-1));
p.SetPenColor(cmap->Get3DShadeColor());
p.JPainter::Point(rect.bottomRight() + JPoint(-kBorderWidth-1, -kBorderWidth-1));
if (isSelected)
{
JRect r(rect.top, rect.left + kBorderWidth,
rect.top + kBorderWidth, rect.right - kBorderWidth);
p.SetPenColor(cmap->GetGrayColor(kSelGrayPercentage));
p.JPainter::Rect(r);
p.SetPenColor(cmap->Get3DShadeColor());
if (rect.left > (GetAperture()).left)
{
p.JPainter::Point(rect.topLeft());
}
p.JPainter::Point(rect.topRight() + JPoint(-1,0));
p.JPainter::Point(rect.topRight() + JPoint(-2,0));
p.JPainter::Point(rect.topRight() + JPoint(-2,1));
}
}
//.........这里部分代码省略.........
示例3: ellipseRect
void
TestWidget::DrawStuff
(
JPainter& p
)
{
JIndex i;
JXColormap* colormap = GetColormap();
p.SetPenColor(colormap->GetGreenColor());
JRect ellipseRect(100,50,150,300);
p.Ellipse(ellipseRect);
p.SetPenColor(colormap->GetBlackColor());
if (itsFillFlag)
{
p.SetFilling(kJTrue);
}
JRect ap = GetAperture();
p.Line(ap.topLeft(), ap.bottomRight());
p.Line(ap.topRight(), ap.bottomLeft());
p.SetLineWidth(2);
p.SetFontName("Times");
p.SetFontSize(18);
p.Image(*itsHomeImage, itsHomeImage->GetBounds(), itsHomeRect);
its2Rect = JRect(150, 5, 200, 30);
p.SetPenColor(colormap->GetRedColor());
p.Rect(its2Rect);
p.SetFontStyle(colormap->GetRedColor());
p.String(its2Rect.topLeft(), "2",
its2Rect.width(), JPainter::kHAlignCenter,
its2Rect.height(), JPainter::kVAlignCenter);
its3Rect = JRect(10, 150, 40, 200);
p.SetPenColor(colormap->GetBlueColor());
p.Rect(its3Rect);
p.SetFontStyle(colormap->GetBlueColor());
p.String(its3Rect.topLeft(), "3",
its3Rect.width(), JPainter::kHAlignCenter,
its3Rect.height(), JPainter::kVAlignCenter);
p.SetLineWidth(1);
p.SetFont(GetFontManager()->GetDefaultFont());
p.ShiftOrigin(10,10);
p.Point(0,0);
for (i=1; i<=itsRandPointCount; i++)
{
p.Point(itsRNG.UniformLong(0,200), itsRNG.UniformLong(0,200));
}
p.SetPenColor(colormap->GetRedColor());
p.Line(10,0, 0,10);
p.SetPenColor(colormap->GetGreenColor());
p.LineTo(10,20);
p.SetPenColor(colormap->GetBlueColor());
p.LineTo(0,30);
p.ShiftOrigin(2,0);
JPoint textPt(40,30);
p.String( 0.0, textPt, "Hello");
p.String( 90.0, textPt, "Hello");
p.String(180.0, textPt, "Hello");
p.String(270.0, textPt, "Hello");
p.ShiftOrigin(-2, 0);
p.SetPenColor(colormap->GetBlueColor());
JRect r(70, 290, 150, 390);
p.Rect(r);
/*
for (JCoordinate y=70; y<150; y++)
{
p.SetPenColor(colormap->GetGrayColor(y-50));
p.Line(290,y, 390,y);
}
for (JCoordinate x=290; x<390; x++)
{
p.SetPenColor(colormap->GetGrayColor(x-290));
p.Line(x,70, x,150);
}
p.SetLineWidth(2);
for (JCoordinate y=70; y<150; y+=2)
{
p.SetPenColor(colormap->GetGrayColor(y%4 ? 40 : 60));
p.Line(290,y, 390,y);
}
p.SetLineWidth(1);
p.SetLineWidth(2);
//.........这里部分代码省略.........
示例4: ellipseRect
void
TestWidget::DrawStuff
(
JPainter& p
)
{
JIndex i;
JXColormap* colormap = GetColormap();
p.SetPenColor(colormap->GetGreenColor());
JRect ellipseRect(100,50,150,300);
p.Ellipse(ellipseRect);
p.SetPenColor(colormap->GetBlackColor());
if (itsFillFlag)
{
p.SetFilling(kJTrue);
}
JRect ap = GetAperture();
p.Line(ap.topLeft(), ap.bottomRight());
p.Line(ap.topRight(), ap.bottomLeft());
p.SetLineWidth(2);
p.SetFontName(JXGetTimesFontName());
p.SetFontSize(18);
p.Image(*itsHomeImage, itsHomeImage->GetBounds(), itsHomeRect);
its2Rect = JRect(150, 5, 200, 30);
p.SetPenColor(colormap->GetRedColor());
p.Rect(its2Rect);
p.SetFontStyle(colormap->GetRedColor());
p.String(its2Rect.topLeft(), "2",
its2Rect.width(), JPainter::kHAlignCenter,
its2Rect.height(), JPainter::kVAlignCenter);
its3Rect = JRect(10, 150, 40, 200);
p.SetPenColor(colormap->GetBlueColor());
p.Rect(its3Rect);
p.SetFontStyle(colormap->GetBlueColor());
p.String(its3Rect.topLeft(), "3",
its3Rect.width(), JPainter::kHAlignCenter,
its3Rect.height(), JPainter::kVAlignCenter);
p.SetLineWidth(1);
p.SetFont(JGetDefaultFontName(), kJXDefaultFontSize, colormap->GetBlackColor());
p.ShiftOrigin(10,10);
p.Point(0,0);
for (i=1; i<=itsRandPointCount; i++)
{
p.Point(itsRNG.UniformLong(0,200), itsRNG.UniformLong(0,200));
}
p.SetPenColor(colormap->GetRedColor());
p.Line(10,0, 0,10);
p.SetPenColor(colormap->GetGreenColor());
p.LineTo(10,20);
p.SetPenColor(colormap->GetBlueColor());
p.LineTo(0,30);
p.ShiftOrigin(2,0);
JPoint textPt(40,30);
p.String( 0.0, textPt, "Hello");
p.String( 90.0, textPt, "Hello");
p.String(180.0, textPt, "Hello");
p.String(270.0, textPt, "Hello");
p.Rect(310, 70, 80, 80);
p.String( 0.0, 310, 70, "Hello", 80, JPainter::kHAlignCenter,
80, JPainter::kVAlignCenter);
p.String( 90.0, 310,150, "Hello", 80, JPainter::kHAlignCenter,
80, JPainter::kVAlignCenter);
p.String(180.0, 390,150, "Hello", 80, JPainter::kHAlignCenter,
80, JPainter::kVAlignCenter);
p.String(270.0, 390, 70, "Hello", 80, JPainter::kHAlignCenter,
80, JPainter::kVAlignCenter);
p.Rect(200, 10, 100, 50);
p.String(200, 10, "Hello", 100, JPainter::kHAlignLeft);
p.String(200, 10+p.GetLineHeight(), "Hello", 100, JPainter::kHAlignCenter);
p.String(200, 10+2*p.GetLineHeight(), "Hello", 100, JPainter::kHAlignRight);
p.SetPenColor(colormap->GetYellowColor());
JRect r(0,11,80,91);
p.Rect(r);
r.Shrink(1,1);
p.SetPenColor(colormap->GetBlueColor());
p.Ellipse(r);
r.Shrink(1,1);
p.SetPenColor(colormap->GetRedColor());
p.Arc(r, 270.0-45.0, -270.0);
JPolygon poly;
poly.AppendElement(JPoint(0,85));
//.........这里部分代码省略.........
示例5: frame
//.........这里部分代码省略.........
// check for errors -- safe since we have read in entire object
JString hSizing, vSizing;
if (!ParseGravity(nwGravity, &hSizing, &vSizing))
{
cerr << "Illegal sizing specification ";
cerr << nwGravity << ',' << seGravity;
cerr << " for '" << *varName << '\'' << endl;
rectList.RemoveElement(objCount);
isInstanceVar.RemoveElement(objCount);
objNames->DeleteElement(objCount);
continue;
}
if (*varName == topEnclVarName)
{
cerr << "Cannot use reserved name '" << topEnclVarName << '\'' << endl;
rectList.RemoveElement(objCount);
isInstanceVar.RemoveElement(objCount);
objNames->DeleteElement(objCount);
continue;
}
// get the object's enclosure
JIndex enclIndex;
JString enclName;
JRect localFrame = frame;
if (GetEnclosure(rectList, objCount, &enclIndex))
{
enclName = *(objNames->NthElement(enclIndex));
const JRect enclFrame = rectList.GetElement(enclIndex);
localFrame.Shift(-enclFrame.topLeft());
}
else
{
enclName = topEnclVarName;
}
// get the class name and additional arguments
JString* className = new JString;
assert( className != NULL );
objTypes->Append(className);
JString argList;
if (!GetConstructor(flClass, flType, &label, className, &argList))
{
cerr << "Unsupported class: " << flClass << ", " << flType << endl;
rectList.RemoveElement(objCount);
isInstanceVar.RemoveElement(objCount);
objNames->DeleteElement(objCount);
objTypes->DeleteElement(objCount);
continue;
}
// generate the actual code
const JBoolean needCreate = NeedsCreateFunction(*className);
output << " ";
if (isLocal)
{
className->Print(output);
output << "* ";
示例6: if
void
JXTreeListWidget::TableDrawCell
(
JPainter& p,
const JPoint& cell,
const JRect& rect
)
{
if (JIndex(cell.x) == itsNodeColIndex && itsDrawSelectionFlag)
{
HilightIfSelected(p, cell, rect);
}
const JTreeNode* node = itsTreeList->GetNode(cell.y);
if (JIndex(cell.x) == itsToggleOpenColIndex && node->IsOpenable())
{
p.ShiftOrigin(rect.topLeft());
const JPolygon* triangle = (itsTreeList->IsOpen(cell.y) ?
&kOpenTriangle : &kClosedTriangle);
if (kOpenTriangle.IsEmpty())
{
kOpenTriangle.AppendElement(JPoint(5, 6));
kOpenTriangle.AppendElement(JPoint(15, 6));
kOpenTriangle.AppendElement(JPoint(10, 11));
kClosedTriangle.AppendElement(JPoint(10, 3));
kClosedTriangle.AppendElement(JPoint(15, 8));
kClosedTriangle.AppendElement(JPoint(10, 13));
}
const JColormap* colormap = p.GetColormap();
if ((itsToggleDragIndex == cell.y && itsMouseInToggleFlag) ||
itsDNDTargetIndex == JIndex(cell.y))
{
p.SetFilling(kJTrue);
p.SetPenColor(colormap->GetBlackColor());
p.Polygon(*triangle);
}
else
{
p.SetFilling(kJTrue);
p.SetPenColor(colormap->GetGrayColor(90));
p.Polygon(*triangle);
p.SetFilling(kJFalse);
p.SetPenColor(colormap->GetBlackColor());
p.Polygon(*triangle);
}
p.ShiftOrigin(-(rect.topLeft()));
}
else if (JIndex(cell.x) == itsNodeColIndex)
{
JRect r = rect;
r.left += GetNodeIndent(cell.y);
p.SetClipRect(r);
TLWDrawNode(p, cell, r);
// Table controls clip rect, so we don't have to reset it.
}
}