summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2015-09-08The Fl_Gl_Window public API offers 2 ways to control the OpenGL capabilities ↵Manolo Gouy
of a window: 1) Fl_Gl_Window::mode(int m) is platform-independent and uses an argument containing bit flags (e.g., FL_DOUBLE, FL_RGB8) to express desired capabilities. The m argument is assigned to the mode_ private member variable of the Fl_Gl_Window object. 2) Fl_Gl_Window::mode(const int *a) is highly platform-dependent. It uses a zero-ending array of attributes or attribute-value pairs to express capabilities. This member function can be used on the X11 and the Mac OS platforms, but not with MSWindows. Before this patch, the mode_ private member variable of the Fl_Gl_Window object is assigned 0 by this member function. The Fl_Gl_Window::flush() member function tests whether the FL_DOUBLE flag is ON in the mode_ variable, and changes code path accordingly. Therefore, the second API to control OpenGL capabilities fails when a double-buffered GL context is required, because the code path followed by Fl_Gl_Window::flush() does not match the GL context requirements. With this patch, Fl_Gl_Window::mode(const int *a) scans the content of its array argument, and sets the FL_DOUBLE bit of the mode_ member variable if the array requires a double-buffered GL context. This patch does that for the X11 platform. The same was introduced for the Mac OS platform at r. 10854. The MSWindows platform does not use the Fl_Gl_Window::mode(const int *a) API. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10859 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-09-07Moved a few Mac-specific lines from Fl_Gl_Window::show() to Fl_Gl_Window::mode()Manolo Gouy
where it is more easily understood. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10858 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-09-07Mac OS: added missing cast required by some compilers.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10856 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-09-07Mac OS: properly handle OpenGL profile requests independently from what SDK ↵Manolo Gouy
version is used at compile time. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10855 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-09-07Mac OS X: restored the possibility to set a GL context mode with theManolo Gouy
Fl_Gl_Window::(const int *a) member function that uses a zero-ending array of system-dependent attributes. This procedure failed whenever a double buffer was asked for. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10854 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-09-03Extended Mac OS support of gl_draw() functions to old Apple hardware that ↵Manolo Gouy
does not implement the GL_EXT_texture_rectangle extension. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10852 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-09-01Fix confusing argument value to fl_measure() in tooltip handling.Albrecht Schlosser
The argument 'draw_symbols' was inconsistently set with the intended tooltip label alignment. This was confusing, but didn't do any harm since the value was != 0 anyway. Also added the 'image' and 'draw_symbols' argument to fl_draw() call. Defined static constant draw_symbols_ for potential later inclusion in Fl_Tooltip class and code clarification. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10850 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-08-31Mac OS: Use the more standard GL_TEXTURE_RECTANGLE_ARB Manolo Gouy
extension name instead of old GL_TEXTURE_RECTANGLE_EXT. Also, use the GL_BGRA format that is preferred for GL textures, according to "Optimal Data Formats and Types" from "Best Practices for Working with Texture Data". git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10849 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-08-31Improved use of the gl_texture_reset() function:Manolo Gouy
it is necessary only if all GL windows have been deleted. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10848 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-08-29Fixed bug in Mac OS version of gl_draw() that could produce truncated strings.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10847 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-08-28Moved Mac-specific type declaration to mac.HManolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10846 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-08-27Removed the global variable inputContext_SEL.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10845 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-08-27Programs compiled with pre-10.7 SDKs can now fully use retina displays.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10844 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-08-27Improved handling of differences between OS versions in text input.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10843 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-08-25Fix potential Windows GDI leak (STR #3254).Albrecht Schlosser
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10842 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-08-25It's clearer to implement and use a doNothing: message.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10841 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-08-24Remove a compilation warning appearing with Mac OS 10.11 +Manolo Gouy
explain better the intent of this thread creation. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10840 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-08-17Mac OS: simpler algorithm for function NSBitmapImageRep* GL_rect_to_nsbitmap()Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10834 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-08-16Mac OS: more efficient handling of ARGB image data produced underManolo Gouy
Mac OS 10.11 when capturing screen data. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10833 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-08-16[CMake] Fix missing link libraries for shared FLTK lib (STR #3251).Albrecht Schlosser
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10832 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-08-13Fix compiler warning [-Wsign-compare], remove dead (commented) code.Albrecht Schlosser
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10831 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-08-13Document Fl_Text_Editor::global_key_bindings and related methods.Albrecht Schlosser
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10830 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-08-11More accurate documentation of Fl_Window::wait_for_expose() for Mac OS.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10829 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-08-11Improved Mac OS implementation of Fl_Window::wait_for_expose().Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10828 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-08-07- Implement Fl_Window::wait_for_expose() for Mac OS:Manolo Gouy
The -[NSWindow makeKeyAndOrderFront:] message used to make the window appear on the screen, but, starting with 10.10 (approximately), this changed, and it became necessary to query for events for a new window to appear on the screen. With 10.11 two event messages are needed. The solution is therefore to implement Fl_Window::wait_for_expose(). - Calling NSDisableScreenUpdates()()/NSEnableScreenUpdates() before and after window updates greatly accelerates multi-window update operations. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10826 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-08-05The CGContextStrokePath bug has been fixed in Mac OS El Capitan (10.11) ↵Manolo Gouy
public beta 4. It's no longer necessary to apply a workaround for it. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10825 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-08-01Bypass Mac OS 10.11 bug in CGContextStrokePath() - continuedManolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10823 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-08-01Simpler code to support copy/paste of image data, that is also valid from ↵Manolo Gouy
Mac OS 10.3. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10822 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-08-01Fix for Mac OS 10.11 El Capitan bugged CGContextStrokePath() function:Manolo Gouy
replace it by CGContextReplacePathWithStrokedPath() + CGContextFillPath() that does the same without error. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10821 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-07-27Document Fl_Window::show() calling Fl_Group::current(0).Albrecht Schlosser
Also fix indenting in src/Fl_win32.cxx. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10820 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-07-26Fixes STR#3177; item_pathname() supports FL_SUBMENU_POINTER,Greg Ercolano
and small doc mods. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10819 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-07-25Fixed image copy/paste for Mac OS 10.4 and 10.5 that use different ↵Manolo Gouy
pasteboard type names from later OS versions. Unfortunately, it does not work with Mac OS 10.3 git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10818 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-07-25Make Fl_Copy_Surface work on Mac OS 10.3:Manolo Gouy
use different pasteboard data type names according to running OS. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10817 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-07-24Use -(NSGraphicsContext*)[NSWindow graphicsContext] to obtain the adequateManolo Gouy
graphics context to draw to a window. This requires Mac OS 10.4. The advantage is that it is possible for a secondary thread to call Fl_Window::make_current() without needing to create an autorelease pool. We save the native graphics state, and also the state with origin at top. Fl_X::q_release_context() restores the graphics state twice to return to the native state. This allows to use a single graphics context for a single window and a single thread. Under 10.3, we have to create a new NSGraphicsContext when Fl_Window::make_current() is called directly, so that secondary threads cannot call Fl_Window::make_current() without having created an autorelease pool. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10816 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-07-24Restore usability on Mac OS 10.3: Manolo Gouy
- do not use NSOpenGLPFAMultisample - do not use -[NSBitmapImageRep bitmapFormat] that require Mac OS 10.4 git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10815 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-07-22Update dependencies.Albrecht Schlosser
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10811 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-07-22It's possible to transmit an Fl_Shared_Image to Fl_Window::shape(const ↵Manolo Gouy
Fl_Image*) at no cost. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10809 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-07-22Prevent common dialogs, e.g., fl_alert(), from changing the currently active ↵Manolo Gouy
Fl_Group. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10808 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-07-21Fix window resizing of common dialogs under certain rare conditions.Albrecht Schlosser
The modified test program test/ask.cxx showed a problem that the active dialog window was resized when fl_message_icon() was called while it was open, because this call makeform() which resized the window. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10806 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-07-21Selected text is now displayed using a color that contrasts with the ↵Manolo Gouy
background color (This commit is in the interest of allowing the release of FLTK 1.3.4 not to be delayed). git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10804 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-07-21Under Mac OS 10.11 beta, fl_xyline(init,int,int) and fl_yxline(init,int,int) ↵Manolo Gouy
produce bizarre graphics just after processing a mouse or keyboard event (they are OK in other cases). We fix that by filling a rectangle instead of stroking along a line (and hope the public 10.11 will have fixed that). git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10803 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-07-20Prepare for Mac OS 10.11 'El Capitan':Manolo Gouy
- avoid double redraw after window deminiaturization - make sure that a new window appears on screen during the Fl_X::make() call git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10801 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-07-19Make sure the window is drawn when Fl_X::make() is calledManolo Gouy
(necessary with Mac OS 10.11). git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10800 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-07-18Fix and improve Fl_Table docs, fix some other typos.Albrecht Schlosser
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10799 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-07-18Restore compilability with Mac OS SDK 10.3 and aboveManolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10798 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-07-17Remove unnecessary include file (STR #3133).Albrecht Schlosser
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10797 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-07-17Allow compilation with early Mac OS SDKsManolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10796 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-07-17Fix wrong data type in Windows function override (STR #3232).Albrecht Schlosser
This patch uses the correct data type (as defined by Windows / msn) but does not fix the Cygwin linker problem. Unfortunately. This issue may be a Cygwin problem and should be reported to Cygwin. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10795 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-07-17Fix compilation errors with Mac OS 10.11 that no longer acceptsManolo Gouy
enum CGLineCap but wants CGLineCap as type name. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10794 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-07-17Comment for a change that appeared in Mac OS 10.11Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10793 ea41ed52-d2ee-0310-a9c1-e6b18d33e121