Uwe Rathmann
328e6a9e6f
QskArcNode as composite of fill/border nodes
2023-04-14 12:44:49 +02:00
Uwe Rathmann
73dd618626
working on arcs
2023-04-14 09:47:10 +02:00
Uwe Rathmann
45a1bc3564
QskArcNode is a QskShapeNode now.
...
The performance of the previous implementation was simply horrible,
when drawing an arc with a small span angle. The size of the corresponding full circle
is huge and the previous implementation always created an image/texture with
that size.
However the final implementation is supposed to create vertex lists
- like what the box renderer does. So this code will also not stay forever.
2023-04-12 12:19:26 +02:00
Uwe Rathmann
98cb1b256b
missing dummy destructor added
2023-04-12 12:17:38 +02:00
Uwe Rathmann
7ddae671e2
API of classes dealing with arcs improved
2023-04-11 13:04:10 +02:00
Uwe Rathmann
6c2713c1f9
avoid clang warnings
2023-04-06 10:06:00 +02:00
Uwe Rathmann
9e583166ff
BSD-3-Clause license
2023-04-06 09:23:37 +02:00
Uwe Rathmann
1ac6334c0e
avoidable private includes removed
2023-04-05 09:56:28 +02:00
Uwe Rathmann
658bc71891
fixig pedantic compiler warnings
2023-04-04 09:05:16 +02:00
Uwe Rathmann
7e36893d1c
compiler warnings fixed
2023-04-04 08:49:11 +02:00
Peter Hartmann
caf75721d4
tickmarks: support alignment
2023-02-28 16:11:27 +01:00
Uwe Rathmann
f89ab863f6
always inserting the connecting line between border and filling, when
...
using different strokers
2023-02-14 13:44:52 +01:00
Uwe Rathmann
126c276eac
better decisions for the direction of filling gradient lines
2023-02-14 11:19:13 +01:00
Uwe Rathmann
b8f198a97a
irrelevant micro optimzation removed, that was using the wrong corner
...
iteration
2023-02-14 09:29:51 +01:00
Uwe Rathmann
31feeff9aa
Complete support of linear gradients from the box renderer - only
...
expection are reflect/repeat spreading.
Code has been reimplemented or cleaned up significantly
2023-02-08 17:58:09 +01:00
Uwe Rathmann
9d4c423591
color ramp calculation fixed for gradients with many stops
2023-02-04 11:53:23 +01:00
Uwe Rathmann
910a8a730f
corner -> corners
2023-01-24 19:49:15 +01:00
Uwe Rathmann
83ce3dbbf9
convenience setter added
2023-01-24 19:48:04 +01:00
Uwe Rathmann
bd25e8ae23
explanation added
2023-01-24 19:47:37 +01:00
Uwe Rathmann
76a7e94358
default value for reset added
2023-01-23 11:00:03 +01:00
Uwe Rathmann
ad09186229
QskGradientDirection::contais added
2023-01-23 10:59:34 +01:00
Uwe Rathmann
6e2769edfa
QskVertex::fillOrdered renamed to QskVertex::fillBox
2023-01-17 15:41:12 +01:00
Uwe Rathmann
cd4a46cc11
de-template-ified: much better starting point for the fixes to come
2023-01-12 20:26:51 +01:00
Uwe Rathmann
a916bd78c2
codemoved to QskRoundedRect.hpp/QskRoundedRect.h
2023-01-12 14:33:31 +01:00
Uwe Rathmann
c670d23582
QskRoundedRectRenderer reorganized
2023-01-11 17:40:25 +01:00
Uwe Rathmann
e66520294c
minor API changes
2023-01-11 12:51:16 +01:00
Uwe Rathmann
5ba34eb11c
method names cleaned up
2023-01-10 15:36:43 +01:00
Uwe Rathmann
4038f52cdf
inverted gradient vectors for horizontal/vertical gradients supported
2023-01-10 12:17:56 +01:00
Uwe Rathmann
d2c5413daa
wrong check fixed
2023-01-10 12:09:53 +01:00
Uwe Rathmann
e50fb269c3
minor adjustments
2023-01-10 10:20:30 +01:00
Uwe Rathmann
a5ab93bba8
bad workaround removed ad fixing the bug instead.
2023-01-09 15:11:38 +01:00
Uwe Rathmann
d80f9780fc
iotdashboard crash fixed
2023-01-09 15:11:38 +01:00
Uwe Rathmann
f4aaf4cc92
more variations of gradient vectors supported
2023-01-05 17:18:34 +01:00
Uwe Rathmann
21e1206b2d
QskBoxRenderer improvements
2023-01-05 13:06:32 +01:00
Uwe Rathmann
1b85d3053e
QskBoxRenderer fixes
2023-01-04 16:15:22 +01:00
Uwe Rathmann
b449289509
convenience API added
2022-12-30 10:27:18 +01:00
Uwe Rathmann
14cee228e0
SimpleColorIterator added
2022-12-29 08:20:29 +01:00
Uwe Rathmann
8c6f0ffd60
full support of all linear gradient vectors by QskRectRenderer ( = not rounded rectangles ).
2022-12-28 19:39:08 +01:00
Uwe Rathmann
fba8b97a74
monochrome gradients are rendered vertically
2022-12-24 12:22:42 +01:00
Uwe Rathmann
76c8e41fcc
radiusX/radiusY to allow ellipsoid and circular radial gradients
2022-12-23 14:57:46 +01:00
Uwe Rathmann
f13026b544
conic gradients fixed
2022-12-22 20:27:49 +01:00
Uwe Rathmann
a2a2c63678
qskEffectiveGradient fixed
2022-12-22 20:27:17 +01:00
Uwe Rathmann
82cb6e6811
QskGradient::effectiveGradient added
2022-12-22 20:13:45 +01:00
Uwe Rathmann
4670e3b5d3
wrong vector size fixed
2022-12-22 17:49:02 +01:00
Uwe Rathmann
3de71d1bd5
QskGradient::Spread -> QskGradient::SpreadMode
2022-12-22 11:45:23 +01:00
Uwe Rathmann
26e422ac07
convenience update method added
2022-12-20 16:29:51 +01:00
Uwe Rathmann
8318ff757b
update issues with gradients fixed
2022-12-10 16:08:32 +01:00
Uwe Rathmann
fd5856cd50
class renamed
2022-12-09 12:03:46 +01:00
Uwe Rathmann
334254caf8
crash fixed for square rectangles with mutiple stops at 0.5
2022-12-09 11:54:42 +01:00
Uwe Rathmann
b36521b0ed
code moved to cpp file
2022-12-09 11:50:31 +01:00
Uwe Rathmann
5f6ab6db42
code moved to QskBoxRenderer.cpp
2022-12-06 16:52:55 +01:00
Uwe Rathmann
e1b65c6dd6
QskBoxRenderer::isGradientSupported also depends on the shape ( at least
...
in the future )
2022-12-06 16:37:18 +01:00
Uwe Rathmann
8551f4459d
gardient check fixed
2022-12-06 16:32:27 +01:00
Uwe Rathmann
3bab38029d
wrong update check fixed
2022-12-06 16:31:58 +01:00
Uwe Rathmann
a2e29e0d16
code moved to QskVertex + hiding classes in QskVertex from public use
2022-12-06 13:20:18 +01:00
Uwe Rathmann
778ed1de9e
QskBoxRectangleNode supports rounded rectangles now.
2022-12-06 12:12:54 +01:00
Uwe Rathmann
9ae7dc2f63
QskGradientNode renamed to QskRectangleNode
2022-12-06 09:58:46 +01:00
Uwe Rathmann
6d726eee0a
QskGradientNode introduced for rectangles filled with any type of
...
gradient being supported by QskGradient. It is lighter than QskBoxNode,
that is a compositition of border/gradient/shadow. Used for the
background node now - what means, that background can have radial/conic
gradients now as well.
2022-12-05 17:10:13 +01:00
Uwe Rathmann
c31d554d6b
QskBoxRenderer::isGradientSupported introduced
2022-12-05 17:08:32 +01:00
Uwe Rathmann
9d409ab89b
QskBoxRenderer with static methods
2022-12-05 17:06:55 +01:00
Uwe Rathmann
6ed417873e
QskSGNode::resetGeometry added
2022-12-05 17:00:54 +01:00
Uwe Rathmann
296b2f368a
code simplified/harmonized
2022-12-05 13:05:13 +01:00
Uwe Rathmann
125fe1e9f4
QskBoxNode renamed to QskBoxRectangleNode, QskShadedBoxNode renamed to QskBoxNode
2022-12-05 12:34:08 +01:00
Uwe Rathmann
d82f3d08ff
calculating vertexes manually instead of using the expensive painter
...
path triangulator
2022-12-05 11:39:09 +01:00
Uwe Rathmann
4888fcc5ba
crash fixed
2022-12-05 11:18:35 +01:00
Uwe Rathmann
f4275c5098
using the more efficient QVector< qreal > instead of QPainterPath
2022-12-04 21:13:14 +01:00
Uwe Rathmann
4dddb8abf5
unused method removed
2022-12-04 21:13:00 +01:00
Uwe Rathmann
7abd90b2dd
Finally all types of gradients can be set to boxes.
...
For radial/conic and tilted linear gradients shape/border metrics
will be translated into a QPainterPath to be fed into the triangulation.
However the borders remain being done by QskBoxRenderer.
2022-12-04 19:54:05 +01:00
Uwe Rathmann
38cbefac78
using QskGradient::firstColor
2022-12-04 19:53:25 +01:00
Uwe Rathmann
7eecc63571
QPainterPath support added
2022-12-04 19:52:07 +01:00
Uwe Rathmann
0925b40b7a
QGradient::Spread -> QskGradient::Spread
2022-12-01 12:03:36 +01:00
Uwe Rathmann
974e7372dd
code moved to QskColorRamp
2022-11-16 17:26:50 +01:00
Uwe Rathmann
0f028e4239
qsb files recreated
2022-11-16 16:00:36 +01:00
Uwe Rathmann
ff0599686d
unused parameters removed
2022-11-16 14:33:10 +01:00
Uwe Rathmann
18b0594cd6
internal API simplyfied
2022-11-16 14:23:47 +01:00
Uwe Rathmann
615e0016c2
working more with RGBA values instead of QColor
2022-11-16 13:46:37 +01:00
Uwe Rathmann
70f4d28285
using QRgb instead of QColor
2022-11-14 09:01:07 +01:00
Uwe Rathmann
b140d1b30a
QskGradientDirection introduced - no more classes derived from
...
QskGradient
2022-11-13 17:22:09 +01:00
Uwe Rathmann
a658a2a4e4
palette -> colorRamp
2022-11-13 11:05:53 +01:00
Uwe Rathmann
ad67d035f3
new QskGradient
2022-10-31 14:42:08 +01:00
Uwe Rathmann
bad4f90a16
if/else cascade reordered
2022-10-25 18:19:32 +02:00
Uwe Rathmann
506dd4f60c
working towards introducing new type of gradients
2022-10-25 18:17:21 +02:00
Uwe Rathmann
e67b0b385a
allowing gradient stops that do not start/end with 0.0/1.0 ( like
...
QGradient )
2022-10-24 17:29:39 +02:00
Uwe Rathmann
03ce740b29
towards improved QskGradient
2022-10-24 16:40:47 +02:00
Uwe Rathmann
99132276fc
first adjustments for QskGradient improvements
2022-10-24 16:02:46 +02:00
Uwe Rathmann
4a04a27d0d
making code more readable
2022-10-21 16:49:05 +02:00
Uwe Rathmann
f0c9548b4c
using QskGradient::isVisisble() instead of isValid()
2022-10-21 16:46:59 +02:00
Uwe Rathmann
b1f63999c6
preparations for gradient updates
2022-10-20 09:29:20 +02:00
Uwe Rathmann
d5ba7d9504
QskGradient::qtStops added
2022-10-20 09:22:11 +02:00
Uwe Rathmann
4ca794f7db
linear shaders modified
2022-10-18 17:37:31 +02:00
Uwe Rathmann
0d49820cad
bad memory allocation size fixed
2022-10-18 17:36:55 +02:00
Uwe Rathmann
618a97235e
auto keyword
2022-10-14 17:13:57 +02:00
Uwe Rathmann
6fef215310
using QskGradient::hash
2022-10-14 17:13:33 +02:00
Uwe Rathmann
51a7e4e589
Using our own gradient shaders ( no dependencies from quickshapes
...
anymore ). shapes/Gradient has not yet been merged into QskGradient
and we still have some stupid conversions to QGradient in the way.
2022-10-13 19:39:57 +02:00
Uwe Rathmann
9d640d3f06
Qt5 fixes
2022-10-07 16:17:52 +02:00
Uwe Rathmann
1c98c90e8c
radial gradints fixed
2022-10-07 14:32:20 +02:00
Uwe Rathmann
477a284cfa
more expressive API
2022-10-05 09:38:35 +02:00
Uwe Rathmann
8052074c42
Conical->Conic ( following CSS naming )
2022-10-04 12:46:17 +02:00
Uwe Rathmann
f031e78a7b
storing path and transformation to know when geometry updates are
...
necessary
2022-09-30 15:23:55 +02:00
Uwe Rathmann
ee7dbb300a
scaling of pens moved to QskStrokeNode
2022-09-30 15:09:52 +02:00
Uwe Rathmann
cd19b047ab
setting an initial material, so that the node can be inserted into the
...
scene grapf without rnning into Qt assertions
2022-09-30 15:08:19 +02:00
Uwe Rathmann
45e59d6c10
wip
2022-09-29 17:26:15 +02:00
Uwe Rathmann
f798f2228c
more details around shapes
2022-09-29 16:50:46 +02:00
Uwe Rathmann
634ca3bed3
smarter matrial updates
2022-09-29 12:40:22 +02:00
Uwe Rathmann
b138d04053
shaders for gradients ( QGradient variations ) added
2022-09-28 20:14:10 +02:00
Uwe Rathmann
12e462e657
filling the vertex buffer fixed
2022-09-26 17:50:07 +02:00
Uwe Rathmann
60efe3649b
QSK_EXPORT added
2022-09-26 17:49:47 +02:00
Uwe Rathmann
3ccaa113fd
QskShapeNode introduced ( completely untestest, without gradients in the
...
first version )
2022-09-26 14:44:23 +02:00
Uwe Rathmann
96906e04ca
code reorganized
2022-09-26 14:44:06 +02:00
Uwe Rathmann
b2d7d77640
QskStrokeNode introduced ( untested so far )
2022-09-23 17:49:49 +02:00
Uwe Rathmann
ab34af0b03
include changed
2022-09-23 17:49:13 +02:00
Uwe Rathmann
9cb3bc6ab9
compare operation fixed
2022-09-23 12:39:34 +02:00
Uwe Rathmann
bfab362bbb
Qt 6.4 compatibility fix
2022-08-29 17:44:57 +02:00
Uwe Rathmann
1cb0461829
debug print removed
2022-08-29 12:06:35 +02:00
Uwe Rathmann
55b2235d18
lineCount fixed ( clip nodes ended up with a final line with random
...
coordinates )
2022-07-18 16:27:22 +02:00
Uwe Rathmann
824325eccf
being more careful with setting the dirty bits of a QskBoxShadowNode
2022-06-15 10:59:39 +02:00
Uwe Rathmann
49bc726376
missing color update added
2022-06-14 12:03:33 +02:00
Uwe Rathmann
2a2894a63f
lost workaround forsituations, where multisampling gets lost, fixed
2022-06-13 20:34:12 +02:00
Uwe Rathmann
1339a5f4cb
shadows added to the box model
2022-06-13 17:01:15 +02:00
Uwe Rathmann
ff76f1ecfa
removeChildNode added
2022-06-13 13:09:49 +02:00
Uwe Rathmann
0ed9afe2b4
QskBoxShadowNode introduced ( from playground/shadows )
...
- shader code migrated from glsl to vulkan-glsl
- #ifdef "Geschnetzel" introduced to support old and rhi graphic APIs
- iotdashboard, shadows examples adjusted
2022-06-04 17:56:14 +02:00
Uwe Rathmann
a66d4645e8
Qt5 compiler error fixed
2022-06-02 16:15:25 +02:00
Uwe Rathmann
c3c0b2cd33
bye, bye QskTextureNode
2022-06-02 16:09:49 +02:00
Uwe Rathmann
54b55c0324
default graphic pipeline without native OpenGL calls.
...
code is QRHI compiant now
2022-06-02 16:02:42 +02:00
Uwe Rathmann
5dc4200cdc
typo fixed
2022-06-01 18:29:05 +02:00
Uwe Rathmann
a35cc9936a
mirroring added
2022-06-01 18:27:05 +02:00
Uwe Rathmann
86e438a0ed
QFrameBufferObject::takeTexture also leaks with Qt 5.15
2022-06-01 17:50:16 +02:00
Uwe Rathmann
86658ee2dc
raster rendering does not solve the problems with the experimantel RHI
...
state in Qt5 ( no problems with Qt6 RHI and Qt5 without RHI )
2022-06-01 17:04:37 +02:00
Uwe Rathmann
e1a58f84ee
QskPaintedNode improved
2022-06-01 16:57:57 +02:00
Uwe Rathmann
c64d386477
QskPaintedNode reimplemented to work with RHI and software renderer
...
Code will be moved in parts to QskTextureRenderer to do something
similar with QskTextureNode.
2022-05-31 17:56:49 +02:00
Uwe Rathmann
8593a5cf2e
hide QskGraphicNode, QskTextNode in QskSkinlet, where possible.
...
We will have less dependencies, when moving QskGraphicNode to something
that works better with the QRhi abstraction
2022-05-30 15:16:46 +02:00
Uwe Rathmann
1f0ad384ac
dropping support for Qt < 5.15
2022-04-16 16:29:58 +02:00
Uwe Rathmann
ab095afb13
using left/top/right/bottom
2022-04-16 16:01:40 +02:00
Uwe Rathmann
dc14dda5ea
respecting the graphicsApi
2022-04-11 10:11:57 +02:00
Uwe Rathmann
a73ee6baba
Squashed commit of the following:
...
commit e2887cdc9d7cbf69445c325fe074578e2f38da6c
Author: Uwe Rathmann <Uwe.Rathmann@tigertal.de>
Date: Mon Apr 11 09:58:03 2022 +0200
wip
commit 63efe9f3ad95fdf3d9fb15c929a45b0dc7cc681c
Author: Uwe Rathmann <Uwe.Rathmann@tigertal.de>
Date: Mon Apr 11 09:39:18 2022 +0200
wip
commit a2f3621fb6fea787f32c53428eee26f30c69510c
Author: Uwe Rathmann <Uwe.Rathmann@tigertal.de>
Date: Mon Apr 11 08:04:11 2022 +0200
wip
2022-04-11 10:01:24 +02:00
Uwe Rathmann
eaa5a63278
hash calls harmonized
2022-03-25 11:21:32 +01:00
Uwe Rathmann
55d5f99575
introducing QskHashValue to work around Qt5/6 incompatibilities
2022-03-25 10:28:06 +01:00
Uwe Rathmann
3b683ba6d4
reserving memory in advance
2022-03-24 17:13:09 +01:00
Uwe Rathmann
ca36a1705d
Q_DISABLE_COPY added
2022-03-24 17:12:34 +01:00
Uwe Rathmann
d81e8991af
pimpled
2022-03-24 11:14:46 +01:00
Uwe Rathmann
b89fa86b67
using qAsConst
2022-03-24 10:39:33 +01:00
Uwe Rathmann
80a42f6d56
using reference parameters
2022-03-24 08:09:30 +01:00
Uwe Rathmann
057866e7ff
disable copying
2022-03-24 08:08:40 +01:00
Uwe Rathmann
f44208213c
Squashed commit of the following:
...
commit 547927f937a3260d5b23068f06cd181de9b7c763
Author: Uwe Rathmann <Uwe.Rathmann@tigertal.de>
Date: Wed Mar 23 15:38:40 2022 +0100
wip
commit ca06b1da4bf9c5b30ef2857f0b6c1e4fb137a64e
Author: Uwe Rathmann <Uwe.Rathmann@tigertal.de>
Date: Wed Mar 23 15:30:31 2022 +0100
using private classes
commit 4977b0afa481039f22b64e7f55262be8053a26c2
Author: Uwe Rathmann <Uwe.Rathmann@tigertal.de>
Date: Wed Mar 23 15:18:20 2022 +0100
avoid using private Qt headers in examples
2022-03-23 15:39:17 +01:00
Uwe Rathmann
1cc0dff8d5
uncrustified
2022-03-23 11:54:34 +01:00
Uwe Rathmann
598224e487
qmake setup changed
2022-03-18 12:32:57 +01:00
Uwe Rathmann
ae2c6d87a8
upport for Qt < Qt 5.12 dropped
2022-03-08 11:53:46 +01:00
Uwe Rathmann
18b7f9590e
using references
2022-02-04 16:18:14 +01:00
Peter Hartmann
ac8ef9cd5a
Box renderer: Support border gradients ( #158 )
...
* QskBoxBorderColors: Use gradients instead of colors
* QskBoxBorderColors: rename API
* render gradients on borders
* boxes example: Also draw gradient borders
* calculate proper numbers of needed border colors
* fixup with example
* support rounded corners
* support more colors in rounded color gradients
I THINK WE DON'T REALLY NEED THIS COMMIT
* We don't need this commit either
* Revert "We don't need this commit either"
This reverts commit 2dc38064f7fee1d0505262fe5cebcf9e1fb16cea.
* Revert "support more colors in rounded color gradients"
This reverts commit 5754d2d0773d8273d42ae1775b53d40f5e6af26a.
* fix borders for rect ellipses
* play around a bit
* small fixes
* some helper stuff and missing stuff
* user border colors
* close to something working somehow
* works a bit better
* put it into an own function
* rearrange a bit
* something's off
* still off, but seems like we need an additional line
* works but hackish
* now it works
* bring back samples
* correction
* pimp up example
* fix normal rendering
* some more debugging etc.
* turn around gradients
* turn around rectangular gradients as well
* turn around easier
* more test cases
* fix fill case
* more test cases
* clean up a bit
* clean up example
* clean up some more
* incorporate feedback from Uwe
* fix bug when using horizontal gradients
2022-02-04 16:11:11 +01:00
Uwe Rathmann
262e5517f7
avoid using the same procedure name
2022-01-21 07:28:34 +01:00