src/hbcore/utils/hbxmlloaderbaseactions_p.cpp
changeset 30 80e4d18b72f5
parent 28 b7da29130b0e
equal deleted inserted replaced
28:b7da29130b0e 30:80e4d18b72f5
   335     return edge;
   335     return edge;
   336 }
   336 }
   337 #ifndef HB_BIN_CSS
   337 #ifndef HB_BIN_CSS
   338 bool HbXmlLoaderBaseActions::toPixels(const HbXmlLengthValue &lengthVal, qreal& result) const
   338 bool HbXmlLoaderBaseActions::toPixels(const HbXmlLengthValue &lengthVal, qreal& result) const
   339 {
   339 {
   340     bool retVal(true);
   340     return hbInstance->style()->d_func()->valueFromTokens(lengthVal.mValues, result, mCurrentProfile);
   341     switch (lengthVal.mType) {
       
   342         case HbXmlLengthValue::None:
       
   343             retVal = false;
       
   344             break;
       
   345         case HbXmlLengthValue::PlainNumber:
       
   346         case HbXmlLengthValue::Pixel:
       
   347             result = lengthVal.mValue;
       
   348             break;
       
   349         case HbXmlLengthValue::Unit:
       
   350             result = mCurrentProfile.unitValue() * lengthVal.mValue;
       
   351             break;
       
   352         case HbXmlLengthValue::Millimeter:
       
   353             result = mCurrentProfile.ppmValue() * lengthVal.mValue;
       
   354             break;
       
   355         case HbXmlLengthValue::Variable:
       
   356         case HbXmlLengthValue::VariableNegative:
       
   357             retVal = hbInstance->style()->d_func()->parameterFromHashValue(lengthVal.mHashValue, result, mCurrentProfile);
       
   358             if ( lengthVal.mType == HbXmlLengthValue::VariableNegative ) {
       
   359                 result *= -1.0;
       
   360             }
       
   361             break;
       
   362         case HbXmlLengthValue::Expression:
       
   363         case HbXmlLengthValue::ExpressionNegative:
       
   364             // HbStyle::parameter handles the negative case as the minus sign is part of mString.
       
   365             retVal = hbInstance->style()->parameter( lengthVal.mString, result, mCurrentProfile );
       
   366             break;
       
   367     }
       
   368     return retVal;
       
   369 }
   341 }
   370 #endif
   342 #endif
   371 
   343 
   372 
   344