11cab2921ab279367f8206cdadc9259d12e603548Derek Sollenberger
21cab2921ab279367f8206cdadc9259d12e603548Derek Sollenberger/*
31cab2921ab279367f8206cdadc9259d12e603548Derek Sollenberger * Copyright 2006 The Android Open Source Project
41cab2921ab279367f8206cdadc9259d12e603548Derek Sollenberger *
51cab2921ab279367f8206cdadc9259d12e603548Derek Sollenberger * Use of this source code is governed by a BSD-style license that can be
61cab2921ab279367f8206cdadc9259d12e603548Derek Sollenberger * found in the LICENSE file.
71cab2921ab279367f8206cdadc9259d12e603548Derek Sollenberger */
81cab2921ab279367f8206cdadc9259d12e603548Derek Sollenberger
90910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project
100910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project#include "SkDrawClip.h"
110910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project#include "SkAnimateMaker.h"
120910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project#include "SkCanvas.h"
130910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project#include "SkDrawRectangle.h"
140910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project#include "SkDrawPath.h"
150910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project
160910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project
170910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project#if SK_USE_CONDENSED_INFO == 0
180910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project
190910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Projectconst SkMemberInfo SkDrawClip::fInfo[] = {
200910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project    SK_MEMBER(path, Path),
210910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project    SK_MEMBER(rect, Rect)
220910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project};
230910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project
240910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project#endif
250910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project
260910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source ProjectDEFINE_GET_MEMBER(SkDrawClip);
270910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project
280910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source ProjectSkDrawClip::SkDrawClip() : rect(NULL), path(NULL) {
290910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project}
300910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project
310910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Projectbool SkDrawClip::draw(SkAnimateMaker& maker ) {
320910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project    if (rect != NULL)
330910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project        maker.fCanvas->clipRect(rect->fRect);
340910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project    else {
350910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project        SkASSERT(path != NULL);
360910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project        maker.fCanvas->clipPath(path->fPath);
370910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project    }
380910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project    return false;
390910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project}
400910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project
41