| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This allows the application developer to get the translation of the
dragged pointer, and apply it in a custom way.
This should usually be combined with setting target to null.
This will for instance be needed when we want to drag QtLocations map,
where a map is dragged by specifying the geo location of the center of the
map.
The map2.qml example demonstrates this.
Change-Id: I652d9fc92fa9b6dfd3796c7147832f25af0cc5bc
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If a QQuickPointerSingleHandler grabs a point, it's definitely in the
active state: doing something with the point. (The converse is not
always true though: e.g. TapHandler can sometimes detect a tap without
ever grabbing.)
In DragHandler, the "dragging" property means the same as "active":
we always grab when dragging, to be sure to get the updates. So the
"dragging" property is removed because it's redundant.
In QQuickPointerHandler we don't say that "wanting" an event is the
same as being active, because 1) it won't necessarily grab right away
and 2) every handler which was active should "want" the release event,
yet it needs to setActive(false) as soon as it's done processing it.
Change-Id: Ie010db54714a7914109da6469e79865f9a0a18e4
Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This requires coordinate system mapping that varies with the
transformOrigin.
The properties exposed from PinchHandler (rotation, scale and translation)
are currently relative to the point when the pinch became active.
(Therefore, rotation, will reset back to 0 when a new pinch is activated).
Its still unclear how the properties that limits the transform should
influence. With this patch, they are like this:
* {min,max}imumRotation applies to the actual rotation of the item.
* {min,max}imumScale applies to the actual scale of the item.
* {min,max}imum{X,Y} applies to the actual position of the item. (This has
some unfortunate side-effects when the item is scaled or rotated, since
the items actual position will change as it rotates)
In addition, the behavior described above means that the limits won't
have any effect if there is no target item.
Change-Id: I279fb03667cd75324e8337039ae2594658265d13
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
|\
| |
| |
| | |
Change-Id: I9ed2e696108f11c9153012fcf092541fd0e0d7c8
|
| |\
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
src/qml/jsruntime/qv4object_p.h
Change-Id: Iff4d3aba7710a999b8befdc493cbe959e1ce02f9
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
If the block is right-to-left and starts with a text object, it
should be aligned to the right edge of the QTextLine instead
of the left one.
[ChangeLog][QtQuick][Text] Fixed placement of flowing text objects
in the start of a right-to-left block.
Task-number: QTBUG-43133
Change-Id: Id790e88f3464280f124c38b4260386b84cac8826
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The centroid was not always mapped to the correct coordinate system
In addition, the return value of startingCentroid() was not always
desirable, because its implementation calls sceneGrabPos(). We therefore
had to get the starting centroid by querying touchPointCentroid() whenever
the handler became active.
Change-Id: I69de6b832b9bda208fda4eb90a8a95cc975405c2
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
|\| |
| | |
| | |
| | |
| | |
| | | |
We no longer have any hope of getting this into 5.8.
Change-Id: I2decfa47e589ba7ae2d6b951c6517a2c311d0192
|
| |/
| |
| |
| |
| | |
Change-Id: I318fa243ab68b8a714923ab816d62e8c544fca8c
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
|
| |\
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
tests/auto/quick/qquicktextedit/BLACKLIST
Change-Id: I0b9e5bea5da5d2666887c202e62d889b4aa56900
|
| | |\
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Conflicts:
src/quick/items/qquickwindow.cpp
tests/auto/quick/qquicktext/BLACKLIST
tests/auto/quick/qquicktextedit/BLACKLIST
Change-Id: I8bd68b0b5e853b7908791d2cbddd18dd527c76ae
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
The "fixedsys" font is available on Windows at least, so while this
test may not add any value on other platforms, it won't hurt either,
and this was something that regressed on Windows before.
Task-number: QTBUG-56659
Change-Id: Id01dedcbdc2fe74027caf31dd0dde6729ade8c63
Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
If we want to allow rotation with more than 2 fingers, its not
straightforward to calculate the rotation angle, because we cannot anymore
calculate the angle between the two touchpoints.
The approach chosen was to calculate the angle between the centroid and
the touchpoints, and take the average between the angles.
Then, for the next event we calculated the new average of the angles.
However, this is not really reliable in some scenarios, suppose we have
these three angles:
0 120 240, avg = 360/3 = 120
next, touch points rotate clockwise with 2 degrees, and we get these
angles:
358 118 238, avg = 714/3 = 238
So, just by rotating all fingers by 2 degrees, we got a jump by 118
degrees "in average".
Instead we need to track the angles of *all* touch points, and when the
next touch event is received we calculate how much the angle has changed
per touch point. We then take the average of those angles as the effective
"rotation" of the PinchHandler
Change-Id: I2bfdf80b886751177efe81bcc7b698af0d2938e3
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This allows us for lossless conversion between QTouchEvent::TouchPoint id
and QQuickEventPoint::pointId (both ways).
Change-Id: I2087847a579dd8bc5b526515ad07b55c9ae8aa42
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
The public-domain map is adapted from https://openclipart.org/detail/67039/
Change-Id: Ia3da049174a38a6cc9e9632eda4f4553ad16d3bf
Reviewed-by: Jan Arve Sæther <jan-arve.saether@theqtcompany.com>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Similar to PinchArea but with improvements:
- Allows rotating and scaling about an arbitrary point rather than the center
- It's possible to require more than 2 fingers. E.g. maybe you use
3 fingers to manage a window, 2 fingers to manipulate content inside.
This could be achieved with two independent PinchHandlers.
Change-Id: Ifd40cfee115d7bc298378b26a58318bea40a8230
Reviewed-by: Jan Arve Sæther <jan-arve.saether@theqtcompany.com>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
A handler for dragging Items around by touch or mouse.
Change-Id: Id83fea568095eb6374f3f1abc6f550d81f3731df
Reviewed-by: Jan Arve Sæther <jan-arve.saether@theqtcompany.com>
|
|/ / /
| | |
| | |
| | |
| | |
| | |
| | | |
QML manual tests will be added to test specific handlers later.
Change-Id: I691cff23f97fc79020d1090448e70a78de3b4be9
Reviewed-by: Jan Arve Sæther <jan-arve.saether@theqtcompany.com>
|
| | |
| | |
| | |
| | |
| | | |
Change-Id: I21d17b7770246888b1de71d54a6a1babd0726b8a
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
|\| |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
src/quick/items/qquickshadereffect.cpp
5.7 had a bug-fix in code dev has replaced wholesale.
src/quick/items/qquickwindow.cpp
src/quick/items/qquickwindow_p.h
One side changed a method's signature; the other side renamed a method
declared adjacent to it and changed some code using it, moving some
from the public class to its private partner.
tests/auto/qml/debugger/qqmlprofilerservice/tst_qqmlprofilerservice.cpp
One side added a blank line before a comment the other re-wrote.
Kept the re-write, killed the stray blank.
.qmake.conf
Ignore 5.7's change to MODULE_VERSION.
src/qml/compiler/qqmltypecompiler.cpp
src/qml/compiler/qqmlpropertyvalidator.cpp
5.7 changed code in the former that dev moved to the latter.
Reflect 5.7's changes there, adapted to dev's form.
src/qml/qml/qqmlobjectcreator.cpp
One side added new QVariant types; the other changed how it handled
each type of QVariant (without git seeing any conflict); adapted the
new stanzas to work the same as the transformed ones.
tests/manual/v4/test262
dev had a broken sha1 for it; so used 5.7's 9741ac4655808ac46c127e3d1d8ba3d27ada618e
Change-Id: I1fbe2255b97d6ef405cdd1d0cea7fab8dc351d6f
|
| |\|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
tests/auto/qml/qqmllanguage/tst_qqmllanguage.cpp
tests/auto/quick/qquickitem/tst_qquickitem.cpp
Change-Id: If261f8eea84dfa5944bb55de999d1f70aba528fd
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The extern declaration needs Q_CORE_EXPORT (which resolves to an import
declaration on MSVC). Also, the type of the qt_qhash_seed variable is
a QBasicAtomicInt, not int, so with proper signature mangling it would
not resolve (since memory layout is the same for an int and
a QBasicAtomicInt, it would just work for linkers that did not
detect it.)
Change-Id: I92375afcfc13e045e78a4d6cfdd539bd01b66136
Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Let's revise our policy of offline/bytecode only shaders. ShaderEffect
benefits greatly from having runtime compilation support for HLSL
source strings, especially when dynamically constructing shader strings.
There is no reason not to support both approaches since we rely on d3dcompiler
for reflection anyhow.
What's more, we can call D3DCompile on a dedicated thread, keeping the
gui responsive while compilation is on-going.
Change-Id: Ie6c02c2aa0ebd0c8371bbf30b3ce6582128c457b
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
|
|\| |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
src/quick/items/qquickflickable_p_p.h
src/quick/items/qquickpathview_p_p.h
tests/auto/qml/qqmltypeloader/tst_qqmltypeloader.cpp
Change-Id: I77664a095d8a203e07a021c9d5953e02b8b99a1e
|
| |\|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
src/qml/jit/qv4targetplatform_p.h
src/quick/accessible/qaccessiblequickitem_p.h
Change-Id: Ic95075a5fad81ec997a61561bd65979dfa3b9d4d
|
| | |
| | |
| | |
| | |
| | | |
Change-Id: I24b3ccd23fdb42d44978debeeec96bac179edba6
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Rename RendererInfo to GraphicsInfo. Deprecate OpenGLInfo and move
the surface format properties into GraphicsInfo. Move also the
shader info properties from ShaderEffect.
Change-Id: I3b3f01080e059b3a30a132fd67de19a4bfca54ef
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
|
| | |
| | |
| | |
| | |
| | | |
Change-Id: I8901a67d9e2b3343ba3f57775f1849400f6cdf18
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
|
|\ \ \
| | | |
| | | |
| | | | |
Change-Id: I35715e07b6f837f21cd8e8898f19d97af92c6b69
|
| |/ /
| | |
| | |
| | |
| | |
| | | |
Change-Id: I7cf6c5d3458b0c43283e63a7300ee9965ba803fb
Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
Reviewed-by: Frank Meerkoetter <frank.meerkoetter@basyskom.com>
|
|\| |
| | |
| | |
| | | |
Change-Id: If91e0e28d004f1db978dcab393f189743bb69cd5
|
| |\|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
src/plugins/qmltooling/qmldbg_profiler/qqmlprofilerservice.cpp
src/qml/jsruntime/qv4engine.cpp
src/qml/jsruntime/qv4engine_p.h
Change-Id: I89ffccd699bee675732758d039e22224b275d60d
|
| | |
| | |
| | |
| | |
| | | |
Change-Id: I479c9523a89be1d64364e8205daa5860e16882cc
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
|
|\| |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
src/quick/items/qquickopenglshadereffectnode.cpp
src/quick/items/qquickshadereffect.cpp
src/quick/scenegraph/coreapi/qsgbatchrenderer_p.h
src/quick/scenegraph/qsgdefaultglyphnode_p.h
Change-Id: I3d6874b4e4231a89d2836c04fe8e7f2ef2d698c4
|
| |\|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
src/quick/items/qquickimagebase.cpp
src/imports/layouts/plugin.cpp
Change-Id: I5f48474df4034a1347ec74795c85d369a55b6b21
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This test is for 24914b1acbfc5e45768dd1465b9e3f3e61185829 in qtbase.
Task-number: QTBUG-51759
Change-Id: I59081ec5268359f25c492f0536f985793e08e250
Reviewed-by: aavit <eirik.aavitsland@theqtcompany.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
When instantiating static plugins no check is done whether the
QQmlExtensionInterface is declared. Therefore all user plugins are
instantiated in the Qml thread, which may cause problems.
Task-number: QTBUG-52012
Change-Id: Ia91ec5ec7b2a9721bd11e3648cdc161855b4454e
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
|
| | |
| | |
| | |
| | |
| | | |
Change-Id: Icb8151f26bad68795eb2e1f920297267c880b40b
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Only supports QImage backing.
As a bonus add some notes to the Context2D docs too.
Change-Id: I18457a1f766d2f136c6864ec06fe596668d5e726
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Import (and clean up) the dropshadow from the shadereffects example.
This is very useful since it tests a lot more paths and cases than
the wobble.
To overcome the issue of not having some of functionality available before
the item is added to a window, make QQuickGenericShaderEffect smarter and
enhance the documentation.
The handling of vertical mirroring is revised. The GLSL and HLSL version of
the dropshadow shaders produce correct, identical output now.
Change-Id: I94800997bfba781140d80720eb6f340cda480747
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The D3D12 node implementation is mostly missing. The rest of the enablers
should be in place now however.
Importing QtQuick 2.8 provides new properties for ShaderEffect:
- shaderType can be used to decide which language should be used
- shaderCompilationType tells if compilation is runtime or offline
- shaderSourceType tells if the vertex/fragmentShader properties refer
to source strings or source files or pre-compiled bytecode files
The last two are bitmasks. In practice however we will support only
one approach per backend for now (runtime + source string for OpenGL,
offline + bytecode for D3D12).
In addition to QSGShaderEffectNode, introduce the QSGGuiThreadShaderEffectManager
interface. This provides the gui thread bits for the above and performs shader
reflection. Backends that use the new ShaderEffect system must provide both.
For each ShaderEffect item there will be a manager (on the gui thread) and
a node (on the render thread).
Reflection is expected to be done via standard helper libs (d3d12shader
+ D3DReflect from d3dcompiler for the D3D12 backend), or via manually inspecting
SPIR-V, or parsing the source (like the GL path does now), or by using some
3rd party library (not recommended). In any case we require that reflection is
doable on the gui thread without dependencies to the actual graphics API.
The ShaderEffect documentation is greatly extended, covering HLSL and the new
properties.
The test app uses manually compiled shaders on its HLSL path for now. This
is because there is no story yet for build system integration for public
use (the internal HLSL -> bytecode in C header rule is only suitable for
the d3d12 plugin itself, apps need something different).
Change-Id: Id112104906fbcb26b9902a35f19d8d509b340d1b
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
|
|\| |
| | |
| | |
| | | |
Change-Id: If33197b616de3476811f0161d4ecd8e7d004756c
|
| |\|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This change also fixes the build of two benchmarks, tst_affectors
and tst_emission.
Conflicts:
src/plugins/qmltooling/qmldbg_native/qmldbg_native.pro
src/qml/qml/ftw/qhashfield_p.h
tests/benchmarks/particles/affectors/tst_affectors.cpp
tests/benchmarks/particles/emission/tst_emission.cpp
tests/benchmarks/qml/pointers/pointers.pro
tests/benchmarks/qml/pointers/tst_pointers.cpp
tests/benchmarks/qml/qmltime/qmltime.pro
tests/benchmarks/qml/qquickwindow/qquickwindow.pro
Change-Id: I595309d1e183c18371cb9b07af6e4681059de3b2
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Subjects each *.png file that matched grep -law "sRGB" to:
pngcrush -ow -brute -rem allb -reduce
Various tools grumble about sRGB tables in PNG images; and our
handling of them doesn't pay attention to these, so purging them
makes the images smaller with no loss to the images.
Change-Id: I9e4dc3aec97cd32bc8ac216fadeaf7669c49647c
Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Recursive and multisample support is left as a future exercise. Mipmapping
is not supported and is not planned for the time being.
Layers cannot currently be rendered on their own, although they have their
own independent render targets. Starting a layer just starts the next frame early,
putting all commands to the normal command list of that frame. Thus this is
not yet fully suitable for implementing grabs.
Buffer handling is revised to support multiple vertex, index or constant
buffers. This is essential since we are going to have multiple renderer
instances (and may also be needed for a more complex batching renderer
in the future)
QSGBasicImageNode::preprocess is changed not to regenerate the geometry on
every dynamic texture change. In most cases only the material needs to be
dirtied. Rebuilding the geometry is only necessary when the normalized
subrect or similar changes.
Change-Id: Id088c15d1b75022b54c1f8bff1656d2cd68fa7cc
Reviewed-by: Andy Nichols <andy.nichols@theqtcompany.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Pick up window->format().samples() and use it. There is nothing that does
resolving and extra buffer management for us, do it all manually.
Change-Id: I76206574a24dfdd17120433e924a9841c9854904
Reviewed-by: Andy Nichols <andy.nichols@theqtcompany.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Add a test for render thread Animators.
Change-Id: Iddb11f734ccec00d76ca99cd8349cbb65750e784
Reviewed-by: Andy Nichols <andy.nichols@theqtcompany.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The texture resizing highlighted a potential issue with deferred deletes
and texture releases: All the texture management functions are special in
the sense that they can be called outside a begin-endFrame. (this is what
glyph caches do in fact when resizing is involved) In this case using
currentPFrameIndex (referring to the last frame's pframeData slot) seems safe,
but using it is in fact incorrect under some scenarios: a resource queued for
releasing between frame 1 and 2 cannot be released in beginFrame of frame 3,
which was the case until now. The CPU wait in frame 3's beginFrame only guarantees
the commands submitted before frame 1's endFrame have completed, and those will not
include a wait for the copy queue's commands that are added between frames 1 and 2.
Using the next frame's pframeData is not an option either since that would
lead to an immediate release once beginFrame is called the next time.
Therefore, introduce an out-of-frame queue for deleting and texture slot reuse.
With the previous example the release will be done in frame 4, which is
safe since everything submitted in frame 2 - which will normally include a
wait for the copy queue if there were commands issued there before frame 2
using the to-be-released texture - are guaranteed to be done due to the
CPU wait.
Change-Id: Iaa3b5f0af991946dc97ba44448823b22cbf419dc
Reviewed-by: Andy Nichols <andy.nichols@theqtcompany.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Support for ARGB and A8 font engine formats is now available.
We once again need changes to the texture upload logic: we now allow
calling queueTextureUpload() for the same texture before the uploads
initiated by the previous call have finished. For mipmapped textures the
limitation remains in place. The texture glyph caches are non-mipmapped
and can have multiple begin-endFillTexture sequences within one frame.
Texture and thus glyph caches are now resizable, using the copy queue to
copy the old contents.
Change-Id: Ib81e0230b3a45a4948853497f7dbf236617fcd25
Reviewed-by: Andy Nichols <andy.nichols@theqtcompany.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Enablers for native text rendering. Distance field support is postponed
for the time being.
The main feature here is the revised texture handling where it is now
possible to schedule the update of multiple sub-regions from a list of
QImages. BGRA is now used where appropriate, meaning for example that
RGB32 needs no QImage conversion anymore.
The skeletons of the glyph nodes, the basic text material and the glyph
cache are added as well.
Also fixes cleanup when closing the window by properly reimplementing
invalidate() in the rendercontext.
The default rectangle, image and glyph nodes are refactored a bit once
again: QSGBasicSomethingNode is now the common (albeit optional), abstract
class, living in its own file, whereas QSGDefaultSomethingNode is the
GL-specific one, like before. This prepares the future renaming for
QSGDefault -> QSGOpenGL.
Change-Id: I6dbb4ece10be39fd214bb64082d79607389e3e6e
Reviewed-by: Andy Nichols <andy.nichols@theqtcompany.com>
|