update windows project to add poly2tri
This commit is contained in:
@@ -521,7 +521,7 @@
|
|||||||
|
|
||||||
<button id="btn-line" width="50" height="100%" margin="0 0 0 5" text="Line"/>
|
<button id="btn-line" width="50" height="100%" margin="0 0 0 5" text="Line"/>
|
||||||
<button id="btn-grid" width="50" height="100%" margin="0 0 0 0" text="Grid"/>
|
<button id="btn-grid" width="50" height="100%" margin="0 0 0 0" text="Grid"/>
|
||||||
<button id="btn-fill" width="50" height="100%" margin="0 0 0 0" text="Fill"/>
|
<button id="btn-fill" width="50" height="100%" margin="0 0 0 0" text="Mask"/>
|
||||||
|
|
||||||
<button-custom id="btn-bucket" width="50" height="100%" margin="0 0 0 5" thickness="1" border-color="0 0 0 1" pad="2">
|
<button-custom id="btn-bucket" width="50" height="100%" margin="0 0 0 5" thickness="1" border-color="0 0 0 1" pad="2">
|
||||||
<image path="data/ui/bucket.png" width="100%" height="100%" align="center" justify="flex-end"/>
|
<image path="data/ui/bucket.png" width="100%" height="100%" align="center" justify="flex-end"/>
|
||||||
|
|||||||
@@ -76,7 +76,7 @@
|
|||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||||
<LinkIncremental>true</LinkIncremental>
|
<LinkIncremental>true</LinkIncremental>
|
||||||
<IncludePath>libs\glm;libs\glew-2.0.0\include;libs\stb;libs\tinyxml2;libs\yoga;libs\curl-win\include;libs\jpeg;libs\wacom;C:\Users\omar\Downloads\BugTrap-master\BugTrap-master\source\Client;$(IncludePath)</IncludePath>
|
<IncludePath>libs\glm;libs\glew-2.0.0\include;libs\stb;libs\tinyxml2;libs\yoga;libs\curl-win\include;libs\jpeg;libs\wacom;C:\Users\omar\Downloads\BugTrap-master\BugTrap-master\source\Client;libs\poly2tri\poly2tri;$(IncludePath)</IncludePath>
|
||||||
<LibraryPath>libs\curl-win\lib\dll-$(Configuration)-$(PlatformShortName);libs\glew-2.0.0\lib\Release\$(Platform);C:\Users\omar\Downloads\BugTrap-master\BugTrap-master\bin;$(LibraryPath)</LibraryPath>
|
<LibraryPath>libs\curl-win\lib\dll-$(Configuration)-$(PlatformShortName);libs\glew-2.0.0\lib\Release\$(Platform);C:\Users\omar\Downloads\BugTrap-master\BugTrap-master\bin;$(LibraryPath)</LibraryPath>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||||
@@ -86,7 +86,7 @@
|
|||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||||
<LinkIncremental>false</LinkIncremental>
|
<LinkIncremental>false</LinkIncremental>
|
||||||
<IncludePath>libs\glm;libs\glew-2.0.0\include;libs\stb;libs\tinyxml2;libs\yoga;libs\curl-win\include;libs\jpeg;libs\wacom;C:\Users\omar\Downloads\BugTrap-master\BugTrap-master\source\Client;$(IncludePath)</IncludePath>
|
<IncludePath>libs\glm;libs\glew-2.0.0\include;libs\stb;libs\tinyxml2;libs\yoga;libs\curl-win\include;libs\jpeg;libs\wacom;C:\Users\omar\Downloads\BugTrap-master\BugTrap-master\source\Client;libs\poly2tri\poly2tri;$(IncludePath)</IncludePath>
|
||||||
<LibraryPath>libs\curl-win\lib\dll-$(Configuration)-$(PlatformShortName);libs\glew-2.0.0\lib\Release\$(Platform);C:\Users\omar\Downloads\BugTrap-master\BugTrap-master\bin;$(LibraryPath)</LibraryPath>
|
<LibraryPath>libs\curl-win\lib\dll-$(Configuration)-$(PlatformShortName);libs\glew-2.0.0\lib\Release\$(Platform);C:\Users\omar\Downloads\BugTrap-master\BugTrap-master\bin;$(LibraryPath)</LibraryPath>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||||
@@ -234,6 +234,26 @@
|
|||||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">NotUsing</PrecompiledHeader>
|
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">NotUsing</PrecompiledHeader>
|
||||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">NotUsing</PrecompiledHeader>
|
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">NotUsing</PrecompiledHeader>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
|
<ClCompile Include="libs\poly2tri\poly2tri\common\shapes.cc">
|
||||||
|
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">NotUsing</PrecompiledHeader>
|
||||||
|
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">NotUsing</PrecompiledHeader>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="libs\poly2tri\poly2tri\sweep\advancing_front.cc">
|
||||||
|
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">NotUsing</PrecompiledHeader>
|
||||||
|
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">NotUsing</PrecompiledHeader>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="libs\poly2tri\poly2tri\sweep\cdt.cc">
|
||||||
|
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">NotUsing</PrecompiledHeader>
|
||||||
|
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">NotUsing</PrecompiledHeader>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="libs\poly2tri\poly2tri\sweep\sweep.cc">
|
||||||
|
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">NotUsing</PrecompiledHeader>
|
||||||
|
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">NotUsing</PrecompiledHeader>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="libs\poly2tri\poly2tri\sweep\sweep_context.cc">
|
||||||
|
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">NotUsing</PrecompiledHeader>
|
||||||
|
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">NotUsing</PrecompiledHeader>
|
||||||
|
</ClCompile>
|
||||||
<ClCompile Include="libs\tinyxml2\tinyxml2.cpp">
|
<ClCompile Include="libs\tinyxml2\tinyxml2.cpp">
|
||||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">NotUsing</PrecompiledHeader>
|
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">NotUsing</PrecompiledHeader>
|
||||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">NotUsing</PrecompiledHeader>
|
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">NotUsing</PrecompiledHeader>
|
||||||
|
|||||||
@@ -34,6 +34,9 @@
|
|||||||
<Filter Include="Source Files\libs\tinyxml2">
|
<Filter Include="Source Files\libs\tinyxml2">
|
||||||
<UniqueIdentifier>{6fe315aa-e2b9-4f01-8291-683a5fda123b}</UniqueIdentifier>
|
<UniqueIdentifier>{6fe315aa-e2b9-4f01-8291-683a5fda123b}</UniqueIdentifier>
|
||||||
</Filter>
|
</Filter>
|
||||||
|
<Filter Include="Source Files\libs\poly2tri">
|
||||||
|
<UniqueIdentifier>{bda6fa93-a186-41ca-9bd9-49b7e0fd1ca4}</UniqueIdentifier>
|
||||||
|
</Filter>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClCompile Include="engine\app.cpp">
|
<ClCompile Include="engine\app.cpp">
|
||||||
@@ -201,6 +204,21 @@
|
|||||||
<ClCompile Include="engine\app_dialogs.cpp">
|
<ClCompile Include="engine\app_dialogs.cpp">
|
||||||
<Filter>Source Files</Filter>
|
<Filter>Source Files</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
|
<ClCompile Include="libs\poly2tri\poly2tri\common\shapes.cc">
|
||||||
|
<Filter>Source Files\libs\poly2tri</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="libs\poly2tri\poly2tri\sweep\advancing_front.cc">
|
||||||
|
<Filter>Source Files\libs\poly2tri</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="libs\poly2tri\poly2tri\sweep\cdt.cc">
|
||||||
|
<Filter>Source Files\libs\poly2tri</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="libs\poly2tri\poly2tri\sweep\sweep.cc">
|
||||||
|
<Filter>Source Files\libs\poly2tri</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="libs\poly2tri\poly2tri\sweep\sweep_context.cc">
|
||||||
|
<Filter>Source Files\libs\poly2tri</Filter>
|
||||||
|
</ClCompile>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClInclude Include="engine\app.h">
|
<ClInclude Include="engine\app.h">
|
||||||
|
|||||||
@@ -140,7 +140,7 @@ bool App::key_down(kKey key)
|
|||||||
e.m_type = kEventType::KeyDown;
|
e.m_type = kEventType::KeyDown;
|
||||||
e.m_key = key;
|
e.m_key = key;
|
||||||
auto ret = layout[main_id]->on_event(&e);
|
auto ret = layout[main_id]->on_event(&e);
|
||||||
layout[main_id]->update();
|
//layout[main_id]->update();
|
||||||
return ret == kEventResult::Consumed;
|
return ret == kEventResult::Consumed;
|
||||||
}
|
}
|
||||||
bool App::key_up(kKey key)
|
bool App::key_up(kKey key)
|
||||||
|
|||||||
@@ -248,7 +248,7 @@ void App::init_toolbar_draw()
|
|||||||
layout[main_id]->find<NodeButton>("btn-line")->set_color(color_button_normal);
|
layout[main_id]->find<NodeButton>("btn-line")->set_color(color_button_normal);
|
||||||
layout[main_id]->find<NodeButton>("btn-cam")->set_color(color_button_normal);
|
layout[main_id]->find<NodeButton>("btn-cam")->set_color(color_button_normal);
|
||||||
layout[main_id]->find<NodeButton>("btn-grid")->set_color(color_button_normal);
|
layout[main_id]->find<NodeButton>("btn-grid")->set_color(color_button_normal);
|
||||||
//layout[main_id]->find<NodeButton>("btn-fill")->set_color(color_button_normal);
|
layout[main_id]->find<NodeButton>("btn-fill")->set_color(color_button_normal);
|
||||||
Canvas::set_mode(Canvas::kCanvasMode::Draw);
|
Canvas::set_mode(Canvas::kCanvasMode::Draw);
|
||||||
};
|
};
|
||||||
layout[main_id]->find<NodeButton>("btn-pen")->set_color(color_button_hlight);
|
layout[main_id]->find<NodeButton>("btn-pen")->set_color(color_button_hlight);
|
||||||
@@ -278,7 +278,7 @@ void App::init_toolbar_draw()
|
|||||||
layout[main_id]->find<NodeButton>("btn-line")->set_color(color_button_normal);
|
layout[main_id]->find<NodeButton>("btn-line")->set_color(color_button_normal);
|
||||||
layout[main_id]->find<NodeButton>("btn-cam")->set_color(color_button_normal);
|
layout[main_id]->find<NodeButton>("btn-cam")->set_color(color_button_normal);
|
||||||
layout[main_id]->find<NodeButton>("btn-grid")->set_color(color_button_normal);
|
layout[main_id]->find<NodeButton>("btn-grid")->set_color(color_button_normal);
|
||||||
//layout[main_id]->find<NodeButton>("btn-fill")->set_color(color_button_normal);
|
layout[main_id]->find<NodeButton>("btn-fill")->set_color(color_button_normal);
|
||||||
Canvas::set_mode(Canvas::kCanvasMode::Erase);
|
Canvas::set_mode(Canvas::kCanvasMode::Erase);
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
@@ -290,7 +290,7 @@ void App::init_toolbar_draw()
|
|||||||
layout[main_id]->find<NodeButton>("btn-line")->set_color(color_button_hlight);
|
layout[main_id]->find<NodeButton>("btn-line")->set_color(color_button_hlight);
|
||||||
layout[main_id]->find<NodeButton>("btn-cam")->set_color(color_button_normal);
|
layout[main_id]->find<NodeButton>("btn-cam")->set_color(color_button_normal);
|
||||||
layout[main_id]->find<NodeButton>("btn-grid")->set_color(color_button_normal);
|
layout[main_id]->find<NodeButton>("btn-grid")->set_color(color_button_normal);
|
||||||
//layout[main_id]->find<NodeButton>("btn-fill")->set_color(color_button_normal);
|
layout[main_id]->find<NodeButton>("btn-fill")->set_color(color_button_normal);
|
||||||
Canvas::set_mode(Canvas::kCanvasMode::Line);
|
Canvas::set_mode(Canvas::kCanvasMode::Line);
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
@@ -302,7 +302,7 @@ void App::init_toolbar_draw()
|
|||||||
layout[main_id]->find<NodeButton>("btn-line")->set_color(color_button_normal);
|
layout[main_id]->find<NodeButton>("btn-line")->set_color(color_button_normal);
|
||||||
layout[main_id]->find<NodeButton>("btn-cam")->set_color(color_button_hlight);
|
layout[main_id]->find<NodeButton>("btn-cam")->set_color(color_button_hlight);
|
||||||
layout[main_id]->find<NodeButton>("btn-grid")->set_color(color_button_normal);
|
layout[main_id]->find<NodeButton>("btn-grid")->set_color(color_button_normal);
|
||||||
//layout[main_id]->find<NodeButton>("btn-fill")->set_color(color_button_normal);
|
layout[main_id]->find<NodeButton>("btn-fill")->set_color(color_button_normal);
|
||||||
Canvas::set_mode(Canvas::kCanvasMode::Camera);
|
Canvas::set_mode(Canvas::kCanvasMode::Camera);
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
@@ -314,7 +314,7 @@ void App::init_toolbar_draw()
|
|||||||
layout[main_id]->find<NodeButton>("btn-line")->set_color(color_button_normal);
|
layout[main_id]->find<NodeButton>("btn-line")->set_color(color_button_normal);
|
||||||
layout[main_id]->find<NodeButton>("btn-cam")->set_color(color_button_normal);
|
layout[main_id]->find<NodeButton>("btn-cam")->set_color(color_button_normal);
|
||||||
layout[main_id]->find<NodeButton>("btn-grid")->set_color(color_button_hlight);
|
layout[main_id]->find<NodeButton>("btn-grid")->set_color(color_button_hlight);
|
||||||
//layout[main_id]->find<NodeButton>("btn-fill")->set_color(color_button_normal);
|
layout[main_id]->find<NodeButton>("btn-fill")->set_color(color_button_normal);
|
||||||
Canvas::set_mode(Canvas::kCanvasMode::Grid);
|
Canvas::set_mode(Canvas::kCanvasMode::Grid);
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
@@ -326,7 +326,7 @@ void App::init_toolbar_draw()
|
|||||||
layout[main_id]->find<NodeButton>("btn-line")->set_color(color_button_normal);
|
layout[main_id]->find<NodeButton>("btn-line")->set_color(color_button_normal);
|
||||||
layout[main_id]->find<NodeButton>("btn-cam")->set_color(color_button_normal);
|
layout[main_id]->find<NodeButton>("btn-cam")->set_color(color_button_normal);
|
||||||
layout[main_id]->find<NodeButton>("btn-grid")->set_color(color_button_normal);
|
layout[main_id]->find<NodeButton>("btn-grid")->set_color(color_button_normal);
|
||||||
//layout[main_id]->find<NodeButton>("btn-fill")->set_color(color_button_hlight);
|
layout[main_id]->find<NodeButton>("btn-fill")->set_color(color_button_hlight);
|
||||||
Canvas::set_mode(Canvas::kCanvasMode::Fill);
|
Canvas::set_mode(Canvas::kCanvasMode::Fill);
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -572,7 +572,7 @@ void CanvasModeFill::on_Draw(const glm::mat4& ortho, const glm::mat4& proj, cons
|
|||||||
{
|
{
|
||||||
ui::ShaderManager::use(ui::kShader::Color);
|
ui::ShaderManager::use(ui::kShader::Color);
|
||||||
ui::ShaderManager::u_mat4(ui::kShaderUniform::MVP, glm::scale(glm::vec3(1,-1,1)) * ortho);
|
ui::ShaderManager::u_mat4(ui::kShaderUniform::MVP, glm::scale(glm::vec3(1,-1,1)) * ortho);
|
||||||
ui::ShaderManager::u_vec4(ui::kShaderUniform::Col, { node->m_brush.m_tip_color.rgb(), node->m_brush.m_tip_opacity });
|
ui::ShaderManager::u_vec4(ui::kShaderUniform::Col, { 0, 0, 0, 1 });
|
||||||
m_dragging ? m_shape.draw_stroke() : m_shape.draw_fill();
|
m_dragging ? m_shape.draw_stroke() : m_shape.draw_fill();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -288,7 +288,7 @@ int main(int argc, char** argv)
|
|||||||
while (running)
|
while (running)
|
||||||
{
|
{
|
||||||
// If there any message in the queue process it
|
// If there any message in the queue process it
|
||||||
if (!App::I.redraw && PeekMessage(&msg, 0, 0, 0, PM_REMOVE))
|
if (PeekMessage(&msg, 0, 0, 0, PM_REMOVE))
|
||||||
{
|
{
|
||||||
running = !(msg.message == WM_QUIT/* || gl.keys[VK_ESCAPE]*/);
|
running = !(msg.message == WM_QUIT/* || gl.keys[VK_ESCAPE]*/);
|
||||||
DispatchMessage(&msg);
|
DispatchMessage(&msg);
|
||||||
@@ -308,10 +308,10 @@ int main(int argc, char** argv)
|
|||||||
SwapBuffers(hDC);
|
SwapBuffers(hDC);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
// else
|
||||||
{
|
// {
|
||||||
Sleep((DWORD)(1.0f / 60.0f * 1000.f));
|
// Sleep((DWORD)(1.0f / 60.0f * 1000.f));
|
||||||
}
|
// }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -368,11 +368,11 @@ LRESULT CALLBACK WndProc(HWND hWnd, UINT msg, WPARAM wp, LPARAM lp)
|
|||||||
App::I.key_up(convert_key((int)wp));
|
App::I.key_up(convert_key((int)wp));
|
||||||
break;
|
break;
|
||||||
case WM_CHAR:
|
case WM_CHAR:
|
||||||
App::I.key_char((int)wp);
|
//App::I.key_char((int)wp);
|
||||||
break;
|
break;
|
||||||
case WM_MOUSEMOVE:
|
case WM_MOUSEMOVE:
|
||||||
//TODO: find a way to check if event is mouse/stylus. For now use Mouse for all
|
//TODO: find a way to check if event is mouse/stylus. For now use Mouse for all
|
||||||
if (leftDown)
|
if (0 && leftDown)
|
||||||
{
|
{
|
||||||
POINT pt = { GET_X_LPARAM(lp), GET_Y_LPARAM(lp) };
|
POINT pt = { GET_X_LPARAM(lp), GET_Y_LPARAM(lp) };
|
||||||
// See discussion for why this code is wrong
|
// See discussion for why this code is wrong
|
||||||
@@ -382,6 +382,14 @@ LRESULT CALLBACK WndProc(HWND hWnd, UINT msg, WPARAM wp, LPARAM lp)
|
|||||||
int cmmpt = GetMouseMovePointsEx(sizeof(mmpt), &mmpt,
|
int cmmpt = GetMouseMovePointsEx(sizeof(mmpt), &mmpt,
|
||||||
rgmmpt, 64, GMMP_USE_DISPLAY_POINTS);
|
rgmmpt, 64, GMMP_USE_DISPLAY_POINTS);
|
||||||
|
|
||||||
|
if (cmmpt == -1 || cmmpt == 64)
|
||||||
|
{
|
||||||
|
App::I.mouse_move((float)GET_X_LPARAM(lp), (float)GET_Y_LPARAM(lp), WacomTablet::I.get_pressure(), kEventSource::Mouse);
|
||||||
|
lastPoint = pt;
|
||||||
|
lastTime = GetMessageTime();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
POINT ptLastScreen = lastPoint;
|
POINT ptLastScreen = lastPoint;
|
||||||
ClientToScreen(hWnd, &ptLastScreen);
|
ClientToScreen(hWnd, &ptLastScreen);
|
||||||
int i;
|
int i;
|
||||||
@@ -389,6 +397,7 @@ LRESULT CALLBACK WndProc(HWND hWnd, UINT msg, WPARAM wp, LPARAM lp)
|
|||||||
{
|
{
|
||||||
if (rgmmpt[i].x > 32767) rgmmpt[i].x -= 65536;
|
if (rgmmpt[i].x > 32767) rgmmpt[i].x -= 65536;
|
||||||
if (rgmmpt[i].y > 32767) rgmmpt[i].y -= 65536;
|
if (rgmmpt[i].y > 32767) rgmmpt[i].y -= 65536;
|
||||||
|
LOG("x %4d y %4d", rgmmpt[i].x, rgmmpt[i].y);
|
||||||
|
|
||||||
if (rgmmpt[i].time < lastTime) break;
|
if (rgmmpt[i].time < lastTime) break;
|
||||||
if (rgmmpt[i].time == lastTime &&
|
if (rgmmpt[i].time == lastTime &&
|
||||||
|
|||||||
@@ -50,31 +50,36 @@ kEventResult Node::on_event(Event* e)
|
|||||||
{
|
{
|
||||||
kEventResult ret = kEventResult::Available;
|
kEventResult ret = kEventResult::Available;
|
||||||
|
|
||||||
if (current_mouse_capture)
|
if (e->m_cat == kEventCategory::MouseEvent)
|
||||||
return current_mouse_capture->on_event(e);
|
|
||||||
|
|
||||||
bool skip_children = false;
|
|
||||||
skip_children |= (e->m_cat == kEventCategory::MouseEvent || e->m_cat == kEventCategory::GestureEvent) &&
|
|
||||||
(m_mouse_captured) && (root()->current_mouse_capture == this) && m_capture_children;
|
|
||||||
|
|
||||||
if (!skip_children)
|
|
||||||
{
|
{
|
||||||
for (auto it = m_children.rbegin(); it != m_children.rend(); ++it)
|
|
||||||
{
|
{
|
||||||
if ((*it)->on_event(e) == kEventResult::Consumed)
|
if (current_mouse_capture)
|
||||||
|
return current_mouse_capture->on_event(e);
|
||||||
|
|
||||||
|
bool skip_children = false;
|
||||||
|
skip_children |= (e->m_cat == kEventCategory::MouseEvent || e->m_cat == kEventCategory::GestureEvent) &&
|
||||||
|
(m_mouse_captured) && (root()->current_mouse_capture == this) && m_capture_children;
|
||||||
|
|
||||||
|
if (!skip_children)
|
||||||
{
|
{
|
||||||
if (m_flood_events)
|
for (auto it = m_children.rbegin(); it != m_children.rend(); ++it)
|
||||||
{
|
{
|
||||||
ret = kEventResult::Consumed;
|
if ((*it)->on_event(e) == kEventResult::Consumed)
|
||||||
}
|
{
|
||||||
else
|
if (m_flood_events)
|
||||||
{
|
{
|
||||||
return kEventResult::Consumed;
|
ret = kEventResult::Consumed;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return kEventResult::Consumed;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
if (ret == kEventResult::Consumed)
|
||||||
|
return ret;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (ret == kEventResult::Consumed)
|
|
||||||
return ret;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
switch (e->m_cat)
|
switch (e->m_cat)
|
||||||
|
|||||||
Reference in New Issue
Block a user