From c6f8bf7b9f6b83b1d712632ccb0aa351d14defff Mon Sep 17 00:00:00 2001 From: omigamedev Date: Sat, 22 Sep 2018 23:21:39 +0200 Subject: [PATCH] update Xcode project, fix some warnings, update android icons, ignore unrecognized files in the doc browser --- PanoPainter.xcodeproj/project.pbxproj | 8 ++++++++ android/src/main/AndroidManifest.xml | 2 +- .../main/res/drawable-hdpi/ic_launcher.png | Bin 3640 -> 0 bytes .../main/res/drawable-ldpi/ic_launcher.png | Bin 1510 -> 0 bytes .../main/res/drawable-mdpi/ic_launcher.png | Bin 2022 -> 0 bytes .../main/res/drawable-xhdpi/ic_launcher.png | Bin 4505 -> 0 bytes .../src/main/res/mipmap-hdpi/ic_launcher.png | Bin 0 -> 3253 bytes .../src/main/res/mipmap-mdpi/ic_launcher.png | Bin 0 -> 2282 bytes .../src/main/res/mipmap-xhdpi/ic_launcher.png | Bin 0 -> 4986 bytes .../main/res/mipmap-xxhdpi/ic_launcher.png | Bin 0 -> 6512 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.png | Bin 0 -> 10365 bytes icon.png | Bin 22733 -> 12619 bytes src/app.cpp | 2 -- src/app.h | 1 - src/app_layout.cpp | 2 +- src/brush.cpp | 2 +- src/canvas.cpp | 14 +++++++------- src/canvas.h | 2 +- src/node.cpp | 6 ++++-- src/node_canvas.cpp | 3 +-- src/node_combobox.cpp | 2 ++ src/node_dialog_browse.cpp | 5 ++++- src/node_scroll.cpp | 2 +- src/shape.cpp | 2 +- src/texture.h | 2 +- 25 files changed, 33 insertions(+), 22 deletions(-) delete mode 100644 android/src/main/res/drawable-hdpi/ic_launcher.png delete mode 100644 android/src/main/res/drawable-ldpi/ic_launcher.png delete mode 100644 android/src/main/res/drawable-mdpi/ic_launcher.png delete mode 100644 android/src/main/res/drawable-xhdpi/ic_launcher.png create mode 100755 android/src/main/res/mipmap-hdpi/ic_launcher.png create mode 100755 android/src/main/res/mipmap-mdpi/ic_launcher.png create mode 100755 android/src/main/res/mipmap-xhdpi/ic_launcher.png create mode 100755 android/src/main/res/mipmap-xxhdpi/ic_launcher.png create mode 100755 android/src/main/res/mipmap-xxxhdpi/ic_launcher.png diff --git a/PanoPainter.xcodeproj/project.pbxproj b/PanoPainter.xcodeproj/project.pbxproj index 08b572d..8b7e7ac 100644 --- a/PanoPainter.xcodeproj/project.pbxproj +++ b/PanoPainter.xcodeproj/project.pbxproj @@ -106,6 +106,8 @@ AD3087C82061D1CD009F9260 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AD3087C72061D1CD009F9260 /* CoreGraphics.framework */; }; AD30D82F1F783E0100B6A112 /* libcurl.4.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = AD30D82E1F783E0100B6A112 /* libcurl.4.tbd */; }; AD30D8331F8049BD00B6A112 /* Photos.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AD30D8321F8049BC00B6A112 /* Photos.framework */; }; + AD4CEF142156B2C60097F4BD /* node_about.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD4CEF122156B2C50097F4BD /* node_about.cpp */; }; + AD4CEF152156B2DA0097F4BD /* node_about.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD4CEF122156B2C50097F4BD /* node_about.cpp */; }; AD5016591EBFC7F00079A826 /* data in Resources */ = {isa = PBXBuildFile; fileRef = AD58E0611E17F23D006ACC15 /* data */; }; AD74030F1FB9D0D3004ACFCC /* node_combobox.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD74030D1FB9D0C0004ACFCC /* node_combobox.cpp */; }; AD7403101FB9D0D4004ACFCC /* node_combobox.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD74030D1FB9D0C0004ACFCC /* node_combobox.cpp */; }; @@ -324,6 +326,8 @@ AD4C08D61E89BD0F0051D85F /* canvas.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = canvas.h; sourceTree = ""; }; AD4C08D71E89BD0F0051D85F /* rtt.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = rtt.cpp; sourceTree = ""; }; AD4C08D81E89BD0F0051D85F /* rtt.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = rtt.h; sourceTree = ""; }; + AD4CEF122156B2C50097F4BD /* node_about.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = node_about.cpp; sourceTree = ""; }; + AD4CEF132156B2C50097F4BD /* node_about.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = node_about.h; sourceTree = ""; }; AD58E0521E107411006ACC15 /* main.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.objcpp; path = main.cpp; sourceTree = ""; }; AD58E0591E10752E006ACC15 /* OpenGL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGL.framework; path = System/Library/Frameworks/OpenGL.framework; sourceTree = SDKROOT; }; AD58E05B1E107536006ACC15 /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = System/Library/Frameworks/Cocoa.framework; sourceTree = SDKROOT; }; @@ -524,6 +528,8 @@ AD3B1EBF1E3B8B7600E918E3 /* layout.h */, AD10637D1EC7ADFA002A525F /* node.cpp */, AD10637E1EC7ADFA002A525F /* node.h */, + AD4CEF122156B2C50097F4BD /* node_about.cpp */, + AD4CEF132156B2C50097F4BD /* node_about.h */, AD1063511EC7ADFA002A525F /* node_border.cpp */, AD1063521EC7ADFA002A525F /* node_border.h */, AD1063531EC7ADFA002A525F /* node_button_custom.cpp */, @@ -1141,6 +1147,7 @@ ADBC8C581FAFD05A0094B339 /* node_dialog_cloud.cpp in Sources */, AD0E5CC91ECC72AD00C35669 /* node_settings.cpp in Sources */, AD0E5CBB1ECC72AD00C35669 /* node_button.cpp in Sources */, + AD4CEF152156B2DA0097F4BD /* node_about.cpp in Sources */, AD0E5CD41ECC72AD00C35669 /* app_shaders.cpp in Sources */, AD0E5CD91ECC72AD00C35669 /* canvas.cpp in Sources */, ADE4911E1F86E65E00FB8E92 /* sweep_context.cc in Sources */, @@ -1223,6 +1230,7 @@ AD1063A81EC7AE92002A525F /* node_slider.cpp in Sources */, ADD7D2A21EBF9E1C00D5A897 /* util.cpp in Sources */, ADD7D2791EBF9AE300D5A897 /* GameViewController.m in Sources */, + AD4CEF142156B2C60097F4BD /* node_about.cpp in Sources */, ADD7D26F1EBF9AE300D5A897 /* main.m in Sources */, ADC0EB431FC36E88004079BB /* node_dialog_picker.cpp in Sources */, ADD7D2A01EBF9E1C00D5A897 /* image.cpp in Sources */, diff --git a/android/src/main/AndroidManifest.xml b/android/src/main/AndroidManifest.xml index c260002..79e4234 100644 --- a/android/src/main/AndroidManifest.xml +++ b/android/src/main/AndroidManifest.xml @@ -7,7 +7,7 @@ diff --git a/android/src/main/res/drawable-hdpi/ic_launcher.png b/android/src/main/res/drawable-hdpi/ic_launcher.png deleted file mode 100644 index da59fd19ca912036dadbeb2c6caff5062a7c853d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3640 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 Ef{5JJtpET3 diff --git a/android/src/main/res/drawable-xhdpi/ic_launcher.png b/android/src/main/res/drawable-xhdpi/ic_launcher.png deleted file mode 100644 index ee9b6ffc5816d5f06d581e2ac9b13c63b9bdc2c7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4505 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 Ef?Y|TegFUf literal 0 HcmV?d00001 diff --git a/android/src/main/res/mipmap-xxhdpi/ic_launcher.png b/android/src/main/res/mipmap-xxhdpi/ic_launcher.png new file mode 100755 index 0000000000000000000000000000000000000000..4536078498ff775d1796d81c76a31d8127f3c806 GIT binary patch literal 6512 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 bTfY5&CTTiE=D?dX00000NkvXXu0mjfbZjWN literal 0 HcmV?d00001 diff --git a/icon.png b/icon.png index 42965faf1ab0b7870a0a5035e880e24abe2bb85c..562e962de2db584940057792d6ee7179dd50b0d9 100644 GIT binary patch literal 12619 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 Pz@L-HOpj(CCg1));DhVT literal 22733 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 diff --git a/src/app.cpp b/src/app.cpp index 7f13bb3..7e5485f 100644 --- a/src/app.cpp +++ b/src/app.cpp @@ -103,8 +103,6 @@ void App::initAssets() LOG("initializing assets create sampler"); sampler.create(GL_NEAREST); LOG("initializing assets load uvs texture"); - if (!tex.load("data/uvs.jpg")) - LOG("error loading image"); LOG("initializing assets completed"); } diff --git a/src/app.h b/src/app.h index ec5b1c7..a9628e3 100644 --- a/src/app.h +++ b/src/app.h @@ -47,7 +47,6 @@ public: std::deque> rec_frames; Sampler sampler; - Texture2D tex; LayoutManager layout; NodeMessageBox* msgbox; NodeSettings* settings; diff --git a/src/app_layout.cpp b/src/app_layout.cpp index 43bca3d..3f77db9 100644 --- a/src/app_layout.cpp +++ b/src/app_layout.cpp @@ -752,7 +752,7 @@ void App::initLayout() } int current_layer = (int)glm::clamp( - floor(value * c.m_layers.size()), 1, c.m_layers.size() - 1); + floor(value * c.m_layers.size()), 1, (int)c.m_layers.size() - 1); auto l = layers->get_layer_at(current_layer); layers->handle_layer_selected(l); layers->handle_layer_opacity(l, 1.f); diff --git a/src/brush.cpp b/src/brush.cpp index 4f3f6ec..79c03e1 100644 --- a/src/brush.cpp +++ b/src/brush.cpp @@ -187,7 +187,7 @@ std::vector ui::Stroke::compute_samples() LOG("Invalid sample"); samples.push_back(s); } - return std::move(samples); + return samples; } bool ui::Stroke::has_sample() { diff --git a/src/canvas.cpp b/src/canvas.cpp index 7d55451..48c35c5 100644 --- a/src/canvas.cpp +++ b/src/canvas.cpp @@ -799,7 +799,7 @@ void ui::Canvas::layer_remove(int idx) // m_order index i--; m_layers.erase(m_layers.begin() + n); m_order.erase(m_order.begin() + idx); - m_current_layer_idx = m_order[std::min(m_layers.size() - 1, idx)]; + m_current_layer_idx = m_order[std::min((int)m_layers.size() - 1, idx)]; } void ui::Canvas::layer_order(int idx, int pos) // m_order index { @@ -1283,8 +1283,8 @@ void ui::Canvas::inject_xmp(std::string jpg_path) unsigned char* xmp_section = (unsigned char*)malloc(sizeof(xmp) + 4); xmp_section[0] = 0xff; xmp_section[1] = 0xe1; - xmp_section[2] = ((int)sizeof(xmp) + 2) >> 8; - xmp_section[3] = ((int)sizeof(xmp) + 2) >> 0; + xmp_section[2] = (uint8_t)((int)sizeof(xmp) + 2) >> 8; + xmp_section[3] = (uint8_t)((int)sizeof(xmp) + 2) >> 0; memcpy(xmp_section + 4, xmp, sizeof(xmp)); fwrite(jpeg_data, 1, i, fp); @@ -1843,7 +1843,7 @@ ui::Image ui::Canvas::thumbnail_generate(int w, int h) glClearColor(cc[0], cc[1], cc[2], cc[3]); glActiveTexture(GL_TEXTURE0); - return std::move(image); + return image; } ui::Image ui::Canvas::thumbnail_read(std::string data_path) @@ -1870,7 +1870,7 @@ ui::Image ui::Canvas::thumbnail_read(std::string data_path) fread((uint8_t*)thumb.data(), thumb.size(), 1, fp); fclose(fp); LOG("project thumbnail read from %s", data_path.c_str()); - return std::move(thumb); + return thumb; } void ui::Canvas::draw_objects(std::function observer, Layer& layer) @@ -2016,7 +2016,7 @@ std::vector ui::Canvas::triangulate(const std::vectorend ? nullptr : node->next; current->next = nullptr; } - LOG("poly %ld", outline.size()); + LOG("poly %zu", outline.size()); if (outline.size() > 2) { @@ -2101,7 +2101,7 @@ ui::Layer::Snapshot ui::Layer::snapshot(std::string data_path) //int ret = stbi_write_png(name, m_rtt[i].getWidth(), m_rtt[i].getHeight(), 4, snap.image[i].get(), m_rtt[i].stride()); } counter++; - return std::move(snap); + return snap; } void ui::Layer::clear(const glm::vec4& c) diff --git a/src/canvas.h b/src/canvas.h index 2335b8f..b8175eb 100644 --- a/src/canvas.h +++ b/src/canvas.h @@ -235,7 +235,7 @@ public: { } - virtual Action* get_redo() + virtual Action* get_redo() override { auto redo = m_canvas->create_action(m_layer_idx); return redo; diff --git a/src/node.cpp b/src/node.cpp index 705296c..a816f2f 100644 --- a/src/node.cpp +++ b/src/node.cpp @@ -157,7 +157,7 @@ kEventResult Node::on_event(Event* e) break; GestureEvent* ge = static_cast(e); bool inside = point_in_rect(ge->m_pos, m_clip); - bool inside_old = m_mouse_inside; + //bool inside_old = m_mouse_inside; m_mouse_inside = inside; if ((inside || m_mouse_captured) && handle_event(e) == kEventResult::Consumed) return kEventResult::Consumed; @@ -208,7 +208,9 @@ void Node::removed(Node* parent) const Node* Node::init_template(const char* id) { - const auto& m_template = static_cast((*m_manager)[const_hash(id)]->m_children[0].get()); + auto hid = const_hash(id); + Node* top = m_manager->get(hid); + Node* m_template = static_cast(top->m_children[0].get()); for (auto& c : m_template->m_children) { auto node = c->clone(); diff --git a/src/node_canvas.cpp b/src/node_canvas.cpp index c1bbbc1..36a5166 100644 --- a/src/node_canvas.cpp +++ b/src/node_canvas.cpp @@ -135,7 +135,7 @@ void NodeCanvas::draw() if (m_canvas->m_layers[layer_index].m_opacity == .0f) continue; - int z = (int)m_canvas->m_order.size() - i; + int z = (int)(m_canvas->m_order.size() - i); auto plane_mvp_z = proj * camera * glm::scale(glm::vec3(z + 1)) * glm::eulerAngleYXZ(yaw, pitch, roll) * @@ -362,7 +362,6 @@ void NodeCanvas::handle_resize(glm::vec2 old_size, glm::vec2 new_size) kEventResult NodeCanvas::handle_event(Event* e) { - static std::vector* old_mode = nullptr; Node::handle_event(e); MouseEvent* me = static_cast(e); KeyEvent* ke = static_cast(e); diff --git a/src/node_combobox.cpp b/src/node_combobox.cpp index f640226..af8813e 100644 --- a/src/node_combobox.cpp +++ b/src/node_combobox.cpp @@ -88,5 +88,7 @@ void NodeComboBox::parse_attributes(kAttribute ka, const tinyxml2::XMLAttribute* case kAttribute::Default: m_current_index = attr->IntValue(); break; + default: + break; } } diff --git a/src/node_dialog_browse.cpp b/src/node_dialog_browse.cpp index d8b3161..69d3bba 100644 --- a/src/node_dialog_browse.cpp +++ b/src/node_dialog_browse.cpp @@ -72,6 +72,10 @@ void NodeDialogBrowse::init_controls() auto names = Asset::list_files(data_path, false, ".*\\.ppi"); for (const auto& n : names) { + ui::Image thumb = ui::Canvas::I->thumbnail_read(data_path + "/" + n); + if (thumb.width == 0 || thumb.height == 0) + continue; + auto node = new NodeDialogBrowseItem; node->m_manager = m_manager; node->init(); @@ -90,7 +94,6 @@ void NodeDialogBrowse::init_controls() }; // load thumb - ui::Image thumb = ui::Canvas::I->thumbnail_read(node->m_path); auto image_tex = node->find("thumb-tex"); image_tex->tex.destroy(); image_tex->tex.create(thumb); diff --git a/src/node_scroll.cpp b/src/node_scroll.cpp index 050e0e8..5aa2d60 100644 --- a/src/node_scroll.cpp +++ b/src/node_scroll.cpp @@ -30,7 +30,7 @@ kEventResult NodeScroll::handle_event(Event* e) NodeBorder::handle_event(e); auto me = static_cast(e); auto ge = static_cast(e); - auto loc = (me->m_pos - m_pos) * root()->m_zoom; + //auto loc = (me->m_pos - m_pos) * root()->m_zoom; switch (e->m_type) { case kEventType::MouseDownL: diff --git a/src/shape.cpp b/src/shape.cpp index 948ac4f..51e1a63 100644 --- a/src/shape.cpp +++ b/src/shape.cpp @@ -293,7 +293,7 @@ bool ui::HeightmapPlane::create(float w, float h, const Image& img, float scale) // generate indices for (int y = 0; y <= div; y++) { - int i = y * (div + 1); + //int i = y * (div + 1); for (int x = 0; x <= div; x++) { if (x < div) diff --git a/src/texture.h b/src/texture.h index db1448c..430f8b9 100644 --- a/src/texture.h +++ b/src/texture.h @@ -15,7 +15,7 @@ public: void assign(GLuint tex, int w = -1, int h = -1, GLuint internal_format = GL_RGBA8, GLuint format = GL_RGBA); bool load(std::string filename); bool load_file(std::string filename); - void destroy() { if (m_tex) LOG("TEX destroy %d", m_tex); glDeleteTextures(1, &m_tex); } + void destroy() { if (m_tex) LOG("TEX destroy %d", m_tex); glDeleteTextures(1, &m_tex); m_tex = 0; } void bind() const { glBindTexture(GL_TEXTURE_2D, m_tex); } void unbind() const { glBindTexture(GL_TEXTURE_2D, 0); } void update(const uint8_t* data);