summaryrefslogtreecommitdiff
path: root/src/fl_rect.cxx
AgeCommit message (Collapse)Author
2012-03-18Fix STR#2810: removed all uses of function Fl_Device::class_name().Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9293 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-09-28Mac only: further fine tuning in clipping/rectf needed for scroll demo after ↵Manolo Gouy
changes in r.9050. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9074 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-09-19Mac OS: simplified use of CGRectMake() for rectangle drawing and clipping on ↵Manolo Gouy
display and printer. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9050 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-07-19Modifications to all LGPL headers for STR #2685.Greg Ercolano
(to clarify static exception LGPL by changing license references) git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8864 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-05-01Fixed drawing artifacts when scrolling round boxes (FL_ROUND_UP_BOX andAlbrecht Schlosser
FL_ROUND_DOWN_BOX) on Linux (STR #2615). This was done by (a) setting the line width in the box drawing function (was undefined, maybe 0) (b) taking care of zero and negative line width in X11 clipping functions. Both solutions would have solved the particular problem individually. Additionally made local helper function fl_arc_i() in src/fl_round_box.cxx static to avoid name clashes. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8630 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-04-10Mac OS: fl_rect(), fl_rectf(), and fl_point() now have exact same output to ↵Manolo Gouy
display and printer. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8572 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-02-24Made struct matrix a subclass of Fl_Graphics_Device class to avoid collisionManolo Gouy
with application-defined names. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8471 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-02-04Fix STR #2535: clipping + coordinate transformations are now managed ↵Manolo Gouy
separately for each surface device. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8368 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-01-05Renamed Fl_Device::type() to Fl_Device::class_name() to avoid conflict or ↵Manolo Gouy
confusion with Fl_Widget::type(). Added a setter function Fl_Device::class_name(const char *). git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8190 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-12-18Mac OS: replaced several global functions by new member functions of Mac ↵Manolo Gouy
OS-specific Fl_X class. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8055 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-11-23Added forgotten 'static' keyword to clip_x().Albrecht Schlosser
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7889 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-11-23More clipping updates for X11 with coordinates > 32767.Albrecht Schlosser
All horizontal and vertical line drawings, as well as fl_rect(), fl_rectf(), and fl_point() should be clipped correctly. Nothing has been done for arbitrary (non-orthogonal) lines or other drawings, but this should suffice for box drawings of large container widgets (STR #2304). git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7888 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-11-22More clipping fixes for X11 with coordinates > 32767 (STR #2304).Albrecht Schlosser
The following functions are fixed now: fl_rect(x,y,w,h), fl_rectf(x,y,w,h), fl_not_clipped(x,y,w,h), fl_xyline(x, y, x1), and fl_yxline(x, y, y1). These functions are sufficient for basic box and frame drawing functions, but maybe there are other functions left. Note that fl_xyline() and fl_yxline() are fixed only for one line segment. Those with more line segments need still to be fixed. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7884 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-11-22Removed redundant case in fix for STR #2304.Albrecht Schlosser
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7883 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-11-22Fix X11 coordinates > 32767 (STR #2304).Albrecht Schlosser
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7882 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-10-28Applied patch from STR#2428 to fix warnings on OSX/Tiger for fl_rect.cxx.Greg Ercolano
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7768 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-05-27Better device hierarchy with surfaces and graphics drivers.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7617 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-04-18Removed multiple inheritance: back to r. 7519 exactly.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7522 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-04-16Improved the hierarchy of Fl_Device subclasses to allow separation of ↵Manolo Gouy
platform-specific devices. This introduces multiple inheritance. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7520 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-03-29STR #2330: offscreen bitmap cliping was flipped in OS XMatthias Melcher
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7358 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-03-29OS X: removed all Carbon and Quickdraw references. Starting with 1.3, we ↵Matthias Melcher
only support Cocoa and Quartz. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7351 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-03-21Completed Doxygen documentation of Fl_Device, Fl_Abstract_Printer, ↵Manolo Gouy
Fl_Printer classes. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7310 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-03-14Merge of branch-1.3-Fl_Printer, with the following main changes:Albrecht Schlosser
(1) adding Fl_Device class (and more) for device abstraction (2) adding Fl_Pinter class (and more) for printing support. Todo: Code cleanup, update dependencies, remove/replace test print window. I'm looking into converting the test window popup in a global shortcut that would pop up the print dialog now... git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7263 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-02-10closed memory leakManolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7059 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-02-02simplifying clipping algorithm: done once in make_current() instead of ↵Manolo Gouy
repeated at each fl_restore_clip() call git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7037 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-01-29defined macro FL_CGRECTMAKE_COCOA thatManolo Gouy
contains the correct way to transform x,y,w,h into a CGRect adequate for clipping git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7035 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-01-24Three Cocoa-related changes:Manolo Gouy
- correct window resize in mandelbrot demo - clip to 1-pixel and 0-pixel width now work - modifier key presses are now correctly reported git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7029 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2009-12-06Moved OS X code base to the more moder Cocoa toolkit thanks to the awesome ↵Matthias Melcher
work of Manolo Gouy (STR #2221). This is a big one! I tested all test applications under 32-bit autoconf and Xcode, and a few apps under 64bit intel. No PPC testing was done. Please verify this patch if you have the machine! git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6951 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2009-04-12Reorganized Unittest / fixed and improved OS X keybord support and ↵Matthias Melcher
alternative input methods / fixed OS X utf8 DnD git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6755 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2009-03-24Major documentation update including: now html doc API is sorted, navigation ↵Fabien Costantini
problems/side effects fixed, html tags replaced by proper doxygen commands, parameters command switched from a to p. Includes a pdf update. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6716 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2009-01-01Changed Copyright in 'src' directoryMatthias Melcher
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6616 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2008-12-07Fixed typos and amended doxygen docs.Albrecht Schlosser
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6564 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2008-12-07Fixed some typos in src/fl_rect.cxx (doxygen comments).Albrecht Schlosser
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6555 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2008-10-13Quickdraw removal: option removed from configure, all Qd code removed from ↵Fabien Costantini
sources. Also took this opportunity to sort the ifdef clauses so that USE_X11 shows first. Also added error pragma to enforce proper target checking, thus make even less assumptions. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6423 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2008-10-13copied more doxygen comments from drawing.dox back to source codeengelsman
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6421 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2008-10-07doxygen comments for undocumented drawing, clipping and color functionsengelsman
added comments in fl_draw.H, fl_color.cxx and fl_rect.cxx so that the links within drawing.dox can be simplified to allow LaTeX/PDF docs too. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6392 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2008-09-16Doxygen documentation : took the opportunity to update copyright info as we ↵Fabien Costantini
modified already in batch almost all sources, added also a fil doxygen command to class headers to harmonize with original matt Fl_Widget dox. format. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6265 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2007-02-12Fixed clipping in OS X Quartz offscreen buffers (STR #1595)Matthias Melcher
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@5692 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2005-12-14STR $1099: The Quartz version of FLTK now draws a very nice resizeMatthias Melcher
control in the lower right corner of top-level windows if that window is resizable. The color of the control adapts to the background color of the window. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@4711 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2005-07-14- I had to revert SVN fix 4386 which simplified Carbon clipping, but also ↵Matthias Melcher
introduced unwanted overwriting of subwindows. The current code is slower, but correct, and should still perform well enough if here are no subwindows. For FLTK2, this is no issue since subwindows and subgroups are implemented without OS support. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@4416 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2005-06-01Fix clipping code on OSX...Michael R Sweet
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@4386 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2005-04-16Update source file headers with STR web page.Michael R Sweet
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@4288 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2005-03-21Polygon drawing fixed #765, fl_message wrapped in Fl_Group::current(0), so ↵Matthias Melcher
it doesn't end up inside some current group #253. Undefined 'check' in Fl_Menu_Item_, so it will compile as an Apple XCode project (to be delivered later).. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@4154 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2005-03-20Preliminary template save support in FLUID, plus some bug fixes.Michael R Sweet
fluid/Fl_Type.h: - Added read_image() declaration to Fl_Window_Type class. fluid/Fl_Window_Type.cxx: - Added Overlay_Window::read_image() and Fl_Window_Type::read_image() functions. - Fl_Window_Type::fix_overlay(): update menu indices. - toggle_overlays(): update menu indices. fluid/fluid.cxx: - save_template_cb(): Added to save to ~/.fltk/fltk.org/fluid/templates, along with PNG screenshot of first window. - "Save To" instead of "Save to". - Use fl_alert() for errors, not fl_message(). - Add "File/Save Template..." and "File/Print..." (not yet implemented) menu items. - toggle_widgetbin_cb(): update menu indices. fluid/undo.cxx: - Update menu item indices. - Don't need extra slash in undo checkpoint filename. src/Fl_PNG_Image.cxx: - Fix typo in #endif comment. src/Fl_Window.cxx: - Fl_Window::draw(): save/restore flags() when changing label. - Fl_Window::iconlabel(): save/restore flags() when changing label. src/fl_rect.cxx: - fl_not_clipped(): don't use current window for gross clipping. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@4147 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2005-02-24Copyright updates.Michael R Sweet
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@4052 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2004-09-09Quartz port:Matthias Melcher
- removed all #warning statemnets and explained caveats with regular // warning lines - made GL text rendering work again (may use wrong fonts since agl doesn't really support ATS) - removed horizontal jittering in Fl_Input_ caused by fractional text positions. Unfortunatly, this does not work for Fl_Text_Display, which not only jitters, but also became horendously slow due to the complex font rendering in Quartz) I will fix some of the speed issues in fl_measure this afternoon, and also improve on the 'innards' for rgb data rendering. After that, I will have to leave the Quartz port alone for a while due to lack of time. I suggest we make another rc in the next days. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@3812 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2004-08-31Quartz for FLTK1.1Matthias Melcher
- Pixmaps now correctly support transparency/masking - subimage drawing aligned correctly - lines with a size over 1 always anti-alias - fl_begin_points/fl_end_points works - fixed refresh problem for multiple open windows Will check Linux compile right after this commit to make sure that I didn't destroy anything. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@3800 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2004-08-27Quartz:Matthias Melcher
- made multiple contexts for windows, popups and menus work - still missing: double buffer handling git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@3793 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2004-08-26FLTK1.1 Quartz support:Matthias Melcher
- added a 'test/unittests' which wil check for identical drawing on all platforms. This was desperatly needed to fix tremendous problems in getting the Quartz drawing routines right - disabled anti-aliasing for functions that draw straight lines at integer coordinates git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@3788 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2004-08-26Mac Quartz:Matthias Melcher
- attempt at making the clipping work well - improved drawing (still many 1-off bugs) - 'arc' test seems to run well - beware! the Quartz version is pretty unstable at this point git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@3785 ea41ed52-d2ee-0310-a9c1-e6b18d33e121