Hello community, here is the log from the commit of package libmlt for openSUSE:Factory checked in at 2020-02-18 13:29:23 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/libmlt (Old) and /work/SRC/openSUSE:Factory/.libmlt.new.26092 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libmlt" Tue Feb 18 13:29:23 2020 rev:48 rq:775047 version:6.20.0 Changes: -------- --- /work/SRC/openSUSE:Factory/libmlt/libmlt.changes 2019-11-21 12:59:47.014507241 +0100 +++ /work/SRC/openSUSE:Factory/.libmlt.new.26092/libmlt.changes 2020-02-18 13:29:24.416702695 +0100 @@ -1,0 +2,60 @@ +Mon Feb 17 11:48:34 UTC 2020 - Luigi Baldoni <[email protected]> + +- Update to version 6.20.0 + Framework + * Added consumer scaling: + + mlt_profile_scale_width() + + mlt_profile_scale_height() + + Mlt::Profile::scale_width() + + Mlt::Profile::scale_height() + + support for a double "scale" property to melt and the xml + producer + * Fixed mlt_properties_set() with an invalid expression. + * Added new functions that do not evaluate expressions: + + mlt_properties_set_string() + + Mlt::Properties::set_string() + * Improved the service-caching heuristic in mlt_multitrack. + * Fixed possible crashes in mlt_playlist get_frame() and + mlt_filter_process(). + Modules + * Added the rubberband module with a rbpitch filter. + * Added pitch compensation to timewarp producer. + * Added the invert_scale property to the affine filter and + transition. + * Added the reverse property to shape filter. + * Added support for text keyframes to the text and qtext + filters. + * Added support for the CSRT and MOSSE algorithms in + opencv.tracker filter. + * Fixed a crash on empty algo property in the opencv.tracker + filter. + * Changed vorbis module to no longer be deprecated. + * Improved colorspace conversions in the avformat module. + * Fixed audio artifacts on initial seek to in point in + avformat producer. + * Fixed the colorspace of the cached image in avformat + producer. + * Fixed white video flashes on property changes in the qtext + filter. + * Fixed a crash in the rotoscoping filter with large spline + deviations. + * Fixed a crash in the sdi consumer if the driver is not + loaded. + * Improved support for a video clip as luma producer to the + luma transition. + * Fixed a crash in the matte transition. + * Fixed a crash when using invert property =1 in the composite + transition. + Other + * Added more avformat consumer presets: + + intermediate/DNxHR-HQ + + intermediate/ProRes HQ + + ALAC + + FLAC + * Fixed some parameters in the XDCAM and D10 avformat + presets. + * Fixed link failure on some CPU architectures. + +- Refreshed libmlt-fixluma.patch + +------------------------------------------------------------------- --- /work/SRC/openSUSE:Factory/libmlt/webvfx.changes 2019-11-21 12:59:47.958506950 +0100 +++ /work/SRC/openSUSE:Factory/.libmlt.new.26092/webvfx.changes 2020-02-18 13:29:24.660703170 +0100 @@ -1,0 +2,23 @@ +Mon Feb 17 11:39:18 UTC 2020 - Luigi Baldoni <[email protected]> + +- Update to version 1.2.0 + * This version adds support for MLT v6.20.0's preview + scaling. + * For the MLT integration, if the resource starts with + "plain:" webvfx does automatic scaling per the zoom level. + This works fine for content that is simply produced or + overlayed by the filter. However, content that uses the + webvfx JavaScript extension will not operate with zoom + unless the service property mlt_resolution_scale is set to + 1. + New properties mlt_profile_scale_width and + mlt_profile_scale_height as real numbers that reflect the + new MLT consumer scale property used to do low-res preview + scaling. Content script can access this via + webvfx.getNumberParameter() to scale its parameters and + elements. + +- Refreshed webvfx-versioned-libdir.patch and + webvfx-nobrowser.patch + +------------------------------------------------------------------- Old: ---- mlt-6.18.0.tar.gz webvfx-1.1.0.tar.gz New: ---- mlt-6.20.0.tar.gz webvfx-1.2.0.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ libmlt.spec ++++++ --- /var/tmp/diff_new_pack.xld5LX/_old 2020-02-18 13:29:25.412704632 +0100 +++ /var/tmp/diff_new_pack.xld5LX/_new 2020-02-18 13:29:25.416704639 +0100 @@ -1,7 +1,7 @@ # # spec file for package libmlt # -# Copyright (c) 2019 SUSE LLC. +# Copyright (c) 2020 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -21,14 +21,14 @@ %define _name mlt %define libname lib%{_name} -%define lversion 6.18.0 +%define lversion 6.20.0 %define soname 6 %define _name_pp %{_name}++ %define libname_pp lib%{_name_pp} %define soname_pp 3 Name: %{libname} -Version: 6.18.0 +Version: 6.20.0 Release: 0 Summary: Multimedia framework for television broadcasting License: GPL-3.0-or-later ++++++ webvfx.spec ++++++ --- /var/tmp/diff_new_pack.xld5LX/_old 2020-02-18 13:29:25.436704679 +0100 +++ /var/tmp/diff_new_pack.xld5LX/_new 2020-02-18 13:29:25.436704679 +0100 @@ -1,7 +1,7 @@ # # spec file for package webvfx # -# Copyright (c) 2019 SUSE LLC. +# Copyright (c) 2020 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -17,14 +17,14 @@ %define _name mlt -%define mltversion 6.18.0 -%define mltsoversion 6.18.0 +%define mltversion 6.20.0 +%define mltsoversion 6.20.0 %define sover 1 %define mltmaj %(echo %{mltversion} |cut -d "." -f 1) # Find qt version used to build %define qt5version %(pkg-config --modversion Qt5Core) Name: webvfx -Version: 1.1.0 +Version: 1.2.0 Release: 0 Summary: Video effects engine based on web technologies License: BSD-3-Clause @@ -47,8 +47,8 @@ BuildRequires: pkgconfig(Qt5OpenGL) BuildRequires: pkgconfig(Qt5WebKitWidgets) BuildRequires: pkgconfig(Qt5WebSockets) -BuildRequires: pkgconfig(mlt++) -BuildRequires: pkgconfig(mlt-framework) +BuildRequires: pkgconfig(mlt++) = %{mltversion} +BuildRequires: pkgconfig(mlt-framework) = %{mltversion} %description WebVfx is a video effects library that allows effects to be ++++++ libmlt-fixluma.patch ++++++ --- /var/tmp/diff_new_pack.xld5LX/_old 2020-02-18 13:29:25.456704717 +0100 +++ /var/tmp/diff_new_pack.xld5LX/_new 2020-02-18 13:29:25.456704717 +0100 @@ -1,7 +1,7 @@ -Index: mlt-6.18.0/src/modules/lumas/create_lumas +Index: mlt-6.20.0/src/modules/lumas/create_lumas =================================================================== ---- mlt-6.18.0.orig/src/modules/lumas/create_lumas -+++ mlt-6.18.0/src/modules/lumas/create_lumas +--- mlt-6.20.0.orig/src/modules/lumas/create_lumas ++++ mlt-6.20.0/src/modules/lumas/create_lumas @@ -1,5 +1,7 @@ #!/bin/sh @@ -9,4 +9,4 @@ + [ \( -d PAL \) -a \( ! $0 -nt .executed \) ] && exit 0 - bpp=16 + if [ "$(uname -s)" = "Darwin" ]; then ++++++ mlt-6.18.0.tar.gz -> mlt-6.20.0.tar.gz ++++++ ++++ 4585 lines of diff (skipped) ++++++ webvfx-1.1.0.tar.gz -> webvfx-1.2.0.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/webvfx-1.1.0/mlt/service_manager.cpp new/webvfx-1.2.0/mlt/service_manager.cpp --- old/webvfx-1.1.0/mlt/service_manager.cpp 2019-06-09 07:22:59.000000000 +0200 +++ new/webvfx-1.2.0/mlt/service_manager.cpp 2020-02-17 00:34:10.000000000 +0100 @@ -234,7 +234,8 @@ self->onConsumerStopping(); } -int ServiceManager::render(WebVfx::Image* outputImage, mlt_position position, mlt_position length, bool hasAlpha) +int ServiceManager::render(WebVfx::Image* outputImage, mlt_position position, + mlt_position length, double zoom, bool hasAlpha) { double time = length > 0 ? position / (double)length : 0; @@ -264,6 +265,7 @@ } } } + effects->setZoom(zoom); return !effects->render(time, outputImage); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/webvfx-1.1.0/mlt/service_manager.h new/webvfx-1.2.0/mlt/service_manager.h --- old/webvfx-1.1.0/mlt/service_manager.h 2019-06-09 07:22:59.000000000 +0200 +++ new/webvfx-1.2.0/mlt/service_manager.h 2020-02-17 00:34:10.000000000 +0100 @@ -30,7 +30,8 @@ const QString& getSourceImageName() { return sourceImageName; } const QString& getTargetImageName() { return targetImageName; } void setImageForName(const QString& name, WebVfx::Image* image); - int render(WebVfx::Image* outputImage, mlt_position position, mlt_position length, bool hasAlpha = false); + int render(WebVfx::Image* outputImage, mlt_position position, + mlt_position length, double zoom, bool hasAlpha = false); void setupConsumerListener(mlt_frame frame); void onConsumerStopping(); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/webvfx-1.1.0/mlt/webvfx_filter.cpp new/webvfx-1.2.0/mlt/webvfx_filter.cpp --- old/webvfx-1.1.0/mlt/webvfx_filter.cpp 2019-06-09 07:22:59.000000000 +0200 +++ new/webvfx-1.2.0/mlt/webvfx_filter.cpp 2020-02-17 00:34:10.000000000 +0100 @@ -20,15 +20,35 @@ // Get the filter mlt_filter filter = (mlt_filter)mlt_frame_pop_service(frame); - + mlt_properties properties = MLT_FILTER_PROPERTIES(filter); mlt_position position = mlt_filter_get_position(filter, frame); mlt_position length = mlt_filter_get_length2(filter, frame); + // If not a plain resource, then disable preview scaling. + const char* resource = mlt_properties_get(properties, "resource"); + int use_preview_scale = mlt_properties_get_int(properties, "mlt_resolution_scale"); + if (!use_preview_scale && resource) { + mlt_profile profile = mlt_service_profile(MLT_FILTER_SERVICE(filter)); + std::string resource2(resource); + std::string plain = "plain:"; + if (profile && resource2.substr(0, plain.size()) != plain) { + *width = profile->width; + *height = profile->height; + } + } + // Get the source image, we will also write our output to it *format = mlt_image_rgb24a; if ((error = mlt_frame_get_image(frame, image, format, width, height, 1)) != 0) return error; + // Add mlt_profile_scale_width and mlt_profile_scale_height properties for scripts. + mlt_profile profile = mlt_service_profile(MLT_FILTER_SERVICE(filter)); + double scale = mlt_profile_scale_width(profile, *width); + mlt_properties_set_double(properties, "mlt_profile_scale_width", scale); + mlt_properties_set_double(properties, "mlt_profile_scale_height", + mlt_profile_scale_height(profile, *height)); + { // Scope the lock MLTWebVfx::ServiceLocker locker(MLT_FILTER_SERVICE(filter)); if (!locker.initialize(*width, *height)) @@ -39,7 +59,7 @@ std::unique_ptr<WebVfx::Image> renderedImage; uint8_t* buffer = nullptr; - if (mlt_properties_get_int(MLT_FILTER_PROPERTIES(filter), "transparent")) { + if (mlt_properties_get_int(properties, "transparent")) { int size = mlt_image_format_size(*format, *width, *height, NULL); // Create a new buffer for the source image. buffer = (uint8_t*) mlt_pool_alloc(size); @@ -69,7 +89,7 @@ mlt_consumer consumer = static_cast<mlt_consumer>( mlt_properties_get_data(MLT_FRAME_PROPERTIES(frame), "consumer", NULL)); if (!consumer || !mlt_consumer_is_stopped(consumer)) - manager->render(renderedImage.get(), position, length, hasAlpha); + manager->render(renderedImage.get(), position, length, scale, hasAlpha); mlt_pool_release(buffer); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/webvfx-1.1.0/mlt/webvfx_producer.cpp new/webvfx-1.2.0/mlt/webvfx_producer.cpp --- old/webvfx-1.1.0/mlt/webvfx_producer.cpp 2019-06-09 07:22:59.000000000 +0200 +++ new/webvfx-1.2.0/mlt/webvfx_producer.cpp 2020-02-17 00:34:10.000000000 +0100 @@ -23,6 +23,27 @@ int size; int bpp; bool hasAlpha = false; + + // If not a plain resource, then disable preview scaling. + const char* resource = mlt_properties_get(producer_props, "resource"); + int use_preview_scale = mlt_properties_get_int(producer_props, "mlt_resolution_scale"); + if (!use_preview_scale && resource) { + mlt_profile profile = mlt_service_profile(MLT_PRODUCER_SERVICE(producer)); + std::string resource2(resource); + std::string plain = "plain:"; + if (profile && resource2.substr(0, plain.size()) != plain) { + *width = profile->width; + *height = profile->height; + } + } + + // Add mlt_profile_scale_width and mlt_profile_scale_height properties for scripts. + mlt_profile profile = mlt_service_profile(MLT_PRODUCER_SERVICE(producer)); + double scale = mlt_profile_scale_width(profile, *width); + mlt_properties_set_double(properties, "mlt_profile_scale_width", scale); + mlt_properties_set_double(properties, "mlt_profile_scale_height", + mlt_profile_scale_height(profile, *height)); + { MLTWebVfx::ServiceLocker locker(MLT_PRODUCER_SERVICE(producer)); if (!locker.initialize(*width, *height)) @@ -57,10 +78,13 @@ // ServiceManager::onConsumerStopping() and Effects::renderComplete(). mlt_consumer consumer = static_cast<mlt_consumer>( mlt_properties_get_data(MLT_FRAME_PROPERTIES(frame), "consumer", NULL)); - if (!consumer || !mlt_consumer_is_stopped(consumer)) + if (!consumer || !mlt_consumer_is_stopped(consumer)) { locker.getManager()->render(&outputImage, mlt_properties_get_position(properties, kWebVfxPositionPropertyName), - mlt_producer_get_length(producer), hasAlpha); + mlt_producer_get_length(producer), + scale, + hasAlpha); + } } mlt_properties_set_int(properties, "meta.media.width", *width); mlt_properties_set_int(properties, "meta.media.height", *height); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/webvfx-1.1.0/mlt/webvfx_transition.cpp new/webvfx-1.2.0/mlt/webvfx_transition.cpp --- old/webvfx-1.1.0/mlt/webvfx_transition.cpp 2019-06-09 07:22:59.000000000 +0200 +++ new/webvfx-1.2.0/mlt/webvfx_transition.cpp 2020-02-17 00:34:10.000000000 +0100 @@ -20,10 +20,24 @@ mlt_frame bFrame = mlt_frame_pop_frame(aFrame); mlt_transition transition = (mlt_transition)mlt_frame_pop_service(aFrame); + mlt_properties properties = MLT_TRANSITION_PROPERTIES(transition); mlt_position position = mlt_transition_get_position(transition, aFrame); mlt_position length = mlt_transition_get_length(transition); + // If not a plain resource, then disable preview scaling. + const char* resource = mlt_properties_get(properties, "resource"); + int use_preview_scale = mlt_properties_get_int(properties, "mlt_resolution_scale"); + if (!use_preview_scale && resource) { + mlt_profile profile = mlt_service_profile(MLT_TRANSITION_SERVICE(transition)); + std::string resource2(resource); + std::string plain = "plain:"; + if (profile && resource2.substr(0, plain.size()) != plain) { + *width = profile->width; + *height = profile->height; + } + } + // Get the aFrame image, we will write our output to it *format = mlt_image_rgb24; if ((error = mlt_frame_get_image(aFrame, image, format, width, height, 1)) != 0) @@ -34,6 +48,13 @@ if ((error = mlt_frame_get_image(bFrame, &bImage, format, &bWidth, &bHeight, 0)) != 0) return error; + // Add mlt_profile_scale_width and mlt_profile_scale_height properties for scripts. + mlt_profile profile = mlt_service_profile(MLT_TRANSITION_SERVICE(transition)); + double scale = mlt_profile_scale_width(profile, *width); + mlt_properties_set_double(properties, "mlt_profile_scale_width", scale); + mlt_properties_set_double(properties, "mlt_profile_scale_height", + mlt_profile_scale_height(profile, *height)); + { // Scope the lock MLTWebVfx::ServiceLocker locker(MLT_TRANSITION_SERVICE(transition)); if (!locker.initialize(*width, *height)) @@ -55,8 +76,11 @@ // ServiceManager::onConsumerStopping() and Effects::renderComplete(). mlt_consumer consumer = static_cast<mlt_consumer>( mlt_properties_get_data(MLT_FRAME_PROPERTIES(aFrame), "consumer", NULL)); - if (!consumer || !mlt_consumer_is_stopped(consumer)) - manager->render(&renderedImage, position, length); + if (!consumer || !mlt_consumer_is_stopped(consumer)) { + manager->render(&renderedImage, + position, length, + scale); + } } return error; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/webvfx-1.1.0/webvfx/content.h new/webvfx-1.2.0/webvfx/content.h --- old/webvfx-1.1.0/webvfx/content.h 2019-06-09 07:22:59.000000000 +0200 +++ new/webvfx-1.2.0/webvfx/content.h 2020-02-17 00:34:10.000000000 +0100 @@ -29,6 +29,7 @@ virtual void setContentSize(const QSize& size) = 0; virtual const Effects::ImageTypeMap& getImageTypeMap() = 0; virtual void setImage(const QString& name, Image* image) = 0; + virtual void setZoom(const qreal zoom) = 0; virtual bool renderContent(double time, Image* renderImage) = 0; virtual void paintContent(QPainter* painter) = 0; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/webvfx-1.1.0/webvfx/effects.h new/webvfx-1.2.0/webvfx/effects.h --- old/webvfx-1.1.0/webvfx/effects.h 2019-06-09 07:22:59.000000000 +0200 +++ new/webvfx-1.2.0/webvfx/effects.h 2020-02-17 00:34:10.000000000 +0100 @@ -66,6 +66,13 @@ virtual void setImage(const QString& name, Image* image) = 0; /*! + * @brief Set the zoom level. + * + * @param zoom the zoom factor + */ + virtual void setZoom(const qreal zoom) = 0; + + /*! * @brief Renders the effect for the given @c time. * * Prior to calling render() each time, all named images must diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/webvfx-1.1.0/webvfx/effects_impl.cpp new/webvfx-1.2.0/webvfx/effects_impl.cpp --- old/webvfx-1.1.0/webvfx/effects_impl.cpp 2019-06-09 07:22:59.000000000 +0200 +++ new/webvfx-1.2.0/webvfx/effects_impl.cpp 2020-02-17 00:34:10.000000000 +0100 @@ -113,6 +113,11 @@ content->setImage(name, image); } +void EffectsImpl::setZoom(const qreal zoom) +{ + content->setZoom(zoom); +} + bool EffectsImpl::render(double time, Image* renderImage) { if (onUIThread()) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/webvfx-1.1.0/webvfx/effects_impl.h new/webvfx-1.2.0/webvfx/effects_impl.h --- old/webvfx-1.1.0/webvfx/effects_impl.h 2019-06-09 07:22:59.000000000 +0200 +++ new/webvfx-1.2.0/webvfx/effects_impl.h 2020-02-17 00:34:10.000000000 +0100 @@ -31,6 +31,7 @@ bool initialize(const QString& fileName, int width, int height, Parameters* parameters = 0, bool isTransparent = false); const ImageTypeMap& getImageTypeMap(); void setImage(const QString& name, Image* image); + void setZoom(const qreal zoom); bool render(double time, Image* renderImage); void destroy(); void renderComplete(bool result); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/webvfx-1.1.0/webvfx/qml_content.cpp new/webvfx-1.2.0/webvfx/qml_content.cpp --- old/webvfx-1.1.0/webvfx/qml_content.cpp 2019-06-09 07:22:59.000000000 +0200 +++ new/webvfx-1.2.0/webvfx/qml_content.cpp 2020-02-17 00:34:10.000000000 +0100 @@ -56,6 +56,7 @@ , pageLoadFinished(LoadNotFinished) , contextLoadFinished(LoadNotFinished) , contentContext(new ContentContext(this, parameters)) + , m_zoom(1.0) { // Add root of our qrc:/ resource path so embedded QML components are available. engine()->addImportPath(":/"); @@ -125,8 +126,6 @@ pageLoadFinished = LoadNotFinished; contextLoadFinished = LoadNotFinished; - QSize originalSize(size()); - setSource(url); /* grabWindow will not work until a gl context has been initialized, which does not happen until @@ -136,7 +135,10 @@ void QmlContent::setContentSize(const QSize& size) { - resize(size); + if (m_zoom > 0.0) + resize(size.width() / m_zoom, size.height() / m_zoom); + else + resize(size); } bool QmlContent::renderContent(double time, Image* renderImage) @@ -148,7 +150,7 @@ QImage sourceImage = grabWindow(); QImage targetImage((uchar*)renderImage->pixels(), renderImage->width(), renderImage->height(), renderImage->bytesPerLine(), - QImage::Format_RGB888); + renderImage->hasAlpha()? QImage::Format_RGBA8888 : QImage::Format_RGB888); QPainter p(&targetImage); p.drawImage(QPoint(), sourceImage); m_mostRecentImage = sourceImage; @@ -162,11 +164,19 @@ painter->drawImage(QPoint(), m_mostRecentImage); } +void QmlContent::setZoom(const qreal zoom) +{ + if (rootObject()) { + rootObject()->setTransformOrigin(QQuickItem::TopLeft); + rootObject()->setScale(zoom); + m_zoom = zoom; + } +} + void QmlContent::reload() { engine()->clearComponentCache(); setSource(source()); - } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/webvfx-1.1.0/webvfx/qml_content.h new/webvfx-1.2.0/webvfx/qml_content.h --- old/webvfx-1.1.0/webvfx/qml_content.h 2019-06-09 07:22:59.000000000 +0200 +++ new/webvfx-1.2.0/webvfx/qml_content.h 2020-02-17 00:34:10.000000000 +0100 @@ -34,6 +34,7 @@ bool renderContent(double time, Image* renderImage); void paintContent(QPainter* painter); void setImage(const QString& name, Image* image) { contentContext->setImage(name, image); } + void setZoom(const qreal zoom); void reload(); QWidget* createView(QWidget* parent); @@ -53,6 +54,7 @@ LoadStatus contextLoadFinished; ContentContext* contentContext; QImage m_mostRecentImage; + qreal m_zoom; }; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/webvfx-1.1.0/webvfx/web_content.cpp new/webvfx-1.2.0/webvfx/web_content.cpp --- old/webvfx-1.1.0/webvfx/web_content.cpp 2019-06-09 07:22:59.000000000 +0200 +++ new/webvfx-1.2.0/webvfx/web_content.cpp 2020-02-17 00:34:10.000000000 +0100 @@ -170,6 +170,11 @@ webPage->mainFrame()->render(painter); } +void WebContent::setZoom(const qreal zoom) +{ + webPage->mainFrame()->setZoomFactor(zoom); +} + QWidget* WebContent::createView(QWidget* parent) { #ifdef WEBVFX_GRAPHICSVIEW diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/webvfx-1.1.0/webvfx/web_content.h new/webvfx-1.2.0/webvfx/web_content.h --- old/webvfx-1.1.0/webvfx/web_content.h 2019-06-09 07:22:59.000000000 +0200 +++ new/webvfx-1.2.0/webvfx/web_content.h 2020-02-17 00:34:10.000000000 +0100 @@ -48,6 +48,7 @@ bool renderContent(double time, Image* renderImage); void paintContent(QPainter* painter); void setImage(const QString& name, Image* image) { contentContext->setImage(name, image); } + void setZoom(const qreal zoom); QWidget* createView(QWidget* parent); void reload(); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/webvfx-1.1.0/webvfx/webvfx.pro new/webvfx-1.2.0/webvfx/webvfx.pro --- old/webvfx-1.1.0/webvfx/webvfx.pro 2019-06-09 07:22:59.000000000 +0200 +++ new/webvfx-1.2.0/webvfx/webvfx.pro 2020-02-17 00:34:10.000000000 +0100 @@ -4,7 +4,7 @@ include(../common.pri) TEMPLATE = lib -VERSION = 1.1.0 +VERSION = 1.2.0 HEADERS += content.h HEADERS += content_context.h ++++++ webvfx-nobrowser.patch ++++++ --- /var/tmp/diff_new_pack.xld5LX/_old 2020-02-18 13:29:25.796705379 +0100 +++ /var/tmp/diff_new_pack.xld5LX/_new 2020-02-18 13:29:25.796705379 +0100 @@ -1,7 +1,7 @@ Index: webvfx-1.1.0/all.pro =================================================================== ---- webvfx-1.1.0/all.pro.orig -+++ webvfx-1.1.0/all.pro +--- webvfx-1.2.0/all.pro.orig ++++ webvfx-1.2.0/all.pro @@ -19,7 +19,7 @@ CONFIG += ordered SUBDIRS += webvfx SUBDIRS += viewer ++++++ webvfx-versioned-libdir.patch ++++++ --- /var/tmp/diff_new_pack.xld5LX/_old 2020-02-18 13:29:25.800705386 +0100 +++ /var/tmp/diff_new_pack.xld5LX/_new 2020-02-18 13:29:25.800705386 +0100 @@ -1,7 +1,7 @@ Index: webvfx-1.1.0/webvfx/webvfx.pro =================================================================== ---- webvfx-1.1.0/webvfx/webvfx.pro.orig 2018-02-24 21:17:19.000000000 +0200 -+++ webvfx-1.1.0/webvfx/webvfx.pro 2018-05-06 12:24:57.399644007 +0200 +--- webvfx-1.2.0/webvfx/webvfx.pro.orig 2018-02-24 21:17:19.000000000 +0200 ++++ webvfx-1.2.0/webvfx/webvfx.pro 2018-05-06 12:24:57.399644007 +0200 @@ -47,5 +47,5 @@ QT += opengl quick TARGET = webvfx
