Skip to content

Commit 8ae2d96

Browse files
authored
Merge pull request #239 from kovzol/master
4.3 (based on Qt6)
2 parents 012d841 + 30bfc62 commit 8ae2d96

20 files changed

+696
-82
lines changed

.github/workflows/build.yml

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,9 @@ jobs:
1010
steps:
1111
- uses: actions/checkout@v1
1212
- name: prerequisites
13-
run: sudo apt update && sudo apt install build-essential qttools5-dev-tools qt5-default
13+
run: sudo apt update && sudo apt install build-essential qttools5-dev-tools qt6-base-dev libgl1-mesa-dev
1414
- name: qmake
15-
run: qmake
15+
run: qmake6
1616
- name: make
1717
run: make
1818

@@ -23,7 +23,9 @@ jobs:
2323
steps:
2424
- uses: actions/checkout@v1
2525
- name: install-qt
26-
uses: jurplel/install-qt-action@v2
26+
uses: jurplel/install-qt-action@v3
27+
with:
28+
version: '6.2.4'
2729
- name: qmake
2830
run: qmake
2931
- name: make

CREDITS.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
- [Jens Kilian](mailto:jjk@acm.org): BeOS driver, deutsch.cat
1919
- [Thomas A. K. Kjaer](mailto:takjaer@imv.aau.dk): OS/2 ports (320x200 graphics and AA-lib)
2020
- [Zbyněk Konečný](mailto:zbynek@geogebra.org): Czech translation
21-
- [Zoltán Kovács](mailto:zoltan@geogebra.org): Internationalization, Hungarian translations, finalizing version 3.1, bug fixes, web design, current maintainer
21+
- [Zoltán Kovács](mailto:zoltan@geogebra.org): Internationalization, Hungarian translations, finalizing version 3.1, bug fixes, web design, WebAssembly version, current maintainer
2222
- [Zsigmond Kovács](mailto:kovzsi@gmail.com): Fractal examples
2323
- [Bjarnheiður Kristinsdóttir](mailto:bjarnhek@hi.is): Icelandic translation
2424
- [J.B. Langston III](mailto:jb-langston@austin.rr.com): Native Mac OS X port (from version 3.2.2); web redesign; co-maintainer
@@ -39,6 +39,7 @@
3939
- [Ilinca Sitaru](mailto:ilinca.sitaru@gmail.com): Romanian translation
4040
- Daniel Skarda: Fractal examples
4141
- Andrew Stone ([Stone Design](www.stone.com)): Videator Support, Cocoa improvements, performance mode, bug fixes
42+
- [Abhishek Tiwari](mailto:tabhishek432@gmail.com): WebAssembly version, [contributions for GSoC 2023](https://github.com/tabhishek432/GSoC-2023-xaos)
4243
- [Márton Török](mailto:marton.torok@gmail.com): Small fixes for pipes
4344
- [Pavel Tzekov](mailto:paveltz@csoft.bg): Win32 support
4445
- Charles Vidal: Tcl/Tk interface
@@ -54,7 +55,7 @@ XaoS uses the following libraries. These libraries may be included with some
5455
binary distributions of XaoS.
5556

5657
### [Qt](https://www.qt.io/)
57-
Copyright © 2020 The Qt Company
58+
Copyright © 2023 The Qt Company
5859

5960
License GPLv2+: [GNU GPL version 2 or later](https://gnu.org/licenses/gpl.html)
6061

NEWS

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,23 @@
1+
RELEASE NOTES FOR XAOS VERSION 4.3
2+
----------------------------------
3+
4+
New Features
5+
============
6+
7+
o Migration to Qt 6.
8+
9+
o WebAssembly port, that is, a full-featured web version is available. Tested with Qt >= 6.5.2.
10+
11+
o Progress bar for time consuming operations (only on native platforms).
12+
13+
Bug Fixes
14+
=========
15+
16+
o Example files are loaded properly even if XaoS is not installed (that is, the examples are not flattened).
17+
18+
o User formulas are not duplicated in the history.
19+
20+
121
RELEASE NOTES FOR XAOS VERSION 4.2.1
222
------------------------------------
323

README.md

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,16 @@ choose without the long calculation required by other fractal generators.
77
It has many other features too, like different fractal types, autopilot,
88
special coloring modes, random palette generation, color cycling, etc.
99

10-
You can try the XaoS zooming algorithm online using
11-
[XaoS.js](http://xaos-project.github.io/XaoSjs/).
10+
XaoS (since version 4.3, September 2023) is available as a full-featured web application as well.
11+
You can try it at its [current webpage](https://matek.hu/zoltan/xaos).
12+
Also, you can try a simplified version of the XaoS zooming algorithm online using
13+
[XaoS.js](https://xaos-project.github.io/XaoSjs/).
1214

13-
XaoS is based on [Qt](http://www.qt.io), and has been tested on Linux, Mac, and Windows. It
15+
XaoS is based on [Qt](http://www.qt.io), and has been tested on Windows, Mac and Linux. It
1416
should also work on any other platform supporting Qt Widgets, like the BSDs.
1517

16-
- Original authors: [Jan Hubička](http://www.ucw.cz/~hubicka/) and [Thomas Marsh](https://www.linkedin.com/in/thomasmarsh).
17-
- Current maintainers: [J.B. Langston](https://www.linkedin.com/in/jblangston/) and [Zoltán Kovács](https://sites.google.com/site/kovzol/).
18+
- Original authors: [Jan Hubička](https://www.ucw.cz/~hubicka/) and [Thomas Marsh](https://www.linkedin.com/in/thomasmarsh).
19+
- Current maintainers: [J.B. Langston](https://www.linkedin.com/in/jblangston/) and [Zoltán Kovács](https://matek.hu/zoltan).
1820
- See [CREDITS](CREDITS.md) for a complete list of contributors.
1921

2022
Project Resources
@@ -48,7 +50,7 @@ or implement a new feature yourself, pull requests are very welcome.
4850
License
4951
-------
5052

51-
Copyright © 1996-2020 XaoS Contributors
53+
Copyright © 1996-2023 XaoS Contributors
5254

5355
This program is free software; you can redistribute it and/or modify
5456
it under the terms of the GNU General Public License as published by

XaoS.pro

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,10 @@
22
# Project created by QtCreator 2009-10-29T19:21:55
33
# -------------------------------------------------
44

5-
lessThan(QT_MAJOR_VERSION, 5): error("requires Qt >= 5")
6-
lessThan(QT_MINOR_VERSION, 7): error("requires Qt >= 5.7")
5+
lessThan(QT_MAJOR_VERSION, 6): error("requires Qt >= 6")
6+
wasm {
7+
lessThan(QT_MINOR_VERSION, 5): error("requires Qt >= 6.5.2")
8+
}
79

810
TEMPLATE = app
911

@@ -49,15 +51,19 @@ isEmpty(QMAKE_LRELEASE) {
4951
}
5052
unix {
5153
!exists($$QMAKE_LRELEASE) { QMAKE_LRELEASE = lrelease-qt5 }
54+
!exists($$QMAKE_LRELEASE) { QMAKE_LRELEASE = lrelease }
5255
} else {
5356
!exists($$QMAKE_LRELEASE) { QMAKE_LRELEASE = lrelease }
5457
}
5558
}
5659

5760
CONFIG += optimize_full
61+
CONFIG += c++11
62+
5863
QMAKE_CXXFLAGS += -ffast-math
5964
QMAKE_CFLAGS += -ffast-math
6065

66+
QMAKE_CXXFLAGS += -fpermissive
6167
RESOURCES += XaoS.qrc
6268

6369
DESTDIR = $$PWD/bin
@@ -75,6 +81,11 @@ isEmpty(PREFIX) {
7581
PREFIX = /usr/local
7682
}
7783
DEFINES += DATAPATH=\\\"$$PREFIX/share/XaoS\\\"
84+
wasm{
85+
QMAKE_LFLAGS += --preload-file $$PWD/examples@$$DATAPATH/examples
86+
QMAKE_LFLAGS += --preload-file $$PWD/catalogs@$$DATAPATH/catalogs
87+
QMAKE_LFLAGS += --preload-file $$PWD/tutorial@$$DATAPATH/tutorial
88+
}
7889
executable.files = bin/xaos
7990
executable.path = $$PREFIX/bin
8091
examples.path = $$PREFIX/share/XaoS/examples

src/engine/fractal.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ static void recalc_view(fractal_context *c)
5555
number_t xs = c->s.rr, ys = c->s.ri * c->windowwidth / c->windowheight,
5656
xc = c->s.cr, yc = c->s.ci, size;
5757
precalculate_rotation(c);
58-
rotate(*c, xc, yc);
58+
my_rotate(*c, xc, yc);
5959
/*assert(c->s.rr >= 0);
6060
assert(c->s.ri >= 0); */
6161

src/include/config.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
#define CONFIG_H
33

44
// XaoS release
5-
#define XaoS_VERSION "4.2.1"
5+
#define XaoS_VERSION "4.3"
66

77
// URLs
88
#define HELP_URL "https://github.com/xaos-project/XaoS/wiki"

src/include/fractal.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,7 @@ struct symmetryinfo2 {
114114
#define BTRACEOK \
115115
((cformula.flags & (2 << cfractalc.mandelbrot)) && \
116116
!cfractalc.incoloringmode && cfractalc.coloringmode != 7)
117-
#define rotate(f, x, y) \
117+
#define my_rotate(f, x, y) \
118118
{ \
119119
number_t tmp; \
120120
tmp = (x) * (f).cos - (y) * (f).sin; \

src/ui-hlp/menu.cpp

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
#include <QTextStream>
77
#include <QMessageBox>
88
#include <QSettings>
9+
#include <QRegularExpression>
910

1011
#include "filter.h"
1112
#include "config.h"
@@ -799,7 +800,7 @@ static void uih_loadgpl(struct uih_context *uih, xio_constpath d)
799800
}
800801

801802
for(int i = 4; i < 35; i++) {
802-
QStringList currcolors = colorvals[i].split(QRegExp("\\s+"));
803+
QStringList currcolors = colorvals[i].split(QRegularExpression("\\s+"));
803804
int r = currcolors[0].toInt();
804805
int g = currcolors[1].toInt();
805806
int b = currcolors[2].toInt();
@@ -1239,10 +1240,14 @@ void uih_registermenus_i18n(void)
12391240
MENUFLAG_INTERRUPT | MENUFLAG_NOPLAY, uih_playfile,
12401241
playdialog);
12411242
MENUSEPARATOR_I("file");
1243+
1244+
// Rendering activities in the WebAssembly version make little sense, and therefore not supported at the moment:
1245+
#ifndef __wasm
12421246
MENUDIALOG_I("file", NULL, TR("Menu", "Render"), "renderanim", UI,
12431247
uih_render, uih_renderdialog);
12441248
MENUDIALOG_I("file", NULL, TR("Menu", "Render Image"), "renderimg", UI,
12451249
uih_renderimg, uih_renderimgdialog);
1250+
#endif
12461251
MENUSEPARATOR_I("file");
12471252
MENUNOP_I("file", NULL, TR("Menu", "Load random example"), "loadexample",
12481253
MENUFLAG_INTERRUPT, uih_loadexample);

src/ui-hlp/play.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -173,7 +173,7 @@ void uih_update_lines(uih_context *c)
173173
case 2:
174174
x = l->x1;
175175
y = l->y1;
176-
rotate(*(c->fcontext), x, y);
176+
my_rotate(*(c->fcontext), x, y);
177177
x = (x - c->fcontext->rs.nc) /
178178
(c->fcontext->rs.mc - c->fcontext->rs.nc) *
179179
c->zengine->image->width;
@@ -185,7 +185,7 @@ void uih_update_lines(uih_context *c)
185185
c->zengine->action->convertup(c->zengine, &x1, &y1);
186186
x = l->x2;
187187
y = l->y2;
188-
rotate(*(c->fcontext), x, y);
188+
my_rotate(*(c->fcontext), x, y);
189189
x = (x - c->fcontext->rs.nc) /
190190
(c->fcontext->rs.mc - c->fcontext->rs.nc) *
191191
c->zengine->image->width;
@@ -224,7 +224,7 @@ void uih_update_lines(uih_context *c)
224224
default:
225225
x = l->mx1;
226226
y = l->my1;
227-
rotate(*(c->fcontext), x, y);
227+
my_rotate(*(c->fcontext), x, y);
228228
x = (x - c->fcontext->rs.nc) /
229229
(c->fcontext->rs.mc - c->fcontext->rs.nc) *
230230
c->zengine->image->width;
@@ -236,7 +236,7 @@ void uih_update_lines(uih_context *c)
236236
c->zengine->action->convertup(c->zengine, &mx1, &my1);
237237
x = l->mx2;
238238
y = l->my2;
239-
rotate(*(c->fcontext), x, y);
239+
my_rotate(*(c->fcontext), x, y);
240240
x = (x - c->fcontext->rs.nc) /
241241
(c->fcontext->rs.mc - c->fcontext->rs.nc) *
242242
c->zengine->image->width;

0 commit comments

Comments
 (0)