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

Unified Diff: skia/picture/SkPicture.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/picture/SkPathHeap.cpp ('k') | skia/picture/SkPictureFlat.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: skia/picture/SkPicture.cpp
===================================================================
--- skia/picture/SkPicture.cpp (revision 16859)
+++ skia/picture/SkPicture.cpp (working copy)
@@ -1,246 +0,0 @@
-/*
-**
-** Copyright 2007, 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 "SkPictureFlat.h"
-#include "SkPicturePlayback.h"
-#include "SkPictureRecord.h"
-
-#include "SkCanvas.h"
-#include "SkChunkAlloc.h"
-#include "SkPicture.h"
-#include "SkRegion.h"
-#include "SkStream.h"
-#include "SkTDArray.h"
-#include "SkTSearch.h"
-#include "SkTime.h"
-
-#include "SkReader32.h"
-#include "SkWriter32.h"
-
-#define DUMP_BUFFER_SIZE 65536
-
-//#define ENABLE_TIME_DRAW // dumps milliseconds for each draw
-
-
-#ifdef SK_DEBUG
-// enable SK_DEBUG_TRACE to trace DrawType elements when
-// recorded and played back
-// #define SK_DEBUG_TRACE
-// enable SK_DEBUG_SIZE to see the size of picture components
-// #define SK_DEBUG_SIZE
-// enable SK_DEBUG_DUMP to see the contents of recorded elements
-// #define SK_DEBUG_DUMP
-// enable SK_DEBUG_VALIDATE to check internal structures for consistency
-// #define SK_DEBUG_VALIDATE
-#endif
-
-#if defined SK_DEBUG_TRACE || defined SK_DEBUG_DUMP
-const char* DrawTypeToString(DrawType drawType) {
- switch (drawType) {
- case UNUSED: SkDebugf("DrawType UNUSED\n"); SkASSERT(0); break;
- case CLIP_PATH: return "CLIP_PATH";
- case CLIP_REGION: return "CLIP_REGION";
- case CLIP_RECT: return "CLIP_RECT";
- case CONCAT: return "CONCAT";
- case DRAW_BITMAP: return "DRAW_BITMAP";
- case DRAW_BITMAP_MATRIX: return "DRAW_BITMAP_MATRIX";
- case DRAW_BITMAP_RECT: return "DRAW_BITMAP_RECT";
- case DRAW_PAINT: return "DRAW_PAINT";
- case DRAW_PATH: return "DRAW_PATH";
- case DRAW_PICTURE: return "DRAW_PICTURE";
- case DRAW_POINTS: return "DRAW_POINTS";
- case DRAW_POS_TEXT: return "DRAW_POS_TEXT";
- case DRAW_POS_TEXT_H: return "DRAW_POS_TEXT_H";
- case DRAW_RECT_GENERAL: return "DRAW_RECT_GENERAL";
- case DRAW_RECT_SIMPLE: return "DRAW_RECT_SIMPLE";
- case DRAW_SPRITE: return "DRAW_SPRITE";
- case DRAW_TEXT: return "DRAW_TEXT";
- case DRAW_TEXT_ON_PATH: return "DRAW_TEXT_ON_PATH";
- case RESTORE: return "RESTORE";
- case ROTATE: return "ROTATE";
- case SAVE: return "SAVE";
- case SAVE_LAYER: return "SAVE_LAYER";
- case SCALE: return "SCALE";
- case SKEW: return "SKEW";
- case TRANSLATE: return "TRANSLATE";
- default:
- SkDebugf("DrawType error 0x%08x\n", drawType);
- SkASSERT(0);
- break;
- }
- SkASSERT(0);
- return NULL;
-}
-#endif
-
-#ifdef SK_DEBUG_VALIDATE
-static void validateMatrix(const SkMatrix* matrix) {
- SkScalar scaleX = matrix->getScaleX();
- SkScalar scaleY = matrix->getScaleY();
- SkScalar skewX = matrix->getSkewX();
- SkScalar skewY = matrix->getSkewY();
- SkScalar perspX = matrix->getPerspX();
- SkScalar perspY = matrix->getPerspY();
- if (scaleX != 0 && skewX != 0)
- SkDebugf("scaleX != 0 && skewX != 0\n");
- SkASSERT(scaleX == 0 || skewX == 0);
- SkASSERT(scaleY == 0 || skewY == 0);
- SkASSERT(perspX == 0);
- SkASSERT(perspY == 0);
-}
-#endif
-
-
-///////////////////////////////////////////////////////////////////////////////
-
-SkPicture::SkPicture() {
- fRecord = NULL;
- fPlayback = NULL;
- fWidth = fHeight = 0;
-}
-
-SkPicture::SkPicture(const SkPicture& src) : SkRefCnt() {
- fWidth = src.fWidth;
- fHeight = src.fHeight;
- fRecord = NULL;
-
- /* We want to copy the src's playback. However, if that hasn't been built
- yet, we need to fake a call to endRecording() without actually calling
- it (since it is destructive, and we don't want to change src).
- */
- if (src.fPlayback) {
- fPlayback = SkNEW_ARGS(SkPicturePlayback, (*src.fPlayback));
- } else if (src.fRecord) {
- // here we do a fake src.endRecording()
- fPlayback = SkNEW_ARGS(SkPicturePlayback, (*src.fRecord));
- } else {
- fPlayback = NULL;
- }
-}
-
-SkPicture::~SkPicture() {
- fRecord->safeUnref();
- SkDELETE(fPlayback);
-}
-
-void SkPicture::swap(SkPicture& other) {
- SkTSwap(fRecord, other.fRecord);
- SkTSwap(fPlayback, other.fPlayback);
- SkTSwap(fWidth, other.fWidth);
- SkTSwap(fHeight, other.fHeight);
-}
-
-///////////////////////////////////////////////////////////////////////////////
-
-SkCanvas* SkPicture::beginRecording(int width, int height) {
- if (fPlayback) {
- SkDELETE(fPlayback);
- fPlayback = NULL;
- }
-
- if (NULL != fRecord) {
- fRecord->unref();
- fRecord = NULL;
- }
-
- fRecord = SkNEW(SkPictureRecord);
-
- fWidth = width;
- fHeight = height;
-
- SkBitmap bm;
- bm.setConfig(SkBitmap::kNo_Config, width, height);
- fRecord->setBitmapDevice(bm);
-
- return fRecord;
-}
-
-SkCanvas* SkPicture::getRecordingCanvas() const {
- // will be null if we are not recording
- return fRecord;
-}
-
-void SkPicture::endRecording() {
- if (NULL == fPlayback) {
- if (NULL != fRecord) {
- fPlayback = SkNEW_ARGS(SkPicturePlayback, (*fRecord));
- fRecord->unref();
- fRecord = NULL;
- }
- }
- SkASSERT(NULL == fRecord);
-}
-
-void SkPicture::draw(SkCanvas* surface) {
- this->endRecording();
- if (fPlayback) {
- fPlayback->draw(*surface);
- }
-}
-
-///////////////////////////////////////////////////////////////////////////////
-
-#include "SkStream.h"
-
-#define PICTURE_VERSION 1
-
-SkPicture::SkPicture(SkStream* stream) : SkRefCnt() {
- if (stream->readU32() != PICTURE_VERSION) {
- sk_throw();
- }
-
- fWidth = stream->readU32();
- fHeight = stream->readU32();
-
- fRecord = NULL;
- fPlayback = NULL;
-
- if (stream->readBool()) {
- fPlayback = SkNEW_ARGS(SkPicturePlayback, (stream));
- }
-}
-
-void SkPicture::serialize(SkWStream* stream) const {
- SkPicturePlayback* playback = fPlayback;
-
- if (NULL == playback && fRecord) {
- playback = SkNEW_ARGS(SkPicturePlayback, (*fRecord));
- }
-
- stream->write32(PICTURE_VERSION);
- stream->write32(fWidth);
- stream->write32(fHeight);
- if (playback) {
- stream->writeBool(true);
- playback->serialize(stream);
- // delete playback if it is a local version (i.e. cons'd up just now)
- if (playback != fPlayback) {
- SkDELETE(playback);
- }
- } else {
- stream->writeBool(false);
- }
-}
-
-void SkPicture::abortPlayback() {
- if (NULL == fPlayback) {
- return;
- }
- fPlayback->abort();
-}
-
-
« no previous file with comments | « skia/picture/SkPathHeap.cpp ('k') | skia/picture/SkPictureFlat.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698