Commit Graph

72 Commits

Author SHA1 Message Date
Manolo Gouy
7ce87f5102 Mac OS: fl_rect(), fl_rectf(), and fl_point() now have exact same output to display and printer.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8572 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-04-10 09:01:13 +00:00
Manolo Gouy
27987c6ee0 Made struct matrix a subclass of Fl_Graphics_Device class to avoid collision
with application-defined names.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8471 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-02-24 18:02:11 +00:00
Manolo Gouy
668dfd109f Fix STR #2535: clipping + coordinate transformations are now managed separately for each
surface device.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8368 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-02-04 23:32:53 +00:00
Manolo Gouy
4beb3b88e8 Renamed Fl_Device::type() to Fl_Device::class_name() to avoid conflict or 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
2011-01-05 10:21:45 +00:00
Manolo Gouy
d01c9cdf5b Mac OS: replaced several global functions by new member functions of Mac OS-specific Fl_X class.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8055 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-12-18 22:31:01 +00:00
Albrecht Schlosser
c0fcb987cc Added forgotten 'static' keyword to clip_x().
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7889 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-11-23 17:37:49 +00:00
Albrecht Schlosser
36ffb5c5d5 More clipping updates for X11 with coordinates > 32767.
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-23 17:18:42 +00:00
Albrecht Schlosser
3a807e55bc More clipping fixes for X11 with coordinates > 32767 (STR #2304).
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-22 18:17:51 +00:00
Albrecht Schlosser
cdad633e87 Removed redundant case in fix for STR #2304.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7883 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-11-22 13:11:48 +00:00
Albrecht Schlosser
7d84aea1fb Fix X11 coordinates > 32767 (STR #2304).
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7882 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-11-22 13:01:03 +00:00
Greg Ercolano
86f82cce6a Applied patch from STR#2428 to fix warnings on OSX/Tiger for fl_rect.cxx.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7768 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-10-28 23:08:06 +00:00
Manolo Gouy
26049351e0 Better device hierarchy with surfaces and graphics drivers.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7617 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-05-27 17:20:18 +00:00
Manolo Gouy
d0b1cc30f7 Removed multiple inheritance: back to r. 7519 exactly.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7522 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-04-18 06:57:37 +00:00
Manolo Gouy
913530758a Improved the hierarchy of Fl_Device subclasses to allow separation of 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-04-16 20:19:09 +00:00
Matthias Melcher
4f1722eb55 STR #2330: offscreen bitmap cliping was flipped in OS X
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7358 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-03-29 14:37:02 +00:00
Matthias Melcher
941901e273 OS X: removed all Carbon and Quickdraw references. Starting with 1.3, we only support Cocoa and Quartz.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7351 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-03-29 10:35:00 +00:00
Manolo Gouy
c5d7f42a22 Completed Doxygen documentation of Fl_Device, Fl_Abstract_Printer, Fl_Printer classes.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7310 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-03-21 08:26:40 +00:00
Albrecht Schlosser
998cc6df52 Merge of branch-1.3-Fl_Printer, with the following main changes:
(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-03-14 18:07:24 +00:00
Manolo Gouy
96125e6e4a closed memory leak
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7059 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-02-10 22:11:04 +00:00
Manolo Gouy
5ec87ac848 simplifying clipping algorithm: done once in make_current() instead of 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-02-02 17:13:55 +00:00
Manolo Gouy
4645ed9703 defined macro FL_CGRECTMAKE_COCOA that
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-29 21:16:20 +00:00
Manolo Gouy
1eb95cd823 Three Cocoa-related changes:
- 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
2010-01-24 10:27:21 +00:00
Matthias Melcher
b2cffc688e Moved OS X code base to the more moder Cocoa toolkit thanks to the awesome 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-12-06 22:21:55 +00:00
Matthias Melcher
afe1b90dd0 Reorganized Unittest / fixed and improved OS X keybord support and 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-04-12 13:48:03 +00:00
Fabien Costantini
15489bda1b Major documentation update including: now html doc API is sorted, navigation 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-03-24 01:40:44 +00:00
Matthias Melcher
5251b64d57 Changed Copyright in 'src' directory
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6616 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2009-01-01 21:28:26 +00:00
Albrecht Schlosser
bdb7002d58 Fixed typos and amended doxygen docs.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6564 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2008-12-07 18:02:50 +00:00
Albrecht Schlosser
c1a9019f1c Fixed some typos in src/fl_rect.cxx (doxygen comments).
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6555 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2008-12-07 12:22:39 +00:00
Fabien Costantini
92051890f1 Quickdraw removal: option removed from configure, all Qd code removed from 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-13 23:10:43 +00:00
engelsman
de04c108f8 copied more doxygen comments from drawing.dox back to source code
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6421 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2008-10-13 21:42:05 +00:00
engelsman
0adc1ccdaa doxygen comments for undocumented drawing, clipping and color functions
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-10-07 21:07:12 +00:00
Fabien Costantini
ae697b80b2 Doxygen documentation : took the opportunity to update copyright info as we 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
2008-09-16 07:26:22 +00:00
Matthias Melcher
474fa58939 Fixed clipping in OS X Quartz offscreen buffers (STR #1595)
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@5692 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2007-02-12 16:41:41 +00:00
Matthias Melcher
e3883f0384 STR $1099: The Quartz version of FLTK now draws a very nice resize
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-12-14 13:51:51 +00:00
Matthias Melcher
e2504a0881 - I had to revert SVN fix 4386 which simplified Carbon clipping, but also 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-07-14 13:43:26 +00:00
Michael R Sweet
04c67e441e Fix clipping code on OSX...
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@4386 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2005-06-01 03:49:43 +00:00
Michael R Sweet
1c399af444 Update source file headers with STR web page.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@4288 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2005-04-16 00:13:17 +00:00
Matthias Melcher
562198fa31 Polygon drawing fixed #765, fl_message wrapped in Fl_Group::current(0), so 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-21 11:38:52 +00:00
Michael R Sweet
0bc98fd29e Preliminary template save support in FLUID, plus some bug fixes.
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-03-20 17:41:56 +00:00
Michael R Sweet
add37faa25 Copyright updates.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@4052 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2005-02-24 21:55:12 +00:00
Matthias Melcher
e20773fa57 Quartz port:
- 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-09-09 21:34:48 +00:00
Matthias Melcher
98a0be3965 Quartz for FLTK1.1
- 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-31 22:00:49 +00:00
Matthias Melcher
bc704ad62f Quartz:
- 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-27 20:02:45 +00:00
Matthias Melcher
c29b4b5e16 FLTK1.1 Quartz support:
- 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-26 22:24:24 +00:00
Matthias Melcher
329f84671e Mac Quartz:
- 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
2004-08-26 06:18:12 +00:00
Matthias Melcher
25fe8425db Quartz implementation for FLTK 1.1:
- added very crude font support
- added line drawing support
- added line color support
- added filled shapes support
- added some arc and circle support (no ovals)
- attempt at getting the clipping working, however the stack oriented
  design of Quartz is starting to become a real hassle


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@3784 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2004-08-26 00:18:43 +00:00
Matthias Melcher
8327822026 Updated config stuff to allow for --enable-quartz ofr Mac OS X which in
turn defined USE_QUARTZ to 1 and defines __APPLE_QUARTZ__. If Quartz
is not disabled, it will define __APPLE_QD__ for Quickdraw.

I also replaced all relevand #ifdef __APPLE__ with #ifdef __APPLE_QD__
#elif defined(__APPLE_QUARTZ__). This does not affect the compile at
this time and both version will generate the same Quickdraw code.

I will start to replace all QD calls with Quartz calls for the
remainder of the week until I can completely remove all QD calls from
the Quartz branch.

Thanks to Robert Smith for a great initial Quartz implementation.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@3782 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2004-08-25 00:20:27 +00:00
Michael R Sweet
a3d0905c9e Copyright updates and prep for 1.1.5rc1.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@3391 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2004-04-11 04:39:01 +00:00
Michael R Sweet
00cb676e11 Copyright update for 1.1.3 release (not quite yet, but soon...)
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@2936 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2003-01-30 21:46:07 +00:00
Michael R Sweet
34e35db71f Prefer fl_push_clip() over fl_clip().
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@2307 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2002-06-11 20:58:12 +00:00