Revision: 13074 http://harbour-project.svn.sourceforge.net/harbour-project/?rev=13074&view=rev Author: snaiperis Date: 2009-11-30 19:33:57 +0000 (Mon, 30 Nov 2009)
Log Message: ----------- 2009-11-30 21:31 UTC+0200 Mindaugas Kavaliauskas (dbtopas/at/dbtopas.lt) + harbour/contrib/hbcairo + harbour/contrib/hbcairo/Makefile + harbour/contrib/hbcairo/context.c + harbour/contrib/hbcairo/core.c + harbour/contrib/hbcairo/imgae.c + harbour/contrib/hbcairo/paths.c + harbour/contrib/hbcairo/pdf.c + harbour/contrib/hbcairo/png.c + harbour/contrib/hbcairo/text.c + harbour/contrib/hbcairo/hbcairo.ch + harbour/contrib/hbcairo/hbcairo.h + Added Cairo graphics library ; It's a 2D graphic library that makes drawing commands platform independent. Supported backends are: memory image, PDF, PNG, PS, Win32 DC, SVG, Quartz, Xlib, started Qt development. I.e., you can forget if you are drawing on screen, printer, PDF, or image file from know. GTK and FireFox are only a sample of well-known library/application that uses Cairo as rendering engine. ; Webpage: http://cairoprahics.org ; Binaries, development files and related packages (ex., libpng) for Windows can be found at http://www.gtk.org/download-windows.html ; I've used multiple .c files so store Harbour level functions. Functions are split into source files using help sections of original Cairo docs (http://cairographics.org/manual/) ; You'll find the full documentation on Cairo webpage. Only a few functions are spesific to Harbour and could not be found in original documentaion. It accesses C language structures of Cairo library. These functions are: cairo_path_iterator_create( hPath ) --> hIterator cairo_path_iterator_next( hIterator ) --> nType | NIL cairo_path_iterator_get_points( hIterator ) --> aPoints cairo_path_iterator_set_points( hIterator, aPoints ) --> lOk ; Internal Cairo pointers/handlers are implemented using collectible pointers. It is destroyed after is not visible to probram any more. Though original functions cairo_*_destroy() are also implemeted for those, who wants to make it code clean. ; TOCHECK: GC pointers implementation, HB_USE_ITEM define. ; TODO: I've implemted not all functions of Cairo. Actually, the minority, but it's enough to do some fancy things. ; TODO: Makefile support. I've completely failed to make a working make system. I can compile library by copying Cairo *.h files into source folder and making .dll import library manualy. I guess Viktor can solve the issues in 3 minutes. + harbour/contrib/hbcairo/tests + harbour/contrib/hbcairo/tests/hbmk.hbm + harbour/contrib/hbcairo/tests/fancytxt.prg + harbour/contrib/hbcairo/tests/glyphdbg.prg + harbour/contrib/hbcairo/tests/hellow.prg + harbour/contrib/hbcairo/tests/table.prg + added a few samples to generate .pdf/.png images ; NOTE: one of the things that make me to spend 3 days for doing this commit is never ending emails about .pdf library problems on developers mailing list. I'm using Cairo for a few years, I've mentioned it a few time on mailing list, but people does not look at it before you do not show the final result. I hope this library will be helpful for many, and test code will show both basic (every day required) and fancy things you can do with Cairo. Modified Paths: -------------- trunk/harbour/ChangeLog Added Paths: ----------- trunk/harbour/contrib/hbcairo/ trunk/harbour/contrib/hbcairo/Makefile trunk/harbour/contrib/hbcairo/context.c trunk/harbour/contrib/hbcairo/core.c trunk/harbour/contrib/hbcairo/hbcairo.ch trunk/harbour/contrib/hbcairo/hbcairo.h trunk/harbour/contrib/hbcairo/hbcairo.hbc trunk/harbour/contrib/hbcairo/image.c trunk/harbour/contrib/hbcairo/paths.c trunk/harbour/contrib/hbcairo/pdf.c trunk/harbour/contrib/hbcairo/png.c trunk/harbour/contrib/hbcairo/tests/ trunk/harbour/contrib/hbcairo/tests/fancytxt.prg trunk/harbour/contrib/hbcairo/tests/glyphdbg.prg trunk/harbour/contrib/hbcairo/tests/hbmk.hbm trunk/harbour/contrib/hbcairo/tests/hellow.prg trunk/harbour/contrib/hbcairo/tests/table.prg trunk/harbour/contrib/hbcairo/text.c This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. _______________________________________________ Harbour mailing list (attachment size limit: 40KB) Harbour@harbour-project.org http://lists.harbour-project.org/mailman/listinfo/harbour