Commit graph

171 commits

Author SHA1 Message Date
Marcian Lytwyn
0c50f563a4 More window number updates from int to NSInteger
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/branches/gnustep_testplant_branch@40212 72102866-910b-0410-8b05-ffd578937521
2016-11-10 22:26:20 +00:00
Marcian Lytwyn
66866885ef Merge with trunk revision 40072
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/branches/gnustep_testplant_branch@40135 72102866-910b-0410-8b05-ffd578937521
2016-10-06 14:00:51 +00:00
Marcian Lytwyn
05640cbf48 Set clipping region on cairo surface HDC to clean up drawing problems
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/branches/gnustep_testplant_branch@39615 72102866-910b-0410-8b05-ffd578937521
2016-04-03 20:59:32 +00:00
Aarti Munjal
457ca77b6b fix for issue #8544
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/branches/gnustep_testplant_branch@39481 72102866-910b-0410-8b05-ffd578937521
2016-03-08 16:27:48 +00:00
Marcian Lytwyn
c43e467784 Merge GNUstep back with main trunk revision 38789
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/branches/gnustep_testplant_branch@38797 72102866-910b-0410-8b05-ffd578937521
2015-07-14 22:36:43 +00:00
Frank Le Grand
b379b7ff5b Reset the cursors stack when we are on a non-client area of a window. This is a workaround for an issue where we're not getting enough mouse move events when the mouse is moving very fast, and therefore occasionally find ourselves stuck with a cursor set for a rectangle that we've left.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/branches/gnustep_testplant_branch@37271 72102866-910b-0410-8b05-ffd578937521
2013-10-21 18:00:44 +00:00
Frank Le Grand
128d09da60 Added/fix handling of WM_SETCURSOR so that Windows doesn't override our cursor rectangles and vice-versa. This revision goes in par with Core GUI revision #37189.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/branches/gnustep_testplant_branch@37190 72102866-910b-0410-8b05-ffd578937521
2013-10-03 20:28:20 +00:00
Frank Le Grand
45e9f8b8e0 Added files that were mysteriously removed in the last commit after the merge with Trunk.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/branches/gnustep_testplant_branch@36954 72102866-910b-0410-8b05-ffd578937521
2013-08-09 16:06:05 +00:00
Frank Le Grand
1b82d912b5 Merged Trunk changes from rev 35217 to TestPlant branch.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/branches/gnustep_testplant_branch@36952 72102866-910b-0410-8b05-ffd578937521
2013-08-09 14:21:15 +00:00
Marcian Lytwyn
a91ebbd8b8 Add cursor and screen capture functionality to windows backend for color panel support
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/branches/gnustep_testplant_branch@35995 72102866-910b-0410-8b05-ffd578937521
2013-01-17 23:09:35 +00:00
Marcian Lytwyn
57f71dadc3 First pass - in-window IME character composition for MSWindows
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/branches/gnustep_testplant_branch@35983 72102866-910b-0410-8b05-ffd578937521
2013-01-15 17:02:18 +00:00
Marcian Lytwyn
aae0f7748c Merge back with main branch
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/branches/gnustep_testplant_branch@35813 72102866-910b-0410-8b05-ffd578937521
2012-11-21 20:53:22 +00:00
Marcian Lytwyn
f018376f12 Updates for MSWindows IME keyboard processing
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/branches/gnustep_testplant_branch@35793 72102866-910b-0410-8b05-ffd578937521
2012-11-14 19:06:57 +00:00
Marcian Lytwyn
aa519f55a8 Additional updates for windows backend
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/branches/gnustep_testplant_branch@35707 72102866-910b-0410-8b05-ffd578937521
2012-10-17 20:08:34 +00:00
Marcian Lytwyn
7a892f25ce Fix outstanding Win32 cairo code and configure issues
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/branches/gnustep_testplant_branch@35478 72102866-910b-0410-8b05-ffd578937521
2012-08-29 21:34:21 +00:00
Marcian Lytwyn
f7d566721c Cairo fixes
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/branches/gnustep_testplant_branch@35377 72102866-910b-0410-8b05-ffd578937521
2012-08-08 23:02:51 +00:00
Marcian Lytwyn
c58a4af681 Cairo win32 fixes
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/branches/gnustep_testplant_branch@35374 72102866-910b-0410-8b05-ffd578937521
2012-08-08 22:28:34 +00:00
Marcian Lytwyn
999c436296 Added Win32 multi-screen support lookup
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/branches/gnustep_testplant_branch@35240 72102866-910b-0410-8b05-ffd578937521
2012-06-27 17:59:11 +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
c9c9397b6d * Source/gsc/GSStreamContext.m:
* Source/gsc/GSContext.m:
* Source/gsc/GSGState.m:
* Headers/gsc/GSGStateOps.h: Change type for -GSSetFillColor: and
-GSSetStrokeColor: from float to CGFloat


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@34071 72102866-910b-0410-8b05-ffd578937521
2011-10-26 00:24:17 +00:00
Fred Kiefer
97f4f7def9 * Headers/x11/XWindowBuffer.h: Protect the usage of shm.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@34025 72102866-910b-0410-8b05-ffd578937521
2011-10-19 07:35:27 +00:00
Eric Wasylishen
d7b7322723 * 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
Eric Wasylishen
1554a718dc * Headers/x11/XGGeneric.h
* Source/x11/XGServerWindow.m: Add new netwm window state atoms


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@33549 72102866-910b-0410-8b05-ffd578937521
2011-07-14 19:09:17 +00:00
Eric Wasylishen
f3149ce164 * Headers/cairo/CairoGState.h:
* Source/cairo/CairoGState.m: Remove most of the rounding code and
implementation of DPSstrokeadjust.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@33492 72102866-910b-0410-8b05-ffd578937521
2011-07-08 21:02:06 +00:00
Fred Kiefer
55bc606c48 * Headers/x11/XGServer.h: Add #include of config.h.
* Source/art/path.m (-DPSrectfill::::),
* Source/xlib/XGGState.m (-DPSrectfill::::): Change name of local
variable to avoid compiler warning.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@33365 72102866-910b-0410-8b05-ffd578937521
2011-06-22 22:09:41 +00:00
Fred Kiefer
084e5ade90 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
Fred Kiefer
5a950060d0 * 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
Wolfgang Lux
938f716f55 Enlarge protocol array to make space for the _NET_WM_SYNC_REQUEST
protocol atom.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@33224 72102866-910b-0410-8b05-ffd578937521
2011-06-01 20:56:27 +00:00
Eric Wasylishen
07638f13fc * Source/winlib/WIN32GState.m:
* Source/art/ARTGState.m:
* Source/cairo/CairoGState.m:
* Source/xlib/XGGState.m:
* Source/gsc/GSContext.m:
* Source/gsc/GSGState.m:
* Headers/gsc/GSGStateOps.h:
Add a new interface, GSShowGlyphsWithAdvances, which replaces
GSShowGlyphs as the primitive text drawing method.

