Clean up RS C++ API visibility and fix some inconsistencies.

Bug: 10427951

- Constructors should mostly be protected, since we use Builders and create()
  methods for most RS objects.
- Type::setY() should only accept unsigned input.

Change-Id: Id96138a6a8820348b2c26fc0772383326d321d50
diff --git a/cpp/rsCppStructs.h b/cpp/rsCppStructs.h
index dca2bb1..1d0f9de 100644
--- a/cpp/rsCppStructs.h
+++ b/cpp/rsCppStructs.h
@@ -397,15 +397,6 @@
     static sp<const Element> createPixel(sp<RS> rs, RsDataType dt, RsDataKind dk);
     bool isCompatible(sp<const Element>e) const;
 
-    Element(void *id, sp<RS> rs,
-            std::vector<sp<Element> > &elements,
-            std::vector<std::string> &elementNames,
-            std::vector<uint32_t> &arraySizes);
-    Element(void *id, sp<RS> rs, RsDataType dt, RsDataKind dk, bool norm, uint32_t size);
-    Element(sp<RS> rs);
-    virtual ~Element();
-
- protected:
     class Builder {
     private:
         sp<RS> mRS;
@@ -421,6 +412,15 @@
         sp<const Element> create();
     };
 
+protected:
+    Element(void *id, sp<RS> rs,
+            std::vector<sp<Element> > &elements,
+            std::vector<std::string> &elementNames,
+            std::vector<uint32_t> &arraySizes);
+    Element(void *id, sp<RS> rs, RsDataType dt, RsDataKind dk, bool norm, uint32_t size);
+    Element(sp<RS> rs);
+    virtual ~Element();
+
 private:
     void updateVisibleSubElements();
 
@@ -544,6 +544,8 @@
     size_t mElementCount;
     sp<const Element> mElement;
 
+    Type(void *id, sp<RS> rs);
+
     void calcElementCount();
     virtual void updateFromNative();
 
@@ -581,8 +583,6 @@
         return mElementCount * mElement->getSizeBytes();
     }
 
-    Type(void *id, sp<RS> rs);
-
     static sp<const Type> create(sp<RS> rs, sp<const Element> e, uint32_t dimX, uint32_t dimY, uint32_t dimZ);
 
     class Builder {
@@ -599,7 +599,7 @@
         Builder(sp<RS> rs, sp<const Element> e);
 
         void setX(uint32_t value);
-        void setY(int value);
+        void setY(uint32_t value);
         void setMipmaps(bool value);
         void setFaces(bool value);
         sp<const Type> create();