summaryrefslogtreecommitdiff
path: root/src/drivers/Cocoa
AgeCommit message (Collapse)Author
2023-10-09macOS: remove a bunch of deprecation warningsManoloFLTK
2023-06-26Fix Fl_Cocoa_Gl_Window_Driver::resize()ManoloFLTK
The additional [NSOpenGLContext flushBuffer] messages appear necessary when an Fl_Tile contains 2 or more GL subwindows.
2023-04-23Replace internal fl_create_offscreen() calls by new Fl_Image_SurfaceManoloFLTK
2023-04-21Fl_Window_Driver::destroy_double_buffer() does not need overridesManoloFLTK
2023-02-10Unlimited undo/redo for Fl_Input_ and Fl_Text_Buffer (#558) (#676)Matthias Melcher
2023-01-13Fix for "Rename Fl_X* Fl_Window::i private class member" (#223)ManoloFLTK
2023-01-11Fix ";" inadvertently written ","ManoloFLTK
2023-01-09Virtual member Fl_Window_Driver::makeWindow() now returns voidManoloFLTK
2023-01-01FLUID refactor and macOS warnings removed (#623)Matthias Melcher
P renamed to g_project class Project renamed to class Fluid_Project fixes macOS type cast warnings
2022-12-30Use `FL_OVERRIDE` for all overridden virtual methods (#611)Matthias Melcher
FL_OVERRIDE is defined as `override` for C++11 and higher FL_OVERRIDE is defined as `override` for VisualC 2015 and newer Don't interfere with Fl_Widget::override()
2022-11-30Remove small files fl_XXX_gl_platform_init.cxxManoloFLTK
The single-function content of these files is moved to Fl_XXX_Gl_Window_Driver.cxx.
2022-11-24Improve text drawing above GL3 scene under macOSManoloFLTK
2022-11-24Check boundary conditions in Cocoa scroll code (#554)Matthias Melcher
2022-11-24OpenGL3 under macOS: simpler implementation of support of child widgetsManoloFLTK
2022-11-23Improve Fl_Cocoa_Gl_Window_Driver::switch_to_GL1() to support multiple GL3 ↵ManoloFLTK
windows
2022-11-22macOS: Fix release of extra NSView holding child widgets of GL windowManoloFLTK
2022-11-11Remove redundant doxygen docs of fl_beep()Albrecht Schlosser
Also add a comment to all platform driver implementations.
2022-11-07Create class Fl_Unix_Screen_Driver used by X11 and Wayland platformsManoloFLTK
2022-10-02Clean use of virtual GLContext Fl_Gl_Window_Driver::create_gl_context().ManoloFLTK
2022-10-02macOS: simpler way to delete the GL1 context of widgets-using GL3 windows.ManoloFLTK
2022-10-01macOS: fixed problem in resizing of widget-containing OpenGL 3 window.ManoloFLTK
2022-09-30macOS: simpler code for auxiliary NSView supporting widgets on a GL3 window.ManoloFLTK
2022-09-29macOS platform: rename Fl_Cocoa_Gl_Window_Driver.cxx to .mmManoloFLTK
2022-09-29Support of FLTK widgets in OpenGL 3 windows - cont'd.ManoloFLTK
This commit allows to switch between FL_DOUBLE / FL_SINGLE modes in widget-containing GL3 windows. Demo program examples/OpenGL3test is modified to show FLTK widgets even if the platform does not support OpenGL 3.
2022-09-28macOS: support of FLTK widgets in OpenGL 3 windows - cont'd.ManoloFLTK
This code is OK under macOS 10 9 and 13.
2022-09-27Simpler code to support FLTK widgets in macOS OpenGL 3 windows.ManoloFLTK
Also, the application-level code to add widgets to a GL3 window becomes platform-independent.
2022-09-25Add cross-platform support for adding widgets to an OpenGL3-based Fl_Gl_Window.ManoloFLTK
Under non-macOS platforms, the key is to call glUseProgram(0); after having used OpenGL 3 which allows to then use OpenGL 1 and draw FLTK widgets over the OpenGL3 scene. Under macOS, this is impossible because macOS GL3 contexts are not compatible with GL1. The solution implemented here is to create an additional Fl_Gl_Window placed above and sized as the GL3-based window, to give it a non opaque, GL1-based context, and to put the FLTK widgets in that additional window.
2022-09-14Improve virtual void* Fl_Gl_Window_Driver::GetProcAddress(procName)ManoloFLTK
2022-09-13Remove forgotten debug code.ManoloFLTK
2022-09-07Improve support of child windows that may leak outside their parent window.ManoloFLTK
1) add Wayland code that prevent subwindows from leaking outside their parent. This does not cover GL subwindows. 2) add macOS code that prevent GL subwindows from leaking outside their parent. This fixes issue #494 for the macOS platform. N.B.: Wayland GL subwindows are not prevented from leaking because no solution that would not require any change in client applications was found. Code that would cover Wayland GL subwindows but would require client applications to always use the FL_ALPHA flag is included in this commit in commented out form.
2022-09-01Simplify Fl_Window_Driver::screen_num() member functions.ManoloFLTK
2022-08-29Make hybrid Wayland/X11 platform.ManoloFLTK
2022-08-20Remove FL_EXPORT qualifier from platform-specific class declarations.ManoloFLTK
2022-07-30Add support of macOS Ventura 13.0ManoloFLTK
2022-06-19Move input method support to Fl_Screen_Driver from Fl_Graphics_DriverManoloFLTK
2022-05-07Change protection levels in classes Fl_XXX_Gl_Window_DriverManoloFLTK
2022-05-06Remove useless typedef declaration.ManoloFLTK
2022-05-05Move struct shape_data_type inside Fl_XXX_Window_Driver.ManoloFLTK
2022-03-31Fix whitespace errors (no code changes)Albrecht Schlosser
2022-03-21Issue #359 RFE: access the MacOS windowid .ManoloFLTK
2022-03-13Remove unnecessary #include directivesManoloFLTK
2022-03-13Separate platform init functions from platform-specific driver filesManoloFLTK
2022-02-03Reorganize classes Fl_System_Driver and Fl_Screen_DriverManoloFLTK
These virtual members are moved from Fl_Screen_Driver to Fl_System_Driver - wait(double) - ready() These virtual members are moved from Fl_System_Driver to Fl_Screen_Driver - copy(const char *stuff, int len, int clipboard, const char *type) - void paste(Fl_Widget &widget, int clipboard, const char *type) - clipboard_contains(const char *type) - clipboard_notify_change() These members are moved from Fl_X11_Screen_Driver to Fl_X11_System_Driver - poll_or_select_with_delay(double time_to_wait) - poll_or_select() and are made virtual in preparation for the introduction of class Fl_Unix_System_Driver.
2022-01-31Consolidate timeout handling across platforms (#379)Albrecht Schlosser
Add Fl_Timeout class Move platform independent code of Fl::wait() to main part - basic timeout handling - Fl::run_checks() - Fl::run_idle() - Fl::idle() - waiting time calculation (next timeout) - remove platform dependent "screen driver" stuff
2022-01-16Rename FL/fl_string.h to FL/fl_string_functions.hAlbrecht Schlosser
This is part 1 of the final fix for a previous name clash on case insensitive file systems (fl_string.h vs. Fl_String.H).
2022-01-07Re-organize cross-platform support for text input methods.ManoloFLTK
FLTK 1.3 supports complex text input methods (TIMs) for the 3 platforms (X11, Windows, macOS). This support has an interface with FLTK that is common for X11 and Windows, via (undocumented) functions fl_set_spot(), fl_set_status() and fl_reset_spot(). In contrast, and because it's been developed independently, the interface between the macOS TIM and FLTK 1.3 is completely different : static functions FL::insertion_point_location() and Fl::reset_marked_text(). The present change implements a single TIM/FLTK interface used by all platforms based on functions fl_set_spot() and fl_reset_spot(). The previous macOS-specific functions FL::insertion_point_location() and Fl::reset_marked_text() are maintained only for compatibility with 1.3 and deprecated.
2021-12-09Remove compiler warnings about unused parameters (issue #307) - cont'dManoloFLTK
2021-12-07Fix for fltk.coredev "reentrant calls with Fl_Window::resize" - cont'dManoloFLTK
2021-12-06macOS platform: compute the screen number where a top window is mapped.ManoloFLTK
2021-11-24Fix for [fltk.coredev] reentrant calls with Fl_Window::resizeManoloFLTK