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

Side by Side Diff: Source/core/rendering/svg/SVGInlineTextBox.cpp

Issue 577583002: Drop RenderSVGResource::{fill,stroke}PaintingResource shims (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 6 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 /** 1 /**
2 * Copyright (C) 2007 Rob Buis <buis@kde.org> 2 * Copyright (C) 2007 Rob Buis <buis@kde.org>
3 * Copyright (C) 2007 Nikolas Zimmermann <zimmermann@kde.org> 3 * Copyright (C) 2007 Nikolas Zimmermann <zimmermann@kde.org>
4 * Copyright (C) Research In Motion Limited 2010. All rights reserved. 4 * Copyright (C) Research In Motion Limited 2010. All rights reserved.
5 * 5 *
6 * This library is free software; you can redistribute it and/or 6 * This library is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Library General Public 7 * modify it under the terms of the GNU Library General Public
8 * License as published by the Free Software Foundation; either 8 * License as published by the Free Software Foundation; either
9 * version 2 of the License, or (at your option) any later version. 9 * version 2 of the License, or (at your option) any later version.
10 * 10 *
(...skipping 345 matching lines...) Expand 10 before | Expand all | Expand 10 after
356 bool acquirePaintingResource(GraphicsContext*&, float scalingFactor, RenderS tyle*, RenderSVGResourceModeFlags); 356 bool acquirePaintingResource(GraphicsContext*&, float scalingFactor, RenderS tyle*, RenderSVGResourceModeFlags);
357 void releasePaintingResource(GraphicsContext*&); 357 void releasePaintingResource(GraphicsContext*&);
358 358
359 private: 359 private:
360 RenderObject& m_renderer; 360 RenderObject& m_renderer;
361 TextRun::RenderingContext* m_renderingContext; 361 TextRun::RenderingContext* m_renderingContext;
362 RenderSVGResource* m_paintingResource; 362 RenderSVGResource* m_paintingResource;
363 }; 363 };
364 364
365 bool PaintingResourceScope::acquirePaintingResource(GraphicsContext*& context, f loat scalingFactor, 365 bool PaintingResourceScope::acquirePaintingResource(GraphicsContext*& context, f loat scalingFactor,
366 RenderStyle* style, RenderSVGResourceModeFlags resourceMode) 366 RenderStyle* style, RenderSVGResourceModeFlags resourceModeFlags)
367 { 367 {
368 // Callers must save the context state before calling when scalingFactor is not 1. 368 // Callers must save the context state before calling when scalingFactor is not 1.
369 ASSERT(scalingFactor); 369 ASSERT(scalingFactor);
370 ASSERT(style); 370 ASSERT(style);
371 ASSERT(resourceMode != ApplyToDefaultMode); 371 ASSERT(resourceModeFlags != ApplyToDefaultMode);
372 RenderSVGResourceMode resourceMode = static_cast<RenderSVGResourceMode>(reso urceModeFlags & (ApplyToFillMode | ApplyToStrokeMode));
373 ASSERT(resourceMode == ApplyToFillMode || resourceMode == ApplyToStrokeMode) ;
372 374
373 bool hasFallback = false; 375 bool hasFallback = false;
374 if (resourceMode & ApplyToFillMode) 376 m_paintingResource = RenderSVGResource::requestPaintingResource(resourceMode , &m_renderer, style, hasFallback);
375 m_paintingResource = RenderSVGResource::fillPaintingResource(&m_renderer , style, hasFallback);
376 else if (resourceMode & ApplyToStrokeMode)
377 m_paintingResource = RenderSVGResource::strokePaintingResource(&m_render er, style, hasFallback);
378 else {
379 // We're either called for stroking or filling.
380 ASSERT_NOT_REACHED();
381 }
382
383 if (!m_paintingResource) 377 if (!m_paintingResource)
384 return false; 378 return false;
385 379
386 if (!m_paintingResource->applyResource(&m_renderer, style, context, resource Mode)) { 380 if (!m_paintingResource->applyResource(&m_renderer, style, context, resource ModeFlags)) {
387 if (hasFallback) { 381 if (hasFallback) {
388 m_paintingResource = RenderSVGResource::sharedSolidPaintingResource( ); 382 m_paintingResource = RenderSVGResource::sharedSolidPaintingResource( );
389 m_paintingResource->applyResource(&m_renderer, style, context, resou rceMode); 383 m_paintingResource->applyResource(&m_renderer, style, context, resou rceModeFlags);
390 } 384 }
391 } 385 }
392 386
393 if (scalingFactor != 1 && resourceMode & ApplyToStrokeMode) 387 if (scalingFactor != 1 && resourceModeFlags & ApplyToStrokeMode)
394 context->setStrokeThickness(context->strokeThickness() * scalingFactor); 388 context->setStrokeThickness(context->strokeThickness() * scalingFactor);
395 389
396 #if ENABLE(SVG_FONTS) 390 #if ENABLE(SVG_FONTS)
397 // SVG Fonts need access to the painting resource used to draw the current t ext chunk. 391 // SVG Fonts need access to the painting resource used to draw the current t ext chunk.
398 if (m_renderingContext) 392 if (m_renderingContext)
399 static_cast<SVGTextRunRenderingContext*>(m_renderingContext)->setActiveP aintingResource(m_paintingResource); 393 static_cast<SVGTextRunRenderingContext*>(m_renderingContext)->setActiveP aintingResource(m_paintingResource);
400 #endif 394 #endif
401 395
402 return true; 396 return true;
403 } 397 }
(...skipping 388 matching lines...) Expand 10 before | Expand all | Expand 10 after
792 renderer().updateHitTestResult(result, locationInContainer.point () - toLayoutSize(accumulatedOffset)); 786 renderer().updateHitTestResult(result, locationInContainer.point () - toLayoutSize(accumulatedOffset));
793 if (!result.addNodeToRectBasedTestResult(renderer().node(), requ est, locationInContainer, rect)) 787 if (!result.addNodeToRectBasedTestResult(renderer().node(), requ est, locationInContainer, rect))
794 return true; 788 return true;
795 } 789 }
796 } 790 }
797 } 791 }
798 return false; 792 return false;
799 } 793 }
800 794
801 } // namespace blink 795 } // namespace blink
OLDNEW
« no previous file with comments | « Source/core/rendering/svg/RenderSVGShape.cpp ('k') | Source/core/rendering/svg/SVGRenderTreeAsText.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698