summaryrefslogtreecommitdiffstats
path: root/rsElement.cpp
diff options
context:
space:
mode:
authorJason Sams <jsams@google.com>2013-07-09 14:29:39 -0700
committerJason Sams <jsams@google.com>2013-07-09 14:29:39 -0700
commitf313dc32d5ea68a7c48fb4ec6e131ec2fb97ce2d (patch)
tree9309212ee75f350a9cf3b3589f71c7c33b75bc71 /rsElement.cpp
parentdc596dd105ad4b066a13f7450dae32d2bf56c5a6 (diff)
downloadandroid_frameworks_rs-f313dc32d5ea68a7c48fb4ec6e131ec2fb97ce2d.tar.gz
android_frameworks_rs-f313dc32d5ea68a7c48fb4ec6e131ec2fb97ce2d.tar.bz2
android_frameworks_rs-f313dc32d5ea68a7c48fb4ec6e131ec2fb97ce2d.zip
Remove internal element builder and vector code.
Remove additional String8 references from shared includes. Change-Id: Iede11384b9fc5a303d15d47fd4074c800dc6ad5f
Diffstat (limited to 'rsElement.cpp')
-rw-r--r--rsElement.cpp57
1 files changed, 26 insertions, 31 deletions
diff --git a/rsElement.cpp b/rsElement.cpp
index 712f17d6..559d567f 100644
--- a/rsElement.cpp
+++ b/rsElement.cpp
@@ -262,10 +262,21 @@ ObjectBaseRef<const Element> Element::createRef(Context *rsc, size_t count, cons
if (ee->getFieldCount() == count) {
bool match = true;
for (uint32_t i=0; i < count; i++) {
+ size_t len;
+ uint32_t asize = 1;
+ if (lengths) {
+ len = lengths[i];
+ } else {
+ len = strlen(nin[i]);
+ }
+ if (asin) {
+ asize = asin[i];
+ }
+
if ((ee->mFields[i].e.get() != ein[i]) ||
- (ee->mFields[i].name.length() != lengths[i]) ||
+ (ee->mFields[i].name.length() != len) ||
(ee->mFields[i].name != nin[i]) ||
- (ee->mFields[i].arraySize != asin[i])) {
+ (ee->mFields[i].arraySize != asize)) {
match = false;
break;
}
@@ -284,9 +295,20 @@ ObjectBaseRef<const Element> Element::createRef(Context *rsc, size_t count, cons
e->mFields = new ElementField_t [count];
e->mFieldCount = count;
for (size_t ct=0; ct < count; ct++) {
+ size_t len;
+ uint32_t asize = 1;
+ if (lengths) {
+ len = lengths[ct];
+ } else {
+ len = strlen(nin[ct]);
+ }
+ if (asin) {
+ asize = asin[ct];
+ }
+
e->mFields[ct].e.set(ein[ct]);
- e->mFields[ct].name.setTo(nin[ct], lengths[ct]);
- e->mFields[ct].arraySize = asin[ct];
+ e->mFields[ct].name.setTo(nin[ct], len);
+ e->mFields[ct].arraySize = asize;
}
e->compute();
@@ -341,33 +363,6 @@ void Element::decRefs(const void *ptr) const {
}
}
-Element::Builder::Builder() {
- const uint32_t initialCapacity = 32;
- mBuilderElementRefs.setCapacity(initialCapacity);
- mBuilderElements.setCapacity(initialCapacity);
- mBuilderNameStrings.setCapacity(initialCapacity);
- mBuilderNameLengths.setCapacity(initialCapacity);
- mBuilderArrays.setCapacity(initialCapacity);
-}
-
-void Element::Builder::add(const Element *e, const char *nameStr, uint32_t arraySize) {
- mBuilderElementRefs.push(ObjectBaseRef<const Element>(e));
- mBuilderElements.push(e);
- mBuilderNameStrings.push(nameStr);
- mBuilderNameLengths.push(strlen(nameStr));
- mBuilderArrays.push(arraySize);
-
-}
-
-ObjectBaseRef<const Element> Element::Builder::create(Context *rsc) {
- return Element::createRef(rsc, mBuilderElements.size(),
- &(mBuilderElements.editArray()[0]),
- &(mBuilderNameStrings.editArray()[0]),
- mBuilderNameLengths.editArray(),
- mBuilderArrays.editArray());
-}
-
-
ElementState::ElementState() {
}