jdk/src/java.desktop/share/native/libfontmanager/layout/Lookups.cpp
changeset 35299 d5737dedc6df
parent 25859 3317bb8137f4
equal deleted inserted replaced
35298:9f93cbce8c44 35299:d5737dedc6df
    40 const LEReferenceTo<LookupTable> LookupListTable::getLookupTable(const LEReferenceTo<LookupListTable> &base, le_uint16 lookupTableIndex, LEErrorCode &success) const
    40 const LEReferenceTo<LookupTable> LookupListTable::getLookupTable(const LEReferenceTo<LookupListTable> &base, le_uint16 lookupTableIndex, LEErrorCode &success) const
    41 {
    41 {
    42   LEReferenceToArrayOf<Offset> lookupTableOffsetArrayRef(base, success, (const Offset*)&lookupTableOffsetArray, SWAPW(lookupCount));
    42   LEReferenceToArrayOf<Offset> lookupTableOffsetArrayRef(base, success, (const Offset*)&lookupTableOffsetArray, SWAPW(lookupCount));
    43 
    43 
    44   if(LE_FAILURE(success) || lookupTableIndex>lookupTableOffsetArrayRef.getCount()) {
    44   if(LE_FAILURE(success) || lookupTableIndex>lookupTableOffsetArrayRef.getCount()) {
       
    45     success = LE_INDEX_OUT_OF_BOUNDS_ERROR;
    45     return LEReferenceTo<LookupTable>();
    46     return LEReferenceTo<LookupTable>();
    46   } else {
    47   } else {
    47     return LEReferenceTo<LookupTable>(base, success, SWAPW(lookupTableOffsetArrayRef.getObject(lookupTableIndex, success)));
    48     return LEReferenceTo<LookupTable>(base, success, SWAPW(lookupTableOffsetArrayRef.getObject(lookupTableIndex, success)));
    48   }
    49   }
    49 }
    50 }
    51 const LEReferenceTo<LookupSubtable> LookupTable::getLookupSubtable(const LEReferenceTo<LookupTable> &base, le_uint16 subtableIndex, LEErrorCode &success) const
    52 const LEReferenceTo<LookupSubtable> LookupTable::getLookupSubtable(const LEReferenceTo<LookupTable> &base, le_uint16 subtableIndex, LEErrorCode &success) const
    52 {
    53 {
    53   LEReferenceToArrayOf<Offset> subTableOffsetArrayRef(base, success, (const Offset*)&subTableOffsetArray, SWAPW(subTableCount));
    54   LEReferenceToArrayOf<Offset> subTableOffsetArrayRef(base, success, (const Offset*)&subTableOffsetArray, SWAPW(subTableCount));
    54 
    55 
    55   if(LE_FAILURE(success) || subtableIndex>subTableOffsetArrayRef.getCount()) {
    56   if(LE_FAILURE(success) || subtableIndex>subTableOffsetArrayRef.getCount()) {
       
    57     success = LE_INDEX_OUT_OF_BOUNDS_ERROR;
    56     return LEReferenceTo<LookupSubtable>();
    58     return LEReferenceTo<LookupSubtable>();
    57   } else {
    59   } else {
    58     return LEReferenceTo<LookupSubtable>(base, success, SWAPW(subTableOffsetArrayRef.getObject(subtableIndex, success)));
    60     return LEReferenceTo<LookupSubtable>(base, success, SWAPW(subTableOffsetArrayRef.getObject(subtableIndex, success)));
    59   }
    61   }
    60 }
    62 }