Lines Matching refs:Res_value

142 void Res_value::copyFrom_dtoh(const Res_value& src)
1139 ssize_t ResXMLParser::getTextValue(Res_value* outValue) const
1143 return sizeof(Res_value);
1337 if (type != Res_value::TYPE_DYNAMIC_REFERENCE) {
1343 return Res_value::TYPE_REFERENCE;
1346 return Res_value::TYPE_NULL;
1358 if (attr->typedValue.dataType != Res_value::TYPE_DYNAMIC_REFERENCE ||
1372 ssize_t ResXMLParser::getAttributeValue(size_t idx, Res_value* outValue) const
1386 return sizeof(Res_value);
3732 memset(curEntries, Res_value::TYPE_NULL, buff_size);
3749 if (force || (curEntry->value.dataType == Res_value::TYPE_NULL
3750 && curEntry->value.data != Res_value::DATA_NULL_EMPTY)) {
3838 ssize_t ResTable::Theme::getAttribute(uint32_t resID, Res_value* outValue,
3878 if (type == Res_value::TYPE_ATTRIBUTE) {
3886 } else if (type != Res_value::TYPE_NULL
3887 || te.value.data == Res_value::DATA_NULL_EMPTY) {
3903 ssize_t ResTable::Theme::resolveAttributeReference(Res_value* inOutValue,
3908 if (inOutValue->dataType == Res_value::TYPE_ATTRIBUTE) {
3944 if (te.value.dataType == Res_value::TYPE_NULL) continue;
4314 ssize_t ResTable::getResource(uint32_t resID, Res_value* outValue, bool mayBeBag, uint16_t density,
4369 const Res_value* value = reinterpret_cast<const Res_value*>(
4391 outValue->dataType == Res_value::TYPE_STRING ?
4408 ssize_t ResTable::resolveReference(Res_value* value, ssize_t blockIndex,
4413 while (blockIndex >= 0 && value->dataType == Res_value::TYPE_REFERENCE
4441 const Res_value* value, size_t stringBlock,
4587 // Res_value structure. That means we must always try to
5132 { "px", strlen("px"), Res_value::TYPE_DIMENSION, Res_value::COMPLEX_UNIT_PX, 1.0f },
5133 { "dip", strlen("dip"), Res_value::TYPE_DIMENSION, Res_value::COMPLEX_UNIT_DIP, 1.0f },
5134 { "dp", strlen("dp"), Res_value::TYPE_DIMENSION, Res_value::COMPLEX_UNIT_DIP, 1.0f },
5135 { "sp", strlen("sp"), Res_value::TYPE_DIMENSION, Res_value::COMPLEX_UNIT_SP, 1.0f },
5136 { "pt", strlen("pt"), Res_value::TYPE_DIMENSION, Res_value::COMPLEX_UNIT_PT, 1.0f },
5137 { "in", strlen("in"), Res_value::TYPE_DIMENSION, Res_value::COMPLEX_UNIT_IN, 1.0f },
5138 { "mm", strlen("mm"), Res_value::TYPE_DIMENSION, Res_value::COMPLEX_UNIT_MM, 1.0f },
5139 { "%", strlen("%"), Res_value::TYPE_FRACTION, Res_value::COMPLEX_UNIT_FRACTION, 1.0f/100 },
5140 { "%p", strlen("%p"), Res_value::TYPE_FRACTION, Res_value::COMPLEX_UNIT_FRACTION_PARENT, 1.0f/100 },
5144 static bool parse_unit(const char* str, Res_value* outValue,
5165 outValue->data = cur->unit << Res_value::COMPLEX_UNIT_SHIFT;
5177 bool U16StringToInt(const char16_t* s, size_t len, Res_value* outValue)
5201 static_assert(std::is_same<uint32_t, Res_value::data_type>::value,
5202 "Res_value::data_type has changed. The range checks in this "
5261 outValue->data = static_cast<Res_value::data_type>(val);
5266 bool ResTable::stringToInt(const char16_t* s, size_t len, Res_value* outValue)
5271 bool ResTable::stringToFloat(const char16_t* s, size_t len, Res_value* outValue)
5316 radix = Res_value::COMPLEX_RADIX_23p0;
5320 radix = Res_value::COMPLEX_RADIX_0p23;
5324 radix = Res_value::COMPLEX_RADIX_8p15;
5328 radix = Res_value::COMPLEX_RADIX_16p7;
5332 radix = Res_value::COMPLEX_RADIX_23p0;
5336 (bits>>shift) & Res_value::COMPLEX_MANTISSA_MASK);
5338 mantissa = (-mantissa) & Res_value::COMPLEX_MANTISSA_MASK;
5341 (radix<<Res_value::COMPLEX_RADIX_SHIFT)
5342 | (mantissa<<Res_value::COMPLEX_MANTISSA_SHIFT);
5366 bool ResTable::stringToValue(Res_value* outValue, String16* outString,
5380 outValue->size = sizeof(Res_value);
5464 outValue->dataType = Res_value::TYPE_NULL;
5465 outValue->data = Res_value::DATA_NULL_EMPTY;
5521 outValue->dataType = Res_value::TYPE_DYNAMIC_REFERENCE;
5539 outValue->dataType = Res_value::TYPE_DYNAMIC_REFERENCE;
5688 outValue->dataType = Res_value::TYPE_DYNAMIC_ATTRIBUTE;
5700 outValue->dataType = Res_value::TYPE_DYNAMIC_ATTRIBUTE;
5741 if (outValue->dataType == Res_value::TYPE_DIMENSION) {
5751 } else if (outValue->dataType == Res_value::TYPE_FRACTION) {
5861 outValue->dataType = Res_value::TYPE_INT_HEX;
6995 status_t DynamicRefTable::lookupResourceValue(Res_value* value) const {
6996 uint8_t resolvedType = Res_value::TYPE_REFERENCE;
6998 case Res_value::TYPE_ATTRIBUTE:
6999 resolvedType = Res_value::TYPE_ATTRIBUTE;
7001 case Res_value::TYPE_REFERENCE:
7009 case Res_value::TYPE_DYNAMIC_ATTRIBUTE:
7010 resolvedType = Res_value::TYPE_ATTRIBUTE;
7012 case Res_value::TYPE_DYNAMIC_REFERENCE:
7238 1.0f / (1<<Res_value::COMPLEX_MANTISSA_SHIFT);
7244 float value = (complex&(Res_value::COMPLEX_MANTISSA_MASK
7245 <<Res_value::COMPLEX_MANTISSA_SHIFT))
7246 * RADIX_MULTS[(complex>>Res_value::COMPLEX_RADIX_SHIFT)
7247 & Res_value::COMPLEX_RADIX_MASK];
7251 switch ((complex>>Res_value::COMPLEX_UNIT_SHIFT)&Res_value::COMPLEX_UNIT_MASK) {
7252 case Res_value::COMPLEX_UNIT_PX: printf("px"); break;
7253 case Res_value::COMPLEX_UNIT_DIP: printf("dp"); break;
7254 case Res_value::COMPLEX_UNIT_SP: printf("sp"); break;
7255 case Res_value::COMPLEX_UNIT_PT: printf("pt"); break;
7256 case Res_value::COMPLEX_UNIT_IN: printf("in"); break;
7257 case Res_value::COMPLEX_UNIT_MM: printf("mm"); break;
7261 switch ((complex>>Res_value::COMPLEX_UNIT_SHIFT)&Res_value::COMPLEX_UNIT_MASK) {
7262 case Res_value::COMPLEX_UNIT_FRACTION: printf("%%"); break;
7263 case Res_value::COMPLEX_UNIT_FRACTION_PARENT: printf("%%p"); break;
7301 void ResTable::print_value(const Package* pkg, const Res_value& value) const
7303 if (value.dataType == Res_value::TYPE_NULL) {
7304 if (value.data == Res_value::DATA_NULL_UNDEFINED) {
7306 } else if (value.data == Res_value::DATA_NULL_EMPTY) {
7312 } else if (value.dataType == Res_value::TYPE_REFERENCE) {
7314 } else if (value.dataType == Res_value::TYPE_DYNAMIC_REFERENCE) {
7316 } else if (value.dataType == Res_value::TYPE_ATTRIBUTE) {
7318 } else if (value.dataType == Res_value::TYPE_DYNAMIC_ATTRIBUTE) {
7320 } else if (value.dataType == Res_value::TYPE_STRING) {
7336 } else if (value.dataType == Res_value::TYPE_FLOAT) {
7338 } else if (value.dataType == Res_value::TYPE_DIMENSION) {
7342 } else if (value.dataType == Res_value::TYPE_FRACTION) {
7346 } else if (value.dataType >= Res_value::TYPE_FIRST_COLOR_INT
7347 || value.dataType <= Res_value::TYPE_LAST_COLOR_INT) {
7349 } else if (value.dataType == Res_value::TYPE_INT_BOOLEAN) {
7351 } else if (value.dataType >= Res_value::TYPE_FIRST_INT
7352 || value.dataType <= Res_value::TYPE_LAST_INT) {
7568 const Res_value* valuePtr = NULL;
7570 Res_value value;
7575 valuePtr = (const Res_value*)