Changeset 68878 in webkit


Ignore:
Timestamp:
Oct 1, 2010 4:38:11 AM (14 years ago)
Author:
Nikolas Zimmermann
Message:

2010-10-01 Nikolas Zimmermann <nzimmermann@rim.com>

Reviewed by Dirk Schulze.

Add two new helper files for the new SVGTextLayoutEngine
https://bugs.webkit.org/show_bug.cgi?id=46972

Refactor code from SVGTextLayoutUtilities into two seperated classes.
SVGTextLayoutUtilities will be removed, as soon as the main clss SVGTextLayoutEngine lands and gets used.

Doesn't affect any functionality yet, as the new classes are not used so far.

  • Android.mk:
  • CMakeLists.txt:
  • GNUmakefile.am:
  • WebCore.gypi:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • rendering/svg/SVGTextFragment.h:
  • rendering/svg/SVGTextLayoutEngineBaseline.cpp: Added. (WebCore::SVGTextLayoutEngineBaseline::SVGTextLayoutEngineBaseline): (WebCore::SVGTextLayoutEngineBaseline::calculateBaselineShift): (WebCore::SVGTextLayoutEngineBaseline::dominantBaselineToAlignmentBaseline): (WebCore::SVGTextLayoutEngineBaseline::calculateAlignmentBaselineShift): (WebCore::SVGTextLayoutEngineBaseline::calculateGlyphOrientationAngle): (WebCore::glyphOrientationIsMultiplyOf180Degrees): (WebCore::SVGTextLayoutEngineBaseline::calculateGlyphAdvanceAndOrientation):
  • rendering/svg/SVGTextLayoutEngineBaseline.h: Added.
  • rendering/svg/SVGTextLayoutEngineSpacing.cpp: Added. (WebCore::SVGTextLayoutEngineSpacing::SVGTextLayoutEngineSpacing): (WebCore::SVGTextLayoutEngineSpacing::calculateSVGKerning): (WebCore::SVGTextLayoutEngineSpacing::calculateCSSKerningAndSpacing):
  • rendering/svg/SVGTextLayoutEngineSpacing.h: Added.
Location:
trunk/WebCore
Files:
4 added
8 edited

Legend:

