SlipperyBrick Posted December 29, 2022 Posted December 29, 2022 Hi, This is mainly a question aimed at the developers. I am very interested in knowing what GUI framework was used to develop the Affinity line of products. Was it Qt? Or WPF? Were the modules of Affinity programmed in C# or C++ (I imagine it was C++ considering the rendering operations for drawing) This is very off topic from questions pertained to Affinity products but I am a C/C++ developer and have been looking for a good framework that enables rendering of both 2D and 3D graphics without the need for implementing a rendering engine with graphics API's such as OpenGL or Vulkan, etc. I like the look and reponsiveness of the Affinity products and was hoping a developer could share some insights into the front and back-end technologies used to develop the Affinity line of products. Cheers! Quote
v_kyr Posted December 29, 2022 Posted December 29, 2022 See the license.rtf (Open Source Code used in Affinity) file which is part and included of every Affinity app installment. This tells you which third party C++/C frameworks, libs & modules have been used! For the 2D and 3D graphics stuff see ... https://agg.sourceforge.net/antigrain.com/ https://github.com/ghaerr/agg-2.6 https://github.com/cppfw/agg ... etc. Further inspect the supplied app libs! SlipperyBrick 1 Quote ☛ Affinity Designer 1.10.8 ◆ Affinity Photo 1.10.8 ◆ Affinity Publisher 1.10.8 ◆ OSX El Capitan ☛ Affinity V2.3 apps ◆ MacOS Sonoma 14.2 ◆ iPad OS 17.2
SlipperyBrick Posted December 29, 2022 Author Posted December 29, 2022 Ah very interesting, it looks like WPF is used for Windows, and an old post says Objective-C was used for Mac (never developed natively for Mac, have no experience with it). Two code bases for the front-end, that is surprising. I've started using Qt6 and wanted to have a similar type of window as the Affinity products have (a frameless window) but realised that making a window frameless then relies on you as a developer to implement the OS window handling events to get the look and feel of the OS back; this is for the animations such has snapping the window and expanding it, minimizing it, etc. I think my approach will now be to have separate implementations for each OS window and aggregate my other widget classes that make up my GUI, this way I can have a single code base for my GUI that looks the same across platforms. Cheers for the response though! Have a good New Year! Quote
v_kyr Posted December 30, 2022 Posted December 30, 2022 2 hours ago, SlipperyBrick said: I think my approach will now be to have separate implementations for each OS window and aggregate my other widget classes that make up my GUI, this way I can have a single code base for my GUI that looks the same across platforms. Beside that you can better reuse/support the OS related APIs & services. Quote ☛ Affinity Designer 1.10.8 ◆ Affinity Photo 1.10.8 ◆ Affinity Publisher 1.10.8 ◆ OSX El Capitan ☛ Affinity V2.3 apps ◆ MacOS Sonoma 14.2 ◆ iPad OS 17.2
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.