void CFGAS_FontMgr::GetNames(const uint8_t* name_table, CFX_WideStringArray& Names) { if (!name_table) return; uint8_t* lpTable = (uint8_t*)name_table; CFX_WideString wsFamily; uint8_t* sp = lpTable + 2; uint8_t* lpNameRecord = lpTable + 6; uint16_t nNameCount = GetUInt16(sp); uint8_t* lpStr = lpTable + GetUInt16(sp + 2); for (uint16_t j = 0; j < nNameCount; j++) { uint16_t nNameID = GetUInt16(lpNameRecord + j * 12 + 6); if (nNameID != 1) continue; uint16_t nPlatformID = GetUInt16(lpNameRecord + j * 12 + 0); uint16_t nNameLength = GetUInt16(lpNameRecord + j * 12 + 8); uint16_t nNameOffset = GetUInt16(lpNameRecord + j * 12 + 10); wsFamily.clear(); if (nPlatformID != 1) { for (uint16_t k = 0; k < nNameLength / 2; k++) { FX_WCHAR wcTemp = GetUInt16(lpStr + nNameOffset + k * 2); wsFamily += wcTemp; } Names.Add(wsFamily); continue; } for (uint16_t k = 0; k < nNameLength; k++) { FX_WCHAR wcTemp = GetUInt8(lpStr + nNameOffset + k); wsFamily += wcTemp; } Names.Add(wsFamily); } }
Value *GetDefaultValue(CodeGenerator *codegen, AstTypeNode *typeNode) { switch (typeNode->getTypeType()) { default: return nullptr; case node_boolean: return codegen->getBuilder().getFalse(); case node_float: return GetFloat(codegen, 0.0f); case node_double: return GetDouble(codegen, 0.0); case node_signed_integer8: return GetInt8(codegen, 0); case node_signed_integer16: return GetInt16(codegen, 0); case node_signed_integer32: return GetInt32(codegen, 0); case node_signed_integer64: return GetInt64(codegen, 0); case node_unsigned_integer8: return GetUInt8(codegen, 0); case node_unsigned_integer16: return GetUInt16(codegen, 0); case node_unsigned_integer32: return GetUInt32(codegen, 0); case node_unsigned_integer64: return GetUInt64(codegen, 0); case node_string: return GetString(codegen, ""); } }
void CMdbResult::GetNumber(void* v, register uint32 nFieldNo) { switch(GetType(nFieldNo)) { case MDB_INT8_FIELD: *(int8*)v = GetInt8(nFieldNo); break; case MDB_INT16_FIELD: *(int16*)v = GetInt16(nFieldNo); break; case MDB_INT32_FIELD: *(int32*)v = GetInt32(nFieldNo); break; case MDB_INT64_FIELD: *(int64*)v = GetInt64(nFieldNo); break; case MDB_UINT8_FIELD: *(uint8*)v = GetUInt8(nFieldNo); break; case MDB_UINT16_FIELD: *(uint16*)v = GetUInt16(nFieldNo); break; case MDB_UINT32_FIELD: *(uint32*)v = GetUInt32(nFieldNo); break; case MDB_UINT64_FIELD: *(uint64*)v = GetUInt64(nFieldNo); break; case MDB_FLOAT_FIELD: *(float*)v = GetFloat(nFieldNo); break; case MDB_DOUBLE_FIELD: case MDB_DATETIME_FIELD: *(double*)v = GetDouble(nFieldNo); break; case MDB_DATE_FIELD: case MDB_TIME_FIELD: *(int32*)v = GetInt32(nFieldNo); break; } }