diff options
Diffstat (limited to 'monkeyrunner/src/com/android/monkeyrunner/MonkeyRect.java')
-rw-r--r-- | monkeyrunner/src/com/android/monkeyrunner/MonkeyRect.java | 85 |
1 files changed, 85 insertions, 0 deletions
diff --git a/monkeyrunner/src/com/android/monkeyrunner/MonkeyRect.java b/monkeyrunner/src/com/android/monkeyrunner/MonkeyRect.java new file mode 100644 index 0000000..98b2ecc --- /dev/null +++ b/monkeyrunner/src/com/android/monkeyrunner/MonkeyRect.java @@ -0,0 +1,85 @@ +/* + * Copyright (C) 2011 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. + */ +package com.android.monkeyrunner; + +import com.android.chimpchat.core.ChimpRect; + +import com.android.monkeyrunner.doc.MonkeyRunnerExported; + +import org.python.core.ArgParser; +import org.python.core.ClassDictInit; +import org.python.core.PyInteger; +import org.python.core.PyList; +import org.python.core.PyObject; + +import java.util.List; +import java.util.LinkedList; +import java.util.logging.Logger; + +/* + * A Jython wrap for the ChimpRect class that stores coordinate information for views + */ +@MonkeyRunnerExported(doc = "Represents the coordinates of a rectangular object") +public class MonkeyRect extends PyObject implements ClassDictInit { + private static final Logger LOG = Logger.getLogger(MonkeyRect.class.getName()); + + private ChimpRect rect; + + @MonkeyRunnerExported(doc = "The x coordinate of the left side of the rectangle") + public int left; + @MonkeyRunnerExported(doc = "The y coordinate of the top side of the rectangle") + public int top; + @MonkeyRunnerExported(doc = "The x coordinate of the right side of the rectangle") + public int right; + @MonkeyRunnerExported(doc = "The y coordinate of the bottom side of the rectangle") + public int bottom; + + public static void classDictInit(PyObject dict) { + JythonUtils.convertDocAnnotationsForClass(MonkeyRect.class, dict); + } + + public MonkeyRect(ChimpRect rect) { + this.rect = rect; + this.left = rect.left; + this.right = rect.right; + this.top = rect.top; + this.bottom = rect.bottom; + } + + @MonkeyRunnerExported(doc = "Returns the width of the rectangle", + returns = "The width of the rectangle as an integer") + public PyInteger getWidth() { + return new PyInteger(right-left); + } + + @MonkeyRunnerExported(doc = "Returns the height of the rectangle", + returns = "The height of the rectangle as an integer") + public PyInteger getHeight() { + return new PyInteger(bottom-top); + } + + @MonkeyRunnerExported(doc = "Returns a two item list that contains the x and y value of " + + "the center of the rectangle", + returns = "The center coordinates as a two item list of integers") + public PyList getCenter(){ + List<PyInteger> center = new LinkedList<PyInteger>(); + /* Center x coordinate */ + center.add(new PyInteger(left+(right-left)/2)); + /* Center y coordinate */ + center.add(new PyInteger(top+(bottom-top)/2)); + return new PyList(center); + } +} |