summaryrefslogtreecommitdiff
path: root/src/drivers
AgeCommit message (Collapse)Author
2018-03-22Android: Posting pretty buggy pie method; must visit later!Matthias Melcher
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12785 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-03-22Rename Fl_Image::pixel_w() and pixel_h() to Fl_Image::data_w() and data_h().Manolo Gouy
The docs of class Fl_Image and of Fl_Image::scale() are beefed up. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12784 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-03-22Android: Implemented vector drawing and polygons.Matthias Melcher
Started to implement arc and pie drawing git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12783 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-03-21X11: Remove tentative, uncompiled code to cache RGB images with Xrender ↵Manolo Gouy
Picture instead of Pixmap The speed benefit is not obvious. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12781 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-03-19New member function Fl_Image::scale(int width, int height) to set the FLTK ↵Manolo Gouy
size of an image. Each image has now two sizes implemented as follows: - the pixel size is stored in private members pixel_w_ and pixel_h_ with public accessors pixel_w() and pixel_h() - the FLTK size is stored in private members w_ and h_ and read by w() and h() - when the image is constructed, the two sizes have the same value - the protected w(int) and h(int) member functions set both FLTK and pixel sizes. - the public scale(int, int) member function is essentially nothing but set the FLTK size and don't change the pixel size. - when the image is drawn, its FLTK size determines how big it is drawn, its pixel size determines how much data are available to draw it. FLTK 1.3.4 with FL_ABI_VERSION=10304 contained an equivalent member function but only for the Fl_Shared_Image class. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12776 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-03-19Remove useless member function declaration.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12775 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-03-18Android: Implemented font changing ( Fl::set_font(ix, name); )Matthias Melcher
and other font stuff. Fixed horizontal and vertical line drawing to include last pixel. Added stippling to focus rect. Added point drawing (slooow). git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12774 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-03-18Android: Fixed another bug when deleting complex clipping areasMatthias Melcher
Better complex region cleanup - should be compete now... git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12772 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-03-18Android: Fixed bug when deleting complex clipping areasMatthias Melcher
Tested FLTK schemes - nice! Fixed crashbug in timer Fixed crashbug in mouse handler git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12771 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-03-17Android: intersetcing a complex clipping region with a rectangleMatthias Melcher
However I did disable the complex region optimizer - too tired to get the pointers right... . git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12770 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-03-17Android: added text clipping in all its uglyness.Matthias Melcher
Next: intersetcing a complex clipping region with a rectangle git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12769 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-03-17Android: added fontattributes, so formatting works well now.Matthias Melcher
Next: add clipping git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12768 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-03-17Android: added font access into Android package via Assets, added fontMatthias Melcher
fallbacks, added emergency font as an asset, added graceful behavior when absolutely no font could be loaded. Next: add other font related calls, add clipping git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12767 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-03-17Android: added chachingMatthias Melcher
Next: add other font related calls, add clipping, add font paths for package resources git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12766 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-03-17Android: yes, we can unicode; cleanup; documentdMatthias Melcher
Next: add caching, add other font related calls, add clipping, add font paths for package resources git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12765 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-03-17Android: basic font management structure is complete.Matthias Melcher
Next: cleanup, document, add caching, add other font related calls, add clipping, add font paths for package resources git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12764 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-03-16Android: loading and rendering multiple fonts at multiple sizes.Matthias Melcher
This code is still a total mess and incredibly inefficient. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12763 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-03-16Android: finally founded font functionality, freakishly fluttered first Matthias Melcher
files, further fostering follows. Or, to put it bluntly, I forgot how the font system works, and now I am digging through the implementations of other drivers, carrying bits and pieces together. But you know that I will clean my files eventually... . git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12762 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-03-16Android: starting to handle user clipping regions, but first I will Matthias Melcher
render better text, so I have something to test this on. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12761 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-03-16Android: added function to optimize complex regionsMatthias Melcher
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12760 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-03-16Android: clipping regions code grew so big, they moved into their ownMatthias Melcher
header and source file. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12758 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-03-15Android: commented the iterator code of the complex clipping area.Matthias Melcher
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12756 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-03-15Android: clipping code cleanup, xy and yx lines are clippedMatthias Melcher
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12755 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-03-15Android: window clipping working fl_rectf. Matthias Melcher
This code is not very beautiful, but the resulting class should be easy to use. A range-based loop can be used to find all relevant clipping rectangles for a drawing call. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12754 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-03-15Improve X11 coordinate clipping.Albrecht Schlosser
Make clipping methods non-virtual so they can be inlined. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12753 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-03-15Fix a potential internal stack overflow in Xlib graphics driver.Albrecht Schlosser
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12752 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-03-15Remove unused #include files and FL_CFG_* conditional code.Albrecht Schlosser
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12751 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-03-15Android: implemented good complex clipping, but unoptimized.Matthias Melcher
fl_rectf is so far the only function that uses the complex clipping region successfully. Code is slow, but works. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12747 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-03-14Android: implemented complex clipping at the first level.Matthias Melcher
Clipping areas are calculated for overlapping windows, named "Desktop Windows". The first level implementation works if the resulting complex region is just a rectangle. Higher complexity (sub-rectangles) is next. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12746 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-03-14Android: adding stress test for complex clipping. Matthias Melcher
Complex clipping is needed to allow popup dialogs and menu window while still correctly rendering windows that are "below" those popups. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12745 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-03-13Improve and simplify X line and rect 16-bit clipping.Albrecht Schlosser
Back to 16-bit coordinate limit clipping (actually +/- (2**15 - 8). The clipping range is now constant, symmetrical, and stored in the driver object. Also fixed a bug in Liang-Barsky line clipping algorithm. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12744 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-03-12Android: fixed Fl_Rect.H commit.Matthias Melcher
Cleaned up some driver code. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12743 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-03-12Android: added support for Fl::add_timeout() and friends.Matthias Melcher
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12742 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-03-12Android: Reinstated working simple cliping functionality based on anMatthias Melcher
improved Fl_Rect_Region class instead of Fl_Rect. Commented out complex clipping. Android lib and apps now use C++11 because they can (and I like it). git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12741 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-03-11Android: Made Fl_Rect virtual. Maybe a bad idea?Matthias Melcher
Also, added rectangular clipping which works. Expanding now to a more complex clipping scheme to make multiple windows work. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12739 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-03-10Android: finally taught AndroidStudio where the SVN root directory isMatthias Melcher
located. No more SVN from the command line. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12732 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-03-10Android: fixed some variables to avoid crashing.Matthias Melcher
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12730 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-03-10Android: adding and fixing to the graphics clipping codeMatthias Melcher
Android has no classic window manager, so FLTK has to make sure that popup windows, dialog boxes and multi window interfaces work as expectd. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12729 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-03-10Remove useless #include statement.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12728 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-03-10Fl_Xlib_Graphics_Driver::scale_clip: restrict the computed X11 region to the ↵Manolo Gouy
16-bit coordinate space. This member function transforms the current clip region from FLTK units to pixel units multiplying FLTK units by the current value of the scale factor to get pixel units. The current clip region has been, by construction, restricted to the 16-bit coordinate space. But these data can evade this space after multiplication by the scale factor. Thus, it's necessary to enforce the 16-bit space here which is done with Fl_Xlib_Graphics_Driver::XRectangleRegion. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12727 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-03-10Android: crude graphics clippingMatthias Melcher
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12726 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-03-09Improve X11 (16-bit) clipping of lines and rectangles.Albrecht Schlosser
In FLTK 1.3.x only horizontal and vertical long lines with endpoints outside the 16-bit coordinate space could be drawn with proper X11 coordinate clipping. Now arbitrary lines are clipped so they can be drawn with X11 functions. All rectangles are clipped as well (as in 1.3). Todo: The code needs better documentation and clipping of polygons, circles, curves etc. is still missing. The next step should be the clipping of polygons... git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12725 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-03-09Android: move Android specific platform events to FL/android.HMatthias Melcher
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12724 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-03-09Windows: remove necessity to compile with -DFLTK_HIDPI_SUPPORT to make WIN32 ↵Manolo Gouy
FLTK apps DPI-aware. At this point, Windows FLTK apps detect HighDPI displays and rescale their GUI accordingly. They also all reply to ctrl/+/-/0/ keystrokes to enlarge/shrink/reset their windows. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12723 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-03-08Fix X11 clip region outside 16-bit coordinate space.Albrecht Schlosser
This is the first commit of X11 16-bit coordinate space (clipping) fixes. More to follow... git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12722 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-03-07Cleaning FLTK namespaceMatthias Melcher
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12721 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-03-07Android: specific event for Android. Use Fl::add_system_handler() and ↵Matthias Melcher
Fl::event(), for example: FL_ANDROID_EVENT_LOW_MEMORY git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12720 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-03-07Android: moved all Android code from the main app into the driver system. ↵Matthias Melcher
All non-driver-FLTK code and main app are now Android-free. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12719 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-03-07Android: using wait_for_expose to sync screen and windowsMatthias Melcher
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12718 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-03-07Android: improvements to Fl:flush() implementation. Initial draw, no wasted ↵Matthias Melcher
draw cycles. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12717 ea41ed52-d2ee-0310-a9c1-e6b18d33e121