本文整理汇总了C++中TextLine::Offset方法的典型用法代码示例。如果您正苦于以下问题:C++ TextLine::Offset方法的具体用法?C++ TextLine::Offset怎么用?C++ TextLine::Offset使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类TextLine
的用法示例。
在下文中一共展示了TextLine::Offset方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: Right
IntCoord TextDisplay::Right (int line, int index) {
TextLine* l = Line(line, false);
if (l == nil) {
return xmin + x0;
} else {
return xmin + x0 + l->Offset(this, index+1) - 1;
}
}
示例2: Width
IntCoord TextDisplay::Width () {
if (width < 0) {
if (painter != nil) {
width = 0;
for (int i = firstline; i <= lastline; ++i) {
TextLine* line = Line(i, false);
if (line != nil) {
width = Math::max(width, line->Offset(this, 10000));
}
}
}
}
return width;
}
示例3: DeleteText
void TextDisplay::DeleteText (int l, int i, int c) {
TextLine* line = Line(l, true);
line->Delete(this, l, i, c);
if (painter != nil && width != -1) {
if (l == widestline) {
IntCoord w = line->Offset(this, 10000);
if (w < width) {
width = -1;
}
}
}
if (l == caretline) {
ShowCaret();
}
}
示例4: InsertText
void TextDisplay::InsertText (int l, int i, const char* t, int c) {
TextLine* line = Line(l, true);
line->Insert(this, l, i, t, c);
if (painter != nil && width != -1) {
IntCoord w = line->Offset(this, 10000);
if (w > width) {
width = w;
widestline = l;
}
}
if (autosized) {
IntCoord dw = Width() - (xmax - xmin);
if (dw > 0) {
xmax += dw;
Redraw(xmax - dw + 1, ymin, xmax, ymax);
}
}
if (l == caretline) {
ShowCaret();
}
}