Commit graph

832 commits

Author SHA1 Message Date
Ivan Vučica
aef4391b4b Small experimental changes on GState-less branch, from August 2013.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/branches/gstateless-opal@37079 72102866-910b-0410-8b05-ffd578937521
2013-09-14 21:41:53 +00:00
Ivan Vučica
12ad85addf Initial work on trying to move responsibility for GState to Opal.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/branches/gstateless-opal@36943 72102866-910b-0410-8b05-ffd578937521
2013-08-04 14:46:55 +00:00
Ivan Vučica
33979910bd opal: Implementation of -graphicsPort that returns a CGContext. Stubs for -DPSsetlinejoin:, -DPSsetlinecap:, -DPSsetmiterlimit:. Implementation of -DPSimage::::::::::: for 32-bit RGB colorspaces
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@36940 72102866-910b-0410-8b05-ffd578937521
2013-08-01 22:28:57 +00:00
Fred Kiefer
e3e2a72eed * Source/gsc/GSContext.m: Replace isa with object_getClass().
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@36939 72102866-910b-0410-8b05-ffd578937521
2013-07-29 20:59:38 +00:00
Ivan Vučica
2a8c5f64b3 opal: Correct DPSgsave/restore. Disabled doublebuffering. Work on fixing doublebuffering. Implemented various DPS methods.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@36927 72102866-910b-0410-8b05-ffd578937521
2013-07-25 14:49:44 +00:00
Fred Kiefer
b35ef8791a * 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
Ivan Vučica
82088f34e0 opal: Switched to NSDebugLLog(). Added linking with CoreBase. Implemented CTM management methods. Added DPSsavegstate and DPSrestoregstate.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@36918 72102866-910b-0410-8b05-ffd578937521
2013-07-23 23:18:48 +00:00
Ivan Vučica
a64b9f9058 opal: Various fonts related hacks, as well as further attempts to figure out what's going wrong with painting.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@36910 72102866-910b-0410-8b05-ffd578937521
2013-07-21 11:58:05 +00:00
Ivan Vučica
fbe9ad1032 opal: Implementation of a lot of drawing and matrix methods. Work on getting backing store support to work.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@36893 72102866-910b-0410-8b05-ffd578937521
2013-07-15 15:24:04 +00:00
Ivan Vučica
0a75b89dd3 Drawing a red rectangle with Opal.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@36873 72102866-910b-0410-8b05-ffd578937521
2013-07-11 20:44:32 +00:00
Fred Kiefer
6f2602b8dd * Source/x11/XGServerWindow.m (-setIgnoreMouse::): Completely
rewrite this method to use Xfixes.
        * Source/win32/WIN32Server.m (-setIgnoreMouse::): Implement a
        Windows version of this method.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@36861 72102866-910b-0410-8b05-ffd578937521
2013-07-09 21:23:20 +00:00
Fred Kiefer
e74cf49cda * Source/x11/XGServerWindow.m (-setIgnoreMouse::): New method
that allows to ignore mouse events for a window.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@36855 72102866-910b-0410-8b05-ffd578937521
2013-07-08 20:46:07 +00:00
Richard Frith-MacDonald
2fc0d26b47 fix order of use of library and header directories
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@36837 72102866-910b-0410-8b05-ffd578937521
2013-07-04 16:44:28 +00:00
Ivan Vučica
9a67894038 ARGB visual is only picked if NSOpenGLPFAAlphaSize is specified in the pixel format.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@36821 72102866-910b-0410-8b05-ffd578937521
2013-07-03 16:06:38 +00:00
Ivan Vučica
774b5092bd OpenGL context under X11 now picks up the best possible framebuffer that includes an alpha mask in the X visual info. The code is currently disabled as it needs more debugging.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@36815 72102866-910b-0410-8b05-ffd578937521
2013-07-03 09:36:29 +00:00
Germán Arias
7f87663bd3 Don't delay sending events GSAppKitWindowMoved and GSAppKitWindowResized.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@36765 72102866-910b-0410-8b05-ffd578937521
2013-06-28 01:44:24 +00:00
Ivan Vučica
c1cd79d4af Minimal code for dummy graphics backend now implemented for Opal backend.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@36757 72102866-910b-0410-8b05-ffd578937521
2013-06-25 17:13:37 +00:00
Ivan Vučica
248caad5d0 Added empty 'opal' backend.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@36749 72102866-910b-0410-8b05-ffd578937521
2013-06-23 22:41:31 +00:00
Fred Kiefer
72605b6d4d * Source/cairo/Win32CairoSurface.m (-initWithDevice:): Make
* safer
        against the surface being deallocated during this method.
        * Source/cairo/Win32CairoSurface.m
        (WIN32Server-contentsOfScreen:inRect:): Screen grabbing code.
        * Headers/win32/WIN32Server.h,
        * Source/win32/WIN32Server.m (-monitorHandleForScreen:,
        -createHdcForScreen:, deleteScreenHdc:): Add helper methods for
