Commit graph

36 commits

Author SHA1 Message Date
espectador
dd0c80e167 Workarounds to re-display windows on MS Windows.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@38367 72102866-910b-0410-8b05-ffd578937521
2015-02-28 02:01:28 +00:00
fredkiefer
16ac5f2219 * Source/win32/w32_movesize.m (-decodeWM_EXITSIZEMOVEParams:::):
Remove code that caused missing windows content.
* Source/cairo/CairoContext.m (-flushGraphics): Add experimental
flush code for Windows.
* Source/cairo/Win32CairoSurface.m (-initWithDevice:, -dealloc):
Clean up HDC handling. Based on patch by Marcian Lytwyn
<marcian.lytwyn@advcsi.com>


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@36920 72102866-910b-0410-8b05-ffd578937521
2013-07-24 07:34:24 +00:00
fredkiefer
73dcf13efd * back/Source/gsc/GSContext.m
* back/Source/cairo/CairoContext.m
        * back/Source/art/ARTContext.m
        * back/Source/xlib/XGContext.m
        * back/Source/winlib/WIN32Context.m: Move the bitmap conversion
        code from cairo to the gsc class. Add a new method to detect
        incompatible image formats and implement that for all backends.
        * back/Source/winlib/WIN32GState.m (GSCreateBitmap): Improve the
        handling of device black/white colour space.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@36025 72102866-910b-0410-8b05-ffd578937521
