ultimatepp/uppsrc/CtrlCore/GtkAfter.h
Zbigniew Rębacz 511ff1e991
Initial version of GTK Wayland backend (#205)
* Obtaining Gtk backend and runtime and displaying it in About box.

* .fixes

* .csometics

* Initial iteration for GTK on Wayland. Works suprisingly stable.

* Disable X11Utils when Wayland backend detected.

* Cosmetics

* .native

* First iteration of CSD.

* .working

* .working

* Calculating additional window spaced used by CSD.

* Fix max window size problem.

* Fix issue with rendering.

* .refactoring

* Fix splash screen when SSD is enable.

* Fix issue with mouse scrolling when CSD is enable.

* Not ideal fix for no keyboard input in parent window.

* Fix problem with XDisplay compilation and change name of GdkBackend to GtkBackend.

* Introduce new WAYLAND flag.

* Ctrl::GetWndScreenRect() fix for X11.

* Fix to compile on mac

---------

Co-authored-by: Zbigniew Rębacz <zbigniew.rebacz@hotmail.com>
2025-02-02 11:47:32 +01:00

31 lines
748 B
C++

class TopFrameDraw : public SystemDraw {
#if GTK_CHECK_VERSION(3, 22, 0)
GdkDrawingContext *ctx;
#endif
public:
TopFrameDraw(Ctrl *ctrl, const Rect& r);
~TopFrameDraw();
};
class DHCtrl : Ctrl {};
bool InitGtkApp(int argc, char **argv, const char **envptr);
void ExitGtkApp();
#define GUI_APP_MAIN \
void GuiMainFn_(); \
\
int main(int argc, char **argv, const char **envptr) { \
UPP::AppInit__(argc, (const char **)argv, envptr); \
GUI_APP_MAIN_HOOK \
if (!UPP::InitGtkApp(argc, argv, envptr)) \
return -1; \
UPP::AppExecute__(GuiMainFn_); \
UPP::Ctrl::CloseTopCtrls(); \
UPP::ExitGtkApp(); \
UPP::Ctrl::ShutdownThreads(); \
UPP::AppExit__(); \
return UPP::GetExitCode(); \
} \
\
void GuiMainFn_()