screen grabbing.
        Patch by Marcian Lytwyn <marcian.lytwyn@advcsi.com>



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@36612 72102866-910b-0410-8b05-ffd578937521
2013-05-11 20:20:54 +00:00
Gregory John Casamento
65010206b1 * Source/cairo/CairoGState.m: Added code in -drawGradient:
fromPoint:toPoint:options: to handle gradients for colorspaces
	other than NSCalibratedRGBColorSpace, NSDeviceRGBColorSpace,
	NSCalibratedWhiteColorSpace, NSDeviceWhiteColorSpace,
	NSCalibratedBlackColorSpace, NSDeviceBlackColorSpace.  The
	previous implementation assumed RGB based colorspaces only.



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@36582 72102866-910b-0410-8b05-ffd578937521
2013-04-25 03:16:06 +00:00
Fred Kiefer
7b2bd47f1f Fix compiler warnings reported by
Sebastian Reitenbach <sebastia@l00-bugdead-prods.de>


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@36165 72102866-910b-0410-8b05-ffd578937521
2013-02-18 20:29:10 +00:00
Fred Kiefer
6c450e3ea6 Adopt to changes in gui.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@36149 72102866-910b-0410-8b05-ffd578937521
2013-02-16 00:11:14 +00:00
Fred Kiefer
5a5f73e79c Silence warnings from clang.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@36106 72102866-910b-0410-8b05-ffd578937521
2013-02-10 17:32:47 +00:00
Fred Kiefer
2e7c3caf85 * Source/winlib/WIN32Context.m(-isCompatibleBitmap): Add missing varible.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@36064 72102866-910b-0410-8b05-ffd578937521
2013-02-05 19:36:51 +00:00
Fred Kiefer
1a481e1964 Change DPS/PS functions to CGFloat and NSInteger.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@36063 72102866-910b-0410-8b05-ffd578937521
2013-02-05 19:18:49 +00:00
Fred Kiefer
4bd1a24087 Change NSBezierPath to use NSInteger and CGFloat and adjust uses to
this.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@36054 72102866-910b-0410-8b05-ffd578937521
2013-02-01 14:03:08 +00:00
Fred Kiefer
bd69ab122d * 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
Fred Kiefer
91212eb047 * Source/win32/w32_general.m (-decodeWM_CLOSEParams:::): Post the
close event instead of sending it directly to the window.
  Patch by Doug Simons <doug.simons@testplant.com>


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@35949 72102866-910b-0410-8b05-ffd578937521
2013-01-11 09:29:17 +00:00
Fred Kiefer
035502afd9 * Source/cairo/CairoFntInfo.m (-drawGlyphs:..., -setupAttributes):
Invert the value of matrix[2]. See bug #30493


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@35927 72102866-910b-0410-8b05-ffd578937521
2012-12-31 17:38:42 +00:00
Gregory John Casamento
74b631fdb8 * Headers/cairo/Win32CairoGState.h
* Source/cairo/Win32CairoGState.m: Add missing files for windows.



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@35824 72102866-910b-0410-8b05-ffd578937521
2012-11-26 17:56:31 +00:00
Gregory John Casamento
02544402a5 * 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
Fred Kiefer
6737892a4a * Source/win32/w32_create.m (-decodeWM_CREATEParams:::): Call
windowbacking:: instead of handling backingstore here.

Merge some changes from testplant branch
* Source/win32/WIN32Server.m : Fix for fatal exceptions when a
nil mouse event tried to post
Patch by Jonathan Gillaspie <jonathan.gillaspie@testplant.com>
* Source/gsc/GSGState.m (-description),
* Source/cairo/CairoGState.m (-description): Add this method.
* Headers/win32/WIN32Server.h - Added a mutable array for
storing multiple screen information from GDI screen lookup
* Source/win32/WIN32Server.m - Added startup sequence to invoke
GDI functions to look up multiple screen/monitor information
* Source/gsc/GSGState.m: Fix compiler warnings
Patch by Marcian Lytwyn <marcian.lytwyn@advcsi.com>


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@35688 72102866-910b-0410-8b05-ffd578937521
2012-10-14 20:12:35 +00:00
Fred Kiefer
e9052f4a6c * Source/gsc/GSStreamContext.m (-GSShowGlyphsWithAdvances:): Add
missing method.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@35612 72102866-910b-0410-8b05-ffd578937521
2012-09-28 10:38:00 +00:00
Eric Wasylishen
8018242a9c * 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
Wolfgang Lux
ccde063b3e Fix for big endian machines.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@35587 72102866-910b-0410-8b05-ffd578937521
2012-09-21 20:32:05 +00:00
Fred Kiefer
43fe122a1c * Source/cairo/CairoFontEnumerator.m: Allow for Windows default
fonts.
* Source/win32/w32_GLcontext.m,
* Source/x11/XGGLContext.m: Implement 10.6 methods to get/set
the CGLContextObj.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@35419 72102866-910b-0410-8b05-ffd578937521
2012-08-17 13:32:44 +00:00
Quentin Mathe
51645accac Protected +initialize from being called multiple times on GSContext because of
subclasses. 

