add new platform_abstraction

add support of loading ttf file
This commit is contained in:
Jinhao
2017-04-26 08:04:25 +08:00
parent 4aba8e8c7f
commit 2ff8a1c729
42 changed files with 876 additions and 398 deletions

View File

@@ -1397,13 +1397,13 @@ namespace detail
{
auto & tabs = wd->root_widget->other.attribute.root->tabstop;
auto end = tabs.cend();
if (forward)
{
if (detail::tab_type::none == wd->flags.tab)
return (tabs.front());
else if (detail::tab_type::tabstop & wd->flags.tab)
{
auto end = tabs.cend();
auto i = std::find(tabs.cbegin(), end, wd);
if (i != end)
{
@@ -1417,8 +1417,8 @@ namespace detail
}
else if (tabs.size() > 1) //at least 2 elments in tabs are required when moving backward.
{
auto i = std::find(tabs.cbegin(), tabs.cend(), wd);
if (i != tabs.cend())
auto i = std::find(tabs.cbegin(), end, wd);
if (i != end)
return (tabs.cbegin() == i ? tabs.back() : *(i - 1));
}
return nullptr;
@@ -1729,7 +1729,7 @@ namespace detail
if (established)
{
utl::erase(pa_children, wd);
utl::erase(wd->parent->children, wd);
if (for_new->children.empty())
wd->index = 0;
else
@@ -1892,15 +1892,20 @@ namespace detail
if(!wd->visible)
return nullptr;
for(auto i = wd->children.rbegin(); i != wd->children.rend(); ++i)
if (!wd->children.empty())
{
core_window_t* child = *i;
if((child->other.category != category::flags::root) && _m_effective(child, pos))
auto index = wd->children.size();
do
{
child = _m_find(child, pos);
if(child)
return child;
}
auto child = wd->children[--index];
if ((child->other.category != category::flags::root) && _m_effective(child, pos))
{
child = _m_find(child, pos);
if (child)
return child;
}
} while (0 != index);
}
return wd;
}