From ab9767556f8d261979c5e3b2e7df61ed380ce283 Mon Sep 17 00:00:00 2001 From: omigamedev Date: Thu, 16 May 2019 17:02:20 +0200 Subject: [PATCH] fix quick panel color slots, remove RGBA float framebuffers, disable merge framebuffers --- data/layout.xml | 2 +- src/app_layout.cpp | 2 +- src/canvas.cpp | 36 ++++++++++++++++++------------------ src/node_canvas.cpp | 12 ++++++------ src/node_panel_quick.cpp | 9 +++++---- 5 files changed, 31 insertions(+), 30 deletions(-) diff --git a/data/layout.xml b/data/layout.xml index 8c9ecee..76c1ee4 100644 --- a/data/layout.xml +++ b/data/layout.xml @@ -1634,7 +1634,7 @@ Here's a list of what's available in this release. - + diff --git a/src/app_layout.cpp b/src/app_layout.cpp index bd817ef..8d43c2c 100644 --- a/src/app_layout.cpp +++ b/src/app_layout.cpp @@ -1082,7 +1082,7 @@ void App::brush_update() quick->m_slider_size->set_value(stroke->m_tip_size->get_value()); *quick->m_button_brush_current_preview->m_brush = *Canvas::I->m_current_brush; quick->m_button_brush_current_preview->draw_stroke(); - quick->m_button_color_current_inner->m_color = Canvas::I->m_current_brush->m_tip_color; + //quick->m_button_color_current_inner->m_color = Canvas::I->m_current_brush->m_tip_color; if (floating_picker) floating_picker->set_color(Canvas::I->m_current_brush->m_tip_color); if (floating_color) diff --git a/src/canvas.cpp b/src/canvas.cpp index cc7c134..4dc4d60 100644 --- a/src/canvas.cpp +++ b/src/canvas.cpp @@ -1356,23 +1356,23 @@ void Canvas::resize(int width, int height) m_size = { width, height }; for (int i = 0; i < 6; i++) { -#if defined(__IOS__) || defined(__ANDROID__) +//#if defined(__IOS__) || defined(__ANDROID__) m_tmp[i].create(width, height, -1, GL_RGBA8); m_tmp_dual[i].create(width, height, -1, GL_RGBA8); m_tex[i].create(width, height, GL_RGBA8); -#else - m_tmp[i].create(width, height, -1, GL_RGBA32F); - m_tmp_dual[i].create(width, height, -1, GL_RGBA32F); - m_tex[i].create(width, height, GL_RGBA32F); -#endif +//#else +// m_tmp[i].create(width, height, -1, GL_RGBA32F); +// m_tmp_dual[i].create(width, height, -1, GL_RGBA32F); +// m_tex[i].create(width, height, GL_RGBA32F); +//#endif m_tex2[i].create(width, height, GL_RGBA8); } m_layers_merge.resize(width, height); for (auto& l : m_layers) l->resize(width, height); m_smask.create(width, height, "mask"); - m_merge_rtt.create(width, height); - m_merge_tex.create(width, height); + //m_merge_rtt.create(width, height); + //m_merge_tex.create(width, height); m_unsaved = true; } @@ -1390,8 +1390,8 @@ void Canvas::destroy() l->destroy(); m_smask.destroy(); m_mixer.destroy(); - m_merge_rtt.destroy(); - m_merge_tex.destroy(); + //m_merge_rtt.destroy(); + //m_merge_tex.destroy(); } bool Canvas::create(int width, int height) @@ -1401,15 +1401,15 @@ bool Canvas::create(int width, int height) m_size = { width, height }; for (int i = 0; i < 6; i++) { -#if defined(__IOS__) || defined(__ANDROID__) +//#if defined(__IOS__) || defined(__ANDROID__) m_tmp[i].create(width, height, -1, GL_RGBA8); m_tmp_dual[i].create(width, height, -1, GL_RGBA8); m_tex[i].create(width, height, GL_RGBA8); -#else - m_tmp[i].create(width, height, -1, GL_RGBA32F); - m_tmp_dual[i].create(width, height, -1, GL_RGBA32F); - m_tex[i].create(width, height, GL_RGBA32F); -#endif +//#else +// m_tmp[i].create(width, height, -1, GL_RGBA32F); +// m_tmp_dual[i].create(width, height, -1, GL_RGBA32F); +// m_tex[i].create(width, height, GL_RGBA32F); +//#endif m_tex2[i].create(width, height, GL_RGBA8); } #if defined(__IOS__) || defined(__ANDROID__) @@ -1437,8 +1437,8 @@ bool Canvas::create(int width, int height) l->create(width, height, ""); m_smask.create(width, height, "mask"); //m_smask.clear({1, 1, 1, 1}); - m_merge_rtt.create(width, height); - m_merge_tex.create(width, height); + //m_merge_rtt.create(width, height); + //m_merge_tex.create(width, height); m_unsaved = true; draw_merge(); return true; diff --git a/src/node_canvas.cpp b/src/node_canvas.cpp index 14a1a83..025bdf0 100644 --- a/src/node_canvas.cpp +++ b/src/node_canvas.cpp @@ -492,13 +492,13 @@ void NodeCanvas::handle_resize(glm::vec2 old_size, glm::vec2 new_size) { // actual screen size //new_size = new_size * root()->m_zoom; -#if defined(__IOS__) || defined(__ANDROID__) +//#if defined(__IOS__) || defined(__ANDROID__) +// m_canvas->m_mixer.create((int)new_size.x * m_canvas->m_mixer_scale, +// (int)new_size.y * m_canvas->m_mixer_scale, -1, GL_RGBA16F); +//#else m_canvas->m_mixer.create((int)new_size.x * m_canvas->m_mixer_scale, - (int)new_size.y * m_canvas->m_mixer_scale, -1, GL_RGBA16F); -#else - m_canvas->m_mixer.create((int)new_size.x * m_canvas->m_mixer_scale, - (int)new_size.y * m_canvas->m_mixer_scale, -1, GL_RGBA32F); -#endif + (int)new_size.y * m_canvas->m_mixer_scale, -1, GL_RGBA8); +//#endif m_blender_rtt.create((int)new_size.x, (int)new_size.y, -1, GL_RGBA8); m_cache_rtt.create((int)new_size.x, (int)new_size.y, -1, GL_RGBA8); m_rtt.create((int)new_size.x, (int)new_size.y, -1, GL_RGBA8); diff --git a/src/node_panel_quick.cpp b/src/node_panel_quick.cpp index 2c0b139..394299b 100644 --- a/src/node_panel_quick.cpp +++ b/src/node_panel_quick.cpp @@ -70,7 +70,7 @@ NodePanelQuick::MiniState NodePanelQuick::get_state() const for (int i = 0; i < 3; i++) { s.brushes[i] = static_cast(m_button_brushes[i]->m_children[0].get())->m_brush; - s.colors[i] = static_cast(m_button_color_current->m_children[0].get())->m_color; + s.colors[i] = static_cast(m_button_colors[i]->m_children[0].get())->m_color; } return s; } @@ -82,7 +82,7 @@ void NodePanelQuick::set_state(const MiniState& state, bool fire_event /*= false auto b = static_cast(m_button_brushes[i]->m_children[0].get()); b->m_brush = state.brushes[i]; b->draw_stroke(); - auto c = static_cast(m_button_color_current->m_children[0].get()); + auto c = static_cast(m_button_colors[i]->m_children[0].get()); c->m_color = state.colors[i]; } set_selected_color_index(state.color_index, fire_event); @@ -97,9 +97,10 @@ void NodePanelQuick::reset_state(bool fire_event /*= false*/) b->m_brush = std::make_shared(); b->m_brush->load_tip("data/brushes/Round-Hard.png", "data/brushes/thumbs/Round-Hard.png"); b->draw_stroke(); - auto c = static_cast(m_button_color_current->m_children[0].get()); - c->m_color = glm::vec4(0, 0, 0, 1); } + static_cast(m_button_colors[0]->m_children[0].get())->m_color = glm::vec4(0, 0, 0, 1); + static_cast(m_button_colors[1]->m_children[0].get())->m_color = glm::vec4(.5, .5, .5, 1); + static_cast(m_button_colors[2]->m_children[0].get())->m_color = glm::vec4(1, 1, 1, 1); set_selected_brush_index(0, fire_event); set_selected_color_index(0, fire_event); }