コード例 #1
0
ファイル: paragraph.cpp プロジェクト: winlibs/icu4c
void Paragraph::breakLines(le_int32 width, le_int32 height)
{
    fHeight = height;

    // don't re-break if the width hasn't changed
    if (fWidth == width) {
        return;
    }

    fWidth  = width;

    float lineWidth = (float) (width - 2 * MARGIN);
    const ParagraphLayout::Line *line;

    // Free the old LineInfo's...
    for (le_int32 li = 0; li < fLineCount; li += 1) {
        delete fLines[li];
    }

    fLineCount = 0;

    for (le_int32 p = 0; p < fParagraphCount; p += 1) {
        ParagraphLayout *paragraphLayout = fParagraphLayout[p];

        if (paragraphLayout != NULL) {
            paragraphLayout->reflow();
            while ((line = paragraphLayout->nextLine(lineWidth)) != NULL) {
                addLine(line);
            }
        } else {
            addLine(NULL);
        }
    }
}
コード例 #2
0
ファイル: playout.cpp プロジェクト: icu-project/icu4c
U_CAPI void U_EXPORT2
pl_reflow(pl_paragraph *paragraph)
{
    ParagraphLayout *pl = (ParagraphLayout *) paragraph;

    if (pl == NULL) {
        return;
    }

    return pl->reflow();
}
コード例 #3
0
ファイル: gfx_layout.cpp プロジェクト: newfang/OpenTTD
	void Reflow() { p->reflow(); }