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

Side by Side Diff: skia/animator/SkHitTest.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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « skia/animator/SkHitTest.h ('k') | skia/animator/SkIntArray.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 /* libs/graphics/animator/SkHitTest.cpp
2 **
3 ** Copyright 2006, The Android Open Source Project
4 **
5 ** Licensed under the Apache License, Version 2.0 (the "License");
6 ** you may not use this file except in compliance with the License.
7 ** You may obtain a copy of the License at
8 **
9 ** http://www.apache.org/licenses/LICENSE-2.0
10 **
11 ** Unless required by applicable law or agreed to in writing, software
12 ** distributed under the License is distributed on an "AS IS" BASIS,
13 ** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 ** See the License for the specific language governing permissions and
15 ** limitations under the License.
16 */
17
18 #include "SkHitTest.h"
19
20 #if SK_USE_CONDENSED_INFO == 0
21
22 const SkMemberInfo SkHitTest::fInfo[] = {
23 SK_MEMBER_ARRAY(bullets, Displayable),
24 SK_MEMBER_ARRAY(hits, Int),
25 SK_MEMBER_ARRAY(targets, Displayable),
26 SK_MEMBER(value, Boolean)
27 };
28
29 #endif
30
31 DEFINE_GET_MEMBER(SkHitTest);
32
33 SkHitTest::SkHitTest() : value(false) {
34 }
35
36 bool SkHitTest::draw(SkAnimateMaker& maker) {
37 hits.setCount(bullets.count());
38 value = false;
39 int bulletCount = bullets.count();
40 int targetCount = targets.count();
41 for (int bIndex = 0; bIndex < bulletCount; bIndex++) {
42 SkDisplayable* bullet = bullets[bIndex];
43 SkRect bBounds;
44 bullet->getBounds(&bBounds);
45 hits[bIndex] = -1;
46 if (bBounds.fLeft == (int16_t)0x8000U)
47 continue;
48 for (int tIndex = 0; tIndex < targetCount; tIndex++) {
49 SkDisplayable* target = targets[tIndex];
50 SkRect tBounds;
51 target->getBounds(&tBounds);
52 if (bBounds.intersect(tBounds)) {
53 hits[bIndex] = tIndex;
54 value = true;
55 break;
56 }
57 }
58 }
59 return false;
60 }
61
62 bool SkHitTest::enable(SkAnimateMaker& maker) {
63 for (int bIndex = 0; bIndex < bullets.count(); bIndex++) {
64 SkDisplayable* bullet = bullets[bIndex];
65 bullet->enableBounder();
66 }
67 for (int tIndex = 0; tIndex < targets.count(); tIndex++) {
68 SkDisplayable* target = targets[tIndex];
69 target->enableBounder();
70 }
71 return false;
72 }
73
74 bool SkHitTest::hasEnable() const {
75 return true;
76 }
77
78 const SkMemberInfo* SkHitTest::preferredChild(SkDisplayTypes type) {
79 if (bullets.count() == 0)
80 return getMember("bullets");
81 return getMember("targets"); // !!! cwap! need to refer to member through en um like kScope instead
82 }
83
OLDNEW
« no previous file with comments | « skia/animator/SkHitTest.h ('k') | skia/animator/SkIntArray.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698