Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(596)

Side by Side Diff: Source/core/layout/LayoutBlockFlow.h

Issue 1043643002: Switch line layout to LayoutUnit. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: More TestExpectations tweaks Created 5 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « Source/core/layout/LayoutBlock.h ('k') | Source/core/layout/LayoutBlockFlowLine.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org)
3 * (C) 1999 Antti Koivisto (koivisto@kde.org) 3 * (C) 1999 Antti Koivisto (koivisto@kde.org)
4 * (C) 2007 David Smith (catfish.man@gmail.com) 4 * (C) 2007 David Smith (catfish.man@gmail.com)
5 * Copyright (C) 2003-2013 Apple Inc. All rights reserved. 5 * Copyright (C) 2003-2013 Apple Inc. All rights reserved.
6 * Copyright (C) Research In Motion Limited 2010. All rights reserved. 6 * Copyright (C) Research In Motion Limited 2010. All rights reserved.
7 * Copyright (C) 2013 Google Inc. All rights reserved. 7 * Copyright (C) 2013 Google Inc. All rights reserved.
8 * 8 *
9 * Redistribution and use in source and binary forms, with or without 9 * Redistribution and use in source and binary forms, with or without
10 * modification, are permitted provided that the following conditions are 10 * modification, are permitted provided that the following conditions are
(...skipping 311 matching lines...) Expand 10 before | Expand all | Expand 10 after
322 NoFlowThread, 322 NoFlowThread,
323 MultiColumnFlowThread, 323 MultiColumnFlowThread,
324 PagedFlowThread 324 PagedFlowThread
325 }; 325 };
326 326
327 FlowThreadType flowThreadType(const ComputedStyle&); 327 FlowThreadType flowThreadType(const ComputedStyle&);
328 328
329 LayoutMultiColumnFlowThread* createMultiColumnFlowThread(FlowThreadType); 329 LayoutMultiColumnFlowThread* createMultiColumnFlowThread(FlowThreadType);
330 void createOrDestroyMultiColumnFlowThreadIfNeeded(const ComputedStyle* oldSt yle); 330 void createOrDestroyMultiColumnFlowThreadIfNeeded(const ComputedStyle* oldSt yle);
331 331
332 void updateLogicalWidthForAlignment(const ETextAlign&, const RootInlineBox*, BidiRun* trailingSpaceRun, float& logicalLeft, float& totalLogicalWidth, float& availableLogicalWidth, unsigned expansionOpportunityCount); 332 void updateLogicalWidthForAlignment(const ETextAlign&, const RootInlineBox*, BidiRun* trailingSpaceRun, LayoutUnit& logicalLeft, LayoutUnit& totalLogicalWid th, LayoutUnit& availableLogicalWidth, unsigned expansionOpportunityCount);
333 void checkForPaginationLogicalHeightChange(LayoutUnit& pageLogicalHeight, bo ol& pageLogicalHeightChanged, bool& hasSpecifiedPageLogicalHeight); 333 void checkForPaginationLogicalHeightChange(LayoutUnit& pageLogicalHeight, bo ol& pageLogicalHeightChanged, bool& hasSpecifiedPageLogicalHeight);
334 bool shouldRelayoutForPagination(LayoutUnit& pageLogicalHeight, LayoutUnit l ayoutOverflowLogicalBottom) const; 334 bool shouldRelayoutForPagination(LayoutUnit& pageLogicalHeight, LayoutUnit l ayoutOverflowLogicalBottom) const;
335 void setColumnCountAndHeight(unsigned count, LayoutUnit pageLogicalHeight); 335 void setColumnCountAndHeight(unsigned count, LayoutUnit pageLogicalHeight);
336 336
337 bool shouldBreakAtLineToAvoidWidow() const { return m_rareData && m_rareData ->m_lineBreakToAvoidWidow >= 0; } 337 bool shouldBreakAtLineToAvoidWidow() const { return m_rareData && m_rareData ->m_lineBreakToAvoidWidow >= 0; }
338 void clearShouldBreakAtLineToAvoidWidow() const; 338 void clearShouldBreakAtLineToAvoidWidow() const;
339 int lineBreakToAvoidWidow() const { return m_rareData ? m_rareData->m_lineBr eakToAvoidWidow : -1; } 339 int lineBreakToAvoidWidow() const { return m_rareData ? m_rareData->m_lineBr eakToAvoidWidow : -1; }
340 void setBreakAtLineToAvoidWidow(int); 340 void setBreakAtLineToAvoidWidow(int);
341 void clearDidBreakAtLineToAvoidWidow(); 341 void clearDidBreakAtLineToAvoidWidow();
342 void setDidBreakAtLineToAvoidWidow(); 342 void setDidBreakAtLineToAvoidWidow();
(...skipping 162 matching lines...) Expand 10 before | Expand all | Expand 10 after
505 505
506 // FIXME-BLOCKFLOW: These methods have implementations in 506 // FIXME-BLOCKFLOW: These methods have implementations in
507 // LayoutBlockFlowLine. They should be moved to the proper header once the 507 // LayoutBlockFlowLine. They should be moved to the proper header once the
508 // line layout code is separated from LayoutBlock and LayoutBlockFlow. 508 // line layout code is separated from LayoutBlock and LayoutBlockFlow.
509 // START METHODS DEFINED IN LayoutBlockFlowLine 509 // START METHODS DEFINED IN LayoutBlockFlowLine
510 private: 510 private:
511 InlineFlowBox* createLineBoxes(LayoutObject*, const LineInfo&, InlineBox* ch ildBox); 511 InlineFlowBox* createLineBoxes(LayoutObject*, const LineInfo&, InlineBox* ch ildBox);
512 RootInlineBox* constructLine(BidiRunList<BidiRun>&, const LineInfo&); 512 RootInlineBox* constructLine(BidiRunList<BidiRun>&, const LineInfo&);
513 void setMarginsForRubyRun(BidiRun*, LayoutRubyRun*, LayoutObject*, const Lin eInfo&); 513 void setMarginsForRubyRun(BidiRun*, LayoutRubyRun*, LayoutObject*, const Lin eInfo&);
514 void computeInlineDirectionPositionsForLine(RootInlineBox*, const LineInfo&, BidiRun* firstRun, BidiRun* trailingSpaceRun, bool reachedEnd, GlyphOverflowAnd FallbackFontsMap&, VerticalPositionCache&, WordMeasurements&); 514 void computeInlineDirectionPositionsForLine(RootInlineBox*, const LineInfo&, BidiRun* firstRun, BidiRun* trailingSpaceRun, bool reachedEnd, GlyphOverflowAnd FallbackFontsMap&, VerticalPositionCache&, WordMeasurements&);
515 BidiRun* computeInlineDirectionPositionsForSegment(RootInlineBox*, const Lin eInfo&, ETextAlign, float& logicalLeft, 515 BidiRun* computeInlineDirectionPositionsForSegment(RootInlineBox*, const Lin eInfo&, ETextAlign, LayoutUnit& logicalLeft,
516 float& availableLogicalWidth, BidiRun* firstRun, BidiRun* trailingSpaceR un, GlyphOverflowAndFallbackFontsMap& textBoxDataMap, VerticalPositionCache&, Wo rdMeasurements&); 516 LayoutUnit& availableLogicalWidth, BidiRun* firstRun, BidiRun* trailingS paceRun, GlyphOverflowAndFallbackFontsMap& textBoxDataMap, VerticalPositionCache &, WordMeasurements&);
517 void computeBlockDirectionPositionsForLine(RootInlineBox*, BidiRun*, GlyphOv erflowAndFallbackFontsMap&, VerticalPositionCache&); 517 void computeBlockDirectionPositionsForLine(RootInlineBox*, BidiRun*, GlyphOv erflowAndFallbackFontsMap&, VerticalPositionCache&);
518 void appendFloatingObjectToLastLine(FloatingObject*); 518 void appendFloatingObjectToLastLine(FloatingObject*);
519 // Helper function for layoutInlineChildren() 519 // Helper function for layoutInlineChildren()
520 RootInlineBox* createLineBoxesFromBidiRuns(unsigned bidiLevel, BidiRunList<B idiRun>&, const InlineIterator& end, LineInfo&, VerticalPositionCache&, BidiRun* trailingSpaceRun, WordMeasurements&); 520 RootInlineBox* createLineBoxesFromBidiRuns(unsigned bidiLevel, BidiRunList<B idiRun>&, const InlineIterator& end, LineInfo&, VerticalPositionCache&, BidiRun* trailingSpaceRun, WordMeasurements&);
521 void layoutRunsAndFloats(LineLayoutState&); 521 void layoutRunsAndFloats(LineLayoutState&);
522 const InlineIterator& restartLayoutRunsAndFloatsInRange(LayoutUnit oldLogica lHeight, LayoutUnit newLogicalHeight, FloatingObject* lastFloatFromPreviousLine , InlineBidiResolver&, const InlineIterator&); 522 const InlineIterator& restartLayoutRunsAndFloatsInRange(LayoutUnit oldLogica lHeight, LayoutUnit newLogicalHeight, FloatingObject* lastFloatFromPreviousLine , InlineBidiResolver&, const InlineIterator&);
523 void layoutRunsAndFloatsInRange(LineLayoutState&, InlineBidiResolver&, 523 void layoutRunsAndFloatsInRange(LineLayoutState&, InlineBidiResolver&,
524 const InlineIterator& cleanLineStart, const BidiStatus& cleanLineBidiSta tus); 524 const InlineIterator& cleanLineStart, const BidiStatus& cleanLineBidiSta tus);
525 void linkToEndLineIfNeeded(LineLayoutState&); 525 void linkToEndLineIfNeeded(LineLayoutState&);
526 bool appendFloatsToEndOfLine(LineLayoutState&, bool updateFloatIndex); 526 bool appendFloatsToEndOfLine(LineLayoutState&, bool updateFloatIndex);
(...skipping 12 matching lines...) Expand all
539 539
540 // END METHODS DEFINED IN LayoutBlockFlowLine 540 // END METHODS DEFINED IN LayoutBlockFlowLine
541 541
542 }; 542 };
543 543
544 DEFINE_LAYOUT_OBJECT_TYPE_CASTS(LayoutBlockFlow, isLayoutBlockFlow()); 544 DEFINE_LAYOUT_OBJECT_TYPE_CASTS(LayoutBlockFlow, isLayoutBlockFlow());
545 545
546 } // namespace blink 546 } // namespace blink
547 547
548 #endif // LayoutBlockFlow_h 548 #endif // LayoutBlockFlow_h
OLDNEW
« no previous file with comments | « Source/core/layout/LayoutBlock.h ('k') | Source/core/layout/LayoutBlockFlowLine.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698