GUI
#3230
Replies: 2 comments
|
The simplest way is to use the C wrapper. |
0 replies
|
Maybe you can check this https://github.com/LukyGuyLucky/cfltk-c3-binding- |
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
I work in C++ an I am using FLTK as GUI lib. Is it possible to use FLTK with C3 now??
FLTK Key Features & Benefits:
A. Static Compilation: One major advantage is that FLTK allows for static linking, meaning you can create a single
executable file that doesn't require users to install additional library files.
B. Cross-Platform: It works across Windows, Linux, and even DOS (though DOS may have long file name limitations).
C. Small Footprint: Simple programs can be as small as 700 KB, which is very light compared to other GUI frameworks like GTK.
D. Customization: Every widget in FLTK has a draw method that you can overwrite to create custom-looking interfaces.
Here is how it works in FreeBasic:
FreeBASIC can use the Fast Light Toolkit (FLTK) for GUI development, primarily through community-developed wrappers and header translations.
Since FLTK is natively written in C++, FreeBASIC (which has a C-compatible ABI) typically requires a "wrapper"
or specially translated headers to interface with it.
Common Integration Methods ::
making it easier for FreeBASIC to call its functions.
with FreeBASIC’s Object-Oriented features, avoiding the need for a separate C wrapper.
is it possible to have abstract representations of standard interface components like LCL??
LCL: The Lazarus Component Library (LCL) is a cross-platform GUI library for Object Pascal (compiled with Free Pascal).
It functions as a platform-independent abstraction layer, providing the same code base to create visual applications on Windows, macOS, Linux, and Android.
The Abstraction Layer: The LCL provides abstract representations of standard interface components (such as TForm, TButton, TEdit).
To render UI elements, the LCL communicates through "interfaces" (or widgetsets). Lazarus features modular interfaces compiled to match your operating system, including:
Windows: Win32/Win64 APImacOS: CocoaLinux: Gtk2, Gtk3, or Qt5/Qt6Mobile: Custom-drawn backends (like Android)
All reactions