Commit Graph

380 Commits

Author SHA1 Message Date
Uwe Rathmann 38bc3286cd QskGradient improved ( linear/radial/conic gradients ) 2022-10-31 14:22:20 +01:00
Uwe Rathmann 506dd4f60c working towards introducing new type of gradients 2022-10-25 18:17:21 +02:00
Uwe Rathmann 5712873f21 missing Q_ENUM added 2022-10-25 11:02:10 +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 1f28eec9de working towards improved QskGradient 2022-10-24 17:08:48 +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 d3f9e97301 unused private methods removed 2022-10-20 10:22:13 +02:00
Uwe Rathmann d5ba7d9504 QskGradient::qtStops added 2022-10-20 09:22:11 +02:00
Uwe Rathmann b6032f007c wrong check fixed 2022-10-15 13:24:58 +02:00
Uwe Rathmann 929c02fa0e colorTable generation added 2022-10-13 19:39:24 +02:00
Uwe Rathmann 8da486a13f QskGradientStops moved from QskGradient.h to QskGradientStop.h 2022-10-13 19:37:49 +02:00
Uwe Rathmann 7ca1e2f261 uncrustified 2022-09-13 12:22:20 +02:00
Uwe Rathmann 896145ac11 QskTextOptions as skin hints 2022-08-25 09:39:33 +02:00
Uwe Rathmann 6c778c4b07 qskAlignedRect overloads 2022-07-28 16:51:20 +02:00
Uwe Rathmann c67a594d07 whitespaces removed 2022-07-28 16:50:55 +02:00
Uwe Rathmann 62fcbc6c32 QskAspect::Section introduced 2022-06-29 16:15:38 +02:00
Uwe Rathmann d403af14ba making QskHctColor a class, tone calculation from rgb added 2022-06-27 12:54:13 +02:00
Uwe Rathmann d3c320bb9a Q_DECL_UNUSED removed, seems to cause problems on Macs 2022-06-26 14:33:39 +02:00
Uwe Rathmann e8f52c03cc hacks for exposing definitions to QML are not needed anymore 2022-06-25 16:52:24 +02:00
Uwe Rathmann e787b15d35 wip 2022-06-25 16:38:42 +02:00
Uwe Rathmann 6c7ba0489c M(aterial)2 related code replaced 2022-06-25 16:14:08 +02:00
Uwe Rathmann 98368d42ac typos fixed 2022-06-25 16:10:00 +02:00
Uwe Rathmann 501a3ae07e RGB converter for the HCT color system introduced 2022-06-24 17:19:04 +02:00
Peter Hartmann 74e036c355
QskPushButton: respect the graphics alignment (#193)
Also, respect the padding hint of the graphic

Resolves #22
2022-06-15 10:34:51 +02:00
Uwe Rathmann 1e675e5b8c compare operators fixed, extra methods for offsetX/Y 2022-06-14 11:49:50 +02:00
Uwe Rathmann 1339a5f4cb shadows added to the box model 2022-06-13 17:01:15 +02:00
Uwe Rathmann da21b95eb3 isNull added 2022-06-13 13:09:08 +02:00
Uwe Rathmann f03007e7b8 QskShadowMetrics added to QskSkinHintTableEditor 2022-06-13 08:43:28 +02:00
Peter Hartmann 13ff41722c
Windows: Fix placement policy of all items (#188)
Before, on Windows nothing would be displayed because of the
following error:

implicit truncation from 'QskPlacementPolicy::Policy' to bit-field
changes value from 2 to -2
2022-05-02 16:05:58 +02:00
Uwe Rathmann 019a6899db avoid conflicts with RGB from wingdi.h 2022-04-22 08:21:20 +02:00
Uwe Rathmann df31b57e7c Qsk::Position removed ( Qt::Edge is good enough ) 2022-04-17 13:19:33 +02:00
Uwe Rathmann d0b926b868 using Qt::Edge instead of Qsk::Position 2022-04-17 12:37:13 +02:00
Uwe Rathmann 896e33bf77 moc include added 2022-04-16 20:38:06 +02:00
Uwe Rathmann 09a12fc7a8 pre Qt 5.15 code removed 2022-04-16 17:02:53 +02:00
Uwe Rathmann 1f0ad384ac dropping support for Qt < 5.15 2022-04-16 16:29:58 +02:00
Uwe Rathmann 628e57a9ff obsolete comment removed 2022-04-16 16:00:19 +02:00
Uwe Rathmann d52453311f heuristic for initializing the cascading property moved from skin to
QskMenu
2022-04-16 12:25:39 +02:00
Peter Hartmann 7693c8d911
fix build on Windows (#176)
* fix build on Windows

fixes the following error from CI:

common\QskAspect.cpp(199): error C2666: 'QFlags<QskAspect::State>::operator &': 3 overloads have similar conversions
D:\a\qskinny\Qt\5.15.2\msvc2019_64\include\QtCore/qflags.h(146): note: could be 'QFlags<QskAspect::State> QFlags<QskAspect::State>::operator &(Enum) noexcept const'
        with
        [
            Enum=QskAspect::State
        ]
D:\a\qskinny\Qt\5.15.2\msvc2019_64\include\QtCore/qflags.h(145): note: or       'QFlags<QskAspect::State> QFlags<QskAspect::State>::operator &(uint) noexcept const'
D:\a\qskinny\Qt\5.15.2\msvc2019_64\include\QtCore/qflags.h(144): note: or       'QFlags<QskAspect::State> QFlags<QskAspect::State>::operator &(int) noexcept const'
common\QskAspect.cpp(199): note: or       'built-in C++ operator&(QFlags<QskAspect::State>::Int, quint16)'
common\QskAspect.cpp(199): note: while trying to match the argument list '(QskAspect::States, const quint16)'

* fix build on Windows

fixes the following error from CI:

C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.31.31103\include\memory(3124): error C2027: use of undefined type 'QskMenuSkinlet::PrivateData'
D:\a\qskinny\qskinny\src\controls\QskMenuSkinlet.h(54): note: see declaration of 'QskMenuSkinlet::PrivateData'
C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.31.31103\include\memory(3123): note: while compiling class template member function 'void std::default_delete<QskMenuSkinlet::PrivateData>::operator ()(_Ty *) noexcept const'
        with
        [
            _Ty=QskMenuSkinlet::PrivateData
        ]
C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.31.31103\include\memory(3233): note: see reference to function template instantiation 'void std::default_delete<QskMenuSkinlet::PrivateData>::operator ()(_Ty *) noexcept const' being compiled
        with
        [
            _Ty=QskMenuSkinlet::PrivateData
        ]
C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.31.31103\include\memory(3160): note: see reference to class template instantiation 'std::default_delete<QskMenuSkinlet::PrivateData>' being compiled
D:\a\qskinny\qskinny\src\controls\QskMenuSkinlet.h(55): note: see reference to class template instantiation 'std::unique_ptr<QskMenuSkinlet::PrivateData,std::default_delete<QskMenuSkinlet::PrivateData>>' being compiled
C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.31.31103\include\memory(3124): error C2338: can't delete an incomplete type
C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.31.31103\include\memory(3125): warning C4150: deletion of pointer to incomplete type 'QskMenuSkinlet::PrivateData'; no destructor called
D:\a\qskinny\qskinny\src\controls\QskMenuSkinlet.h(54): note: see declaration of 'QskMenuSkinlet::PrivateData
2022-04-13 11:24:18 +02:00
Uwe Rathmann 69e4152b4c QskPlacementPolicy introduced 2022-04-08 16:46:20 +02:00
Uwe Rathmann 449f08bf98 beautified 2022-04-08 15:37:55 +02:00
Uwe Rathmann 21ad84e291 Qsk::Visibility added 2022-04-08 15:37:32 +02:00
Uwe Rathmann ff316ce1ed Q_DECLARE_TYPEINFO fixed 2022-04-03 16:31:34 +02:00
Uwe Rathmann 01afcd8557 using c++11 2022-04-01 14:41:56 +02:00
Uwe Rathmann f991a21a0a QMetaType definitions added 2022-03-30 18:30:22 +02:00
Uwe Rathmann 7d0092ccb3 QskStateCombination operators added 2022-03-30 18:21:31 +02:00
Uwe Rathmann baee63ea6b debug operators improved 2022-03-30 12:28:45 +02:00
Uwe Rathmann 848a22b2a2 interpolation between monochrome gradients improved 2022-03-29 11:14:23 +02:00
Uwe Rathmann 81e2ea2920 qHash added 2022-03-29 08:08:06 +02:00
Uwe Rathmann a38a4a101e more State operators 2022-03-28 20:33:42 +02:00
Uwe Rathmann f68095a0d1 making code more readable 2022-03-27 19:05:40 +02:00
Uwe Rathmann 7778baecc5 alpha -> opacity 2022-03-27 17:54:16 +02:00
Uwe Rathmann eaa5a63278 hash calls harmonized 2022-03-25 11:21:32 +01:00
Uwe Rathmann f86e38ef12 using reserve where possible 2022-03-25 10:29:12 +01:00
Uwe Rathmann 55d5f99575 introducing QskHashValue to work around Qt5/6 incompatibilities 2022-03-25 10:28:06 +01:00
Uwe Rathmann d285b7e85c Q_DISABLE_COPY added 2022-03-24 11:12:45 +01:00
Uwe Rathmann b89fa86b67 using qAsConst 2022-03-24 10:39:33 +01:00
Uwe Rathmann 9d515ba68e pointless QObject inheritance removed 2022-03-24 08:27:17 +01:00
Uwe Rathmann 1cc0dff8d5 uncrustified 2022-03-23 11:54:34 +01:00
Uwe Rathmann 7f5d289808 obsolete code for earlier versions removed 2022-03-20 14:22:11 +01:00
Uwe Rathmann 13d00d176f support for QGradient::Preset 2022-03-18 16:50:34 +01:00
Uwe Rathmann b02e6ccbc3 constexpr, where possible 2022-03-18 16:08:40 +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 ab0fe2ac1c constructor fixed 2022-01-21 07:49:38 +01:00
Uwe Rathmann de349c3423 status bit initialization improved 2022-01-21 07:33:28 +01:00
Uwe Rathmann b5da0da76d status bits introduced to cache information, that would be recaclulated
many times otherwise
2022-01-21 07:29:07 +01:00
Uwe Rathmann 9f7824cd17 minor improvements 2022-01-10 08:44:02 +01:00
Uwe Rathmann d1f6902c27 toTransparentF added 2022-01-07 13:55:51 +01:00
Uwe Rathmann 13cb2f8ca3 QskRgb::totransparentF added 2022-01-07 13:23:29 +01:00
Uwe Rathmann 5acce30878 Qt 5.6 incompatibility fixed 2022-01-07 12:46:24 +01:00
Uwe Rathmann 72f28783a9 qskInterpolatedSize added 2022-01-04 13:46:54 +01:00
Uwe Rathmann 1d7b551b05 QskBoxHints introduced 2022-01-04 13:44:53 +01:00
Uwe Rathmann a3e1065096 QRectF interpolator added 2021-12-29 15:30:44 +01:00
Uwe Rathmann 6c46c0160d some functions copied from QskFunctions to QskPlatform 2021-12-26 12:57:02 +01:00
Uwe Rathmann 0d43fbcc27 qskPlatformIntegration/qskMaybeDesktopPlatform added 2021-12-26 12:12:18 +01:00
Uwe Rathmann ca2cdf7663 beautified 2021-12-23 19:05:59 +01:00
Peter Hartmann 0657f1120c
aspects: Fix off-by-one error when printing subcontrols (#151) 2021-11-22 15:50:18 +01:00
Uwe Rathmann 0d9dbf4c58 QML export as QskGadientStops does nor work - we need to stay with
QVector
2021-10-27 15:08:06 +02:00
Uwe Rathmann 4c26392d72 wrong include 2021-10-27 15:07:17 +02:00
Uwe Rathmann a1b67ee7fb setColor/setColors fixed 2021-10-25 08:32:46 +02:00
Uwe Rathmann 4744d85725 more constructors to avoid losing alpha values 2021-10-25 08:31:32 +02:00
Uwe Rathmann 2bfc8ee9f9 toAbsolute using width or height 2021-10-20 12:42:48 +02:00
Uwe Rathmann 73dbfeb708 QskArcMetrics adjustments 2021-10-20 09:27:05 +02:00
Peter Hartmann b89621a3d4
Iot dashboard arc rendering (#134)
* add QskArcNode and QskArcRenderer

* IOT example: Use QskArcNode instead of own arc node

* move some functionality to the arc renderer

* add QskArcMetrics

* add methods to QskSkinlet

* remove circular bar graph node

We can now use updateArcNode() and don't need our own method.

* support linear gradients in the arc renderer

* clean up

* incorporate Uwe's changes

* add overloads for updateArcNode() when the angles are set dynamically

The angles don't always come from the style, so we need overloads
in QskSkinlet to set them dynamically.
2021-10-20 07:50:25 +02:00
Uwe Rathmann 5791341996 memory leak detection simplified 2021-10-08 07:47:00 +02:00
Uwe Rathmann 766105b201 leak statistics fixed 2021-10-07 18:37:46 +02:00
Uwe Rathmann d75ed9d6de object info added 2021-10-07 17:47:15 +02:00
Uwe Rathmann 22e75daf6a hiding code in QskObjectCounter.cpp 2021-10-07 13:49:13 +02:00
Uwe Rathmann f9ca36443e Qt 6.2 adjustments 2021-09-21 08:51:01 +02:00
Uwe Rathmann 899256ce86 making QskBoxBorderMetrics a Q_GADGET 2021-09-18 15:01:04 +02:00
Uwe Rathmann b2bf7c30e0 making QskShadowMetrics a Q_GADGET 2021-09-18 14:54:25 +02:00
Uwe Rathmann 2438b0f7ee playing with shadows 2021-09-18 14:48:25 +02:00
Uwe Rathmann 1c3c04a745 using QskGradientStops 2021-09-17 13:47:43 +02:00
Uwe Rathmann 341d60e39b QskGradientStops introduced 2021-09-17 13:35:11 +02:00
Uwe Rathmann 2219a6fe8e code moved to QskGradientStop.[h|cpp] 2021-09-16 10:01:53 +02:00
Uwe Rathmann 71da4dcdff QskCorner removed - using QskBoxShapeMetrics instead 2021-09-15 17:54:44 +02:00
Uwe Rathmann 06b0fe56bc missing noexcept keywords added 2021-09-15 13:46:02 +02:00
Uwe Rathmann 295a964cd5 missing noexcept keywords added 2021-09-15 13:45:26 +02:00
Uwe Rathmann 4092ec0a8a QskAspect::States introduced to be more accurate about state vs. states 2021-09-14 13:05:56 +02:00
Uwe Rathmann 923affe749 uncrustified 2021-08-04 09:31:16 +02:00
Uwe Rathmann 13867df163 making clang happy 2021-07-14 14:43:12 +02:00
Uwe Rathmann c57924d7eb qskFuzzyFloor/Ceil improved 2021-07-14 13:29:46 +02:00
Uwe Rathmann 4d888f7a4d isEmpty added 2021-05-26 13:07:23 +02:00
Uwe Rathmann d07e5fcf3f qskFuzzyFllor/qskFuzzyCeil added 2021-05-26 13:06:50 +02:00
Uwe Rathmann 75a9ee305c QskAspect::Primitive cleanup 2021-04-28 09:32:49 +02:00
Uwe Rathmann 3112df6c2f Flag/Color/Metric-Primitive united to Primitive - the initial concept
was not correct anymore as primitives like Border/Shadow are used for
Color and Metric
2021-04-27 10:11:10 +02:00
Uwe Rathmann 960f2a8d66 AllUserStates removed 2021-04-23 15:14:57 +02:00
Uwe Rathmann 63619f68d4 qskGlobalScalefactor added 2021-04-21 08:26:15 +02:00
Uwe Rathmann 5abe0803c0 typo fixed 2021-04-21 08:22:58 +02:00
Uwe Rathmann d6dcf0a3d1 missing implementation of fuzzyIsBoundary 2021-04-21 07:49:50 +02:00
Uwe Rathmann 228e94dcce suppress overlapping tick labels 2021-04-19 09:27:23 +02:00
Uwe Rathmann 33c0d92ee1 some additional methods added 2021-04-19 09:26:40 +02:00
Uwe Rathmann e9364e0f11 more methods for tools that rely on meta object data 2021-02-19 12:43:11 +01:00
Uwe Rathmann cea3828e3d more methods for tools that rely on meta object data 2021-02-19 12:42:05 +01:00
Uwe Rathmann d54404c9f4 QMetaType support, debug operator 2021-02-14 12:36:15 +01:00
Uwe Rathmann 86e9ea98ab meta type registration added 2021-01-14 07:07:13 +01:00
Uwe Rathmann 9bf5936732 SizeMode primitive removed 2020-12-27 16:07:22 +01:00
Uwe Rathmann bb3ffc454f QskMargins improved 2020-12-27 11:15:34 +01:00
Uwe Rathmann f3dd88c11c overlapping states fixed ( where possible ) 2020-12-26 14:34:26 +01:00
Uwe Rathmann 5ecec7892e QskSkinHintTableEditor introduced 2020-12-26 12:57:08 +01:00
Uwe Rathmann 726aca98df QskAspect::hasState added 2020-12-23 09:28:17 +01:00
Uwe Rathmann 95d8d2a6da making QskAspect a class 2020-12-21 16:06:58 +01:00
Uwe Rathmann 549031fe78 setState added 2020-12-20 16:05:05 +01:00
Uwe Rathmann 23bbab7820 unused enum removed 2020-12-18 13:44:02 +01:00
Uwe Rathmann 8426e71156 handling of primitives optimized 2020-12-18 13:09:22 +01:00
Uwe Rathmann 247112ae5c LastPrimitive fixed 2020-12-18 08:50:23 +01:00
Uwe Rathmann 6bb7486578 width/height/extent added 2020-12-17 16:13:44 +01:00
Uwe Rathmann 58de684902 using StrutSize instead og Minimum/Maximum metric hints 2020-12-16 12:49:24 +01:00
Uwe Rathmann 06fe52de32 wip 2020-12-15 08:37:06 +01:00
Uwe Rathmann 38b832d463 noexcept keywords added 2020-12-15 07:56:42 +01:00
Uwe Rathmann c1e70a2d9e more convenience methods to access skin hints 2020-12-15 07:21:12 +01:00
Uwe Rathmann 05cb42a7ea include guards harmonized 2020-12-11 15:16:50 +01:00
Uwe Rathmann fbf2a33a9a uncrustified 2020-12-05 15:09:31 +01:00
Uwe Rathmann 6281c43dda trailling , removed 2020-11-26 06:56:38 +01:00
Uwe Rathmann 4fd41e7be2 some classes for scales/axes 2020-11-13 15:34:02 +01:00
Uwe Rathmann e86ce49fb4 converters added 2020-10-30 07:29:43 +01:00
Uwe Rathmann 9a3e8d0d2d using QskMargins instead of QMargins in Q_PROPRTY definitions to get Qt6
working
2020-10-28 19:35:51 +01:00
Uwe Rathmann aed9412aee Q_GADGET added 2020-10-28 12:33:51 +01:00
Uwe Rathmann 1eada5fbe0 Qt6 incompatibilities fixed 2020-10-28 12:33:26 +01:00
Uwe Rathmann a101080231 Qt6 incompatibilities fixed 2020-10-25 15:56:22 +01:00
Uwe Rathmann bf4fbaa905 no QVector forward declaration - can't be done with Qt6, but as we have
all what we need from qglobal.h ...
2020-10-25 14:57:41 +01:00
Uwe Rathmann 205de91dae Qt6 incompatibility fixed 2020-10-23 13:54:27 +02:00
Uwe Rathmann 27c4704f68 no QVector forward declarations possible with Qt6 2020-10-23 13:43:28 +02:00
Uwe Rathmann 9b9fb04adb shadowRect added 2020-10-20 17:45:07 +02:00
Uwe Rathmann d0b833a38d missing inline keywords added 2020-10-09 08:37:23 +02:00
Uwe Rathmann e5f770d753 QskShadowMetrics added 2020-10-09 08:21:30 +02:00
Uwe Rathmann 1b8bbdc261 hash function simplified 2020-10-09 08:21:06 +02:00