Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 47c320fe authored by Dianne Hackborn's avatar Dianne Hackborn Committed by Android Git Automerger
Browse files

am b14f325a: am 289b9b62: Add ANativeWindow API for directly drawing to the surface bits.

Merge commit 'b14f325a0118ffce286155caaabaae149653462c'

* commit 'b14f325a0118ffce286155caaabaae149653462c':
  Add ANativeWindow API for directly drawing to the surface bits.
parents c6226ac9 c9ab2f8f
Loading
Loading
Loading
Loading
+15 −18
Original line number Diff line number Diff line
@@ -20,31 +20,28 @@
#include <utils/TypeHelpers.h>
#include <ui/Point.h>

#include <android/rect.h>

namespace android {

class Rect
class Rect : public ARect
{
public:
    int left;
    int top;
    int right;
    int bottom;

    typedef int value_type;
    typedef int32_t value_type;

    // we don't provide copy-ctor and operator= on purpose
    // because we want the compiler generated versions

    inline Rect() {
    }
    inline Rect(int w, int h)
        : left(0), top(0), right(w), bottom(h) {
    inline Rect(int32_t w, int32_t h) {
        left = top = 0; right = w; bottom = h;
    }
    inline Rect(int l, int t, int r, int b)
        : left(l), top(t), right(r), bottom(b) {
    inline Rect(int32_t l, int32_t t, int32_t r, int32_t b) {
        left = l; top = t; right = r; bottom = b;
    }
    inline Rect(const Point& lt, const Point& rb) 
        : left(lt.x), top(lt.y), right(rb.x), bottom(rb.y) {
    inline Rect(const Point& lt, const Point& rb) {
        left = lt.x; top = lt.y; right = rb.x; bottom = rb.y;
    }

    void makeInvalid();
@@ -68,12 +65,12 @@ public:
    }

    // rectangle's width
    inline int width() const {
    inline int32_t width() const {
        return right-left;
    }
    
    // rectangle's height
    inline int height() const {
    inline int32_t height() const {
        return bottom-top;
    }

@@ -136,12 +133,12 @@ public:
    const Rect operator + (const Point& rhs) const;
    const Rect operator - (const Point& rhs) const;

    void translate(int dx, int dy) { // legacy, don't use.
    void translate(int32_t dx, int32_t dy) { // legacy, don't use.
        offsetBy(dx, dy);
    }
 
    Rect&   offsetTo(int x, int y);
    Rect&   offsetBy(int x, int y);
    Rect&   offsetTo(int32_t x, int32_t y);
    Rect&   offsetBy(int32_t x, int32_t y);
    bool    intersect(const Rect& with, Rect* result) const;
};

+4 −4
Original line number Diff line number Diff line
@@ -18,11 +18,11 @@

namespace android {

static inline int min(int a, int b) {
static inline int32_t min(int32_t a, int32_t b) {
    return (a<b) ? a : b;
}

static inline int max(int a, int b) {
static inline int32_t max(int32_t a, int32_t b) {
    return (a>b) ? a : b;
}

@@ -53,7 +53,7 @@ bool Rect::operator < (const Rect& rhs) const
    return false;
}

Rect& Rect::offsetTo(int x, int y)
Rect& Rect::offsetTo(int32_t x, int32_t y)
{
    right -= left - x;
    bottom -= top - y;
@@ -62,7 +62,7 @@ Rect& Rect::offsetTo(int x, int y)
    return *this;
}

Rect& Rect::offsetBy(int x, int y)
Rect& Rect::offsetBy(int32_t x, int32_t y)
{
    left += x;
    top  += y;