X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali-toolkit%2Finternal%2Fbuilder%2Fbuilder-get-is.inl.h;h=01dab59ed653aa6c04781853ee98bfe195ad5edf;hb=946461ac1b49e996d9155c95130ec5aa1b08f77d;hp=61acd8512a9975967159d6611983c0cb5aac8682;hpb=f98c3e8556f4eb4e62be3e0a5bfddee1eeac5e40;p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git diff --git a/dali-toolkit/internal/builder/builder-get-is.inl.h b/dali-toolkit/internal/builder/builder-get-is.inl.h index 61acd85..01dab59 100644 --- a/dali-toolkit/internal/builder/builder-get-is.inl.h +++ b/dali-toolkit/internal/builder/builder-get-is.inl.h @@ -1,21 +1,22 @@ -#ifndef __DALI_TOOLKIT_INTERNAL_BUILDER_GET_IS_INL__ -#define __DALI_TOOLKIT_INTERNAL_BUILDER_GET_IS_INL__ - -// -// Copyright (c) 2014 Samsung Electronics Co., Ltd. -// -// Licensed under the Flora License, Version 1.0 (the License); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://floralicense.org/license/ -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an AS IS BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// +#ifndef DALI_TOOLKIT_INTERNAL_BUILDER_GET_IS_INL +#define DALI_TOOLKIT_INTERNAL_BUILDER_GET_IS_INL + +/* + * Copyright (c) 2019 Samsung Electronics Co., Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ // INTERNAL INCLUDES #include @@ -40,11 +41,36 @@ inline OptionalChild IsChild(const TreeNode* node, const std::string& childName) } } +inline OptionalChild IsChildIgnoreCase(const TreeNode* node, const std::string& childName) +{ + if( node ) + { + const TreeNode* c = node->GetChildIgnoreCase(childName); + if( NULL != c ) + { + return OptionalChild( *c ); + } + else + { + return OptionalChild(); + } + } + else + { + return OptionalChild(); + } +} + inline OptionalChild IsChild(const TreeNode& node, const std::string& childName) { return IsChild(&node, childName); } +inline OptionalChild IsChildIgnoreCase(const TreeNode& node, const std::string& childName) +{ + return IsChildIgnoreCase(&node, childName); +} + inline OptionalString IsString(const OptionalChild& node) { if( node && (*node).GetType() == TreeNode::STRING ) @@ -56,6 +82,7 @@ inline OptionalString IsString(const OptionalChild& node) return OptionalString(); } } + inline OptionalFloat IsFloat(const OptionalChild& node) { OptionalFloat ret; @@ -108,6 +135,7 @@ inline OptionalBoolean IsBoolean(const OptionalChild& node) } } + // copy N Numbers template inline bool CopyNumbers(TreeNode::ConstIterator iter, int N, T& vector) @@ -232,6 +260,24 @@ inline OptionalRect IsRect(const OptionalChild& node) return ret; } +inline OptionalExtents IsExtents(const OptionalChild& node) +{ + OptionalExtents extents; + if(node && (*node).Size()) + { + if((*node).Size() >= 4) + { + TreeNode::ConstIterator iter((*node).CBegin()); + int v[4]; + if( CopyNumbers((*node).CBegin(), 4, v) ) + { + extents = OptionalExtents(Dali::Extents(v[0], v[1], v[2], v[3])); + } + } + } + return extents; +} + // // // @@ -285,6 +331,11 @@ inline OptionalRect IsRect(const TreeNode &parent, const std::string& childName) return IsRect( IsChild(&parent, childName) ); } +inline OptionalExtents IsExtents(const TreeNode &parent, const std::string& childName) +{ + return IsExtents( IsChild(&parent, childName) ); +} + // // // @@ -338,6 +389,11 @@ inline OptionalRect IsRect(const TreeNode &node ) return IsRect( OptionalChild( node ) ); } +inline OptionalExtents IsExtents(const TreeNode &node ) +{ + return IsExtents( OptionalChild( node ) ); +} + // // // @@ -385,4 +441,4 @@ inline int GetInteger(const TreeNode &child) -#endif // __DALI_TOOLKIT_INTERNAL_BUILDER_GET_IS_INL__ +#endif // DALI_TOOLKIT_INTERNAL_BUILDER_GET_IS_INL