As a result, this eliminates a gstate table memory leak, and prevents the table 
to be reset while still in use (causing various DPS errors such as invalid 
param, stack underflow and segfault).


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@35153 72102866-910b-0410-8b05-ffd578937521
2012-05-14 15:02:00 +00:00
Eric Wasylishen
a8860a1493 * Source/x11/XIMInputServer.m: Remove the locale setting code.
Use the correct #ifdef check for Xutf8LookupString, and use
that function if available; otherwise use XLookupString.
Interpret the return value of XLookupString as Latin-1.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@35152 72102866-910b-0410-8b05-ffd578937521
2012-05-13 02:41:30 +00:00
Eric Wasylishen
091480978b * Source/x11/XGServerEvent.m: Make the GSModifiersAreKeys
default to YES, by renaming the default to GSModifiersAreNotKeys.
This should fix bug 25659; for example, in Ink you can now
open the color panel with <Shift>+<Alt>+c or <Alt>+<Shift>+c.
* Documentation/Back/DefaultsSummary.gsdoc: Update docs for
GSModifiersAreNotKeys.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@34984 72102866-910b-0410-8b05-ffd578937521
2012-03-23 00:13:09 +00:00
Fred Kiefer
7c8e4e9821 * Source/cairo/CairoGState.m: Set the filter to BILINEAR for all
patterns we use.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@34791 72102866-910b-0410-8b05-ffd578937521
2012-02-20 11:30:22 +00:00
Wolfgang Lux
2f611ab26a Fix potentially uninitialized color space element when setting fill
and stroke colors.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@34786 72102866-910b-0410-8b05-ffd578937521
2012-02-19 18:30:51 +00:00
Fred Kiefer
996c877868 Use difference operator only for cairo version >= 1.9.4.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@34776 72102866-910b-0410-8b05-ffd578937521
2012-02-19 12:19:09 +00:00
Fred Kiefer
234ac0932b Replace NSCompositeHighlight with GSCompositeHighlight and map NSCompositeHighlight onto
NSCompositeSourceOver.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@34773 72102866-910b-0410-8b05-ffd578937521
2012-02-18 21:10:07 +00:00
Eric Wasylishen
088912afe1 * Source/cairo/CairoFontInfo.m (-setupAttributes):
use CAIRO_HINT_METRICS_ON instead of CAIRO_HINT_METRICS_OFF,
otherwise some text is cut of (e.g. quit Ink with unsaved
changes, the "t" in "Quit" in the dialog is cut off)


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@34613 72102866-910b-0410-8b05-ffd578937521
2012-01-23 22:53:57 +00:00
Eric Wasylishen
9d52d255cb * Source/cairo/CairoFontInfo.m (-setupAttributes):
We must not leave the hinting settings as their defaults,
because if we did, that would mean using the surface defaults
which might or might not use hinting (xlib does by default.)

Since we make measurements outside of the context of a surface
(-advancementForGlyph:), we need to ensure that the same
hinting settings are used there as when we draw. For now,
just force hinting to be off.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@34612 72102866-910b-0410-8b05-ffd578937521
2012-01-23 22:40:29 +00:00
Wolfgang Lux
074b625584 Fix the brain-dead commits I made this morning.
Looks like I wasn't awake then ...


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@34595 72102866-910b-0410-8b05-ffd578937521
2012-01-19 21:37:35 +00:00
Wolfgang Lux
fce27ac4bd Change order of atoms in client message; at least metacity seems to
ignore the _NET_WM_STATE_STICKY_ATOM otherwise.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@34590 72102866-910b-0410-8b05-ffd578937521
2012-01-19 09:44:50 +00:00
Wolfgang Lux
cc2cffa7e8 Add GS prefix to the names of the new user defaults.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@34587 72102866-910b-0410-8b05-ffd578937521
2012-01-19 09:14:57 +00:00
Wolfgang Lux
8edd54c5fb Introduce new user defaults to respectively make app icons and mini
windows sticky (aka omnipresent).


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@34586 72102866-910b-0410-8b05-ffd578937521
2012-01-19 09:05:09 +00:00
Eric Wasylishen
d84def3af7 Revert mousewheel coalescing (r34553, r34554, r34558)
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@34582 72102866-910b-0410-8b05-ffd578937521
2012-01-18 21:35:59 +00:00