- 24 May, 2007 1 commit
-
-
adele authored
Reviewed by Darin. - pixel test for http://bugs.webkit.org/show_bug.cgi?id=13837 Separator in new <select> widget disappears when block element with border is in document. * fast/forms/menulist-separator-painting-expected.checksum: Added. * fast/forms/menulist-separator-painting-expected.png: Added. * fast/forms/menulist-separator-painting-expected.txt: Added. * fast/forms/menulist-separator-painting.html: Added. WebCore: Reviewed by Darin. - fix http://bugs.webkit.org/show_bug.cgi?id=13837 Separator in new <select> widget disappears when block element with border is in document. Test: fast/forms/menulist-separator-painting.html * platform/graphics/cg/GraphicsContextCG.cpp: (WebCore::GraphicsContext::drawConvexPolygon): Changed this function to actually do both filling and stroking when needed, even though all existing callers set the stroke to none. * rendering/RenderThemeMac.mm: (WebCore::RenderThemeMac::paintMenuListButton): Added calls to set the stroke style and thickness when painting the arrows and the separator. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@21719 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 19 May, 2007 1 commit
-
-
bdash authored
Reviewed by Darin. - http://bugs.webkit.org/show_bug.cgi?id=13320 rounded corners with drop shadows are really slow Test for a rendering bug fixed by this patch: fast/box-shadow/border-radius-big.html No test for the performance ingredient. * platform/graphics/GraphicsContext.cpp: (WebCore::GraphicsContext::addRoundedRectClip): Made cross-platform. Changed to use a single clipping path. If all the radii cannot be accommodated, clips to a rect. (WebCore::GraphicsContext::clipOutRoundedRect): Changed to use a single clipping path. If all the radii cannot be accommodated, clips out a rect. * platform/graphics/GraphicsContext.h: Added clipOut(const Path&). * platform/graphics/Path.cpp: (WebCore::Path::createRoundedRectangle): Added. Returns a rounded rectangle with the specified radii. If all the radii cannot be accommodated, returns a rectangular path. * platform/graphics/Path.h: * platform/graphics/cairo/GraphicsContextCairo.cpp: (WebCore::GraphicsContext::clipOut): Added. * platform/graphics/cg/GraphicsContextCG.cpp: (WebCore::GraphicsContext::fillRoundedRect): Changed to use a single path. (WebCore::GraphicsContext::clipOut): Added. * platform/graphics/qt/GraphicsContextQt.cpp: (WebCore::GraphicsContext::clipOut): Added. 2007-05-19 Mitz Pettel <mitz@webkit.org> Reviewed by Darin. - http://bugs.webkit.org/show_bug.cgi?id=13320 rounded corners with drop shadows are really slow * fast/box-shadow/border-radius-big-expected.checksum: Added. * fast/box-shadow/border-radius-big-expected.png: Added. * fast/box-shadow/border-radius-big-expected.txt: Added. * fast/box-shadow/border-radius-big.html: Added. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@21601 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 24 Apr, 2007 1 commit
-
-
thatcher authored
<rdar://problem/4966982> 64-bit: In a unordered list, TYPE=DISC and TYPE=CIRCLE attribute values are ignored We need to draw our full-circle arcs counter-clockwise, since a clockwise arc from 0 to 2π is no arc at all! This only worked on 32-bit due to a rounding error in CoreGraphics, causing it to draw a full circle anyway. * platform/graphics/cg/GraphicsContextCG.cpp: (WebCore::GraphicsContext::drawEllipse): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@21074 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 22 Apr, 2007 1 commit
-
-
hyatt authored
work when no scale is in effect. Reviewed by mjs git-svn-id: http://svn.webkit.org/repository/webkit/trunk@21013 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 06 Apr, 2007 1 commit
-
-
bdakin authored
Fix for <rdar://problem/4875433> WebView underlines are too thick when scaled small When we have a small scale factor, we should follow the line- drawing code as if we were printing. Meaning, specifically, that we should not round to device pixels and we should antialias. * platform/graphics/cg/GraphicsContextCG.cpp: (WebCore::GraphicsContext::drawLineForText): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@20764 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 12 Feb, 2007 2 commits
-
-
darin authored
Reviewed by Hyatt. - update pixel results in cases where overline and line-through were used, because our old code put them 1px too low * css1/cascade/cascade_order-expected.checksum: Updated because this has line-through style. * css1/cascade/cascade_order-expected.png: Ditto. * css1/text_properties/text_decoration-expected.checksum: Updated because this has overline and line-through. * css1/text_properties/text_decoration-expected.png: Ditto. * css2.1/t1504-c543-txt-decor-00-d-g-expected.checksum: Ditto. * css2.1/t1504-c543-txt-decor-00-d-g-expected.png: Ditto. * fast/text/stroking-decorations-expected.checksum: Ditto. * fast/text/stroking-decorations-expected.png: Ditto. - added some missing pixel-test results * fast/forms/disabled-select-change-index-expected.checksum: Added. * fast/forms/disabled-select-change-index-expected.png: Added. WebCore: Reviewed by Hyatt. - fix http://bugs.webkit.org/show_bug.cgi?id=12668 <rdar://problem/4893344> REGRESSION: underline not visible for the international input inline hole in most text fields (12668) - fix bug where overline and line-through were 1px lower than we intended * platform/graphics/GraphicsContext.h: Removed unneeded y offset parameter. * platform/graphics/cairo/GraphicsContextCairo.cpp: (WebCore::GraphicsContext::drawLineForText): Removed bogus y offset and +1. * platform/graphics/cg/GraphicsContextCG.cpp: (WebCore::GraphicsContext::drawLineForText): Ditto. * platform/graphics/qt/GraphicsContextQt.cpp: (WebCore::GraphicsContext::drawLineForText): Ditto. * rendering/InlineFlowBox.cpp: (WebCore::InlineFlowBox::paintTextDecorations): Added the "+1" that used to be inside drawLineForText to the underline-drawing code. Changed the other callers of drawLineForText to include the y offset in the y coordinate. * rendering/InlineTextBox.cpp: (WebCore::InlineTextBox::paintDecoration): Ditto. Also renamed _tx and _ty to remove the gratuitious underscores. (WebCore::InlineTextBox::paintMarkedTextUnderline): Made the default thickness be 1px instead of 0 (which ends up being roughly 1px in the CG code path anyway). Fixed the code computing the position to put the underline at the bottom of the line (different from regular underlines which are put 1px under the baseline). The old code used to put the underline 1px further down in the thick case, and 2px further down in the non-thick case. Both of those are bad, because they could be completely clipped out in many cases. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@19587 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
mjs authored
Reviewed by Antti. - test case for <rdar://problem/4928675> REGRESSION: Crash in CGBlt_copyBytes under WebCore::Font::drawGlyphs (12083) http://bugs.webkit.org/show_bug.cgi?id=12083 * fast/text/text-shadow-extreme-value.html: Added. * fast/text/text-shadow-extreme-value-expected.txt: Added. WebCore: Reviewed by Antti. - fixed <rdar://problem/4928675> REGRESSION: Crash in CGBlt_copyBytes under WebCore::Font::drawGlyphs (12083) http://bugs.webkit.org/show_bug.cgi?id=12083 Test: fast/text/text-shadow-extreme-value.html * platform/graphics/cg/GraphicsContextCG.cpp: (WebCore::GraphicsContext::setShadow): Clamp shadow value to 1000px, anything more seems to make CG unhappy. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@19573 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 07 Jan, 2007 1 commit
-
-
hyatt authored
Add support for the CSS3 box-shadow property. Reviewed by olliej * fast/box-shadow/basic-shadows-expected.checksum: Added. * fast/box-shadow/basic-shadows-expected.png: Added. * fast/box-shadow/basic-shadows-expected.txt: Added. * fast/box-shadow/basic-shadows.html: Added. WebCore: Add support for the CSS3 box-shadow property. Reviewed by olliej fast/box-shadow/ contains the tests for this feature. * platform/graphics/GraphicsContext.cpp: (WebCore::GraphicsContext::clipOutRoundedRect): * platform/graphics/GraphicsContext.h: * platform/graphics/cg/GraphicsContextCG.cpp: (WebCore::GraphicsContext::fillRoundedRect): (WebCore::GraphicsContext::clipOut): (WebCore::GraphicsContext::clipOutEllipseInRect): * platform/graphics/qt/GraphicsContextQt.cpp: (WebCore::GraphicsContext::fillRoundedRect): (WebCore::GraphicsContext::clipOut): (WebCore::GraphicsContext::clipOutEllipseInRect): * rendering/InlineFlowBox.cpp: (WebCore::InlineFlowBox::paint): (WebCore::InlineFlowBox::paintBoxShadow): (WebCore::InlineFlowBox::paintBoxDecorations): (WebCore::shouldDrawTextDecoration): (WebCore::InlineFlowBox::paintTextDecorations): * rendering/InlineFlowBox.h: * rendering/InlineRunBox.h: (WebCore::InlineRunBox::paintBoxDecorations): (WebCore::InlineRunBox::paintTextDecorations): * rendering/RenderBlock.cpp: (WebCore::RenderBlock::paintObject): * rendering/RenderBox.cpp: (WebCore::RenderBox::setStyle): (WebCore::RenderBox::paintBoxDecorations): (WebCore::RenderBox::paintBackgroundExtended): * rendering/RenderFieldset.cpp: (WebCore::RenderFieldset::paintBoxDecorations): * rendering/RenderHTMLCanvas.cpp: (WebCore::RenderHTMLCanvas::paint): * rendering/RenderImage.cpp: (WebCore::RenderImage::paint): * rendering/RenderImage.h: * rendering/RenderListMarker.cpp: (WebCore::RenderListMarker::paint): * rendering/RenderObject.cpp: (WebCore::RenderObject::mustRepaintBackgroundOrBorder): (WebCore::RenderObject::paintBoxShadow): (WebCore::RenderObject::dump): (WebCore::RenderObject::setStyle): * rendering/RenderObject.h: (WebCore::RenderObject::hasBoxDecorations): (WebCore::RenderObject::setHasBoxDecorations): * rendering/RenderSVGContainer.cpp: (WebCore::RenderSVGContainer::paint): * rendering/RenderTable.cpp: (WebCore::RenderTable::paint): (WebCore::RenderTable::paintBoxDecorations): * rendering/RenderTableCell.cpp: (WebCore::RenderTableCell::RenderTableCell): (WebCore::RenderTableCell::setStyle): (WebCore::RenderTableCell::paintBoxDecorations): * rendering/RenderWidget.cpp: (WebCore::RenderWidget::paint): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@18654 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 06 Jan, 2007 1 commit
-
-
darin authored
- fix http://bugs.webkit.org/show_bug.cgi?id=12103 LEAK: Fix the leaking ImageBuffer buffers on TOT * ksvg2/svg/SVGMaskElement.h: * ksvg2/svg/SVGMaskElement.cpp: (WebCore::SVGMaskElement::drawMaskerContent): Changed to return auto_ptr since it returns a newly-created ImageBuffer. * ksvg2/svg/SVGPatternElement.cpp: (WebCore::SVGPatternElement::buildPattern): Changed to use auto_ptr since ImageBuffer::create now returns one. * platform/graphics/GraphicsContext.h: Removed the include of ImageBuffer.h, which was never needed, and the declaration of createImageBuffer, which is now a class member function of ImageBuffer. * platform/graphics/ImageBuffer.h: Replaced the constructor with a create function. Added a comment about the need to move renderSubtreeToImage elsewhere. Added an m_data member to store the data so it can be deleted when the object is done, made the m_size member non-platform-specific. Added a private constructor for use to create the CG version. * platform/graphics/cg/GraphicsContextCG.cpp: Removed GraphicsContext::createImageBuffer. * platform/graphics/cg/ImageBufferCG.cpp: (WebCore::ImageBuffer::create): Added. Replaces the old GraphicsContext::createImageBuffer function. (WebCore::ImageBuffer::ImageBuffer): Added m_data and m_context. (WebCore::ImageBuffer::~ImageBuffer): Added a fastFree of the data and got rid of the unneeded null check before calling CGImageRelease. * platform/graphics/svg/SVGPaintServerGradient.h: Removed the include of ImageBuffer.h and declared the ImageBuffer class instead. * platform/graphics/svg/SVGPaintServerPattern.h: Removed the include of ImageBuffer.h and declared the ImageBuffer class instead, and changed setTile to take an auto_ptr since it takes ownership of the ImageBuffer. * platform/graphics/svg/SVGPaintServerPattern.cpp: (WebCore::SVGPaintServerPattern::setTile): Ditto. * platform/graphics/svg/SVGResourceMasker.h: Removed the include of ImageBuffer.h and declared the ImageBuffer class instead, and changed setMask to take an auto_ptr since it takes ownership of the ImageBuffer. * platform/graphics/svg/SVGResourceMasker.cpp: (WebCore::SVGResourceMasker::setMask): Ditto. * platform/graphics/svg/cg/SVGPaintServerGradientCg.cpp: (WebCore::SVGPaintServerGradient::setup): Updated to use auto_ptr. * platform/graphics/svg/cg/SVGPaintServerPatternCg.cpp: Updated includes. * platform/graphics/svg/cg/SVGResourceMaskerCg.mm: (WebCore::SVGResourceMasker::applyMask): Updated to use auto_ptr. - other changes * ksvg2/svg/SVGAnimateTransformElement.cpp: (WebCore::SVGAnimateTransformElement::handleStartCondition): Remove unused variables. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@18641 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 04 Jan, 2007 1 commit
-
-
bdash authored
Reviewed by Sam Weinig. - fix http://bugs.webkit.org/show_bug.cgi?id=12043 Another assertion failure in WebCore::RenderObject::drawBorder Test: fast/borders/border-radius-huge-assert.html * platform/graphics/cg/GraphicsContextCG.cpp: (WebCore::GraphicsContext::addRoundedRectClip): Fixed the check for border radii that do not fit in the given width or height to work with radii that sum up to more than MAX_INT. * rendering/RenderObject.cpp: (WebCore::RenderObject::paintBorder): Ditto. 2007-01-04 Mitz Pettel <mitz@webkit.org> Reviewed by Sam Weinig. - pixel test for http://bugs.webkit.org/show_bug.cgi?id=12043 Another assertion failure in WebCore::RenderObject::drawBorder * fast/borders/border-radius-huge-assert-expected.checksum: Added. * fast/borders/border-radius-huge-assert-expected.png: Added. * fast/borders/border-radius-huge-assert-expected.txt: Added. * fast/borders/border-radius-huge-assert.html: Added. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@18602 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 26 Dec, 2006 1 commit
-
-
eseidel authored
Reviewed by rwlbuis. Replace bogus SVGLength::isFraction() method with valueAsPercentage() to fix: http://bugs.webkit.org/show_bug.cgi?id=11973 * ksvg2/svg/SVGLength.cpp: (WebCore::SVGLength::valueInSpecifiedUnits): remove extra spaces (WebCore::SVGLength::valueAsPercentage): new method * ksvg2/svg/SVGLength.h: * ksvg2/svg/SVGLinearGradientElement.cpp: (WebCore::SVGLinearGradientElement::buildGradient): use valueAsPercentage() * ksvg2/svg/SVGPatternElement.cpp: (WebCore::SVGPatternElement::drawPatternContentIntoTile): return if malloc fails * ksvg2/svg/SVGRadialGradientElement.cpp: (WebCore::SVGRadialGradientElement::buildGradient): use valueAsPercentage() * platform/graphics/cg/GraphicsContextCG.cpp: (WebCore::GraphicsContext::createImageBuffer): return 0 if malloc fails * platform/graphics/svg/cg/SVGPaintServerGradientCg.cpp: (WebCore::SVGPaintServerGradient::setup): return if malloc fails * platform/graphics/svg/cg/SVGResourceMaskerCg.mm: (WebCore::SVGResourceMasker::applyMask): add comment about possible crash git-svn-id: http://svn.webkit.org/repository/webkit/trunk@18421 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 20 Dec, 2006 2 commits
-
-
hyatt authored
when set in the GraphicsContext. Remove setLineWidth since it is redundant with setStrokeThickness now. Reviewed by mitz * html/CanvasRenderingContext2D.cpp: (WebCore::CanvasRenderingContext2D::setLineWidth): * platform/graphics/GraphicsContext.cpp: (WebCore::GraphicsContext::setPlatformStrokeThickness): (WebCore::GraphicsContext::setPlatformStrokeStyle): * platform/graphics/GraphicsContext.h: * platform/graphics/cg/GraphicsContextCG.cpp: (WebCore::GraphicsContext::drawLine): (WebCore::GraphicsContext::drawEllipse): (WebCore::GraphicsContext::strokeArc): (WebCore::GraphicsContext::drawConvexPolygon): (WebCore::GraphicsContext::setPlatformStrokeThickness): * platform/graphics/qt/GraphicsContextQt.cpp: * platform/mac/FontMac.mm: (WebCore::Font::drawComplexText): (WebCore::Font::drawGlyphs): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@18360 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
bdash authored
Reviewed by Anders. Fix leak of CGContextRef from GraphicsContext::createImageBuffer. * platform/graphics/cg/GraphicsContextCG.cpp: (WebCore::GraphicsContext::createImageBuffer): Release newly-created CGContextRef after passing it to GraphicsContext. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@18358 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 19 Dec, 2006 7 commits
-
-
zimmermann authored
Fixes: http://bugs.webkit.org/show_bug.cgi?id=11867 Bring back masking, by adding off-screen rendering functionality in GraphicsContext. Add new "static GraphicsContext* createImageContext(const IntSize& size, bool grayScale)" function, and implement it with CGBitmapContext in the GraphicsContextCG (stubs for Qt.) Mask image sizes are dynamically calculated using the passed bounding box in applyMask, as it was orignally planned. Gradient stroke mask image sizes aren't hardcoded to 2048x2048 anymore, but are as well dynamically calculated using getAbsoluteRepaintRect(). Add new ImageBuffer class encapsulating the size of the image, a platform-specific handle (ie. CGImageRef for CG platform) plus the GraphicsContext pointer, obtained via GraphicsContext::createImageBuffer. Offer a generic logic for rendering subtrees of the rendering tree into a ImageBuffer (see renderSubtreeToImage function) ImageBufferCG is completly implemented, ImageBufferQt is stubbed. Also add correct default values for x/y/width/height of <mask>. Fixes masking related LayoutTests, and speeds up gradient-on-stroke a lot. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@18315 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
hyatt authored
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@18313 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
hyatt authored
Make sure to initialize the CG fill and stroke colors to our initial fill/stroke colors when first constructing a GraphicsContextCG. Because Safari actually draws text in the bookmarks bar using GraphicsContext and sets a fill color, this could only really be seen in another WebKit app. Patched GraphicsContextQt as well, since it has the same pattern. Reviewed by bdash * platform/graphics/cg/GraphicsContextCG.cpp: (WebCore::setCGFillColor): (WebCore::setCGStrokeColor): (WebCore::GraphicsContext::GraphicsContext): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@18312 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
hyatt authored
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@18311 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
hyatt authored
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@18310 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
hyatt authored
Convert stroke thickness to a float. This allows the thickness argument to strokeArc to be eliminated. Reviewed by olliej * platform/graphics/GraphicsContext.cpp: (WebCore::GraphicsContext::setStrokeThickness): (WebCore::GraphicsContext::strokeThickness): (WebCore::GraphicsContext::setPlatformStrokeThickness): * platform/graphics/GraphicsContext.h: * platform/graphics/cg/GraphicsContextCG.cpp: (WebCore::GraphicsContext::drawEllipse): (WebCore::GraphicsContext::strokeArc): * platform/graphics/qt/GraphicsContextQt.cpp: (WebCore::GraphicsContext::strokeArc): (WebCore::GraphicsContext::setPlatformStrokeThickness): * rendering/RenderObject.cpp: (WebCore::RenderObject::drawBorderArc): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@18306 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
hyatt authored
Rename drawArc to strokeArc and remove its strange behavior of trying to "fill" by stroking using the passed in thickness. Now the method is purely about stroking an arc and always uses the passed in thickness. Fix the border-radius code that calls the method so that it makes more sense now. If stroke thickness is converted to a float, then even the extra argument can go away, and this method can be a clean stroke of an arc. Make sure to get square list markers right by setting both stroke and fill color properly. Reviewed by mitz, olliej * platform/graphics/GraphicsContext.h: * platform/graphics/cg/GraphicsContextCG.cpp: (WebCore::GraphicsContext::strokeArc): * platform/graphics/qt/GraphicsContextQt.cpp: (WebCore::GraphicsContext::strokeArc): * rendering/RenderListMarker.cpp: (WebCore::RenderListMarker::paint): * rendering/RenderObject.cpp: (WebCore::RenderObject::drawBorderArc): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@18305 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 18 Dec, 2006 2 commits
-
-
hyatt authored
Eliminate the Pen object in favor of separate stroke variables, since most code just wants to set the stroke color. This also makes it easier for us to push only stroke color through into CG synchronously while leaving the others alone. Reviewed by olliej * platform/graphics/GraphicsContext.cpp: (WebCore::GraphicsContextState::GraphicsContextState): (WebCore::GraphicsContext::setStrokeThickness): (WebCore::GraphicsContext::setStrokeStyle): (WebCore::GraphicsContext::setStrokeColor): (WebCore::GraphicsContext::strokeThickness): (WebCore::GraphicsContext::strokeStyle): (WebCore::GraphicsContext::strokeColor): (WebCore::GraphicsContext::setPlatformStrokeStyle): (WebCore::GraphicsContext::setPlatformStrokeThickness): * platform/graphics/GraphicsContext.h: (WebCore::): * platform/graphics/cg/GraphicsContextCG.cpp: (WebCore::GraphicsContext::drawRect): (WebCore::GraphicsContext::drawLine): (WebCore::GraphicsContext::drawEllipse): (WebCore::GraphicsContext::drawArc): (WebCore::GraphicsContext::drawConvexPolygon): (WebCore::GraphicsContext::drawLineForText): (WebCore::GraphicsContext::setPlatformStrokeColor): * platform/graphics/qt/GraphicsContextQt.cpp: (WebCore::toQPenStyle): (WebCore::GraphicsContext::setPlatformStrokeColor): (WebCore::GraphicsContext::setPlatformStrokeStyle): (WebCore::GraphicsContext::setPlatformStrokeThickness): * platform/mac/FontMac.mm: (WebCore::Font::drawComplexText): (WebCore::Font::drawGlyphs): * rendering/InlineFlowBox.cpp: (WebCore::InlineFlowBox::paintDecorations): * rendering/InlineTextBox.cpp: (WebCore::updateTextColor): (WebCore::InlineTextBox::paint): (WebCore::InlineTextBox::paintDecoration): (WebCore::InlineTextBox::paintMarkedTextUnderline): * rendering/RenderBlock.cpp: (WebCore::RenderBlock::paintObject): * rendering/RenderBox.cpp: * rendering/RenderBox.h: * rendering/RenderFrameSet.cpp: (WebCore::RenderFrameSet::userResize): * rendering/RenderImage.cpp: (WebCore::RenderImage::paint): * rendering/RenderObject.cpp: (WebCore::RenderObject::drawBorderArc): (WebCore::RenderObject::drawBorder): * rendering/RenderTable.cpp: (WebCore::RenderTable::paint): * rendering/RenderTableCell.cpp: (WebCore::RenderTableCell::paint): * rendering/RenderText.cpp: * rendering/RenderThemeMac.mm: (WebCore::RenderThemeMac::paintMenuListButton): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@18294 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
hyatt authored
Fix performance regression caused by adding setting of stroke colors as well as fill colors to every font drawing call on Mac. Fix is rather involved: (1) Fill color is now updated in CG synchronously. There is no more delay in the push. I used the model that Qt added for this, setPlatformFillColor, so we're the same now. (2) Text was being drawn using the pen color, which is tantamount to using the stroke color. Since text in HTML is really a fill and not a stroke, all cross-platform code that draws text has been patched to use fill instead of the pen. (3) Added a new API to GraphicsContext to set the text drawing mode to any combination of fill/stroke/clip. Ports should implement setPlatformTextDrawingMode or just query the mode in their drawGlyphs/drawComplexText method on their Font class to get the new functionality. (4) InlineTextBox will set the fill and stroke colors appropriately now rather than always assuming fill. (5) Fixed a bug in GraphicsContextCG where fillRectWithColor was updating the CG fill color in the state object as a side effect, creating a mismatch between CG's fill color and the stored cross-platform fill color. Reviewed by olliej * platform/graphics/GraphicsContext.cpp: (WebCore::GraphicsContextState::GraphicsContextState): (WebCore::GraphicsContext::textDrawingMode): (WebCore::GraphicsContext::setTextDrawingMode): (WebCore::GraphicsContext::setPlatformTextDrawingMode): (WebCore::GraphicsContext::setPlatformPen): * platform/graphics/GraphicsContext.h: * platform/graphics/cg/GraphicsContextCG.cpp: (WebCore::GraphicsContext::fillRect): (WebCore::GraphicsContext::setPlatformTextDrawingMode): (WebCore::GraphicsContext::setPlatformFillColor): * platform/graphics/svg/cg/SVGPaintServerGradientCg.cpp: (WebCore::SVGPaintServerGradient::teardown): (WebCore::SVGPaintServerGradient::setup): * platform/graphics/svg/cg/SVGPaintServerPatternCg.cpp: (WebCore::SVGPaintServerPattern::setup): (WebCore::SVGPaintServerPattern::teardown): * platform/graphics/svg/cg/SVGPaintServerSolidCg.cpp: (WebCore::SVGPaintServerSolid::setup): * platform/mac/FontMac.mm: (WebCore::Font::drawComplexText): (WebCore::Font::drawGlyphs): * platform/mac/WebCoreTextRenderer.mm: (WebCoreDrawTextAtPoint): * rendering/EllipsisBox.cpp: (WebCore::EllipsisBox::paint): * rendering/InlineTextBox.cpp: (WebCore::correctedTextColor): (WebCore::updateTextColor): (WebCore::InlineTextBox::paint): (WebCore::InlineTextBox::paintSelection): (WebCore::InlineTextBox::paintMarkedTextBackground): (WebCore::InlineTextBox::paintTextMatchMarker): * rendering/RenderFileUploadControl.cpp: (WebCore::RenderFileUploadControl::paintObject): * rendering/RenderListBox.cpp: (WebCore::RenderListBox::paintItemForeground): * rendering/RenderListMarker.cpp: (WebCore::RenderListMarker::paint): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@18290 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 30 Nov, 2006 1 commit
-
-
zimmermann authored
Fixes: http://bugs.webkit.org/show_bug.cgi?id=10383 This is the final patch after the long "die kcanvas" journey. All old kcanvas code is gone now, and properly integrated within WebCore (stuff like GraphicsContext changes etc.). It shares the platform/ design concept: no subclassing, but instead implementing parts of the classes/methods per-platform. This commit removes the last pieces: KRenderingDevice & KRenderingDeviceContext. This layer was just obsolete, given the powerful GraphicsContext API we have since quite a while now. All the ugly pushContext/popContext stuff is gone now. The naming issues Cg vs. CG will be fixed in one shot, when moving the whole platform/graphics/svg directory down into ksvg2/graphics - as discussed with Darin. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@17947 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 11 Nov, 2006 1 commit
-
-
ap authored
Reviewed by aroben and ap, landed by ap. Fixes: http://bugs.webkit.org/show_bug.cgi?id=11468 Group graphics related files in platform/graphics. Move certain files from certain subdirectories into platform/graphics/{win,mac,cg,gdk,qt} * CMakeLists.txt: * WebCore.xcodeproj/project.pbxproj: * platform/AffineTransform.cpp: Removed. * platform/AffineTransform.h: Removed. * platform/Color.cpp: Removed. * platform/Color.h: Removed. * platform/FloatPoint.cpp: Removed. * platform/FloatPoint.h: Removed. * platform/FloatRect.cpp: Removed. * platform/FloatRect.h: Removed. * platform/FloatSize.cpp: Removed. * platform/FloatSize.h: Removed. * platform/Icon.h: Removed. * platform/Image.cpp: Removed. * platform/Image.h: Removed. * platform/ImageSource.h: Removed. * platform/IntPoint.h: Removed. * platform/IntRect.cpp: Removed. * platform/IntRect.h: Removed. * platform/IntSize.h: Removed. * platform/IntSizeHash.h: Removed. * platform/Path.cpp: Removed. * platform/Path.h: Removed. * platform/Pen.cpp: Removed. * platform/Pen.h: Removed. * platform/cairo/AffineTransformCairo.cpp: Removed. * platform/cairo/GraphicsContextCairo.cpp: Removed. * platform/cairo/ImageCairo.cpp: Removed. * platform/cairo/ImageSourceCairo.cpp: Removed. * platform/cairo/cairo/AUTHORS: Removed. * platform/cairo/cairo/COPYING: Removed. * platform/cairo/cairo/COPYING-LGPL-2.1: Removed. * platform/cairo/cairo/COPYING-MPL-1.1: Removed. * platform/cairo/cairo/INSTALL: Removed. * platform/cairo/cairo/NEWS: Removed. * platform/cairo/cairo/README: Removed. * platform/cairo/cairo/TODO: Removed. * platform/cairo/cairo/src/Makefile.in: Removed. * platform/cairo/cairo/src/cairo-arc-private.h: Removed. * platform/cairo/cairo/src/cairo-arc.c: Removed. * platform/cairo/cairo/src/cairo-array.c: Removed. * platform/cairo/cairo/src/cairo-atsui-font.c: Removed. * platform/cairo/cairo/src/cairo-atsui.h: Removed. * platform/cairo/cairo/src/cairo-beos-surface.cpp: Removed. * platform/cairo/cairo/src/cairo-beos.h: Removed. * platform/cairo/cairo/src/cairo-cache-private.h: Removed. * platform/cairo/cairo/src/cairo-cache.c: Removed. * platform/cairo/cairo/src/cairo-clip-private.h: Removed. * platform/cairo/cairo/src/cairo-clip.c: Removed. * platform/cairo/cairo/src/cairo-color.c: Removed. * platform/cairo/cairo/src/cairo-debug.c: Removed. * platform/cairo/cairo/src/cairo-debug.h: Removed. * platform/cairo/cairo/src/cairo-directfb-surface.c: Removed. * platform/cairo/cairo/src/cairo-directfb.h: Removed. * platform/cairo/cairo/src/cairo-features.h: Removed. * platform/cairo/cairo/src/cairo-features.h.in: Removed. * platform/cairo/cairo/src/cairo-fixed.c: Removed. * platform/cairo/cairo/src/cairo-font-options.c: Removed. * platform/cairo/cairo/src/cairo-font-subset-private.h: Removed. * platform/cairo/cairo/src/cairo-font-subset.c: Removed. * platform/cairo/cairo/src/cairo-font.c: Removed. * platform/cairo/cairo/src/cairo-ft-font.c: Removed. * platform/cairo/cairo/src/cairo-ft-private.h: Removed. * platform/cairo/cairo/src/cairo-ft.h: Removed. * platform/cairo/cairo/src/cairo-glitz-surface.c: Removed. * platform/cairo/cairo/src/cairo-glitz.h: Removed. * platform/cairo/cairo/src/cairo-gstate-private.h: Removed. * platform/cairo/cairo/src/cairo-gstate.c: Removed. * platform/cairo/cairo/src/cairo-hash-private.h: Removed. * platform/cairo/cairo/src/cairo-hash.c: Removed. * platform/cairo/cairo/src/cairo-hull.c: Removed. * platform/cairo/cairo/src/cairo-image-surface.c: Removed. * platform/cairo/cairo/src/cairo-matrix.c: Removed. * platform/cairo/cairo/src/cairo-meta-surface-private.h: Removed. * platform/cairo/cairo/src/cairo-meta-surface.c: Removed. * platform/cairo/cairo/src/cairo-output-stream.c: Removed. * platform/cairo/cairo/src/cairo-paginated-surface-private.h: Removed. * platform/cairo/cairo/src/cairo-paginated-surface.c: Removed. * platform/cairo/cairo/src/cairo-path-bounds.c: Removed. * platform/cairo/cairo/src/cairo-path-data-private.h: Removed. * platform/cairo/cairo/src/cairo-path-data.c: Removed. * platform/cairo/cairo/src/cairo-path-fill.c: Removed. * platform/cairo/cairo/src/cairo-path-fixed-private.h: Removed. * platform/cairo/cairo/src/cairo-path-stroke.c: Removed. * platform/cairo/cairo/src/cairo-path.c: Removed. * platform/cairo/cairo/src/cairo-pattern.c: Removed. * platform/cairo/cairo/src/cairo-pdf-surface.c: Removed. * platform/cairo/cairo/src/cairo-pdf.h: Removed. * platform/cairo/cairo/src/cairo-pen.c: Removed. * platform/cairo/cairo/src/cairo-platform.h: Removed. * platform/cairo/cairo/src/cairo-png.c: Removed. * platform/cairo/cairo/src/cairo-polygon.c: Removed. * platform/cairo/cairo/src/cairo-private.h: Removed. * platform/cairo/cairo/src/cairo-ps-surface.c: Removed. * platform/cairo/cairo/src/cairo-ps.h: Removed. * platform/cairo/cairo/src/cairo-quartz-private.h: Removed. * platform/cairo/cairo/src/cairo-quartz-surface.c: Removed. * platform/cairo/cairo/src/cairo-quartz.h: Removed. * platform/cairo/cairo/src/cairo-quartz2-surface.c: Removed. * platform/cairo/cairo/src/cairo-quartz2.h: Removed. * platform/cairo/cairo/src/cairo-region.c: Removed. * platform/cairo/cairo/src/cairo-scaled-font.c: Removed. * platform/cairo/cairo/src/cairo-slope.c: Removed. * platform/cairo/cairo/src/cairo-spline.c: Removed. * platform/cairo/cairo/src/cairo-stroke-style.c: Removed. * platform/cairo/cairo/src/cairo-surface-fallback-private.h: Removed. * platform/cairo/cairo/src/cairo-surface-fallback.c: Removed. * platform/cairo/cairo/src/cairo-surface.c: Removed. * platform/cairo/cairo/src/cairo-svg-surface.c: Removed. * platform/cairo/cairo/src/cairo-svg.h: Removed. * platform/cairo/cairo/src/cairo-traps.c: Removed. * platform/cairo/cairo/src/cairo-unicode.c: Removed. * platform/cairo/cairo/src/cairo-wideint.c: Removed. * platform/cairo/cairo/src/cairo-wideint.h: Removed. * platform/cairo/cairo/src/cairo-win32-font.c: Removed. * platform/cairo/cairo/src/cairo-win32-private.h: Removed. * platform/cairo/cairo/src/cairo-win32-surface.c: Removed. * platform/cairo/cairo/src/cairo-win32.h: Removed. * platform/cairo/cairo/src/cairo-xcb-surface.c: Removed. * platform/cairo/cairo/src/cairo-xcb-xrender.h: Removed. * platform/cairo/cairo/src/cairo-xcb.h: Removed. * platform/cairo/cairo/src/cairo-xlib-private.h: Removed. * platform/cairo/cairo/src/cairo-xlib-screen.c: Removed. * platform/cairo/cairo/src/cairo-xlib-surface.c: Removed. * platform/cairo/cairo/src/cairo-xlib-test.h: Removed. * platform/cairo/cairo/src/cairo-xlib-xrender.h: Removed. * platform/cairo/cairo/src/cairo-xlib.h: Removed. * platform/cairo/cairo/src/cairo.c: Removed. * platform/cairo/cairo/src/cairo.h: Removed. * platform/cairo/cairo/src/cairoint.h: Removed. * platform/cairo/cairo/src/test-fallback-surface.c: Removed. * platform/cairo/cairo/src/test-fallback-surface.h: Removed. * platform/cairo/cairo/src/test-meta-surface.c: Removed. * platform/cairo/cairo/src/test-meta-surface.h: Removed. * platform/cairo/cairo/src/test-paginated-surface.c: Removed. * platform/cairo/cairo/src/test-paginated-surface.h: Removed. * platform/cairo/pixman/AUTHORS: Removed. * platform/cairo/pixman/COPYING: Removed. * platform/cairo/pixman/README: Removed. * platform/cairo/pixman/src/Makefile.in: Removed. * platform/cairo/pixman/src/fbcompose.c: Removed. * platform/cairo/pixman/src/fbedge.c: Removed. * platform/cairo/pixman/src/fbedgeimp.h: Removed. * platform/cairo/pixman/src/fbmmx.c: Removed. * platform/cairo/pixman/src/fbmmx.h: Removed. * platform/cairo/pixman/src/fbpict.c: Removed. * platform/cairo/pixman/src/fbpict.h: Removed. * platform/cairo/pixman/src/fbtrap.c: Removed. * platform/cairo/pixman/src/icblt.c: Removed. * platform/cairo/pixman/src/icbltone.c: Removed. * platform/cairo/pixman/src/iccolor.c: Removed. * platform/cairo/pixman/src/icformat.c: Removed. * platform/cairo/pixman/src/icimage.c: Removed. * platform/cairo/pixman/src/icimage.h: Removed. * platform/cairo/pixman/src/icint.h: Removed. * platform/cairo/pixman/src/icpixels.c: Removed. * platform/cairo/pixman/src/icrect.c: Removed. * platform/cairo/pixman/src/icrop.h: Removed. * platform/cairo/pixman/src/icstipple.c: Removed. * platform/cairo/pixman/src/ictransform.c: Removed. * platform/cairo/pixman/src/ictrap.c: Removed. * platform/cairo/pixman/src/ictri.c: Removed. * platform/cairo/pixman/src/icutil.c: Removed. * platform/cairo/pixman/src/pixman-remap.h: Removed. * platform/cairo/pixman/src/pixman-xserver-compat.h: Removed. * platform/cairo/pixman/src/pixman.h: Removed. * platform/cairo/pixman/src/pixregion.c: Removed. * platform/cairo/pixman/src/pixregionint.h: Removed. * platform/cairo/pixman/src/renderedge.c: Removed. * platform/cairo/pixman/src/renderedge.h: Removed. * platform/cairo/pixman/src/slim_internal.h: Removed. * platform/cairo/rgb24-hacks.txt: Removed. * platform/cairo/scale-removal.txt: Removed. * platform/cg/AffineTransformCG.cpp: Removed. * platform/cg/FloatPointCG.cpp: Removed. * platform/cg/FloatRectCG.cpp: Removed. * platform/cg/FloatSizeCG.cpp: Removed. * platform/cg/GraphicsContextCG.cpp: Removed. * platform/cg/GraphicsContextPlatformPrivate.h: Removed. * platform/cg/ImageCG.cpp: Removed. * platform/cg/ImageSourceCG.cpp: Removed. * platform/cg/IntPointCG.cpp: Removed. * platform/cg/IntRectCG.cpp: Removed. * platform/cg/IntSizeCG.cpp: Removed. * platform/cg/PDFDocumentImage.cpp: Removed. * platform/cg/PDFDocumentImage.h: Removed. * platform/cg/PathCG.cpp: Removed. * platform/gdk/ImageGdk.cpp: Removed. * platform/mac/ColorMac.mm: Removed. * platform/mac/FloatPointMac.mm: Removed. * platform/mac/FloatRectMac.mm: Removed. * platform/mac/FloatSizeMac.mm: Removed. * platform/mac/GraphicsContextMac.mm: * platform/mac/IconMac.mm: Removed. * platform/mac/ImageMac.mm: Removed. * platform/mac/IntPointMac.mm: Removed. * platform/mac/IntRectMac.mm: Removed. * platform/mac/IntSizeMac.mm: Removed. * platform/qt/AffineTransformQt.cpp: Removed. * platform/qt/ColorQt.cpp: Removed. * platform/qt/FloatPointQt.cpp: Removed. * platform/qt/FloatRectQt.cpp: Removed. * platform/qt/IconQt.cpp: Removed. * platform/qt/ImageQt.cpp: Removed. * platform/qt/ImageSourceQt.cpp: Removed. * platform/qt/IntPointQt.cpp: Removed. * platform/qt/IntRectQt.cpp: Removed. * platform/qt/IntSizeQt.cpp: Removed. * platform/qt/PathQt.cpp: Removed. * platform/win/ImageWin.cpp: Removed. * platform/win/IntPointWin.cpp: Removed. * platform/win/IntRectWin.cpp: Removed. * platform/win/IntSizeWin.cpp: Removed. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@17727 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 13 Oct, 2006 2 commits
-
-
bdakin authored
Reviewed by Hyatt. Fix for http://bugs.webkit.org/show_bug.cgi?id=10216 and <rdar:// problem/3391162> PDF created by printing should have live hyperlinks * platform/GraphicsContext.cpp: (WebCore::GraphicsContext::focusRingBoundingRect): * platform/GraphicsContext.h: * platform/cairo/GraphicsContextCairo.cpp: (WebCore::GraphicsContext::setURLForRect): * platform/cg/GraphicsContextCG.cpp: (WebCore::GraphicsContext::setURLForRect): Implement method to add URL link to PDF document. * rendering/InlineFlowBox.cpp: (WebCore::InlineFlowBox::paint): Ask hasOutline() instead of querying the outline width * rendering/RenderBlock.cpp: (WebCore::RenderBlock::paintObject): Same as above. * rendering/RenderFlow.cpp: (WebCore::RenderFlow::paintLines): Call the new paintOutline() (WebCore::RenderFlow::paintOutline): Take care of focus ring and pdf url rects, and outline painting. * rendering/RenderFlow.h: * rendering/RenderObject.cpp: (WebCore::RenderObject::addPDFURLRect): Declaration to apply a PDF link to a rectanglular region. (WebCore::RenderObject::paintOutline): Take care of pdf rects as well as focus ring painting. * rendering/RenderObject.h: (WebCore::RenderObject::hasOutlineAnnotation): Returns true is the element is a link and we are printing. (WebCore::RenderObject::hasOutline): Returns true is the style has an outline and hasOutlineAnnotation() is true. * rendering/RenderStyle.h: (WebCore::RenderStyle::hasOutline): Returns true if outlineWidth is greater than 0 and outlineStyle is greater than BHIDDEN. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@17052 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
hyatt authored
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@17046 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 05 Oct, 2006 2 commits
-
-
hyatt authored
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@16837 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
hyatt authored
Reviewed by darin * kcanvas/RenderForeignObject.cpp: (WebCore::RenderForeignObject::paint): * kcanvas/RenderSVGContainer.cpp: (WebCore::RenderSVGContainer::paint): * kcanvas/RenderSVGImage.cpp: (WebCore::RenderSVGImage::paint): * platform/GraphicsContext.h: * platform/cairo/GraphicsContextCairo.cpp: (WebCore::GraphicsContext::clip): * platform/cg/GraphicsContextCG.cpp: (WebCore::GraphicsContext::savePlatformState): (WebCore::GraphicsContext::restorePlatformState): (WebCore::GraphicsContext::clip): (WebCore::GraphicsContext::addRoundedRectClip): (WebCore::GraphicsContext::addInnerRoundedRectClip): (WebCore::GraphicsContext::scale): (WebCore::GraphicsContext::rotate): (WebCore::GraphicsContext::translate): (WebCore::GraphicsContext::concatCTM): * platform/cg/GraphicsContextPlatformPrivate.h: (WebCore::GraphicsContextPlatformPrivate::save): (WebCore::GraphicsContextPlatformPrivate::restore): (WebCore::GraphicsContextPlatformPrivate::clip): (WebCore::GraphicsContextPlatformPrivate::scale): (WebCore::GraphicsContextPlatformPrivate::rotate): (WebCore::GraphicsContextPlatformPrivate::translate): (WebCore::GraphicsContextPlatformPrivate::concatCTM): * platform/qt/GraphicsContextQt.cpp: (WebCore::GraphicsContext::clip): (WebCore::GraphicsContext::addInnerRoundedRectClip): (WebCore::GraphicsContext::addRoundedRectClip): * rendering/InlineFlowBox.cpp: (WebCore::InlineFlowBox::paintBackground): (WebCore::InlineFlowBox::paintBackgroundAndBorder): * rendering/InlineTextBox.cpp: (WebCore::InlineTextBox::paintSelection): (WebCore::InlineTextBox::paintTextMatchMarker): * rendering/RenderBox.cpp: (WebCore::RenderBox::paintBackgroundExtended): * rendering/RenderButton.cpp: (WebCore::RenderButton::paintObject): * rendering/RenderFileUploadControl.cpp: (WebCore::RenderFileUploadControl::paintObject): * rendering/RenderLayer.cpp: (WebCore::RenderLayer::beginTransparencyLayers): (WebCore::setClip): * rendering/RenderListBox.cpp: (WebCore::RenderListBox::paintObject): * rendering/RenderMenuList.cpp: (WebCore::RenderMenuList::paintObject): * rendering/RenderTableCell.cpp: (WebCore::RenderTableCell::paintBackgroundsBehindCell): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@16826 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 22 Sep, 2006 1 commit
-
-
thatcher authored
Build fix for Xcode 2.3. Convert GraphicsContext::translate() to take floats. There was already an implicit conversion to float/double when calling CGContextTranslateCTM or cairo_translate. * platform/GraphicsContext.h: * platform/cairo/GraphicsContextCairo.cpp: (WebCore::GraphicsContext::translate): * platform/cg/GraphicsContextCG.cpp: (WebCore::GraphicsContext::translate): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@16527 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 21 Sep, 2006 1 commit
-
-
ggaren authored
* platform/cg/GraphicsContextCG.cpp: (WebCore::GraphicsContext::translate): * platform/mac/WidgetMac.mm: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@16516 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 28 Aug, 2006 1 commit
-
-
ggaren authored
Added support for experimental CFNetwork-based loader (not turned on yet). While I was there, I did the following platform cleanup: - Windows now uses USE(WININET) instead of PLATFORM(WIN_OS), to match the USE(CFNETWORK) idiom. - Removed some #includes of windows.h in platform-independent headers. - Changed #ifdef __APPLE__ to PLATFORM(MAC) - Fixed some build bustage, including case-sensitive filesystem bustage. * loader/loader.cpp: (WebCore::Loader::receivedAllData): * platform/Cursor.h: * platform/KURL.h: * platform/ResourceLoader.h: * platform/ResourceLoaderClient.h: * platform/ResourceLoaderInternal.h: (WebCore::ResourceLoaderInternal::ResourceLoaderInternal): * platform/cfnet/KURLCFNet.cpp: Added. (WebCore::KURL::createCFURL): * platform/cfnet/ResourceLoaderCFNet.cpp: Added. (WebCore::willSendRequest): (WebCore::didReceiveChallenge): (WebCore::didCancelChallenge): (WebCore::didReceiveResponse): (WebCore::didReceiveData): (WebCore::didFinishLoading): (WebCore::didFail): (WebCore::willCacheResponse): (WebCore::addHeadersFromString): (WebCore::ResourceLoaderInternal::~ResourceLoaderInternal): (WebCore::ResourceLoader::~ResourceLoader): (WebCore::arrayFromFormData): (WebCore::emptyPerform): (WebCore::runLoaderThread): (WebCore::ResourceLoader::start): (WebCore::ResourceLoader::cancel): * platform/win/CursorWin.cpp: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@16089 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 25 Aug, 2006 1 commit
-
-
adele authored
Reviewed by Hyatt. New tests and updated tests for styled selects. * fast/borders/borderRadiusInvalidColor-expected.checksum: Added. * fast/borders/borderRadiusInvalidColor-expected.png: Added. * fast/borders/borderRadiusInvalidColor-expected.txt: Added. * fast/borders/borderRadiusInvalidColor.html: Added. * fast/forms/select-baseline-expected.checksum: Added. * fast/forms/select-baseline-expected.png: Added. * fast/forms/select-baseline-expected.txt: Added. * fast/forms/select-baseline.html: Added. * editing/pasteboard/4641033-expected.txt: * editing/selection/replaced-boundaries-3-expected.txt: * editing/selection/select-box-expected.txt: * fast/block/margin-collapse/103-expected.txt: * fast/forms/001-expected.checksum: * fast/forms/001-expected.png: * fast/forms/001-expected.txt: * fast/forms/003-expected.txt: * fast/forms/004-expected.txt: * fast/forms/HTMLOptionElement_label01-expected.txt: * fast/forms/HTMLOptionElement_label02-expected.txt: * fast/forms/HTMLOptionElement_label03-expected.txt: * fast/forms/HTMLOptionElement_label04-expected.txt: * fast/forms/HTMLOptionElement_label06-expected.txt: * fast/forms/HTMLOptionElement_label07-expected.txt: * fast/forms/form-element-geometry-expected.checksum: * fast/forms/form-element-geometry-expected.png: * fast/forms/form-element-geometry-expected.txt: * fast/forms/option-script-expected.txt: * fast/forms/option-text-clip-expected.txt: * fast/forms/select-change-listbox-to-popup-expected.txt: * fast/forms/select-selected-expected.txt: * fast/forms/select-style-expected.txt: * fast/forms/select-visual-hebrew-expected.txt: * fast/invalid/014-expected.txt: * fast/parser/document-write-option-expected.txt: * fast/replaced/width100percent-expected.txt: * http/tests/navigation/anchor-basic-expected.txt: * http/tests/navigation/anchor-frames-expected.txt: * http/tests/navigation/anchor-goback-expected.txt: * http/tests/navigation/anchor-subframeload-expected.txt: * http/tests/navigation/javascriptlink-basic-expected.txt: * http/tests/navigation/javascriptlink-frames-expected.txt: * http/tests/navigation/javascriptlink-goback-expected.txt: * http/tests/navigation/javascriptlink-subframeload-expected.txt: * http/tests/navigation/metaredirect-basic-expected.txt: * http/tests/navigation/metaredirect-frames-expected.txt: * http/tests/navigation/metaredirect-goback-expected.txt: * http/tests/navigation/metaredirect-subframeload-expected.txt: * http/tests/navigation/post-goback2-expected.txt: * http/tests/navigation/postredirect-goback2-expected.txt: * http/tests/navigation/redirect302-basic-expected.txt: * http/tests/navigation/redirect302-frames-expected.txt: * http/tests/navigation/redirect302-goback-expected.txt: * http/tests/navigation/redirect302-subframeload-expected.txt: * http/tests/navigation/relativeanchor-basic-expected.txt: * http/tests/navigation/relativeanchor-frames-expected.txt: * http/tests/navigation/relativeanchor-goback-expected.txt: * http/tests/navigation/slowmetaredirect-basic-expected.txt: * http/tests/navigation/slowtimerredirect-basic-expected.txt: * http/tests/navigation/success200-basic-expected.txt: * http/tests/navigation/success200-frames-expected.txt: * http/tests/navigation/success200-frames-loadsame-expected.txt: * http/tests/navigation/success200-goback-expected.txt: * http/tests/navigation/success200-loadsame-expected.txt: * http/tests/navigation/success200-reload-expected.txt: * http/tests/navigation/success200-subframeload-expected.txt: * http/tests/navigation/timerredirect-basic-expected.txt: * http/tests/navigation/timerredirect-frames-expected.txt: * http/tests/navigation/timerredirect-goback-expected.txt: * http/tests/navigation/timerredirect-subframeload-expected.txt: * tables/mozilla/bugs/bug1188-expected.txt: * tables/mozilla/bugs/bug18359-expected.txt: * tables/mozilla/bugs/bug2479-3-expected.txt: * tables/mozilla/bugs/bug2479-4-expected.txt: * tables/mozilla/bugs/bug29326-expected.txt: * tables/mozilla/bugs/bug33855-expected.txt: * tables/mozilla/bugs/bug4382-expected.txt: * tables/mozilla/bugs/bug96334-expected.txt: * tables/mozilla/core/margins-expected.txt: * tables/mozilla/dom/tableDom-expected.txt: * tables/mozilla_expected_failures/bugs/bug2479-5-expected.txt: WebCore: Reviewed by Hyatt. Enable styling for popup menus. Also fixed baseline calculation for buttons and selects. Tests: fast/forms/select-baseline.html fast/borders/borderRadiusInvalidColor.html updated: fast/forms/select-style-expected.txt and more... * css/html4.css: Added style rules for styled select elements. * platform/GraphicsContext.h: Added argument for antialiasing. * platform/cg/GraphicsContextCG.cpp: (WebCore::GraphicsContext::drawConvexPolygon): ditto. * platform/cairo/GraphicsContextCairo.cpp: (WebCore::GraphicsContext::drawConvexPolygon): ditto. * rendering/RenderObject.cpp: (WebCore::RenderObject::drawBorderArc): Added textColor argument so this can be used when the border color is invalid. (WebCore::RenderObject::drawBorder): Removed invalidisInvert since its dead code (any callers that set this to true were already ensuring that their color was valid). Updated drawConvexPolygon call to use FloatPoints instead of IntPoints. (WebCore::RenderObject::paintBorder): Updated to remove invalidisInvert argument from drawBorder call. (WebCore::RenderObject::paintOutline): ditto. * rendering/RenderFlow.cpp: (WebCore::RenderFlow::paintOutlineForLine): ditto. * rendering/RenderObject.h: Updated arguments for drawBorder and drawBorderArc. * rendering/RenderBlock.cpp: (WebCore::RenderBlock::getBaselineOfLastLineBox): Changed isRootLineBox argument to true when setting line height. Added case for when there's no children to check for hasLineIfEmpty. * rendering/RenderBlock.h: * rendering/bidi.cpp: (WebCore::RenderBlock::layoutInlineChildren): Changed isRootLineBox argument to true when setting line height. * rendering/RenderButton.h: (WebCore::RenderButton::hasLineIfEmpty): Added so buttons always get a line height. * rendering/RenderMenuList.h: (WebCore::RenderMenuList::hasLineIfEmpty): ditto. * rendering/RenderFlexibleBox.cpp: (WebCore::RenderFlexibleBox::layoutHorizontalBox): Added code to check hasLineIfEmpty to give flex boxes line height. (WebCore::RenderFlexibleBox::layoutVerticalBox): ditto. * css/cssstyleselector.cpp: (WebCore::CSSStyleSelector::adjustRenderStyle): Moved the appearance adjustment code into adjust style. * rendering/RenderBox.cpp: (WebCore::RenderBox::paintBoxDecorations): Lets the theme paint "decorations", like the arrow control and gradients immediately after painting the background. * rendering/RenderTheme.cpp: (WebCore::RenderTheme::adjustStyle): This now checks whether the control is styled, and adjusts the appearance property appropriately. For styled selects, instead of setting the appearance to none, which is what we do for other styled controls, we set the appearance to MenulistButtonAppearance, which indicates that we will draw the arrow controls and button appearance in the engine. (WebCore::RenderTheme::paintDecorations): Added. Paints MenulistButtonAppearance in a different function, so the arrow control will draw at the right time (after the background). (WebCore::RenderTheme::paint): Added case for MenulistButtonAppearance. (WebCore::RenderTheme::paintBorderOnly): ditto. (WebCore::RenderTheme::isControlContainer): Removed cases for MenuListAppearance and MenulistButtonAppearance since the baseline is no longer provided by the theme. (WebCore::RenderTheme::adjustMenuListButtonStyle): Added. * rendering/RenderTheme.h: (WebCore::RenderTheme::paintMenuListButton): Added. * rendering/RenderThemeMac.h: * rendering/RenderThemeMac.mm: (WebCore::RenderThemeMac::isControlStyled): Removed code that made selects unstyle-able. (WebCore::RenderThemeMac::baselinePosition): Removed cases for MenuListAppearance and MenulistButtonAppearance. (WebCore::RenderThemeMac::popupButtonPadding): Added top and bottom padding so empty popups have the right baseline. (WebCore::TopGradientInterpolate): Added. (WebCore::BottomGradientInterpolate): Added. (WebCore::MainGradientInterpolate): Added. (WebCore::RenderThemeMac::paintMenuListButtonGradients): Added. Draws gradients for styled popup menu button appearance. (WebCore::RenderThemeMac::paintMenuListButton): Calls paintMenuListButtonGradients, and draws arrow control. (WebCore::RenderThemeMac::adjustMenuListButtonStyle): Added to set padding and border radius to account for the arrow control size and font size. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@16044 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 23 Aug, 2006 1 commit
-
-
hyatt authored
separates the graphics engines from their respective platforms and replaces #ifdef PLATFORM(MAC) and PLATFORM(WIN) with PLATFORM(CG) and PLATFORM(CAIRO). Reviewed by darin * WebCore.xcodeproj/project.pbxproj: * platform/AffineTransform.h: * platform/Color.h: * platform/Cursor.h: * platform/FloatPoint.h: * platform/FloatRect.h: * platform/FloatSize.h: * platform/Font.h: * platform/FontData.h: * platform/GlyphBuffer.h: (WebCore::GlyphBuffer::glyphAt): (WebCore::GlyphBuffer::advanceAt): (WebCore::GlyphBuffer::add): * platform/GraphicsContext.h: * platform/Image.h: * platform/ImageSource.h: * platform/IntPoint.h: * platform/IntRect.h: * platform/IntSize.h: * platform/ResourceLoader.h: * platform/ResourceLoaderClient.h: * platform/Widget.h: * platform/cairo/GraphicsContextCairo.cpp: * platform/cairo/ImageCairo.cpp: * platform/cairo/ImageSourceCairo.cpp: * platform/cg/AffineTransformCG.cpp: * platform/cg/FloatPointCG.cpp: Added. * platform/cg/FloatRectCG.cpp: Added. * platform/cg/FloatSizeCG.cpp: Added. * platform/cg/GraphicsContextCG.cpp: (WebCore::GraphicsContext::GraphicsContext): (WebCore::GraphicsContext::~GraphicsContext): (WebCore::GraphicsContext::setFocusRingClip): (WebCore::GraphicsContext::clearFocusRingClip): (WebCore::GraphicsContext::platformContext): (WebCore::GraphicsContext::drawRect): (WebCore::GraphicsContext::drawLine): * platform/cg/GraphicsContextPlatformPrivate.h: Added. (WebCore::GraphicsContextPlatformPrivate:::m_cgContext): (WebCore::GraphicsContextPlatformPrivate::~GraphicsContextPlatformPrivate): * platform/cg/ImageCG.cpp: Added. (WebCore::Image::drawTiled): * platform/cg/ImageSourceCG.cpp: Added. * platform/cg/IntPointCG.cpp: Added. * platform/cg/IntRectCG.cpp: Added. * platform/cg/IntSizeCG.cpp: Added. * platform/cg/PDFDocumentImage.cpp: Added. (WebCore::PDFDocumentImage::adjustCTM): * platform/cg/PDFDocumentImage.h: Added. * platform/cg/PathCG.cpp: * platform/image-decoders/bmp/BMPImageDecoder.cpp: * platform/image-decoders/gif/GIFImageDecoder.cpp: * platform/image-decoders/gif/GIFImageReader.cpp: * platform/image-decoders/ico/ICOImageDecoder.cpp: * platform/image-decoders/jpeg/JPEGImageDecoder.cpp: * platform/image-decoders/png/PNGImageDecoder.cpp: * platform/image-decoders/xbm/XBMImageDecoder.cpp: * platform/mac/FloatPointMac.mm: * platform/mac/FloatRectMac.mm: * platform/mac/FloatSizeMac.mm: * platform/mac/GraphicsContextMac.mm: * platform/mac/ImageMac.mm: * platform/mac/ImageSourceMac.cpp: Removed. * platform/mac/IntPointMac.mm: * platform/mac/IntRectMac.mm: * platform/mac/IntSizeMac.mm: * platform/mac/PDFDocumentImage.h: Removed. * platform/mac/PDFDocumentImage.mm: Removed. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@15999 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 11 Aug, 2006 1 commit
-
-
eseidel authored
Reviewed by andersca. The outermost <svg> element needs to clip itself http://bugzilla.opendarwin.org/show_bug.cgi?id=5358 * css/cssstyleselector.cpp: (WebCore::CSSStyleSelector::adjustRenderStyle): adjust for SVG overflow rules * kcanvas/RenderSVGContainer.cpp: (WebCore::RenderSVGContainer::requiresLayer): only require layers for absolute/relative positioning of outermost SVG (WebCore::RenderSVGContainer::paint): * kcanvas/device/KRenderingDevice.h: * kcanvas/device/quartz/KRenderingDeviceQuartz.h: remove dead methods * kcanvas/device/quartz/KRenderingDeviceQuartz.mm: remove dead methods (WebCore::KRenderingDeviceContextQuartz::KRenderingDeviceContextQuartz): * ksvg2/svg/SVGPaint.cpp: spacing changes (WebCore::SVGPaint::SVGPaint): spacing cleanup * ksvg2/svg/SVGSVGElement.cpp: (WebCore::SVGSVGElement::parseMappedAttribute): spacing cleanup * platform/GraphicsContext.h: Added concatCTM * platform/cg/GraphicsContextCG.cpp: (WebCore::GraphicsContext::concatCTM): Added. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@15842 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 09 Aug, 2006 1 commit
-
-
ddkilzer authored
Reviewed by Darin. - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=10247 REGRESSION: Unable to build webkit without SVG/XPATH * bindings/js/kjs_binding.cpp: (KJS::setDOMException): * bindings/js/kjs_dom.cpp: (KJS::toJS): * bindings/js/kjs_html.cpp: (KJS::HTMLElementFunction::callAsFunction): * bindings/js/kjs_proxy.cpp: * bindings/js/kjs_proxy.h: * bindings/objc/DOMInternal.h: * bindings/objc/DOMInternal.mm: (raiseDOMException): * bindings/objc/DOMXPath.mm: * bindings/objc/DOMXPathInternal.h: * bindings/scripts/CodeGeneratorJS.pm: * bridge/mac/WebCoreFrameBridge.mm: (+[WebCoreFrameBridge supportedNonImageMIMETypes]): * css/CSSGrammar.y: * css/CSSStyleDeclaration.cpp: (WebCore::propertyID): * css/cssparser.cpp: (WebCore::CSSParser::parseValue): * css/cssparser.h: * css/cssstyleselector.cpp: (WebCore::CSSStyleSelector::loadDefaultStyle): (WebCore::CSSStyleSelector::applyProperty): * css/cssstyleselector.h: * dom/Document.cpp: (WebCore::Document::Document): (WebCore::Document::~Document): (WebCore::Document::createElementNS): (WebCore::Document::implicitClose): (WebCore::Document::recalcStyleSelector): (WebCore::Document::createEvent): * dom/Document.h: * dom/Document.idl: * dom/Node.cpp: (WebCore::Node::createRendererIfNeeded): * dom/Node.h: * dom/XMLTokenizer.cpp: (WebCore::XMLTokenizer::endElementNs): (WebCore::XMLTokenizer::insertErrorMessageBlock): * html/HTMLEmbedElement.cpp: * html/HTMLEmbedElement.h: * html/HTMLObjectElement.cpp: * html/HTMLObjectElement.h: * kcanvas/KCanvasCreator.cpp: * kcanvas/KCanvasCreator.h: * kcanvas/KCanvasFilters.cpp: * kcanvas/KCanvasFilters.h: * kcanvas/KCanvasImage.h: * kcanvas/KCanvasMatrix.cpp: * kcanvas/KCanvasMatrix.h: * kcanvas/KCanvasPath.cpp: * kcanvas/KCanvasPath.h: * kcanvas/KCanvasResourceListener.h: * kcanvas/KCanvasResources.cpp: * kcanvas/KCanvasResources.h: * kcanvas/KCanvasTreeDebug.cpp: * kcanvas/RenderForeignObject.cpp: * kcanvas/RenderForeignObject.h: * kcanvas/RenderPath.cpp: * kcanvas/RenderPath.h: * kcanvas/RenderSVGContainer.cpp: * kcanvas/RenderSVGContainer.h: * kcanvas/RenderSVGImage.cpp: * kcanvas/RenderSVGImage.h: * kcanvas/RenderSVGText.cpp: * kcanvas/RenderSVGText.h: * kcanvas/device/KRenderingDevice.cpp: * kcanvas/device/KRenderingDevice.h: * kcanvas/device/KRenderingFillPainter.cpp: * kcanvas/device/KRenderingFillPainter.h: * kcanvas/device/KRenderingPaintServer.h: * kcanvas/device/KRenderingPaintServerGradient.cpp: * kcanvas/device/KRenderingPaintServerGradient.h: * kcanvas/device/KRenderingPaintServerPattern.cpp: * kcanvas/device/KRenderingPaintServerPattern.h: * kcanvas/device/KRenderingPaintServerSolid.cpp: * kcanvas/device/KRenderingPaintServerSolid.h: * kcanvas/device/KRenderingStrokePainter.cpp: * kcanvas/device/KRenderingStrokePainter.h: * kcanvas/device/quartz/KCanvasFilterQuartz.h: * kcanvas/device/quartz/KCanvasFilterQuartz.mm: * kcanvas/device/quartz/KCanvasItemQuartz.mm: * kcanvas/device/quartz/KCanvasMaskerQuartz.mm: * kcanvas/device/quartz/KCanvasPathQuartz.mm: * kcanvas/device/quartz/KCanvasResourcesQuartz.mm: * kcanvas/device/quartz/KRenderingDeviceQuartz.h: * kcanvas/device/quartz/KRenderingDeviceQuartz.mm: * kcanvas/device/quartz/KRenderingPaintServerGradientQuartz.mm: * kcanvas/device/quartz/KRenderingPaintServerQuartz.mm: * kcanvas/device/quartz/QuartzSupport.h: * kcanvas/device/quartz/QuartzSupport.mm: * ksvg2/bindings/js/JSSVGElementWrapperFactory.cpp: * ksvg2/bindings/js/JSSVGElementWrapperFactory.h: * ksvg2/css/SVGCSSParser.cpp: * ksvg2/css/SVGCSSStyleSelector.cpp: * ksvg2/css/SVGRenderStyle.cpp: * ksvg2/css/SVGRenderStyle.h: * ksvg2/css/SVGRenderStyleDefs.cpp: * ksvg2/css/SVGRenderStyleDefs.h: * ksvg2/ecma/GlobalObject.cpp: * ksvg2/ecma/GlobalObject.h: * ksvg2/events/JSSVGLazyEventListener.cpp: * ksvg2/events/JSSVGLazyEventListener.h: * ksvg2/events/SVGZoomEvent.cpp: * ksvg2/events/SVGZoomEvent.h: * ksvg2/ksvg.h: * ksvg2/misc/KCanvasRenderingStyle.cpp: * ksvg2/misc/KCanvasRenderingStyle.h: * ksvg2/misc/KSVGTimeScheduler.cpp: * ksvg2/misc/KSVGTimeScheduler.h: * ksvg2/misc/SVGDocumentExtensions.cpp: * ksvg2/misc/SVGDocumentExtensions.h: * ksvg2/misc/SVGImageLoader.cpp: * ksvg2/misc/SVGImageLoader.h: * ksvg2/svg/DOMList.h: * ksvg2/svg/SVGAElement.cpp: * ksvg2/svg/SVGAElement.h: * ksvg2/svg/SVGAngle.cpp: * ksvg2/svg/SVGAngle.h: * ksvg2/svg/SVGAnimateColorElement.cpp: * ksvg2/svg/SVGAnimateColorElement.h: * ksvg2/svg/SVGAnimateElement.cpp: * ksvg2/svg/SVGAnimateElement.h: * ksvg2/svg/SVGAnimateTransformElement.cpp: * ksvg2/svg/SVGAnimateTransformElement.h: * ksvg2/svg/SVGAnimatedAngle.cpp: * ksvg2/svg/SVGAnimatedAngle.h: * ksvg2/svg/SVGAnimatedBoolean.cpp: * ksvg2/svg/SVGAnimatedBoolean.h: * ksvg2/svg/SVGAnimatedColor.cpp: * ksvg2/svg/SVGAnimatedColor.h: * ksvg2/svg/SVGAnimatedEnumeration.cpp: * ksvg2/svg/SVGAnimatedEnumeration.h: * ksvg2/svg/SVGAnimatedInteger.cpp: * ksvg2/svg/SVGAnimatedInteger.h: * ksvg2/svg/SVGAnimatedLength.cpp: * ksvg2/svg/SVGAnimatedLength.h: * ksvg2/svg/SVGAnimatedLengthList.cpp: * ksvg2/svg/SVGAnimatedLengthList.h: * ksvg2/svg/SVGAnimatedNumber.cpp: * ksvg2/svg/SVGAnimatedNumber.h: * ksvg2/svg/SVGAnimatedNumberList.cpp: * ksvg2/svg/SVGAnimatedNumberList.h: * ksvg2/svg/SVGAnimatedPathData.cpp: * ksvg2/svg/SVGAnimatedPathData.h: * ksvg2/svg/SVGAnimatedPoints.cpp: * ksvg2/svg/SVGAnimatedPoints.h: * ksvg2/svg/SVGAnimatedPreserveAspectRatio.cpp: * ksvg2/svg/SVGAnimatedPreserveAspectRatio.h: * ksvg2/svg/SVGAnimatedRect.cpp: * ksvg2/svg/SVGAnimatedRect.h: * ksvg2/svg/SVGAnimatedString.cpp: * ksvg2/svg/SVGAnimatedString.h: * ksvg2/svg/SVGAnimatedTemplate.h: * ksvg2/svg/SVGAnimatedTransformList.cpp: * ksvg2/svg/SVGAnimatedTransformList.h: * ksvg2/svg/SVGAnimationElement.cpp: * ksvg2/svg/SVGAnimationElement.h: * ksvg2/svg/SVGCircleElement.cpp: * ksvg2/svg/SVGCircleElement.h: * ksvg2/svg/SVGClipPathElement.cpp: * ksvg2/svg/SVGClipPathElement.h: * ksvg2/svg/SVGColor.cpp: * ksvg2/svg/SVGColor.h: * ksvg2/svg/SVGComponentTransferFunctionElement.cpp: * ksvg2/svg/SVGComponentTransferFunctionElement.h: * ksvg2/svg/SVGCursorElement.cpp: * ksvg2/svg/SVGCursorElement.h: * ksvg2/svg/SVGDOMImplementation.cpp: * ksvg2/svg/SVGDOMImplementation.h: * ksvg2/svg/SVGDefsElement.cpp: * ksvg2/svg/SVGDefsElement.h: * ksvg2/svg/SVGDescElement.cpp: * ksvg2/svg/SVGDescElement.h: * ksvg2/svg/SVGDocument.cpp: * ksvg2/svg/SVGDocument.h: * ksvg2/svg/SVGElement.cpp: * ksvg2/svg/SVGElement.h: * ksvg2/svg/SVGElementInstance.cpp: * ksvg2/svg/SVGElementInstance.h: * ksvg2/svg/SVGElementInstanceList.cpp: * ksvg2/svg/SVGElementInstanceList.h: * ksvg2/svg/SVGEllipseElement.cpp: * ksvg2/svg/SVGEllipseElement.h: * ksvg2/svg/SVGExternalResourcesRequired.cpp: * ksvg2/svg/SVGExternalResourcesRequired.h: * ksvg2/svg/SVGFEBlendElement.cpp: * ksvg2/svg/SVGFEBlendElement.h: * ksvg2/svg/SVGFEColorMatrixElement.cpp: * ksvg2/svg/SVGFEColorMatrixElement.h: * ksvg2/svg/SVGFEComponentTransferElement.cpp: * ksvg2/svg/SVGFEComponentTransferElement.h: * ksvg2/svg/SVGFECompositeElement.cpp: * ksvg2/svg/SVGFECompositeElement.h: * ksvg2/svg/SVGFEDiffuseLightingElement.cpp: * ksvg2/svg/SVGFEDiffuseLightingElement.h: * ksvg2/svg/SVGFEDisplacementMapElement.cpp: * ksvg2/svg/SVGFEDisplacementMapElement.h: * ksvg2/svg/SVGFEDistantLightElement.cpp: * ksvg2/svg/SVGFEDistantLightElement.h: * ksvg2/svg/SVGFEFloodElement.cpp: * ksvg2/svg/SVGFEFloodElement.h: * ksvg2/svg/SVGFEFuncAElement.cpp: * ksvg2/svg/SVGFEFuncAElement.h: * ksvg2/svg/SVGFEFuncBElement.cpp: * ksvg2/svg/SVGFEFuncBElement.h: * ksvg2/svg/SVGFEFuncGElement.cpp: * ksvg2/svg/SVGFEFuncGElement.h: * ksvg2/svg/SVGFEFuncRElement.cpp: * ksvg2/svg/SVGFEFuncRElement.h: * ksvg2/svg/SVGFEGaussianBlurElement.cpp: * ksvg2/svg/SVGFEGaussianBlurElement.h: * ksvg2/svg/SVGFEImageElement.cpp: * ksvg2/svg/SVGFEImageElement.h: * ksvg2/svg/SVGFELightElement.cpp: * ksvg2/svg/SVGFELightElement.h: * ksvg2/svg/SVGFEMergeElement.cpp: * ksvg2/svg/SVGFEMergeElement.h: * ksvg2/svg/SVGFEMergeNodeElement.cpp: * ksvg2/svg/SVGFEMergeNodeElement.h: * ksvg2/svg/SVGFEOffsetElement.cpp: * ksvg2/svg/SVGFEOffsetElement.h: * ksvg2/svg/SVGFEPointLightElement.cpp: * ksvg2/svg/SVGFEPointLightElement.h: * ksvg2/svg/SVGFESpecularLightingElement.cpp: * ksvg2/svg/SVGFESpecularLightingElement.h: * ksvg2/svg/SVGFESpotLightElement.cpp: * ksvg2/svg/SVGFESpotLightElement.h: * ksvg2/svg/SVGFETileElement.cpp: * ksvg2/svg/SVGFETileElement.h: * ksvg2/svg/SVGFETurbulenceElement.cpp: * ksvg2/svg/SVGFETurbulenceElement.h: * ksvg2/svg/SVGFilterElement.cpp: * ksvg2/svg/SVGFilterElement.h: * ksvg2/svg/SVGFilterPrimitiveStandardAttributes.cpp: * ksvg2/svg/SVGFilterPrimitiveStandardAttributes.h: * ksvg2/svg/SVGFitToViewBox.cpp: * ksvg2/svg/SVGFitToViewBox.h: * ksvg2/svg/SVGForeignObjectElement.cpp: * ksvg2/svg/SVGForeignObjectElement.h: * ksvg2/svg/SVGGElement.cpp: * ksvg2/svg/SVGGElement.h: * ksvg2/svg/SVGGradientElement.cpp: * ksvg2/svg/SVGGradientElement.h: * ksvg2/svg/SVGHelper.cpp: * ksvg2/svg/SVGHelper.h: * ksvg2/svg/SVGImageElement.cpp: * ksvg2/svg/SVGImageElement.h: * ksvg2/svg/SVGLangSpace.cpp: * ksvg2/svg/SVGLangSpace.h: * ksvg2/svg/SVGLength.cpp: * ksvg2/svg/SVGLength.h: * ksvg2/svg/SVGLengthList.cpp: * ksvg2/svg/SVGLengthList.h: * ksvg2/svg/SVGLineElement.cpp: * ksvg2/svg/SVGLineElement.h: * ksvg2/svg/SVGLinearGradientElement.cpp: * ksvg2/svg/SVGLinearGradientElement.h: * ksvg2/svg/SVGList.h: * ksvg2/svg/SVGLocatable.cpp: * ksvg2/svg/SVGLocatable.h: * ksvg2/svg/SVGMarkerElement.cpp: * ksvg2/svg/SVGMarkerElement.h: * ksvg2/svg/SVGMaskElement.cpp: * ksvg2/svg/SVGMaskElement.h: * ksvg2/svg/SVGMatrix.cpp: * ksvg2/svg/SVGMatrix.h: * ksvg2/svg/SVGNumber.cpp: * ksvg2/svg/SVGNumber.h: * ksvg2/svg/SVGNumberList.cpp: * ksvg2/svg/SVGNumberList.h: * ksvg2/svg/SVGPaint.cpp: * ksvg2/svg/SVGPaint.h: * ksvg2/svg/SVGPathElement.cpp: * ksvg2/svg/SVGPathElement.h: * ksvg2/svg/SVGPathSeg.cpp: * ksvg2/svg/SVGPathSeg.h: * ksvg2/svg/SVGPathSegArc.cpp: * ksvg2/svg/SVGPathSegArc.h: * ksvg2/svg/SVGPathSegClosePath.cpp: * ksvg2/svg/SVGPathSegClosePath.h: * ksvg2/svg/SVGPathSegCurvetoCubic.cpp: * ksvg2/svg/SVGPathSegCurvetoCubic.h: * ksvg2/svg/SVGPathSegCurvetoCubicSmooth.cpp: * ksvg2/svg/SVGPathSegCurvetoCubicSmooth.h: * ksvg2/svg/SVGPathSegCurvetoQuadratic.cpp: * ksvg2/svg/SVGPathSegCurvetoQuadratic.h: * ksvg2/svg/SVGPathSegCurvetoQuadraticSmooth.cpp: * ksvg2/svg/SVGPathSegCurvetoQuadraticSmooth.h: * ksvg2/svg/SVGPathSegLineto.cpp: * ksvg2/svg/SVGPathSegLineto.h: * ksvg2/svg/SVGPathSegLinetoHorizontal.cpp: * ksvg2/svg/SVGPathSegLinetoHorizontal.h: * ksvg2/svg/SVGPathSegLinetoVertical.cpp: * ksvg2/svg/SVGPathSegLinetoVertical.h: * ksvg2/svg/SVGPathSegList.cpp: * ksvg2/svg/SVGPathSegList.h: * ksvg2/svg/SVGPathSegMoveto.cpp: * ksvg2/svg/SVGPathSegMoveto.h: * ksvg2/svg/SVGPatternElement.cpp: * ksvg2/svg/SVGPatternElement.h: * ksvg2/svg/SVGPoint.cpp: * ksvg2/svg/SVGPoint.h: * ksvg2/svg/SVGPointList.cpp: * ksvg2/svg/SVGPointList.h: * ksvg2/svg/SVGPolyElement.cpp: * ksvg2/svg/SVGPolyElement.h: * ksvg2/svg/SVGPolygonElement.cpp: * ksvg2/svg/SVGPolygonElement.h: * ksvg2/svg/SVGPolylineElement.cpp: * ksvg2/svg/SVGPolylineElement.h: * ksvg2/svg/SVGPreserveAspectRatio.cpp: * ksvg2/svg/SVGPreserveAspectRatio.h: * ksvg2/svg/SVGRadialGradientElement.cpp: * ksvg2/svg/SVGRadialGradientElement.h: * ksvg2/svg/SVGRect.cpp: * ksvg2/svg/SVGRect.h: * ksvg2/svg/SVGRectElement.cpp: * ksvg2/svg/SVGRectElement.h: * ksvg2/svg/SVGSVGElement.cpp: * ksvg2/svg/SVGSVGElement.h: * ksvg2/svg/SVGScriptElement.cpp: * ksvg2/svg/SVGScriptElement.h: * ksvg2/svg/SVGSetElement.cpp: * ksvg2/svg/SVGSetElement.h: * ksvg2/svg/SVGStopElement.cpp: * ksvg2/svg/SVGStopElement.h: * ksvg2/svg/SVGStringList.cpp: * ksvg2/svg/SVGStringList.h: * ksvg2/svg/SVGStylable.cpp: * ksvg2/svg/SVGStylable.h: * ksvg2/svg/SVGStyleElement.cpp: * ksvg2/svg/SVGStyleElement.h: * ksvg2/svg/SVGStyledElement.cpp: * ksvg2/svg/SVGStyledElement.h: * ksvg2/svg/SVGStyledLocatableElement.cpp: * ksvg2/svg/SVGStyledLocatableElement.h: * ksvg2/svg/SVGStyledTransformableElement.cpp: * ksvg2/svg/SVGStyledTransformableElement.h: * ksvg2/svg/SVGSwitchElement.cpp: * ksvg2/svg/SVGSwitchElement.h: * ksvg2/svg/SVGSymbolElement.cpp: * ksvg2/svg/SVGSymbolElement.h: * ksvg2/svg/SVGTRefElement.cpp: * ksvg2/svg/SVGTRefElement.h: * ksvg2/svg/SVGTSpanElement.cpp: * ksvg2/svg/SVGTSpanElement.h: * ksvg2/svg/SVGTests.cpp: * ksvg2/svg/SVGTests.h: * ksvg2/svg/SVGTextContentElement.cpp: * ksvg2/svg/SVGTextContentElement.h: * ksvg2/svg/SVGTextElement.cpp: * ksvg2/svg/SVGTextElement.h: * ksvg2/svg/SVGTextPositioningElement.cpp: * ksvg2/svg/SVGTextPositioningElement.h: * ksvg2/svg/SVGTitleElement.cpp: * ksvg2/svg/SVGTitleElement.h: * ksvg2/svg/SVGTransform.cpp: * ksvg2/svg/SVGTransform.h: * ksvg2/svg/SVGTransformList.cpp: * ksvg2/svg/SVGTransformList.h: * ksvg2/svg/SVGTransformable.cpp: * ksvg2/svg/SVGTransformable.h: * ksvg2/svg/SVGURIReference.cpp: * ksvg2/svg/SVGURIReference.h: * ksvg2/svg/SVGUseElement.cpp: * ksvg2/svg/SVGUseElement.h: * ksvg2/svg/SVGViewElement.cpp: * ksvg2/svg/SVGViewElement.h: * ksvg2/svg/SVGZoomAndPan.cpp: * ksvg2/svg/SVGZoomAndPan.h: * ksvg2/svg/svgpathparser.cpp: * ksvg2/svg/svgpathparser.h: * page/DOMWindow.idl: * page/Frame.cpp: (WebCore::Frame::Frame): (WebCore::Frame::begin): (WebCore::Frame::pauseTimeouts): (WebCore::Frame::resumeTimeouts): * platform/GraphicsContext.h: * platform/cg/GraphicsContextCG.cpp: * rendering/RenderLayer.cpp: (WebCore::RenderLayer::isTransparent): * rendering/RenderObject.cpp: (WebCore::RenderObject::containingBlock): * rendering/RenderObject.h: * rendering/RenderStyle.cpp: (WebCore::RenderStyle::RenderStyle): (WebCore::RenderStyle::inheritFrom): (WebCore::RenderStyle::operator==): (WebCore::RenderStyle::inheritedNotEqual): (WebCore::RenderStyle::diff): * rendering/RenderStyle.h: * rendering/RenderTreeAsText.cpp: (WebCore::write): (WebCore::externalRepresentation): * xpath/XPathEvaluator.cpp: * xpath/XPathEvaluator.h: * xpath/XPathExpression.cpp: * xpath/XPathExpression.h: * xpath/XPathNSResolver.cpp: * xpath/XPathNSResolver.h: * xpath/XPathNamespace.cpp: * xpath/XPathNamespace.h: * xpath/XPathResult.cpp: * xpath/XPathResult.h: * xpath/impl/XPathExpressionNode.cpp: * xpath/impl/XPathExpressionNode.h: * xpath/impl/XPathFunctions.cpp: * xpath/impl/XPathFunctions.h: * xpath/impl/XPathGrammar.y: * xpath/impl/XPathParser.cpp: * xpath/impl/XPathParser.h: * xpath/impl/XPathPath.cpp: * xpath/impl/XPathPath.h: * xpath/impl/XPathPredicate.cpp: * xpath/impl/XPathPredicate.h: * xpath/impl/XPathStep.cpp: * xpath/impl/XPathStep.h: * xpath/impl/XPathUtil.cpp: * xpath/impl/XPathUtil.h: * xpath/impl/XPathValue.cpp: * xpath/impl/XPathValue.h: * xpath/impl/XPathVariableReference.cpp: * xpath/impl/XPathVariableReference.h: Change all #if SVG_SUPPORT to #ifdef SVG_SUPPORT and #if XPATH_SUPPORT to #ifdef XPATH_SUPPORT (except for one #if !SVG_SUPPORT to a #ifndef SVG_SUPPORT in RenderTreeAsText.cpp) git-svn-id: http://svn.webkit.org/repository/webkit/trunk@15828 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 16 Jul, 2006 1 commit
-
-
bdakin authored
Fix for <rdar://problem/4616595> REGRESSION: Problems with world clock widget clock hand motion on 9A211 + 4604574 The second hand on the widget was jiggling because the rotation was messing up the use of the affine transformation matrix while rounding to pixel boundaries in device space. We are mainly concerned with rounding to pixel boundaries with the scale in mind, so this patch extracts the scale to device space from the matrix, and rounds to pixel boundaries using only the scale. This doesn't seem like it is a perfect solution, but it definitely solves the immediate problem. We will probably need to re-address what should happen to avoid pixel cracks with rotations at non-integral scale factors. * platform/cg/GraphicsContextCG.cpp: (WebCore::GraphicsContext::roundToDevicePixels): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@15470 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 19 Jun, 2006 1 commit
-
-
mjs authored
- fixed http://bugzilla.opendarwin.org/show_bug.cgi?id=9488 "Animated GIFs do not respect transforms in SVG" http://bugzilla.opendarwin.org/show_bug.cgi?id=6946 "SVG shows invalidation issues in WebKit" http://www.treebuilder.de/default.asp?file=441875.xml "Invalidation issues with "SVG 3d" demo" http://code.google.com/webstats/2005-12/pages.html "SVG text doesn't repaint correctly" * kcanvas/KCanvasContainer.cpp: (WebCore::KCanvasContainer::computeAbsoluteRepaintRect): Override base class, and apply appropriate transforms, so damage rects in transformed SVG content get propagated up properly. (WebCore::KCanvasContainer::getAbsoluteRepaintRect): note a FIXME; this method seems wrong. * kcanvas/KCanvasContainer.h: Prototype new method. * css/svg.css: Don't apply overflow:hidden to foreignObject, since that makes it a RenderLayer so it paints twice. * kcanvas/RenderForeignObject.cpp: (WebCore::RenderForeignObject::paint): Transform the damage rect before passing it down to HTML content, so everything paints that is supposed to. Also handle opacity here since we won't get layers. (WebCore::RenderForeignObject::computeAbsoluteRepaintRect): Override base class, and apply appropriate transforms, so damage rects in HTML embedded in SVG get propagated up properly. (WebCore::RenderForeignObject::requiresLayer): Never use a RenderLayer. (WebCore::RenderForeignObject::layout): Make sure to dirty our previous bounds when layout changes, as by transform. * kcanvas/RenderForeignObject.h: * kcanvas/RenderSVGImage.cpp: (WebCore::RenderSVGImage::paint): Transform the damage rect when painting. Also handle opacity here since we won't get layers. (WebCore::RenderForeignObject::computeAbsoluteRepaintRect): Override base class, and apply appropriate transforms, so damage rects in SVG images get propagated up properly. (WebCore::RenderSVGImage::translationForAttributes): New helper method, factored out of below. (WebCore::RenderSVGImage::translateForAttributes): Use above. (WebCore::RenderSVGImage::requiresLayer): Never use a RenderLayer. (WebCore::RenderSVGImage::layout): Make sure to properly dirty the old bounds, accounting for transforms. (WebCore::RenderSVGImage::relativeBBox): Correct bbox computation. * kcanvas/RenderSVGImage.h: * kcanvas/RenderSVGText.cpp: (WebCore::RenderSVGText::paint): Transform incoming damage rect. Handle opacity here since we won't get a layer. (WebCore::RenderSVGText::computeAbsoluteRepaintRect): Apply transforms. (WebCore::RenderSVGText::requiresLayer): Never use a RenderLayer. (WebCore::RenderSVGText::layout): Make sure to dirty the old bounds. * platform/cg/GraphicsContextCG.cpp: (WebCore::GraphicsContext::roundToDevicePixels): Instead of transforming rect to device space and back to user space, do this for the origin and lower right corner of the rect. Otherwise the rect will get inflated if user space is rotated or skewed. * kcanvas/RenderPath.cpp: (WebCore::RenderPath::layout): Make sure to dirty the old bounds. (WebCore::RenderPath::paint): Hhandle opacity here. Bonus fix: * kcanvas/RenderSVGImage.cpp: (WebCore::RenderSVGImage::nodeAtPoint): Fix hit testing. Wasn't applying the x/y attribute transform. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@14918 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 11 Jun, 2006 1 commit
-
-
darin authored
- Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=8039 Remove use of DeprecatedArray in favor of new Vector class This removes most of the uses of DeprecatedArray and DeprecatedByteArray, with the exception of DeprecatedCString. No test cases added because there is no change in functionality. * loader/CachedCSSStyleSheet.cpp: (WebCore::CachedCSSStyleSheet::data): * loader/CachedCSSStyleSheet.h: * loader/CachedImage.cpp: (WebCore::CachedImage::bufferData): (WebCore::CachedImage::data): (WebCore::CachedImage::checkNotify): (WebCore::CachedImage::shouldStopAnimation): * loader/CachedImage.h: * loader/CachedObject.cpp: (WebCore::CachedObject::bufferData): (WebCore::CachedObject::setExpireDate): * loader/CachedObject.h: (WebCore::CachedObject::setCharset): * loader/CachedScript.cpp: (WebCore::CachedScript::data): * loader/CachedScript.h: * loader/CachedXBLDocument.cpp: (WebCore::CachedXBLDocument::data): (WebCore::CachedXBLDocument::checkNotify): * loader/CachedXBLDocument.h: * loader/CachedXSLStyleSheet.cpp: (WebCore::CachedXSLStyleSheet::data): * loader/CachedXSLStyleSheet.h: * loader/Request.cpp: (WebCore::Request::Request): (WebCore::Request::~Request): * loader/Request.h: (WebCore::Request::buffer): (WebCore::Request::cachedObject): (WebCore::Request::docLoader): (WebCore::Request::isIncremental): (WebCore::Request::setIsIncremental): (WebCore::Request::isMultipart): (WebCore::Request::setIsMultipart): * loader/loader.cpp: (WebCore::crossDomain): (WebCore::Loader::Loader): (WebCore::Loader::load): (WebCore::Loader::servePendingRequests): (WebCore::Loader::receivedAllData): (WebCore::Loader::receivedResponse): (WebCore::Loader::receivedData): (WebCore::Loader::numRequests): (WebCore::Loader::cancelRequests): (WebCore::Loader::removeBackgroundDecodingRequest): (WebCore::Loader::jobForRequest): * platform/Image.cpp: (WebCore::Image::setData): * platform/Image.h: (WebCore::Image::dataBuffer): * css/cssstyleselector.cpp: (WebCore::CSSStyleSelector::init): (WebCore::CSSStyleSelector::matchRules): (WebCore::CSSStyleSelector::matchRulesForList): (WebCore::CSSStyleSelector::sortMatchedRules): (WebCore::CSSStyleSelector::initForStyleResolve): (WebCore::CSSStyleSelector::createStyleForElement): (WebCore::CSSStyleSelector::createPseudoStyleForElement): * css/cssstyleselector.h: (WebCore::CSSStyleSelector::addMatchedRule): (WebCore::CSSStyleSelector::addMatchedDeclaration): * dom/xml_tokenizer.cpp: (WebCore::OffsetBuffer::OffsetBuffer): (WebCore::openFunc): * html/HTMLOptionElement.cpp: (WebCore::HTMLOptionElement::index): * html/HTMLSelectElement.cpp: (WebCore::HTMLSelectElement::selectedIndex): (WebCore::HTMLSelectElement::setSelectedIndex): (WebCore::HTMLSelectElement::length): (WebCore::HTMLSelectElement::remove): (WebCore::HTMLSelectElement::value): (WebCore::HTMLSelectElement::setValue): (WebCore::HTMLSelectElement::state): (WebCore::HTMLSelectElement::restoreState): (WebCore::HTMLSelectElement::appendFormData): (WebCore::HTMLSelectElement::optionToListIndex): (WebCore::HTMLSelectElement::listToOptionIndex): (WebCore::HTMLSelectElement::recalcListItems): (WebCore::HTMLSelectElement::reset): (WebCore::HTMLSelectElement::notifyOptionSelected): * html/HTMLSelectElement.h: (WebCore::HTMLSelectElement::listItems): * kwq/KWQLoader.h: * kwq/KWQLoader.mm: (KWQServeSynchronousRequest): * kwq/KWQTextStream.cpp: (QTextStream::operator<<): * kwq/KWQTextStream.h: * loader/FormData.cpp: (WebCore::FormData::flatten): (WebCore::FormData::flattenToString): * loader/FormData.h: (WebCore::FormDataElement::FormDataElement): * platform/DeprecatedString.cpp: * platform/DeprecatedString.h: * platform/IntPointArray.cpp: Removed. * platform/IntPointArray.h: Removed. * platform/TextEncoding.cpp: (WebCore::TextEncoding::toUnicode): * platform/TextEncoding.h: * platform/cairo/pixman/src/pixregion.c: * platform/cg/PathCG.cpp: (WebCore::Path::Path): * rendering/RenderObject.cpp: (WebCore::RenderObject::drawBorder): * rendering/RenderTable.h: (WebCore::RenderTable::colToEffCol): (WebCore::RenderTable::effColToCol): * rendering/RenderTableSection.cpp: (WebCore::RenderTableSection::ensureRows): (WebCore::RenderTableSection::addCell): (WebCore::RenderTableSection::setCellWidths): * rendering/RenderTableSection.h: * rendering/bidi.cpp: (WebCore::addMidpoint): (WebCore::RenderBlock::layoutInlineChildren): * rendering/render_form.cpp: (WebCore::RenderSelect::updateFromElement): (WebCore::RenderSelect::layout): (WebCore::RenderSelect::valueChanged): (WebCore::RenderSelect::selectionChanged): (WebCore::RenderSelect::updateSelection): * rendering/table_layout.cpp: (WebCore::FixedTableLayout::layout): * rendering/table_layout.h: * xml/XSLTProcessor.cpp: (WebCore::docLoaderFunc): * xml/xmlhttprequest.cpp: (WebCore::XMLHttpRequest::send): (WebCore::XMLHttpRequest::processSyncLoadResults): * xml/xmlhttprequest.h: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@14816 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 05 Jun, 2006 1 commit
-
-
bdakin authored
Fix for <rdar://problem/4567520> Pixel cracks in weather widget at 1.83 scaling To prevent pixel cracks at non-integral scaling factors, before we call into CG to draw an image, we have to convert the rect to device space, round the origin and size to integers in device space, and convert back to user space. No test cases added since this only affects non-1.0 resolution scale factors. * bindings/js/JSCanvasRenderingContext2DCustom.cpp: (WebCore::JSCanvasRenderingContext2D::drawImage): drawImage() now takes FloatRects. * html/CanvasPattern.cpp: (WebCore::patternCallback): Call roundToDevicePixels() * html/CanvasRenderingContext2D.cpp: (WebCore::CanvasRenderingContext2D::drawImage): drawImage() now takes FloatRects and call roundToDevicePixels() * html/CanvasRenderingContext2D.h: drawImage() now takes FloatRects. * html/HTMLCanvasElement.cpp: (WebCore::HTMLCanvasElement::paint): Call roundToDevicePixels() * kcanvas/device/quartz/QuartzSupport.mm: (WebCore::debugDumpCGImageToFile): Same as above. * platform/GraphicsContext.h: * platform/cg/GraphicsContextCG.cpp: (WebCore::GraphicsContext::roundToDevicePixels): Takes care of converting between coordinate spaces and rounding. (WebCore::GraphicsContext::drawLineForText): * platform/mac/ImageMac.mm: Call roundToDevicePixels() (WebCore::Image::draw): Same as above. (WebCore::drawPattern): Same as above. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@14739 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
- 31 May, 2006 1 commit
-
-
bdakin authored
Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=6755 CSS3: Borders rounded with border-radius don't draw the roundings This patch does not draw all of the different border styles perfectly, so I have filed a few followup bugs that I will reference from this Bugzilla. * platform/GraphicsContext.h: * platform/cairo/GraphicsContextCairo.cpp: (WebCore::GraphicsContext::drawArc): drawArc() has different parameters now, but mostly this needs to be implemented to match the Mac side later. (WebCore::GraphicsContext::addRoundedRectClip): Just a stub. Implement this later. (WebCore::GraphicsContext::addInnerRoundedRectClip): Just a stub. Implement this later. * platform/cg/GraphicsContextCG.cpp: (WebCore::GraphicsContext::drawArc): drawArc() now handles drawing elliptical arcs as well as circular arcs, it also takes a thickness parameter to draw an arc of a given thickness and draws with the appropriate pen style. (WebCore::GraphicsContext::addInnerRoundedRectClip): Adds a clip to the inside of an arc instead of to the outside which is already done by addRoundedClipRect() * rendering/RenderObject.cpp: (WebCore::RenderObject::drawBorderArc): Draws the border arcs in the appropriate styles. (WebCore::RenderObject::paintBorder): Calls drawBorderArc() when border arcs are needed. * rendering/RenderObject.h: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@14650 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-