2013-01-27 14:38:16 +00:00
gcasa
9930991cb5 * ChangeLog
* config.h.in
	* configure
	* configure.ac
	* Headers/win32/WIN32Server.h
	* Source/cairo/CairoContext.m
	* Source/cairo/CairoGState.m
	* Source/cairo/CairoPDFSurface.m
	* Source/cairo/GNUmakefile
	* Source/cairo/Win32CairoSurface.m
	* Source/GSBackend.m
	* Source/gsc/GSGState.m
	* Source/win32/w32_create.m
	* Source/win32/w32_general.m
	* Source/win32/w32_GLcontext.m
	* Source/win32/w32_movesize.m
	* Source/win32/w32_windowdisplay.m
	* Source/win32/WIN32Server.m
	* Source/winlib/GNUmakefile.preamble: Merge of all testplant
	branch changes to trunk for Cairo changes.  Did code cleanup to
	make the code conform to coding standards.



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@35821 72102866-910b-0410-8b05-ffd578937521
2012-11-26 05:39:22 +00:00
ericwa
0737c31acd * Source/cairo/CairoPDFSurface.m:
* Source/cairo/CairoContext.m:
* Source/cairo/CairoSurface.m:
* Source/cairo/CairoPSSurface.m:
* Headers/cairo/CairoSurface.h: Add a -isDrawingToScreen method
to CairoSurface. Returns NO for PDF/PS surfaces, yes for others.
Use it to implement -[CairoContext isDrawingToScreen], so that
-[NSGraphicsContext isDrawingToScreen] will return the correct
value.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@35610 72102866-910b-0410-8b05-ffd578937521
2012-09-26 19:09:19 +00:00
ericwa
ac34501f87 * Source/cairo/CairoContext.m (-beginPrologueBBox:...):
Add a hack to get landscape printing working. Comment in the source
reproduced here:
FIXME: This is confusing... When an 8.5x11 page is set to
landscape, NSPrintInfo also swaps the paperSize to be 11x8.5,
but gui also adds a 90 degree rotation as if it will
be drawing on a 8.5x11 page. So, swap 11x8.5 back to 8.5x11 here.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@34356 72102866-910b-0410-8b05-ffd578937521
2011-12-24 18:44:53 +00:00
ericwa
0bc4d973f1 * Source/cairo/CairoContext.m (-beginPrologueBBox:...): Use
paper size from print info to set the cairo page size, instead
of using the bounding box (which is usually smaller than the
paper size, and was causing cairo print output to be wrong
compared to GNUstep's built-in PostScript writer.)


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@34351 72102866-910b-0410-8b05-ffd578937521
2011-12-23 19:01:45 +00:00
ericwa
85cc4d778c * Source/cairo/GNUmakefile:
* Source/cairo/CairoContext.m:
* Source/cairo/CairoSurface.m:
* Source/cairo/XGCairoModernSurface.m:
* Headers/cairo/XGCairoModernSurface.h:
* Headers/cairo/CairoSurface.h: New cairo surface which uses
cairo_surface_create_similar to create a back buffer which
has an alpha channel, even if the X server doesn't support
surfaces with alpha. This new surface is also made the default
since this seems to be the recommended way to double buffer
with cairo.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@33978 72102866-910b-0410-8b05-ffd578937521
2011-10-13 21:37:44 +00:00
ericwa
30b2c2f88f * Source/cairo/CairoContext.m: revert the last change for now
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@33855 72102866-910b-0410-8b05-ffd578937521
2011-09-18 20:37:00 +00:00
ericwa
4a36c5db88 * Source/cairo/CairoContext.m: Switch to XGCairoSurface by default,
because it fixes the corrupted display problem reported by Riccardo
on 16-bit displays.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@33849 72102866-910b-0410-8b05-ffd578937521
2011-09-16 23:56:01 +00:00
fredkiefer
26e096a1b5 Revert last change as gui is fixed now.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@33305 72102866-910b-0410-8b05-ffd578937521
2011-06-14 22:27:58 +00:00
fredkiefer
fb05d6c895 * Source/cairo/CairoContext.m (-supportsDrawGState): Delegate to
gstate.
* Headers/cairo/CairoGState.h (-supportsDrawGState): Declare this method.
* Source/cairo/CairoGState.m (-supportsDrawGState): Only allow the
faster drawing operation when the clip can be represented as a
list of rectangles.
* Source/cairo/CairoGState.m (-copyWithZone:): Always free the
clip rectangle list.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@33289 72102866-910b-0410-8b05-ffd578937521
2011-06-13 12:34:52 +00:00
qmathe
9995a94236 Fixed many drawing issues (many ones being related to the flipping).
See bug report #27782

In particular, fixed -[NSImage drawXXX] and -[NSImage composite/dissolveXXX] 
methods to work exactly as Cocoa when the Cairo backend is used.
Added a new draw operator (in addition to composite) to the backend. Cairo is 
the only backend that implements it for now.
Eliminated as many flipping checks as possible.

Warning: Untested with the winlib backend. 
You must update, recompile and install both Back and Gui.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@30523 72102866-910b-0410-8b05-ffd578937521
2010-06-01 11:04:36 +00:00
fredkiefer
70ede5cb90 Correct test for the need of an image conversion.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@27279 72102866-910b-0410-8b05-ffd578937521
2008-12-11 21:03:51 +00:00
fredkiefer
66ef714ecd For cairo convert the bitmap, when the format is unsupported.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@27014 72102866-910b-0410-8b05-ffd578937521
2008-11-06 09:33:13 +00:00
fedor
52a046da0f Revert library license version to 2 until applications can be converted
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@26620 72102866-910b-0410-8b05-ffd578937521
2008-06-10 04:12:46 +00:00
fedor
ea67e1642b Fix memory leak.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@26555 72102866-910b-0410-8b05-ffd578937521
2008-05-23 04:12:37 +00:00
xgl
b3d15b5e31 Experimental Cairo and Cairo/Glitz backends on win32
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@26189 72102866-910b-0410-8b05-ffd578937521
2008-03-04 10:14:29 +00:00
fredkiefer
61985e25a9 Rework of context window device setting. Requires corresponding change
in gui.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@25981 72102866-910b-0410-8b05-ffd578937521
2008-01-19 13:12:03 +00:00
fredkiefer
fa6e35e2f8 Change files to use GPL 3 and LGPL 3.
Prepare for next release.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@25538 72102866-910b-0410-8b05-ffd578937521
2007-10-29 23:25:10 +00:00
fredkiefer
08d8765491 Hack to get drawing on non-retained windows working.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@25529 72102866-910b-0410-8b05-ffd578937521
2007-10-18 16:51:56 +00:00
fredkiefer
590cda656d Add PDF output for cairo backend.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@25479 72102866-910b-0410-8b05-ffd578937521
2007-09-12 15:46:55 +00:00
fredkiefer
508f9e54ec Printing improvements and handle rotated text.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@25296 72102866-910b-0410-8b05-ffd578937521
2007-06-29 11:31:53 +00:00
fredkiefer
4e21dfccfd Use cairo specific code for PS file creation
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@25088 72102866-910b-0410-8b05-ffd578937521
2007-04-27 12:23:28 +00:00
fredkiefer
d525cf7b50 Backend part of graphic context rewrite.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@24965 72102866-910b-0410-8b05-ffd578937521
2007-04-04 14:33:10 +00:00
fredkiefer
a9e7da9d4a Aloow simple PS context to work.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@24728 72102866-910b-0410-8b05-ffd578937521
2007-02-28 12:27:10 +00:00
rfm
660a25fac5 Attempt to get Cairo to build nicely when glitz is not present.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@24267 72102866-910b-0410-8b05-ffd578937521
2006-12-27 11:25:54 +00:00
fredkiefer
782df5561f Added cairo transparancy patch by Yen-Ju Chen <yjchenx@gmail.com>.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@24244 72102866-910b-0410-8b05-ffd578937521
2006-12-26 13:26:40 +00:00
fredkiefer
9114f58b7f Cleaned up change of super class for CairoGState.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@23746 72102866-910b-0410-8b05-ffd578937521
2006-10-03 23:29:53 +00:00
fredkiefer
4f41a5e84e General cleanup of cairo backend code.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@22644 72102866-910b-0410-8b05-ffd578937521
2006-03-12 21:50:17 +00:00
FredKiefer
d8ce1e0de6 Get cairo surfaces working for resized windows.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@21685 72102866-910b-0410-8b05-ffd578937521
2005-08-28 00:48:12 +00:00
FredKiefer
75055208a2 Changed to compile with latest cairo interface changes.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@21561 72102866-910b-0410-8b05-ffd578937521
2005-07-27 23:25:32 +00:00
fedor
faaebcda2a Update FSF Address
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@21263 72102866-910b-0410-8b05-ffd578937521
2005-05-26 22:51:53 +00:00
FredKiefer
fd522b2615 Made the windows backend compile again and new event polling.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@19917 72102866-910b-0410-8b05-ffd578937521
2004-08-24 18:53:39 +00:00
FredKiefer
f338db7159 Small cleanup of cairo backend.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@19902 72102866-910b-0410-8b05-ffd578937521
2004-08-23 12:28:16 +00:00
FredKiefer
1e896954aa Added cairo backend.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@19820 72102866-910b-0410-8b05-ffd578937521
2004-08-02 21:50:17 +00:00