summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2016-02-26Create class Fl_Widget_Surface that supports draw(Fl_Widget *, int, int).Manolo Gouy
This simplifies the implementation of Fl_Copy_Surface and Fl_Image_Surface which now are made to derive from Fl_Widget_Surface. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11220 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-26Update dependencies.Albrecht Schlosser
Note: we should really get rid of that! git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11219 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-25Remove the useless pseudo run-time type information supported by the ↵Manolo Gouy
Fl_Device class. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11217 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-25Remove the global variable fl_mask_bitmap - put it in the graphics driver's ↵Manolo Gouy
virtual API. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11216 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-25Remove useless declarations.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11215 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-25Mac OS platform: make fl_draw_image() draw correctly depth-4 images with ↵Manolo Gouy
transparent areas. This simplifies the drawing of Fl_Pixmap's. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11214 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-24Avoid static initializers to allow FLTK usage in static initializers.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11213 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-23Fix Fl_RGB_Image::uncache() and Fl_Bitmap::uncache().Manolo Gouy
It is not possible to use fl_graphics_driver in these functions because when they are called *fl_graphics_driver may have been deleted. A solution is to use Fl_Display_Device::display_device()->driver() instead which is always valid. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11212 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-22Fix unused variable compiler warning.Albrecht Schlosser
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11209 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-22Fix Fl_Text_Display line numbers and scrolling (STR #3272).Albrecht Schlosser
Fix slow scrolling, line number display, and scrollbars (STR #3272). Optimized wrap mode - removed unnecessary wrap margin calculations. The speed-up is significant, but there is still room for improvements. Refactored parts of the code to make the decisions more modular and (hopefully) obvious. This commit also fixes some positioning issues with different scrollbar alignments and the new line number display. Fix line number display with wrap mode (hiding text behind scrollbars). Note: same changes as r11202 and r11205 in branch-1.3. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11208 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-20Update copyright and comments of src/cmap.cxx (no code changes).Albrecht Schlosser
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11201 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-20Document creation of src/fl_cmap.h with src/cmap.cxx.Albrecht Schlosser
This is only for developer info. Note: cmap.cxx is not included in the library. It is only used to generate fl_cmap.h. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11200 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-20Fix include files.Albrecht Schlosser
Note: ../../config_lib.h also includes <config.h>. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11199 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-19Fixes for X11Matthias Melcher
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11197 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-19Add example code to Fl_Window_Driver.Matthias Melcher
Some refactoring of a take_focus() function into driver structures (not too happy with it, because it has some kind of bug fix. However, shouldn't *all* Fl_Windows always have an FL_Window_Driver?) git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11196 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-19Instantiate the right Fl_Window_Driver.Matthias Melcher
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11195 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-19Typo in X11 part of src/MakefileMatthias Melcher
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11194 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-19Add System Driver and Window Driver.Matthias Melcher
Adding two new driver types for each platform. Fl_..._System_Drivers exist once per application and provide an interface for to file and filename handling, timers, locking, multithreading, etc. . The Fl_..._Window_Driver class is instantiated once for every window in the system and corresponds closely to (and actually inherits from) Fl_X. The difference now is, that there is one Fl_X/Fl_Window_Driver base class, and one platform version that derives from it. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11193 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-19Fix Fl_X11_Screen_Driver::wait(). The fractals demo is back.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11192 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-19Rename Fl_Graphics_Driver::set_gc(void*) to gc(void*) and ↵Manolo Gouy
Fl_Graphics_Driver::get_gc() to gc(). git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11191 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-19Update the fl_gc global variable also when Fl_Graphics_Driver::set_gc() is ↵Manolo Gouy
called. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11190 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-18Remove all uses of the fl_gc global variable. Towards a clean driver model.Manolo Gouy
fl_gc remains usable by the application as a hook into the system. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11189 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-18Fix Fl::grab(win) under Linux (program crashed in menus).Albrecht Schlosser
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11187 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-17Fix flush() call (Linux) - makes drawing work again, but still buggy.Albrecht Schlosser
With this fix drawing works again under Linux. Tiny diff, but ... Known bugs: opening Fl_Choice dropdown menus crashes the program. In my experience it takes a while (5-10 seconds) before the crash occurs. Maybe an endless loop that eventually "kills" the stack ? git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11186 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-17Fix compilation under Linux - compiles, but doesn't work :-(Albrecht Schlosser
I moved all timer related (X11) stuff from src/Fl.cxx to src/drivers/X11/Fl_X11_Screen_Driver.cxx and added externals as done by Ian in a previous commit for the WinAPI screen driver. I did not (yet) remove the code from Fl_x.cxx though, but disabled it. See: #if (0) // *FIXME* moved to src/drivers/X11/Fl_X11_Screen_Driver.cxx Current state is that FLTK can be compiled and linked again (under Linux) but doesn't work (shows empty windows only). I thought it was worth to commit my work, but can't check what's going on right now - other devs should feel free to continue this. PS: the new code in src/drivers/X11/Fl_X11_Screen_Driver.cxx was just dropped in, keeping the right order for usage of static helper functions, but should be fixed in all regards (order, logic, ...). git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11185 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-17Fix typos.Albrecht Schlosser
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11184 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-16Fix drawing of window decoration.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11183 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-15Reformatting.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11182 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-15Restore compilability for the WIN32 platform.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11181 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-15Improve image drawing to double-resolution Fl_Image_Surface objects (Mac OS ↵Manolo Gouy
only). git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11180 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-15FL porting Win32 build fix:Ian MacArthur
Fix a typo. in Fl_WinAPI_Screen_Driver.cxx that was preventing linking. Also hack around a build issue by adding some extra extern calls to Fl_WinAPI_Screen_Driver.cxx. I suspect that these are also needed in Fl_X11_Screen_Driver.cxx but do not have an X11 box here to test with. In any case, these added externs should probably be in an internal header somewhere, not in the code like I have done! Currently builds/runs OK on Win7 with these changes. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11178 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-14Fix HTML entities in Fl_Help_View.Albrecht Schlosser
Removed obsolete ENC() macro, fixed some encodings that were still Windows CP-1252: converted to correct Unicode values. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11175 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-14Fl_Graphics_Driver::has_feature(Fl_Graphics_Driver::NATIVE) is useful here.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11172 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-14Remove Fl_X::q_fill_context() used only once.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11171 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-14Remove Fl_X::q_clear_clipping() used only once.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11170 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-14Move Fl_Quartz_Graphics_Driver::draw_CGImage() to ↵Manolo Gouy
Fl_Quartz_Graphics_Driver_image.cxx git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11169 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-13[Cairo] Remove part of the dependency of FL/Fl.H on config.h.Albrecht Schlosser
To use Fl_Cairo_Window one did not only need to configure with --enable-cairo, but also needed to #include <config.h> before #include <FL/Fl.H>. This commit removes the smaller part of the dependency of the public header file FL/Fl.H on config.h. This needs a better solution in FLTK 1.4.0. The user still needs to define FLTK_HAVE_CAIRO _before_ #include <FL/Fl.H>. Note: This is not compatible with fluid, since fluid _always_ includes FL/Fl.H as the first statement in generated header files. See also the discussion in fltk.general: https://groups.google.com/d/msg/fltkgeneral/_C1OJhMLQl0/pHUFtz9SCwAJ Note: also fixed a typo in src/drivers/X11/Fl_X11_Screen_Driver.cxx git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11168 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-13Moed Fl::visual and System_Scheme to the driverMatthias Melcher
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11166 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-13New member function Fl_Quartz_Graphics_Driver::draw_CGImage() used ↵Manolo Gouy
internally for all image drawing. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11165 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-13Refactoring get_system_colors() into Fl_Screen_DriverMatthias Melcher
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11164 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-13Details on PORTME items. Move fl_parse_color() to screen drivers.Matthias Melcher
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11163 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-13Simpler code to support drawing to high-resolution Fl_Image_Surface object.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11162 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-12Fl_Window::capture_titlebar_and_borders() returns a double-resolution top image.Manolo Gouy
Also, Fl_Image_Surface now can draw a scaled Fl_Shared_Image to a double-resolution surface. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11160 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-12Add Fl_Shared_Image *Fl_Image_Surface::highres_image() to draw into ↵Manolo Gouy
high-resolution bitmap. Also, change arguments of void Fl_Window::capture_titlebar_and_borders() from Fl_RGB_Image to F_Shared_Image so, in the future, scaled images having a drawing size distinct from a pixel size can be returned, to support high-resolution displays. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11159 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-12Add Fl_Shared_Image *Fl_Image_Surface::highres_image() to draw into ↵Manolo Gouy
high-resolution bitmap. This new member function returns a high resolution bitmap image scaled to the adequate drawing size. This allows to create a bitmap image able to fill all pixels of a high resolution display. This is functional only for the Mac OS platform. On other platforms, the new member function returns an unscaled bitmap. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11158 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-11Mark places that need to be refactored with // PORTME:Matthias Melcher
Searching for __APPLE, WIN32 or X11 did give me many false results. I instead marked most ifdef's that I would like to get rid of with the text // PORTME:, so they can be easily found by a global search. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11155 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-11Typo in Fl_X11_Screen_Driver::flush headerMatthias Melcher
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11154 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-11Move platform part of Fl::flush()Matthias Melcher
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11153 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-10Moving fl_beep into screen driver.Matthias Melcher
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11152 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-10Avoid OS X warning.Matthias Melcher
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11151 ea41ed52-d2ee-0310-a9c1-e6b18d33e121