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

Unified Diff: skia/animator/SkDrawPaint.cpp

Issue 113827: Remove the remainder of the skia source code from the Chromium repo.... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Created 11 years, 7 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « skia/animator/SkDrawPaint.h ('k') | skia/animator/SkDrawPath.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: skia/animator/SkDrawPaint.cpp
===================================================================
--- skia/animator/SkDrawPaint.cpp (revision 16859)
+++ skia/animator/SkDrawPaint.cpp (working copy)
@@ -1,277 +0,0 @@
-/* libs/graphics/animator/SkDrawPaint.cpp
-**
-** Copyright 2006, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
-
-#include "SkDrawPaint.h"
-#include "SkAnimateMaker.h"
-#include "SkDrawColor.h"
-#include "SkDrawShader.h"
-#include "SkMaskFilter.h"
-#include "SkPaintParts.h"
-#include "SkPathEffect.h"
-
-enum SkPaint_Functions {
- SK_FUNCTION(measureText)
-};
-
-enum SkPaint_Properties {
- SK_PROPERTY(ascent),
- SK_PROPERTY(descent)
-};
-
-// !!! in the future, this could be compiled by build-condensed-info into an array of parameters
-// with a lookup table to find the first parameter -- for now, it is iteratively searched through
-const SkFunctionParamType SkDrawPaint::fFunctionParameters[] = {
- (SkFunctionParamType) SkType_String,
- (SkFunctionParamType) 0 // terminator for parameter list (there may be multiple parameter lists)
-};
-
-
-#if SK_USE_CONDENSED_INFO == 0
-
-const SkMemberInfo SkDrawPaint::fInfo[] = {
- SK_MEMBER(antiAlias, Boolean),
- SK_MEMBER_PROPERTY(ascent, Float),
- SK_MEMBER(color, Color),
- SK_MEMBER_PROPERTY(descent, Float),
- SK_MEMBER(fakeBold, Boolean),
- SK_MEMBER(filterBitmap, Boolean),
- SK_MEMBER(linearText, Boolean),
- SK_MEMBER(maskFilter, MaskFilter),
- SK_MEMBER_FUNCTION(measureText, Float),
- SK_MEMBER(pathEffect, PathEffect),
- SK_MEMBER(shader, Shader),
- SK_MEMBER(strikeThru, Boolean),
- SK_MEMBER(stroke, Boolean),
- SK_MEMBER(strokeCap, Cap),
- SK_MEMBER(strokeJoin, Join),
- SK_MEMBER(strokeMiter, Float),
- SK_MEMBER(strokeWidth, Float),
- SK_MEMBER(style, Style),
- SK_MEMBER(textAlign, Align),
- SK_MEMBER(textScaleX, Float),
- SK_MEMBER(textSize, Float),
- SK_MEMBER(textSkewX, Float),
- SK_MEMBER(typeface, Typeface),
- SK_MEMBER(underline, Boolean),
- SK_MEMBER(xfermode, Xfermode)
-};
-
-#endif
-
-DEFINE_GET_MEMBER(SkDrawPaint);
-
-SkDrawPaint::SkDrawPaint() : antiAlias(-1), color(NULL), fakeBold(-1), filterBitmap(-1),
- linearText(-1), maskFilter((SkDrawMaskFilter*) -1), pathEffect((SkDrawPathEffect*) -1),
- shader((SkDrawShader*) -1), strikeThru(-1), stroke(-1),
- strokeCap((SkPaint::Cap) -1), strokeJoin((SkPaint::Join) -1), strokeMiter(SK_ScalarNaN),
- strokeWidth(SK_ScalarNaN), style((SkPaint::Style) -1),
- textAlign((SkPaint::Align) -1), textScaleX(SK_ScalarNaN), textSize(SK_ScalarNaN),
- textSkewX(SK_ScalarNaN), typeface((SkDrawTypeface*) -1),
- underline(-1), xfermode((SkPorterDuff::Mode) -1), fOwnsColor(false), fOwnsMaskFilter(false),
- fOwnsPathEffect(false), fOwnsShader(false), fOwnsTypeface(false) {
-}
-
-SkDrawPaint::~SkDrawPaint() {
- if (fOwnsColor)
- delete color;
- if (fOwnsMaskFilter)
- delete maskFilter;
- if (fOwnsPathEffect)
- delete pathEffect;
- if (fOwnsShader)
- delete shader;
- if (fOwnsTypeface)
- delete typeface;
-}
-
-bool SkDrawPaint::add(SkAnimateMaker& maker, SkDisplayable* child) {
- SkASSERT(child && child->isPaintPart());
- SkPaintPart* part = (SkPaintPart*) child;
- if (part->add())
- maker.setErrorCode(SkDisplayXMLParserError::kErrorAddingToPaint);
- return true;
-}
-
-SkDisplayable* SkDrawPaint::deepCopy(SkAnimateMaker* maker) {
- SkDrawColor* tempColor = color;
- color = NULL;
- SkDrawPaint* copy = (SkDrawPaint*) INHERITED::deepCopy(maker);
- color = tempColor;
- tempColor = (SkDrawColor*) color->deepCopy(maker);
- tempColor->setParent(copy);
- tempColor->add();
- copy->fOwnsColor = true;
- return copy;
-}
-
-bool SkDrawPaint::draw(SkAnimateMaker& maker) {
- SkPaint* paint = maker.fPaint;
- setupPaint(paint);
- return false;
-}
-
-#ifdef SK_DUMP_ENABLED
-void SkDrawPaint::dump(SkAnimateMaker* maker) {
- dumpBase(maker);
- dumpAttrs(maker);
- bool closedYet = false;
- SkDisplayList::fIndent +=4;
- //should i say if (maskFilter && ...?
- if (maskFilter != (SkDrawMaskFilter*)-1) {
- SkDebugf(">\n");
- maskFilter->dump(maker);
- closedYet = true;
- }
- if (pathEffect != (SkDrawPathEffect*) -1) {
- if (closedYet == false) {
- SkDebugf(">\n");
- closedYet = true;
- }
- pathEffect->dump(maker);
- }
- if (fOwnsTypeface) {
- if (closedYet == false) {
- SkDebugf(">\n");
- closedYet = true;
- }
- typeface->dump(maker);
- }
- SkDisplayList::fIndent -= 4;
- dumpChildren(maker, closedYet);
-}
-#endif
-
-void SkDrawPaint::executeFunction(SkDisplayable* target, int index,
- SkTDArray<SkScriptValue>& parameters, SkDisplayTypes type,
- SkScriptValue* scriptValue) {
- if (scriptValue == NULL)
- return;
- SkASSERT(target == this);
- switch (index) {
- case SK_FUNCTION(measureText): {
- SkASSERT(parameters.count() == 1);
- SkASSERT(type == SkType_Float);
- SkPaint paint;
- setupPaint(&paint);
- scriptValue->fType = SkType_Float;
- SkASSERT(parameters[0].fType == SkType_String);
- scriptValue->fOperand.fScalar = paint.measureText(parameters[0].fOperand.fString->c_str(),
- parameters[0].fOperand.fString->size());
-// SkDebugf("measureText: %s = %g\n", parameters[0].fOperand.fString->c_str(),
-// scriptValue->fOperand.fScalar / 65536.0f);
- } break;
- default:
- SkASSERT(0);
- }
-}
-
-const SkFunctionParamType* SkDrawPaint::getFunctionsParameters() {
- return fFunctionParameters;
-}
-
-bool SkDrawPaint::getProperty(int index, SkScriptValue* value) const {
- SkPaint::FontMetrics metrics;
- SkPaint paint;
- setupPaint(&paint);
- paint.getFontMetrics(&metrics);
- switch (index) {
- case SK_PROPERTY(ascent):
- value->fOperand.fScalar = metrics.fAscent;
- break;
- case SK_PROPERTY(descent):
- value->fOperand.fScalar = metrics.fDescent;
- break;
- // should consider returning fLeading as well (or roll it into ascent/descent somehow
- default:
- SkASSERT(0);
- return false;
- }
- value->fType = SkType_Float;
- return true;
-}
-
-bool SkDrawPaint::resolveIDs(SkAnimateMaker& maker, SkDisplayable* origDisp, SkApply* ) {
- SkASSERT(origDisp->isPaint());
- SkDrawPaint* original = (SkDrawPaint*) origDisp;
- if (fOwnsColor && maker.resolveID(color, original->color) == false)
- return true;
- if (fOwnsMaskFilter && maker.resolveID(maskFilter, original->maskFilter) == false)
- return true;
- if (fOwnsPathEffect && maker.resolveID(pathEffect, original->pathEffect) == false)
- return true;
- if (fOwnsShader && maker.resolveID(shader, original->shader) == false)
- return true;
- if (fOwnsTypeface && maker.resolveID(typeface, original->typeface) == false)
- return true;
- return false; // succeeded
-}
-
-void SkDrawPaint::setupPaint(SkPaint* paint) const {
- if (antiAlias != -1)
- paint->setAntiAlias(SkToBool(antiAlias));
- if (color != NULL)
- paint->setColor(color->getColor());
- if (fakeBold != -1)
- paint->setFakeBoldText(SkToBool(fakeBold));
- if (filterBitmap != -1)
- paint->setFilterBitmap(SkToBool(filterBitmap));
- // stroke is legacy; style setting if present overrides stroke
- if (stroke != -1)
- paint->setStyle(SkToBool(stroke) ? SkPaint::kStroke_Style : SkPaint::kFill_Style);
- if (style != (SkPaint::Style) -1)
- paint->setStyle((SkPaint::Style) style);
- if (linearText != -1)
- paint->setLinearText(SkToBool(linearText));
- if (maskFilter == NULL)
- paint->setMaskFilter(NULL);
- else if (maskFilter != (SkDrawMaskFilter*) -1)
- paint->setMaskFilter(maskFilter->getMaskFilter())->safeUnref();
- if (pathEffect == NULL)
- paint->setPathEffect(NULL);
- else if (pathEffect != (SkDrawPathEffect*) -1)
- paint->setPathEffect(pathEffect->getPathEffect())->safeUnref();
- if (shader == NULL)
- paint->setShader(NULL);
- else if (shader != (SkDrawShader*) -1)
- paint->setShader(shader->getShader())->safeUnref();
- if (strikeThru != -1)
- paint->setStrikeThruText(SkToBool(strikeThru));
- if (strokeCap != (SkPaint::Cap) -1)
- paint->setStrokeCap((SkPaint::Cap) strokeCap);
- if (strokeJoin != (SkPaint::Join) -1)
- paint->setStrokeJoin((SkPaint::Join) strokeJoin);
- if (SkScalarIsNaN(strokeMiter) == false)
- paint->setStrokeMiter(strokeMiter);
- if (SkScalarIsNaN(strokeWidth) == false)
- paint->setStrokeWidth(strokeWidth);
- if (textAlign != (SkPaint::Align) -1)
- paint->setTextAlign((SkPaint::Align) textAlign);
- if (SkScalarIsNaN(textScaleX) == false)
- paint->setTextScaleX(textScaleX);
- if (SkScalarIsNaN(textSize) == false)
- paint->setTextSize(textSize);
- if (SkScalarIsNaN(textSkewX) == false)
- paint->setTextSkewX(textSkewX);
- if (typeface == NULL)
- paint->setTypeface(NULL);
- else if (typeface != (SkDrawTypeface*) -1)
- paint->setTypeface(typeface->getTypeface())->safeUnref();
- if (underline != -1)
- paint->setUnderlineText(SkToBool(underline));
- if (xfermode != (SkPorterDuff::Mode) -1)
- paint->setPorterDuffXfermode((SkPorterDuff::Mode) xfermode);
-}
« no previous file with comments | « skia/animator/SkDrawPaint.h ('k') | skia/animator/SkDrawPath.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698