media/omx-plugin/include/froyo/ui/Point.h

Wed, 31 Dec 2014 06:09:35 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Wed, 31 Dec 2014 06:09:35 +0100
changeset 0
6474c204b198
permissions
-rw-r--r--

Cloned upstream origin tor-browser at tor-browser-31.3.0esr-4.5-1-build1
revision ID fc1c9ff7c1b2defdbc039f12214767608f46423f for hacking purpose.

     1 /*
     2  * Copyright (C) 2006 The Android Open Source Project
     3  *
     4  * Licensed under the Apache License, Version 2.0 (the "License");
     5  * you may not use this file except in compliance with the License.
     6  * You may obtain a copy of the License at
     7  *
     8  *      http://www.apache.org/licenses/LICENSE-2.0
     9  *
    10  * Unless required by applicable law or agreed to in writing, software
    11  * distributed under the License is distributed on an "AS IS" BASIS,
    12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    13  * See the License for the specific language governing permissions and
    14  * limitations under the License.
    15  */
    17 #ifndef ANDROID_UI_POINT
    18 #define ANDROID_UI_POINT
    20 #include <utils/TypeHelpers.h>
    22 namespace android {
    24 class Point
    25 {
    26 public:
    27     int x;
    28     int y;
    30     // we don't provide copy-ctor and operator= on purpose
    31     // because we want the compiler generated versions
    33     // Default constructor doesn't initialize the Point
    34     inline Point() {
    35     }
    36     inline Point(int x, int y) : x(x), y(y) {
    37     }
    39     inline bool operator == (const Point& rhs) const {
    40         return (x == rhs.x) && (y == rhs.y);
    41     }
    42     inline bool operator != (const Point& rhs) const {
    43         return !operator == (rhs);
    44     }
    46     inline bool isOrigin() const {
    47         return !(x|y);
    48     }
    50     // operator < defines an order which allows to use points in sorted
    51     // vectors.
    52     bool operator < (const Point& rhs) const {
    53         return y<rhs.y || (y==rhs.y && x<rhs.x);
    54     }
    56     inline Point& operator - () {
    57         x = -x;
    58         y = -y;
    59         return *this;
    60     }
    62     inline Point& operator += (const Point& rhs) {
    63         x += rhs.x;
    64         y += rhs.y;
    65         return *this;
    66     }
    67     inline Point& operator -= (const Point& rhs) {
    68         x -= rhs.x;
    69         y -= rhs.y;
    70         return *this;
    71     }
    73     const Point operator + (const Point& rhs) const {
    74         const Point result(x+rhs.x, y+rhs.y);
    75         return result;
    76     }
    77     const Point operator - (const Point& rhs) const {
    78         const Point result(x-rhs.x, y-rhs.y);
    79         return result;
    80     }    
    81 };
    83 ANDROID_BASIC_TYPES_TRAITS(Point)
    85 }; // namespace android
    87 #endif // ANDROID_UI_POINT

mercurial