summaryrefslogtreecommitdiff
path: root/src/fl_draw.cxx
AgeCommit message (Collapse)Author
2023-12-02Improve contrast of check marks and radio buttons (#443)Albrecht Schlosser
- add fl_draw_radio(...) to standardize radio button drawing - src/Fl_Light_Button.cxx: use fl_contrast() to determine color of radio button and check (light) button check marks, and use new fl_draw_radio() method - src/Fl_Menu.cxx: same as src/Fl_Light_Button.cxx and use fl_draw_check() instead of "manually" drawing the check mark (forgotten in an earlier update)
2023-10-18Fix trailing whitespaceAlbrecht Schlosser
2023-10-16Add virtual void Fl_Graphics_Driver::draw_circle()ManoloFLTK
2023-10-15Fix small circle drawing and add doxygen \since statementAlbrecht Schlosser
src/fl_draw.cxx: improve documentation, add \since 1.4.0, simplify scaling code, use forgotten 'color' argument to set the circle color. src/fl_draw_arrow.cxx: add doxygen \since statement
2023-10-14Draws nicer small circles if display is scaled up.Matthias Melcher
2023-03-18Fix and update alignment #346 (#701)Matthias Melcher
* interactive layout alignment rewritten * interface for new alignment rules * new alignment dialog box * user defined layout rules added * layout rules can be stored in projects, settings, and external files * Valgrind verification
2023-01-11Fix "Long line crashes Fl_Hold_Browser" (#645)ManoloFLTK
This is in fact a regression introduced at commit be0f06e.
2023-01-05Refactor drawing small circles: add fl_draw_circle()Albrecht Schlosser
This method can be used to draw small circles as part of the GUI. It is independent of the current scheme. Very small circles are approximated by drawing several rectangles.
2022-11-25Add "Oxy" scheme (STR 2675, STR 3477)Albrecht Schlosser
This commit is similar to the patch given in STR 3477, oxy_v5.diff: https://www.fltk.org/strfiles/3477/oxy_v5.diff ... with modifications, and updated to current FLTK code.
2022-11-24Fix two new Visual Studio compiler warningsAlbrecht Schlosser
2022-11-24Remove two "warning: pointer xxx used after void* realloc()" messagesManoloFLTK
2022-11-22Refactor and simplify "arrow drawing" in widgetsAlbrecht Schlosser
"Arrows" in widgets are those GUI elements mostly represented by triangles pointing in a particular direction as in scrollbars, choice widgets, some menus, valuators and Fl_Counter widgets. The code has been simplified and standardized such that all these GUI elements are drawn identically per FLTK scheme. Widget authors no longer need to write code to calculate arrow sizes and draw polygons etc. Different schemes can and do implement different drawing functions. Todo: see comments "FIXME_ARROW" in src/Fl_Menu_Button.cxx and src/Fl_Menu.cxx
2022-07-27Improve check mark visibility for small sizesAlbrecht Schlosser
This looks a little better and more like FLTK 1.3
2021-11-19Fix doxygen docs of fl_draw_check()Albrecht Schlosser
.. as pointed out by Ian in fltk.coredev. Thanks.
2021-11-18Disable check mark debuggingAlbrecht Schlosser
2021-11-15Add fl_draw_check() to draw better check marks (issue #68)Albrecht Schlosser
This new function can and should be used to draw check marks in widgets that need it, e.g. Fl_Check_Browser (issue #68) and Fl_Check_Button.
2021-03-21Remove unnecessary system includes from public headersAlbrecht Schlosser
Add includes of system headers in the implementation files where necessary.
2021-02-27Rename fl_remove_scale() to fl_override_scale() as discussed in fltk.generalManoloFLTK
Re: Can custom box type functions handle their own high-DPI screen scaling?
2021-02-25Add fl_remove_scale()/fl_restore_scale() to transiently draw without scaling ↵ManoloFLTK
factor. This new API is a response to this message in fltk.general : Can custom box type functions handle their own high-DPI screen scaling?
2021-02-13Remove compilation warnings issued by Visual Studio 2019.ManoloFLTK
2020-07-06Remove $Id$ tags, update URL's, and moreAlbrecht Schlosser
- remove obsolete svn '$Id$' tags from all source files - update .fl files and generated files accordingly - replace 'http://www.fltk.org' URL's with 'https://...' - replace bug report URL 'str.php' with 'bugs.php' - remove trailing whitespace - fix other whitespace errors flagged by Git - add and/or fix missing or wrong standard headers - convert tabs to spaces in all source files The only relevant code changes are in the fluid/ folder where some .fl files and other source files were used to generate the '$Id' headers and footers.
2020-02-03Move fl_font(face, size) to fl_draw.cxxAlbrecht Schlosser
I believe this is a better place. Also: add FL_EXPORT since it's no longer inline.
2017-02-19Fix line wrap at word end when string widths are true double values (non ↵Manolo Gouy
integer). Useful for rescaling that creates non-integer string widths. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12176 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-07-24Doc changes: set fl_font before fl_measure() (STR #3243)Albrecht Schlosser
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11848 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-27Fix compiler warnings (STR #2988) - final commit.Albrecht Schlosser
This commit includes all fixes from branch-1.3 (svn r 11243) and additional fixes for warnings that crept in during the porting efforts, particularly C++ ("//") comments in C and included header files, and some more. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11246 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-01-26Moving image drawing code into the driver systemMatthias Melcher
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11060 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-09-03Remove unused code and trailing white space.Albrecht Schlosser
The unused function was commented out about 6 months ago, see svn r 10123. No changes other than comments and white space. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10265 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-03-30Minor reformatting to follow the coding style of the CMP.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10124 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-03-28Removes a constraint that the fancy string drawing function fl_draw() is ↵Manolo Gouy
limited to 1024 chars/line that blocked a user of the Fl_Browser widget (see "fl_draw MAXBUF limit" in fltk.coredev). Also, removed a useless computation in string expansion that checked for valid UTF-8 sequences: the point is that a valid UTF-8 sequence for a non-ascii char contains no ascii char, thus no tab, space, control, & or @ we want to process differently. Also, invalid UTF-8 sequences are copied unchanged by this procedure. Therefore, checking for tab, space, control, & or @, and copying the byte otherwise, is enough. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10123 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2013-04-09Fix STR# 2772: remove dead code in fl_measure()Greg Ercolano
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9869 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2012-04-05fix a typo and indenting.Albrecht Schlosser
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9326 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2012-04-05Fixed build error in msvs because Fl ref to FULLSCREEN enum was not ↵Fabien Costantini
accessible in Fl_Widget. new inline is_fullscreen() getter has been implemented to avoid a build error with (at least) msvc compilers. Fixed a ton of warnings / problems when bilding on windows 64 bits target with ms toolchain. cleaned up about 200 warnings raised when building win74 targets. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9325 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2012-02-04fl_measure() doc clarifications for common use errors.Greg Ercolano
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9233 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-30Fix STR #2649: fl_measure() did not handle well double @@ at line start.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8763 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-02-07Fix STR #2557.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8398 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-11-28Fixed Copyright to 2010.Matthias Melcher
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7903 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-10-30Fixed label alignment (STR #2436)Matthias Melcher
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7782 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-04-14Removed compilation warningManolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7502 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-04-09Added new label alignments for image and text to Fluid.Matthias Melcher
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7476 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-04-07Added new flags for label alignment: FL_LEFT_TOP, FL_RIGHT_TOP, ↵Matthias Melcher
FL_LEFT_BOTTOM, and FL_RIGHT_BOTTOM align outside labels first to the side, then to the top or botton, filling a gap in possible alignment. Also FL_ALIGN_TEXT_NEXT_TO_IMAGE and FL_ALIGN_IMAGE_NEXT_TO_TEXT which do just that, and finally FL_ALIGN_IMAGE_BACKDROP which renders the image in the background and draws the label on top. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7469 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-03-29Removed more Cocoa/Quartz references. Finally moved OS X font down a pixel.Matthias Melcher
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7357 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
2009-08-28Applied patch from STR#2115.Greg Ercolano
This fix to fl_height(int,int) solves the "digital drit" problem in Fl_Text_Editor, where doing insert/delete operations was leaving a trail of dead pixels. Also fixes problem with font display problem in fluid's code editor. See the STR for screenshots of the problem. NOTE: THIS IS A WORKAROUND FOR A DEEPER PROBLEM. Somewhere during the port of UTF8, the actual pixel size of the displayed font is a little off, causing FLTK to miscalculate line height, causing 'digital drit'. It used to be that when you specified a font size, the font's actual displayed pixel size matched the font size value. This fix makes the fl_height(int,int) function more robust, actually inquiring the font system for its font size, instead of assuming the font size is the same as the 'size' argument. Since Fl_Text_Editor makes use of this function, it helps that widget calculate font sizes correctly. The real fix will be restoring FLTK's old behavior where the font size specified is the actual pixel size of the displayed font. Then this function can be reverted to just returning the 'size' argument. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6845 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2009-04-01converted more html tags to doxygen commands in drawing.doxengelsman
most of the function names used as indented paragraph titles are now recognised properly and are shown as links. However, I was forced to "downgrade" many function() references in the text so that the unwary user isn't unexpectedly teleported off the tutorial pages. It reduces the link spaghetti a lot, tweaked Enumerations.H and fl_draw.cxx to get doxygen to recognise more function names used in drawing.dox. only fl_scroll(...) and the offscreen drawing functions still needed for drawing.dox git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6735 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@6562 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2008-12-06Replaced all occurrences of the deprecated fl_clip() function byAlbrecht Schlosser
fl_push_clip(). git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6551 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2008-12-04STR#2086 related Fixes :Fabien Costantini
This one was really tough to track, understand: In fact, the problem was comming from the misplacement of the menu window, which itself came from invalid measurement, which itself came from invalid fl_witdh() measurement, but only when fl_gc is not valid because fl_width() relies on Win32 on the call of GetTextExtentPoint32W which can't succeed if the HDC(here fl_gc) is not valid ! Now the fix: A best-effort algorithm has been furthered to supply a valid fltk hdc if we can have one or a screen hdc if no fltk window is found by fl::first_window(). Note that when fl_gc is NULL inside fl_width() call, it can happen that Fl_Window::current() is not null but invalid (already deleted). Finally, in the case of the buggy menu window observed here, this fl_gc was set to NULL just after an Fl_Menu_Window deletion and re-creation in Fl_Menu_Item::pulldown(). Also added a comment to describe the new fl_width() behavior. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6540 ea41ed52-d2ee-0310-a9c1-e6b18d33e121