Unmodified
Added
Removed
  • trunk/WebCore/Android.mk

    r68876 r68878  
    719719        rendering/svg/SVGTextLayoutAttributes.cpp \
    720720        rendering/svg/SVGTextLayoutAttributesBuilder.cpp \
     721        rendering/svg/SVGTextLayoutEngineBaseline.cpp \
     722        rendering/svg/SVGTextLayoutEngineSpacing.cpp \
    721723        rendering/svg/SVGTextMetrics.cpp \
    722724        rendering/svg/SVGTextQuery.cpp
  • trunk/WebCore/CMakeLists.txt

    r68876 r68878  
    17091709        rendering/svg/SVGTextLayoutAttributes.cpp
    17101710        rendering/svg/SVGTextLayoutAttributesBuilder.cpp
     1711        rendering/svg/SVGTextLayoutBaseline.cpp
     1712        rendering/svg/SVGTextLayoutSpacing.cpp
    17111713        rendering/svg/SVGTextMetrics.cpp
    17121714        rendering/svg/SVGTextQuery.cpp
  • trunk/WebCore/ChangeLog

    r68876 r68878  
     12010-10-01  Nikolas Zimmermann  <nzimmermann@rim.com>
     2
     3        Reviewed by Dirk Schulze.
     4
     5        Add two new helper files for the new SVGTextLayoutEngine
     6        https://bugs.webkit.org/show_bug.cgi?id=46972
     7
     8        Refactor code from SVGTextLayoutUtilities into two seperated classes.
     9        SVGTextLayoutUtilities will be removed, as soon as the main clss SVGTextLayoutEngine lands and gets used.
     10
     11        Doesn't affect any functionality yet, as the new classes are not used so far.
     12
     13        * Android.mk:
     14        * CMakeLists.txt:
     15        * GNUmakefile.am:
     16        * WebCore.gypi:
     17        * WebCore.vcproj/WebCore.vcproj:
     18        * WebCore.xcodeproj/project.pbxproj:
     19        * rendering/svg/SVGTextFragment.h:
     20        * rendering/svg/SVGTextLayoutEngineBaseline.cpp: Added.
     21        (WebCore::SVGTextLayoutEngineBaseline::SVGTextLayoutEngineBaseline):
     22        (WebCore::SVGTextLayoutEngineBaseline::calculateBaselineShift):
     23        (WebCore::SVGTextLayoutEngineBaseline::dominantBaselineToAlignmentBaseline):
     24        (WebCore::SVGTextLayoutEngineBaseline::calculateAlignmentBaselineShift):
     25        (WebCore::SVGTextLayoutEngineBaseline::calculateGlyphOrientationAngle):
     26        (WebCore::glyphOrientationIsMultiplyOf180Degrees):
     27        (WebCore::SVGTextLayoutEngineBaseline::calculateGlyphAdvanceAndOrientation):
     28        * rendering/svg/SVGTextLayoutEngineBaseline.h: Added.
     29        * rendering/svg/SVGTextLayoutEngineSpacing.cpp: Added.
     30        (WebCore::SVGTextLayoutEngineSpacing::SVGTextLayoutEngineSpacing):
     31        (WebCore::SVGTextLayoutEngineSpacing::calculateSVGKerning):
     32        (WebCore::SVGTextLayoutEngineSpacing::calculateCSSKerningAndSpacing):
     33        * rendering/svg/SVGTextLayoutEngineSpacing.h: Added.
     34
    1352010-10-01  Nikolas Zimmermann  <nzimmermann@rim.com>
    236
  • trunk/WebCore/GNUmakefile.am

    r68876 r68878  
    28172817        WebCore/rendering/svg/SVGTextLayoutAttributesBuilder.cpp \
    28182818        WebCore/rendering/svg/SVGTextLayoutAttributesBuilder.h \
     2819        WebCore/rendering/svg/SVGTextLayoutEngineBaseline.cpp \
     2820        WebCore/rendering/svg/SVGTextLayoutEngineBaseline.h \
     2821        WebCore/rendering/svg/SVGTextLayoutEngineSpacing.cpp \
     2822        WebCore/rendering/svg/SVGTextLayoutEngineSpacing.h \
    28192823        WebCore/rendering/svg/SVGTextMetrics.cpp \
    28202824        WebCore/rendering/svg/SVGTextMetrics.h \
  • trunk/WebCore/WebCore.gypi

    r68876 r68878  
    34593459            'rendering/svg/SVGTextLayoutAttributesBuilder.cpp',
    34603460            'rendering/svg/SVGTextLayoutAttributesBuilder.h',
     3461            'rendering/svg/SVGTextLayoutEngineBaseline.cpp',
     3462            'rendering/svg/SVGTextLayoutEngineBaseline.h',
     3463            'rendering/svg/SVGTextLayoutEngineSpacing.cpp',
     3464            'rendering/svg/SVGTextLayoutEngineSpacing.h',
    34613465            'rendering/svg/SVGTextMetrics.cpp',
    34623466            'rendering/svg/SVGTextMetrics.h',
  • trunk/WebCore/WebCore.vcproj/WebCore.vcproj

    r68876 r68878  
    3348733487                                </File>
    3348833488                                <File
     33489                                        RelativePath="..\rendering\svg\SVGTextLayoutEngineBaseline.cpp"
     33490                                        >
     33491                                </File>
     33492                                <File
     33493                                        RelativePath="..\rendering\svg\SVGTextLayoutEngineBaseline.h"
     33494                                        >
     33495                                </File>
     33496                                <File
     33497                                        RelativePath="..\rendering\svg\SVGTextLayoutEngineSpacing.cpp"
     33498                                        >
     33499                                </File>
     33500                                <File
     33501                                        RelativePath="..\rendering\svg\SVGTextLayoutEngineSpacing.h"
     33502                                        >
     33503                                </File>
     33504                                <File
    3348933505                                        RelativePath="..\rendering\svg\SVGTextMetrics.cpp"
    3349033506                                        >
  • trunk/WebCore/WebCore.xcodeproj/project.pbxproj

    r68876 r68878  
    6565                080AEC830ED8708B00DF4CCE /* WMLIntrinsicEventHandler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 080AEC7F0ED8708B00DF4CCE /* WMLIntrinsicEventHandler.cpp */; };
    6666                080AEC840ED8708B00DF4CCE /* WMLIntrinsicEventHandler.h in Headers */ = {isa = PBXBuildFile; fileRef = 080AEC800ED8708B00DF4CCE /* WMLIntrinsicEventHandler.h */; };
     67                080E49251255F3BD00EFCA27 /* SVGTextLayoutEngineBaseline.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 080E49211255F3BD00EFCA27 /* SVGTextLayoutEngineBaseline.cpp */; };
     68                080E49261255F3BD00EFCA27 /* SVGTextLayoutEngineBaseline.h in Headers */ = {isa = PBXBuildFile; fileRef = 080E49221255F3BD00EFCA27 /* SVGTextLayoutEngineBaseline.h */; };
     69                080E49271255F3BD00EFCA27 /* SVGTextLayoutEngineSpacing.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 080E49231255F3BD00EFCA27 /* SVGTextLayoutEngineSpacing.cpp */; };
     70                080E49281255F3BD00EFCA27 /* SVGTextLayoutEngineSpacing.h in Headers */ = {isa = PBXBuildFile; fileRef = 080E49241255F3BD00EFCA27 /* SVGTextLayoutEngineSpacing.h */; };
    6771                080FAE1A0EEEBDA800AACDE9 /* WMLTemplateElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 080FAE180EEEBDA800AACDE9 /* WMLTemplateElement.cpp */; };
    6872                080FAE1B0EEEBDA800AACDE9 /* WMLTemplateElement.h in Headers */ = {isa = PBXBuildFile; fileRef = 080FAE190EEEBDA800AACDE9 /* WMLTemplateElement.h */; };
     
    60086012                080AEC7F0ED8708B00DF4CCE /* WMLIntrinsicEventHandler.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WMLIntrinsicEventHandler.cpp; sourceTree = "<group>"; };
    60096013                080AEC800ED8708B00DF4CCE /* WMLIntrinsicEventHandler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WMLIntrinsicEventHandler.h; sourceTree = "<group>"; };
     6014                080E49211255F3BD00EFCA27 /* SVGTextLayoutEngineBaseline.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SVGTextLayoutEngineBaseline.cpp; sourceTree = "<group>"; };
     6015                080E49221255F3BD00EFCA27 /* SVGTextLayoutEngineBaseline.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SVGTextLayoutEngineBaseline.h; sourceTree = "<group>"; };
     6016                080E49231255F3BD00EFCA27 /* SVGTextLayoutEngineSpacing.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SVGTextLayoutEngineSpacing.cpp; sourceTree = "<group>"; };
     6017                080E49241255F3BD00EFCA27 /* SVGTextLayoutEngineSpacing.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SVGTextLayoutEngineSpacing.h; sourceTree = "<group>"; };
    60106018                080FAE180EEEBDA800AACDE9 /* WMLTemplateElement.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WMLTemplateElement.cpp; sourceTree = "<group>"; };
    60116019                080FAE190EEEBDA800AACDE9 /* WMLTemplateElement.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WMLTemplateElement.h; sourceTree = "<group>"; };
     
    1166211670                                081093D91255F0E700ED9D29 /* SVGTextLayoutAttributesBuilder.cpp */,
    1166311671                                081093DA1255F0E700ED9D29 /* SVGTextLayoutAttributesBuilder.h */,
     11672                                080E49211255F3BD00EFCA27 /* SVGTextLayoutEngineBaseline.cpp */,
     11673                                080E49221255F3BD00EFCA27 /* SVGTextLayoutEngineBaseline.h */,
     11674                                080E49231255F3BD00EFCA27 /* SVGTextLayoutEngineSpacing.cpp */,
     11675                                080E49241255F3BD00EFCA27 /* SVGTextLayoutEngineSpacing.h */,
    1166411676                                08F0BFC01255C53C00075185 /* SVGTextMetrics.cpp */,
    1166511677                                08F0BFC11255C53C00075185 /* SVGTextMetrics.h */,
     
    2093820950                                0854B0251255E4E600B9CDD0 /* SVGTextQuery.h in Headers */,
    2093920951                                081093DC1255F0E700ED9D29 /* SVGTextLayoutAttributesBuilder.h in Headers */,
     20952                                080E49261255F3BD00EFCA27 /* SVGTextLayoutEngineBaseline.h in Headers */,
     20953                                080E49281255F3BD00EFCA27 /* SVGTextLayoutEngineSpacing.h in Headers */,
    2094020954                        );
    2094120955                        runOnlyForDeploymentPostprocessing = 0;
     
    2346423478                                0854B0241255E4E600B9CDD0 /* SVGTextQuery.cpp in Sources */,
    2346523479                                081093DB1255F0E700ED9D29 /* SVGTextLayoutAttributesBuilder.cpp in Sources */,
     23480                                080E49251255F3BD00EFCA27 /* SVGTextLayoutEngineBaseline.cpp in Sources */,
     23481                                080E49271255F3BD00EFCA27 /* SVGTextLayoutEngineSpacing.cpp in Sources */,
    2346623482                        );
    2346723483                        runOnlyForDeploymentPostprocessing = 0;
  • trunk/WebCore/rendering/svg/SVGTextFragment.h

    r68873 r68878  
    4848
    4949    // Includes rotation/glyph-orientation-(horizontal|vertical) transforms, lengthAdjust="spacingAndGlyphs" (for textPath only),
    50     // as well as orientation related shifts (see SVGCharacterLayoutBuilder, which builds this transformation).
     50    // as well as orientation related shifts (see SVGTextLayoutEngine, which builds this transformation).
    5151    AffineTransform transform;
    5252};
Note: See TracChangeset for help on using the changeset viewer.