None of the backends implement it properly yet; I simply renamed
the existing -GSShowGlyphs:: methods to -GSShowGlyphsWithAdvances:::,
so they currently ignore the glyph advances.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@33121 72102866-910b-0410-8b05-ffd578937521
2011-05-26 03:48:58 +00:00
Fred Kiefer
c03b2d3a3b Protect the name id.
Patch by Sebastian Reitenbach <sebastia@l00-bugdead-prods.de>


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@33065 72102866-910b-0410-8b05-ffd578937521
2011-05-19 07:37:29 +00:00
Eric Wasylishen
5ece9220eb * Source/x11/XGServerWindow.m:
* Source/x11/XGServer.m:
* Source/x11/XGServerEvent.m:
* Headers/x11/XGGeneric.h:
* Headers/x11/XGServerWindow.h:
* Headers/x11/XGServer.h:
Implement the _NET_WM_SYNC_REQUEST protocol described here:
http://standards.freedesktop.org/wm-spec/1.3/ar01s06.html

This is supposed to make window resizing smoother when dragging
a resize handle provided by the window manager, by waiting to
change the window manager's frame until the GNUstep window is
finished repainting.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@33045 72102866-910b-0410-8b05-ffd578937521
2011-05-15 08:37:44 +00:00
Eric Wasylishen
8b0d34990e * Undo the previous change and try a different approach..
just cache the character set in CairoFaceInfo, but load them
as needed as we were doing before.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@32987 72102866-910b-0410-8b05-ffd578937521
2011-05-05 20:05:13 +00:00
Eric Wasylishen
88048d141c back/cairo: use Fontconfig for descriptor matching
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@32864 72102866-910b-0410-8b05-ffd578937521
2011-04-14 23:14:38 +00:00
Eric Wasylishen
dc80ca3aa0 back: implement coveredCharacterSet for CairoFontInfo
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@32716 72102866-910b-0410-8b05-ffd578937521
2011-03-28 04:19:41 +00:00
Eric Wasylishen
b7ff3b2973 * Headers/win32/WIN32Server.h:
* Source/win32/WIN32Server.m:
* Source/win32/w32_movesize.m:
Fix a rather serious error where the extra window data was allocated
in two places (allocated with objc_malloc in the WM_CREATE handler,
and also allocated by Windows using the cbWndExtra field of the window
class structure). Sometimes the window level was accessed from one
memory area and sometimes from the other.
	
