Commit Graph

238 Commits

Author SHA1 Message Date
jkriege2
20e6f09e94 FIX: remove QPainter::setRenderHint(QPainter::VerticalSubpixelPositioning) as this does not seem to improve outcomes
Some checks are pending
CodeQL / Analyze (cpp) (push) Waiting to run
Doxygen build&deploy / build (push) Waiting to run
MSVC-CodeAnalysis / Analyze (push) Waiting to run
2024-10-17 13:49:33 +02:00
jkriege2
aa4ac4c58a FIXED issue #128: Question about rendering unicode in plot labels: Unicode characters were not rendered if they are not in the currently active font, as fallback-rendering was switched off. It is now switched on again for text and verbatim nodes. Thanks to user:fpalazzolo for reporting this bug
FIXED font rendering was not always anti-aliased
2024-03-28 22:01:59 +01:00
jkriege2
e25b494eb5 change to allow compiling against older Qt versions 2024-03-18 11:32:09 +01:00
jkriege2
819ac7f9fc FIX: JKQTMathText: rendering of matrices, when onle one row or column or a single value are present 2024-02-14 13:55:12 +01:00
jkriege2
503ef13275 modified default style a bit ... using FIRASans as math font and increased font size a bit to make them easier readable 2024-02-11 18:59:21 +01:00
jkriege2
d84c67642c fix Qt5 compile error 2024-02-06 16:17:28 +01:00
jkriege2
99f029e61e updated copyright timerange to 2024 2024-02-06 14:50:49 +01:00
jkriege2
210c7aaa42 improved qHash-functions and class constructors
NEW jkqtp_hash_combine() and jkqtp_combine_hash()
2024-02-05 17:12:34 +01:00
jkriege2
1858385952 FIXED issue #118: "Dangerous warning in MacOS and clang" (thanks to user:igormironchik for reporting): a forward-declared class (i.e. incomplete type) was deleted 2024-02-02 11:35:00 +01:00
jkriege2
acae5929d1 JKQtMathText: NEW: added \c \\~{} , \c \\^{}, \c \\`{}, ... instructions 2024-02-01 12:14:46 +01:00
jkriege2
879544030b FIX for issue <a href="https://github.com/jkriege2/JKQtPlotter/issues/117">#117: Unnecessary printing of tilde symbol in math</a> was incomplete in math-mode 2024-01-31 16:10:00 +01:00
jkriege2
c0bbe8f557 FIXED issue <a href="https://github.com/jkriege2/JKQtPlotter/issues/117">#117: Unnecessary printing of tilde symbol in math</a> (thanks to <a href="https://github.com/igormironchik">user:igormironchik</a> for reporting):<br/>Tilde was not recognized as a LaTeX instruction, now is interpreted as non-breaking whitespace 2024-01-31 15:47:26 +01:00
jkriege2
1bf6c43134 MODIFIED JKQTPDataCache to implement a limited-size cache with least-recently-used delete stategy 2024-01-24 22:33:32 +01:00
jkriege2
868d6dcdf4 fixed several compile warnings 2024-01-23 13:09:37 +01:00
jkriege2
9c543953ca fix CMake error 2024-01-23 00:48:42 +01:00
jkriege2
397d2bee9a FIXed CMake build:generic ALIAS targets were defined incorrectly 2024-01-22 22:09:55 +01:00
jkriege2
a4fef01642 add general ALIAS targets JKQTPlotter::JKQTCOmmmon|JKQTPlotter|... which alias the current QT-Major-Version 2024-01-21 22:02:39 +01:00
jkriege2
d0a00a8c4c rename, doc update 2024-01-21 22:01:28 +01:00
jkriege2
b0df7a1fd7 NEW/BREAKING: provide general targets JKQTPlotter5/6::JKQTPlotter5/6, JKQTPlotter5/6::JKQTMathText5/6, ... which are independent of the type of build (shared/static)
NEW/BREAKING: refactor CMake-Code, so static/dynamic switch is done via <code>BUILD_SHARED_LIBS</code>, which retires <code>JKQtPlotter_BUILD_STATIC_LIBS</code>, <code>JKQtPlotter_BUILD_SHARED_LIBS</code> and removes the capability to build static and shared libraries in one location (fixes issue #104)
NEW: prepareed library for CMake's <a href="https://cmake.org/cmake/help/latest/module/FetchContent.html">FetchContent</a>-API
NEW: the different sub-libraries JKQTPlotter, JKQTFastPlotter (DEPRECATED), JKQTMath, JKQTMathText can be activated/deactivated with CMake options JKQtPlotter_BUILD_LIB_JKQTPLOTTER, JKQtPlotter_BUILD_LIB_JKQTFASTPLOTTER, JKQtPlotter_BUILD_LIB_JKQTMATHTEXT, JKQtPlotter_BUILD_LIB_JKQTMATH
2024-01-16 13:07:08 +01:00
jkriege2
f07c013c7f FIXed slicing warning, by making the slice-operation explicit 2024-01-11 14:22:46 +01:00
jkriege2
ef07a02e9b FIX issue #116 "Most of the examples fail to launch with MSVC2019 + Qt5 environment" (missing local variable declaration!) + changed a bit the font lookup code in JKQTMathText to work more in line with typical system configurations 2024-01-11 11:31:12 +01:00
jkriege2
fe6ac0e98e NEW added convenience functions JKQTMathTextNodeSize::getAscents() and JKQTMathTextNodeSize::getHeight() to JKQTMathTextNodeSize 2024-01-10 12:14:39 +01:00
jkriege2
f096aa9602 fixed several static code analysis warnings and security vulnerabilities 2024-01-10 10:35:43 +01:00
jkriege2
1b9d0506fd fix 2024-01-08 21:31:18 +01:00
jkriege2
dde0151cb6 fix typo 2024-01-08 21:13:00 +01:00
jkriege2
66e374a5d9 FIXed typo in JKQTMathTextDecoratedNode (placement of decorations was wrong after one of the last commits) and improved placement 2024-01-08 21:11:32 +01:00
jkriege2
25ff0a1b5b IMPROVED JKQTMathText rendering of \sfrac and \stfrac 2024-01-08 21:00:30 +01:00
jkriege2
d030cf5f3f FIX JKQTMathText rendering problem with a combination of numbers and text/symbols (wrong advance was used) 2024-01-08 20:29:02 +01:00
jkriege2
09e07cb12a NEW/REWORKED: extended the set of functions like JKQTMathTextGetTightBoundingRect(): These use an internal, thread-safe cache and capsule calls to QFontMetricsF-instances. This significantly improves speed in (parallelized) plotting. 2024-01-08 17:16:31 +01:00
jkriege2
3fee9609fb NEW: Added CMake option JKQtPlotter_BUILD_WITH_TIMING_INFO_OUTPUT, which activates several runtime-measurement guards of type JKQTPAutoOutputTimer (output via qDebug()) 2024-01-08 17:14:03 +01:00
jkriege2
6607432af0 bump required cmake version to 3.16 consistently 2024-01-06 15:37:59 +01:00
jkriege2
9662ed2d69 MODIFIED: Synchronization of JKQTMathText and JKQTBasePlotter over threads: using read/write lockers now and removed some unnecessary mutexes by using a kind of singleton pattern 2024-01-05 23:26:47 +01:00
jkriege2
5cc0b65d9a NEW: added JKQTPLabelMinBesides and JKQTPLabelMaxBesides to JKQTPLabelPosition, so labels can be set besides the axes 2023-08-24 21:49:39 +02:00
jkriege2
3bd49100fe doc-fix 2023-08-16 15:35:44 +02:00
jkriege2
122371e743 NEW: Added JKQTMathText::setFontOptions(), which allows to make fonts initially e.g. bold, italic, ... and extended JKQTMathText::setFontSpecial() accordingly 2023-08-16 13:52:29 +02:00
jkriege2
a1408ccbd0 JKQTMathText: Update several layouting nodes (especially braces) 2023-07-01 15:57:57 +02:00
jkriege2
4b4075c226 JKQTMathText: fixed super-script sizing (using tightboundingbox around x instead of xHeight(), which caused some problems recently for several standard fonts 2023-07-01 15:09:38 +02:00
jkriege2
8719208acf iproved JKQTMathText::drawIntoPixmap() and drawIntoPicture(): using ARGB32_Premultiplied for QPixmap + enabled QPainter::VerticalSubpixelPositioning when available 2023-07-01 14:49:56 +02:00
jkriege2
3fc8951851 made more STATIC data members thread_local or secured them by a std::mutex. This was at least JKQTMathText and JKQTBasePlotter should be usable in several threads 2023-06-30 13:52:17 +02:00
jkriege2
ddcc9ea462 BUGFIX: Error for PDBs when building STATIC libs on MSVC
BUGFIX: a variable in the ...Config.cmake-files was not set correctly
2022-10-06 11:54:18 +02:00
jkriege2
62f27ce9c1 NEW: When using a MSVC compiler, the generated PDB files are installed to CMAKE_INSTALL_PREFIX/bin/ 2022-10-05 21:52:19 +02:00
jkriege2
7b715541e7 bugfixed parantheses for JKQTPCALTintslashfrac labels + some Codiga-Violations 2022-09-28 01:46:19 +02:00
jkriege2
75db7cff42 dox update/fix 2022-09-19 21:55:12 +02:00
jkriege2
4bd7444c66 JKQTMathText: resetting pen and brush before drawing, so the previously set pen/brush does not influence the rendering result 2022-09-01 22:22:17 +02:00
jkriege2
6ebd8743ca JKQTMathText:
- NEW: Added the Fira Math fonts as sans-serif symbol font to the library (as a ressource) and added JKQTMathText::useFiraMath()
  - NEW: Added JKQTMathText::useGuiFonts()</li>
JKQTPlotter:
  - NEW: Using JKQTMathText::useGuiFonts() for FONT rendering by default
2022-09-01 14:36:34 +02:00
jkriege2
e729ebbc78 docfix 2022-08-29 21:46:38 +02:00
jkriege2
676b97a3ca fixed several CMakeLists.txt issues 2022-08-22 20:35:24 +02:00
jkriege2
6c8d517f44 fixed CMakeLists.txt 2022-08-22 17:36:49 +02:00
jkriege2
cffa7189d4 doc update 2022-08-21 21:34:05 +02:00
jkriege2
07d3fdcd99 JKQTMAthText: improvements in font handling and documentation 2022-08-21 14:49:48 +02:00