summaryrefslogtreecommitdiff
path: root/desktop/knockout.c
Commit message (Collapse)AuthorAgeFilesLines
* fix some doxygen errorsVincent Sanders2017-02-241-1/+1
|
* fix remaining doccomment errorsVincent Sanders2017-02-221-4/+35
|
* fix plotter mergeVincent Sanders2017-02-121-2/+2
|
* Update knockout plotter to use new APIVincent Sanders2017-02-111-287/+458
|
* move plot style header to netsurf include directoryVincent Sanders2017-01-131-1/+1
| | | | | move plotter style header and adjust all callers to use only what they actually require.
* move plotters header into public APIVincent Sanders2016-05-301-1/+1
|
* move bitmap API header to core include directoryVincent Sanders2016-05-261-1/+1
|
* move image content handlers to accomodate core build changesVincent Sanders2016-05-231-1/+1
|
* stop content header dragging in so many other headersVincent Sanders2016-04-191-0/+1
|
* Change LOG() macro to be varadicVincent Sanders2015-05-281-6/+2
| | | | | | | | | | | | This changes the LOG macro to be varadic removing the need for all callsites to have double bracketing and allows for future improvement on how we use the logging macros. The callsites were changed with coccinelle and the changes checked by hand. Compile tested for several frontends but not all. A formatting annotation has also been added which allows the compiler to check the parameters and types passed to the logging.
* Move bitmap operations into an operation table.Vincent Sanders2015-04-131-2/+6
| | | | | | | The generic bitmap handlers provided by each frontend are called back from the core and therefore should be in an operation table. This was one of the very few remaining interfaces stopping the core code from being split into a library.
* Desktop doxygen fixesVincent Sanders2014-11-091-5/+5
|
* reduce uncessary include usageVincent Sanders2014-05-181-2/+5
|
* Remove plotter table global. Pass a redraw context around redraw functions. ↵Michael Drake2011-06-301-40/+34
| | | | | | Knockout could be handled better. Note: untested on most front ends. svn path=/trunk/netsurf/; revision=12543
* Fix build with NDEBUG definedJohn Mark Bell2011-04-031-2/+7
| | | | svn path=/trunk/netsurf/; revision=12154
* Pass clip rect to clip plotters as struct. Simplify clip rect handling in ↵Michael Drake2011-02-141-52/+25
| | | | | | debug window code. Pass clip rect to select menu as struct. svn path=/trunk/netsurf/; revision=11683
* Refactor text plotter and other font functions to remove dependency on CSS.John Mark Bell2009-07-211-13/+7
| | | | svn path=/trunk/netsurf/; revision=8641
* next round of plotter refactorVincent Sanders2009-07-141-20/+16
| | | | svn path=/trunk/netsurf/; revision=8512
* plotters line refactorVincent Sanders2009-07-101-59/+11
| | | | svn path=/trunk/netsurf/; revision=8446
* ploter refactor of rectangle handling Vincent Sanders2009-07-081-77/+83
| | | | svn path=/trunk/netsurf/; revision=8399
* Style guide indentation.Michael Drake2009-07-061-94/+94
| | | | svn path=/trunk/netsurf/; revision=8346
* Refactor fill plotter to take a styleVincent Sanders2009-07-051-10/+29
| | | | svn path=/trunk/netsurf/; revision=8332
* remove redundant clg callVincent Sanders2009-07-011-15/+1
| | | | svn path=/trunk/netsurf/; revision=8240
* Improve bitmap plotter APIVincent Sanders2009-06-301-111/+49
| | | | svn path=/trunk/netsurf/; revision=8195
* Remove redundant assign, and make case indentation style guide complient.Michael Drake2009-05-281-125/+127
| | | | svn path=/trunk/netsurf/; revision=7605
* Limit scope of manually-defined NDEBUG. Purge a bunch of redundant #undef ↵John Mark Bell2009-05-281-2/+3
| | | | | | NDEBUG. svn path=/trunk/netsurf/; revision=7593
* - Constify parameters of struct plotter_table::polygon and struct ↵John Tytgat2009-02-031-6/+6
| | | | | | | | | | | plotter_table::path - riscos/save_draw.c(ro_save_draw_plotters): Make it static. - desktop/save_pdf/pdf_plotters.c(pdf_plot_path): fix broken implementation (coordinates path were wrong, no clip/text mode update, transformation matrix was overwritten); only update fill and/or stroke color when fill and/or stroke is done. (pdf_begin): disable compression when PDF_DEBUG is set svn path=/trunk/netsurf/; revision=6361
* Add general comment on knockout rendering.Michael Drake2008-09-151-0/+42
| | | | svn path=/trunk/netsurf/; revision=5327
* Make the knockout plotter calling behaviour optional by added a new entryJohn Tytgat2008-07-301-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 'option_knockout' to 'struct plotter_table' which basically is a request from that plotter backend for the content redraw routine to get called in such a way that overlapping render areas are avoided as much as possible. It is up to the content redraw code to actually implement this option if it is reasonably profitable. This was and is currently done explicitly by the html content redraw code. On top of that the riscos plotter code was installing the knockout plotter itself for all content types except plaintext and SVG and this is no longer being done in this patch. In more detail: - desktop/plotters.h: added struct plotter_table::option_knockout - render/html_redraw.c(html_redraw): if the plotter backend wants the knockout calling behaviour, install the knockout plotter which will then call the real backend. Also check on the return values of clg and clip plotter calls. - Plotter backend changes: -> no longer plotting in knockout mode: - gtk/gtk_print.c: Also removed a 2nd instance of "struct plotter_table plot". - riscos/save_draw.c - riscos/print.c: Also the path plotter function pointer wasn't filled in and this is now fixed. - pdf/pdf_plotters.c: Removed the flush function as this is optional and we only had a dummy implementation there. -> remaining to request knockout mode if it makes sense based on the content type: - gtk/gtk_plotters.c - riscos/plotters.c - desktop/knockout.c - riscos/window.c: Removed what's believed an obsolete test on the content type which determined to additionally install the knockout plotter in front of the real plotter code. svn path=/trunk/netsurf/; revision=4823
* Use static for variables local to one source file.John Tytgat2008-07-291-16/+15
| | | | svn path=/trunk/netsurf/; revision=4812
* First merge of Adam Blokus' GSoC work from his branch ↵John Tytgat2008-07-261-7/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 'branches/adamblokus/netsurf'. Merged revisions 4212-4552,4554-4709,4711-4724 via svnmerge from svn://svn.netsurf-browser.org/branches/adamblokus/netsurf ........ r4212 | adamblokus | 2008-05-26 19:42:31 +0200 (Mon, 26 May 2008) | 4 lines Pdf plotting skeleton pinned on Print Preview in GTK. Just creates a file and draws lines. ........ r4213 | adamblokus | 2008-05-27 00:11:03 +0200 (Tue, 27 May 2008) | 4 lines Pdf plotter - added drawing some graphic primitives. Still with limited functionality, but a snapshot of the currently viewed page can be made and resembles the original. ........ r4214 | adamblokus | 2008-05-27 11:43:31 +0200 (Tue, 27 May 2008) | 2 lines Corrected encoding name ........ r4215 | adamblokus | 2008-05-27 12:47:26 +0200 (Tue, 27 May 2008) | 3 lines Colours and polygons added. ........ r4217 | adamblokus | 2008-05-27 21:39:35 +0200 (Tue, 27 May 2008) | 6 lines Added rectangles, filled boxes and clipping. Taken into consideration joty's comments. Added a todo list for this part. Added some debug stuff and checking boundaries. ........ r4218 | adamblokus | 2008-05-28 12:37:30 +0200 (Wed, 28 May 2008) | 2 lines Added path ploting (not sure if valid argument order for bezier) and dashed/dotted line styles ........ r4221 | adamblokus | 2008-05-28 22:11:05 +0200 (Wed, 28 May 2008) | 3 lines Some more options in graphic primitives and normalizing some parameters. ........ r4235 | adamblokus | 2008-05-31 22:54:56 +0200 (Sat, 31 May 2008) | 4 lines Plotting changed as jmb suggested (is the least invasive one from the possible) Added dummy bitmap plotting - way of plotting an image is determined by its type. ........ r4251 | adamblokus | 2008-06-03 17:12:15 +0200 (Tue, 03 Jun 2008) | 3 lines Added plotting jpg and png images - quite a lot to improve in this code, but it seems to work ;) ........ r4263 | adamblokus | 2008-06-05 14:20:32 +0200 (Thu, 05 Jun 2008) | 3 lines Added hadling images other than png and jpeg - with transparency. ........ r4267 | adamblokus | 2008-06-06 15:36:34 +0200 (Fri, 06 Jun 2008) | 5 lines Added handling NULL-returns from all mallocs. Added plot_bitmap_tile handling. Changed code style a little. ........ r4327 | adamblokus | 2008-06-12 17:46:34 +0200 (Thu, 12 Jun 2008) | 5 lines Added a first prototype of the paged-output organization. Still not sure about naming, file locations etc. Works with the same pdf plotting as before. ........ r4328 | adamblokus | 2008-06-13 13:52:15 +0200 (Fri, 13 Jun 2008) | 4 lines Added primitive width adjustment and outputing the whole website in multiple pages. ........ r4336 | joty | 2008-06-15 15:06:57 +0200 (Sun, 15 Jun 2008) | 1 line Fix RISC OS build failure (change r4235 wasn't complete). ........ r4337 | joty | 2008-06-15 18:15:32 +0200 (Sun, 15 Jun 2008) | 16 lines This enables "Export PDF" in RISC OS build: - Docs/Doxyfile(PREDEFINED): Added WITH_PDF_EXPORT - Makefile.sources(S_PDF): Add to RISC OS target as well. - utils/config.h: Define WITH_PDF_EXPORT which controls if we want to have PDF export functionality or not. - riscos/save_pdf.c,riscos/save_pdf.h(save_as_pdf): Use PDF print API made by Adam Blokus to write a PDF file under RISC OS. - riscos/save.c: Call save_as_pdf added. - riscos/menus.c: Add 'Export->PDF' menu entry. - riscos/menus.h(menu_action): Added BROWSER_EXPORT_PDF. - desktop/gui.h(gui_save_type): Added GUI_SAVE_PDF. - desktop/print.c(print_run): Added return value. - Makefile(CCACHE): Moved closed to the place where CC is set for the first time. (LDFLAGS): Centralised adding all non-pkgconfig libraries and added Haru + PNG libs. ........ r4343 | adamblokus | 2008-06-16 01:08:52 +0200 (Mon, 16 Jun 2008) | 3 lines Added margins and page size adjustment. ........ r4412 | adamblokus | 2008-06-21 20:22:07 +0200 (Sat, 21 Jun 2008) | 4 lines Added 'fuzzy' margins on page bottom. Disabled direct png embedding, because it is too unstable in Haru now. ........ r4421 | adamblokus | 2008-06-22 18:52:28 +0200 (Sun, 22 Jun 2008) | 2 lines Added "Save as.." dialog and Export->PDF menu entry. Print preview still works with default path. ........ r4437 | adamblokus | 2008-06-25 02:44:46 +0200 (Wed, 25 Jun 2008) | 4 lines Added skeleton of applying loose layout. Minor code cleaning-up. ........ r4492 | adamblokus | 2008-07-02 09:02:42 +0200 (Wed, 02 Jul 2008) | 5 lines Implemented the elementar ideas of the loose layout. Added scaling in the printing routine. Added some basic demonstrations. ........ r4493 | adamblokus | 2008-07-02 09:05:55 +0200 (Wed, 02 Jul 2008) | 3 lines Cleaned up the loosing code - commited to much of leftover rubbish code. ........ r4507 | adamblokus | 2008-07-04 14:25:48 +0200 (Fri, 04 Jul 2008) | 4 lines Added duplicating box tree and current content - window flickering during printing solved. Minor error checking after new HPDF_Image_AddSMask call. ........ r4515 | adamblokus | 2008-07-06 22:28:16 +0200 (Sun, 06 Jul 2008) | 2 lines Changes in loosen layout (image resizing). ........ r4517 | adamblokus | 2008-07-06 22:38:23 +0200 (Sun, 06 Jul 2008) | 2 lines Added pdf font handling and rendering functions with the use of Haru functions. ........ r4555 | adamblokus | 2008-07-10 00:59:05 +0200 (Thu, 10 Jul 2008) | 2 lines Added a very basic and still buggy GTK print implementation. ........ r4565 | adamblokus | 2008-07-10 14:50:16 +0200 (Thu, 10 Jul 2008) | 2 lines Added gtk printing one more time - I have forgotten to add the main file. ........ r4566 | adamblokus | 2008-07-10 14:57:02 +0200 (Thu, 10 Jul 2008) | 2 lines removed error with comment ........ r4569 | adamblokus | 2008-07-10 15:52:55 +0200 (Thu, 10 Jul 2008) | 5 lines Major style improvements - added a lot of doxygen comments, followed tlsa's style guide. Added some more error checking, too. ........ r4575 | adamblokus | 2008-07-10 18:48:26 +0200 (Thu, 10 Jul 2008) | 2 lines Cleaned up the code. ........ r4687 | adamblokus | 2008-07-17 14:17:19 +0200 (Thu, 17 Jul 2008) | 2 lines Changed everything according to jmb's review plus some minor bug fixes to gtk_print. ........ r4688 | adamblokus | 2008-07-17 17:16:34 +0200 (Thu, 17 Jul 2008) | 2 lines Solved the netsurf.glade clash from r4421. ........ r4693 | adamblokus | 2008-07-18 18:11:51 +0200 (Fri, 18 Jul 2008) | 2 lines Fixed bug with wrong number of pages in gtk printing. ........ r4695 | adamblokus | 2008-07-18 19:59:24 +0200 (Fri, 18 Jul 2008) | 3 lines - fixed uncommented line from the previous commit - fixed bug with scale bigger than 1.0 (incorretly clipped page) ........ r4696 | adamblokus | 2008-07-18 23:28:00 +0200 (Fri, 18 Jul 2008) | 2 lines Fixed bug in gtk_print_font_paint (and nsfont_paint). ........ r4697 | adamblokus | 2008-07-18 23:35:38 +0200 (Fri, 18 Jul 2008) | 2 lines Bug fix in nsfont_paint. ........ r4711 | adamblokus | 2008-07-19 22:44:15 +0200 (Sat, 19 Jul 2008) | 2 lines Added gtk_selection files. ........ r4712 | adamblokus | 2008-07-20 11:15:06 +0200 (Sun, 20 Jul 2008) | 2 lines Addam missing glade files. ........ r4713 | joty | 2008-07-20 17:13:10 +0200 (Sun, 20 Jul 2008) | 1 line Follow change r4517 for RISC OS and BeOS platforms : Added pdf font handling and rendering functions with the use of Haru functions. ........ r4714 | joty | 2008-07-20 18:19:50 +0200 (Sun, 20 Jul 2008) | 1 line Declare haru_nsfont iso define an instance for each C source including the font_haru.h header. This fixes breakage of PDF export on RISC OS. ........ r4724 | adamblokus | 2008-07-23 03:30:08 +0200 (Wed, 23 Jul 2008) | 6 lines Applied changes according to joty's review. Added checking the dimensions of a plotted image to pdf plotter. Commented out jpg embedding (it seems to cause some problems I'll bring it back when I figure out what's wrong) . Added back some files removed by mistake. ........ svn path=/trunk/netsurf/; revision=4741
* const fixes in plotters and history coreRob Kendrick2008-04-071-3/+3
| | | | svn path=/trunk/netsurf/; revision=4083
* Implement path plotter (for SVGs within a page).James Bursa2007-12-111-6/+4
| | | | svn path=/trunk/netsurf/; revision=3663
* Add empty path plotters to stop crashes.James Bursa2007-11-291-2/+13
| | | | svn path=/trunk/netsurf/; revision=3653
* Update all source code file headers to reflect GPL version 2 only and ↵Vincent Sanders2007-08-081-3/+14
| | | | | | contain appropriate licence text svn path=/trunk/netsurf/; revision=3486
* Remove the netsurf/ from the include paths and rationalise use of <> vs "" ↵Daniel Silverstone2007-05-301-4/+4
| | | | | | | | | | | | | | in includes NetSurf includes are now done with ""s and other system includes with <>s as C intended. The scandeps tool has been updated to only look for ""ed includes, and to verify that the files exist in the tree before adding them to the dependency lines. The depend rule has therefore been augmented to make sure the autogenerated files are built before it is run. This is untested under self-hosted RISC OS builds. All else tested and works. svn path=/trunk/netsurf/; revision=3307
* Update project URL.Michael Drake2006-11-271-9/+9
| | | | svn path=/trunk/netsurf/; revision=3073
* Fix for knockout rendering of native formatsAdrian Lees2006-08-191-1/+2
| | | | svn path=/trunk/netsurf/; revision=2869
* Optimise out redundant group_start and group_end calls (speed up rendering.)Richard Wilson2006-07-101-3/+17
| | | | svn path=/trunk/netsurf/; revision=2725
* Stop knockout logging.Richard Wilson2006-07-041-2/+2
| | | | svn path=/trunk/netsurf/; revision=2710
* Disable debugging.Richard Wilson2006-07-021-1/+1
| | | | svn path=/trunk/netsurf/; revision=2694
* Re-instate the knockout renderers after a nested flush(). Make so knockout ↵Richard Wilson2006-07-021-2/+6
| | | | | | rendering is always used. svn path=/trunk/netsurf/; revision=2693
* Allow nested calls to knockout rendering (stops iframes from flushing the ↵Richard Wilson2006-07-021-15/+42
| | | | | | current data). svn path=/trunk/netsurf/; revision=2692
* Ensure all plots are bounding boxes are correctly clipped. Handle ↵Richard Wilson2006-07-021-35/+89
| | | | | | non-repeating backgrounds better. Delink deleted nodes for improved efficiency. svn path=/trunk/netsurf/; revision=2690
* Totally knock out boxes as early into the tree as possible to improve ↵Richard Wilson2006-07-021-19/+27
| | | | | | efficiency. Fix incorrect buffer check. svn path=/trunk/netsurf/; revision=2688
* Move array definitions for GCC4Richard Wilson2006-07-021-16/+16
| | | | svn path=/trunk/netsurf/; revision=2687
* Don't assume tiled plotting will cover the entire clipping region.Richard Wilson2006-07-011-3/+14
| | | | svn path=/trunk/netsurf/; revision=2683
* Implement knockout rendering (controlled by 'knockout_rendering' option or ↵Richard Wilson2006-07-011-0/+765
Ctrl+F11, default is off). This attempts to minimise the amount of overlapping redraw performed, and thus can drasticly reduce the rendering time of many pages. svn path=/trunk/netsurf/; revision=2682