This is a quick fix that leaves the level and ordered properties
in the cbWndExtra area, and the rest is left in the WIN_INTERN
structure. 

This fixes the problem where window ordering was broken when running
apps in gdb.

git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@31198 72102866-910b-0410-8b05-ffd578937521
2010-08-25 04:20:45 +00:00
Quentin Mathe
18f70010bf Fixed Windows backend issues introduced with r30523 where images are drawn at
the wrong location by -[NSImage drawXXX] methods.

See bug report #30069


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@30829 72102866-910b-0410-8b05-ffd578937521
2010-06-22 22:18:56 +00:00
Quentin Mathe
b53fe57e7c 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
Gregory John Casamento
c79a73ea90 Reactivate the theme when the *Windows* theme is changed.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@30402 72102866-910b-0410-8b05-ffd578937521
2010-05-16 21:32:56 +00:00
Eric Wasylishen
18d408be09 back/win32: update windows while resizing
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@30008 72102866-910b-0410-8b05-ffd578937521
2010-03-20 06:42:17 +00:00
Eric Wasylishen
36260d2295 back/win32: horizontal mousewheel support
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@29933 72102866-910b-0410-8b05-ffd578937521
2010-03-13 21:38:23 +00:00
Fred Kiefer
92fdccd8d3 Adjust to the CGFloat change for NSFont
and NSAffineTransform done in base and gui.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@29689 72102866-910b-0410-8b05-ffd578937521
2010-02-20 16:33:30 +00:00
Eric Wasylishen
39c9297595 Handle horizontal scrolling in X11
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@29532 72102866-910b-0410-8b05-ffd578937521
2010-02-10 07:36:36 +00:00
Gregory John Casamento
77565aaad0 * Headers/win32/WIN32Server.h: Remove HOTKEY method.
* Source/win32/w32_general.m: Remove HOTKEY method.
	* Source/win32/WIN32Server.m: Remove call to HOTKEY method.  Added
	function "mask_for_keystate(..)" to implement modifier mappings
	on Windows.   Also changed process_key_event to use the new function
	and changed the call to ToUnicode to use a blank array instead of
	modifying the existing keyState array since this was returning the
	characters with the modifiers still applied.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@29498 72102866-910b-0410-8b05-ffd578937521
2010-02-07 08:37:04 +00:00
Gregory John Casamento
3c9e989f25 * Headers/win32/WIN32Server.h: Added declaration for decodeWM_HOTKEY:...
* Source/win32/WIN32Server.m: Added call to method decodeWM_HOTKEY:...
        * Source/win32/w32_general.m: Added method decodeWM_HOTKEY:...



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@29490 72102866-910b-0410-8b05-ffd578937521
2010-02-05 21:32:42 +00:00
Wolfgang Lux
4311e19de6 Avoid unnecessary runtime check in the fix for #28590.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@29358 72102866-910b-0410-8b05-ffd578937521
2010-01-22 11:47:06 +00:00
Wolfgang Lux
4ea7b58019 Fix bug #28590.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@29357 72102866-910b-0410-8b05-ffd578937521
2010-01-22 08:16:50 +00:00
Wolfgang Lux
b4aead1b19 Revise detection of window miniaturization and deminiaturization based
on the ICCCM WM_STATE property and use _NET_WM_STATE only to avoid
generating bogus miniaturize events when using an emwh compliant
window manager. This makes the code more portable and allows
generating reliable window deminiaturize events.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@29283 72102866-910b-0410-8b05-ffd578937521
2010-01-14 22:27:03 +00:00
Gregory John Casamento
19150c94d0 * Headers/win32/WIN32Server.h: Added decodeWM_MOUSEACTIVATE:..
* Source/win32/w32_general.m: Added call to decodeWM_COMMAND:
	to -[GSTheme processCommand:] the theme callback which handles 
	native menus, 


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@29279 72102866-910b-0410-8b05-ffd578937521
2010-01-14 10:40:29 +00:00
Thomas Gamper
c0abc9a675 TG: OpenGL cleanup
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@28877 72102866-910b-0410-8b05-ffd578937521
2009-10-25 13:49:19 +00:00
Fred Kiefer
6653ef68cc Add simple gradient implementation for the cairo backend.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@28873 72102866-910b-0410-8b05-ffd578937521
2009-10-23 20:46:41 +00:00